Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254

    [VB6] Strano problema sulle stringhe

    Mi succede di dovere accodare due stringhe:

    string1 = string1 + string2
    oppure
    string1 = string1 & string2

    il risultato non è quello che mi aspetto, in quanto il risultato
    su string1, è un troncamento del contenuto se la stringa che risulta
    è lunga, per lunga intendo circa 300 caratteri.

    Non pensavo che 300 caratteri sforassero il limite del tipo stringa.
    Forse mi sono perso qualcosa del film...sulle strighe!!!!!

  2. #2
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    infatti 300 non è il limite!
    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"

  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: [VB6] Strano problema sulle stringhe

    Originariamente inviato da folal
    string1 = string1 + string2
    oppure
    string1 = string1 & string2
    la lunghezza massima di una stringa mi pare che si aggiri sull'ordine dei 2 Gb e passa (e considerando che ogni carattare occupa un solo byte.....)

    ...quindi nel tuo caso si puo' supporre che string1 sia stata dichiarata come stringa a lunghezza fissa (dim string1 as sting * 300).
    ...and I miss you...like the deserts miss the rain...

  4. #4
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322

    [VB6] Strno problema sulle stringhe

    1. La lunghezza di una stringa non è di 300 caratteri....ci mancherebbe.

    2. La lunghezza di una stringa in VB non corrisponde al numero di caratteri che la formano.

    3. Le stringhe di lunghezza fissa hanno una dimensione di 64K.

    4. Le stringhe dinamiche possono avere fino a 'circa' 2 miliardi di caratteri.

    Il problema che hai riscontrato dipende forse da ciò che tu utilizzi per l'output.... es. se visualizzi una stringa di 10000 caratteri con un msgbox (il cui limite è di 1024 caratteri) avrai la stringa 'troncata'.
    Prova ad assegnare ad una stringa un testo di 5000 caratteri e poi visualizzali così:

    msgbox len(stringa) & "-" & stringa

    avrai che la stringa SEMBRA tagliata, ma le dimensioni sono quelle corrette. Si tratta in questo caso di un limite del msgbox, della label o di ciò che tu utilizzi.

  5. #5
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: [VB6] Strno problema sulle stringhe

    Originariamente inviato da junx
    2. La lunghezza di una stringa in VB non corrisponde al numero di caratteri che la formano.

    3. Le stringhe di lunghezza fissa hanno una dimensione di 64K.
    In quelle a lunghezza vairiabile sono piu' lunghe di 10 bytes rispetto alla quantita' di caratteri (quindi num di caratteri + 10) in quelle a lunghezza fissa invece corrispondono.
    ...and I miss you...like the deserts miss the rain...

  6. #6
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    in quelle a lunghezza fissa invece corrispondono.
    intendevo dire che la dimensione della stringa (come tipo di dato) non si misura in caratteri, la stringa a lunghezza fissa è una shifezza del VB.... (in dotNet l'hanno levata)


    3. Le stringhe di lunghezza fissa hanno una dimensione di 64K.
    oops... una dimensione *massima* di 64K.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254
    La visualizzazione della stringa non l'ho effettuata con msgbox, bensì
    attraverso la finestra di dubug.

  8. #8
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da folal
    La visualizzazione della stringa non l'ho effettuata con msgbox, bensì
    attraverso la finestra di dubug.
    Ma facendo LEN(string1) che valore ti restituisce?
    ...and I miss you...like the deserts miss the rain...

  9. #9
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da folal
    La visualizzazione della stringa non l'ho effettuata con msgbox, bensì
    attraverso la finestra di dubug.
    nella finestra di debug la stringa è limitata a 250 caratteri!
    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"

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254
    La LEN(string1) = 284
    Quindi se nella finestra di debug il limite è 250, l'arcano
    è svelato.

    Rigrazio tutti quanti, per avermi aiutato a fare chiarezza.....

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.