Autore Topic: showpopup  (Letto 1166 volte)

Offline DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
showpopup
« il: 14 Settembre 2018, 12:27:30 »
Buongiorno a tutti, sto muovendo i primi passi con visual basic e mi sto allenando usando gambas3. Ai superiori ho studiato altri programmi, ma dopo 20 anni sono un po' arrugginito.

Vorrei chiedere una cosa e ringrazio anticipatamente a chi vorrà dedicare il suo tempo a rispondermi: :-*

Avendo problemi con le finestre dei form chi va in primo piano e chi in secondo, ho fatto un test per mettere un form in primo piano usando la funzione showpopup. L'ho usato per testare l'uso di una progress bar. Essa quando finisce il processo rimane in evidenza e non si chiude nonostante abbia provato hide, close ecc, ho provato pure delete, ma crasha direttamente tutto il programma. Lo sviluppatore mi ha passato un link di modifiche, ma i file citati sul link non li torvo nel mio pc. Tuttavia come si chiude un popup? :hatecomputer:
 

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:showpopup
« Risposta #1 il: 14 Settembre 2018, 13:40:36 »
ho fatto un test per mettere un form in primo piano...
Per porre in primo piano un Form, all'atto della sua aprertura, rispetto agli altri devi utilizzare il suo Metodo " Me.Activate( ) ", avendo cura di porre questa riga di comando all'interno dell'evento " _Activate() " del Form medesimo:

Codice: [Seleziona]
Public Sub Form_Activate()

  Me.Activate

End
« Ultima modifica: 14 Settembre 2018, 13:44:19 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:showpopup
« Risposta #2 il: 14 Settembre 2018, 14:00:03 »
Citazione
Buongiorno a tutti, sto muovendo i primi passi con visual basic e mi sto allenando usando gambas3.


Attenzione che Gambas è parecchio diverso, anzi è meglio dire completamente diverso da VB, specialmente nel modo in cui tratta le finestre.


Citazione
Avendo problemi con le finestre dei form chi va in primo piano e chi in secondo, ho fatto un test per mettere un form in primo piano usando la funzione showpopup. L'ho usato per testare l'uso di una progress bar. Essa quando finisce il processo rimane in evidenza e non si chiude nonostante abbia provato hide, close ecc, ho provato pure delete, ma crasha direttamente tutto il programma. Lo sviluppatore mi ha passato un link di modifiche, ma i file citati sul link non li torvo nel mio pc. Tuttavia come si chiude un popup?

Puoi usare l'evento Open della popup con per prima la voce Me.Show e poi richiamare la barra e quindi Me.Close

 :ciao:

P.S. Ho parlato prima di provare il codice, non funziona. Meglio se segui vuott  :-[

Solo una domanda perché ti serve una finestra popup? e non una modale?
« Ultima modifica: 14 Settembre 2018, 14:25:50 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:showpopup
« Risposta #3 il: 14 Settembre 2018, 14:06:22 »
Se poi vuoi attivare un Form, cliccando ad esempio su un Button posto su un altro Form, puoi utilizzare la proprietà Application.MainWindows nel modo che segue:

Poniamo l'esempio di avere due Form: uno principale e uno secondario, chiamato "Secondario".
Sul Form principale poniamo un Button, e nel codice del Form principale scriviamo questo evento/routine:
Codice: [Seleziona]
Public Sub Button1_Click()

     Application.MainWindow = Secondario
   
     Application.MainWindow.Activate

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 DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:showpopup
« Risposta #4 il: 14 Settembre 2018, 16:31:03 »
Tanto non conosco nemmeno visual basic, ho reminiscenze di pascal, c++, prolog e assembly fermo a 20 anni fa.

Sto giocando facendo esempi di azioni. Adesso c'è il main e quando clicco sul pulsante si apre un altro form "barra" che fa un avanzamento di percentuale da 0 a 100% con refresh e wait. Mi serve per imparare come funziona la progressbar. Come premesso prima ho problemi nel gestire le finestra in primo e secondo piano. Smanettando la main finisce prima all'apertura di "barra" e quando attivo message.info anche questa non lavora bene. Allora ho visto che c'è la funzione showpopup e aprivo barra come popup" ma una volta aperto mi rimane aperto. Sono per adesso codici senza senso per prendere padronanza con la teoria che sto leggendo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:showpopup
« Risposta #5 il: 14 Settembre 2018, 16:41:50 »
Ti allego un esempio.
Volevi fare una cosa del genere?

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

Offline cogier

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re:showpopup
« Risposta #6 il: 14 Settembre 2018, 17:28:34 »
O qualcosa del genere?

Offline DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:showpopup
« Risposta #7 il: 14 Settembre 2018, 22:02:14 »
Codice: [Seleziona]
Public Sub Button5_Click()
'Application.MainWindow = Barra
'Application.MainWindow.Activate
  'Me.Hide()
  'Barra.ShowPopup()
  Barra.Show()
 ' Barra.Window.Center()
  'Me.Window.TopOnly = False
  'Me.TopOnly = False
 
  Message.Info("Operazione completata", "OK")
  'Me.Show()
End

Codice: [Seleziona]
Public Sub Form_Open()
Dim i As Integer
Barra.Visible = True
Barra.Window.TopOnly = True
Barra.TopOnly = True
Barra.Window.Center()
ProgressBar1.Visible = True
For i = 1 To 100 Step 1
ProgressBar1.Refresh()
Wait (1 / 10)
ProgressBar1.Value = i / 100
Next
Me.Window.TopOnly = False
Me.TopOnly = False
'Barra.Hide()
Barra.Delete()
'Message.Info("Operazione completata", "OK")
End

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:showpopup
« Risposta #8 il: 14 Settembre 2018, 22:54:24 »
Ma tu il codice dell'esempio che ti ho postato lo hai visto?
ProgressBar.Value è di tipo Float e va da 0 a 1, quindi lo puoi comandare solo in quel lasso di valore.
Pertanto se desideri dividere la barra in 100 avanzamenti devi fare come da mio esempio:

Codice: [Seleziona]
  Public Sub Form_Open()

  Dim f As Float

  Me.Show
  'FMain.bOpen = True
  For f = 0 To 1 Step 0.001
    Wait 0.005
    Try ProgressBar1.Value = f
  Next
  'FMain.bOpen = False
  Try Me.Close()

End 

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

Offline DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:showpopup
« Risposta #9 il: 15 Settembre 2018, 11:57:29 »
Ma la barra funziona, è la sua gestione che nell'ignoranza pecco :)

Non ancora, li apro appena torno a smanettare col codice

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:showpopup
« Risposta #10 il: 15 Settembre 2018, 12:22:33 »
Ma la barra funziona, è la sua gestione che nell'ignoranza pecco :)

Non ancora, li apro appena torno a smanettare col codice

Si scusa hai ragione non ho visto la divisione, anzi il tuo codice è corretto il mio era solo per far capire il float ma non andrebbe mai usato nel codice "vero".
Guardati entrambi gli esempi, quello di cogier è mirato al primo piano delle finestre.
Tieni anche conto che una progress bar normalmente viene usata a "mouse bloccato" (application.busy) e abitualmente viene usata una finestra modale per contenerla.
Altrimenti devi tener conto di troppe cose...

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

Offline DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:showpopup
« Risposta #11 il: 15 Settembre 2018, 13:26:59 »
ovviamente chi è agli inizi ha un codice "sporco" e alcune funzioni non sa che potrebbero essere fatte meglio in altri modi. Errori da niubbi che credo perdoniate  :'( Potrei anche chiedere per ora altre cose stupide e inesatte. Abbiate per favore molta pazienza

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:showpopup
« Risposta #12 il: 15 Settembre 2018, 14:45:36 »
Errori da niubbi che credo perdoniate  Potrei anche chiedere per ora altre cose stupide e inesatte. Abbiate per favore molta pazienza
Non devi chiedere scusa di niente: il forum non è una passarella per "perfetti programmatori". Il forum, anzi, esiste proprio per ottenere consulenza e aiuto.
Pertanto, qui tu - in qualità di membro - puoi porre tutte le domande che vuoi.


Colgo l'occasione per segnalarti di seguito altri collegamenti utili all'apprendimento del linguaggio Gambas:

Sito ufficiale di Gambas:
 - http://gambas.sourceforge.net/en/main.html

Wiki ufficiale di Gambas:
 - http://gambaswiki.org/wiki

Mailing List ufficiale di Gambas:
 - https://lists.gambas-basic.org/pipermail/user/

Forum, Wiki ed altri siti esistenti su Gambas:
 - https://gambas-es.org/
 - https://foro.gambas-es.org/forum.php
 - http://www.gambas-club.de/index.php
 - https://forum.gambas.one/
 - http://www.gambaslinux.fr/
 - http://89.234.156.109/
 - http://www.gambas-it.org/wiki/index.php?title=Pagina_principale
 - https://gambas-buch.de/dwen/doku.php
 - https://de.wikibooks.org/wiki/Gambas
 - http://sologambas.blogspot.com/p/indice.html
 - https://jsbsan.blogspot.com/
 - http://captainbodgit.blogspot.com/search/label/Gambas
 - https://pigalore.miraheze.org/wiki/Main_Page
 - http://icculus.org/piga/
 - http://novatocodegambas.blogspot.com/
 - http://forum.3d-phenomen.fr/index.php

Testi, manuali e corsi esistenti:
 - https://cursogambas.blogspot.com/p/indice.html
 - https://github.com/jsbsan/Ejemplos-del-Curso-De-Gambas3
 - http://gambaswiki.org/wiki/doc/book?nh&l=en
 - https://en.wikibooks.org/wiki/Programming_Gambas_from_Zip
 - https://wordpress.gambas.one/a-book-by-gerry-buzolic/
 - https://wordpress.gambas.one/2020/04/10/the-gap-bg-project/
« Ultima modifica: 18 Novembre 2021, 03:25:17 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 DemoneBianco

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:showpopup
« Risposta #13 il: 15 Settembre 2018, 15:00:25 »
Grazie a tutti :coder: :2birre:

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.703
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:showpopup
« Risposta #14 il: 15 Settembre 2018, 16:44:50 »
Citazione
il forum non è una passarella per "perfetti programmatori"
Ecco dove sbagliavo! :P :P :P
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)