| |
|
|
Heinz Bernhard | Hallo, Sebastian ! Zuerst einmal : Ich bin glücklich deine SKControl.Dll nutzen zu dürfen, sie ist suuuper. Mir gefällt die einfache Art der freien Farbauswahl und ich möchte dies auch in mei-nen Progrämmchen an den Nutzer weitergeben, dh. er soll die Farbe der Buttons und des Textes selbst bestimmen können. Eine zusätzliche Spielerei eben. Ich dachte daher daran, die vom Nutzer gewählte Farbe in einer Ini-Datei zu speichern (für 18 Buttons) und beim Programmaufruf einlesen zu lassen.
Button erstellen : Declare BF1$, BF1% BF1% = RGB(0,255,0) Buttonfarbe
So funktioniert alles bestens :
string string#,0 = Test 1& = SKCtrl_CreateColorButton(%Hwnd,string#, RGB(0,0,255), BF1%, 14,15,250,30, %hInstance)
Nun auslesen aus der Ini : BF1$ = Readini$(CrogrammeProfanAuswahl.Ini, Buttonfarbe, 1) Button-farbe 1 einlesen
Hier das Problem : Ich kann im ColorButton ja kein $, sondern nur % einsetzen. Was kansst du mir raten ? Wenn möglich gleich ein paar Befehle angeben.
Herzlichen Dank im voraus, freundl. Grüße Heinz Bernhard |
|
|
| |
|
|
|
RGH | Du mußt den String in ein Integer umwandeln. Dazu gibt es die Funktion Val():
BF1% = Val(Readini$(CrogrammeProfanAuswahl.Ini, Buttonfarbe, 1)) Button-farbe 1 einlesen
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 30.04.2008 ▲ |
|
|
|
|
| Einfache Backslashes - da sind sie wieder.
@Heinz: str$ val |
|
|
| |
|
|
|
RGH | iF
Einfache Backslashes - da sind sie wieder.
Vielleiht baue ich Set(Escape, 2) doch noch in XProfan 11ein ...
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 30.04.2008 ▲ |
|
|
|
|
Heinz Bernhard | Vielen Dank Roland und IF ! Bisherige Versuche leider erfolglos. In der Ini soll RGB(0,255,0) ausgelesen werden. Mit Print BF1% gibt es nur eine 0
Befehl kann BF1% = Str$ Val( ) oder BF1% = Val( ) lauten, Ergebnis ist immer gleich : 0
Freundl. Gruß Heinz Bernhard |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Sebastian König | Hallo Heinz,
noch kurz zur weiteren Erläuterung: RGB() ist eine Funktion, die aus den drei Farbanteilen Rot, Grün und Blau einen LongInt-Wert mit der gemischten Farbe zusammensetzt. Diesen Wert kannst du als String in die INI schreiben und beim Lesen mit Val() wieder in eine Zahl zurückverwandeln (genau dies macht iFs Beispiel). Der String RGB(0,255,0) kann von Val() hingegen nicht als Zahl interpretiert werden (es ist ja eine XProfan-Funktion), sodass Du in dem Fall einfach eine 0 erhältst.
MfG
Sebastian |
|
|
| |
|
|
|
| @Heinz Vielleicht hilft Dir das weiter: KompilierenMarkierenSeparierenSo sieht bei mir ein Farbeintrag in eine INI-Datei aus:
-------------------------------------------------------
[Oberflächen-Farben]
Hintergrund-Rot=230
Hintergrund-Grün=240
Hintergrund-Blau=250
Schrift-Rot=0
Schrift-Grün=0
Schrift-Blau=150
-------------------------------------------------------
So schreibe ich in die INI-Datei:
WRITEINI config_datei$,Oberflächen-Farben,Hintergrund-Rot = r$
WRITEINI config_datei$,Oberflächen-Farben,Hintergrund-Grün = g$
WRITEINI config_datei$,Oberflächen-Farben,Hintergrund-Blau = b$
WRITEINI config_datei$,Oberflächen-Farben,Schrift-Rot = r1$
WRITEINI config_datei$,Oberflächen-Farben,Schrift-Grün = g1$
WRITEINI config_datei$,Oberflächen-Farben,Schrift-Blau = b1$
-----------------------------------------------------
So wird die INI-Datei gelesen:
r$=READINI$(config_datei$,Oberflächen-Farben,Hintergrund-Rot)
g$=READINI$(config_datei$,Oberflächen-Farben,Hintergrund-Grün)
b$=READINI$(config_datei$,Oberflächen-Farben,Hintergrund-Blau)
r1$=READINI$(config_datei$,Oberflächen-Farben,Schrift-Rot)
g1$=READINI$(config_datei$,Oberflächen-Farben,Schrift-Grün)
b1$=READINI$(config_datei$,Oberflächen-Farben,Schrift-Blau)
---------------------------------------------------
Wichtig ist diese Zeile zum Schluss:
r%=VAL(r$):g%=VAL(g$):b%=VAL(b$):r1%=VAL(r1$):g1%=VAL(g1$):b1%=VAL(b1$)
Damit wird der Hintergrund bestimmt:
RGB(r%,g%,b%)
und die Schriftfarbe:
RGB(r1%,g1%,b1%)
Damit kannst Du Deine Buttons auch farblich bestimmen.
|
|
|
| |
|
|
|
Heinz Bernhard | Hallo, ich danke Euch Allen ! ! !
Der für mich entscheidende Hinweis war die Typwandlung vor der Ini-Speicherung - nun klappt es. Danke auch für die Hinweise zur tollen DLL und die ausführliche Speicherung der Farbeinträge in deine Ini. Auch am Schluss wieder die Typwandlung ! OK, nun habe ichs gefressen. Habe ja ähnliche Probleme, des Einlesens aus einer Ini, schon mal in Pixxos [...] programmiert. Diese Sprache ist sehr schnell weil sie kein Waitinput oä. kennt und dadurch den Prozessor ständig mit 100 % schuften läßt. Dies war auch ein Grund zum Umstieg auf XProfan. Nun muss nur noch gelernt werden - soweit Zeit ist. Trotzdem, es macht riesigen Spass. Und diese, unsere, Community ist einfach Spitze - danke an alle Macher und hilfbereite Mitglieder !
Heinz Bernhard |
|
|
| |
|
|