Autore Topic: [Risolto] Come implementare una form di conferma  (Letto 3016 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
[Risolto] Come implementare una form di conferma
« il: 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!
« Ultima modifica: 18 Marzo 2012, 01:02:50 da Franco_da_vc »
Bye by Afo

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #1 il: 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.
Buon lavoro e divertimento.  ;D
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #2 il: 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
« Ultima modifica: 19 Marzo 2012, 19:39:44 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 fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #3 il: 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

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #4 il: 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.
« Ultima modifica: 17 Marzo 2012, 19:43:15 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 fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #5 il: 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)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #6 il: 18 Marzo 2012, 01:00:07 »
E' vero, questa soluzione è veramente sbrigativa e veloce, ma al contempo molto elegante.

Grazie!
« Ultima modifica: 18 Marzo 2012, 01:03:18 da Franco_da_vc »
Bye by Afo

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #7 il: 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?
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #8 il: 19 Marzo 2012, 19:41:25 »
a  me su gambas3 con le qt funziona

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #9 il: 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
« Ultima modifica: 19 Marzo 2012, 20:01:38 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 Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #10 il: 19 Marzo 2012, 19:46:48 »
Ok, adesso va. Grazie. :ok:
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #11 il: 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

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [Risolto] Come implementare una form di conferma
« Risposta #12 il: 19 Marzo 2012, 19:55:05 »
Interessante, fsurfing, questa tua soluzione:
application.version
« 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 dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Come implementare una form di conferma
« Risposta #13 il: 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?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Come implementare una form di conferma
« Risposta #14 il: 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