Taustaa: Minulla on Borlandin Turbo Pascal kielellä koodattu ohjelma. Ohjelma on tehty -80 luvun loppuvuosina, jonka jälkeen olen "tippunut" ohjelmointikehitystyökalujen kehityksestä.
Nyt olisi tarkoitus muuntaa ohjelma Windows-ohjelmaksi eli siirtää ohjelma johonkin nykyisin käytetössä olevaan kehitysympäristöön.
Ymmärtääkseni Delphi -kehitysympäristö on "lähinnä" vanhaa Turbo Pascal-ympäristöä.
Kysymykseni onkin: Onko Delphi oikea ympäristö jatkaa Turbo Pascal koodin kehitystä ja jos on, niin onko Turbo Pascal koodin kääntämisessä Delphissä jotain eritysvaikeutta?
Kaikki vinkit ovat tervetulleita !
Onko ohjelma .exe muodossa vai .pas?
Ohjelma on muodossa .pas.
Ko. pas- tiedostot koostuvat "selväkielisistä" pascal-proceduureista.
Delphille minä olen ainakin siirtänyt vanhoja Turbo Pascal ohjelmia. Jos pyrit pysymään konsoliohjelmissa, niin kunnollista CRT-unitin tukemista en tiedä Delphissä olevan, mutta Windows-ohjelmaksi muuttamiseksi on suhteellisen yksinkertaista. Muutamia asioita on tullut eteen, jos nyt kaikkea muistan.
- TP:n integer on 16 bittinen -> Delphin integer 32 bittinen (binääritallennuksessa/lukemisessa ainakin huomioitava)
- grafiikkaa ei tarvitse alustaa - grafiikkatilaan, ja grafiikkakäskyt ovat muuttuneet. Yksinkertaisimmin olen käyttänyt Bittikarttaa grafiikanpiirtämisessä, vaikka taitaa löytyä parempiakin ratkaisuja. (Käskyjen muutoksista esim. line -> canvas.moveto , canvas.lineto (t.s. käytännössä kaikki grafiikkakäskyt joutuu opettelemaan uudelleen)).
- sysutils - kirjasto kannattaa ottaa käyttöön lähes jokaisessa TP:n kirjastojen sijaan. (FindFirst, FindNext ovat hiukan muuttuneet, mutta kuitenkin olemassa Delphissä). T.s. TP:n unittien sijalle sysutils.
- Tulostaminen tapahtuu Delphissä Printer-olion avulla, joten sitä varten ei tarvitse TP:n tapaan tehdä tulostinkohtaisesti Portteja sorkkimalla.
- Comporttien ja muidenkin laitteiden käyttäminen tapahtuu Delphissä windowsin kirjastojen avulla.
- Portteja ja keskeytyksiä ei voi käyttää suoraan osoittamalla delphissä. Tämän voi kiertää assempleria käyttämällä, mutta sitten ohjelmat ei toimi 2000:ssa ja xp:ssäkin vain emuloidessaan 98 tai 95:sta.
HUOM! Ohjelmat eivät yleensä käänny suoraan Delphiin, vaan niihin joutuu tekemään uuden käyttöliittymän ja muitakin muutoksia, mutta yksittäiset proseduurit toimivat kohtuullisesti.
Kuten sanottu, Delphi on Win32-ohjelma ja -kääntäjä, eli DOS-ominaisuuksia ei ole, kaikki Windowsin rajoitteet sen sijaan löytyvät. Kieli on kuitenkin lähes sama, paitsi että Delphi tukee myös luokkia ja muita uusia ominaisuuksia. Jossakin TP:n versiossa on kuulemma ollut For-silmukassa myös Step-ominaisuus, mutta nykyään sitä ei ainakaan ole. Ainakin GUI-ohjelmissa on sellainen juttu, että Assing-funktiolle on keksitty uusi tehtävä, joten AssingFile auttaa tiedostoissa. Sitten ovat tietenkin nuo muuttujien koot ja sellaiset pikkuseikat.
Kiitokset molemmille arvokkaista vinkeistä !
:-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.