Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Lunghezza stringhe VB

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    265

    Lunghezza stringhe VB

    Se dichiaro una stringa in quetso modo:

    dim stringa as String

    quanti caratteri potrà contenere al massimo???

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Le stringhe di lunghezza variabile possono contenere fino a circa 2 miliardi (2^31) di caratteri.

    Le stringhe di lunghezza fissa possono contenere da 1 a circa 64 KB (2^16) di caratteri.

    Ti potranno bastare?
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    265
    direi di si....ci posso scrivere un libro! :gren:

    Le uniche limitazioni le posso avere se passo per ODBC...accetta al massimo 65000 caratteri!

    Grazie 1000

  4. #4
    ciò che scrive vonkranz è falso. le stringhe a lunghezza variabile raggiungono al massimo 64KB, quelle a lunghezza fissa servono a evitare sprechi di memoria. kranz, ragiona: 2 GB e passa di variabile?... :quote: :quote: :quote:

    http://msdn.microsoft.com

    String data type

    A fundamental data type that holds character information. A String variable can contain approximately 65,535 bytes (64K), is either fixed-length or variable-length, and contains one character per byte. Fixed-length strings are declared to be a specific length. Variable-length strings can be any length up to 64K, less a small amount of storage overhead.

    The type-declaration character for the String data type is $.
    String data type
    A fundamental data type that holds character information. A String variable can contain approximately 65,535 bytes (64K), is either fixed-length or variable-length, and contains one character per byte. Fixed-length strings are declared to be a specific length. Variable-length strings can be any length up to 64K, less a small amount of storage overhead.

    The type-declaration character for the String data type is $.
    Vladislav III din Sighisoara,
    conte di domnitor al Valahiei
    denumit Tepes sau al Dracului


    ...ce tie nu-ti place altuia nu-i face...

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

    X Vlad Tepes

    Ma io mi chiedo:
    Secondo te ho sparato quelle cifre cosi' a caso?!

    ...probabilmente e' la Micro$oft che dichiara il falso (o almeno il suo Help in linea...) e che non ragiona:

    Ecco cosa dice l'help in linea di VB riguardo i tipi di dati string. (questa volta lo riporto per intero):
    Tipo di dati String


    Esistono due tipi di stringa:

    Stringhe di lunghezza variabile, che possono contenere fino a circa 2 miliardi (2^31) di caratteri.


    Stringhe di lunghezza fissa, che possono contenere da 1 a circa 64 KB (2^16) di caratteri.
    Nota Una stringa di lunghezza fissa di tipoPublic non può essere utilizzata in unmodulo di classe.

    I codici per i caratteriString sono compresi fra 0 e 255. I primi 128 caratteri (0-127) del set di caratteri corrispondono alle lettere e ai simboli di una tastiera standard americana. Questi primi 128 caratteri sono gli stessi definiti dal set di caratteriASCII. I successivi 128 caratteri (128-255) sono caratteri speciali, quali lettere di alfabeti internazionali, accenti, simboli di valuta e frazioni.Ilcarattere di dichiarazione del tipo per String è il simbolo del dollaro ($).
    E se proprio non ci credi, dichiara una qualsiasi variabile As String, seleziona String premi F1 e clicca su Tipo di dati String.

    Nel caso fammi sapere....

    Cmq puo' anche essere che hai guardato in una parte di Msdn un po' vecchia.
    Saluti.
    ...and I miss you...like the deserts miss the rain...

  6. #6
    msdn vecchia?... non so con che frequenza aggionino il sito quelli di micro$oft, ma credo lo facciano piuttosto spesso... negli hlp di VB ci sono abbastanza errori... ma d'altra parte non ci vuole un genio per capire che 2 GB di variabile poteva trattarsi di un errore... visita il sito di msdn, e buona fortuna... ne avrai bisogno...
    Vladislav III din Sighisoara,
    conte di domnitor al Valahiei
    denumit Tepes sau al Dracului


    ...ce tie nu-ti place altuia nu-i face...

  7. #7
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    1) Non ci vorra' un genio pero' mi sa' che hai preso un'abbaglio:

    Giusto per provare fai girare questo:
    codice:
    Dim a As String
    Do
     a = a + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ"
     lbl.Caption = CStr(Len(a))
     lbl.Refresh
     Me.Refresh
    Loop
    e prova a vedere quando si ferma.
    E adesso non venirmi a dire che ogni singolo carattere della stringa non occupa 1 byte.

    interessante il concetto:
    negli hlp di VB ci sono abbastanza errori, mentre nell'MSDN no
    ..ovviamente il testo in neretto era sottointeso.

    2)Non ci vorra' sicuramente un genio nel leggere:
    Cmq puo' anche essere che hai guardato in una parte di Msdn un po' vecchia. (ci sono sezioni di MSDN che hanno anche 5 anni)
    3)

    e buona fortuna... ne avrai bisogno...
    Mi chi pensi di essere?
    Non ci siamo ne' mai visti, ne' mai conosciuti e te ne esci con una cosa del genere?
    Prima di parlare o scrivere medita su quello che stai facendo.
    ...and I miss you...like the deserts miss the rain...

  8. #8
    1) spiacente ma non posso fare girare quel codice, in quanto non hanno ancora inventato un compilatore vb per linux. in ogni caso so bene di cosa si parla quando si parla di spazi di memoria. la bibbia completa di nuovo e antico testamento occupa circa 4 mb di memoria... non 8000 mb.
    2) non devo venirti a dire che un SINGOLO carattere occupa un byte?........ il codice ASCII è composto da 256 caratteri, fatti due conti... che cos'é un bit?... quanti bit sono necessari per avere 256 differenti combinazioni?... e da quanti bit è composto un byte?... mai sentito parlare di codice binario?...
    3) se è per questo la prima msdn è nata più 10 anni fa se non errro, ma temo che il sito venga aggiornato abbastanza frequentemente...
    4) chi penso di essere?... assolutamente nessuno, ma in questo caso qualcuno che ne sa qualcosina in più di te... so che non ci siamo mai visti né conosciuti, ma mi basta leggere ciò che scrivi... a meno che non fosse tutto una recita...
    5) bellissima la citazione nella tua firma, adesso mi sono chiare molte più cose
    Vladislav III din Sighisoara,
    conte di domnitor al Valahiei
    denumit Tepes sau al Dracului


    ...ce tie nu-ti place altuia nu-i face...

  9. #9
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    1) spiacente ma non posso fare girare quel codice, in quanto non hanno ancora inventato un compilatore vb per linux. in ogni caso so bene di cosa si parla quando si parla di spazi di memoria. la bibbia completa di nuovo e antico testamento occupa circa 4 mb di memoria... non 8000 mb.
    .. ci avrei scommesso....

    2) non devo venirti a dire che un SINGOLO carattere occupa un byte?........ il codice ASCII è composto da 256 caratteri, fatti due conti... che cos'é un bit?... quanti bit sono necessari per avere 256 differenti combinazioni?... e da quanti bit è composto un byte?... mai sentito parlare di codice binario?...
    ....appunto.... pregasi rileggere (riporto il testo per comodita'), due non di seguito a volte passano inosservati soprattutto quando uno ha gia' le idee troppo chiare....

    E adesso non venirmi a dire che ogni singolo carattere della stringa non occupa 1 byte.
    4) chi penso di essere?... assolutamente nessuno, ma in questo caso qualcuno che ne sa qualcosina in più di te... (sicuro???) so che non ci siamo mai visti né conosciuti, ma mi basta leggere ciò che scrivi... (Profiler...) a meno che non fosse tutto una recita... assolutamente no
    ....WOW.......

    5) bellissima la citazione nella tua firma, adesso mi sono chiare molte più cose
    ...e chiudiamo in bellezza!!!

    Dimenticavo un'altra piccola, insignificante annotazione: se non hai un compilatore VB, come fai ad affermare che:
    negli hlp di VB ci sono abbastanza errori...
    .... lo so, lo so.... l'hai visto sul PC di un amico....

    Sull'epilogo di questo thread, ormai diventato un po' antipatico e andato abbastanza fuori tema, lascerei decidere al ns. moderatori

    Saluti e baci....
    ...and I miss you...like the deserts miss the rain...

  10. #10
    Smorziamo gli animi perfavore...

    Credo che ci voglia un pò più di garbo nel rispondere a un'altra persona, anche se si pensa che questa abbia commesso un errore...


    THREAD CHIUSO!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.