Deutsch
SKControl.DLL

ColorButton und Ini

 

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
 
XProfan-Version 10+11
Betriebssystem Win7
30.04.2008  
 




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 
 
30.04.2008  
 




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
 
XProfan-Version 10+11
Betriebssystem Win7
30.04.2008  
 




KompilierenMarkierenSeparieren
ungetestet aber sollte...
 
30.04.2008  
 




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
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
01.05.2008  
 



@Heinz
Vielleicht hilft Dir das weiter:
KompilierenMarkierenSeparieren
So 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.
 
01.05.2008  
 




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
 
XProfan-Version 10+11
Betriebssystem Win7
01.05.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.705 Betrachtungen

Unbenanntvor 0 min.
Sven Bader22.11.2023
Uwe Lang11.02.2023
Walter08.10.2019
Axel Berse03.03.2019
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie