📄 untcomm.pas
字号:
参数:
返回值: 无
说明: 创建全局对象
-------------------------------------------------------------------------------}
procedure CreateObjects();
var
i: Integer;
begin
//INI文件对象
if objIniFile = nil then
objIniFile := TIniFile.Create(strAppPath + 'Setting.ini');
//COM口
if objComPort = nil then
objComPort := TCnRS232.Create(nil);
//由于该函数只能是对象的函数,所以把它放到一对象里面
objComPort.OnReceiveData := FMain.ComPortReceiveData;
//创建KeyGroups & Programs
for i:=0 to 9 do
begin
if KeyGroups[i] = nil then KeyGroups[i] := TKeyGroup.Create;
if Programs[i] = nil then Programs[i] := TProgram.Create;
end;
//创建Winamp控制对象
if objWinamp = nil then
objWinamp := TCnWinampCtrl.Create(nil);
//创建播放列表
if objPlayList = nil then
objPlayList := TStringList.Create;
end;
{-------------------------------------------------------------------------------
过程名: DestroyObjects
作者: 小冬[kendling]
邮件: kendling@sina.com
主页: http://www.MyvNet.com
日期: 2005.02.14
参数:
返回值: 无
说明: 销毁全局对象
-------------------------------------------------------------------------------}
procedure DestroyObjects();
var
i: Integer;
begin
//INI文件对象
if objIniFile <> nil then
objIniFile.Free;
objIniFile := nil;
//COM口
if objComPort <> nil then
objComPort.Free;
objComPort := nil;
//KeyGroups & Programs
for i:=0 to 9 do
begin
if KeyGroups[i] <> nil then KeyGroups[i].Free;
KeyGroups[i] := nil;
if Programs[i] <> nil then Programs[i].Free;
Programs[i] := nil;
end;
//创建Winamp控制对象
if objWinamp <> nil then
objWinamp.Free;
//创建播放列表
if objPlayList <> nil then
objPlayList.Free;
end;
{-------------------------------------------------------------------------------
过程名: LoadSetting
作者: 小冬[kendling]
邮件: kendling@sina.com
主页: http://www.MyvNet.com
日期: 2005.02.07
参数:
返回值: 无
说明: 加载配置
-------------------------------------------------------------------------------}
procedure LoadSetting();
begin
LoadKeyGroup;
LoadPrograms;
//语言
strLanguage := objIniFile.ReadString('PhoneControl', 'Language',
strLanguage);
if strLanguage = '' then strLanguage := '简体中文';
//COM口
strComPort := objIniFile.ReadString('PhoneControl', 'ComPortName',
strComPort);
//鼠标移动速度
iMouseMoveSpeed := objIniFile.ReadInteger('PhoneControl', 'MouseMoveSpeed',
iMouseMoveSpeed);
//自动连接
bAutoConnect := objIniFile.ReadBool('PhoneControl', 'AutoConnect',
bAutoConnect);
//退出时保存
bSaveInExit := objIniFile.ReadBool('PhoneControl', 'SaveInExit',
bSaveInExit);
//连接时静音
bConnInMute := objIniFile.ReadBool('PhoneControl', 'ConnInMute',
bConnInMute);
//连接时进入主菜单
bConnInMenu := objIniFile.ReadBool('PhoneControl', 'ConnInMenu',
bConnInMenu);
//搜索Winamp路径
strWinampPath := SearchWinampPath;
if strWinampPath = '\Winamp.exe' then
strWinampPath := objIniFile.ReadString('PhoneControl', 'WinampPath',
strWinampPath);
objWinamp.WAPath := strWinampPath;
objWinamp.AutoFind := True;
objWinamp.AutoWritePlayList := True;
//自动播放
bWinampAutoPlay := objIniFile.ReadBool('PhoneControl', 'WinampAutoPlay',
bWinampAutoPlay);
//自动退出
bWinampAutoExit := objIniFile.ReadBool('PhoneControl', 'WinampAutoExit',
bWinampAutoExit);
//播放列表控制
bWinampPlayList := objIniFile.ReadBool('PhoneControl', 'WinampPlayList',
bWinampPlayList);
end;
{-------------------------------------------------------------------------------
过程名: WriteSetting
作者: 小冬[kendling]
邮件: kendling@sina.com
主页: http://www.MyvNet.com
日期: 2005.02.08
参数:
返回值: 无
说明: 写入配置
-------------------------------------------------------------------------------}
procedure WriteSetting();
begin
WriteKeyGroup;
WritePrograms;
//语言
objIniFile.WriteString('PhoneControl', 'Language', strLanguage);
//COM口
objIniFile.WriteString('PhoneControl', 'ComPortName', strComPort);
//鼠标移动速度
objIniFile.WriteInteger('PhoneControl', 'MouseMoveSpeed', iMouseMoveSpeed);
//自动连接
objIniFile.WriteBool('PhoneControl', 'AutoConnect', bAutoConnect);
//退出时保存
objIniFile.WriteBool('PhoneControl', 'SaveInExit', bSaveInExit);
//连接时静音
objIniFile.WriteBool('PhoneControl', 'ConnInMute', bConnInMute);
//连接时进入主菜单
objIniFile.WriteBool('PhoneControl', 'ConnInMenu', bConnInMenu);
//搜索Winamp路径
objIniFile.WriteString('PhoneControl', 'WinampPath', strWinampPath);
//自动播放
objIniFile.WriteBool('PhoneControl', 'WinampAutoPlay', bWinampAutoPlay);
//自动退出
objIniFile.WriteBool('PhoneControl', 'WinampAutoExit', bWinampAutoExit);
//播放列表控制
objIniFile.WriteBool('PhoneControl', 'WinampPlayList', bWinampPlayList);
end;
{-------------------------------------------------------------------------------
过程名: LoadKeyGroup
作者: 小冬[kendling]
邮件: kendling@sina.com
主页: http://www.MyvNet.com
日期: 2005.02.11
参数: 无
返回值: 无
说明: 加载按键组
-------------------------------------------------------------------------------}
procedure LoadKeyGroup;
var
i: Integer;
begin
for i:=0 to 9 do
begin
if KeyGroups[i] <> nil then
begin
// KeyGroups[i].Key.CommaText := objIniFile.ReadString('Control' + IntToStr(i),
// 'Keys', KeyGroups[i].Key.CommaText);
// KeyGroups[i].Description.CommaText := objIniFile.ReadString('Control' + IntToStr(i),
// 'Descriptions', KeyGroups[i].Description.CommaText);
//读取键值
KeyGroups[i].Key[0] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Camaner', KeyGroups[i].Key[0]);
KeyGroups[i].Key[1] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Online', KeyGroups[i].Key[1]);
KeyGroups[i].Key[2] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_PUP', KeyGroups[i].Key[2]);
KeyGroups[i].Key[3] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_PDown', KeyGroups[i].Key[3]);
KeyGroups[i].Key[4] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Left', KeyGroups[i].Key[4]);
KeyGroups[i].Key[5] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_UP', KeyGroups[i].Key[5]);
KeyGroups[i].Key[6] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Right', KeyGroups[i].Key[6]);
KeyGroups[i].Key[7] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Down', KeyGroups[i].Key[7]);
KeyGroups[i].Key[8] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Click', KeyGroups[i].Key[8]);
KeyGroups[i].Key[9] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_FLeft', KeyGroups[i].Key[9]);
KeyGroups[i].Key[10] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_FRight', KeyGroups[i].Key[10]);
KeyGroups[i].Key[11] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Return', KeyGroups[i].Key[11]);
KeyGroups[i].Key[12] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_Cancel', KeyGroups[i].Key[12]);
KeyGroups[i].Key[13] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_1', KeyGroups[i].Key[13]);
KeyGroups[i].Key[14] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_2', KeyGroups[i].Key[14]);
KeyGroups[i].Key[15] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_3', KeyGroups[i].Key[15]);
KeyGroups[i].Key[16] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_4', KeyGroups[i].Key[16]);
KeyGroups[i].Key[17] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_5', KeyGroups[i].Key[17]);
KeyGroups[i].Key[18] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_6', KeyGroups[i].Key[18]);
KeyGroups[i].Key[19] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_7', KeyGroups[i].Key[19]);
KeyGroups[i].Key[20] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_8', KeyGroups[i].Key[20]);
KeyGroups[i].Key[21] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_9', KeyGroups[i].Key[21]);
KeyGroups[i].Key[22] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_10', KeyGroups[i].Key[22]);
KeyGroups[i].Key[23] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_11', KeyGroups[i].Key[23]);
KeyGroups[i].Key[24] := objIniFile.ReadString('Control' + IntToStr(i),
'Key_12', KeyGroups[i].Key[24]);
//读取说明
KeyGroups[i].Description[0] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Camaner', KeyGroups[i].Description[0]);
KeyGroups[i].Description[1] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Online', KeyGroups[i].Description[1]);
KeyGroups[i].Description[2] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_PUP', KeyGroups[i].Description[2]);
KeyGroups[i].Description[3] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_PDown', KeyGroups[i].Description[3]);
KeyGroups[i].Description[4] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Left', KeyGroups[i].Description[4]);
KeyGroups[i].Description[5] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_UP', KeyGroups[i].Description[5]);
KeyGroups[i].Description[6] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Right', KeyGroups[i].Description[6]);
KeyGroups[i].Description[7] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Down', KeyGroups[i].Description[7]);
KeyGroups[i].Description[8] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Click', KeyGroups[i].Description[8]);
KeyGroups[i].Description[9] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_FLeft', KeyGroups[i].Description[9]);
KeyGroups[i].Description[10] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_FRight', KeyGroups[i].Description[10]);
KeyGroups[i].Description[11] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Return', KeyGroups[i].Description[11]);
KeyGroups[i].Description[12] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_Cancel', KeyGroups[i].Description[12]);
KeyGroups[i].Description[13] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_1', KeyGroups[i].Description[13]);
KeyGroups[i].Description[14] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_2', KeyGroups[i].Description[14]);
KeyGroups[i].Description[15] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_3', KeyGroups[i].Description[15]);
KeyGroups[i].Description[16] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_4', KeyGroups[i].Description[16]);
KeyGroups[i].Description[17] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_5', KeyGroups[i].Description[17]);
KeyGroups[i].Description[18] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_6', KeyGroups[i].Description[18]);
KeyGroups[i].Description[19] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_7', KeyGroups[i].Description[19]);
KeyGroups[i].Description[20] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_8', KeyGroups[i].Description[20]);
KeyGroups[i].Description[21] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_9', KeyGroups[i].Description[21]);
KeyGroups[i].Description[22] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_10', KeyGroups[i].Description[22]);
KeyGroups[i].Description[23] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_11', KeyGroups[i].Description[23]);
KeyGroups[i].Description[24] := objIniFile.ReadString('Control' + IntToStr(i),
'Description_12', KeyGroups[i].Description[24]);
end;
end;
end;
{-------------------------------------------------------------------------------
过程名: WriteKeyGroup
作者: 小冬[kendling]
邮件: kendling@sina.com
主页: http://www.MyvNet.com
日期: 2005.02.11
参数: 无
返回值: 无
说明: 写入按键组
-------------------------------------------------------------------------------}
procedure WriteKeyGroup;
var
i: Integer;
begin
for i:=0 to 9 do
begin
if KeyGroups[i] <> nil then
begin
// objIniFile.WriteString('Control' + IntToStr(i),
// 'Keys', KeyGroups[i].Key.CommaText);
// objIniFile.WriteString('Control' + IntToStr(i),
// 'Descriptions', KeyGroups[i].Description.CommaText);
//写入键值
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Camaner', KeyGroups[i].Key[0]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Online', KeyGroups[i].Key[1]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_PUP', KeyGroups[i].Key[2]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_PDown', KeyGroups[i].Key[3]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Left', KeyGroups[i].Key[4]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_UP', KeyGroups[i].Key[5]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Right', KeyGroups[i].Key[6]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Down', KeyGroups[i].Key[7]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Click', KeyGroups[i].Key[8]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_FLeft', KeyGroups[i].Key[9]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_FRight', KeyGroups[i].Key[10]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Return', KeyGroups[i].Key[11]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_Cancel', KeyGroups[i].Key[12]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_1', KeyGroups[i].Key[13]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_2', KeyGroups[i].Key[14]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_3', KeyGroups[i].Key[15]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_4', KeyGroups[i].Key[16]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_5', KeyGroups[i].Key[17]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_6', KeyGroups[i].Key[18]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_7', KeyGroups[i].Key[19]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_8', KeyGroups[i].Key[20]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_9', KeyGroups[i].Key[21]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_10', KeyGroups[i].Key[22]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_11', KeyGroups[i].Key[23]);
objIniFile.WriteString('Control' + IntToStr(i),
'Key_12', KeyGroups[i].Key[24]);
//写入说明
objIniFile.WriteString('Control' + IntToStr(i),
'Description_Camaner', KeyGroups[i].Description[0]);
objIniFile.WriteString('Control' + IntToStr(i),
'Description_Online', KeyGroups[i].Description[1]);
objIniFile.WriteString('Control' + IntToStr(i),
'Description_PUP', KeyGroups[i].Description[2]);
objIniFile.WriteString('Control
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -