Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    quante righe nalla mia text

    ciao a tutti/e

    ho una textbox, mettiamo che contenga ciò che è contenuto tra i seguenti separatori:

    ---------------------------
    wfref erfref erf refjnerfkenrger gergn erg
    erg ergerger gerglk erger gerglk ergerg erg ergkler gre
    gelr gerg egkermg erg erger gerlg erg
    ---------------------------

    in questo caso 3 righe ti finto testo.
    come faccio a fare un ciclo che mi conta le righe per sapere quante sono e mi metta in altrettante msgbox il testo prima della prima riga, poi della seconda, poi della terza?

    grazie per l'aiuto
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  2. #2
    conti i vbcrlf
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    ok, vbcrlf inteso come ritorno a capo, ma io quel testo che vedi non devo scriverlo, devo leggerlo, devo contare le righe e non so come fare a dirgli di contare le righe, lo stesso, non so coma fare a dirgli di selezionare il testo di una riga, poi di qella dopo e così via fino a quando finiscono le righe, non so da che parte cominciare, idee zero
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  4. #4
    Se le righe vanno a capo con vbCrLf, puoi usare la funzione Split:
    codice:
    Dim s() As String
    Dim i As Integer
    
    s = Split(Text1.Text, vbCrLf)
    
    Text2.Text = s(0)
    Text3.Text = s(1)
    '...
    Chi non cerca trova.

  5. #5
    ottimo, grazie, funziona, ora l'unico problema che rimane è che deve farlo dinamicamente, in un ciclo e deve fermarsi quando arriva in fondo, come faccio a sapere quante righe di testo sono contenute nella mia text?
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  6. #6
    perchè in questo modo

    Dim s() As String
    Dim i As Integer

    Do While (quale condizione?)
    s = Split(Text1.Text, vbCrLf)

    Text2.Text = s(i)
    Text3.Text = s(i)
    '...
    i=i+1
    Loop

    funziona ma non so a che numero d'indice digli di fermarsi
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  7. #7
    sai già quante textbox hai sul form o no?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Originariamente inviato da emerson74
    perchè in questo modo

    ...

    funziona ma non so a che numero d'indice digli di fermarsi
    Puoi sempre guardarti l'indice superiore dell'array, con la funzione UBound:
    codice:
    n = Ubound(s)
    For i = 0 To n
       '...
    Next
    Chi non cerca trova.

  9. #9
    si scusa, ho perso un po la traccia di quello che effettivamente era il programma, non scrive all'interno di tante textbox, ho copiato quanto scritto da tas che non era correttissimo......correggo:

    "finto testo" ipoteticamente contenuto della textbox:
    ---------------------------
    wdiwerfjernfòjernfref+
    erfergftrgtr gtrg trgtr gtr g56 g56g
    56g56 g56 g56 g56 g56 g56gy5h 76
    56h67 h76 hy76 hu76u j 7878
    ---------------------------

    quello che devo fare è mettere in un array le varie righe lette nella text ma per sapere quando il programma si deve fermare prima le deve contare

    perchè in questo modo non sa quando deve uscire dal ciclo e lo dovrebbe fare dinamicamente


    Dim s() As String
    Dim i As Integer
    s = Split(Text1.Text, vbCrLf)

    Do While (quale condizione?)

    mioarray(i) = s(i)
    i=i+1

    Loop

    ecco, così è corretto, ma quale condizione va messa nel while rimane un mistero
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  10. #10
    nel codice che ti ha postato tas, hai già un array contenente il testo... una riga per ogni indice.
    nel momento in cui fai questa operazione:
    codice:
    s = Split(Text1.Text, vbCrLf)
    stai dicendo all'array s() di mettere una riga per ogni indice. l'array si dimensiona da solo.
    Quindi non ti occore un altro array in cui memorizzare le stringhe.

    nella stringa di esempio postata da te avrai questo:
    codice:
    ------------------------------------
    wdiwerfjernfòjernfref+ 
    erfergftrgtr gtrg trgtr gtr g56 g56g 
    56g56 g56 g56 g56 g56 g56gy5h 76 
    56h67 h76 hy76 hu76u j 7878 
    ------------------------------------
    Dim s() As String 
    
    s = Split(Text1.Text, vbCrLf)
    in questo caso l'indice massimo di s sarà 3:
    s(0) = "wdiwerfjernfòjernfref+"
    s(1) = "erfergftrgtr gtrg trgtr gtr g56 g56g"
    s(2) = "56g56 g56 g56 g56 g56 g56gy5h 76"
    s(3) = "56h67 h76 hy76 hu76u j 7878"



    Mi sono spiegata correttamente?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.