📄 sstredit.pas
字号:
unit sStrEdit;
{$I sDefs.inc}
// !!! Based on RxLib package !!!
interface
uses
Windows, Classes, Graphics, Forms, Controls, Buttons, Dialogs,
StdCtrls, ExtCtrls, sSkinProvider, sDialogs, sButton, sMemo,
sLabel, sBevel, sPanel;
type
TStrEditDlg = class(TForm)
OpenDialog: TsOpenDialog;
SaveDialog: TsSaveDialog;
OKBtn: TsButton;
CancelBtn: TsButton;
HelpBtn: TsButton;
LoadBtn: TsButton;
SaveBtn: TsButton;
sSkinProvider1: TsSkinProvider;
LineCount: TsLabel;
Memo: TsMemo;
procedure FileOpen(Sender: TObject);
procedure FileSave(Sender: TObject);
procedure UpdateStatus(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure MemoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure HelpBtnClick(Sender: TObject);
private
SingleLine: string[15];
MultipleLines: string[15];
end;
implementation
{$R *.DFM}
uses SysUtils, LibHelp;
{ TStrListEditDlg }
procedure TStrEditDlg.FileOpen(Sender: TObject);
begin
with OpenDialog do
if Execute then Memo.Lines.LoadFromFile(FileName);
end;
procedure TStrEditDlg.FileSave(Sender: TObject);
begin
SaveDialog.FileName := OpenDialog.FileName;
with SaveDialog do
if Execute then Memo.Lines.SaveToFile(FileName);
end;
procedure TStrEditDlg.UpdateStatus(Sender: TObject);
var
Count: Integer;
begin
Count := Memo.Lines.Count;
if Count = 1 then
LineCount.Caption := Format('%d %s', [Count, SingleLine])
else
LineCount.Caption := Format('%d %s', [Count, MultipleLines]);
end;
procedure TStrEditDlg.FormCreate(Sender: TObject);
begin
HelpContext := hcDStringListEditor;
OpenDialog.HelpContext := hcDStringListLoad;
SaveDialog.HelpContext := hcDStringListSave;
SingleLine := 'Line';
MultipleLines := 'Lines';
end;
procedure TStrEditDlg.MemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ESCAPE then CancelBtn.Click;
end;
procedure TStrEditDlg.HelpBtnClick(Sender: TObject);
begin
Application.HelpContext(HelpContext);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -