/jcl/examples/windows/clr/ClrDemoStringsForm.pas
https://github.com/the-Arioch/jcl · Pascal · 54 lines · 41 code · 11 blank · 2 comment · 0 complexity · b13271102e4599e8f0c453b6e22c57eb MD5 · raw file
- unit ClrDemoStringsForm;
- interface
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, Buttons, ComCtrls, JclCLR;
- type
- TfrmStrings = class(TForm)
- lstStrings: TListView;
- btnOK: TBitBtn;
- procedure lstStringsData(Sender: TObject; Item: TListItem);
- private
- FStream: TJclCLRStringsStream;
- procedure ShowStrings(const AStream: TJclCLRStringsStream);
- public
- class procedure Execute(const AStream: TJclCLRStringsStream);
- end;
- implementation
- {$R *.DFM}
- uses
- JclUnicode;
- { TfrmStrings }
- class procedure TfrmStrings.Execute(const AStream: TJclCLRStringsStream);
- begin
- with TfrmStrings.Create(nil) do
- try
- ShowStrings(AStream);
- ShowModal;
- finally
- Free;
- end;
- end;
- procedure TfrmStrings.ShowStrings(const AStream: TJclCLRStringsStream);
- begin
- FStream := AStream;
- lstStrings.Items.Count := FStream.StringCount;
- end;
- procedure TfrmStrings.lstStringsData(Sender: TObject; Item: TListItem);
- begin
- Item.Caption := IntToStr(Item.Index);
- Item.SubItems.Add(IntToHex(FStream.Offsets[Item.Index], 8));
- Item.SubItems.Add(FStream.Strings[Item.Index]);
- end;
- end.