ACSpro unterstützt die Sprache Pure-Pascal. Folgende Hinweise sollten Sie möglichst beachten.
Pascal ist leider übermäßig typenstreng, so daß in durchaus sinnvollen Fällen unleserlicher Code herauskommt. Pascal kennt keine Zeigerarithmetik.
C-Strings werden wie folgt dargestellt:
PACKED ARRAY [0..3] OF CHAR = 'ABC'#0;
In C wird ein 16Bit Wert zur Darstellung von TRUE (=1) und FALSE (=0) verwandt. In Pascal muss dann der Zahlenwert bei den Variablen application, multitask und dia_abort überprüft werden.
ACS-Accessories
Derzeit kollidieren die Speicherzugriffe der
ACSpro-Accessories mit Pure-Pascal, da es Speicherzugriffe mit
protokolliert. Dieses analoge Problem kennt auch der Pure-C Debugger.
Also derzeit bitte nicht machen.
Nachladbare Module
Pure-Pascal erlaubt es derzeit leider nicht, einen eigenen
Startupcode für das Programm vorzuschreiben. Daher können in
Pure Pascal keine nachladbaren Module erstellt werden.
Globale ACSpro-Variablen
Pure-Pascal kann keine Pure-C-Variablen importieren. Da
ACSpro komplett mittels Pure-C entwickelt wird, müssen
alle globalen ACSpro-Variablen entweder über den Zeiger
ACSblk oder über Funktionen zugänglich gemacht werden.
Einfache Umsetzngen C -> Pascal
Folgende einfache Regeln helfen, C in Pascal umzusetzen (z.B.
für die Beispiele)
C | Pascal | Anmerkung |
-> | ^. | Komponentenzugriff über Zeiger |
= | := | Zuweisung |
== | = | Vergleich |
!= | <> | Vergleich |
& | @ | Adress-Operator |
{ | Begin | Start Block |
} | End | Ende Block |
(void) | - weggelassen - | ohne Parameter |
return X | Functionname := X | Rückgabe eiens Wertes |
if( x ) | If x Then | Bedingung |
switch | case | Auswahl |