Du hast uns immer noch nicht die alles entscheidenden Fragen beantwortet. Lies doch bitte mal unsere Beiträge. Welches Format haben die Daten in der Datei und was für ein datum ist es? Das Rückgabedatum oder das Ausleihdatum.
Desweitern ist dein Code etwas verkorkst:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
alt : TDateTime;
Ueberschritten : Boolean;
begin
if FileExists ('Bücherliste3.txt') // Bitte mit kompletter Pfadangabe. Dass dein Programm die Datei findet ist purer Zufall
then ListBox3.Items.LoadFromFile('Bücherliste3.txt'); // Kommentar siehe vorherige Zeile
for i := 0 to ListBox3.Items.Count-1 do begin
alt := StrToDateTimeDef(ListBox3.Items.Strings[i], 0); // Guck doch einfach mal im Debugger, was nach dieser Zeile in [i]alt[/i] drin steht oder lass es dir ausgeben
Ueberschritten:=alt<Now // Der Inhalt der Variable [i]Ueberschritten[/i] wird immer wieder überschrieben, so dass du letztendlich nur den letzten Eintrag in den folgenden Zeilen überprüfst
end;
if Ueberschritten then
ShowMessage('Ausleihdatum überschritten');
end;
Wie wäre es hier mit:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
alt : TDateTime;
Ueberschritten : Boolean;
begin
if FileExists ('Bücherliste3.txt')
then ListBox3.Items.LoadFromFile('Bücherliste3.txt');
for i := 0 to ListBox3.Items.Count-1 do
begin
alt := StrToDateTimeDef(ListBox3.Items.Strings[i], 0);
if alt<Now then ShowMessage('Ausleihdatum überschritten');
end;
end;