Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Textdatei in Typisierte Datei "konvertieren" (https://www.delphipraxis.net/172145-textdatei-typisierte-datei-konvertieren.html)

Mojito 15. Dez 2012 12:27

Textdatei in Typisierte Datei "konvertieren"
 
Hallo liebe Delphi Freunde,

die Arbeit mit Textdateien und typisierten Dateien macht mir zu schaffen. Ich versuche eine Textdatei aufzurufen und dann in eine typisierte Datei zu schreiben. Leider gibts da noch einige Bugs, so wird tempFile nicht als gültiger Dateityp angenommen und allgemein bin ich mir nicht sicher ob das alles so seine Richtigkeit hat.. Habt ihr Verbesserungsvorschläge? Bitte nicht köpfen:pale:

Delphi-Quellcode:
procedure Convert(fileName: string);
var
  x, y: Integer;
  tempFile: file of TextFile; // Liest Textdatei aus
  tempString: string;
  typedFile: array [0 .. 10] of TAdresse; // Array, der Zeileninhalte speichert
begin
  AssignFile(tempFile, fileName); // Öffnen Textfile, Speicher in Tempfile
  reset(tempFile);               // Lesen Textfile
  x := 0;
  Seek(tempFile, 0);             // Startpunkt
  while not eof(tempFile) do     // Solange letzte Zeile nicht erreicht
  begin
    tempString := '';                    // Leerer String
    readln(tempFile, tempString);        // Lesen Aktueller Zeile
    typedFile[x] := strToTyped(tempString);  //Übergabe Zeile an Array, strToTyped konvertiert in string
    inc(x);                      //Anzahl Zeilen;
  end;
  for y := 0 to x do
    writeln(Newfile, typedFile[y]); //Übergabe an Typisiertey Datei
end;

Bernhard Geyer 15. Dez 2012 12:36

AW: Textdatei in Typisierte Datei "konvertieren"
 
Wieso willst du überhaupt typisierte Datei verwenden?
Gibt doch immer wieder Probleme wenn man IDE-Version aktualisiert und AFAIK kann die auch keine Unicode.

Delphi-Laie 15. Dez 2012 12:57

AW: Textdatei in Typisierte Datei "konvertieren"
 
Zitat:

Zitat von Mojito (Beitrag 1195574)
Habt ihr Verbesserungsvorschläge?

1. Statt "file of textfile" einfach "textfile".
2. Textfile müßte sich auch als file of char öffnen lassen. Damit ist sie schon "automatisch konvertiert", ohne einen Finger für die Konvertierung krummzumachen oder der Datei auch nur ein Haar in diese Richtung zu krümmen.

Mojito 15. Dez 2012 14:28

AW: Textdatei in Typisierte Datei "konvertieren"
 
Wenn ich temnpfile als Textfile deklariere, dann funktioniert aber Seek(tempfile,0) nicht mehr: Inkompatible Typen

Liegt wohl daran, dass Seek nur bei typisierten Datein funktioniert. Ich habe es jetzt rausgenommen. Das verbleibende Problem ist, die letzte Anweisung:

for y := 0 to x do
writeln(Newfile, typedFile[y]); //Übergabe an Typisiertey Datei

Fehlermeldung: Ungültige Write/Writeln-Anweisung, Inkompatible Typen

MeierZwoo 15. Dez 2012 14:54

AW: Textdatei in Typisierte Datei "konvertieren"
 
typisierte dateien kennen kein write line (writeln), nur write.

writeLN schreibt keinen datensatz, sondern einen string mit abschliessendem CR/LF.

Musst dich schonmal entscheiden, ob du in eine textdatei oder eine datensatz-orientierte typisierte datei schreiben willst.

Mojito 15. Dez 2012 14:57

AW: Textdatei in Typisierte Datei "konvertieren"
 
Ja das hat geklappt soweit, danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 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