📄 unit3.pas
字号:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TForm3 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button6: TButton;
Label1: TLabel;
Label2: TLabel;
PopupMenu1: TPopupMenu;
SelectAll1: TMenuItem;
Clear1: TMenuItem;
CopytoClipboard1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
Load1: TMenuItem;
Save1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Memo1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure Clear1Click(Sender: TObject);
procedure SelectAll1Click(Sender: TObject);
procedure CopytoClipboard1Click(Sender: TObject);
procedure Load1Click(Sender: TObject);
procedure Save1Click(Sender: TObject);
private
{ Private declarations }
procedure SelectMemoLine(Memo: TCustomMemo);
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
uses uCOMTest;
procedure TForm3.Button1Click(Sender: TObject);
begin
Close;
end;
function UCase(st: string): string;
var
i: integer;
begin
result := '';
for i := 1 to Length(st) do
result := result + UpCase(st[i]);
end;
procedure TForm3.Button2Click(Sender: TObject);
var
i, p: integer;
s: string;
begin
with Memo1 do
begin
for i := 0 to Lines.Count-1 do
begin
SelStart := Perform(EM_LINEINDEX, i, 0);
SelLength := Length(Lines[i]);
Label1.Caption := 'Row = ' + IntToStr(i + 1);
if UCase(SelText) = 'BREAK' then Break;
Label2.Font.Color := clRed;
s := Memo1.SelText;
p := Pos('//', s);
if p <> 0 then
s := Trim(Copy(s, 1, p-1));
Label2.Caption := UCase(SelText);
Form1.SendGetData(s+CR, sOK);
Label2.Font.Color := clWindowText;
end;
end;
end;
procedure TForm3.SelectMemoLine(Memo: TCustomMemo);
var
Line: integer;
begin
with Memo do
begin
Line := Perform(EM_LINEFROMCHAR, SelStart, 0);
Label1.Caption := 'Row = ' + IntToStr(Line + 1);
SelStart := Perform(EM_LINEINDEX, Line, 0);
SelLength := Length(Lines[Line]);
end;
end;
procedure TForm3.Memo1Click(Sender: TObject);
begin
SelectMemoLine(Memo1);
end;
procedure TForm3.Button6Click(Sender: TObject);
var
s: string;
p: integer;
begin
Label2.Font.Color := clRed;
s := Memo1.SelText;
p := Pos('//', s);
if p <> 0 then
s := Trim(Copy(s, 1, p-1));
Label2.Caption := UCase(s);
Form1.SendGetData(s+CR, sOK);
Label2.Font.Color := clWindowText;
end;
procedure TForm3.Memo1Change(Sender: TObject);
var
Line: integer;
begin
with Memo1 do
begin
Line := Perform(EM_LINEFROMCHAR, SelStart, 0);
Label1.Caption := 'Row = ' + IntToStr(Line + 1);
// Label2.Caption := 'Col = ' + IntToStr(SelStart-Perform(EM_LINEINDEX, Line, 0));
end;
end;
procedure TForm3.Clear1Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm3.SelectAll1Click(Sender: TObject);
begin
Memo1.SelectAll;
end;
procedure TForm3.CopytoClipboard1Click(Sender: TObject);
begin
Memo1.CopyToClipboard;
end;
procedure TForm3.Load1Click(Sender: TObject);
begin
try
Memo1.Lines.LoadFromFile('Command.TXT');
Form1.ComboBox1.Items.LoadFromFile('Command.TXT');
except
ShowMessage('file Command.TXT not found');
end;
end;
procedure TForm3.Save1Click(Sender: TObject);
begin
Memo1.Lines.SaveToFile('Command.TXT');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -