static void M_Win_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT CodeNotify)
{
   switch(id)
   {  case IDC_COPY:     CopyFiles();                        //Выполнение копирования
                         break;
      case IDC_CLEAR:    ClearSelect();                      //Снятие всех выделений
                         break;
      case IDC_CONFIG:   NewConfig();                        //Изменение конфигурации
                         break;
      case IDCANCEL:     SendMessage(hwnd, WM_DESTROY, 0, 0);//Завершение программы и закрытие окон
                         break;
      case IDC_SIZE_HDD: View_Map_HDD();                     //Карта занятости HDD
                         break;
      case IDC_ABOUT:    About();                            //Вывод информации
                         break;
      case IDC_TO_TXT:   OutTxt();                           //Запись дерева в текстовый файл
                         break;
#if defined WRITE_YES                                        //Режим записи разрешен
      case IDC_WRITE_FI: WriteFileToHDD(0);  break;          //Запись файлов на диск
      case IDC_WRITE_FO: WriteFileToHDD(1);  break;          //Запись файлов на диск
      case IDC_NEW_FO:   WriteFileToHDD(2);  break;          //Запись файлов на диск
      case IDC_REN_FI:   WriteFileToHDD(3);  break;          //Переименование
      case IDC_DEL_FI:   WriteFileToHDD(4);  break;          //Удаление
      case IDC_CORR67:   Correct67Sec();     break;          //Коррекция содержимого 67 сектора
#endif
   }
}
예제 #2
0
파일: demo.cpp 프로젝트: xmayxmei/test001
int main()
{
    // 通过T2SDK的引出函数,来获取一个新的CConfig对象
    // 此对象在创建连接对象时被传递,用于配置所创建的连接对象的各种属性(比如服务器IP地址、安全模式)
    CConfigInterface * lpConfig = NewConfig();

    // 通过T2SDK的引出函数NewXXXX返回的对象,需要调用对象的Release方法释放,而不能直接用delete
    // 因为t2sdk.dll和调用程序可能是由不同的编译器、编译模式生成,delete可能会导致异常
    // 为了适应Delphi等使用(Delphi对接口自动调用AddRef方法),用C/C++开发的代码,需要在NewXXXX之后调用一下AddRef
    // 以保证引用计数正确
    lpConfig->AddRef();

    // [t2sdk] servers指定需要连接的IP地址及端口
    lpConfig->SetString("t2sdk", "servers", "192.168.94.30:9999");

    // [t2sdk] license_file指定许可证文件
    lpConfig->SetString("t2sdk", "license_file", "license.dat");

    // [t2sdk] send_queue_size指定T2_SDK的发送队列大小
    lpConfig->SetString("t2sdk", "send_queue_size", "100");
    //在此设置一下就可以支持自动重连
    lpConfig->SetString("t2sdk", "auto_reconnect", "1");

    // 通过T2SDK的引出函数,来获取一个新的CConnection对象
    g_Connection = NewConnection(lpConfig);

    g_Connection->AddRef();

    // 创建自定义类CCallback的对象(在初始化连接对象时需传递此对象,请看下面代码)
    CCallback callback;

    int ret = 0;

    // 初始化连接对象,返回0表示初始化成功,注意此时并没开始连接服务器
    if (0 == (ret = g_Connection->Create(&callback)))
    {
        // 正式开始连接注册,参数1000为超时参数,单位是ms
        if (ret = g_Connection->Connect(1000))
        {
            // 若连接/注册失败,打印失败原因
            puts(g_Connection->GetErrorMsg(ret));
        }
        else
        {
            // 演示如何使用打包器
            IF2Packer *lpPacker = NewPacker(2);

            lpPacker->AddRef();
            lpPacker->BeginPack();
            lpPacker->AddField("Field");
            lpPacker->AddStr("Data");

            lpPacker->EndPack();

            // 异步模式收发包,第三个参数填1
            g_Connection->SendBiz(100, lpPacker, 1);

            // 释放打包器,不释放会引起内存泄露,后果严重
            lpPacker->FreeMem(lpPacker->GetPackBuf());
            lpPacker->Release();
        }
    }
    else
    {
        puts(g_Connection->GetErrorMsg(ret));
    }

    // 通过getchar阻塞线程,等待服务端应答包到达
    // 演示断开重连时,可在此时关闭服务器,然后再恢复
    getchar();

    // 释放资源
    g_Connection->Release();
    lpConfig->Release();

    return 0;
}
예제 #3
0
파일: demo.cpp 프로젝트: firememory/Whatway
int main()
{
	// 通过T2SDK的引出函数,来获取一个新的CConfig对象
	// 此对象在创建连接对象时被传递,用于配置所创建的连接对象的各种属性(比如服务器IP地址、安全模式)
	CConfigInterface * lpConfig = NewConfig();

	// 通过T2SDK的引出函数NewXXXX返回的对象,需要调用对象的Release方法释放,而不能直接用delete
	// 因为t2sdk.dll和调用程序可能是由不同的编译器、编译模式生成,delete可能会导致异常
	// 为了适应Delphi等使用(Delphi对接口自动调用AddRef方法),用C/C++开发的代码,需要在NewXXXX之后调用一下AddRef
	// 以保证引用计数正确
	lpConfig->AddRef();

	// [t2sdk] servers指定需要连接的IP地址及端口
	lpConfig->SetString("t2sdk", "servers", "127.0.0.1:9004");

	// [t2sdk] license_file指定许可证文件
	lpConfig->SetString("t2sdk", "license_file", "license.dat");

	// [t2sdk] send_queue_size指定T2_SDK的发送队列大小
	lpConfig->SetString("t2sdk", "send_queue_size", "100");
	
	//有名连接
	lpConfig->SetString("t2sdk", "login_name", "xuxp");

	// 通过T2SDK的引出函数,来获取一个新的CConnection对象
	g_Connection = NewConnection(lpConfig);

	g_Connection->AddRef();

	// 创建自定义类CCallback的对象(在初始化连接对象时需传递此对象,请看下面代码)
	CCallback callback;

	int ret = 0;

	// 初始化连接对象,返回0表示初始化成功,注意此时并没开始连接服务器,这里必须用Create2BizMsg,否则回调不成功
	if (0 == (ret = g_Connection->Create2BizMsg(&callback)))
	{
		// 正式开始连接注册,参数1000为超时参数,单位是ms
		if (ret = g_Connection->Connect(1000))
		{
			// 若连接/注册失败,打印失败原因
			puts(g_Connection->GetErrorMsg(ret));
		}
		else
		{
           //连接注册成功
			puts("连接注册成功");
		}
	}
	else
	{
		puts(g_Connection->GetErrorMsg(ret));
	}

	// 通过getchar阻塞线程,等待服务端应答包到达
	// 演示断开重连时,可在此时关闭服务器,然后再恢复
	getchar();

	// 释放资源
	g_Connection->Release();
	lpConfig->Release();

	return 0;
}