1 / 13

Grundlagen von Objekt-Pascal

Grundlagen von Objekt-Pascal. Erstellt von J. Rudolf, Feb. 2001 j.rudolf@web.de www.rudolf-web.de. Grundlage: Der Name einer Variablen bezeichnet eine Stelle im Speicher. Der Inhalt dieses Speicherbereichs ist der Wert der Variablen.

anais
Télécharger la présentation

Grundlagen von Objekt-Pascal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grundlagen von Objekt-Pascal Erstellt von J. Rudolf, Feb. 2001j.rudolf@web.dewww.rudolf-web.de

  2. 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;Beginend; Variablen

  3. Wir arbeiten vorläufig mit 3 Typen: String-Variablen: Zeichenketten z. B. ‚Hallo Nr. 1‘ Integer-Variablen: Ganze Zahlen z.B. -230 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; Variablen-Typen

  4. 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, ... Komponenten-Eigenschaften

  5. 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:=9550,34;LbDanke.font.size:=20; Wertzuweisung 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 79837 Real-Variable Gehalt soll 9550,34 sein Eigenschaft Font.Size von LbDanke soll den Wert 20 erhalten

  6. 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: Übung (1) 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. 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; Kommentare Einzeilige Kommentare Beginnen mit „//“ und gelten bis zum Zeilenende Mehrzeilige Kommentare Beginnen mit „{„ und enden mit „}“

  8. Bei der Zuweisung von Werten zu Variablen muss der Typ beachtet werden. Bei der Eingabe von Zahlen wird eine Typ-Umwandlung notwendig: Typ-Umwandlung (1) 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. 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 Umwandelnalter:=2001-gebjahr; LbAlter.Caption:=IntToStr(alter);//Umwandeln und Auslesen end; Ausführung: Übung (2) 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. Analog erfolgt die Umwandlung zwischen String und Real Typ-Umwandlung (2) Real  String Wenn wir in Edit-Feld die Zeichen -12.3 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 gibt‘s den Befehl StrToFloat(): Zahl1:=StrToFloat(Edit1.text);//Edit1.text:StringReal;`12,3`12,3

  11. Die „üblichen“ Rechenoperationen stehen zur Verfügung:Für Integer und Real- Variablen: a,b,c: Integer; x,y,z:Real Rechenoperationen Operation Operandtyp Ergebnistyp Beispiel + Addition Integer, Real Integer, Real a:=b+c; x:=y+z; - Subtraktion Integer, Real Integer, Real a:=b-c; x:=y-z; * Multiplikation Integer, Real Integer, Real a:=b*c; x:=y*z; / Division Integer, Real Real x:=b/c; x:=y/z; div Division Integer Integer a:= b div c; // 7div2=3 mod Rest Integer Integer a:= b mod c;//7mod2=1

  12. 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: Übung (3) 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. 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). Übung (4)

More Related