![]() |
Problem mit record
Ich brauche ein ein mehrdimensionales array, indem ich die eigenschaften font und color einspeichere.
hier die deklaration:
Delphi-Quellcode:
Mein Problem: wie kann ich überprüfen ob der wert in ca[x,y].font schon gesetzt ist,
type
Tcell_attributes = array of array of Record Font : Tfont; color : Tcolor; end; //... var ca : Tcell_attributes; //... ca[x,y].font := // . . . also ob da schon was reingeschrieben wurde -? |
Re: Problem mit record
Auf Nil prüfen bzw. Assigned()
|
Re: Problem mit record
ich habe verucht die länge des arrays zu bestimmen, allerdings stürzt meine Anwendung dann auch immer ab
etwa so
Delphi-Quellcode:
setlength(ca1,stringgrid1.Colcount);
for x := 1 to stringgrid1.Colcount-1 do setlength(ca1[x], stringgrid1.RowCount); |
Re: Problem mit record
nil geht leider nicht - ich probier mal assigned
|
Re: Problem mit record
funktioniert leider nicht . . .
|
Re: Problem mit record
Liste der Anhänge anzeigen (Anzahl: 1)
assignd funktioniert allerdings geht der code nicht richtig . . .
also ich versuche alle Zellen in einem Stringgrid mit font und color eigenschaften zu belegen. mit color funktioniert das wunderbar - allerdings nicht mit font.
Delphi-Quellcode:
das problem : wenn ich eine zelle anklicke, das popupmenü öffen und denn auf 'schriftarten bearbeiten' klicke wird der font wert stdfont nicht richtig in den fontdialog1 eingefügt.procedure Temaske_excel.Schriftartbearbeiten1Click(Sender: TObject); begin if Assigned(ca1[stringgrid1.Col,stringgrid1.Row].font) then fontdialog1.Font := ca1[stringgrid1.Col,stringgrid1.Row].font else fontdialog1.Font := stdfont; if fontdialog1.Execute then begin ca1[stringgrid1.Col,stringgrid1.Row].font := fontdialog1.Font; end; end; der fontdialog1 sollte dann doch eigentlich stdfont anzeigen, oder? in der oncreate definiere ich stdfont so:
Delphi-Quellcode:
stdfont := Fontdialog1.font;
|
Re: Problem mit record
Zitat:
|
Re: Problem mit record
ahh daddy hat ahnung!(cool) wie bekomme ich das hin? muss ich da mit create arbeiten?
|
Re: Problem mit record
Haargenau, Du musst eine Klasse erst instanziieren. Vergiss aber bitte nicht, den belegten Speicher zum Schluss wieder freizugeben.
|
Re: Problem mit record
villeicht noch ein kleines Beispiel . . .
das ist doch ein array - muss ich jedes element einzelnd createn d.h. für die ganze Matrix einzelnd?`oder gibts ne lösung das besser hinzubekommen. Was ist mit font selber - muss ich auch ein tfont objekt erzeugen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz