Italian Riconoscimento utente

Discussion in 'Italian Forum' started by guido valentino, Jun 14, 2015.

  1. guido valentino

    guido valentino Member Licensed User

    Ciao ragazzi scusate la domanda stupida ma volevo semplicemente sapere come identificare un utente all apertura dell aplicazione. Mi spiego meglio: quando l utente apre l app mi serve di controllare se è la prima volta che accede e in base a questo chiedergli il nome oppure passare direttamente alla seconda schermata, e in questo caso devo recuperari dei dati che ho salvato in un database mysql (questa cosa gia l ho fatta).
     
  2. iz0ndg

    iz0ndg Member Licensed User

    LucaMs likes this.
  3. guido valentino

    guido valentino Member Licensed User

    grazie, devo farti un'altra domanda, scusami la stupidità:
    come faccio ad usare in una sub una variabile che si trova all'interno di un'altra sub e che magari è cambiata? praticamente la devo richiamare
     
  4. iz0ndg

    iz0ndg Member Licensed User

    Non so se ho capito bene, comunque se devi usare il contenuto di una variabile in più Sub potresti dichiararla all'interno di 'Globals'.
    In questo modo è a tua disposizione all'interno di tutto il modulo.

    Se invece la stessa ti serve anche in altri moduli la dichiari in 'Process_Globals'.
     
  5. guido valentino

    guido valentino Member Licensed User

    Niente scusa avevo sbagliato io una cosa nel codice.
    Ma tornando al keyvaluestore mi puoi spiegare un attimo al volo come potrei fare per controllare l'utente all'avvio e per la prima volta?
    mi serve semplicemente sapere se è la prima volta che apre l'app e in questo caso aprire l'attivita per farglielo inserire. Se invece ha gia inserito il nome apre un'altra attivita :)
     
  6. FabioCrank

    FabioCrank Member Licensed User

    Ciao, io per esempio farei così...
    1) Controllo se in una directory locale del telefono esiste un file che per esempio chiamo start.ini
    se non esiste, significa che è la prima volta che si apre l'app e quindi apro il form che decido io e poi scrivo fisicamente il file start.ini.
    La seconda volta che apro l'app il file questa volta esiste e di conseguenza il software può decidere di aprire un altro form.
    Oppure
    2) Eseguo una query in una tabella che chiamo start
    se non trovo nessun record, significa che è la prima volta che si apre l'app e quindi apro il form che decido io e poi scrivo fisicamente un record nella
    tabella start
    La seconda volta che apro l'app la query mi restituisce un valore e di conseguenza il software può decidere di aprire un altro form.
     
    LucaMs likes this.
  7. iz0ndg

    iz0ndg Member Licensed User

    Scritto al volo...

    Code:
    Sub Process_Globals
     
    Private kvs As KeyValueStore
    End Sub

    Sub Globals

    End Sub

    Sub Activity_Create(FirstTime As Boolean)
    If FirstTime Then
       kvs.Initialize(
    File.DirDefaultExternal, "datastore")
    End If
    If kvs.ContainsKey("nome"Then
       
    ' se il nome esiste
       StartActivity("nomegiainserito")
    Else
      
    StartActivity("chiediilnome")
      
    'dopo l'input salvi la stringa con Main.kvs.PutSimple("nome", nome)
    End If
    End Sub
    Per l'uso di KeyValueStore devi includere le librerie SQL e RandomAccessFile
     
    LucaMs likes this.
  8. guido valentino

    guido valentino Member Licensed User

    Grazie mille, un'ultima cosa, per mettere una sorta di pagina di caricamento quando l app si sta aprendo come posso fare? :) perché si deve collegare ad un database e ci possono volere qualche secondo e nell attesa mettere qualcosa :)
     
  9. iz0ndg

    iz0ndg Member Licensed User

    Potresti usare
    Code:
    ProgressDialogShow("Attendi")
    prima del collegamento e
    Code:
    ProgressDialogHide
    alla fine
     
  10. guido valentino

    guido valentino Member Licensed User

    :DAh già.
    Se ti chiedo un'altra cosa mi ammazzi?
    Come faccio a creare una finestra che si apre nella stessa schermata quando si clicca su un bottone.
    E magari personalizzare questa finestra (colore sfondo, label, bottoni, ecc)??? :) ho visto un po i classes Module ma non so se aprono anche finestre personalizzabili
     
  11. LucaMs

    LucaMs Expert Licensed User

    Crei un Panel e lo imposti invisibile. Dentro ci carichi un layout creato col Designer.
    Quando deve apparire, imposti pnlNomePannello.Visible = True.

    Attenzione, però, che se il pannello non prende tutto la schermata, le view sottostanti saranno attive. Per evitare questo, dovresti usare due panel, uno grande quanto tutto lo schermo con color transparent e l'altro, più piccolo, contenuto in questo primo. In questo caso dovrai impostare la visibilità a False e True del pannello grande, il piccolo sarà sempre True.

    Infine:
    Code:
    Sub pnlTrasparente_Click
        
    ' lasciare vuota
    End Sub
     
    iz0ndg likes this.
Loading...