Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: Franco_da_vc - 17 Marzo 2012, 12:55:50

Titolo: [Risolto] Come implementare una form di conferma
Inserito da: Franco_da_vc - 17 Marzo 2012, 12:55:50
Ciao a tutti,

ho iniziato a scrivere un po' di codice del mio programma e devo dire che il gamberetto mi piace veramente, inizio a ritrovare il divertimento che provavo scrivendo nel precedente "SuperBasic", ora però mi sono incagliato  :hard: in un problema che non ha trovato ancora risoluzione:

Il mio programma parte in un form, alla pressione di un tasto deve comparire un secondo form di conferma del tipo "Confermi la scelta? Si NO", in un primo tempo ho realizzato un apposita classe con un form associato, il problema era che non sapevo come ritornare alla procedura chiamante il valore di uscita vero o falso.

Ho poi provato vedendo sulla "Guida per principianti Gambas" che si può istituire dei subform ed ho provato a seguire questa strada, ma francamente o io non ho ancora capito bene o il manuale è un pò scarno, il fatto è che questa seconda strada mi sembra meno percorribile della prima.

Non c'è del codice di esempio per una struttura simile a cui io possa ispirarmi?

Saluti a tutti e grazie!
Titolo: Re: Come implementare una form di conferma
Inserito da: Picavbg - 17 Marzo 2012, 13:55:17
Perchè ti occorre una Form modale?. Non basterebbero due pulsanti nella FMain (almeno credo che parli di quella) del tipo RadioButton? Io disegnerei una Frame, dentro di essa inserirei i due RadioButton e nella Frame.Text scriverei Conferma, mentre nelle RadioButton1.Text e  RadioButton1.Text scriverei rispettivamente Si, No.
A parte ciò se vuoi aprire una Form modale è semplicissimmo, ma ti consiglio di leggere qui (http://www.gambas-it.org/smf/index.php?topic=961.msg10565#msg10565).
Buon lavoro e divertimento.  ;D
 :ciao:
Titolo: Re: Come implementare una form di conferma
Inserito da: vuott - 17 Marzo 2012, 14:27:01
Non c'è del codice di esempio per una struttura simile a cui io possa ispirarmi?

..una mezza cosa di 'sto genere ?

Nella classe principale:

Codice: gambas [Seleziona]

Public Sub Button1_Click()

' apri il form secondario:
  Form1.ShowModal

End


Public Sub ritBool(bRit As Boolean)

' a fine esemplificativo vedi in console
' il risultato di ritorno dalla classe secondaria:  
   Print bRit
  
End




Nella classe dell'altro Form secondario:

Codice: gambas [Seleziona]

  b As Boolean   '...variabile globale !

Public Sub Button1_Click()

    b = True

' invii il valore booleano alla routine
' ritBool della classe principale FMain:
   FMain.ritBool(b)
  
  Form1.Close

End

Public Sub Button2_Click()

    b = False

' invii il valore booleano alla routine
' ritBool della classe principale FMain:
   FMain.ritBool(b)
  
  Form1.Close

End
Titolo: Re: Come implementare una form di conferma
Inserito da: fsurfing - 17 Marzo 2012, 18:45:42
anche in questo caso gambas non si fa cogliere inpreparato mettendoci a disposizione una soluzione semplice e pulita.
si può utilizzare la classe message:
Codice: [Seleziona]
dim i as integer

i=message.question("vuoi che vuott venga espulso dal forum?","SI","NO")

if i=1 then
   print "vuott verrà espulso"
else
   print "vuott non verrà espulso"
endif





nb: ogni riferimento a cose o nomi è puramente casuale

 ;D
Titolo: Re: Come implementare una form di conferma
Inserito da: vuott - 17 Marzo 2012, 19:40:07
nb: ogni riferimento a cose o nomi è puramente casuale

 ;D

....tu... :'( tu.... non ami gli Artisti ! :P


...però effettivamente la tua soluzione è più sbrigativa e fa apparire una finestra con tasti da scegliere.
Titolo: Re: Come implementare una form di conferma
Inserito da: fsurfing - 17 Marzo 2012, 19:45:20
Citazione
....tu... Pianto tu.... non ami gli Artisti ! Linguaccia

ehe eh eh eh .. ultimamente non vedo più cesko sul forum così devo stuzzicare qualcun altro....

Citazione
...però effettivamente la tua soluzione è più sbrigativa e fa apparire una finestra con tasti da scegliere.
si infatti, inoltre i pulsanti possono essere più di 2 , possono cointenere qualsiasi testo , e il tutto vale per qualsiasi tipologia di message (info, question, error ecc)
Titolo: Re: Come implementare una form di conferma
Inserito da: Franco_da_vc - 18 Marzo 2012, 01:00:07
E' vero, questa soluzione è veramente sbrigativa e veloce, ma al contempo molto elegante.

Grazie!
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: Top Fuel - 19 Marzo 2012, 19:24:23
Mi aggancio a questo topic visto che se ne parla.
Nella famigerata applicazione della tombola vorrei mettere il solito messaggio di presentazione al lancio dell'applicazione:
Codice: [Seleziona]
STATIC PUBLIC SUB Form_Open()
Message.Info("Tombola! V. 1.0.1\\nby TopFuel&Milio 2012", "Ok")
END
Però non viene visualizzato nulla. Dove sbaglio?
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: fsurfing - 19 Marzo 2012, 19:41:25
a  me su gambas3 con le qt funziona
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: vuott - 19 Marzo 2012, 19:42:22
Però non viene visualizzato nulla. Dove sbaglio?

Togli "STATIC"

Aggiungo che se vuoi andare a capo devi togliere un  \  da "\\n" !

Riassumendo:
Codice: gambas [Seleziona]

PUBLIC SUB Form_Open()
  Message.Info("Tombola! V. 1.0.1\nby TopFuel&Milio 2012", "Ok")
END


...oppure così:
Codice: gambas [Seleziona]

PUBLIC SUB Form_Open()
  Message.Info("Tombola! V. 1.0.1" & chr(10) & "by TopFuel&Milio 2012", "Ok")
END


In alternativa puoi usare il codice html: <BR> (ma devi aver attivato gb.qt4):
Codice: [Seleziona]
PUBLIC SUB Form_Open()
  Message.Info("Tombola! V. 1.0.1<BR>by TopFuel&Milio 2012", "Ok")
END
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: Top Fuel - 19 Marzo 2012, 19:46:48
Ok, adesso va. Grazie. :ok:
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: fsurfing - 19 Marzo 2012, 19:51:03
bravo vuott! io non avevvo visto il static  ;D

cmq io scriverei così:
Codice: gambas [Seleziona]

    PUBLIC SUB Form_Open() 
     Message.Info("Tombola! V. " & application.version & "\nby TopFuel&Milio 2012", "Ok") 
    END 

cos' non devi modificare la versione ogni volta
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: vuott - 19 Marzo 2012, 19:55:05
Interessante, fsurfing, questa tua soluzione:
application.version
Titolo: Re: Come implementare una form di conferma
Inserito da: dex - 02 Aprile 2012, 01:09:41
Citazione
ehe eh eh eh .. ultimamente non vedo più cesko sul forum così devo stuzzicare qualcun altro....

Che fine ha fatto il cesko?
Titolo: Re: Come implementare una form di conferma
Inserito da: Ceskho - 10 Aprile 2012, 15:57:31
Citazione
ehe eh eh eh .. ultimamente non vedo più cesko sul forum così devo stuzzicare qualcun altro....

Che fine ha fatto il cesko?

Dopo 10 ore di lavoro difficilmente accendo il pc...in realtà son vivo, purtroppo per voi....:D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: md9327 - 10 Aprile 2012, 16:29:11
Bè, si potrebbe risolvere il problema una volta per tutte...  ;D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: Ceskho - 10 Aprile 2012, 17:49:30
Bè, si potrebbe risolvere il problema una volta per tutte...  ;D

Nel senso che mi licenzio o nel senso che devo morire?  :rotfl:
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: dex - 10 Aprile 2012, 19:22:50
Bè, si potrebbe risolvere il problema una volta per tutte...  ;D

L'idea è buona...   ;D ;D ;D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: md9327 - 16 Aprile 2012, 13:40:58
Puoi scegliere... Ma un pò morticino sarebbe meglio...  ;D

Scherzoooooooooo!!!... (forse...)  ;D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: Ceskho - 17 Aprile 2012, 10:49:22
Puoi scegliere... Ma un pò morticino sarebbe meglio...  ;D

Scherzoooooooooo!!!... (forse...)  ;D

Tu sei come quelle mogli che vorrebbero il marito morto ma poi non lo lasciano andare al bar con gli amici in caso un'altra se lo frega.... :rotfl:
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: md9327 - 17 Aprile 2012, 15:56:58
Ohhh, si caro...  :-*
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: sotema - 17 Aprile 2012, 16:02:28
Citazione
...non lo lasciano andare al bar con gli amici in caso un'altra se lo frega....

Non è perchè un'altra se lo frega...è che poi tornano ubriachi e con strani appetiti... ;D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: md9327 - 17 Aprile 2012, 16:04:02
Azz... Aeoh!!! Io la moglie ce l'ho già! E poi ceskho è pure brutto...  ;D
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: Ceskho - 19 Aprile 2012, 11:44:40
Azz... Aeoh!!! Io la moglie ce l'ho già! E poi ceskho è pure brutto...  ;D

Ehi bello, non vorrei deluderti ma io sono il nerd-eccezione che conferma la regola... 8)
Titolo: Re: [Risolto] Come implementare una form di conferma
Inserito da: md9327 - 19 Aprile 2012, 14:04:28
Marò, mi viene da v...  :bad:

 ;D


P.S.: forse siamo iti un pò fuori argument...  :D