Program Sofil (SortFile) umo§åuje setý¡dØn¡ souboru (typov‚ho - ne textov‚ho!) souboru podle zadanìch, d le popsanìch, krit‚ri¡. Mo§n‚ zp…soby tý¡dØn¡ odpov¡daj¡ bاnìm pascalskìm typ…m. Program Sotek (SortText) tý¡d¡ textov‚ soubory buÔ implicitnØ podle prvn¡ch osmi m¡st ý dku nebo opØt podle zadanìch krit‚ri¡. D le jsou pops ny parametry vol n¡ obou program…. ------------------------------- Vol n¡: SOFIL vstup vìstup /Sl /K(k1)[+(k2)[+(k3)[...]]] [/R] [/H|/?] [/C] [/LE|/LC|/LG] kde "vstup" je vstupn¡ soubor, "vìstup" je setý¡dØnì soubor (mo§no i vŸetnØ pý¡padnìch cest). Parametr S definuje d‚lku vØty souboru. ki definuje i-tì kl¡Ÿ pro tý¡dØn¡ (max. 10 kl¡Ÿ…). Form t kl¡Ÿ… je uveden d le. Parametr R urŸuje opaŸnou posloupnost tý¡dØn¡. Parametr L s dalç¡m znakem urŸuje jazyk zpr v. Nyn¡ je E-angliŸtina, C-Ÿeçtina a G-nØmŸina. Je-li parametr /C uveden souŸasnØ s parametrem /Lx, provede se trval‚ prom¡tnut¡ jazykov‚ mutace do programu. Parametr /H resp. /? zp…sob¡ vìpis n povØdy. D‚lka vstupn¡ho souboru nen¡ nijak omezena. Podm¡nkou je pouze dostatek m¡sta pro vìstupn¡ soubor a soubor kl¡Ÿ… na disku. Kl¡Ÿe se zapisuj¡ ve tvaru X,n nebo X,n,m[,[t][C]], kde n je pozice zaŸ tku polo§ky ve vØtØ (poŸ¡t no od 1) a m je d‚lka polo§ky. t definuje k¢d tý¡dØn¡ a m…§e nabìvat hodnot A - ASCII, L - Latin2, K - KameniŸt¡ a "C" definuje tý¡dØn¡ s ohledem na velk  a mal  p¡smena. Volby "m", "t" a "C" jsou pý¡pustn‚ pouze pro polo§ky typu A a S. X pak m…§e nabìvat hodnot: A - ascii ýetØzec (pole znak…), d‚lka mus¡ bìt definov na S - ýetØzec, d‚lka mus¡ bìt definov na B - byte, d‚lka 1 H - shortint, d‚lka 1 R - real, d‚lka 6 I - integer, d‚lka 2 W - word, d‚lka 2 L - longint, d‚lka 4 G - single, d‚lka 4 D - double, d‚lka 8 E - extended, d‚lka 10 C - comp, d‚lka 8 Napý¡klad: SoFil Alfa.dat Beta.Dat /S32 /K(I,2)+(R,12)+(S,17,10) Setý¡d¡ soubor Alfa.dat, s d‚lkou vØty 32 znak… a setý¡dØnì soubor zap¡çe pod jm‚nem Beta.dat. Pro setý¡dØn¡ se pou§ije kl¡Ÿ vytvoýenì ze týech definovanìch Ÿ st¡ a sice Integer Ÿ¡sla zaŸ¡naj¡c¡ho na 2. pozici ve vØtØ, real Ÿ¡sla z 12. pozice vØty a ýetØzce, zaŸ¡naj¡c¡ho na pozici 17 ve vØtØ. Pozn mka: pýi specifikaci polo§ky typu String je týeba specifikovat pozici zaŸ tku ýetØzce jako pozici, kde je ve vØtØ um¡stØn "d‚lkovì" byte ýetØzce a d‚lku ýetØzce tak, jak je definov n v Pascalu, t.j. bez ohledu na "d‚lkovì" byte. ¬ili je-li ve vØtØ ýetØzec, definovanì v Pascalu jako String[10], a je-li hned na zaŸ tku vØty, pak v specifikaci pro tý¡dØn¡ uvedu (S,1,10). Je-li na zaŸ tku vØty polo§ka Integer (d‚lka 2 byte) a za n¡ teprve n sleduje n ç ýetØzec, pak uvedu (S,3,10). ==================================================================== Vol n¡: SOTEK vstup vìstup [/Kz1,l1[,z2,l2[...]]] [/R] [/C] [/LE|/LC|/LG] [/M[A|L|K][C]] kde "vstup" je textovì soubor, "vìstup" je setý¡dØnì soubor (mo§no uv‚st i vŸetnØ pý¡padnìch cest). zi a li jsou zaŸ tek a d‚lka i-t‚ho kl¡Ÿe, pýiŸem§ pozice se poŸ¡taj¡ od 1 a max. poŸet kl¡Ÿ… je 10. Nejsou-li pozice uvedeny, tý¡d¡ se od pozice 1 v d‚lce 8. Parametr R urŸuje opaŸnou posloupnost tý¡dØn¡. Parametr L s dalç¡m znakem urŸuje jazyk zpr v. Nyni je E-angliŸtina, C-Ÿeçtina a G-nØmŸina. Parametr M urŸuje m¢d tý¡dØn¡: A=ASCII, L=Latin2, K=KameniŸt¡ a C urŸuje tý¡dØn¡ z visl‚ na velikosti p¡smen. ImplicitnØ: /MA. Je-li parametr /C uveden souŸasnØ s parametrem /Lx, provede se trval‚ prom¡tnut¡ jazykov‚ mutace do programu. Delka vstupn¡ho souboru nen¡ nijak omezena. Podm¡nkou je pouze dostatek m¡sta pro vìstupn¡ soubor a soubor kl¡Ÿ… na disku. Jiý¡ Ventluka Praha 1994 ========================================================================