Autore Topic: Salvare lo sfondo.  (Letto 1732 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Salvare lo sfondo.
« il: 11 Settembre 2019, 13:51:44 »
 :ciao:
Vorrei salvare lo sfondo della finestra principale.
Lo carico con:
Codice: [Seleziona]
  Me.picture = Picture.load("kicco.jpg")

e tento di salvarlo nel file di configurazione con:
Codice: [Seleziona]
Settings["Sfondo"] = Me.Picture  ???
Che non funziona!
Pensavo di usare Me.picture(image. ....).
Ma forse sono sulla strada sbagliata!  :'(
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline cogier

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #1 il: 11 Settembre 2019, 16:18:13 »
Mettere l'immagine nella cartella del programma. Rimarrà quindi con il programma.


Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #2 il: 11 Settembre 2019, 16:25:01 »
Grazie cogier per la risposta.
In realtà ho scritto un esempio compatto, forse un po' troppo!
Nel programma reale lo sfondo può essere sostituito e alla chiusura del programma devo scrivere nel file di configurazione (quello generato da gb.Settings) il nome dello sfondo e la relativa path.
Grazie ancora!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.403
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #3 il: 11 Settembre 2019, 16:37:41 »
e tento di salvarlo nel file di configurazione con:
Codice: [Seleziona]
Settings["Sfondo"] = Me.Picture  ???
Che non funziona!
Non può funzionare, poiché Settings[ ] non può ricevere alcun valore per mezzo dell'operatore di assegnazione.
« Ultima modifica: 11 Settembre 2019, 17:20:36 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #4 il: 11 Settembre 2019, 16:44:46 »
Citazione
Settings[ ] non può ricevere alcun valore per mezzo dell'operatore di assegnazione.
L'operatore di assegnazione è il simbolo = (uguale)?
Se così fosse però in tutte le altre operazioni, come ad esempio:
Citazione
Settings["nome"]= TextBox1.text
che funziona!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.403
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #5 il: 11 Settembre 2019, 16:57:47 »
:-\
« Ultima modifica: 11 Settembre 2019, 17:21:00 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.403
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #6 il: 11 Settembre 2019, 17:18:08 »
Tu vuoi una cosa come questa ?

Codice: [Seleziona]
Public Sub Form_Open()

   Dim pc As Picture

   Me.Picture = Picture.Load("/percorso/del/file/immagine")
   
   Settings["chiave"] = Me.Picture
 
   pc = Settings["chiave"]
 
   pc.Save("/tmp/nuovo/file/immagine.png", 100)

End
« Ultima modifica: 11 Settembre 2019, 17:19:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #7 il: 11 Settembre 2019, 18:26:05 »
la questione è che il comnado:
Codice: [Seleziona]
 Settings["chiave"] = Me.Picture
nel file di configurazione, mi scrive solo:
Citazione
chiave=""
correzione:
Citazione
chiave= 
:-\
« Ultima modifica: 11 Settembre 2019, 18:56:25 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #8 il: 11 Settembre 2019, 19:02:51 »
Se qualcuno volesse giocare.... :P
allego il grande progetto!!!

Questo è il risultato che trovo in .config/gambas3/Salva_sfondo.conf
Citazione
[General]
Sfondo=
:ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.164
  • Tonno verde
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #9 il: 11 Settembre 2019, 19:29:20 »
Controlla perchè non l'ho verificato.
Se fai così di default dovrebbe caricare lo sfondo iniziale, ma se nel corso del programma lo cambi al prossimo avvio ottieni il nuovo sfondo.
Almeno credo.

Codice: [Seleziona]
Private sPath As String = "./Appropriately-Left-Handed-2.jpg"

Public Sub Form_open()

      sPath = Settings["Sfondo/Path", sPath]
      Me.picture = Picture.load(sPath)

End

Public Sub Form_Close()

      Settings["Sfondo/Path"] = sPath
      Settings.save

End

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.164
  • Tonno verde
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #10 il: 11 Settembre 2019, 19:42:44 »
Si funziona l'ho verificato, vedi esempio allegato

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #11 il: 11 Settembre 2019, 20:15:54 »
Stavo proprio scrivendotelo:
FUNZIONA!
 :-*
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.403
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #12 il: 11 Settembre 2019, 23:23:15 »
...ma quindi a te interessava semplicemente salvare in Settings il percorso del file immagine ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.403
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #13 il: 12 Settembre 2019, 00:35:23 »
...ad ogni modo Settings puoi usarlo anche per salvare direttamente i dati dell'immagine prescelta.

Ti mostro un breve esempio didattico:
Codice: [Seleziona]
Public Sub Form_Open()

' Salviano i dati dell'immagine mediante "Settings":
  Settings["immagine"] = File.Load("/percorso/del/file/immagine")
 
  Settings.Save
 

' Ora carichiamo i dati dell'immagine precedentemente salvata con "Settings",
' e mostriamo l'immagine in una "PictureBox":
  PictureBox1.Image = Image.FromString(Settings["immagine"])

End
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.709
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Salvare lo sfondo.
« Risposta #14 il: 12 Settembre 2019, 13:19:36 »
Sì Vuott questa era la soluzione che andavo cercando!
 :)
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)