?? optdlg.pas
字號:
procedure TDelForEx9OptionsDlg.UpdateButtons;
begin
with Formatter do
if Formatter <> nil then
begin
CapFileNameEdit.Text := string(CapFileName);
ShortCutEdit.Text := ShortCutText;
SpacePerIndentUpDown.Position := SpacePerIndent;
IndentBeginCheck.Checked := indentBegin;
IndentCommentsCheck.Checked := IndentComments;
IndentCompDirectivesCheck.Checked := IndentCompDirectives;
IndentTryCheck.Checked := IndentTry;
IndentTryElseCheck.Checked := IndentTryElse;
IndentCaseElseCheck.Checked := IndentCaseElse;
UpperCompDirectivesCheck.Checked := UpperCompDirectives;
UpperNumbersCheck.Checked := UpperNumbers;
ReservedCaseCombo.ItemIndex := Byte(ReservedCase);
StandDirectivesCombo.ItemIndex := Byte(StandDirectivesCase);
BlankProcCheck.Checked := BlankProc;
BlankSubProcCheck.Checked := BlankSubProc;
RemoveDoubleBlankCheck.Checked := RemoveDoubleBlank;
with SpaceGrid do
begin
RowCount := 10;
Cells[0, 0] := 'Description';
Cells[1, 0] := 'Operators';
Cells[2, 0] := 'Spacing';
AddSpaceRow(1, 'Equals', ':=', SpaceEqualOper);
AddSpaceRow(2, 'Math. operators', '< > = + - / * etc.', SpaceOperators);
AddSpaceRow(3, 'Colon', ':', SpaceColon);
AddSpaceRow(4, 'Semicolon', ';', SpaceSemiColon);
AddSpaceRow(5, 'Comma', ',', SpaceComma);
AddSpaceRow(6, 'Left parenthesis', '(', SpaceLeftBr);
AddSpaceRow(7, 'Right parenthesis', ')', SpaceRightBr);
AddSpaceRow(8, 'Left bracket', '[', SpaceLeftHook);
AddSpaceRow(9, 'Right bracket', ']', SpaceRightHook);
end;
FeedAfterSemiColonCheck.Checked := FeedAfterSemiColon;
FeedEachUnitCheck.Checked := FeedEachUnit;
FeedAfterThenCheck.Checked := FeedAfterThen;
ExceptSingleCheck.Checked := ExceptSingle;
NoFeedBeforeThenCheck.Checked := NoFeedBeforeThen;
FeedAfterVarCheck.Checked := FeedAfterVar;
FeedElseIfCheck.Checked := FeedElseIf;
NoIndentElseIfCheck.Checked := NoIndentElseIf;
FeedBeforeEndCheck.Checked := FeedBeforeEnd;
WrapLinesCheck.Checked := WrapLines;
WrapPositionUpDown.Position := WrapPosition;
AlignCommentsCheck.Checked := AlignComments;
AlignCommentPosUpDown.Position := AlignCommentPos;
AlignVarCheck.Checked := AlignVar;
AlignVarPosUpDown.Position := AlignVarPos;
FillNewWordsCombo.ItemIndex := Byte(FillNewWords);
StartCommentOutEdit.Text := string(StartCommentOut);
EndCommentOutEdit.Text := string(EndCommentOut);
FeedRoundBeginCombo.ItemIndex := Integer(FeedRoundBegin);
SpacePerIndentUpDown.Associate := SpacePerIndentEdit;
WrapPositionUpDown.Associate := WrapPositionEdit;
AlignCommentPosUpDown.Associate := AlignCommentPosEdit;
AlignVarPosUpDown.Associate := AlignVarPosEdit;
EditButton.Enabled := CapFileNameEdit.Text <> '';
FeedAfterThenCheckClick(nil)
end;
end;
function TDelForEx9OptionsDlg.GetFormatterSettings(OldCapFileName: PChar): TSettings;
begin
with Formatter do
begin
Result := Formatter.Settings;
if CapFileName <> nil then
StrCopy(OldCapFileName, Formatter.CapFileName)
else
OldCapFileName^ := #0;
end;
end;
procedure TDelForEx9OptionsDlg.SetFormatterSettings(OldSettings: TSettings; OldCapFileName: PChar);
begin
with Formatter do
begin
Settings := OldSettings;
if OldCapFileName^ <> #0 then
CapFileName := OldCapFileName
else
CapFileName := nil;
CapFileNameEdit.Text := string(OldCapFileName);
end;
end;
procedure TDelForEx9OptionsDlg.SetDefault(BorlandStyle: boolean);
var
OldSettings: TSettings;
OldCapFileName: array[0..Max_path] of Char;
begin
with Formatter do
if Formatter <> nil then
begin
SpacingCombo.Hide;
OldSettings := GetFormatterSettings(OldCapFileName);
if BorlandStyle then
Formatter.SetBorland
else
Formatter.SetDefault;
UpdateButtons;
SetFormatterSettings(OldSettings, OldCapFileName);
if PageControl1.ActivePage = TabSheet3 then
TabSheet3Show(nil);
end;
end;
procedure TDelForEx9OptionsDlg.DefaultBtnClick(Sender: TObject);
begin
SetDefault(False);
end;
procedure TDelForEx9OptionsDlg.CapFileNameButtonClick(Sender: TObject);
begin
OpenDialog.FileName := CapFileNameEdit.Text;
if OpenDialog.Execute then
CapFileNameEdit.Text := OpenDialog.FileName;
CapFileNameEditChange(Sender);
end;
procedure TDelForEx9OptionsDlg.HelpButtonClick(Sender: TObject);
begin
if HelpFile <> nil then
begin
WinHelp(0, PChar(HelpFile), HELP_KEY,
Integer(PageControl1.ActivePage.Caption));
end;
end;
procedure TDelForEx9OptionsDlg.ShortCutEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
AShortCut: TShortCut;
S: string;
begin
if (Shift = [ssAlt, ssCtrl]) or (Shift = [ssCtrl])
or (Shift = [ssAlt]) or (Key in [VK_F1..vk_f12]) then
begin
AShortCut := Menus.ShortCut(Key, Shift);
S := ShortCutToText(AShortCut);
if Length(S) > 1 then
ShortCutEdit.Text := S;
end;
end;
procedure TDelForEx9OptionsDlg.EditButtonClick(Sender: TObject);
var
DefForEx9FileEditDlg: TDelForEx9FileEditDlg;
Cur: TCursor;
begin
Cur := Screen.Cursor;
Screen.Cursor := crHourGlass;
if Formatter <> nil then
with Formatter do
if FillNewWords in [fmAddNewWord, fmAddUse, fmAddUseExcept] then
SaveCapFile(PChar(CapFileNameEdit.Text));
DefForEx9FileEditDlg := TDelForEx9FileEditDlg.Create(nil);
//Application.CreateForm(TDelForEx9FileEditDlg, DefForEx9FileEditDlg);
try
DefForEx9FileEditDlg.LoadFile(CapFileNameEdit.Text);
Screen.Cursor := Cur;
DefForEx9FileEditDlg.ShowModal;
if DefForEx9FileEditDlg.IsChanged then Formatter.LoadCapFile(PChar(CapFileNameEdit.Text));
finally
Screen.Cursor := Cur;
DefForEx9FileEditDlg.Close;
FreeAndNil(DefForEx9FileEditDlg);
end;
end;
procedure TDelForEx9OptionsDlg.CapFileNameEditChange(Sender: TObject);
begin
EditButton.Enabled := CapFileNameEdit.Text <> '';
end;
procedure TDelForEx9OptionsDlg.TabSheet3Show(Sender: TObject);
var
OldSettings: TSettings;
OldCapFileName: array[0..Max_path] of Char;
begin
with Formatter do
if Formatter <> nil then
begin
OldSettings := GetFormatterSettings(OldCapFileName);
UpdateFormatter;
Formatter.Clear;
Formatter.Text := PChar(BeforeMemo.Text);
if Formatter.Parse then
begin
AfterMemo.Lines.BeginUpdate;
AfterMemo.Lines.Clear;
AfterMemo.Text := Formatter.Text;
AfterMemo.Lines.EndUpdate;
BeforeMemoClick(nil);
end;
SetFormatterSettings(OldSettings, OldCapFileName);
end;
end;
procedure TDelForEx9OptionsDlg.BeforeMemoClick(Sender: TObject);
var
CurLine2, CurLine: Integer;
begin
CurLine := SendMessage(BeforeMemo.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
CurLine2 := SendMessage(AfterMemo.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
SendMessage(AfterMemo.Handle, EM_LINESCROLL, 0, CurLine - CurLine2);
AfterMemo.SelStart := BeforeMemo.SelStart;
end;
procedure TDelForEx9OptionsDlg.BeforeMemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
BeforeMemoClick(nil);
end;
procedure TDelForEx9OptionsDlg.BeforeMemoKeyPress(Sender: TObject; var Key: Char);
begin
BeforeMemoClick(nil);
end;
procedure TDelForEx9OptionsDlg.BeforeMemoMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
BeforeMemoClick(nil);
end;
procedure TDelForEx9OptionsDlg.SpacingComboExit(Sender: TObject);
begin
with SpaceGrid do
Cells[Col, Row] := SpacingCombo.Text;
end;
procedure TDelForEx9OptionsDlg.SpaceGridClick(Sender: TObject);
var
Rect: TRect;
Pnt: TPoint;
begin
with SpaceGrid do
if Col = 2 then
begin
with SpacingCombo do
ItemIndex := Items.IndexOf(Cells[2, Row]);
Rect := CellRect(2, Row);
with Rect do
begin
Pnt := SpacingCombo.Parent.ScreenToClient((SpaceGrid.ClientToScreen(Point(Left,
Top))));
SpacingCombo.SetBounds(Pnt.X, Pnt.Y, Right - Left, Bottom - Top);
SpacingCombo.Show;
end;
end;
end;
procedure TDelForEx9OptionsDlg.SpaceGridTopLeftChanged(Sender: TObject);
begin
SpacingCombo.Hide;
end;
procedure TDelForEx9OptionsDlg.FormShow(Sender: TObject);
begin
FillSpaceCombo(SpacingCombo);
UpdateButtons;
FillPreview;
PageControl1.ActivePage := Indent;
CapFileNameButton.Height := CapFileNameEdit.Height;
CapFileNameButton.Left := CapFileNameEdit.Left + CapFileNameEdit.Width + 3;
CapFileNameButton.Top := CapFileNameEdit.Top;
end;
procedure TDelForEx9OptionsDlg.BorlandButtonClick(Sender: TObject);
begin
SetDefault(True);
end;
procedure TDelForEx9OptionsDlg.FeedAfterThenCheckClick(Sender: TObject);
begin
ExceptSingleCheck.Enabled := FeedAfterThenCheck.Checked;
end;
procedure TDelForEx9OptionsDlg.OKBtnClick(Sender: TObject);
begin
ModalResult := mrOk;
end;
procedure TDelForEx9OptionsDlg.CancelBtnClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -