
Je čas na boření mýtů....
to ti snad tak nějak doufám bude dostatečnou náplastí za vysvětlování votázek typu
"Proč do chuja,zrovna Éčko ?"..... .. .
Ačkoliv já vosobně používám Éčko k rekreačnímu programování a to hlavně proto, že to tak nějak jinak nezvládám, a když mám snahu vo jinej přístup tak se začnu kousat do páteře nudou. Jestli ti nejni jasný co to je "rekreační" mrkni se na následující zdroják a vono ti to jasný bude. Prostě šlo by to udělat tak, aby to frčelo rychleji a líp, ale to se stane až budu mít chuť, teď ať to hlavně maká k potěše svýho stvořitele.
Éčko to nemělo za svou existenci jednoduchý. Některý podrážděný Céčkaři vypouštěli agresivní a despektivní názory (nic ve zlým, taky to dělám ;-), takže si leckdo došel k názoru, že Éčko je řídká sračka.
I když jsem to původně cvičil k převádění ÁPéčkovejch HTML do kódování Windoze ÉÉ tak aby to vynechávalo cokoliv mezi "<" & ">", čímž by se vyřešil nechutnej vopruz s fontama (mrkni do Dopisárny), kromě pár zkoušek, se to ale do pravýho víru instalace ÁPéčka nikdy nedostalo a taky už nedostane. V podstatě se APtoÉÉ mělo šanci vyvíjet tak tři dny (čistýho času vlastně jen pár hodin ;-).
Dneska dopoledne se totiž v děsivým tempu (vybranejch modů&medů) z APtoÉÉ zrodila mnohem schopnější, drsnější a stejně líná AParátnice, která nezůstala jen u jednosměrnýho převádění kódování češtiny. Je zatím jenom ve funkční (sakra to doufám <:-P) betaverzi, takže tě s ní blíž seznámím příště, to už bude vyvinutější a nebude se snad tolik stydět.
Jak vidíš pro přístup do souborů jsem použil bufferovanej přístup po znaku,což je sice pomalejší, jako nacucnout soubor do bufferu a pak procovat přes buffáče, leč fakčí to. Samonoha je to pomalejší než Převodník. Taky ten samotnej převodní algáč nejni zrovna sprinter, no ale když jsem APtoÉÉ klíčoval do Zlatýho Edy a pak ho ladil s nefukčním dubbuggerem, tak to byla vopravdu prča.
No na čtyřicítce je to rychlý příjemně uspokojivě ;-).
Nechť ti čvachtá.......
/*
APtoÉÉ ------- stvořil a zprasil BOLDA
Pro převod HTML stránek DO windoze éé,bez toho aniž by se kurvily linky.
Součást Amiga Positive,PUBLIC DOMAIN
*/
OPT OSVERSION=37
MODULE 'dos'
DEF soubor[80]:STRING,
csoubor[80]:STRING,
sou:LONG, -> filehandle
csou:LONG, -> TO samý,cílovej
koi8[41]:ARRAY OF CHAR, ->tabulky
ee[41]:ARRAY OF CHAR,
znak,citac,
prevod=TRUE, /* < > kontrola */
zdroj[80]:STRING /* bez cesty */
PROC main()
DEF myargs:PTR TO LONG,rdargs,velikost
DEF x,le,poz,pom,
tagcitac:LONG
VOID '$VER: APtoÉÉ 1.1 (19.3.1998) c BOLDA'
WriteF('APtoÉÉ 1.1 - stvořil BOLDA \n Převádí HTML z KOi8 -> Windoze éé a nechá tagy napokoji\n ')
myargs:=[0,0,0]
IF rdargs:=ReadArgs('SOURCEFILE/A,TARGETDIR',myargs,NIL)
StrCopy(soubor,myargs[0])
IF myargs[1]=0
StrCopy(csoubor,'T:')
ELSE
StrCopy(csoubor,myargs[1]) /* Target Dir */
ENDIF
/* sekačka */
-> WriteF('Cílovej adresář je: \s \n',csoubor)
le:=StrLen(soubor)
x:=le
poz:=-1 -> ; nebylo nalezeno "/", nebo ":"
REPEAT -> ; dokud neni konec retezce
pom:=soubor[x]
IF pom=47 -> ; nalezeno ? /* OR sem nepužil schválně,pak se TO záhadně sere */
poz:=x
-> WriteF('poz : \d \n',poz)
x:=0
ELSEIF pom=58
poz:=x
x:=0 -> ; uloz pozici nalez. znaku
ENDIF
x-- -> ; posunem se na dalsi znak
UNTIL x=-1
IF poz=-1 -> ; nenalezeno !
StrCopy(zdroj,soubor)
ELSE -> jinak se vrati konec retezce vstup od poz+1
MidStr(zdroj,soubor,poz+1) -> ; jinak vrat jen nazev souboru
ENDIF
x:=0
/* konec sekačky */
StrAdd(csoubor,zdroj) /* přidej zdroj k cílovýmu adresáři */
WriteF('Cílovej soubor: \s ....\n',csoubor)
FreeArgs(rdargs)
/* ************************************************** */
/*
Tak jo 'de se na věc !
*/
IF (velikost:=FileLength(soubor))<> -1
IF sou:=Open(soubor,OLDFILE)
IF csou:=Open(csoubor,NEWFILE)
/* naplň tabulku */
AstrCopy(koi8,'ěščřžýáíéúůňďťóľ""?äüöĚŠČŘŽÝÁÍÉÚŮŇĎŤÓĽÄÜÖ')
AstrCopy(ee,'ĽÜ0ýÁÖÍŽÝŘÓŠ ßĎ÷Éľü0Ýáöížýřóšěď×é')
WriteF('Makám na tom...... soubor má \d znaků \n',velikost)
Flush(sou)
Flush(csou)
REPEAT
x++
znak:=FgetC(sou) /* sytémový čtení znaku - buffáčovaný */
-> WriteF('\c ',znak) /* laďění */
IF prevod=FALSE
IF znak=62 THEN prevod:=TRUE /* > konec tagu */
ELSE
IF znak=60
prevod:=FALSE /* < začátek tagu */
-> WriteF('tag ! \n')
tagcitac++
ELSE
prevodni()
ENDIF
ENDIF
/* zápis */
FputC(csou,znak)
UNTIL x=velikost
/* zápis */
Close(csou)
WriteF(' Hotovo ! Převedeno \d znaků. Přeskočeno \d tagů.\n',citac,tagcitac)
CleanUp()
ELSE
WriteF('Nemůžu vodevřít cíl !\n')
CleanUp(10)
ENDIF
ELSE /* zdrojovej soubor */
WriteF('Nemůžu vodevřít zdroj !\n')
CleanUp(20)
ENDIF
ELSE /* dýlka souboru */
WriteF('Nenašel sem zdroj !\n')
CleanUp(20)
ENDIF
ELSE
WriteF('Špatný argumenty ! Zkus votazník -> ? \n')
CleanUp(5)
ENDIF -> argumenty
ENDPROC
PROC prevodni()
DEF y /* dostanu tě !!!! */
FOR y:=0 TO 40 /* převod - přes tabulku */
IF znak=koi8[y]
-> WriteF('znak: \c na \c číslo \d \n',znak,ee[y],y) /* ladění */
citac++
znak:=ee[y] /* TO zabere !!!! */
RETURN /* kurva ,TO je TO řešení */
ENDIF
ENDFOR
ENDPROC
Zdroják v použitelným stavu se povaluje v bonusu.....BOLDA


| Instrukce procesorů 680xx, ASLFileRequestr v AmigaE provedení |
|
|
|
|
|
|
|
|
| Vokecávky | Hardware | Warez | WBoviny | Dema | Gfx&Muz | Pařby | Vokecávky 2 |