Speichern einer Textdatei
Hall liebe Delphi Freunde,
Ich möchte eine typisierte Datei in eine Textdatei konvertieren und dann abspeichern. Leider ist mir das nicht geglückt. Und zwar erhalteich bei tempTypetoText:=entryToStr(NewFIle) die Fhelermeldung: Inkompatible Typen "TAdresse" und "Text". Die Funktion TypedToStr sieht wie folgt aus:
Delphi-Quellcode:
NEWFile ist vom Typ file of TAdresse. Hier der ganze Code der Prozedur
function TypedToStr(entry: TAdresse): string;
Delphi-Quellcode:
procedure ConvertIntoText(fileName: string);
var tempText:Text; tempTypetoText:string; begin AssignFile(tempText,filename+'.txt'); // Öffnen der zu speichernden Datei Rewrite(tempText); tempTypetoText:=typedToStr(NewFIle); write(tempTypeToText,tempText); end; Hat einer eine Rat? Vielen Dank! |
AW: Speichern einer Textdatei
Es wäre wohl sinniger gewesen, den Code von tempTypeToText zu posten.
|
AW: Speichern einer Textdatei
Ups da hatte ich mich verschrieben, es bezog sich auf die TypedToStr.Hier ein Auszug, die weiteren case-Anweisungen sind ähnlich
Delphi-Quellcode:
function TypedToStr(Vtyped: TAdresse): string;
begin TypedyToStr := ''; case Vtyped.addressType of House: TypedToStr := 'H,' + Vtyped.street + ',' + Vtyped.city + ',' + inttostr(Vtyped.number); |
AW: Speichern einer Textdatei
Das sieht eigentlich OK aus, allerdings hast Du beim write in Deinem zuerst geposteten Code wohl die Parameter verwechselt.
|
AW: Speichern einer Textdatei
Außerdem würde ich mit Writeln die einzelnen Bestandteile trennen, sowie die Datei noch mit
Delphi-Quellcode:
ordentlich abschließen
CloseFile
|
AW: Speichern einer Textdatei
Neben dem fehlenden
Delphi-Quellcode:
sollte da eigentlich irgendwo eine Schleife existieren, in der die typisierte Datei eingelesen wird. Das
closefile
Delphi-Quellcode:
ist nicht unbedingt notwendig wenn bei der Konvertierung ein x0D0A mitgegeben wird.
writeln
Aber die paar Source-Häppchen lassen eigentlich keine vernünftige Aussage zu. (übrigens würde ich als Ersatzformat für eine typisierte Datei eher XML oder ein ähnliches Format bevorzugen) Gruß K-H |
AW: Speichern einer Textdatei
Wird die typisierte Datei nicht mit:
while not eof(tempFile) do eingelesen? Bekomme für das
Delphi-Quellcode:
immer noch den Fehler:
write(tempTypeToText,tempText);
[DCC Fehler] UTxt.pas(128): E2054 Ungültiger Typ in Write/Writeln-Anweisung Muss ich Newfile vielleicht auch erstmal mit AssignFile öffnen oder so? |
AW: Speichern einer Textdatei
Nö, einfach nur lesen, was andere schreiben oder alternativ in die Hilfe schauen, welche Parameter von welchem Typ da erwartet werden.
|
AW: Speichern einer Textdatei
Der gepostete Code kann nicht funktionieren.
Du willst also eine Prozedur schreiben, die eine typisierte in eine Textdatei umwandelt. So geht das
Code:
So, und nun solltest Du das mit ein wenig Energie und Google selbst hinbekommen können.
Öffne die typisierte Quellatei (A) zum Lesen.
Öffne die (Ziel-)Textdatei (B) zum schreiben. Willst Du anhängen oder überschreiben? Dann: Solange A noch nicht am Ende angekommen ist: Lies einen Datensatz aus A ein. Konvertiere den Datensatz als String und speichere ihn in der Variablen SA. Schreibe SA in B bzw. hänge ans Ende an ... Schließe die Datei A Schließe die Datei B |
AW: Speichern einer Textdatei
So, es hat geklappt danke danke.:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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