Newsgroup: it.comp.lang.visual-basic
Titolo: [.NET] Stringhe a lunghezza fissa

Salve a tutti
Con 
vb.net
 non posso dichiarare delle stringhe a lunghezza definita (in vb6
Dim a as string * 12)
Come posso oviare al problema?
Grazie a Tutti

 Grazie a Tutti
L'unica cosa che ti rimane è:
Dim s As String
s = "pippo"
s = s.PadRigth(12)
if s.Length > 12 Then s = s.Substring(0,12)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Il consiglio e': Evita stringhe a lunghezza fissa.
Se proprio non puoi farne a meno usa:
vb6.FixedLengthString
o
VFixedStringAttribute
HTH
-- 
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - 
http://www.ugidotnet.org
Weblog: 
http://blogs.ugidotnet.org/corrado/

 Debug.Print Len(variabile)
1
Quindi mi ricordavo bene. Alla lunga si occupa più memoria...
bye
-- 
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it
Sinapsi Antispam. Antispam Gratuito.
http://www.sinapsi-antispam.tk
http://www.nicolaottomano.it/sinapsi.htm
Ingrosso Orologi.
http://www.supertop.it
email spamtrap: 
spam...@nicolaottomano.it

 in qualche Type.
Che poi, se non ricordo male, in VB6 una stringa a lunghezza fissa alloca la
stessa memoria di una a dimensione variabile. Ora non ho il baleno tra le
mani e non posso controllare l'affermazione.


 stessa memoria di una a dimensione variabile. 
Non ho verificato con un debugger il "dietro le quinte", ma
prova un po' questa:
Dim fissa As String * 8
Dim variabile As String
fissa = " " 		' e' uno spazio
variabile = " "		' come sopra
Debug.Print Len(fissa)
Debug.Print Len(variabile)
-- 
ciao, hal

 Come posso oviare al problema?
Mai sentita la necessità di usare stringhe a lunghezza fissa, se non in
qualche Type.
Qual è il vero problema?
Ciao
--
Reporting tool: 
http://www.neodatatype.net
Qualunque mentecatto può scrivere codice che un computer possa capire.
I buoni programmatori scrivono codice che gli uomini possano capire.
[Martin Fowler]

 Quindi mi ricordavo bene. Alla lunga si occupa più memoria...
mmm... prova questa
Dim fissa As String * 8
Dim variabile As String
fissa = "ciao Nicola"
variabile = "ciao Nicola"
Debug.Print Len(fissa)
Debug.Print Len(variabile)
;)


 Debug.Print Len(variabile)
Quello che voglio dire è che quella fissa occuperà SICURAMENTE uno spazio >=
di una variabile.
Inoltre la stringa variabile ha il vantaggio di poter essere più lunga di
quanto richiesto (e magari poi la possiamo "tagliare" dove vogliamo.
Da come detto prima:
Se devo inserire solo "ciao" conviene la stringa variabile rispetto a quella
fissa. Se devo scrivere "ciao Nicola" potrebbe convenire in apparenza una
fissa... ma siamo sicuri che TUTTI i valori che inserirò saranno ESATTAMENTE
di dimensione 8? E se fossero misti? (1,2,5,ecc..) in tal caso SICURAMENTE
converrebbe la stringa a dimensione variabile.
Ma in fondo sono solo pippe mentali :)


 Ma in fondo sono solo pippe mentali :)
Quanto segue pero' non e' una pippa mentale:
La stringa a lunghezza fissa e' utilissima quando si deve leggere
e/o scrivere in un file di cui e' nota la struttura.
-- 
ciao, hal


ha scritto nel messaggio
news:u15Sd.57122$
2h5....@tornado.fastwebnet.it

Concordo.



Dim s As New String(" "c, 12)
HTH
-- 
Massimo Prota [Microsoft .NET MCAD]
MyWebLog:  
http://blogs.ugidotnet.org/mprota
BlogFeed: 
http://blogs.ugidotnet.org/mprota/Rss.aspx