
linebreak.pxp v1.0

Tai programa PXP Plus aplinkai (Business Basic kalba), skirta teksto ilg eilui suskaidymui  trumpesnes. 

Ikviesta be parametr pateikia savo versij ir naudojimo format.

(c)2026, Vartiklis, Jonas Skendelis.  linebreak.pxp yra platinama pagal 
MIT License (r. faile license.txt) licenzij. Ji leidia neribotai 
naudoti, kopijuoti, modifikuoti, platinti ir pardavinti jos kopijas.

Taiau visose io programinio produkto pilnose kopijose ar atskirose 
dalyse turi bti isaugomas autorinis raas bei licenzijos tekstas.

Panaudojimas

Kadangi PXP Plus veikia kaip interpretatorius ir nekompiliuoja programos
 vykdom dvejetain kod (EXE), j galima vykdyti tik su _pxpplus_ 
programa. Programai btina perduoti parametrus, nurodanius veikimo aplink.

Parametrai perduodami grieta tvarka. Pirmi du  teksto failo ir rezultato
failo vardai. Po j gali bti eiluts ilgi valdymo parametrai MIN ir MAX
(leistinos tiek didiosios, tiek maosios raids ir j eils tvarka nesvarbu).
Jie nra btini ir jei praleisti, tai naudojamos nutylimosios reikms 68 ir 80.
Bet kokie kitokie panaudojimo formatai sukelia klaidos praneim.

Tad parametr formatas bt:
pradinis_failas rezultato_failas [MIN=nn] [MAX=nn]
kur nn  sveiki skaiiai ir MIN <= MAX

Kadangi PXP Plus nekompiliuoja programos  vykdomaj fail, o yra interpretatorius,
programos parametrus reikia perduoti startuojant pat PXP Plus.  PXP Plus leidia
sukompiliuoti  tarpin baitin kod, tada j galima nurodyti kvieiant  PXP Plus, pvz.

pxplus -arg pradinis.txt suskaidytas.txt MIN=70 MAX=102 linebreak.pgm

Kitas bdas  ikviesti PXPPLUS su parametrais (kaip ankstesniame pavyzdyje,
tik be programos vardo), o tada kelti (Load) pradin programos kod (linebreak.pxp)
ir j vykdyti PXP Plus aplinkoje.

Smulkesnis apraymas

Kartais tekstiniame faile eiluts yra labai ilgos, pvz., visa pastraipa 
yra isaugota kaip viena eilut. Tok tekst sunkiau skaityti, tad natralus 
noras jo eilutes matyti trumpesnmis. Tam galime pasinaudoti kai kuriomis 
programomis (pvz., Notepad++ Word Wrap reimas nurodo, kad perirint 
tekst jo eiluts bus lauomos taip, kad visad tilpt  ekran; jei 
t lauin ufiksuoti, reikia vykdyti operacij Edit -> Line Operations 
-> Split Lines). Yra ir daugiau program (pvz. Microsoft WinWord), 
leidiani isaugoti tokius lauinius.

Taiau ne visada tinkama programa yra po ranka, o kartais jos yra komercins 
ir nepigios, tad paprastam ir greitam sprendimui Perl kalboje buvo 
sukurta linebreak.pl programa, kuri nuskaito pradin tekst ir visas 
jo eilutes suskaido  trumpesnes pagal nurodytus parametrus. Vliau i 
programa buvo perkelta  awk kalb tapdama linebreak.awk skriptu.
Vliau programa realizuota
Pastaba: Program Perl aplinkai galite parsisisti i puslapio:
http://www.lithuanian.net/advancedhtml/perl.htm#linebreak
Program AWK kalba i:
http://www.lithuanian.net/advancedhtml/awk2.htm#linebreak
o taip pat ir visas kitas versijas, i
http://www.vartiklis.lt/lthfree/lthfree.htm

Skaidymo valdymui yra naudojami du parametrai: vienas nurodo minimal 
eiluts ilg, o kitas maksimal leistin ilg. Eilut iki minimalaus 
ilgio nra skaidoma, o j pasiekus, toliau iekoma tarpo simbolio, ties 
kuriuo eilut ir lauiama. Jei tarpas nra surandamas iki pasiekiant maksimal
eiluts ilg, eilut prievarta lauiama ties maksimaliu nurodytu ilgiu.

Tad emiau pateikta komanda sulauys tekst i pradinis.txt failo 
 eilutes, ne trumpesnes nei 70 simboli, taiau ne ilgesnes 
nei 102 simboliai, t.y. ties pirmu tarpu, esaniu po 70-os pozicijos. Rezultatas 
bus u=ra6ytas  fail suskaidytas.txt.

pxplus -arg pradinis.txt suskaidytas.txt MIN=70 MAX=102 linebreak.pgm

Priedas

Linux komandos fold ir fmt

Linux turi komand fold, kuri atlieka labai pana darb  ilgas eilutes 
suskaito  trumpesnes.
Jos formatas:
fold -s [opcijos] [failas]
Leistinos tokios opcijos:
-s - skelti ties tarpais;
-w NNN  eiluts ilgis yra NNN simboli;
- b  skaiiuoti baitus, o ne simbolius.

Dar lankstesn ir daugiau galimybi suteikianti yra Linux komanda fmt, 
performatuojanti teksto pastraipas ir rezultat ivedanti  standartin 
ivedimo rengin. Jos formatas:
fmt [-WIDTH] [OPTION]... [FILE]..

[-WIDTH] yra eiluts ilgio nurodymo formatas, kur galima nurodyti vairiai: 
-NNN, -wNNN ar -w NNN (nutylint yra 75)
[OPTION] yra opcija, nurodanti specifin veikimo bd (-c, -p, -s, -t, 
-u), nurodant, kaip interpretuojamas pastraipos traukimas, kaip pastraipa 
upildoma tarpais ir kita. ia jos nebus aptariamos, - skaitykite komandos
apraym.

Pastaba: fold ir fmt komanda yra ir tarp Unix stiliaus utilit Windows 
terpei UnxUtils. Jas galima parsisisti i svetains:
https://sourceforge.net/projects/unxutils/

