Fehler in Funktion
-
Hallo
Ich habe eine Funktion, welche mir automatisch die Spaltenbreiten in einem StringGrid anpasst:
void anpassen(void) { for(int i=0; i < StringGrid3->ColCount; i++) { int maxWidth = 0; int width = 0; for(int j=0 ; j < StringGrid3->RowCount; j++) { width=StringGrid3->Canvas->TextWidth(StringGrid3->Cells[i][j])+10; if(width>maxWidth)maxWidth=width; } StringGrid3->ColWidths[i]=maxWidth; } }Nun funktioniert aber diese Funktion ja nur für das StringGrid3!
Ich habe mir gedacht, ich könnte beim Funktionsaufruf der Funktion noch einen String übergeben, in welchem ich sage, um welches StringGrid es sich handelt:void anpassen(String s) { for(int i=0; i < s->ColCount; i++) { int maxWidth = 0; int width = 0; for(int j=0 ; j < s->RowCount; j++) { width=s->Canvas->TextWidth(s->Cells[i][j])+10; if(width>maxWidth)maxWidth=width; } s->ColWidths[i]=maxWidth; } }Der Funktionsaufruf für z.b StringGrid2 lautet dann so:
anpassen("StringGrid2");Wesshalb funktioniert das nicht??

Danke
Alain
-
Schau mal in den FAQ unter 'Zugriff ohne Namen' (oder so ähnlich).
-
Ach, das mit dem Stringparameter ist doch dämlich. Wie wäre es mit einem StringGrid-Zeiger stattdessen?
-
Joe_M. schrieb:
Schau mal in den FAQ unter 'Zugriff ohne Namen' (oder so ähnlich).
dort wirst du deine lösung finden