AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern einer Textdatei

Ein Thema von Mojito · begonnen am 15. Dez 2012 · letzter Beitrag vom 16. Dez 2012
Antwort Antwort
Seite 1 von 2  1 2      
Mojito

Registriert seit: 29. Okt 2012
39 Beiträge
 
#1

Speichern einer Textdatei

  Alt 15. Dez 2012, 18:26
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:

function TypedToStr(entry: TAdresse): string; NEWFile ist vom Typ file of TAdresse. Hier der ganze Code der Prozedur

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!

Geändert von Mojito (15. Dez 2012 um 19:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Speichern einer Textdatei

  Alt 15. Dez 2012, 19:07
Es wäre wohl sinniger gewesen, den Code von tempTypeToText zu posten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mojito

Registriert seit: 29. Okt 2012
39 Beiträge
 
#3

AW: Speichern einer Textdatei

  Alt 15. Dez 2012, 20:09
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);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Speichern einer Textdatei

  Alt 15. Dez 2012, 20:25
Das sieht eigentlich OK aus, allerdings hast Du beim write in Deinem zuerst geposteten Code wohl die Parameter verwechselt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 09:42
Außerdem würde ich mit Writeln die einzelnen Bestandteile trennen, sowie die Datei noch mit CloseFile ordentlich abschließen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 11:43
Neben dem fehlenden closefile sollte da eigentlich irgendwo eine Schleife existieren, in der die typisierte Datei eingelesen wird. Das writeln ist nicht unbedingt notwendig wenn bei der Konvertierung ein x0D0A mitgegeben wird.
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Mojito

Registriert seit: 29. Okt 2012
39 Beiträge
 
#7

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 13:29
Wird die typisierte Datei nicht mit:

while not eof(tempFile) do
eingelesen?

Bekomme für das  write(tempTypeToText,tempText); immer noch den Fehler:
[DCC Fehler] UTxt.pas(128): E2054 Ungültiger Typ in Write/Writeln-Anweisung

Muss ich Newfile vielleicht auch erstmal mit AssignFile öffnen oder so?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 13:31
Nö, einfach nur lesen, was andere schreiben oder alternativ in die Hilfe schauen, welche Parameter von welchem Typ da erwartet werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 13:50
Der gepostete Code kann nicht funktionieren.
Du willst also eine Prozedur schreiben, die eine typisierte in eine Textdatei umwandelt.
So geht das

Code:
Ö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
So, und nun solltest Du das mit ein wenig Energie und Google selbst hinbekommen können.
  Mit Zitat antworten Zitat
Mojito

Registriert seit: 29. Okt 2012
39 Beiträge
 
#10

AW: Speichern einer Textdatei

  Alt 16. Dez 2012, 19:18
So, es hat geklappt danke danke.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 06:11 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