Strledit.pas
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:3k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. {*******************************************************}
  2. {                                                       }
  3. {       Delphi Visual Component Library                 }
  4. {                                                       }
  5. {       Copyright (c) 1995 Borland International        }
  6. {       Portions copyright (c) 1997 Master-Bank         }
  7. {                                                       }
  8. {*******************************************************}
  9. unit StrLEdit;
  10. {$I RX.INC}
  11. interface
  12. uses {$IFDEF WIN32} Windows, {$ELSE} WinTypes, WinProcs, {$ENDIF} Classes, 
  13.   Graphics, Forms, Controls, Buttons, Dialogs, RTLConsts, DesignIntf, DesignEditors, VCLEditors, StdCtrls, ExtCtrls;
  14. type
  15.   TStrEditDlg = class(TForm)
  16.     Memo: TMemo;
  17.     LineCount: TLabel;
  18.     OpenDialog: TOpenDialog;
  19.     SaveDialog: TSaveDialog;
  20.     OKBtn: TButton;
  21.     CancelBtn: TButton;
  22.     HelpBtn: TButton;
  23.     LoadBtn: TButton;
  24.     SaveBtn: TButton;
  25.     procedure FileOpen(Sender: TObject);
  26.     procedure FileSave(Sender: TObject);
  27.     procedure UpdateStatus(Sender: TObject);
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure MemoKeyDown(Sender: TObject; var Key: Word;
  30.       Shift: TShiftState);
  31.     procedure HelpBtnClick(Sender: TObject);
  32.   private
  33.     SingleLine: string[15];
  34.     MultipleLines: string[15];
  35.   end;
  36. implementation
  37. {$R *.DFM}
  38. uses SysUtils, LibHelp;
  39. { TStrListEditDlg }
  40. procedure TStrEditDlg.FileOpen(Sender: TObject);
  41. begin
  42.   with OpenDialog do
  43.     if Execute then Memo.Lines.LoadFromFile(FileName);
  44. end;
  45. procedure TStrEditDlg.FileSave(Sender: TObject);
  46. begin
  47.   SaveDialog.FileName := OpenDialog.FileName;
  48.   with SaveDialog do
  49.     if Execute then Memo.Lines.SaveToFile(FileName);
  50. end;
  51. procedure TStrEditDlg.UpdateStatus(Sender: TObject);
  52. var
  53.   Count: Integer;
  54. begin
  55.   Count := Memo.Lines.Count;
  56.   if Count = 1 then
  57.     LineCount.Caption := Format('%d %s', [Count, SingleLine])
  58.   else
  59.     LineCount.Caption := Format('%d %s', [Count, MultipleLines]);
  60. end;
  61. procedure TStrEditDlg.FormCreate(Sender: TObject);
  62. begin
  63.   HelpContext := hcDStringListEditor;
  64.   OpenDialog.HelpContext := hcDStringListLoad;
  65.   SaveDialog.HelpContext := hcDStringListSave;
  66.   SingleLine := 'Line';
  67.   MultipleLines := 'Lines';
  68. end;
  69. procedure TStrEditDlg.MemoKeyDown(Sender: TObject; var Key: Word;
  70.   Shift: TShiftState);
  71. begin
  72.   if Key = VK_ESCAPE then CancelBtn.Click;
  73. end;
  74. procedure TStrEditDlg.HelpBtnClick(Sender: TObject);
  75. begin
  76.   Application.HelpContext(HelpContext);
  77. end;
  78. end.