StringGrid -- speichern !!
-
Beim laden einer Tabelle erstellet builder -1.0 mit folgenden quellcode eine tabelle !!
void __fastcall TMDIChild::GetTable (String DateiName) { int anzahl, zeilen, spalten; RichEdit1->Hide (); // verstecken vom RichEdit Image1->Hide (); // -"- -"- Image StringGrid1->Show (); // nur StringGrid soll man sehen, alles andere ist egal TStringList *Tabelle; Tabelle = new TStringList; Tabelle->LoadFromFile (DateiName); // laden der tabelle // der folgene teil ist mir NOCH nicht verstanden !! is net mein quell code ;-( anzahl = Tabelle->Count; zeilen = StrToInt (Tabelle->Strings[anzahl-2]); spalten = StrToInt (Tabelle->Strings[anzahl-1]); StringGrid1->RowCount = zeilen; StringGrid1->ColCount = spalten; for (int i=0; i<zeilen; i++) for (int j=0; j<spalten; j++) { StringGrid1->Cells[j][i] = Tabelle->Strings[i*spalten+j]; }
und bei der speicherabfrage versuche ich dann das grid zu speichern !! mit der for schleife ??
und wie mache ich das dann ??
mit folgenden beispiel funzt's net!!!TMDIChild *Child = (TMDIChild *)ActiveMDIChild; if( Child->RichEdit1->Visible ) { if( SaveDialog1->Execute() ) { Child->RichEdit1->Lines->SaveToFile( SaveDialog1->FileName ); } } else if( Child->Image1->Visible ) { if( SaveDialog1->Execute() ) { Child->Image1->Picture->SaveToFile( SaveDialog1->FileName ); } } else if( Child->StringGrid1->Visible ) { if( SaveDialog1->Execute() ) { Child->StringGrid1->Lines->SaveToFile( SaveDialog1->FileName ); } }
wie speichere ich das array ab ?!?!
thxHubertS.
-
Du baust dir einfach ein Schleife, die den Inhalt der einzelnen Spalten und Zeilen ausliest, schreibst diese Werte in eine StringList, haengst an das Ende der StringList noch die Anzahl der Zeilen und Spalten und speicherst die StringList am Ende unter dem Namen ab, der im OpenDialog angegeben wurde.
MfG Aoeke
-
Siehe FAQ.