![]() |
TColorscheme als String
Hi Leuet,
in was muss ein Strin konvertiert werden um als ColorScheme zu übergeben ? Grüße |
Re: TColorscheme als String
Hi,
eine kleine Bitte vorab, etwas mehr Zeit beim Schreiben nehmen und dafür bessere Rechtschreibung und mehr Information verwenden. Das spart zum Schluß eh Zeit, da das nachfragen wegfällt. In was ein String konvertiert werden muss um als TColorScheme übergeben werden zu können? Na ja, in ein TColorScheme natürlich. Da mir TColorScheme nichts sagt und auch meine Hilfe nichts dazu findet und ich einfach mal davon ausgehe, dass Deine eigentliche Frage sich auf das Wie bezieht, fehlt hier ganz klar eine Menge Informationen. Was genau möchtest Du denn machen? An wen möchtest Du einen String als TColorScheme übergeben und in welcher Unit (welcher Komponente) ist TColorScheme zu finden? Gruß Der Unwissende |
Re: TColorscheme als String
Wenn die ColorSchemes der XiButtons gemeint sind. die sind so definiert:
Delphi-Quellcode:
Da könnte man nur über die Ordnungszahl rankommen, mit String wird das nichts.
TColorScheme = (csNeoDesert, csNeoSky, csNeoGrass, csNeoSilver, csNeoRose, csNeoSun,
csDesert, csGrass, csSky, csSun, csRose, csSilver, csCustom); |
Re: TColorscheme als String
Zitat:
|
Re: TColorscheme als String
naja, einfach mal in den Units (XIButtons.pas) mal nachgrasen, wie der gesetzt wird, das kann schon hilfreich sein ;)
|
Re: TColorscheme als String
Hallo,
ja es handelt sich um XIButtons. Wie meinst du das mit Ordungszahlen? |
Re: TColorscheme als String
Die einzelnen Schemes haben doch eine Position in der Deklaration.
Delphi-Quellcode:
ergibt z.B. 0 (null), das nächste wäre 1 usw.
Ord(csNeoDesert)
Nun müsste man über ColorSchemes[0] ja csNeoDesert zuweisen können oder so in der Art. Das hieße, den String in die entsprechende Ordnungszahl umsetzen. Wäre jedenfalls meine Idee dazu. |
Re: TColorscheme als String
Delphi-Quellcode:
Nun brauchst du nur nachzusehen, an welcher Position dein String steht und du hast die "Nummer" des ColorSchemes ;)
const
ColorSchemeStrings: Array[0..12] of String = ('csNeoDesert', 'csNeoSky', 'csNeoGrass', 'csNeoSilver', 'csNeoRose', 'csNeoSun', 'csDesert', 'csGrass', 'csSky', 'csSun', 'csRose', 'csSilver', 'csCustom'); |
Re: TColorscheme als String
Vielen Dank, werd ich probieren :-)
|
Re: TColorscheme als String
Ich hatte etwas Zeit, hier ne Beispiel-Unit:
Delphi-Quellcode:
Es funktioniert :lol:
unit testUnit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XiButton; type TForm1 = class(TForm) XiButton1: TXiButton; Edit1: TEdit; procedure XiButton1Click(Sender: TObject); private function GetColorScheme(s: String): TColorScheme; public { Public-Deklarationen } end; var Form1: TForm1; const ColorSchemeStrings: Array[0..12] of String = ('csNeoDesert', 'csNeoSky', 'csNeoGrass', 'csNeoSilver', 'csNeoRose', 'csNeoSun', 'csDesert', 'csGrass', 'csSky', 'csSun', 'csRose', 'csSilver', 'csCustom'); implementation {$R *.dfm} function TForm1.GetColorScheme(s: String): TColorScheme; var i, x: Integer; begin x:=-1; for i:=0 to 12 do if s = ColorSchemeStrings[i] then x:=i; if x > -1 then case x of 0: Result:=csNeoDesert; 1: Result:=csNeoSky; 2: Result:=csNeoGrass; 3: Result:=csNeoSilver; 4: Result:=csNeoRose; 5: Result:=csNeoSun; 6: Result:=csDesert; 7: Result:=csGrass; 8: Result:=csSky; 9: Result:=csSun; 10: Result:=csRose; 11: Result:=csSilver; 12: Result:=csCustom; end; end; procedure TForm1.XiButton1Click(Sender: TObject); begin XiButton1.ColorScheme:=GetColorScheme(Edit1.Text); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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