100 lines
1.9 KiB
ObjectPascal
100 lines
1.9 KiB
ObjectPascal
unit Unit1;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, Forms,
|
|
Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, db;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
CheckBox1: TCheckBox;
|
|
CheckBox2: TCheckBox;
|
|
DataSource1: TDataSource;
|
|
Panel1: TPanel;
|
|
RxDBGrid1: TRxDBGrid;
|
|
RxMemoryData1: TRxMemoryData;
|
|
RxMemoryData1CODE: TLongintField;
|
|
RxMemoryData1ID: TLongintField;
|
|
RxMemoryData1NAME: TStringField;
|
|
procedure CheckBox1Change(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure RxDBGrid1CalcRowHeight(Sender: TRxDBGrid; var ARowHegth: integer);
|
|
private
|
|
procedure FillTestDatabase;
|
|
public
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
begin
|
|
CheckBox1.OnChange := nil;
|
|
CheckBox2.OnChange := nil;
|
|
|
|
CheckBox1.Checked := rdgWordWrap in RxDBGrid1.OptionsRx;
|
|
CheckBox2.Checked := RxDBGrid1.FooterOptions.Active;
|
|
|
|
CheckBox1.OnChange := @CheckBox1Change;
|
|
CheckBox2.OnChange := @CheckBox1Change;
|
|
|
|
RxMemoryData1.Open;
|
|
FillTestDatabase;
|
|
end;
|
|
|
|
procedure TForm1.RxDBGrid1CalcRowHeight(Sender: TRxDBGrid;
|
|
var ARowHegth: integer);
|
|
begin
|
|
if RxMemoryData1ID.AsInteger mod 10 = 0 then
|
|
ARowHegth:=ARowHegth + 1;
|
|
end;
|
|
|
|
procedure TForm1.FillTestDatabase;
|
|
var
|
|
F:TextFile;
|
|
S:string;
|
|
I:integer;
|
|
begin
|
|
AssignFile(F, 'unit1.pas');
|
|
Reset(F);
|
|
I:=0;
|
|
while not Eof(F) do
|
|
begin
|
|
Readln(F, S);
|
|
if Trim(S)<>'' then
|
|
begin
|
|
RxMemoryData1.AppendRecord([i, S, i]);
|
|
Inc(i);
|
|
end;
|
|
end;
|
|
CloseFile(F);
|
|
RxMemoryData1.First;
|
|
end;
|
|
|
|
procedure TForm1.CheckBox1Change(Sender: TObject);
|
|
begin
|
|
if CheckBox1.Checked then
|
|
RxDBGrid1.OptionsRx := RxDBGrid1.OptionsRx + [rdgWordWrap]
|
|
else
|
|
RxDBGrid1.OptionsRx := RxDBGrid1.OptionsRx - [rdgWordWrap];
|
|
|
|
RxDBGrid1.FooterOptions.Active := CheckBox2.Checked;
|
|
|
|
RxMemoryData1.First;
|
|
end;
|
|
|
|
end.
|
|
|