Delphi - Pascal forráskód konvertálása HTML-be

Pascal 1. rész

forráskód letöltése
Ha web lapon szeretnénk publikálni Delphi-ben készült pascal forráskódjainkat, akkor egy egyszerű pas - htm állomány kiterjesztés változtatás után igen csak olvashatatlan eredményt kapunk, ha megtekintjük egy web böngészővel.

Mellékelt példában készítünk egy algoritmust, melynek segítségével egy TRichEdit-ben megformázzuk a pascal forráskódot a Delphi-ben már ismert módon (fenntartott szavak kiemelése, megjegyzés, szimbólum, számok, szövegek kiemelése, stb.). Ezek után már csak HTML-be történő mentést kell megvalósítanunk és készen is vagyunk. A cikksorozat első részében a TRichEdit-ben történő formázását végezzük el a pascal forráskódnak.

Ahhoz, hogy a fenntartott szavakat ismerje programunk, szükségünk van azok felsorolására. Ezeket a Reversed nevű konstansba tesszük meg.

Hogy ezek között egyszerűen tudjunk keresni egy TStringList-be másoljuk őket. A lista rendezett, így gyors keresésre van lehetőségünk.

A program indulásakor a TRichEdit-ben lévő szöveget nézzük végig egy algoritmussal karakterenként Minden egyes megtalált szónál ellenőrizzük, hogy nem fenntartott szó-e. Ha igen, akkor ennek megfelelően formázzuk.

A formázásnál felhasznált színeknél, stílusoknál egyelőre beírtunk egy tetszőleges értéket. A későbbiek folyamán arra még lehetőségünk lesz, hogy egyedi értéket adjunk meg minden esetben.

Ha a programot Delphi alól futtatjuk, akkor kapcsoljuk ki azt a lehetőséget, hogy hiba esetén álljon le a programunk futása. Erre azért van szükség, mivel a Number nevű eljárásban úgy ellenőrizzük az adott szót hogy az szám-e, hogy megpróbáljuk a szót számmá konvertálni, ha ez sikerül, akkor nyilvánvaló, hogy számról van szó, különben nem.

Ha nincs kikapcsolva a megszakítás, akkor a program futása során ezen a ponton állandóan megszakad, mivel sok szó van, ami nem szám.

Másik megoldás, hogy futtassuk Delphi-n kívül a programot lefordítás után.

Mivel ez a blokk try..except között van, így futási időben a hiba már nem jelentkezik.

Pascal cikksorozat