Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm."—  Präsentation transkript:

1 Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm

2 Variablen Grundlage: Der Name einer Variablen bezeichnet eine Stelle im Speicher. Der Inhalt dieses Speicherbereichs ist der Wert der Variablen. Bevor eine Variable verwendet werden kann, muss sie (und evtl. ihr Datentyp) deklariert werden: Var name:string; Die Variable mit Namen name vom Typ String wird deklariert. Deklaration: In einer Unit kann man an mehreren Stellen Variablen deklarieren: Im Interface-Teil nach Uses, Type: öffentliche, globale Variablen Im Implementation-Teil nach Uses, Type: nichtöffentliche, globale Variablen Im Prozedur-Kopf: Übergabe-Parameter Wir werden in der nächsten Zeit lokale Variablen definieren: Nach dem Prozedur-Kopf vor Begin: procedure TForm1.BtKlickClick(Sender: TObject); Var name:string; Begin end;

3 Variablen-Typen Wir arbeiten vorläufig mit 3 Typen: String-Variablen: Zeichenketten z. B. Hallo Nr. 1 Integer-Variablen: Ganze Zahlen z.B Real-Variablen: Reelle Zahlen z. B. 15,3 Im Quelltext sieht das so aus: procedure TForm1.BtKlickClick(Sender: TObject); Var name, strasse, ort:string; alter, PLZ: integer; Gehalt:real; Begin end;

4 Komponenten-Eigenschaften Die Eigenschaften der Komponenten können auch als Variable aufgefasst werden. Ihr Name lässt sich so ableiten: Die Eigenschaft Caption vom Label LbHallo heißt: LBHallo.Caption Die Eigenschaft Text von EdName heißt: EdName.text Die Eigenschaften haben verschiedene Typen: String: Caption, Text, Name,... Integer: Size, Height, Width,...

5 Wertzuweisung Damit Variable einen Wert enthalten, müssen wir ihnen diesen zuweisen. Der Objekt-Pascal-Befehl dazu lautet `:=` Im Quelltext: name:=`J.Rudolf `; LbDanke.Caption:=`Danke!` ; LbName.Caption:=name; PLZ:=79837; Gehalt:= ; LbDanke.font.size:=20; Bei Strings: Variable Name erhält den Wert J.Rudolf Eigenschaft Caption von LbDanke erhält den Wert Danke! Eigenschaft Caption von LbName erhält den Wert von Variable Name Bei Integer / Real -Variablen: Int-Variable PLZ erhält den Wert Real-Variable Gehalt soll 9550,34 sein Eigenschaft Font.Size von LbDanke soll den Wert 20 erhalten

6 Übung (1) Aufgabe 1: Der User soll seinen Namen in einem Edit eingeben können und nach einem Klick auf den Button soll der Name auf einem Label erscheinen. Im Quelltext: procedure TForm1.BtKlickClick(Sender: TObject); Var name:string; Begin name:=EdName.text;//Einlesen LbName.Caption:=name;//Auslesen end; Ausführung: Komponenten Edit, Button, Label Eigenschaften der Komponenten Edit: Name = EdName, Text = Ihr Name Button: Name = BtnKlick, Caption = Klick mich Label: Name = LbName, Caption = ? Ereignisse der Komponenten: Beim Button BtKlick soll das OnClick- Ereignis verändert werden (Doppelklick auf das Feld rechts neben OnClick)

7 Kommentare Wenn wir im Quelltext Erläuterungen geben wollen, so darf DELPHI dadurch nicht verwirrt werden. Im Quelltext: Var name:string;//String-Variable Begin //Prozeduranfang name:=`J.Rudolf ; {Hier wird der Name J.Rudolf der String-Variablen Name zugewiesen} LbName:=name; End; Einzeilige Kommentare Beginnen mit // und gelten bis zum Zeilenende Mehrzeilige Kommentare Beginnen mit { und enden mit }

8 Typ-Umwandlung (1) Bei der Zuweisung von Werten zu Variablen muss der Typ beachtet werden. Bei der Eingabe von Zahlen wird eine Typ-Umwandlung notwendig: Integer String Wenn wir in Edit-Feld die Zeichen 123 ein- oder ausgeben, so werden diese als String gespeichert: edit1.text:=`123`; // String Wenn wir eine Integer-Variable Zahl1 haben, so brauchen wir aber: Zahl1:=123; // Integer Wir können den Wert von Zahl1 auch in einen String umwandeln: Mit dem Befehl IntToStr(Zahl1) und dann im Edit-Feld ausgeben: Edit1.text:=IntToStr(Zahl1); // Zahl1:Integer String; 123 `123` Wir können den Text in Edit1 auch in einen Integer umwandeln: Mit dem Befehl StrToInt(Edit1.text) und dann Zahl1 zuweisen: Zahl1:=StrToInt(Edit1.text); // Edit1.text:String Integer; `123` 123

