Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193

    [VB6]2Problemi con TextBox

    Ciao a tutti!
    Ho due domande da porvi:

    Esempio:
    nella textbox1 ho le seguenti 3 righe:
    LATTE
    MIELE
    CAFFE

    nella textbox2 immetto
    1

    Premo CommandButton1 e nella textbox3 mi scrive:
    LATTE
    MIELE
    CAFFE

    Il codice è il seguente:
    Private Sub Command1_Click()
    If Text2.Text = "1" Then
    Text3 = Text3 + Text2.Text
    End If

    Il mio problema è che devo dirgli di stampare in text3 solo LATTE quindi solo la prima riga della textbox1 ma come faccio a fargli identificare la riga?

    2 Domanda:
    Nella textbox2 se io metto "1" mi stampa il testo della textbox2 ma se metto "12" non lo fà!Come posso dirgli di controllare che ci sia "1" e di ignorare ogni altro carattere inserito?


    Aspetto fiducioso il vostro aiuto

  2. #2
    Utente di HTML.it L'avatar di mikkuz
    Registrato dal
    Apr 2004
    Messaggi
    53
    ---------------------------------------------------
    [VB6]2Problemi con TextBox
    Ciao a tutti!
    Ho due domande da porvi:

    Esempio:
    nella textbox1 ho le seguenti 3 righe:
    LATTE
    MIELE
    CAFFE

    nella textbox2 immetto
    1

    Premo CommandButton1 e nella textbox3 mi scrive:
    LATTE
    MIELE
    CAFFE

    Il codice è il seguente:
    Private Sub Command1_Click()
    If Text2.Text = "1" Then
    Text3 = Text3 + Text2.Text
    End If

    Il mio problema è che devo dirgli di stampare in text3 solo LATTE quindi solo la prima riga della textbox1 ma come faccio a fargli identificare la riga?

    2 Domanda:
    Nella textbox2 se io metto "1" mi stampa il testo della textbox2 ma se metto "12" non lo fà!Come posso dirgli di controllare che ci sia "1" e di ignorare ogni altro carattere inserito?


    Aspetto fiducioso il vostro aiuto
    ---------------------------------------------------

    Rispondo prima alla seconda domanda:
    if Val(Mid(text2.text,1,1))=1 then
    'Codice
    end if

    per la prima domanda mi devi far sapere come fai andare a capo alla riga successiva, con il multine della textbox o con il taso Invio (vbcrlf)

    Saluti !!!
    Ciao

  3. #3
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    al click dal button:
    codice:
    valori = Split(Text1.Text, vbCrLf)
    Text3.Text = valori(CInt(Text2.Text - 1))
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Per prima cosa grazie per l'aiuto
    Allora:
    Per mikkuz:
    Per andare a capo uso il tasto Invio (vbcrlf)
    Il codice che mi hai dato funziona quasi perfettamente ho solo ancora un piccolo problema da risolvere:se digito 1 e poi ogni altro carattere tipo "1abcdefg"(anche letterale) funziona perfettamente,se invece metto prima un'altro carattere e poi 1 "abcdefg1" non funziona.Se è possibile risolvere altrimenti sono già contento cosi'!

    Per Sypher:
    ho provato il tuo codice ma ho 2 problemi:non sò come dire di stampare la 2 riga e non la prima e poi se metto altri caratteri oltre all'1 mi da errore.
    Ma oltre alla textbox posso usare qualcos'altro per fare ciò che mi serve?
    Io ho pensato alla textbox solo perchè non sò usare altre cose ho comunque bisogno che la lista resti completamente visibile non come una combobox,avevo pensato ad una listbox oppure ad una listview ma non so come inserire i dati! :tongue:
    Rispiego meglio quello che devo fare:
    Praticamente in un form devo avere una casella (ora text1) dove inserire una lista di oggetti tipo:
    PUNTA
    MASCHIO
    FRESA
    ALESATORE
    FILIERA

    Nell'altro form ho la casella di testo text2 dove inserisco un numero(che corrisponde alla posizione dell'oggetto nella tabella)e la casella di testo text3 dove mi visualizza la descrizione dell'oggetto che ho inserito nella casella degli oggetti:
    PUNTA(riga1)
    MASCHIO(riga2)
    FRESA(riga3)
    ALESATORE(riga4)
    FILIERA(riga5)
    se in text2 inserisco 1 deve stamparmi in text2 "PUNTA"
    se in text2 inserisco 2 deve stamparmi in text2 "MASCHIO"
    se in text2 inserisco 5 deve stamparmi in text2 "FILIERA"
    ecc...ecc...
    Sempre avendo la possibilità in text2di cercare "1" in mezzo ad altri valori ma quello è già quasi risolto col codice di mikkuz.

    Ciao Ciao

  5. #5
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    allora aggiungendo un listbox, 2 textbox e un button puoi fare così:

    codice:
    Private Sub Command1_Click()
        
    Text2.Text = List1.List(CInt(Text1.Text) - 1)
    
    End Sub
    
    Private Sub Form_Load()
        List1.List(0) = "PUNTA"
        List1.List(1) = "MASCHIO"
        List1.List(2) = "FRESA"
        List1.List(3) = "ALESATORE"
        List1.List(4) = "FILIERA"
    End Sub
    altrimenti io farei il tutto al click sul listbox così almeno nemmeno devi gestire errori!

    codice:
    Private Sub Form_Load()
        List1.List(0) = "PUNTA"
        List1.List(1) = "MASCHIO"
        List1.List(2) = "FRESA"
        List1.List(3) = "ALESATORE"
        List1.List(4) = "FILIERA"
    End Sub
    
    Private Sub List1_Click()
        Text2.Text = List1.Text
    End Sub
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  6. #6
    Utente di HTML.it L'avatar di mikkuz
    Registrato dal
    Apr 2004
    Messaggi
    53
    Al posto di Val(Mid(...))

    metti

    InStr(1, Text2.Text, "1", vbTextCompare)

    vedi che quqlunque sia la posizione di 1 lo trova.

    E' falsa solo se 1 non viene digitato!

    Ciao
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Grazie a tutti e 2
    Ora provo tutte e due le soluzioni,approfitto ancora un pò del vostro sapere......
    Sempre che sia possibile come posso sostituire il seguente codice con una variabile o una funzione?
    Private Sub Command1_Click()
    if text1.text = form1.N1.text then text3.text = form1.CN1.text
    end if
    end sub
    if text1.text = form1.N2.text then text3.text = form1.CN2.text
    end if
    end sub
    if text1.text = form1.N3.text then text3.text = form1.CN3.text
    end if
    end sub
    if text1.text = form1.N4.text then text3.text = form1.CN4.text
    end if
    end sub
    if text1.text = form1.N5.text then text3.text = form1.CN5.text
    end if
    end sub
    if text1.text = form1.N6.text then text3.text = form1.CN6.text
    end if
    end sub
    if text1.text = form1.N7.text then text3.text = form1.CN7.text
    end if
    end sub
    if text1.text = form1.N8.text then text3.text = form1.CN8.text
    end if
    end sub
    if text1.text = form1.N9.text then text3.text = form1.CN9.text
    end if
    end sub
    if text1.text = form1.N10.text then text3.text = form1.CN10.text
    end if
    end sub

    questi sono solo 10 controlli ma ne ho bisogno almeno 60 più volte!
    Grazie ancora

  8. #8
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    bah solo per chiarezza usa il select:

    codice:
    Select Case Text1.Text
            Case Is = Form1.N1.Text
                Text3.Text = Form1.CN1.Text
            Case Is = Form1.N2.Text
                Text3.Text = Form1.CN2.Text
            Case Is = Form1.N3.Text
                Text3.Text = Form1.CN3.Text
        End Select
    non so se ci sia un altro modo!
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Grazie farò cosi',non sarà più corto ma almeno è corretto
    Avrò ancora bisogno il vostro aiuto... ora ho quasi finito la parte del programma relativa alla gestione dei dati tra 2 o 3 giorni mi devo deticare al salvataggio dei file e alle opzioni del programma.....
    Penso che mi odierete alla fine
    Visto che mi trovo chiedo ancora una cosa:come mai se faccio delle textbox non riesco a dargli le stesse dimensioni ma le arrotonda il programma?tipo 1 larga 4000 l'altra me la fà 4005 anche se io scrivo 4000 non lo accetta e la stessa cosa mi capita per l'altezza della casella....non capisco...

  10. #10
    Utente di HTML.it L'avatar di mikkuz
    Registrato dal
    Apr 2004
    Messaggi
    53
    La cosa è semplice.
    Crea una textbox, imposta la grandezza, poi copiala ed incollala ed alla domanda creare una array rispondi NO !
    La creerà della stessa dimensione della prima !!!
    Per le dimensioni sulla singola textbox il VB6 non da problemi, io imposto tranquillamente larghezze come 4001, 377, e cosi' via !! :master:
    Ciao

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.