AW: Font.Style ins Clientdataset Laden
Weiss ich auch nicht hmmm ????
Habe mal das Versucht
Delphi-Quellcode:
Zeigt mir aber invalid typcast an
FontStyleAsInt := integer(Schaltflaeche.Font.Style);
|
AW: Font.Style ins Clientdataset Laden
Ich geb's auf ... :(
|
AW: Font.Style ins Clientdataset Laden
nein Bitte nicht....
Über diesen schnipsel lade ich einen Button aus der DB
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin clientdataset1.LoadFromFile('C:\Delphi Progs\Menü 2\schaltflaeche.xml'); clientdataset1.First; repeat Schaltflaeche := TButton.Create(Form1); Schaltflaeche.Name:= clientdataset1.FieldValues['name']; Schaltflaeche.Caption:= clientdataset1.FieldValues['Caption']; Schaltflaeche.top:= clientdataset1.FieldValues['top']; Schaltflaeche.Left := clientdataset1.FieldValues['left']; Schaltflaeche.Width := clientdataset1.FieldValues['Width']; Schaltflaeche.Font.Style := integer(Schaltflaeche.Font.Style);//Hier sagt er invalid Typcast Schaltflaeche.parent := Self; Schaltflaeche.PopupMenu := popupmenu1; Schaltflaeche.OnContextPopup := SchaltflaecheContextPopup; Schaltflaeche.OnMouseDown := SchaltflaecheMouseDown; Schaltflaeche.OnMouseMove := SchaltflaecheMouseMove; Schaltflaeche.OnMouseup := SchaltflaecheMouseup; Clientdataset1.Next; until CLientdataset1.Eof; Umbenennen := nil; end; Und dann will ich wärend der Laufzeit Buttons erstellen und speicher sie in die DB hiermit
Delphi-Quellcode:
procedure TForm1.SchaltflaecheHinzufuegen1Click(Sender: TObject);
begin Schaltflaeche := TButton.Create(Form1); Schaltflaeche.Name := 'Schaltflaeche'+inttostr(clientdataset1.RecordCount+1); Schaltflaeche.Caption := Schaltflaeche.name; Schaltflaeche.Parent := Self; Schaltflaeche.Top := 50; Schaltflaeche.Width := 100; Schaltflaeche.Left := 50; Schaltflaeche.Font.Style :=[fsbold]; Schaltflaeche.PopupMenu := PopupMenu1; Schaltflaeche.OnContextPopup := SchaltflaecheContextPopup; Schaltflaeche.OnMouseDown := SchaltflaecheMouseDown; Schaltflaeche.onMouseMove := SchaltflaecheMouseMove; Schaltflaeche.onMouseUp := SchaltflaecheMouseUp; clientdataset1.Insert; Clientdataset1.FieldByName('name').AsString:= Schaltflaeche.name; clientdataset1.FieldByName('Caption').AsString:=Schaltflaeche.Caption; clientdataset1.FieldByName('top').AsInteger:= Schaltflaeche.top; clientdataset1.FieldByName('left').AsInteger:= Schaltflaeche.Left ; clientdataset1.FieldByName('width').AsInteger:= Schaltflaeche.width ; clientdataset1.FieldByName('Height').AsInteger:= Schaltflaeche.Height ; clientdataset1.FieldByName('Fontname').AsString:= Schaltflaeche.font.Name ; clientdataset1.FieldByName('Fontsize').AsInteger:= Schaltflaeche.Font.Size ; clientdataset1.FieldByName('Fontstyle').AsInteger:=//??? Clientdataset1.post; end; |
AW: Font.Style ins Clientdataset Laden
Zitat:
Nja, entweder man nimmt Ord, daß vom Compiler in seiner größe angepasst wird, oder du mußt einen Integer.Typ nehmen, der genau so groß ist, in Bytes, wie der umzuwandelnde Typ. |
AW: Font.Style ins Clientdataset Laden
Schaltflaeche Hinzufuegen.click wird dann während der Laufzeit ausgeführt. Es wird ein TButton erstellt und anschliessend diese daten in eine xml abgespeichert. Nunmehr kann mann später diese button über xml laden und auch wenn nötig bearbeiten.
Mousedown und move....... sind die Proceduren die der Button dann ausführen kann. Wie gesagt er zeigt mir in der genannten reihe invalid typcast an. |
AW: Font.Style ins Clientdataset Laden
So Ich denke ich Habe Jetzt eine Lösung Gefunden
Zum laden aus der XML Geht der Code
Delphi-Quellcode:
var
FontWertAusXml: Byte; FontStyle: TFontStyles; begin FontWertAusXml := StrToInt(clientdataset1.FieldByName('Fontstyle').Asstring); Move(FontWertAusXml, FontStyle, SizeOf(FontStyle)); Schaltflaeche.Font.Style := FontStyle; end; Zum Speichern in die XML Geht der Code
Delphi-Quellcode:
Der Tip mit den Bytes war Supi wieder etwas dazugelernt.
var
FontWertInXml: Byte; FontStyle: TFontStyles; begin FontStyle := Schaltflaeche.Font.Style; Move(FontStyle, FontWertInXml, SizeOf(FontWertInXML)); Clientdataset1.FieldByName('Fontstyle').Asstring:= IntToStr(FontWertInXml); end; Ihr Seid die Besten :-D:-D:-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz