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 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