nullplan001
Goto Top

Übersetzung von C-Quellen nach Pascal

Der Autor stellte nach eingehender Recherche fest, dass es so gut wie keine Internet-Seiten zum Thema WinAPI gab, deren Beispiele in Pascal oder Delphi gewesen wären. Nein, der Autor hat nicht vor, hier einen Anfang zu machen, er hilft lediglich beim Verständnis der C-Quelltexte.

Nun denn... Wer einen Quelltext von C nach Pascal übersetzen möchte, der findet sich plötzlich von Problemen umzingelt, wenn ihm Fragen wie "Und was bedeutet das?" durch den Kopf schießen. Dieses Tutorium soll möglichst viele solcher Fragen beantworten. Fangen wir an:

<table border="1" frame="void" rules="all">
<tr>
<th>C-Quelltext</th>
<th>Pascal-Quelltext</th>
</tr><tt><tr>
<td>"type identifier" "function identifier"("parameter type identifiers")</td>
<td>type "function identifier" = function ("parameters"):"function type";</td>
</tr><tr>
<td>"type identifier" "variable identifier"</td>
<td>var "variable identifier":"type identifier";</td>
</tr><tr>
<td>"type identifier" "variable identifier" = "predefined content"</td>
<td>const "variable identifier":"type identifier"="predefinition";</td>
</tr><tr>
<td>const "type" "constant" = "content"</td>
<td>const "constant"(:"type")="content"</td>
</tr><tr>
<td></b>int</b> WinMain (bla,schwall)</td>
<td>begin {of main}</td>
</tr><tr>
<td>"function identifier"</td>
<td>@"function identifier"</td>
</tr><tr>
<td>"function identifier"()</td>
<td>"function identifier"</td>
</tr><tr>
<td>{
}</td>
<td>begin
end
</td>
</tr>
</table>
Ferner ist zu bemerken, dass man unter C vor jede Konstantendeklaration das Schlüsselwort const muss, während man unter Pascal vor alle Konstantendeklarationen einmal dieses Schlüsselwort zu setzen hat.
Es folgt nun eine Gegenüberstellung von nativen Typdeklarationen:
<table border="1" frame="none" rules="all">
<tr>
<th>C-Typ</th>
<th>Pascal-Typ</th>
</tr><tr>
<td>int</td>
<td>integer</td>
</tr><tr>
<td>long</td>
<td>longint</td>
</tr><tr>
<td>unsigned long</td>
<td>longword</td>
</tr><tr>
<td>char</td>
<td>char</td>
</tr><tr>
<td>char[x&lt;256]</td>
<td>shortstring</td>
</tr><tr>
<td>char[x&gt;255]</td>
<td>widestring</td>
</tr><tr>
<td>AnyType*</td>
<td>PAnyType</td>
</tr>
</table>
Sollte es noch Unklarheiten geben, bitte ich, dieses [mailto:Nieplaner%3Cnullplanwichmann@web.de%3E?subject=C%20to%20Pascal%20Translation zu mir] zu mailen.

Content-Key: 21857

Url: https://administrator.de/contentid/21857

Printed on: April 25, 2024 at 19:04 o'clock