Registriert seit: 25. Okt 2017
67 Beiträge
Delphi XE7 Starter
|
AW: String mit einer Datei abgleichen
6. Nov 2022, 10:30
vielleicht habe ich sonst noch was falsch gesetzt?
Delphi-Quellcode:
procedure TForm1.EingangTimer(Sender: TObject);
var
msg, s, s2, s3: String;
sl, List : TStrings;
i : integer;
begin
if IdTcpClient1.Connected then
begin
msg := IdTCPClient1.IOHandler.ReadLn('', 5);
if msg <> '' then
begin
zaehler := zaehler +1;
sl := TStringList.Create;
sl.delimiter := ':';
sl.DelimitedText := msg;
if sl.Strings[0] = '100' then begin
end else begin
if sl.Strings[5] = '' then
begin
sl.Strings[5] := 'kein Text';
end else
begin
sl.Strings[5] := 'mit Text';
end;
s := sl.Strings[0] + ' | ' + sl.Strings[1] + ' | ' + sl.Strings[2] + ' | ' + sl.Strings[3] + ' | ' + sl.Strings[4] + ' | ' + Format('%.6d',[zaehler]) + ' | ' + trim(sl.Strings[5]);
Memo1.Lines.Insert(0, 'Log | ' + datetostr(date) + ' | ' + timetostr(time) + ' | ' + ' IdTCPClient1 | ' + s);
Statusbar1.SimpleText := 'Log | IdTCPClient1 | ' + s;
if FileExists( ExtractFilePath( ParamStr( 0 ) ) + '\List.dat' ) then
begin
s2 := sl.Strings[3];
ShowMessage(s2);
List := TStringList.Create;
try
List.LoadFromFile( ExtractFilePath( ParamStr( 0 ) ) + '\List.dat' );
for i := 0 to List.Count - 1 do
begin
s3 := StringReplace( List.Strings[i], ',', '', [rfReplaceAll] );
ShowMessage(s3);
if s2 = s3 then
begin
Shape1.Brush.Color := clgreen;
Reset_Netz_Id.Enabled := true;
end else
begin
Query_Monitord.Refresh;
Shape1.Brush.Color := cllime;
Reset_Alarm.Enabled := true;
end;
break;
end;
finally
List.Free;
end;
end;
end;
end;
end;
end;
Geändert von lucy ( 6. Nov 2022 um 10:33 Uhr)
|
|
Zitat
|