rebfpt.prg

(Апликација, Мађарска)

Укратко, васкрситељ покојних табела.

Почео сам да пишем ово још у Геменцу, јер је у КлиниСису јебени Алтос сваки час крљао табелу пацијената. Касније је тога било још, и другде - нарочито су били зајебани ззззз и понекад Ледиње, тамо је мрежа умела да се скрши и остави табеле у расулу. Ваљало би да се спомене и Лора, која би само ишчупала плави утепе кабл из своје стоне машине и пребола га у лептоп па после опет назад, ни у једном случају не излазећи из Хосија. Ал онда је на располагању био КМОправка или тако неки алат, или би само спаковали табелу те притом обновили структуру, па се нисам ни сетио да понудим ову алатку.

Није да скршених табела није било и раније - ал' се углавном сјебавало само заглавље, не стигне да упише адресу последњег блока пре затварања, па тамо пише да има мање слогова него што стварно има, или чешће обратно, да упише у заглавље али Дос не упише у Фату (тј ФАТ) последње новододате слогове, па следећи пут табела добије неке леве блокове са ђубретом уместо њих. Сале је за то био написао dbfrcn.exe, који је исправљао заглавље према стварном броју блокова, или одсецао вишак блокова, штагод, углавном решавао је тај један проблем. Обично би остало нешто ђубрета у последњем спашеном слогу, ал' је могло даље да се ради.

Било је и маштовитих догађаја, да неко например отвори табелу у Вордстару и сними је као документ, форматирану... Најгоре проблеме је правио Дос 4.0, ваљда Мајкрософтова највећа брљотка пре Пенџерија, који је умео да затури нешто блокова из средине табеле и то замени неким другим блоковима, најчешће не ни у истој дужини... каквог је ту ђубрета бивало, леле. Једном сам у клаанци седео два сата само чупајући једну табелу, једва некако спасавши око 97% слогова. Остало су проверавали на руке и уносили поново...

Дос 4 је био и остао једини ОС у ком сам успео да видим да се исти фајл појављује двапут у директорију.

Проблем је био кад се табела толико сјебе да фокс не може ни да је отвори, као што је умело да се деси кад је падао Алтос (в. 24-X-1994.), и ту не би страдали само индекси него често и мемо поља. За индексе сам већ имао генератор рутина које би напросто обрисале постојећи индекс и направиле нов, јер то што фокс уме да поправи индекс не значи ништа ако је индексу сјебано заглавље па нема одакле да прочита како гласи индексни појам.

Као и остале ствари које одузимају време, скршене табеле су дошле на ред за аутоматизацију... и настао је овај комад кода. Последња верзија је из, ваљда, 2003. Тада је Брекси требало тако нешто јер је имала понеки проблем са тим код... ваљда пар Диобалатових муштерија са килавим машинама. Ех, некад су рачунаре користили инжењери, који су још и умели да пазе на њих, сад су то тренери универзитетских тимова, ко зна шта се тамо догађало... Али ребфпт би то вадио из чабра.

Фора је била у томе да се табела не пере, него се прави нова. Са истом структуром (поља са истим именима, у истом редоследу, истих типова и дужина), па се чита стара, ред по ред (а дужина реда се зна из времена док је била исправна и могла лепо да се отвори), па се тај ред сече у комаде колико за које поље треба, па се ти комади претварају у вредности које треба уписати. Код мемо поља је та вредност адреса блока у у фпт фајлу у ком се налази текст, а колико је тај текст дугачак пише у прва четири бајта у том блоку - што сам такође успео да ишчитам. Последња верзија је чак умела да растабери и бинарно пакована поља, нпр. нумерике са покретним зарезом и датумвремена.

И онда је ово након 2003. чучало заборављено на мом диску (и по примерак свуда где је Аваи имао апликацију) док новембра 2021. није затребало неком на УАу, па онда још једном новембра 2023. (кад се Кристин пожалила да јој треба тако нешто, а онда је кренула расправа), што ме најзад натерало да тај зип окачим јавно на sGradlj.com а онда напишем и овај текст :).


Спомиње се: 24-X-1994., 09-I-1995., 27-II-1995., 06-III-1995., 10-III-1995., 17-IV-1995., 01-V-1995., 01-VI-1995., 05-VI-1995., 25-II-1996., 05-VII-1997., 27-VIII-1997., 05-IV-2001., 16-IV-2003., 10-XI-2023., sGradlj.com, Аваи, Александар Расков (Сале), Алтос, Геменц, ззззз, Клаанца, КлиниСис, Кристин Пеисер, Ледиње, Лора Хантер, Мајкрософт (Мали мекани), Сесилија Роксбери (Брекс), УбикАгора, фокс, Хоси, Џо Диобалато, на енглеском