Hallo Mirco,
deine beispielhaften Datenzeilen könnte man auch so auslesen:
Delphi-Quellcode:
uses
StrUtils;
procedure TDemoForm.LoadButtonClick(Sender: TObject);
const
S_DEF = 'define(';
var
i: Integer;
line, sName, sText: String;
pc: PChar;
c: TComponent;
begin
with Memo do
for i := 0 to Pred(Lines.Count) do
begin
line := Lines[i];
if AnsiStartsText(S_DEF, line) then
begin
pc := PChar(line);
Inc(pc, Length(S_DEF));
sName := AnsiExtractQuotedStr(pc, '''');
c := self.FindComponent(sName);
if Assigned(c) then
begin
Inc(pc, 2);
sText := AnsiExtractQuotedStr(pc, '''');
TEdit(c).Text := sText;
end;
end;
end;
end;
Wenn das Speicherformat von dir frei gewählt werden kann, dann solltest du das INI-Format in Erwägung ziehen. Der Code vereinfacht sich dann noch weiter.
Grüße vom marabu