06.01.2020, 04:00
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Ну, простая реализация примерно такая (с учетои работы в Delphi 7):
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TVariables = class
private
FItems : TStringList;
FCaseSensitive : Boolean;
function GetItem(VarName: String): String;
procedure SetItem(VarName: String; const Value: String);
public
constructor Create;
destructor Destroy; override;
property Items[VarName : String] : String read GetItem write SetItem;
end;
TForm1 = class(TForm)
edVarList: TMemo;
btSet: TButton;
edVarName: TEdit;
edVarValue: TEdit;
btGet: TButton;
procedure btSetClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btGetClick(Sender: TObject);
private
{ Private declarations }
V : TVariables;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TVariables }
constructor TVariables.Create;
begin
inherited Create;
FItems := TStringList.Create;
end;
destructor TVariables.Destroy;
begin
FItems.Free;
inherited;
end;
function TVariables.GetItem(VarName: String): String;
begin
Result := FItems.Values[VarName];
end;
procedure TVariables.SetItem(VarName: String; const Value: String);
begin
FITems.Values[VarName] := Value;
end;
procedure TForm1.btSetClick(Sender: TObject);
begin
V.Items[edVarName.Text] := edVarValue.Text;
edVarList.Lines.Text := V.FItems.Text;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
V := TVariables.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
V.Free;
end;
procedure TForm1.btGetClick(Sender: TObject);
begin
edVarValue.Text := V.Items[edVarName.Text];
edVarList.Lines.Text := V.FItems.Text;
end;
end.
|