ein paar Fragen...



  • mmm, aber ich möchte nicht nur den pfad speichern, sondern auch die Position wo der Button hinkommt usw...
    speicher ich es dann nicht besser als struct in dateien hab ?
    ich hab jetzt mal rumprobiert...und so kann ich es abspeichern:

    using namespace std;
    struct Auto {
    String Marke;
    String Typ;
    Integer PS;
    };
    Auto s_auto;
    fstream File("Autos.dat", ios::out|ios::binary);

    s_auto.Marke = "Marke";
    s_auto.Typ = "Typ";
    s_auto.PS = 360;

    if (File.is_open())
    {
    File.write((const char*)&s_auto, sizeof(s_auto));
    }
    }
    File.close();

    das funktioniert auch...aber ich weiß nicht wie ich die Datensätze wieder lesen kann

    ich habs so probiert:

    File.open("Autos.dat", ios::in|ios::binary);
    if (File.is_open())
    {
    while (File.read((char*)&s_auto, sizeof(s_auto)))
    ShowMessage(s_auto.Marke);
    }

    aber das gibt ein ausnahmefehler...

    kann mir jemand helfen ?

    danke
    johannes



  • bzw. das produziert eine zugriffsverletzung in der ntdll.dll...



  • Johannes2002,

    Johannes2002 schrieb:

    ...kann ich mit SaveToFile auch Struktur in den Dateien haben ? also wie kann ich dann wieder auf bestimmte datensätze zugreifen...

    es gibt zwei einfache Varianten, Struktur zu erzeugen:

    1. die einzelnen Daten durch Kommata oder so getrennt in die Text-Datei schreiben
      Info1, Info2, Info3
      Info1, Info2, Info3
      Info1, Info2, Info3
      ...

    2. jede Info in eine extra Zeile der Text-Datei schreiben
      Info1
      Info2
      Info3
      Info1
      Info2
      Info3
      ...



  • Windoof schrieb:

    Also Struktur kannst du nicht wirklich einbringen.

    warum nicht ?



  • @Andreas W:

    Na dann erklär mit mal, wie du mit SaveToFile() Struktur einbringen willst, wenn dann musst du die Struktur in der StringListe schon haben, aber du kannst keine richtige Struktur erzeugen.

    @Johannes2002:

    Oder du nimmst TIniFile (inifiles.hpp):

    TIniFile* ini=new TIniFile("C:\\ini.ini");
    TStrings* SectionList=new TStrings;
    ini->ReadSections(SectionList);
    for (int i=0;i<SectionList->Count;i++)
    {
            ListBox1->Items->Add(ini->ReadString(SectionList->Strings[i],"Name","-"));
            ListBox2->Items->Add(ini->ReadString(SectionList->Strings[i],"Pfad","C:\\"));
    }
    

    Oder du schreibst alle Infos in anderen Textdateien untereinander, z.B. Dateinamen.txt, Pfade.txt, Groessen.txt, usw.



  • Windoof schrieb:

    @Andreas W:

    Na dann erklär mit mal, wie du mit SaveToFile() Struktur einbringen willst...

    done.



  • Wo ist da die Funktion SaveToFile() aufgeführt?



  • void SaveToFile()
    {
    TFileStream* stream=new TFileStream("C:\\test.dat",fmCreate); 
       Auto car; 
      car.Nummber=122; 
      strcpy(car.Marke,"Audi"); 
      strcpy(car.Typ,"Kombi"); 
      car.PS=180; 
       stream->Write((void*)&car,sizeof(car)); 
     delete Stream;
    }
    

    so besser ?



  • Ich meine auch nicht deine Funktion "SaveToFile()", sondern die "TStrings::SaveToFile()".



  • hallo

    zu deiner frage wegen arbeitsplatz und netzwerkumgebung.
    das funkt deshlab nicht, weil das keine dateien oder ordner sind.
    die sehen nur so aus. solche ordner kannst auch selber erzeugen.
    erstell mal folgenden ordner:"test.{208D2C60-3AEA-1069-A2D7-08002B30309D}"

    der string, der rechts vom punkt steht wird CLSID genannt, und damit identifiziert windows den ordner als netzwerkumgebung(zumindest bei win2k).

    ob man solche "ordner" irgendwie per drag´n´drop uebernehmen kann, hab ich keine ahnung.

    @Windoof : wieso versteifst du dich so auf dein SaveToFile ? Johannes2002 will einfach seine daten speichern. das das unbedingt mit TStrings laufen soll, hab ich niergendwo gelesen.

    Meep Meep



  • Nein, aber es ist die einfachste Methode. Vielleicht nicht die schnellste, vielleicht auch nicht unbedingt die idealste, aber die verständlichste. 😃

    Naja egal, ich hab mich auch nicht drauf versteift, aber er hat gefragt, ob man mit SaveToFile (von TStrings) Struktur einbringen kann, und das geht aber nunmal nicht wirklich, man kann nur String-Listen abspeichern und keine Tabellen, die müsste man sich selbst basteln. Dass er diese unbedingt verwenden soll, hab ich nie gesagt, sondern ich hab sie nur vorgeschlagen.


Anmelden zum Antworten