Autore Topic: Tasto annulla inputbox  (Letto 1466 volte)

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Tasto annulla inputbox
« il: 29 Dicembre 2021, 10:08:30 »
Salve, sembra una domanda banale..
Scrivo il seuqnte codice:
Dim name As String
name = InputBox("Inserisci nome")
print name

quindi se si inserisce una parole cioè il nome tramite print riporta la parola scritta in inputbox..
E se si preme annulla come si fà ad intercettare se si è premuto annulla o ok ?

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #1 il: 29 Dicembre 2021, 11:24:20 »
Salve, sembra una domanda banale..
Non lo sembra, lo è
Citazione
Scrivo il seuqnte codice:
Codice: [Seleziona]
Dim name As String
name = InputBox("Inserisci nome")
print name
Potrsti per cortesia inserire il codice fra i giusti tag che ottieni evidenziando il codice e agendo sul pulsante # come ho appena fatto qui sopra?
Qui puoi trovare una guida al nostro forum : https://www.gambas-it.org/smf/index.php?topic=7397.msg47179#msg47179 che spiega come usarlo correttamente.
Citazione
quindi se si inserisce una parole cioè il nome tramite print riporta la parola scritta in inputbox..
E se si preme annulla come si fà ad intercettare se si è premuto annulla o ok ?

Sei incredibile, sai solo fare domande e tra l'altro di tipo opposto fra loro.
Quelle tipo questa qui fanno intravvedere che non hai idea di cosa significa programmare.
Se le cose stanno così, prima dovresti studiare la programmazione in generale, se lo vuoi fare con noi allora occorre che tu spiega meglio cosa vai cercando...

Ritornando alla tua domanda ti basta guardare la variabile stringa di ritorno, se è valorizzata allora controlli se è stato risposto correttamente alla richiesta di input altrimenti la variabile è vuota
Codice: [Seleziona]
If name Then
'...
Else
' variabile vuota (null)
Endif
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #2 il: 29 Dicembre 2021, 16:11:33 »
Spero tanto che la mia ruvidità non ti abbia offeso, ma occorre sapere che un forum è una "piazza virtuale" dove le persone che hanno un interesse comune si scambiano pareri e conoscenze.
Il tutto dovrebbe svolgersi in modo semplice e senza scopi reconditi.
L'unico scopo qui è quello di migliorare la propria conoscenza di Gambas, facendo al contempo partecipi gli altri delle proprie (conoscenze).
Se otteniamo aiuto e questo ci è servito è buona norma mostrare come lo abbiamo implementato nel nostro codice (serve ad aiutare altri con lo stesso problema).
Se al contrario l'aiuto non è quello che ci aspettavamo, non possiamo limitarci a scrivere "non funziona" occorre spiegare come lo abbiamo utilizzato, con quale codice, perché forse siamo noi che non abbiamo capito il suggerimento oppure lo abbiamo male implementato.

Se siamo alle prime armi e non riusciamo a mettere insieme il codice per partire, prima di avventurarci in cose più grandi di noi possiamo iniziare leggendo questa pagina introduttiva scritta da vuott:
https://www.gambas-it.org/wiki/index.php?title=Lezioni:_introduzione_generale

e se qualcosa non è chiara basta chiedere.

Potremmo inoltre dare un'occhiata a questa pagina:
Programmazione

e alle Voci correlate : https://it.wikipedia.org/wiki/Programmazione_(informatica)#Voci_correlate


Alcune (delle tante) cose basilari da sapere:

Linguaggio di programmazione : https://it.wikipedia.org/wiki/Linguaggio_di_programmazione

e :  https://it.wikipedia.org/wiki/Linguaggio_di_programmazione_ad_alto_livello

Indentazione : https://it.wikipedia.org/wiki/Indentazione

Diagramma di flusso : https://it.wikipedia.org/wiki/Diagramma_di_flusso

Struttura condizionale

Struttura di controllo : https://it.wikipedia.org/wiki/Struttura_di_controllo

Funzione

Parole Chiave : https://it.wikipedia.org/wiki/Parola_riservata

Operatori

... altro, dandoci da fare con un po di sana ricerca...