9 Übung (2) Aufgabe 2: Der User soll sein Geburtsjahr eingeben können und nach einem Klick auf den Button soll sein Alter auf einem Label erscheinen. Im Quelltext: procedure TForm1.BtKlickClick(..); Var gebjahr,alter:integer; Begin gebjahr:=StrToInt(Edjahr.text); //Einlesen und Umwandeln alter:=2001-gebjahr; LbAlter.Caption:=IntToStr(alter); //Umwandeln und Auslesen end; Ausführung: Komponenten Edit, Button, Label Eigenschaften der Komponenten Edit: Name = EdJahr, Text = Ihr Geburtsjahr Button: Name = BtnKlick, Caption = Klick mich Label: Name = LbAlter, Caption = ? Ereignisse der Komponenten: Beim Button BtKlick soll das OnClick- Ereignis verändert werden (Doppelklick auf das Feld rechts neben OnClick)

10 Typ-Umwandlung (2) Analog erfolgt die Umwandlung zwischen String und Real Real String Wenn wir in Edit-Feld die Zeichen ein- oder ausgeben, so werden diese als String gespeichert: edit1.text:=`-12.3`; // String Wenn wir eine Real-Variable Zahl1 haben, so brauchen wir aber: Zahl1:= -12.3; // Real (auch Float = Fließkommazahl) genannt Für die Textausgabe benötigen wir den Befehl FloatToStr(): Edit1.text:=FloatToStr(Zahl1); // Zahl1:Real String; 12,3 `12,3` Für das Einlesen gibts den Befehl StrToFloat(): Zahl1:=StrToFloat(Edit1.text);//Edit1.text:String Real;`12,3` 12,3

11 Rechenoperationen Die üblichen Rechenoperationen stehen zur Verfügung: Für Integer und Real- Variablen: a,b,c: Integer; x,y,z:Real OperationOperandtypErgebnistypBeispiel + AdditionInteger, RealInteger, Reala:=b+c; x:=y+z; - SubtraktionInteger, RealInteger, Reala:=b-c; x:=y-z; * MultiplikationInteger, RealInteger, Real a:=b*c; x:=y*z; / DivisionInteger, RealRealx:=b/c; x:=y/z; div DivisionIntegerIntegera:= b div c; // 7div2=3 mod RestIntegerIntegera:= b mod c;//7mod2=1

12 Übung (3) Aufgabe 3: Programmiere einen Taschenrechner. Beginne mit der Addition! Im Quelltext: procedure TForm1.BtPlusClick(..); Var a,b,c:real; Begin //Einlesen und Umwandeln: a:=StrToFloat(Eda.text); b:=StrToFloat(Edb.text); c:=a+b; //Berechnung //Umwandeln und Auslesen: LbErg.Caption:=FloatToStr(c); end; Ausführung: Komponenten 2* Edit, Button, 2*Label Eigenschaften der Komponenten Edit: Name = Eda, Text = `2` Edit: Name = Edb, Text =`3` Button: Name = BtnPlus, Caption = `+` Label: Name = LbGleich, Caption = `=` Label: Name = LbErg, Caption = `5` Ereignisse der Komponenten: Beim Button BtPlus soll das OnClick- Ereignis verändert werden

13 Übung (4) Aufgabe 4: Ergänze deinen Taschenrechner um die Subtraktion, Multiplikation und Division. Aufgabe 5: Ergänze deinen Taschenrechner um die Wurzel - Befehl sqrt(a) – und das Quadrat – sqr(a). Aufgabe 6: Ergänze deinen Taschenrechner um trigonometrische Funktionen – sin(a), cos(a), tan(a). (Berechnung erfolgt im Bogenmaß! Zusatz: Umrechnung in Grad) Aufgabe 7: Ergänze deinen Taschenrechner um die e-Funktion – exp(a) – und den natürlichen Logarithmus – ln(a).


Herunterladen ppt "Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm."

Ähnliche Präsentationen


Google-Anzeigen