010
17.06.2006, 23:54 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo,
Zitat von dmueller: |
... Den Aufbau einer Ini Datei sieht doch so aus?
Code: |
[Section] [Ident] = [Value]
|
|
Weiter Oben hab ich das schon geschrieben: Inifile:
[MyValues] A=0 B=0 C=0
Zitat von dmueller: |
Beim Speichern in die Datei da sagt der mir "In kann nicht geschrieben werden", und wenn
|
Öffne mal Dein "test.ami" mit einem Texteditor und füge folgendes ein:
Code: |
[MyValues] ID=0 Typ=0
|
Speichern und schließen. Welchen Typ hben Deine Felder "ID" und "Typ"? Ist "ID" z.B Interger so kanst Du die Methode ReadInteger(...) bzw WriteInteger nutzen. Nun kenne ich die Situation in Deinem Projekt nicht. Wo werden die Daten angezeigt? Ich würde den aktuellen Inhalt der Steuerelemente wegschreiben und dann wieder den Steuerelementen zuordnen. So wie Du das im Moment vorhast, überschreibst Du das DataSet.
Zitat: |
ich das Feld das ich übetragen will leer lasse sagt der mir "Variante des Typs (Null) konnte nicht in Typ (String) umgewandelt werden."
|
Eben, vorher Abfragen ob DBNull sonst einen Defaultwert zuordnen
Zitat: |
Zum Speichern:
C++: |
void __fastcall TForm1::Button5Click(TObject *Sender) { if(strFile == "") { strFile == "test.ami"; //******* Das ist ein Vergleich und keine Zuweisung !!! // Und an welche Stelle schreibt er das? // Besser wie oben den Anwendungspath ermitteln und // die Datei dorthin schreiben } TIniFile* Ini = new TIniFile(strFile); Ini->WriteString("MyValues","ID",Table1->FieldByName("ID")->Value); Ini->WriteString("MyValues","ID",Table1->FieldByName("Typ")->Value);
delete(Ini); }
|
und zum Öffnen:
C++: |
void __fastcall TForm1::Button6Click(TObject *Sender) { if(ParamCount()) { strFile = "test.ami"; TIniFile* Ini = new TIniFile(strFile); Table1->FieldByName("ID")->Value = Ini->ReadString("MyValues","ID",""); // Wenn Integer dann z.B. // Table1->FieldByName("ID")->Value = Ini->ReadInteger("MyValues","ID",0); // geht was schief wird als default 0 zugeordnet. // Wenn die Connection auf true steht, kann(Betonung liegt auf kann) hier Dein DB Wert // übeschrieben werden Table1->FieldByName("Typ")->Value = Ini->ReadString("MyValues","Typ",""); delete(Ini); } }
|
|
Zitat: |
Hab ich jetzt großen Misst gemacht??
|
Nö... Zwischenfrage: Schon mal nachgedacht die Werte in die DB zuschreiben? Z.B. UserID #FK Last_ID LAST_Type -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe Dieser Post wurde am 18.06.2006 um 00:01 Uhr von Uwe editiert. |