[ MACTEPx @ 05.11.2005. 19:13 ] @
sta ako mi treba string[300], a dozvoljeno je do 255?
[ morlic @ 05.11.2005. 19:53 ] @
Koristi

s: string; // gde je ogranicenje 2GB

ili

a: array [0..300] of char; // sto ima svoja ogranicenja.

Ono sto ti pokusavas je deklaracija short string-a, ali njegova maksimalna velicina je byte vrednost tako da ne moze da ide preko 255.
[ reiser @ 06.11.2005. 00:14 ] @
Ako pricamo o Delphi-ju:

Citat:

The reserved word string functions like a generic type identifier. For example,

var S: string;

creates a variable S that holds a string. In the default {$H+} state, the compiler interprets string (when it appears without a bracketed number after it) as AnsiString. Use the {$H-} directive to turn string into ShortString.


Dakle, ako deklarises neku promenljivu kao String, ona ce po defaultu biti tipa AnsiString, duzine 2^31 karaktera. Mozes da iskoristis {$H-} direktivu kako kompajler ne bi tretirao String kao AnsiString [2^31] vec kao ShortString [255].

Ako pricamo o Pascalu:
Kao sto je morlic rekao, koristi Array[0..n] of Char;

[Ovu poruku je menjao reiser dana 06.11.2005. u 04:45 GMT+1]
[ MACTEPx @ 06.11.2005. 13:06 ] @
i kad stavim s:string; opet je ogranicenje 255! a da li sa array of char
moze da se radi sa pascalovim funkcijama za rad sa stringovima npr. concat,
copy, pos...?
[ Srki_82 @ 06.11.2005. 14:51 ] @
Ne mozes raditi sa standardnim funkcijama za stringove... nisam siguran da li postoje ekvivalentne funkcije u Pascalu za rad sa null-terminated stringovaim.

Zasto ti trebaju tako veliki stringovi?
[ morlic @ 06.11.2005. 18:19 ] @
Ja se izvinjavam za dezinformaciju ako se radi o Pascal-u, a ne o Delphi-u. Znaci, ono sto sam rekao vazi za Delphi. Pascal je obsolete :)