Speichern
-
Hallo,
ich habe hier bei mir ein kleines Problem.
Also ich habe hier ein Programm das mit einem struct läuft.
Das Programm ansich läuft.
Aber ich wollte jetzt alles was in meinem Struct steht in ein File auf die Festplatte schreiben und dies dann auch wieder einlesen könne.
Jedoch schaffe ich dies nicht.
Kann mir da einer helfen?Danke
Mfg
Harry
-
Hallo
Schau in die FAQ hier im Builder-Forum, und benutzt die Suchfunktion hier im Forum nach dem Stichwort *TStringList*.
bis bald
akari
-
Also ich hab jetzt das hier gefunden.
TStringList *list = new TStringList(); list->Add(MeinString); list->SaveToFile("c:\\test.txt"); delete list;Mein struct nennt sich Fahrzeug
Also schaut das bei mir so aus
TStringList *list = new TStringList(); list->Add(Fahrzeug); list->SaveToFile("c:\\sage.dat"); delete list;Jetzt sagt er immer das er das Fahrzeugstruct nicht in Ansistring umwandeln kann.
Wo liegt mein Fehler.
Sry für die doofen fragen.
Bin absolut neu in der Szene muss aber das Programm bis Montag fertig haben.Mfg
-
Hallo
Du must schon die einzelnen Membervariablen von deinem struct jeweils einzelnen in die String-Liste eintragen.
bis bald
akari
-
OK in dem struct steht folgendes
AnsiString Marke; AnsiString Treibstoff; int KM; int Tueren; int Baujahr;Wenn ich das jetzt so schreibe
TStringList *list = new TStringList(); list->Add(Marke); list->SaveToFile("c:\\test.txt"); delete listDann meldet er immer undefined symbol 'Marke'

-
Hallo
Fahrzeug MeinTrabi; TStringList *list = new TStringList(); list->Add(MeinTrabi.Marke); list->Add(MeinTrabi.Treibstoff); list->Add(IntToStr(MeinTrabi.KM)); list->Add(IntToStr(MeinTrabi.Tueren)); list->Add(IntToStr(MeinTrabi.Baujahr)); list->SaveToFile("c:\\test.txt"); delete listAus Gründen der Datenkapselung sollte man diesen Ablauf in einer Methode der Fahrzeug-Klasse auslagern. Sähe dann zum Beispiel so aus
class Fahrzeug { ... AddToList(TStrings* List); }; Fahrzeug::AddToList(TStrings* List) { List->Add(Marke); List->Add(Treibstoff); List->Add(IntToStr(KM)); List->Add(IntToStr(Tueren)); List->Add(IntToStr(Baujahr)); } Fahrzeug MeinTrabi; Fahrzeug MeinFerrari; TStringList *list = new TStringList(); MeinTrabi.AddToList(list); MeinFerrari.AddToList(list); list->SaveToFile("c:\\test.txt"); delete listbis bald
akari
-
Danke erstmal aber so ganz will das noch nicht.
Also bei mir schaut der struct so aus.
Also 100 Fahrzeuge mit jeweils den Daten.
Die struct Nummer heißt dann bei mir iZ
Wie muss ich das dann schreiben?typedef struct { AnsiString Marke; Ansistring Treibstoff; int KM; int Tueren; int Baujahr; } Fahrzeugstruct; Fahrzeugstruct Fahrzeug [100];
-
Hallo
Schleifen wirst du doch hoffentlich noch kennen? Basierend auf dem zweiten Code aus meinem letzten Post :
struct Fahrzeugstruct // typedef ist hier unnötig und veraltet { AnsiString Marke; Ansistring Treibstoff; int KM; int Tueren; int Baujahr; ... }; Fahrzeugstruct Fahrzeug [100]; // ... for (int i = 0; i < 100; i++) Fahrzeug[i].AddToList(list);bis bald
akari
-
Also nochmal für ganz blöde wie mich.
Ich hab jetzt das hier Global deklariert.
struct Fahrzeugstruct { AnsiString Marke; Ansistring Treibstoff; int KM; int Tueren; int Baujahr; ... }; Fahrzeugstruct Fahrzeug [100];soweit richtig?
Danach hab ich dies hier unter dem "Speichern" Button gemacht.
class Fahrzeug { ... AddToList(TStrings* List); }; Fahrzeug::AddToList(TStrings* List) { List->Add(Marke); List->Add(Treibstoff); List->Add(IntToStr(KM)); List->Add(IntToStr(Tueren)); List->Add(IntToStr(Baujahr)); } Fahrzeug MeinTrabi; Fahrzeug MeinFerrari; TStringList *list = new TStringList(); MeinTrabi.AddToList(list); MeinFerrari.AddToList(list); list->SaveToFile("c:\\test.txt"); delete list for (int i = 0; i < 100; i++) { Fahrzeug[i].AddToList(list); }der meldet immer das er list und Marke und die anderen Sachen nicht kennt.
Was mach ich nur falsch?

Tut mir leid für die blöde fragerei.
-
Hallo
Ich empfehle dir dringend erstmal ein C++ Grundlagen-Tutorial durchzuarbeiten und die Sprache C++ in Konsolenprogrammen zu lernen. Denn du sollst meine Codestücke nicht einfach kopieren und irgendwie aneinanderfügen sondern nachdenken und anpassen!
bis bald
akari