AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: Inkompatible Typen

Ein Thema von mkpre · begonnen am 21. Mai 2008 · letzter Beitrag vom 21. Mai 2008
Antwort Antwort
mkpre

Registriert seit: 20. Mai 2008
19 Beiträge
 
Delphi 6 Personal
 
#1

Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 10:47
Ich habe den folgenden Text geschrieben, es soll ein Datum aus dem DateTimePicker, die Uhrzeit und ein Text aus je 1 Edit-Feld eingetragen werden und dabei ist zu prüfen, ob der Termin schon verplant ist.
Das Problem ist nun, dass er den Fehler: Inkompatible Typen in allen Zeilen anzeigt, wo es um die Datei geht.
Wer kann mir sagen wo der Fehler liegt und ihn berichtigen?
Danke schon mal

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Datei : TStringList;
datum_neu : string;
zeit_neu : string;
event_neu:string;
zeile_neu:string;
datum: string;
zeit: string;
zeile:string;
vorhanden:string;

begin
datum_neu:= DateToStr(DateTimePicker1.Date);
zeit_neu:=EingabeZeit.Text;
event_neu:=EingabeEvent.Text;
zeile_neu:=datum_neu+';'+zeit_neu+';'+event_neu;


 AssignFile(datei,'termine.csv'); //Dateivariable verknüpfen
 reset(datei); //Datei öffnen

 //Test, ob Datum schon in der Datei steht
 vorhanden:=false;
 WHILE not EOF(datei) DO //Wiederhole solange das Dateiende nicht erreicht
  BEGIN
   readln (datei,zeile) //zeile wird aus der Datei gelesen
   datum:=copy(zeile,1,10); //ab 1. Zeichen bis 10. Zeichen --> dort steht das Datum
   zeit:= copy(zeile,12,5); //ab 12. Zeichen 5 Zeichen kopieren --> Uhrzeit

   //Vergleich
   IF (datum_neu = datum) AND (zeit_neu=zeit) THEN vorhanden:=true;
    
  END;
  CloseFile(datei);
  //Wenn noch nicht vorhanden, dann neu in die Datei schreiben, sonst Hinweis ausgeben

  IF vorhanden THEN ShowMessage('Der Termin ist schon belegt')
                     ELSE BEGIN
                                   append(datei); //Datei öffnen zum anhängenden schreiben
                                   writeln(datei,zeile_neu);
                                   closefile(datei);
                           END;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 10:51
Bei der var deklaration hast Du "Datei als TStringList deklariert.
Benutzen tust Du es als "FileHandle".
Delphi-Quellcode:

AssignFile(datei,'termine.csv'); //Dateivariable verknüpfen
reset(datei); //Datei öffnen

//Test, ob Datum schon in der Datei steht
vorhanden:=false;
WHILE not EOF(datei) DO //Wiederhole solange das Dateiende nicht erreicht
  BEGIN
   readln (datei,zeile) //zeile wird aus der Datei gelesen
   datum:=copy(zeile,1,10); //ab 1. Zeichen bis 10. Zeichen --> dort steht das Datum
   zeit:= copy(zeile,12,5); //ab 12. Zeichen 5 Zeichen kopieren --> Uhrzeit

   //Vergleich
   IF (datum_neu = datum) AND (zeit_neu=zeit) THEN vorhanden:=true;
So würde es mit einer TStringlist ausschauen.
Delphi-Quellcode:
datei := TStringList.create;
datei.loadFromFile('termine.csv');
//Test, ob Datum schon in der Datei steht
vorhanden:=false;
for i:=0 to datei.count -1 do //Wiederhole solange das Dateiende nicht erreicht
  BEGIN
   zeile := datei[i]; //zeile wird aus der Datei gelesen
   datum:=copy(zeile,1,10); //ab 1. Zeichen bis 10. Zeichen --> dort steht das Datum
   zeit:= copy(zeile,12,5); //ab 12. Zeichen 5 Zeichen kopieren --> Uhrzeit

   //Vergleich
   IF (datum_neu = datum) AND (zeit_neu=zeit) THEN vorhanden:=true;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 10:52
Edit: zu langsam
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.057 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 11:04
Und zusätzlich solltest du die Variable "vorhanden" als boolean deklarieren.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
mkpre

Registriert seit: 20. Mai 2008
19 Beiträge
 
Delphi 6 Personal
 
#5

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 11:14
Danke erstmal für die Hinweise, bis dahin funktioniert es nun.
Mein eigentliches Ziel ist es aber, dass geprüft wird, ob in meiner Tabelle der Termin bereits vorhanden ist in dann ggf. hinzugefügt wird. Dieser Test funktioniert aber nicht.
Wer kann helfen?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 11:25
Hallo,

hast Du dir schon einmal einen Haltepunkt in der Schleife
gesetzt?
Den Inhalt der Variablem datum und Zeit kannst Du dir
anzeigen lassen. Dazu die Variablen markieren und strg+f5 drücken.

Wenn Du dann mit F8 oder F7 den Quelltext durchgehst
wirst Du wahrschienlich darauf stossen wo das Problem liegt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Fehler: Inkompatible Typen

  Alt 21. Mai 2008, 11:30
@mkpre: Mache bitte für dein neues Problem ein neues Thema auf. Ansonsten wird das ganze zu unübersichtlich. Zudem lässt sich das neue Thema dann besser über die Suchfunktion finde da du dann auch einen neuen aussagekräftigen Titel wählen kannst der zum Problem passt. Dadurch finden später Leute die das gleiche Problem haben die Lösung besser mit Hilfe der Suchfunktion
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz