Pascal: nem fix hosszúságú string rekordban történő használatára van lehetőség?
Gondolok itt arra a problémára, hogy például egy címjegyzék-nyilvántartó esetén a név tárolására egy string 255 bájtot foglal, ha nincs bekorlátozva bizonyos hosszúságúra.
Ez esetben meg a kérdés felmerül, hogy ha a fix hossznál hosszabb nevet írnak be akkor az nem fér ki.
A mai tárkapacitás mellett persze nem gond az ilyen helyfoglalás, csak érdekelne, hogy más programnyelvek ezt miként oldják meg, illetve Free Pascal esetén lenne -e rá megoldás hogy az adathossznak megfelelő karakterszám legyen lefoglalva string esetén.
Freepascal-ban a string kétféle lehet: shortstring (ez a turbo pascalos stringnek felel meg) vagy ansistring (ez már dinamikusan foglalja a memóriát).
A második kérdésedre: nem tudja, ezt nem is lehet így kiírni és beolvasni. Ha egy rekordot írsz ki a memóriából fájlba, akkor az ansistring-ból csak a pointert írná ki, a pointer által meghatározott memóriacímtől kezdődő tartalmat nem, pedig maga a szöveg ott lenne.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!