Componentes.Terceros.jcl/official/1.96/examples/windows/clr/ClrDemoStringsForm.pas

55 lines
1.2 KiB
ObjectPascal

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.