unter Delphi Landesfachberater für Informatik in Thüringen otto.thiele@gmx.net 4. Fachtagung Informatikunterricht der Zukunft Arbeitskreis F1 März 2006
Gliederung 1. 2. 3. 4. 5. 6. 7. Komponenten 1 Komponentenorientiertes Programmieren 2 Funktionen und Result 3 Ausnahmebehandlung Exception 4 Dynamische Arrays 5 Parameterübergabemechanismen 6 Grafikprogrammierung 7 Objektorientiertes Programmieren
1. 2. 3. 4. 5. 6. 7. Komponenten Die Paradigmen von Object Pascal Denkweisen imperativ prozedural modular objektorientiert komponentenorientiert
1. 2. 3. 4. 5. 6. 7. Komponenten Was sind Komponenten? Prof. Jörg Gutknecht, Zürich Komponenten sind komplexe Teile, die zu einem noch komplexeren Ganzen zusammengesetzt werden können.
1. 2. 3. 4. 5. 6. 7. Komponenten Beispiel
1. 2. 3. 4. 5. 6. 7. Komponenten Wozu sind Komponenten gut? Prof. Jörg Gutknecht, Zürich Konzentration auf das Wesentliche durch das Verwenden von Komponenten.
1. 2. 3. 4. 5. 6. 7. Komponenten Bewältigung von Komplexität Erinnern Sie sich an die erste Stunde der praktischen Ausbildung in der Fahrschule.
1. 2. 3. 4. 5. 6. 7. Komponenten Konzentration auf das Wesentliche Die Methode Button1Click procedure TForm1.Button1Click(Sender:TObject); var a,b,f:real; begin // Eingabe a:=strtofloat(edit1.text); b:=strtofloat(edit2.text); // Verarbeitung F:=a*b; // Ausgabe Edit3.Text:=FloatToStr(F); end;
1. 2. 3. 4. 5. 6. 7. Funktionen Funktionen und Result Beispiel function f(x:real):real; begin Result:=x*x; end; // Result ist nicht mit einem // sofortigen Ruecksprung verbunden.
1. 2. 3. 4. 5. 6. 7. Exception Exceptionhandler An jeder kritischen Stelle innerhalb eines Programms kann ein Exceptionhandler implementiert werden. Der Exceptionhandler kann Fehler während des Programmlaufs abfangen.
1. 2. 3. 4. 5. 6. 7. Exception Ausnahmebehandlung Exception Beispiel... try z:=x/y; except on E:Exception do ShowMessage(E.Message); end;...
1. 2. 3. 4. 5. 6. 7. Arrays Dynamische Arrays Beispiel var a:array of Real; // dynamisches Array Laenge,i:Integer;... Laenge:=Memo1.Lines.Count; SetLength(a,Laenge); // Eingabe for i:=0 to Length(a)-1 do a[i]:=strtofloat(memo1.lines[i]);...
1. 2. 3. 4. 5. 6. 7. Parameter Parameterübergabemechanismen Value procedure mache(n:integer); Variable procedure mache(var s:string); Constant procedure mache(const s:string);
1. 2. 3. 4. 5. 6. 7. Grafik Grafikprogrammierung In der PaintBox1 zeichnen
1. 2. 3. 4. 5. 6. 7. Grafik Grafikprogrammierung Beispiel procedure TForm1.Button1Click(Sender:TObject); begin PaintBox1.Canvas.MoveTo(0,0); PaintBox1.Canvas.LineTo(199,199); end;
1. 2. 3. 4. 5. 6. 7. OOP Objektorientiertes Programmieren Eine Klassendeklaration type TPunkt=class(TObject) private x,y:integer; public // Konstruktor constructor Create(x,y:Integer); // Methode procedure Zeichnen; end;
1. 2. 3. 4. 5. 6. 7. OOP Objektorientiertes Programmieren Den Konstruktor Create implementieren constructor TPunkt.Create(x,y:Integer); begin Self.x:=x; Self.y:=y; end;
1. 2. 3. 4. 5. 6. 7. OOP Objektorientiertes Programmieren Die Methode Zeichnen implementieren procedure TPunkt.Zeichnen; begin Form1.PaintBox1.Canvas.Pixels[x,y]:=clBlack; end;
1. 2. 3. 4. 5. 6. 7. OOP Objektorientiertes Programmieren Ein Objekt erzeugen procedure TForm1.Button1Click(Sender:TObject); var p:tpunkt; begin // Ein Objekt wird erzeugt p:=tpunkt.create(100,150); // Botschaft an das Objekt p.zeichnen; end;
1. 2. 3. 4. 5. 6. 7. Fragen Danke für die Aufmerksamkeit. Landesfachberater für Informatik Carl-Zeiss-Gymnasium Jena Erich-Kuithan-Str. 7 07743 Jena www.cz.j.th.schule.de Diese Präsentation wurde in LATEX erstellt. Präsentation beenden