Gambas-it

Gambas3 => Programmazione => Topic aperto da: dex - 26 Marzo 2020, 13:43:34

Titolo: [Risolto] Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 13:43:34
mi sono incartato con i colori
devo settare dei colori a un pannello
il codice colore è contenuto in un arrai string M1.PanOpe[4] il contrenuto è &005FFF87

se provo con
Codice: [Seleziona]
Panoperatore.Background = &005FFF87
funziona
con
Codice: [Seleziona]
Panoperatore.Background = M1.PanOpe[4]
errore cercato integer

come trasformo la stringa in codice colore?

inoltre come posso aprire dal mio programma la finestra colori di sistema?
 
Titolo: Re:Settare colori da codice
Inserito da: kicco - 26 Marzo 2020, 13:59:03
Credo che ti basti dichiarare il tuo array come integer!
 :ciao:
PS: &005FFF87 è un numero intero espresso in esadecimale.
Titolo: Re:Settare colori da codice
Inserito da: Gianluigi - 26 Marzo 2020, 15:45:17
il contrenuto è &005FFF87
Verde padano?  :o  Se lo scopre vuott te la vedi brutta!
Citazione
inoltre come posso aprire dal mio programma la finestra colori di sistema?
Non puoi usare Dialog.Color  ???
Titolo: Re:Settare colori da codice
Inserito da: Top Fuel - 26 Marzo 2020, 16:06:27
Ti basta convertire la stringa in Integer, semplice semplice.
Titolo: Re:Settare colori da codice
Inserito da: Gianluigi - 26 Marzo 2020, 16:44:08
Ti basta convertire la stringa in Integer, semplice semplice.
Non è così semplice in quanto Gambas tratta, diciamo così, "solo apparentemente" i valori dei colori come integer. Ti consiglio di fare una prova pratica usando un array di stringhe.
A mio modestissimo parere il suggerimento corretto lo ha dato kicco

 :ciao:
Titolo: Re:Settare colori da codice
Inserito da: cogier - 26 Marzo 2020, 17:26:22
Prova a eseguire questo codice: -

Codice: [Seleziona]
Button1 As Button
TextArea1 As TextArea
iCount As Integer

Public Sub Form_Open()

  Dim HBox1 As HBox

  With Me
    .Height = 350
    .Width = 350
    .Arrangement = Arrange.Vertical
    .Padding = 5
  End With

  TextArea1 = New TextArea(Me)
  TextArea1.Expand = True

  With HBox1 = New HBox(Me)
    .Height = 40
    .Padding = 4
  End With

  With Button1 = New Button(HBox1) As "Button1"
    .Width = 100
    .Text = "&Click!"
  End With

End

Public Sub Button1_Click()

  Dim sColor As String[] = ["&005FFF87", "&0043802F", "&005913A0", "&00A04F77", "&00000000", "&FFFFFFFF"]

  TextArea1.Background = Val(sColor[iCount])
  Inc iCount
  If iCount > sColor.Max Then iCount = 0

End
Titolo: Re:Settare colori da codice
Inserito da: Gianluigi - 26 Marzo 2020, 17:32:26
Prova a eseguire questo codice: -

Codice: [Seleziona]
TextArea1.Background = Val(sColor[iCount])

Mi hai giusto anticipato, stavo cambiando la mia risposta.
Infatti TopFuel non precisa come cambiare il valore da stringa a integer.
Io avevo inteso e risposto su  l'uso di CInt() che non funziona...

 :ciao:
Titolo: Re:Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 19:36:04
Credo che ti basti dichiarare il tuo array come integer!
 :ciao:
PS: &005FFF87 è un numero intero espresso in esadecimale.

l'array ha altri campi string, ma ho provato a trasformalo in integer con cint, il problema è che non funziona, mette sempre e solo il colore nero
Titolo: Re:Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 19:38:02
il contrenuto è &005FFF87
Verde padano?  :o  Se lo scopre vuott te la vedi brutta!
Citazione
inoltre come posso aprire dal mio programma la finestra colori di sistema?
Non puoi usare Dialog.Color  ???

Non puoi usare Dialog.Color  ???   :hard: :hard:

grazie gianluigi


Titolo: Re:Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 19:43:24
 
Codice: [Seleziona]
TextArea1.Background = Val(sColor[iCount])
  :ok:

grazie raga
Titolo: Re:[Risolto] Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 19:51:09
continuo per un altro aiuto

con
Codice: [Seleziona]
If Dialog.SelectColor() Then Return
 TextBox1.Background = Dialog.Color

setto il colore alla text, ma ha me nella text serve scrivere il codice esadecimale del colore
Titolo: Re:[Risolto] Settare colori da codice
Inserito da: vuott - 26 Marzo 2020, 19:59:36
... scrivere il codice esadecimale del colore

Per questo risultato esiste la nota funzione Hex():

   http://gambaswiki.org/wiki/lang/hex
Titolo: Re:[Risolto] Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 20:00:33
raga scusate ma questi arresti domiciliare mi hanno fatto rinc.........

bastava mettere
Codice: [Seleziona]
If Dialog.SelectColor() Then Return
 TextBox1.Text = Dialog.Color
Titolo: Re:Settare colori da codice
Inserito da: vuott - 26 Marzo 2020, 20:02:22
Mi hai giusto anticipato, stavo cambiando la mia risposta.

Questo succede, quando si fa issare la bandiera della "Superba" ad altri !   :hatecomputer:
Titolo: Re:[Risolto] Settare colori da codice
Inserito da: dex - 26 Marzo 2020, 20:09:53
... scrivere il codice esadecimale del colore

Per questo risultato esiste la nota funzione Hex():

   http://gambaswiki.org/wiki/lang/hex

interessante posso scegliere fra 8 e 16 b.   :ok: