Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    [VB6] Spostare valore da una textbox all'altra

    Salve a tutti

    Ho un problema complesso con vb6 che spero di spiegare nel modo migliore.
    In una listbox (list1) inserisco una serie di valori; man mano che inserisco dei dati, per ogni riga completata, compare sulla destra una textbox (con il comando visible=true ogni qualvolta si popolano le righe della listbox);in ogni textbox vi è la possibilità di inserire valori numerici.
    Ovviamente, vorrei che i valori della riga della list1 e della textbox viaggino sempre accoppiati.

    es:

    list1 | textbox

    pippo | 5
    pluto | 6
    paperino | 8

    Il problema sussiste quando,eliminando un componente della list1, ad es Pluto, l'elemento Paperino passa nella riga precedente mentre il valore scritto nella textbox rimane quello di Pluto:

    list1 | textbox

    pippo | 5
    paperino | 6


    Vorrei trovare un comando che trasporti il valore da una textbox alla sua precedente.

    Ho provato a usare questo comando:

    Private Sub Command2_Click()
    dim a as integer
    a= list1.listindex
    Textbox(a).text=Textbox(a+1).text
    End sub

    ma non funge!!


    Qualcuno sa come fare?

    Grazie mille!!!!

  2. #2
    che vuol dire "non funge"?

  3. #3
    Sicuramente è un problema di indici..

    Fammi capire una cosa: il codice che hai postato serve per spostare il contenuto delle textbox?

    Se è così, faresti prima ad aggiungere il codice a quello dell'eliminazione dell'elemento della lista..


    Un'altra domanda: se cancelli un valore presente per esempio a metà lista, poi dovrai trasportare tutti gli altri valori che lo seguono, no?

    E poi non dovresti eliminare l'ultima textbox?


    Prova a ricontrollare cmq gli indici..

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ogni volta che aggiungi o elimini elementi nel listbox ti conviene ripopolare i textbox in funzione degli elementi contenuti nel listbox stesso.

    Parrebbe che tu stessi usando un un numero predeterminato di TextBox, se è così puoi usare una routine che faccia questo lavoro automaticamente:

    codice:
    Private Sub AggiornaTextBox()
        Dim i As long
        ' per ogni 'TextBox' presente sul form
        For i = 0 to TextBox.UBound
            ' se esiste un elemento in List1
            If i <= List1.ListCount - 1 Then
                ' aggiorno il TextBox corrispondente
                TextBox(i).Text = List1.List(i)
                TextBox(i).Visible = True
            Else
                ' non esiste alcun elemento per questo textbox, lo nascondo
                TextBox(i).Visible = False
            End If
        Next i
    End Sub
    Poi ogni volta che esegui
    List1.AddItem ... oppure List1.RemoveItem ...

    Dovrai eseguire anche la routine

    AggiornaTextBox

    Nota che se popoli List1 con una sequenza di AddItem, allora conviene eseguire AggiornaTextBox una sola volta, alla fine della sequenza.


  5. #5
    Perfettamente d'accordo con gibra..

    Sii più preciso riguardo all'origine delle textbox (create in run-time, numero fisso o variabile)e la loro eventuale fine (per esempio se devono essere rese invisibili oppure locked oppure cancellate direttamente)..


    Ciao

  6. #6
    Ciao, il numero di textbox è predeterminato e va dalla text 1 alla text 13.

    Come ho detto all'inizio del messaggio le textbox compaiono con il metodo Visible=true/false.

    Ho provato il comando che gibra mi ha inviato ma mi dice che è "necessario oggetto"!!!

    Nel debug mi sottolinea : For i = 0 To TextBox.UBound.

    Ad ogni modo credo che quel codice serva per nascondere o rendere visibili le textbox, in tal caso ho già un codice che funziona; a me servirebbe un comando che facesse in modo, ogni qualvolta viene nascosta la textbox, di copiare il valore dalla tb nascosta e incollarlo nella txbox soprastante.

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da ilsanto18
    Ciao, il numero di textbox è predeterminato e va dalla text 1 alla text 13.
    L'avevo indovinato.

    Originariamente inviato da ilsanto18
    Ho provato il comando che gibra mi ha inviato ma mi dice che è "necessario oggetto"!!!Nel debug mi sottolinea : For i = 0 To TextBox.UBound.
    Perchè probabilmente il tuo oggetto textbox non si chiama TextBox , come si chiama?
    Text1? allora dovrai usare quello, non ti pare?

    Originariamente inviato da ilsanto18
    Ad ogni modo credo che quel codice serva per nascondere o rendere visibili le textbox, in tal caso ho già un codice che funziona; a me servirebbe un comando che facesse in modo, ogni qualvolta viene nascosta la textbox, di copiare il valore dalla tb nascosta e incollarlo nella txbox soprastante.
    Vedo che non hai capito molto...
    Il mio codice serve per fare quello che hai chiesto tu, ma ha ANCHE la funzione di nascondere le textbox, per cui quello che stai usando ora diventa inutile.


  8. #8
    Ho provato a usarlo ma mi dà di nuovo errore (sub non definita), anche facendo come dici tu.

    Ho provato a inserirlo nel pulsante "additem" ma nulla!!!!

    Senti,ma in partenza le text devono essere visibili?

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da ilsanto18
    Ho provato a usarlo ma mi dà di nuovo errore (sub non definita), anche facendo come dici tu.

    Ho provato a inserirlo nel pulsante "additem" ma nulla!!!!
    Cosa?... Come?...
    Scusa, ma se non mostri il codice che hai usato chi può capire se hai provato facendo giusto o sbagliato?

    Originariamente inviato da ilsanto18
    Senti,ma in partenza le text devono essere visibili?
    Mi pare evidente. La tua domanda è strana, visto che tu stesso hai affermato:
    Ciao, il numero di textbox è predeterminato e va dalla text 1 alla text 13.

  10. #10
    Allora ho creato un nuovo form per semplificare il tutto,
    ho una listbox, 3 textbox, un pulsante per l'"additem" nella list e uno x il "removeitem".
    il codice x il pulsante dell'additem (command1) è il seguente:




    .......

    Alla fine mi dice che la sub non è definita
    Avevo ribadito anche che il numero di textbox era si preimpostato ma era in partenza reso invisible (metodo visible:false); man mano che inserisco valori nella list, le text diventano visibili (riga x riga).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.