Autor Beitrag
argh
Hält's aus hier
Beiträge: 6

win xp
Delphi 2005
BeitragVerfasst: Mi 12.04.06 09:55 
Hallo, ich hätte da mal eine kleine Frage und hoffe, dass ihr mit dabei helfen könnt.
Folgendes: Ich habe ein Programm geschrieben, dass mir verschiedene Touren und deren Gesamtlänge ausgibt. Nun möchte ich die Zwischen- und Endergebnisse in eine einfache Textdatei schreiben. Das hatte ich mir so vorgestellt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure schreiben;
var ausgabe: textfile;
    i: integer;

begin
 assign(ausgabe,'daten.txt'); 
 append(ausgabe);   
  for i:=1 to ak+1 do
   begin
   write(ausgabe,tour[i]:5);
   end;
  writeln(ausgabe,'   ',dist:5:2);
  close(ausgabe);
end;


Aber wenn jetzt die eine Tour 5 Orte umfasst und die nächste nur 3, dann wird die nicht einfach nur angehangen, sondern übernimmt die letzten beiden orte der vorherigen auch noch. Also so meinetwegen: tour1: 5-4-3-2-1 tour2: 1-2-3 gibt in der textdatei dann
5 4 3 2 1,
1 2 3 2 1
das ist ja irgendwie nicht so schön...ok, wo ich bei schön bin...nebenbei gefragt, wie bekomme ich es hin, dass eine Lehrzeile eingefügt wird, damit in der Datei nicht alles untereinander steht?
ich hoffe, ihr könnt mir helfen

Moderiert von user profile iconmatze: Delphi-Tags hinzugefügt
DHE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 37

Win XP, Ubuntu 9.04
Delphi 7 PE; Delphi 2010 Prof (Dank AGS 2009 ;-) )
BeitragVerfasst: Mi 12.04.06 17:58 
Könntest du nicht einfach vor dem Speichern überüfen ob die Datei existiert?
Wenn ja, dann wird sie gelöscht und eine Neue erstellt. Ich finde so geht es am einfachsten...
Anarkids
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 81

Win XP Pro, Freundin
Delphi 2006, C/C++, VisualBasic
BeitragVerfasst: Do 13.04.06 08:15 
hi.

Ich bin anfänger, doch habe gerade mal den Drang zu versuchen zu helfen ;-)
Versuche es jetzt einfach mal...

ausblenden Delphi-Quelltext
1:
write(ausgabe,tour[i]:5);					

Hier vielleicht mal die formatierung :5 rausnehmen.

Daran wirds bestimmt nicht liegen.

Eine leerzeile wird mit WriteIn(ausgabe); erzeugt, wenn ich mich richtig erinner.

mfg,
anarkids

;)

_________________
Mr.D
Change begins with you - TODAY!


Zuletzt bearbeitet von Anarkids am Do 13.04.06 08:47, insgesamt 1-mal bearbeitet
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 13.04.06 08:22 
Ist dein Schleifenende (ak) vielleicht falsch?
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Do 13.04.06 08:36 
Moin moin,

Ich nehme an, die Variable ak gibt die Anzahl der Orte an. Kann es sein, dass du die vor dem neuen Durchlauf diese Variable nicht zurücksetzt?
Eine Leerzeile kannst du übrigens mit einem leeren Writeln erzeugen, also

ausblenden Delphi-Quelltext
1:
Writeln(ausgabe);					


Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.