Newsgroup: it.comp.lang.delphi
Titolo: Chr(0)

Ciao a tutti.
Ho un oggetto query, su questo oggetto ho bisogno di aggiungere un campo
calcolato che debba contenere la seguente stringa concatenata:
xStr := chr(27) + chr(40) + chr(66) + chr(0) + chr(5) + chr(3) + chr(0)
+ chr(75) + chr(0) + chr(2)
dove xStr è dichiarata di tipo string.XStr contiene tutti i caratteri
che sono messi sopra.
Se io creo un campo calcolato di tipo String e gli vado ad assegnare
nell'evento OnCalcFields il valore di xStr, la stringa viene troncata al
primo chr(0) che si incontra.
Domanda:
quale tipo di campo devo utilizzare per fargli contenenre ESATTAMENTE la
stringa che ho composto?
Devo usare una procedura diversa dalla semplice assegnazione del valore
(xQ.FieldByName('cCalcolato').asString := xStr) ?
Vi ringrazio
Ciao ciao
Mary
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 stringa che ho composto?
blob
-- 
Alberto Salvati
A NEAPOLITAN Delphi Developer who is studying c# and .net
"Dicette 'o pappece 'nfaccia 'a noce dammi 'o tiempo che pure te spertoso"

 ha scritto nel messaggio
news:d2gl7o$1au8$1...@newsreader2.mclink.it...
: > Se io creo un campo calcolato di tipo String e gli vado ad assegnare
: > nell'evento OnCalcFields il valore di xStr, la stringa viene troncata al
: > primo chr(0) che si incontra.
:
: xche ti stupisci? :)
Forse perchč ha poca dimestichezza con il C dove quel carattere significa
EndOfString ?
Andrea

In effetti non conosco C, e non mi stupisco perchč #0 mi tronca 
la stringa,ma perchč me la tronca se la metto in un campo DB, 
e non me la tronca invece se la assegno ad una variabile stringa.
Quindi mi chiedevo quale fosse la differenza tra i due...
Il campo Bolb come altri tipi di campi non possono essere campi
calcolati
quindi non posso assegnare il mio valore...
:-(


 (xQ.FieldByName('cCalcolato').asString := xStr) ?
Dopo che ho fatto svariate prove, tutte col medesimo tuo risultato, ho
pensato che se fossi in te calcolerei il valore stringa solo quando mi
serve: siccome somiglia molto ad una sequenza di caratteri di controllo da
inviare ad una stampante (la famosa sequenza di escape), elaborerei la
stringa quando l'utente chiede la stampa e la invierei direttamente alla
stampante, senza preoccuparmi di salvarla ne' tantomeno di renderla a
video.
Rimango comunque in ascolto perchè la cosa mi incuriosisce.
Saluti
	Marco Bortolani
	info @ 
marcobortolani.it

Mary ha scritto:
[cut]
Prova a dichiarare xStr come ShortString[x] dove x è la lunghezza in 
caratteri della stringa. Poi indicizzi ogni singolo carattere e lo 
assegni alla stringa. Se non sbaglio in questo modo la stringa può 
contenere anche #0
Non so se comunque il problema ti venga risolto, perchè poi nel 
passaggio al campo la stringa potrebbe essere nuovamente troncata... da 
verificare.
Però, domanda: se effettivamente, come scrivi, questo campo calcolato ha 
sempre un valore costante, perchè sprecare tempo e risorse quando una 
semplice variabile/costante potrebbe fare al caso tuo?
Ciao,
Gianluca.

Solo per non lasciare in sospeso l'argomento, non c'è stato verso!
In un field di tipo stringa non si può salvare un CHR(0)!
Che tristezza ragazzi!
Buona serata!


 
Concordo: ma come hai risolto infine il problema originale?
	Marco