| Autor |
Beitrag |
HorusKaton
Hält's aus hier
Beiträge: 5
Win XP
Delphi 7, HTML
|
Verfasst: Mo 26.05.08 22:22
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 26.05.08 22:42
in zeile 11, sagst du, dass er deine datei zurücksetzen soll...
|
|
HorusKaton 
Hält's aus hier
Beiträge: 5
Win XP
Delphi 7, HTML
|
Verfasst: Mo 26.05.08 23:00
Mmh, und was soll ich jetzt machen? Ich programmiere noh nicht lange Delphi, aber die Zeile zu löschen wäre definitiv falsch
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 26.05.08 23:07
tja, dann hast du ein problem
aber mal im ernst, du kannst bei 'ner textdatei nicht wahlfrei zurückschreiben... wenn dann brauchst du 'ne typisierte datei ... z.b. 'n file of char
eine andere möglichkeit ist, die daei komplett einzulesen und gesammelt zurückzuschreiben... (a) im hauptspeicher (da könntest dann auch den rewrite nehmen) oder (b) über eine tmp. datei ...
<HTH>
|
|
HorusKaton 
Hält's aus hier
Beiträge: 5
Win XP
Delphi 7, HTML
|
Verfasst: Mo 26.05.08 23:12
Mmh, ehrlich gesagt hab ich jetzt zwar nicht wirklich verstanden was du meinst (typisch n00b eben) aber ich kann ja mal ein paar Sachen versuchen die ich vermute, die du meinst^^
|
|
Muck
      
Beiträge: 98
Erhaltene Danke: 8
Win 8, Win 7, Vista, Win XP
Delphi XE3, Delphi 2009, Delphi 2007, Delphi 5
|
Verfasst: Di 27.05.08 00:18
Hallo,
die Datei ist leer, da ein CloseFile(Datei) am Ende fehlt. Die Dateipuffer werden erst bei Schliessen der Datei oder beim Aufruf der Prozedur Flush(Datei) zur Platte geschrieben.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button1Click(Sender: TObject); var merker : integer; Datei : textfile; begin if fileexists('Antwort1.qai2') then begin Assignfile(Datei, 'Antwort1.qai2'); Reset(Datei); readln(Datei, merker); Closefile(Datei); end else merker:=0; merker := merker + 1; Assignfile(Datei, 'Antwort1.qai2'); Rewrite(Datei); writeln(Datei, merker); CloseFile(Datei); end; |
So sollte es klappen.
bye Markus
|
|
ub60
      
Beiträge: 765
Erhaltene Danke: 130
|
Verfasst: Di 27.05.08 00:18
Mit ReadLn kannst Du nur Strings auslesen (merker). Dieser String wird in Integer (StrToInt) umgewandelt, erhöht, wieder in einen String (IntToStr) verwandelt und kann dann geschrieben werden.
ub60
|
|
Muck
      
Beiträge: 98
Erhaltene Danke: 8
Win 8, Win 7, Vista, Win XP
Delphi XE3, Delphi 2009, Delphi 2007, Delphi 5
|
Verfasst: Di 27.05.08 01:33
Hallo,
das Programm rennt ganz tadellos, Du kannst mit readln integer aus einer Textdatei lesen.
Getestet mit Delphi 7 und Delphi 2007. Delphi macht fuer Dich die Umwandlung automatisch.
bye
Markus
|
|
HorusKaton 
Hält's aus hier
Beiträge: 5
Win XP
Delphi 7, HTML
|
Verfasst: Di 27.05.08 13:08
@Muck: Danke, aber es geht immer noch nicht. Egal wie oft ich auf den Button klicke, wenn ich die Datei manuell öffne steht da immer noch 0 drin.
Und verstehe ich deinen Code jetzt richtig, dass überprüft wird, ob die Datei besteht, wenn ja, dann wird sie geöffnet und in den merker geschrieben und wenn sie nicht besteht, dann soll merker = 1 in die Datei geschrieben werden?
|
|
Muck
      
Beiträge: 98
Erhaltene Danke: 8
Win 8, Win 7, Vista, Win XP
Delphi XE3, Delphi 2009, Delphi 2007, Delphi 5
|
Verfasst: Di 27.05.08 14:31
Hallo,
nun wie gesagt, ich habe diesen kleinen Code auf meinem Computer mit Delphi 7 und Delphi 2007 getestet. Laeuft ganz problemlos. Ursache muss also woanders liegen.
- z.B. Andere Delphi Version
- Andere Compiler Schalter
- Vielleicht hast Du die Datei zweimal auf der Platte und checkst nicht die richtige Datei
- Vielleicht musst Du die alte Datei einmal loeschen
Aendere doch mal den Dateinamen in z.B. 'c:\test.txt' und versuche es nochmal.
Bei mir laeuft alles mit einer deutschen Delphi 7 und einer amerikanischen Delphi 2007 Version.
Bye
Markus
|
|
HorusKaton 
Hält's aus hier
Beiträge: 5
Win XP
Delphi 7, HTML
|
Verfasst: Di 27.05.08 14:45
Ok, mein Fehler, hab deinen Code falsch kopiert, sodass ich ein kleines begin-end-Problem hatte. Jetzt gehts aber, vielen dank, damit wäre mein problem gelöst
|
|