Ja sicha, nicht über den code wundern ist noch absolute Test-Pfhase sind auch noch paar Test Outputs drinne:
Delphi-Quellcode:
rocedure TfrmMain.IdTCPServer1Execute(AThread: TIdPeerThread);
var
fs: TFileStream;
SizeOfIncomingStream: integer;
NameOfIncomingStream : String;
DateOfIncomingStream : String;
flgsenden : Boolean;
begin
NameOfIncomingStream := 'C:\test\'+ AThread.Connection.ReadLn;
DateOfIncomingStream := AThread.Connection.ReadLn;
if FileExists(NameOfIncomingStream) then begin
// Das ist die besagte IF Abfrage
if strtoint(FormatDateTime('dmyyyyhns',GetFileModifyDate(NameOfIncomingStream))) < strtoint(DateOfIncomingStream) then begin
memo1.Lines.Add ('Kleiner');
end;
Memo1.Lines.Add ('False');
Memo1.Lines.Add (DateOfIncomingStream);
flgSenden := False;
end
else begin
Memo1.Lines.Add (NameOfIncomingStream + ' true');
flgSenden := True;
end;
if flgSenden = False then begin
try
AThread.Connection.WriteLn ('Close');
Memo1.Lines.Add (NameOfIncomingStream + ' nicht senden');
finally
AThread.Connection.Disconnect;
end;
end
else begin
AThread.Connection.WriteLn ('Send');
Memo1.Lines.Add (NameOfIncomingStream + ' senden');
fs := TFileStream.Create(NameOfIncomingStream , fmCreate or fmShareExclusive);
with AThread.Connection do
try
SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen
ReadStream(fs, SizeOfIncomingStream); //und übergeben
finally
Disconnect;
fs.Free;
end;
end;
end;