program: Amiga KONTEKST v2.0 (PD program) kto: Piotr Gapiïski gdzie: Olsztyn kiedy: lipiec/sierpieï 1994r KONTEKST? Tak, KONwerter TEKSTów, a dokîadniej ich standardów. Ostatnimi czasy programów tego typu powstaje coraz wiëcej, praktycznie kaûdy kto wîada choê trochë jakimô jëzykiem programowania ma na swoim koncie takowy program. Nikt sië nie zraûa faktem, ûe czësto sâ to produkcje fatalnej wrëcz jakoôci. Ja postanowiîem nie byê gorszy i w ramach zaznajamiania sië z systemem 2.0 (osobiôcie posiadam 1.3) postanowiîem COÔ napisaê, a ûe jest to konwerter to zbieg okolicznoôci. Jako jëzyk wybraîem HSPascal 2.0, choê poprzednie wersje byîy napisane w ANSI C - wizja kompilacji programu na komputerze A500 2.5MB bez HD przyprawia mnie o dreszcze (brrr). Niestety wynikîy z tego pewne komplikacje. Pascal nie jest jëzykiem szybkim i dajâcym maîy kod wynikowy. Mimo, ûe newralgiczne fragmenty KONTEKSTa zostaîy napisane w pascal'owskim (wewnëtrznym) asemblerze, sam program nie dziaîa szybko (mówiâc któtko: szybkoôê nie jest jego domenâ). PROGRAM. No cóû, powinien dziaîaê z systemami operacyjnymi w wersjach od 1.3 do 3.0. Nieliczni uûytkownicy KS1.2 bëdâ byê moûe zawiedzeni ale przynajmniej program nie zawiesi ich komputera tylko wyôwietli stosownâ informacjë. Takie "stosowne informacje" pojawiâ sië takûe w przypadku braku wolnej pamiëci (a trzeba jej TROCHË posiadaê - program nie jest pamiëciooszczëdny) lub bîëdu otwarcia bibliotek. Program koûysta z reqtools.library (lub jej spolszczonej wersji: reqpools.library), popwerpacker.library (opcjonalnie - nie jest niezbëdna), gadtools.library (lub, podczas pracy w systemie 1.3, gadtools13.library), dos.library, intuition.library i graphics.library. Jako, ûe polski program powinien komunikowaê sië z uûytkownikiem w jëzyku polskim, tak wiëc i KONTEKST jest przystosowany do wspóîpracy ze standardem AmigaPL. Dla wszystkich tych, którzy nie zadali sobie trudu instalacji tego standardu w pamiëci komputera dostëpna jest wersja programu z wbudowanymi polskimi znakami ("AKT_PL"). ZMIANY. Objëîy one przewaûnie funkcje obsîugujâce stany krytyczne (nadpisywanie plików, bîëdy odczytu, braku pamiëci) oraz niezbyt poprawnie dziaîajâce procedury konwersji standardów i tworzenia paragrafów. Lista standardów rozrosîa sië do osiemnastu (docelowych) i obejmuje wszystkie waûne standardy zarówno IBM'a jak i Amigi. Poza tym nareszcie moûna wybieraê do konwersji wiele zbiorów jednoczeônie (multiselect) oraz obsîugiwaê skompresowane pliki (prócz zakodowanych) - niezbëdna jest biblioteka powerpacker.library. Znalazîo sië teû miejsce na procedurë wyôwietlajâcâ informacje o wykonywanej czynnoôci. Moûna je odczytywaê z listwy okienka, a przy koûystaniu z HD lub RAM'u moûna przynajmniej spróbowaê odczytywaê - napisy bardzo szybko sië zmieniajâ. OPIS. Nie bëdë tutaj powielaî tego co moûna zobaczyê (przeczytaê) po wîâczeniu opcji "pomoc" w programie. Skupië sië tylko na szczegóîach. Naciôniëcie klawiszy SH '/' (znak ?) powoduje wyôwietlenie informacji o wersji programu oraz daty i czasu kompilacji (nr seryjny). Uûywane litery to: V-wersja; D-data (dzieï, miesiâc, rok); T-godzina; R-podwersja. Naciôniëcie prawego przycisku myszki, gdy program jest uruchomiony z wyîâczonâ opcjâ "wîasny ekran", powoduje zmniejszenie/zwiëkszenie wielkoôci jego okienka. Znaki nie naleûâce do wybranego standardu úródîowego nie podlegajâ konwersji. Kasowanie úródîowego pliku nastâpi tylko wtedy gdy opcja "kasowanie úródîowych plików" bëdzie wîâczona i dane po konwersji zostanâ zapisane prawidîowo. Jako ûe kasowanie nastëpuje na samym koïcu konwersji zawiodâ sië wszyscy ci, którzy bëdâ chcieli uûywaê tej opcji aby zaoszczëdziê parë kilobajtów na dysku. W pewnym momencie zapisane bëdâ dwie kopie jednego pliku (úródîowa i docelowa), potem plik úródîowy zostanie usuniëty! Jeûeli nie zostanie wykryta biblioteka powerpacker.library opcja "kompresowanie..." bëdzie wyîâczona i zablokowana. Parametry kompresji sâ niezmienne. Standardowo sâ to: CRUN_BEST oraz SPEEDUP_BUFFLARGE. W przypadku braku pamiëci na taki bufor nastâpi jego zmiana na SPEEDUP_BUFFMEDIUM lub opcja "kompresja..." zostanie wyîâczona. W przypadku bîëdu lub przerwania kompresji (jednoczesne naciôniëcie lewego i prawego przycisku myszki) kompresowany plik nie zostanie zapisany. Nie moûna wznowiê przerwanej kompresji. Nazwa "ProWrite" to synonim standardu "Pieriestrojka", "ASCII" - zastëpuje polskie litery kodami standardowych znaków ASCII. BÎËDY. Program testowaîem osobiôcie na komputerze A500 KS2.04 2.5MB 2FD oraz A500 KS1.3 1MB 2FD. Dziaîaî wyômienicie choê czasami poûeraî trochë pamiëci (do 100KB!). Niestety nie udaîo mi sië wyjaôniê przyczyn tego zjawiska. Wiadomo, program dziaîa najlepiej na sprzëcie na którym powstaî. Niemniej jeûeli zostanâ wykryte jakieô bîëdy to prosze o kontakt ze mnâ (adres jest koïcu tego tekstu). Nowa wersja (o ile powstanie) bëdzie pozbawiona wykrytych niedopatrzeï i rozszerzona o nowe funkcje. W tej wîaônie chwili koïczë pisaê procedurë formatujâcâ tekst na okreôlonâ iloôê zanków, a w przyszîoôci zajmë sië procedurâ formatujâcâ tekst w n-kolum. Mój adres: Piotr Gapiïski ul. Stokowa 19 11-041 Olsztyn UWAGA! jeûeli ktoô posiada opisy formatów zapisu plików przez programy DTP to proszë o kontakt ze mnâ.