Probleme beim Speichern eines StringGrids (war: Probleme beim Speichern)



  • Hallo,

    ich habe Probleme beim Speichern eines kompletten StringGrids. Am liebsten hätte ich es, wenn ich erst die anzahl der Zeichen in einer Zelle speichere (int 4byte) und dann den AnsiString als c_str() ... meine Funktion schaut so aus:

    bool TFHauptListe::SaveFile(char *FName)
    {
    	int zeile = 1;
    
    	ofstream f(FName, ios::binary);
    	if(f)
    	{
    		for(int i = 1; i < StringGrid1->RowCount; i++)
    		{
    			char tmp[5000];
    			f.write((char*)StringGrid1->Cells[0][zeile].Length(), sizeof(int));
    			//strcpy(tmp, StringGrid1->Cells[0][zeile].c_str();
    
    			f.write(StringGrid1->Cells[0][zeile].c_str(), StringGrid1->Cells[0][zeile].Length());
    			f.write((char*)StringGrid1->Cells[1][zeile].Length(), sizeof(int));
    			f.write(StringGrid1->Cells[1][zeile].c_str(), StringGrid1->Cells[1][zeile].Length());
    
    //			f << StringGrid1->Cells[0][zeile].c_str() << '\0' << StringGrid1->Cells[1][zeile].c_str() << '\0';
    
    			zeile++;
    		}
    		f.close();
    		return true;
    	}
    	else
    		return false;
    
    }
    

    Nur kommt mir ein Zugriffs - Lesefehler auf NULL ... hm??? Der Dateiname wird sauber der Methode übergeben. Was habe ich verkehrt gemacht?

    Genaueres könnt ihr auch dort nachlesen, da ist auch das gesamte Projekt gespeichert: http://www.itt-board.de/forum/index.php?showtopic=75

    Edit:
    Bitte aussagekräftige Überschriften wählen. Danke!
    Und so funktioniert das Syntax Highlighting.



  • Ach, noch eine Frage, wo bekommt man online einen Kurs/Tutorial/Einführung in Datenbanken mit dem Borland Builder. Es muss nix aufregendes sein. Nur eine Einführung, wie man es anstellt ein Projekt mit einer Datenbank anzufangen. Hat jemand vielleicht Literatur, die er empfehlen kann? Aber bitte nur in Verbindung mit dem Borland Builder.



  • Ach, und wie kann ich HTML Code in diesem Forum anzeigen lassen?? Ich hatte meinen Quellcode schön farbig in HTML ... wäre halt angenehmer zu lesen.



  • Hi,
    Zu Frage 2: http://www.home.fh-karlsruhe.de/~brch0018/Welcome.htm#hat mir sehr gut gefallen

    Zu Frage 3: wie man Quellcodes farbig darstellt steht doch unter den Smileys wenn man eine Antwort/Thread schreibt z.b.

    int main()
    {
    return 0;
    };
    

    Zu frage 1: Ich grübel noch 😃



    1. Siehe FAQ unter "StringGrid".
    2. Siehe FAQ unter "Datenbank".
    3. HTML-Code ist im Forum nicht erlaubt. So funktioniert das Syntax Highlighting.
    4. Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Danke!


  • Oh, danke, schaut gut aus :c)

    Ähm, ich meinte nicht, wie ich C/C++ Code darstelle, sondern, wie ich im Forum etwas dargestellen kann, was ich als HTML code zur Verfügung habe. Aber wenn das nicht möglich ist, nutze ich natürlich die code funktionen des forums.

    Sorry für die einfache Ausdrucksweise meines Problems.



  • Im Prinzip habe ich ja auch eine Lösung gefunden. Das Beispiel mit dem kompletten Lesen und Speichern eines StringGrids hatte ich auch gelesen. Eine Angenehmere Lösung wie ich sie zum schluss hatte. Aber ich möchte doch gern wissen, wieso meine Version nicht funzt. Sie muss genauso gehen. Ich möchte es halt gern in diesem Format haben, das erst die Anzahl der Zeichen und dann die Zeichen selbst geschrieben werden. Es soll als Übung dienen. Eine Lösung habe ich ja, wie in dem thread vom itt-board zu lesen ist.

    thx erst mal.


Log in to reply