Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Turbo Pascal - Objekt Pascal


Daniel,der Kübel - Fr 18.04.03 13:15
Titel: Turbo Pascal - Objekt Pascal
Hallo.
Ich überlege mir von TP auf Delphi umzusteigen, habe deshalb die Frage: In wie weit ähneln sich Turbo und Objekt Pascal? Sind sie vollkommen gleich, ausser das Objekt ein paar Zusatzbefehle hat? Oder unterscheiden sie sich schon deutlicher?
Ich habe nämlich keine Lust eine neu Programmiersprache zu lernen.


UGrohne - Fr 18.04.03 13:20

Sie unterscheiden sich schon ziemlich stark, da Delphi ja größtenteils objektorientiert ist. Du musst schon viel dazulernen, aber Du hast ja den Vorteil, dass Du die Gründzüge der Delphi-Sprache schon beherrscht.


Motzi - Fr 18.04.03 13:25

Naja.. es hat zwar schon in Turbo Pascal Objekte gegeben, aber in Delphi hat sich doch einiges geändert. Ne neue Programmiersprache musst du deswegen aber nicht lernen! Die wichtigsten Änderungen liegen nicht an Turbo Pascal -> Delphi sondern an DOS -> Windows. Die erste Umstellung wird wohl die ereignis-orientierte Arbeitsweise von Delphi sein! Aber wenn du jetzt nur von der Sprache ausgehst hat sich zwar auch einiges getan aber mit soliden Pascal-Kenntnissen sollte es kein Problem sein auf Delphi umzusteigen!


Daniel,der Kübel - Fr 18.04.03 14:44

Was ist den mit dem Aufbau:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Program
Uses
Var
Const
File
Begin 
Procedure
End.

Und den Befehlen:
integer,real,byte,string,array[a..b] of ???,boolean, writeln,readln, for to do

Ist der Aufbau der gleiche, und sind zumindest die aufgelisteten Befehle gleich? Wenn ja, gibt es ja keine so große Umgewöhnungszeit für mich. *juhu*


maximus - Fr 18.04.03 14:49

Jupp alles exakt...nur writeLn und readLn kannst du nur in consolen-appz und dateien verwenden!

Bin auch von Borland-pascal 7.0 auf delphi umgestiegen...war absolut ladida..sprich easy! geradezu genial...etc :D


ErnestoChe - Fr 18.04.03 14:49

Hi,

jep, das ist alles noch gleich. Wenn du unter Delphi eine Konsolenanwendung schreibst, kannst du alle alten Befehle übernehmen zusätzlich die OOP-Merkmale von Delphi.


MFG

- Ernesto -


Klabautermann - Fr 18.04.03 16:42

Hallo,

die größten mustellungen dürfen wohl diese sein:

1. Kein Arbeiten im Hauptprogramm:
Als Delphiprogrammieren wirst du das Hauptprogramm (zwicschen BEGIN und END.) kaum mehr zu sehen bekommen, geschweigedenn Code hineinschreiben. Vielmaehr wirst du alles was du Programmiest in seperaten Units ablegen. Wenn du dich durch die OOP gebissen hast in seperaten klassen, die wieder in seperaten Units liegen.

2. Ereignisorientiert:
Hiermit hatte ich bei meinem umstieg am meisten Probleme. Du wirst in zukunft nicht mehr drauf warten, das der Benutzer ein Taste drückt:

Quelltext
1:
2:
REPEAT
UNTIL KeyPressed;

gibt es nciht mehr, weil es der Arbeitsweise von Windows wiederspricht.
Anstelle dessen gibte es Ereignisse. Wenn du z.B. bei jedem Tastendruck der in einem Memofeld gemacht wird etwas machen Willst, dann musst du eine Procedure in das OnKeyPress-Ereignis schreiben. Windows wird diese Procedure dann jedesmal aufrufen wenn eine Taste gedrückt wurde. In der Zwischenzeit vergoldet dein Programm aber keine Resourcen damit immer im Kreis zu laufen, sondern schlummert vor sich hin, damit anderer Programme die Rechnerresourcen nutzen können.
Du kannst dir ereignisse also wie Interrupts vorstellen.

3. Objektorientierung:
Mit dieser solltest du dich auf jeden Fall beschäftigen, denn Arbeiten musst du mit Objekten (jedes Formular, jeder Knopf usw. ist ein eigenenes Objekt). Da ist es nur konsequent und sinvoll auch selber Objekte zu erstellen. Diese bieten viele vorteile gegenüber der Proceduralen Programmierung, auch wenn die auf den ersten Blick nicht sichtbar sind. Hier [http://www.delphi-forum.de/viewtopic.php?t=9769] kannst du eine ensprechende Diskussion nachlesen.

Alles in allen musst du keine neue Sprache lernen aber schon einen mächtigen dialekt. Das Problem sind nciht die neuen Befehle, sondern die neuen Ideen. Auch wenn du ein guter Pascal Programmierer bist, wirscht du anfangs deine Delphi Programme schlecht designen, weil du einfach noch zu DOSig denkst. Das wird sich aber nach ein paar Projekten gegeben haben und die "neue Art" zu Programmieren wird dir sicherlich gefallen. Sie ist wesentlich Modularer als die alte.

Noch ein Wort zu konsolenprogrammen. Die Unit CRT gibt es meines wissens ncioht mehr, also fehlen auch die ensprechenden Befehle.
ReadLn und WirteLn wird in anderen Anwendungen noch für Textdateien benötigt. In windowsanwendungen wird die Ausgabe von, meist mehreren, Komponenten übernommen.

Gruß
Klabautermann