Oltre naturalmente a tutti gli altri aiuti già segnalati qui:
https://www.gambas-it.org/smf/index.php?topic=8962.msg51101#msg51101
« Ultima modifica: 29 Dicembre 2021, 16:38:35 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #3 il: 29 Dicembre 2021, 16:36:21 »
Io molti anni fà programmavo in visual basic.
In parole povere mi serve per far in modo che scrivo la password di root ma non so come farla verificare tramite gambas.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #4 il: 29 Dicembre 2021, 16:42:42 »
In parole povere mi serve per far in modo che scrivo la password di root ma non so come farla verificare tramite gambas.
Seppur con un po' di fuoco  ;D, Gianluigi ti ha suggerito il modo più semplice per farlo, ossia far fare una verifica con "IF" del testo restituito dall'InputBox e contenuto nella variabile di ritorno.
...se la password non è quella vera puoi far tornare il controllo del programma prima dell'InputBox medesimo attraverso un ciclo "Repeat...Until".

Sul ciclo "Repeat...Until":
   https://www.gambas-it.org/wiki/index.php?title=REPEAT_-_UNTIL
« Ultima modifica: 29 Dicembre 2021, 16:43:16 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 Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #5 il: 29 Dicembre 2021, 16:44:50 »
E come verifico da gambas se la password è vera o no ?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #6 il: 29 Dicembre 2021, 16:59:39 »
E come verifico da gambas se la password è vera o no ?
Uhmmm... cioè tu vorresti sapere se la password dell'utente del tuo programma ha immesso la password vera ?
Questo non puoi ottenerlo...dato che è segreta, ma.... si potrebbe capire se l'introduzione della password "corretta" ha ottenuto il risultato sperato.
Un esempio pratico e semplice potrebbe essere quello afferente alla procedura per eliminare la "protezione" di accesso a un file-device: se la protezione non viene tolta allora la password è errata.
« 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 Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #7 il: 29 Dicembre 2021, 17:16:56 »
Allora, spiego meglio

Dim root As String
root = InputBox("Immetti password di root")

Shell "echo " & root & " | sudo -S apt-get autoclean"

il  problema è
se la password di root (root) è giusta allora esegue il comando shell altrimenti no
come faccio a far capire da gambas che la password di root inserita nell' inputbox è giusta ?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #8 il: 29 Dicembre 2021, 17:26:38 »
Allora, spiego meglio

Dim root As String
root = InputBox("Immetti password di root")

Shell "echo " & root & " | sudo -S apt-get autoclean"

il  problema è
se la password di root (root) è giusta allora esegue il comando shell altrimenti no
come faccio a far capire da gambas che la password di root inserita nell' inputbox è giusta ?
Potresti usare una soluzione troppo "sporca", facendogli davvero provare ad eliminare la protezione di un file-device.

No... meglio usare l'istruzione "Desktop.RunAsRoot()" attivando il Componente "gb.desktop".

Codice: [Seleziona]
Desktop.RunAsRoot("sudo apt-get autoclean")
Questa istruzione farà apparire un InputBox, nel quale l'utente dovrà inserire la sua password.
Questo InputBox gestirà esso direttamente la faccenda della password immessa dall'utente.
Una soluzione pulitissima e coerente con quanto chiedi.
« Ultima modifica: 29 Dicembre 2021, 17:32:23 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:Tasto annulla inputbox
« Risposta #9 il: 29 Dicembre 2021, 17:41:31 »
@Gratisweb

puoi per cortesia iniziare a inserire il codice come si deve e ti è stato chiesto?

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

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #10 il: 29 Dicembre 2021, 19:40:25 »
Dice:

No Graphical sudo program found nel Form
« Ultima modifica: 29 Dicembre 2021, 20:38:11 da Gratisweb »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #11 il: 29 Dicembre 2021, 21:53:12 »
Dice:

No Graphical sudo program found nel Form
Credo tu debba installare "xterm".
« Ultima modifica: 29 Dicembre 2021, 21:56:35 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.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #12 il: 29 Dicembre 2021, 22:05:41 »
Una possibile alternativa potrebbe essere questa riga:
Codice: [Seleziona]
Shell "x-terminal-emulator -e sudo 'apt-get autoclean'"
Viene aperto il Terminale, nel quale viene chiesta l'immissione della propria password di sistema.
Anche in questo caso, se la password non è corretta, verrà di nuovo chiesta automaticamente.

Per te puoi provare ad inserire "mate-terminal":
Codice: [Seleziona]
Shell "mate-terminal -e sudo 'apt-get autoclean'"


« Ultima modifica: 29 Dicembre 2021, 23:52:42 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 Gratisweb

  • Grande Gambero
  • ***
  • Post: 173
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #13 il: 29 Dicembre 2021, 22:47:49 »
xterm è già installato

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Tasto annulla inputbox
« Risposta #14 il: 29 Dicembre 2021, 23:25:34 »
Hai provato quelle due righe che t'ho proposto qui sopra ?
« 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. »