AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Speichern in einer externen Textdatei
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern in einer externen Textdatei

Ein Thema von danielkussin · begonnen am 6. Dez 2003 · letzter Beitrag vom 6. Dez 2003
Antwort Antwort
danielkussin

Registriert seit: 26. Nov 2003
Ort: Rellingen
16 Beiträge
 
#1

Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 12:36
Guten Morgen und schönen Nikolaus


Also ich hatte vor geraumer Zeit schon einmal gefragt, wie man eine externe Datei in Delphi einlesen kann, das Problem konnte ich dann mit eurer Hilfe beheben.

Jetzt aber die andere Seite, dieses Mal möchte ich gern in einer externen Datei speichern.

Und zwar hab ich ein TextArray, das gefüllt ist mit Nullen (0) und Einsen (1), also binär, gespeichert werden soll dann ein zweidimensonales Array der Größe [n,n].

Als Beispiel:

n-Zeilen = 5 | n-Spalten = 5

01010
00000
11111
11000
00011

Ich würd mich freuen, wenn mir einer einen Quelltext, dafür bzw. einen Ansatz posten könnte.



Mit freundlichen Grüssen

Daniel Kussin
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 12:51
Also wenn ich dich recht verstehe, dass möchtest du dein
2D-Array in eine Text-Datei speichern.

Ich hab das mit ner StringList und
zwei geschachtelten FOR-Schleifen gemacht:
(Müsste so gehen. Musst aber noch n1 und n2 ersetzen!)
Delphi-Quellcode:
var 2darray: array [1..n1,1..n2] of char;

StrList := NIL;
try
  SetLenght(str,n1);
  StrList := TStringList.Create;
        
  for i:=1 to n1 do begin
    for j:=1 to n2 do begin
      str[j] := 2darray[i,j];
    end;
    StrList.Add(str);
  end;

  StrList.SaveToFile('text.txt');
finally
  StrList.Free;
end;
Manuel
  Mit Zitat antworten Zitat
danielkussin

Registriert seit: 26. Nov 2003
Ort: Rellingen
16 Beiträge
 
#3

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 13:46
Ich hab mir den Quellcode jetzt einmal angeguckt, und ihn für mich und mein Problem geändert, aber ich hab da noch einige Verständnisfragen!

Delphi-Quellcode:
procedure ArrayInDatei(var dateiname : tFilename);
  const
    cZeilenZahl = 5;
    cSpaltenZahl = 5;
  typen
    tTextArryay = Array[1..cZeilenZahl,1..cSpaltenZahl] of integer; // Du hattest geschrieben
                                  // Char, ich denk aber, dass das keine Rolle spielen sollte! Oder?
  var
    TextArray : tTextArray;
    x, y : integer;
    Zeile : string;
begin
  StrList := NIL; // Dateiformat (Zeiger) leeren
  try
    SetLength(Zeile,cSpaltenZahl); // Definition der neuen Zeile (Format: Länge)
    StrList := TStringlist.Create;
    for y := 1 to cZeilenZahl do begin
      for x := 1 to cSpaltenZahl do
        Zeile[x] := TextArray[x,y]; // Durch die beiden for-Schleifen wird das TextArray in die
                                     // String-Variable "Zeile" gespeichert
      StrList.Add(Zeile); // Fertige Zeile wird der StrList hinzugefügt
    end;
    StrList.SaveToFile(dateiname); // Neue Datei wird gespeichert unter Variable: dateiname
  finally
    StrList.Free
  end;
Ich hoffe ich hab das so richtig verstanden. Wenn nicht helf mir bitte noch einmal!

Danke, Daniel
  Mit Zitat antworten Zitat
danielkussin

Registriert seit: 26. Nov 2003
Ort: Rellingen
16 Beiträge
 
#4

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 14:12
Einmal muss ich euch noch belästigen, aber ich hab den Quellcode jetzt in mein Programm übernommen, und Delphi meckert, dass er StrList nicht kennt. Kann es sein, dass das kein Delphi-Befehl ist, denn in der Hilfe konnte ich auch nichts finden.

Daniel
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 14:17
StrList ist eine variable vom Typ TStringList
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 14:19
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

Wie währe es mit einer Variablendeklaration:
Var StrList: TStringList;
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
danielkussin

Registriert seit: 26. Nov 2003
Ort: Rellingen
16 Beiträge
 
#7

Re: Speichern in einer externen Textdatei

  Alt 6. Dez 2003, 14:42
Es will immer noch nicht so richtig. Ich bekomm jetzt an folgender Zelle folgende Fehlermeldung:

Fehlermeldung: [Fehler] uTextdatei.pas(142): Anweisung erforderlich, aber Ausdruck vom Typ 'Integer' gefunden

Delphi-Quellcode:
procedure DateiSchreiben(dateiname : tFilename);
  var
    TextArray : tTextArray;
    x, y : integer;
    Zeile : string;
    StrList : tStringList;
begin
  ArrayInDatei(dateiname, TextArray);
  StrList := NIL;
  try
    SetLength(Zeile,cAnzSpalten);
    StrList := TStringlist.Create;
    for y := 1 to cAnzZeilen do
      begin
        for x := 1 to cAnzSpalten do
          Zeile[x] := chr(TextArray[x,y]);
        StrList.Add(Zeile); // <-- Hier die Fehlermeldung, wo liegt denn mein Problem.
      end;
    StrList.SaveToFile(dateiname);
  finally
    StrList.Free;
  end;
end;
Ich würde denken, dass ich doch dem StrList einfach eine Zeile hinzufüg, und ihn nicht anweise, erbitte wieder Hilfe.

Daniel
  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 15:27 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