|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |
Dialogs, StdCtrls, ExtCtrls, Buttons,shellapi, Menus; | |
TMainForm = class(TForm) | |
EditInput: TEdit; | |
EditResult: TEdit; | |
ButtonResultOk: TButton; | |
LabelResult: TLabel; | |
LabelInput: TLabel; | |
ButtonExit: TButton; | |
ButtonHide: TButton; | |
PopupMenuTray: TPopupMenu; | |
NCloseTray: TMenuItem; | |
NOpenTray: TMenuItem; | |
MainMenu: TMainMenu; | |
NHelp: TMenuItem; | |
NAboutProg: TMenuItem; | |
NProgram: TMenuItem; | |
NExit: TMenuItem; | |
NHideTray: TMenuItem; | |
ColorDialog: TColorDialog; | |
NFormColor: TMenuItem; | |
NSep: TMenuItem; | |
procedure ButtonResultOkClick(Sender: TObject); | |
procedure ButtonExitClick(Sender: TObject); | |
procedure ButtonHideClick(Sender: TObject); | |
procedure NOpenTrayClick(Sender: TObject); | |
procedure NCloseTrayClick(Sender: TObject); | |
procedure NAboutProgClick(Sender: TObject); | |
procedure NFormColorClick(Sender: TObject); | |
Procedure IconTray(n:Integer;Icon:TIcon); | |
Procedure ControlWindow(Var Msg:TMessage); message WM_SYSCOMMAND; | |
Procedure IconMouse(var Msg:TMessage); message WM_USER+1; | |
{ Public declarations } | |
MainForm: TMainForm; | |
EngLang :string = '~!@#$%^&*()QWERTYUIOP{}ASDFGHJKL:"|ZXCVBNM<>?`1234567890qwertyuiop[]asdfghjkl;zxcvbnm,.''/Ё!"№;%:?*()ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭ/ЯЧСМИТЬБЮ,ё1234567890йцукенгшщзхъфывапролджячсмитьбюээ.'; | |
RusLang :string = 'Ё!"№;%:?*()ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭ/ЯЧСМИТЬБЮ,ё1234567890йцукенгшщзхъфывапролджячсмитьбюэ.~!@#$%^&*()QWERTYUIOP{}ASDFGHJKL:"|ZXCVBNM<>?`1234567890qwertyuiop[]asdfghjkl;zxcvbnm,.''/'; | |
Procedure TMainform.IconTray(n:Integer;Icon:TIcon); | |
cbSize:=SizeOf(Nim); | |
Wnd:=Mainform.Handle; | |
uID:=1; | |
uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP; | |
hicon:=Icon.Handle; | |
uCallbackMessage:=wm_user+1; | |
szTip:='Кодировщик v. 1.0'; | |
1: Shell_NotifyIcon(Nim_Add,@Nim); | |
2: Shell_NotifyIcon(Nim_Delete,@Nim); | |
3: Shell_NotifyIcon(Nim_Modify,@Nim); | |
procedure tMainform.IconMouse(var Msg:TMessage); | |
GetCursorPos(p); | |
Case Msg.LParam OF | |
WM_LBUTTONUP,WM_LBUTTONDBLCLK: | |
IconTray(2,Application.Icon); | |
ShowWindow(Application.Handle,SW_SHOW); | |
ShowWindow(Handle,SW_SHOW); | |
WM_RBUTTONUP: | |
SetForegroundWindow(Handle); | |
PopupMenuTray.Popup(p.X,p.Y); | |
PostMessage(Handle,WM_NULL,0,0); | |
procedure TMainForm.ButtonResultOkClick(Sender: TObject); | |
i, g, flag : integer; | |
Result : string; | |
for i:=1 to length(EditInput.Text) do | |
Flag:=0; | |
for g:=1 to length(Englang) do | |
begin | |
if Englang[g]=EditInput.Text[i] then begin | |
Flag:=777; | |
break; | |
end; | |
if Flag=777 then Result := Concat( Result, Ruslang[g] ) | |
else Result := Concat( Result, EditInput.Text[i] ); | |
EditResult.Text := Result; | |
procedure TMainForm.ButtonExitClick(Sender: TObject); | |
mainform.Close; | |
procedure TMainForm.ButtonHideClick(Sender: TObject); | |
IconTray(1,Application.Icon); | |
ShowWindow(Handle,SW_HIDE); | |
ShowWindow(Application.Handle,SW_HIDE); | |
Procedure TMainform.ControlWindow(Var Msg:TMessage); | |
IF Msg.WParam=SC_MINIMIZE then | |
IconTray(1,Application.Icon); | |
ShowWindow(Handle,SW_HIDE); | |
ShowWindow(Application.Handle,SW_HIDE); | |
End else inherited; | |
procedure TMainForm.NOpenTrayClick(Sender: TObject); | |
IconTray(2,Application.Icon); | |
ShowWindow(Application.Handle,SW_SHOW); | |
ShowWindow(Handle,SW_SHOW); | |
procedure TMainForm.NCloseTrayClick(Sender: TObject); | |
Mainform.Close; | |
procedure TMainForm.NAboutProgClick(Sender: TObject); | |
application.MessageBox('Программа предназначена для исправления ошибочного ввода символов введенных не на той раскладке клавиатуры','О программе...'); | |
procedure TMainForm.NFormColorClick(Sender: TObject); | |
if colordialog.Execute then | |
mainform.Color:=colordialog.Color; | |