Autore Topic: problemi con le basi  (Letto 2251 volte)

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
problemi con le basi
« il: 30 Agosto 2009, 17:28:33 »
Ciao, io sono proprio alle primissime armi quindi se devo fare un rapporto uno 80 % google e 20 gambas  :-D

avevo una curiosità: ho creato una textbox dove l'utente può scrivere, e un pulsante

volevo sapere come mettere in relazione i due, ovvero, che se la textbox è vuota, o ce scritto qualcosa che non inizia con le lettere "pr" dia un Message.Info("textbox vuota", " EXIT ")

è possibile?
è complicato?

avete tutorial particolati da consigliarmi? o è meglio che mi affido a google?

grazie..

ciao

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #1 il: 30 Agosto 2009, 18:10:36 »
Intanto benvenuto\a....spero ti troverai bene nella nostra comunità.....

allora su per giù il tuo codice sarebbe:

Codice: [Seleziona]

PUBLIC SUB Button1_click()

  '-- se la caselle è vuota o se le prime due lettere sono pr
  '-- mostra il messaggio di errore
  IF TextBox1.text = "" OR NOT  Left(Textbox1.text, 2) = "pr" THEN
    Message.Info("textbox vuota", " EXIT ")
  END IF

END


l'ho scritto al volo senza testarlo..spero vada bene...per ogni dubbio domanda pure....

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #2 il: 30 Agosto 2009, 18:26:26 »
grazie mille ti ringrazio di cuore..

siccome lavoro con linux volevo chiederti una delucidazione del comando shell

se tipo io ho


SHELL "/usr/bin/programma" & FMain.Close()

solo che dopo programma (come inputo $1 della shell bash di linux) ci va il contenuto di un'inputbox... come posso fare?

ti ringrazio ancora... ho trovato utile il vostro forum x altri argomenti gia risolti...

ciao

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #3 il: 30 Agosto 2009, 18:30:48 »
Allora: innanzitutto la sintassi del codice che hai scritto è sbagliata...
Se vuoi usare quel codice devi scriverlo così

Codice: [Seleziona]

SHELL "usr/bin/programma" WAIT
FMain.close


In questo modo il tuo programma richiama il comando per aprire il comando, aspetta che il terminale abbia finito (comando WAIT) e poi chiude il form...Wait è importante perchè il form FMain potrebbe chiudersi prima che il comando abbia finito (è raro ma può succedere con comando che richiedono un filino di tempo in più)....

però non ho capito cosa vuoi fare. Ti spiegheresti meglio per favore?

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #4 il: 30 Agosto 2009, 18:39:59 »
niente sto facendo prove :-D  ...

ora sto provando interazioni fra script shell di linux e interfaccie grafiche...

solo che alcuni script hanno bisogno di alcune opzioni... ad esempio, non so se hai pratica, il comando unrar per estrarre, /usr/bin/unrar bisonga dare  

/usr/bin/unrar   e   file.rar

volevo provare a vedere se con il comando shell, e due variabili prese da textbox si riusciva... lo so che non ho vantaggi in quanto più macchinoso dell'usare la riga di comando, ma volevo solo provare x avvicinarmi alla programmazione...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #5 il: 30 Agosto 2009, 18:49:14 »
ah....ecco ora che mi hai spiegato posso aiutarti meglio.....immaginiamo che hai un button e una textbox e vuoi che alla pressione del button il programma ti estragga il file scritto nella textbox con unrar...tutto ciò che devi scrivere e questo

Codice: [Seleziona]

PUBLIC SUB Button1_Click()

 SHELL "usr/bin/unrar" & " " & texbox1.text

END


come vedi il carattere & non fa altro che unire le stringhe il comando SHELL riconosce come un unico comando....se nella texbox c'è scritto per esempio Gambas.rar allora il comando che verrà letto da SHELL sarà

Codice: [Seleziona]

usr/bin/unrar gambas.rar


che come puoi notare è la stesa cosa che scriveresti nel terminale per estrarre lo stesso file....

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #6 il: 30 Agosto 2009, 19:11:14 »
ultima cosa poi non disturbo piu per un po e cerco di arrangiarmi hehe

è possibile richiamere il contenuto di textbox1 (che si trova in FMain) in una operazione in Form2? se si come?

grazie ancora e scusate il disturbo

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #7 il: 31 Agosto 2009, 01:07:48 »
Puoi fare una cosa molto semplice....crei un modulo (e lo chiami ad esempio MGenerale)e all'interno di essi salvi le variabili che sai ti possono servire in punti diversi (quindi form diversi) del tuo progetto. Ad esempio se all'interno del modulo salvi una varibile di tipo stringa di nome SVariabile allora puoi fare ad esempio:
Codice: [Seleziona]

MGenerale.SVariabile = Textbox1.test 'questa textbox è nel form 1

Textbox2.text = MGenerale.SVariabile 'questa textbox è nel form 2

E' chiaro?

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #8 il: 31 Agosto 2009, 01:11:54 »
non molto sinceramente... cmq nn so come ringraziarti...

puoi suggerirmi una bella guida? magari in ita? cosi magari evito di riempire il forum di domande banali...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #9 il: 31 Agosto 2009, 01:27:02 »
Cerco di spiegartelo più semplicemente.....un modulo puoi usarlo come "contenitore" in cui "appoggiare" dei dati che devi passare da un form all'altro...se tu dichiari in un modulo un certo tipo di variabile (stringa, intero , float o chicchessia) allora puoi modificare quella variabile da ogni form...oltre a scrivere in quella variabile puoi anche leggere i suoi dati; in questo modo puoi scambiare facilmente dati tra vari form del tuo progetto. Per accedere ai dati del modulo (sia in lettura che scrittura) puoi usare la sintassi

LETTURA:

variabile_del_form = Nome_modulo.Nome_variabile

SCRITTURA

Nome_modulo.Nome_variabile = varaibile_del_form

Spero che così sia più chiaro altrimenti non so come aiutarti...:-)

Non devi ringraziarmi; siamo una comunità ed un giorno tu potresti ricambiarmi il favore...poi se proprio mi vuoi ben poui visitare il mio sito che trovi in firma....:-)

Non esistono domande stupide ma solo risposte idiota!!!! :-D
Una domanda che tu reputi stupida può servire a qualcun altro che arriverà qui in futuro e vorrà iniziare a programmare in gambas.

Guide in italiano non e ne sono purtroppo....tutto quello che puoi trovare e qui in area download...

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #10 il: 31 Agosto 2009, 10:06:47 »
mi sa che proprio nn ci arrivo ahah


form1:
Codice: [Seleziona]

MGenerale.gelato = Textbox1.text

form2:
Codice: [Seleziona]

nomecodice = MGenerale.gelato

SHELL "/usr/bin/unrar" & " " & "e" & " " & nomecodice WAIT


MGenerale (modulo)
Codice: [Seleziona]

DIM gelato AS String


forse, sbaglio il modo di dichiarare le variabili.. vango da visualbasic... pero non capisco mi da errore su "nomecodice = MGenerale.gelato" della form2

ciao grazie

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #11 il: 31 Agosto 2009, 13:22:38 »
La variabile all'interno del modulo deve essere publica:
Codice: [Seleziona]

PUBLIC gelato as string

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #12 il: 31 Agosto 2009, 14:36:59 »
a ecco infatti.. ora ho risolto questo ma mi è saltato il WAIT, che fino adesso ha funzionato correttamente ora me lo salta..

MForm:
Codice: [Seleziona]

Form1.Show()
SHELL "/usr/bin/unrar" & " " & "e" & " " & Textbox1.text WAIT
Form1.Close()

   
Form2.Show()


Form1: (altro non è che una fittizia barra di avanzamento (anche xke farla andare credo sia dura ahah)
Codice: [Seleziona]

PUBLIC SUB Form_Open()
 
FMain.Title = "Unrar grafico"

END


quindi diciamo che mi apre la finta barra di avanzamento, esegue la decompressione, e poi chiude la barra di avanzamente, aprendo un altro form..

bene in realta mi apre direttamente il form 2 mentre ancora sta decomprimendo, saltandomi completamente la visione "di attesa" di from1...

cmq sto entrando un po nelle logiche...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: problemi con le basi
« Risposta #13 il: 31 Agosto 2009, 14:51:56 »
Sostituisci la prima parte di codice con
Codice: [Seleziona]

Form1.Show()
SHELL "/usr/bin/unrar" & " " & "e" & " " & Textbox1.text
WAIT
Form1.Close()

Form2.Show()

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: problemi con le basi
« Risposta #14 il: 31 Agosto 2009, 14:55:05 »
avevo gia provato a spostar il wait ma purtropp non cambia nulla..
 :-o  eheh

per il resto funziona tutto

postedit

ho risolto mettendo due wait

avvero

shel ...................... wait
wait