FormTextForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit FormTextForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ExtCtrls, StdCtrls;
  6. type
  7.   TformText = class(TForm)
  8.     memoOut: TMemo;
  9.     pBar: TPanel;
  10.     btnResource: TButton;
  11.     btnCurrent: TButton;
  12.     btnPanel: TButton;
  13.     procedure btnResourceClick(Sender: TObject);
  14.     procedure btnCurrentClick(Sender: TObject);
  15.     procedure btnPanelClick(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     procedure ConvertAndShow (aStream: TStream);
  20.   end;
  21. var
  22.   formText: TformText;
  23. implementation
  24. {$R *.DFM}
  25. procedure TformText.btnResourceClick(Sender: TObject);
  26. var
  27.   ResStr: TResourceStream;
  28. begin
  29.   ResStr := TResourceStream.Create(
  30.     hInstance, 'TFORMTEXT', RT_RCDATA);
  31.   try
  32.     ConvertAndShow (ResStr);
  33.   finally
  34.     ResStr.Free
  35.   end;
  36. end;
  37. procedure TformText.btnCurrentClick(Sender: TObject);
  38. var
  39.   MemStr: TStream;
  40. begin
  41.   MemStr := TMemoryStream.Create;
  42.   try
  43.     MemStr.WriteComponent (Self);
  44.     ConvertAndShow (MemStr);
  45.   finally
  46.     MemStr.Free
  47.   end;
  48. end;
  49. procedure TformText.ConvertAndShow (aStream: TStream);
  50. var
  51.   ConvStream: TStream;
  52. begin
  53.   aStream.Position := 0;
  54.   ConvStream := TMemoryStream.Create;
  55.   try
  56.     ObjectBinaryToText (aStream, ConvStream);
  57.     ConvStream.Position := 0;
  58.     MemoOut.Lines.LoadFromStream (ConvStream);
  59.   finally
  60.     ConvStream.Free
  61.   end;
  62. end;
  63. procedure TformText.btnPanelClick(Sender: TObject);
  64. var
  65.   MemStr: TStream;
  66. begin
  67.   MemStr := TMemoryStream.Create;
  68.   try
  69.     MemStr.WriteComponent (pBar);
  70.     ConvertAndShow (MemStr);
  71.   finally
  72.     MemStr.Free
  73.   end;
  74. end;
  75. end.