RE: string overflow

Maulis Adam <maulis@ludens.elte.hu>

> Sziasztok !
> 
> 
> Hogyan lehet olyan text fájlt feldolgozni, amelynek sorai hosszabbak, mint
> amit elvisel egy változó ?

Szia!

Sajnos a DCL-ben van jócskán limit. Meg úgy egyébként is.
Maga az RMS sem kezel 32767 (65533) karakternél hosszabb sorokat.
A DCL symbolum alapvetően 1024 karakter lehet maximum, 
kivétel egyetlen egy esetpár:
READ és a WRITE/SYMBOL bármilyen (32767) hosszú sztringet képes
kezelni. Egyetlen egy más művelet (lexical, sh sym) nem kezel 
1024 karakternél hosszabbat.

Ha alapvetően szöveges fájlokról van szó, akkor csinálhatod a 
   feldolgozást TPU -ban (Text Processing Utility, egy önnálló 
   programozási nyelv, EDIT/TPU/NOSECTION/COMMAND=myprog.tpu file) elég 
   egyszerű nyelv, és sokat tud. (Például az EVE editort (EDIT/TPU) 
   is ezen a nyelven írták meg.)

   Persze, választhatsz valami hagyományos, 3gl nyelvet is script 
   helyett.

Ha alapvetően bináris fileról van szó (fix rekord hossz, lásd DIR/FULL)
   akkor SET FILE/ATTRIB=(mrs=512) paranccsal megváltoztathatod a 
   rekordméretet, és feldolgozhatod részletekben, azonban ez a 
   "real hack" kategória, nem javaslom.


Azt rebesgetik a fecskék, hogy a következő VMS-ben a DCL néhány
limitjét (parancshossz, talán a szimbolum nagysága is) emelni 
fogják.

Üdv,
Maulis Ádám

> 
> Kösz,
> 	Zoli