Autor Beitrag
Ottchen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Do 07.11.02 19:52 
Hallo Delphi-Liste,

ich möchte meine in ein StrinGrid geschriebenen Daten in eine Textdatei schreiben. Aufgelistet wird in diesem "Sparplan" mit Zinsrechnung einmal der Anfangsbetrag, dann die berechneten Zinsen und zuletzt das Kapital am Ende eines Jahres. Im StrinGrid sind Anfangsbetrag/Zinsen/Endkapital nebeneinander. So soll es auch in der Textdatei aussehen. Untereinander gelingt mir das.

Kennt jmd. eine Möglichkeit, die Daten nebeneinander in eine Textdatei zu schreiben? (Vielleicht noch mit Tabellenstrichen...?)

Danke. Ottchen

Hier ein Teil vom Quelltext:


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.Speichern1Click(Sender: TObject);
var TextDatei:TextFile;  i:integer;
begin
  AssignFile(TextDatei,'C:\windows\desktop\Paul.txt');
  Rewrite(TextDatei); //Datei erstellen

  for i:=1 to Laufzeit do //Variable Laufzeit ist global,
    with StringGrid1 do  // da sie hier zum Speichern benötigt wird
      begin              // (in Abhängigkeit der Laufzeit)
        WriteLn(TextDatei,Cells[0,i]);
        WriteLn(TextDatei,Cells[1,i]);
        WriteLn(TextDatei,Cells[2,i]);
        WriteLn(TextDatei,Cells[3,i]+#13+#10);         //Wagenrücklauf+Zeilensprung in der Textdatei
      end;                     
  CloseFile(TextDatei);
end;

end.

_________________
See you.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Do 07.11.02 20:21 
Hallo

hast du dir die erzeugte Datei schonmal angeschaut? Aller 4 Zeilen haste noch ne Leerzeile drin, oder?
Writeln geht gleich zur nächsten Zeile, nutze stattdessen write und nur für die letzte Spalte writeln.

um das ganze allgemein zu halten, gleich noch mit einer 2. schleife
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 with StringGrid1 do  
  for i:=1 to Laufzeit do 
     begin
       for x:=0 to colcount-1 do
         begin             
          Write(TextDatei,Cells[x,i]+';');
         end;
        writeln(Textdatei); //Zeile abschließen  
      end;

nur so kurz hier reingetippt, schreibt Dir das Stringgrid in die Textdatei, die Spalten sind mit z.b. einem semikolon getrennt , auch das Zeilenende ist mit einem Semikolon abgeschlossen.

Frank
Raphael82
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Sa 09.11.02 10:24 
Da wir es gerade in einem anderen Thread von typisierten Dateien hatten: Hier wären sie gar nicht so fehl am Platz!

Raphael

_________________
Share your knowledge to receive perfection!
Ottchen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Do 14.11.02 22:25 
Hallo Keldorn!

Danke für die Tipps. Ich habe einfach mal ein wenig mit Leer- und Sonderzeichen probiert, um die Daten in "schöner" Form in die Textdatei zu schreiben.

Mit typisierten Dateien habe ich noch nicht gearbeitet, Raphael82. In welcher Sparte hier steht etwas darüber?

Danke!
Ottchen

Eine Erweiterung meines "Sparprogrammes" soll mit einer Repeat-Until-Schleife realisiert werden. Die Abbruchbedingung funktioniert aber nicht. Vielleicht könnt ihr ja mal schauen (Neues Thema: Austrittsbedingung der Repeat-Until-Schleife ist unklar! Endlosschleife!)

_________________
See you.