VOBSAH           DalÓÉ           PŇedeÓlej
 
logo

APtoÉÉ - pouhej začátek

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.

Několik důvodů proč pro mě Éčko nejni řídká sračka

APtoÉÉ

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.....
Připomínky, vopravy, nadávky, posílání kamkoliv a jiný vymoženosti komunikace vítány.
 

BOLDA          

 
__________________________________________  
.
 
Další ve frontě:
 
KodeŇina   Instrukce procesorů 680xx, ASLFileRequestr v AmigaE provedení
 

 
VokeCáVKy HarDWare warez WorkBenchoviny DeMa Gfx&Muzika PaŇBY VokecÁvky II
Vokecávky Hardware Warez WBoviny Dema Gfx&Muz Pařby Vokecávky 2