Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Übersetzung von C-Quellen nach Pascal

Anleitung Entwicklung Pascal und Delphi

Mitglied: nullplan001

nullplan001 (Level 1) - Jetzt verbinden

18.12.2005 um 10:16 Uhr, 9267 Aufrufe

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 <link="mailto:Nieplaner%3Cnullplanwichmann@web.de%3E?subject=C%20to%20Pascal%20Translation">zu mir</link> zu mailen.
Ähnliche Inhalte
C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...

Entwicklung
gelöst Brauche englische Übersetzung einer deutschen Fehlermeldung (12)

Frage von SarekHL zum Thema Entwicklung ...

Bibliotheken & Toolkits
gelöst Visual C++Bibliotheken sprachabhängig (5)

Frage von Vancouverona zum Thema Bibliotheken & Toolkits ...

Windows Systemdateien
gelöst Warum System auf "C:" (35)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (19)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

SAN, NAS, DAS
gelöst Synology DS213j (13)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...