# % & & % # # % % & (

Größe: px
Ab Seite anzeigen:

Download "# % & & % # # % % & ("

Transkript

1

2 # % & & % # # % % & ( ) +!

3

4 ! # # % # #&! () () +,!. /))0))) # 1 /))0))) )78 9,)78 /1: ; 9 +:)) ; 6) 9 +,)

5 4 # 4 # 1 # 1 % #&! 0

6 ! < #!! 0! = > # %!? 1 1! Α 6)1) 78,)1) 78 Α /1: ; +:))1) ; Β 6) +,) Β / +, # 8

7 !!

8

9

10

11

12

13

14

15

16

17

18

19

20 Biomonitor.dpr :41:36 Seite 1 von 1 1: program Biomonitor; 2: 3: uses 4: Forms, 5: main in 'main.pas' {Form1}, 6: balken in 'balken.pas', 7: siebenseg in 'siebenseg.pas', 8: zeiger in 'zeiger.pas', 9: anzeige in 'anzeige.pas', 10: help in 'help.pas' {Form2}, 11: dia_temp in 'dia_temp.pas' {Form3}, 12: dia_ohm in 'dia_ohm.pas' {Form4}, 13: dia_puls in 'dia_puls.pas' {Form5}, 14: liniendia in 'liniendia.pas', 15: balkendia in 'balkendia.pas', 16: zeitdia in 'zeitdia.pas'; 17: 18: {$R *.res} 19: 20: begin 21: Application.Initialize; 22: Application.CreateForm(TForm1, Form1); 23: Application.CreateForm(TForm2, Form2); 24: Application.CreateForm(TForm3, Form3); 25: Application.CreateForm(TForm4, Form4); 26: Application.CreateForm(TForm5, Form5); 27: Application.Run; 28: end.

21 main.pas :54:04 Seite 1 von 5 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: main letzte Änderung: * 4: * * 5: * Funktion: Hauptprogramm, erstellt die Hauptform, mit der * 6: * Übersicht der Messwerte. Von hier wird das * 7: * komplette Programm gesteuert. * 8: * Anzeigen der Diagramme, der Hilfe, starten der * 9: * Simulation. * 10: * * 11: * Eingaben: Button.Click zut Steuerung * 12: * Ausgaben: Körpertemperatur, Körperwiderstand, Puls * 13: * jeweils als digitale Siebensegment- Anzeige, * 14: * als Balkenanzeige und als Zeigerinstrument. * 15: * * 16: * Aufruf von: - * 17: * Ruft auf: siebenseg, balken, zeiger * 18: * dia_ohm, dia_temp, dia_puls * 19: * help * 20: * * 21: * Coyright 2011 by Dominik Lönarz * 22: ****************************************************************} 23: 24: unit main; 25: 26: interface 27: 28: uses 29: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 30: Dialogs, StdCtrls, Menus, ExtCtrls; 31: 32: type 33: TForm1 = class(tform) 34: MainMenu1: TMainMenu; 35: Beenden1: TMenuItem; 36: Hilfe1: TMenuItem; 37: Label1: TLabel; 38: Label2: TLabel; 39: PaintBox1: TPaintBox; 40: PaintBox2: TPaintBox; 41: PaintBox3: TPaintBox; 42: PaintBox4: TPaintBox; 43: PaintBox5: TPaintBox; 44: PaintBox6: TPaintBox; 45: PaintBox7: TPaintBox; 46: PaintBox8: TPaintBox; 47: PaintBox9: TPaintBox; 48: Label3: TLabel; 49: Label4: TLabel; 50: Button1: TButton; 51: Button2: TButton; 52: Timer1: TTimer; 53: Simulieren1: TMenuItem; 54: Diagramme1: TMenuItem; 55: Krpertemperatur1: TMenuItem; 56: Krperwiderstand1: TMenuItem; 57: Puls1: TMenuItem; 58: Button3: TButton; 59: Button4: TButton; 60: Button5: TButton; 61: procedure Button2Click(Sender: TObject); 62: procedure Button1Click(Sender: TObject); 63: procedure FormCreate(Sender: TObject); 64: function Sim_Temperatur():real; 65: function Sim_Widerstand():real; 66: function Sim_Puls():integer; 67: procedure Timer1Timer(Sender: TObject); 68: procedure Hilfe1Click(Sender: TObject); 69: procedure Button3Click(Sender: TObject); 70: procedure Button4Click(Sender: TObject); 71: procedure Button5Click(Sender: TObject); 72: procedure FormClose(Sender: TObject; var Action: TCloseAction); 73: 74: private 75: { Private-Deklarationen } 76: public 77: { Public-Deklarationen }

22 main.pas :54:04 Seite 2 von 5 78: end; 79: 80: type 81: Tmess = record //Erstellen einer Variable des Types Tmess, mit den Variablen 82: Temperatur: real; // Temperatur 83: Widerstand: real; // Körperwiderstand 84: Puls:integer; // Puls 85: end; 86: 87: var 88: Form1: TForm1; 89: Daten : array [ ] of Tmess; //Erstellen eines Arrays (Daten) mit der Variable T_mess (für mehr als 24h) 90: 91: implementation 92: 93: uses 94: anzeige, zeiger, siebenseg, balken, help, dia_temp, dia_ohm, dia_puls; 95: 96: var 97: seg1, seg2, seg3, seg4, seg5, seg6, seg7, seg8, seg9, seg10, seg11: Tsiebenseg; 98: balken1, balken2, balken3: Tbalken; 99: zeiger1, zeiger2, zeiger3: Tzeiger; 100: 101: {$R *.dfm} 102: 103: procedure TForm1.FormCreate(Sender: TObject); 104: // Das passiert wenn die main Form erzeugt wird. 105: // Erzeugen der verwendeten Objekte (Siebensegmentanzeigen, Balkeninstrumente, Zeigerinstrumente) 106: // Initalisierung des Arrays (Array mit "0" befüllen) 107: var 108: i:integer; 109: begin 110: // Erzeugen der Objekte für Körpertemperatur 111: seg1:=tsiebenseg.erzeugen(10,30,4,clred,paintbox1.canvas); 112: seg2:=tsiebenseg.erzeugen(60,30,4,clred,paintbox1.canvas); 113: seg3:=tsiebenseg.erzeugen(120,30,4,clred,paintbox1.canvas); 114: balken1:=tbalken.erzugen(1,50,30,185,clred,paintbox2.canvas); 115: zeiger1:=tzeiger.erzeugen(30,40,' C',paintbox3,clred); 116: // Erzeugen der Objekte für Körperwiderstand 117: seg4:=tsiebenseg.erzeugen(10,30,4,clgreen,paintbox4.canvas); 118: seg5:=tsiebenseg.erzeugen(60,30,4,clgreen,paintbox4.canvas); 119: seg6:=tsiebenseg.erzeugen(110,30,4,clgreen,paintbox4.canvas); 120: seg7:=tsiebenseg.erzeugen(160,30,4,clgreen,paintbox4.canvas); 121: seg8:=tsiebenseg.erzeugen(220,30,4,clgreen,paintbox4.canvas); 122: balken2:=tbalken.erzugen(1,50,30,185,clgreen,paintbox5.canvas); 123: zeiger2:=tzeiger.erzeugen(1.5,2500,'kohm',paintbox6,clgreen); 124: // Erzeugen der Objekte für Puls 125: seg9:=tsiebenseg.erzeugen(10,30,4,clblue,paintbox7.canvas); 126: seg10:=tsiebenseg.erzeugen(60,30,4,clblue,paintbox7.canvas); 127: seg11:=tsiebenseg.erzeugen(110,30,4,clblue,paintbox7.canvas); 128: balken3:=tbalken.erzugen(1,50,30,185,clblue,paintbox8.canvas); 129: zeiger3:=tzeiger.erzeugen(30,240,'bpm',paintbox9,clblue); 130: 131: for i:=1 to do // Array mit nullen füllen; (Initalisierung) 132: Begin 133: daten[i].temperatur:=0; 134: daten[i].widerstand:=0; 135: daten[i].puls:=0; 136: end; 137: end; 138: 139: function TForm1.Sim_Temperatur():real; 140: // Funktion zur Simulation der Körpertemperatur 141: // Zufallswert wird erzeugt (30 C- 40 C) und zu den Anzeigen weitergeleitet 142: var 143: s,h,z,e :integer; //Variabeln für drei stellige Zahl(s), Hunderter, Zehner, Einer, s=gesamtzahl 144: begin 145: s:=random(100)+300; 146: 147: paintbox1.refresh; 148: 149: if s <=999 then // Wenn die Zahl größer "999" ist wird "---" angezeigt 150: Begin 151: h:=trunc(s/100); //Hunderter

23 main.pas :54:04 Seite 3 von 5 152: z:=trunc(s/10)-(h*10); //Zehner 153: e:=trunc(s-(h*100)-(z*10)); //Einer 154: seg1.anzeigen(h); //Hunderter auf Seg1 155: seg2.segment(7); //Punkt 156: seg2.anzeigen(z); //Zehner auf Seg2 157: seg3.anzeigen(e); //Einer auf Seg3 158: end 159: else 160: Begin 161: seg1.segment(6); //Zahl zu groß, dann "----" 162: seg2.segment(6); 163: seg3.segment(6); 164: end; 165: 166: paintbox2.refresh; 167: balken1.anzeigen(round(s-300)); //Anzeige auf Balkeninstrument 168: 169: paintbox3.refresh; 170: zeiger1.anzeigen(s/10); //Anzeige suf Zeigerinstrument 171: 172: result:=s/10; //Rückgabe des Simulierten Messwertes, zum speichern im Array 173: end; 174: 175: function TForm1.Sim_Widerstand():real; 176: // Funktion zur Simulation der Körperwiderstand 177: // Zufallswert wird erzeugt (1,5kOhm kOhm) und zu den Anzeigen weitergeleitet 178: var 179: s,zt,t,h,z,e :integer; //Variabeln für fünf stellige Zahl(s),Zehntausender, Tausender, Hunderter, Zehner, Einer 180: begin 181: s:=random(24985)+15; //Messwert erzeugen 182: 183: paintbox4.refresh; 184: 185: if s <=99999 then // Wenn die Zahl größer "99999" ist wird "-----" angezeigt 186: Begin 187: zt:=trunc(s/10000); //Zehntausender 188: t:=trunc(s/1000)-(zt*10); //Tausender 189: h:=trunc(s/100)-(zt*100)-(t*10); //Hunderter 190: z:=trunc(s/10)-(zt*1000)-(t*100)-(h*10); //Zehner 191: e:=trunc(s-(zt*10000)-(t*1000)-(h*100)-(z*10)); //Einer 192: seg4.anzeigen(zt); //Zehntausender auf Seg4 193: seg5.anzeigen(t); //Tausender auf Seg5 194: seg6.anzeigen(h); //Hunderter auf Seg6 195: seg7.segment(7); //Punkt 196: seg7.anzeigen(z); //Zehner Segment 7 197: seg8.anzeigen(e); //Einer Segment 8 198: end 199: else 200: Begin 201: seg4.segment(6); //Zahl zu groß, dann "-----" 202: seg5.segment(6); 203: seg6.segment(6); 204: seg7.segment(6); 205: seg8.segment(6); 206: end; 207: 208: paintbox5.refresh; 209: balken2.anzeigen(round((s-15)*100/24985)); 210: 211: paintbox6.refresh; 212: zeiger2.anzeigen(s/10); 213: 214: result:=s/10; 215: end; 216: 217: function Tform1.Sim_Puls():integer; 218: // Funktion zur Simulation des Pulses 219: // Zufallswert wird erzeugt (30bpm - 240bpm) und zu den Anzeigen weitergeleitet 220: // *** bpm [Beats Per Minute] *** 221: var 222: s,h,z,e :integer; //Variabeln für drei stellige Zahl(s), Hunderter, Zehner, Einer 223: begin 224: s:=random(210)+30; //Messwert erzeugen 225: 226: paintbox7.refresh; 227:

24 main.pas :54:04 Seite 4 von 5 228: if s <=999 then // Wenn die Zahl größer "999" ist wird "---" angezeigt 229: Begin 230: h:=trunc(s/100); //Hunderter 231: z:=trunc(s/10)-(h*10); //Zehner 232: e:=trunc(s-(h*100)-(z*10)); //Einer 233: seg9.anzeigen(h); //Hunderter auf Seg9 234: seg10.anzeigen(z); //Zehner auf Seg10 235: seg11.anzeigen(e); //Einer auf Seg11 236: end 237: else 238: Begin 239: seg9.segment(6); //Zahl zu groß, dann "---" 240: seg10.segment(6); 241: seg11.segment(6); 242: end; 243: 244: paintbox8.refresh; 245: balken3.anzeigen(round((s-30)*100/210)); 246: 247: paintbox9.refresh; 248: zeiger3.anzeigen(s); 249: 250: result:=s; 251: end; 252: 253: procedure TForm1.Button1Click(Sender: TObject); //Simulieren 254: // Startet die Simulation 255: // Timer wird gestartet, Diagramme freigeschaltet, Array wird mit Zufallswerten gefüllt 256: var 257: i :integer; 258: begin 259: randomize; //Zufallsgenerator initalisieren 260: timer1.enabled:=true; 261: button3.enabled:=true; 262: button4.enabled:=true; 263: button5.enabled:=true; 264: Diagramme1.Enabled:=true; 265: 266: for i:=1 to do // Array befüllen 267: Begin 268: daten[i].temperatur:=(random(100)+300)/10; //Temperaturen von 30,0 C - 40,0 C 269: daten[i].widerstand:=(random(24985)+15)/10; //Widerstände von 1,5kOhm kOhm (2,5MOhm) 270: daten[i].puls:=random(210)+30; // Puls von 30bpm - 240bpm 271: end; 272: end; 273: 274: procedure TForm1.Timer1Timer(Sender: TObject); //Timer gesetzt auf 1000ms 275: // Ausführen der Simulation 276: // Jede Sekunde wird ein neuer Messwert erzeugt 277: // Neue Messwerte werden an erste Stelle ins Array geschrieben 278: var 279: i:integer; 280: begin 281: for i:= downto 2 do daten[i]:=daten[i-1]; // Werte im Array eins nach rechts schieben 282: //Erstes Array-Feld mit aktuellen Daten füttern 283: daten[1].temperatur:=sim_temperatur(); 284: daten[1].widerstand:=sim_widerstand(); 285: daten[1].puls:=sim_puls(); 286: end; 287: 288: procedure TForm1.Hilfe1Click(Sender: TObject); //Aufruf der Hilfe 289: //Form 2 anzeigen, dort steht die Hilfe. 290: begin 291: form2.show; 292: end; 293: 294: procedure TForm1.Button3Click(Sender: TObject); // Diagramm Temperatur aufrufen 295: // Form 3 anzeigen, Zeitdiagramm für die Temperatur 296: begin 297: form3.show; 298: end; 299: 300: procedure TForm1.Button4Click(Sender: TObject); // Diagramm Widerstand aufrufen 301: // Form 4 beinhaltet das Zeitdiagramm des Körperwiderstandes 302: begin 303: form4.show; 304: end;

25 main.pas :54:04 Seite 5 von 5 305: 306: procedure TForm1.Button5Click(Sender: TObject); // Diagramm Puls aufrufen 307: // Form 5 ist für das Diagramm Puls 308: begin 309: form5.show 310: end; 311: 312: procedure TForm1.Button2Click(Sender: TObject); // Beenden 313: //Beendet das Programm 314: begin 315: Form1.Close; 316: end; 317: 318: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); // Das passiert beim Beenden 319: //Destructoren aufrufen, form3,4,5 Zerstören (für destructor der Zeitdiagramme) 320: begin 321: seg1.entfernen; 322: seg2.entfernen; 323: seg3.entfernen; 324: seg4.entfernen; 325: seg5.entfernen; 326: seg6.entfernen; 327: seg7.entfernen; 328: seg8.entfernen; 329: seg9.entfernen; 330: seg10.entfernen; 331: seg11.entfernen; 332: zeiger1.entfernen; 333: zeiger2.entfernen; 334: zeiger3.entfernen; 335: balken1.entfernen; 336: balken2.entfernen; 337: balken3.entfernen; 338: 339: form2.close; 340: 341: form3.destroy; 342: form4.destroy; 343: form5.destroy 344: end; 345: 346: end.

26 dia_temp.pas :18:26 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: dia_temp letzte Änderung: * 4: * * 5: * Funktion: Erstellt die Form zur Anzeige der Diagramme * 6: * * 7: * Eingaben: RadioButton.Click zut Steuerung * 8: * Ausgaben: Zeitdiagramm * 9: * * 10: * Aufruf von: main * 11: * Ruft auf: balkendia, liniendia * 12: ****************************************************************} 13: // Kommentare siehe Unit dia_ohm 14: // ähnlicher bis gleicher Inhalt wie bei Diagramm Widerstand 15: unit dia_temp; 16: 17: interface 18: 19: uses 20: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 21: Dialogs, StdCtrls, ExtCtrls; 22: 23: type 24: TForm3 = class(tform) 25: Button1: TButton; 26: PaintBox1: TPaintBox; 27: Timer1: TTimer; 28: GroupBox1: TGroupBox; 29: RadioButton1: TRadioButton; 30: RadioButton2: TRadioButton; 31: GroupBox2: TGroupBox; 32: RadioButton3: TRadioButton; 33: RadioButton4: TRadioButton; 34: RadioButton5: TRadioButton; 35: procedure Button1Click(Sender: TObject); 36: procedure FormCreate(Sender: TObject); 37: procedure Timer1Timer(Sender: TObject); 38: procedure FormDestroy(Sender: TObject); 39: private 40: { Private-Deklarationen } 41: public 42: { Public-Deklarationen } 43: end; 44: 45: var 46: Form3: TForm3; 47: 48: implementation 49: 50: uses 51: anzeige, zeitdia, liniendia, balkendia, main; 52: 53: var 54: linien_temp: TLiniendia; 55: balken_temp: TBalkendia; 56: 57: {$R *.dfm} 58: 59: procedure TForm3.FormCreate(Sender: TObject); 60: begin 61: linien_temp:=tliniendia.erzeugen(30,40,' C',clred,PaintBox1); 62: Balken_temp:=TBalkendia.erzeugen(30,40,' C',clred,PaintBox1); 63: end; 64: 65: procedure TForm3.Timer1Timer(Sender: TObject); 66: var 67: i,j,h,hh: integer; 68: mwh,mw: real; 69: help: array[1..62] of real; 70: begin 71: if RadioButton3.Checked=true then 72: begin 73: for i:=1 to 62 do help[i]:=main.daten[i].temperatur; 74: if radiobutton1.checked=true then 75: linien_temp.anzeigen(help,60,'sec') 76: else 77: balken_temp.anzeigen(help,60,'sec');

27 dia_temp.pas :18:26 Seite 2 von 2 78: end 79: else if Radiobutton4.Checked=true then 80: Begin 81: h:=1; 82: mwh:=0; 83: hh:=0; 84: for i:=1 to 62 do 85: begin 86: for j:=h to h+59 do 87: begin 88: mwh:=mwh+main.daten[j].temperatur; 89: hh:=j; 90: end; 91: mw:=mwh/60; 92: mwh:=0; 93: help[i]:=mw; 94: h:=hh+1; 95: end; 96: if radiobutton1.checked=true then 97: linien_temp.anzeigen(help,60,'min') 98: else 99: balken_temp.anzeigen(help,60,'min'); 100: end 101: else 102: Begin 103: h:=1; 104: mwh:=0; 105: hh:=0; 106: for i:=1 to 26 do 107: begin 108: for j:=h to h+3599 do 109: begin 110: mwh:=mwh+main.daten[j].temperatur; 111: hh:=j; 112: end; 113: mw:=mwh/3600; 114: mwh:=0; 115: help[i]:=mw; 116: h:=hh+1; 117: end; 118: if radiobutton1.checked=true then 119: linien_temp.anzeigen(help,24,'h') 120: else 121: balken_temp.anzeigen(help,24,'h'); 122: end; 123: end; 124: 125: procedure TForm3.Button1Click(Sender: TObject); 126: begin 127: form3.hide; 128: end; 129: 130: procedure TForm3.FormDestroy(Sender: TObject); 131: begin 132: linien_temp.entfernen; 133: balken_temp.entfernen; 134: end; 135: 136: end.

28 dia_ohm.pas :18:36 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: dia_ohm letzte Änderung: * 4: * * 5: * Funktion: Erstellt die Form zur Anzeige der Diagramme * 6: * * 7: * Eingaben: RadioButton.Click zut Steuerung * 8: * Ausgaben: Zeitdiagramm * 9: * * 10: * Aufruf von: main * 11: * Ruft auf: balkendia, liniendia * 12: ****************************************************************} 13: 14: unit dia_ohm; 15: 16: interface 17: 18: uses 19: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 20: Dialogs, StdCtrls, ExtCtrls; 21: 22: type 23: TForm4 = class(tform) 24: Button1: TButton; 25: Timer1: TTimer; 26: PaintBox1: TPaintBox; 27: GroupBox1: TGroupBox; 28: RadioButton1: TRadioButton; 29: RadioButton2: TRadioButton; 30: GroupBox2: TGroupBox; 31: RadioButton3: TRadioButton; 32: RadioButton4: TRadioButton; 33: RadioButton5: TRadioButton; 34: procedure Button1Click(Sender: TObject); 35: procedure Timer1Timer(Sender: TObject); 36: procedure FormCreate(Sender: TObject); 37: procedure FormDestroy(Sender: TObject); 38: private 39: { Private-Deklarationen } 40: public 41: { Public-Deklarationen } 42: end; 43: 44: var 45: Form4: TForm4; 46: 47: implementation 48: 49: uses 50: anzeige, zeitdia, liniendia, balkendia, main; 51: 52: var 53: linien_ohm: TLiniendia; 54: balken_ohm: TBalkendia; 55: 56: {$R *.dfm} 57: 58: procedure TForm4.FormCreate(Sender: TObject); //wenn die Form 4 erstellt wird 59: //zwei Objekte (Liniendiagramm, Balkendiagramm) erzeugen 60: begin 61: linien_ohm:=tliniendia.erzeugen(1.5,2500,'kohm',clgreen,paintbox1); 62: balken_ohm:=tbalkendia.erzeugen(1.5,2500,'kohm',clgreen,paintbox1); 63: end; 64: 65: procedure TForm4.Timer1Timer(Sender: TObject);// Timer (1 Sekunde) 66: // zum Neuzeichnen der Diagramme 67: // Auswahl per Radiobutton ob Liniendiagramm oder Balkendiagramm 68: // Auswahl per Radiobutton ob sec, min, h angezeigt wird. 69: // Bei Sekunde werden die letzten 60 Sekunden angezeigt 70: // Bei Minuten werden die letzten 60 Minuten angezeigt, wobei immer 60 sec zu einer Minute als Mittelwert zusammengefasst werden. 71: // Bei Stunden werden die letzten 24 Stunden angezeigt, wobei immer 3600 sec zu einer Stunde gemittelt werden. 72: var 73: i,j,h,hh: integer; //Variabeln für Zähler (i,j) und Hilfsvariabeln (h,hh) 74: mwh,mw: real; //Varibele für den Mittelwert (mw) und Hilfsvariable für Mittelwert(mwh). 75: help: array[1..62] of real;// Hilfsarray für Mittlwerte zu speichern

29 dia_ohm.pas :18:36 Seite 2 von 2 76: begin 77: if RadioButton3.Checked=true then 78: begin // Sekunden Diagramm 79: for i:=1 to 62 do help[i]:=main.daten[i].widerstand; 80: if radiobutton1.checked=true then 81: linien_ohm.anzeigen(help,60,'sec') //Liniendiagramm 82: else 83: balken_ohm.anzeigen(help,60,'sec'); //Balkendiagramm 84: end 85: else if Radiobutton4.Checked=true then 86: Begin // Minuten Diagramm 87: //Initalisirung der Variabeln 88: h:=1; 89: mwh:=0; 90: hh:=0; 91: // Mittelwertbildung, befüllen des Hilfsarrays 92: for i:=1 to 62 do 93: begin 94: for j:=h to h+59 do 95: begin 96: mwh:=mwh+main.daten[j].widerstand; //Mittelwert bilden 97: hh:=j; 98: end; 99: mw:=mwh/60; 100: mwh:=0; 101: help[i]:=mw; //aktueller Mittelwert in das Array schreiben 102: h:=hh+1; 103: end; 104: if radiobutton1.checked=true then 105: linien_ohm.anzeigen(help,60,'min') //Liniendiagramm Minuten anzeigen 106: else 107: balken_ohm.anzeigen(help,60,'min'); // Balkendiagramm Minuten anzeigen 108: end 109: else 110: Begin // Stunden Diagramm 111: // Variabeln initalisieren 112: h:=1; 113: mwh:=0; 114: hh:=0; 115: //Mittelwertbildung, befüllen des Arrays 116: for i:=1 to 26 do 117: begin 118: for j:=h to h+3599 do 119: begin 120: mwh:=mwh+main.daten[j].widerstand; 121: hh:=j; 122: end; 123: mw:=mwh/3600; 124: mwh:=0; 125: help[i]:=mw; 126: h:=hh+1; 127: end; 128: if radiobutton1.checked=true then 129: linien_ohm.anzeigen(help,24,'h') //Liniendiagramm Stunden 130: else 131: balken_ohm.anzeigen(help,24,'h');// Balkendiagramm Stunden 132: end; 133: end; 134: 135: procedure TForm4.Button1Click(Sender: TObject); // Widerstandsdiagramm schließen 136: begin 137: form4.hide; 138: end; 139: 140: procedure TForm4.FormDestroy(Sender: TObject); // Form "zerstören" 141: // Aufruf der Destuctoren wenn Formblatt "zerstört wird" 142: // Aufruf bei Form1.close 143: begin 144: linien_ohm.entfernen; 145: balken_ohm.entfernen; 146: end; 147: 148: end.

30 dia_puls.pas :18:32 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: dia_puls letzte Änderung: * 4: * * 5: * Funktion: Erstellt die Form zur Anzeige der Diagramme * 6: * * 7: * Eingaben: RadioButton.Click zut Steuerung * 8: * Ausgaben: Zeitdiagramm * 9: * * 10: * Aufruf von: main * 11: * Ruft auf: balkendia, liniendia * 12: ****************************************************************} 13: // Kommentare siehe Unit dia_ohm 14: // ähnlicher bis gleicher Inhalt wie bei Diagramm Widerstand 15: unit dia_puls; 16: 17: interface 18: 19: uses 20: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 21: Dialogs, StdCtrls, ExtCtrls; 22: 23: type 24: TForm5 = class(tform) 25: Button1: TButton; 26: Timer1: TTimer; 27: PaintBox1: TPaintBox; 28: GroupBox1: TGroupBox; 29: RadioButton1: TRadioButton; 30: RadioButton2: TRadioButton; 31: GroupBox2: TGroupBox; 32: RadioButton3: TRadioButton; 33: RadioButton4: TRadioButton; 34: RadioButton5: TRadioButton; 35: procedure Button1Click(Sender: TObject); 36: procedure Timer1Timer(Sender: TObject); 37: procedure FormCreate(Sender: TObject); 38: procedure FormDestroy(Sender: TObject); 39: private 40: { Private-Deklarationen } 41: public 42: { Public-Deklarationen } 43: end; 44: 45: var 46: Form5: TForm5; 47: 48: implementation 49: 50: uses 51: anzeige, zeitdia, liniendia, balkendia, main; 52: 53: var 54: linien_puls: TLiniendia; 55: balken_puls: TBalkendia; 56: 57: {$R *.dfm} 58: 59: procedure TForm5.FormCreate(Sender: TObject); 60: begin 61: linien_puls:=tliniendia.erzeugen(30,240,'bpm',clblue,paintbox1); 62: balken_puls:=tbalkendia.erzeugen(30,240,'bpm',clblue,paintbox1); 63: end; 64: 65: procedure TForm5.Timer1Timer(Sender: TObject); 66: var 67: i,j,h,hh: integer; 68: mwh,mw: real; 69: help: array[1..62] of real; 70: begin 71: if RadioButton3.Checked=true then 72: begin 73: for i:=1 to 62 do help[i]:=main.daten[i].puls; 74: if radiobutton1.checked=true then 75: linien_puls.anzeigen(help,60,'sec') 76: else 77: balken_puls.anzeigen(help,60,'sec');

31 dia_puls.pas :18:32 Seite 2 von 2 78: end 79: else if Radiobutton4.Checked=true then 80: Begin 81: h:=1; 82: mwh:=0; 83: hh:=0; 84: for i:=1 to 62 do 85: begin 86: for j:=h to h+59 do 87: begin 88: mwh:=mwh+main.daten[j].puls; 89: hh:=j; 90: end; 91: mw:=mwh/60; 92: mwh:=0; 93: help[i]:=mw; 94: h:=hh+1; 95: end; 96: if radiobutton1.checked=true then 97: linien_puls.anzeigen(help,60,'min') 98: else 99: balken_puls.anzeigen(help,60,'min'); 100: end 101: else 102: Begin 103: h:=1; 104: mwh:=0; 105: hh:=0; 106: for i:=1 to 26 do 107: begin 108: for j:=h to h+3599 do 109: begin 110: mwh:=mwh+main.daten[j].puls; 111: hh:=j; 112: end; 113: mw:=mwh/3600; 114: mwh:=0; 115: help[i]:=mw; 116: h:=hh+1; 117: end; 118: if radiobutton1.checked=true then 119: linien_puls.anzeigen(help,24,'h') 120: else 121: balken_puls.anzeigen(help,24,'h'); 122: end; 123: end; 124: 125: procedure TForm5.Button1Click(Sender: TObject); 126: begin 127: form5.hide; 128: end; 129: 130: procedure TForm5.FormDestroy(Sender: TObject); 131: begin 132: linien_puls.entfernen; 133: balken_puls.entfernen; 134: end; 135: 136: end.

32 help.pas :34:42 Seite 1 von 1 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: help letzte Änderung: * 4: * * 5: * Funktion: Erstellt die Form zur Anzeige der Hilfe * 6: * * 7: * Eingaben: - * 8: * Ausgaben: Text * 9: * * 10: * Aufruf von: main * 11: * Ruft auf: * 12: ****************************************************************} 13: 14: unit help; 15: 16: interface 17: 18: uses 19: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 20: Dialogs, StdCtrls; 21: 22: type 23: TForm2 = class(tform) 24: Label1: TLabel; 25: Button1: TButton; 26: Label2: TLabel; 27: procedure FormShow(Sender: TObject); 28: procedure Button1Click(Sender: TObject); 29: private 30: { Private-Deklarationen } 31: public 32: { Public-Deklarationen } 33: end; 34: 35: var 36: Form2: TForm2; 37: 38: implementation 39: 40: {$R *.dfm} 41: 42: procedure TForm2.FormShow(Sender: TObject); // Wenn Form angezeigt wird 43: // Hilfe Text zum Pogramm 44: begin 45: label2.caption:= 46: 'Biomonitor Version 1.1.3'+#10+#10+ 47: 'Copyright 2011 written by Dominik Lönarz'+#10+#10+ 48: 'Das Programm dient zur grafischen Veranschaulichung,'+#10+ 49: 'verschiedener Werte des menschlichen Körper. Im Detail sind das,'+#10+ 50: 'die Körpertemperatur, der Körperwiderstand und der Puls.'+#10+ 51: 'Die Werte werden angezeigt als Zahlenwert, als Balkendiagramm,'+#10+ 52: 'in Prozent, und als Zeigerdiagramm. Die Werte werden sekündlich aktualisiert.'+#10+ 53: 'Gestartet wird die Simulation per Druck auf Simulation.'+#10+ 54: 'Zusätzlich besteht die Möglichkeit den zeitlichen Verlauf der Werte anzuzeigen.'+#10+ 55: 'Der Benutzer hat hier die Möglichkeit zwischen einem Linien oder Balkendiagramm zu wählen.'+#10+ 56: 'Weiterhin kann zwischen Sekunden, Minuten und Stunden umgestellt werden.'+#10+#10+ 57: 'Die einzelnen Diagramme können über das Menü oder über Buttons,'+#10+ 58: 'direkt unter den Messwerten, ausgewählt werden.'+#10+ 59: 'Per Radiobuttons kann die Anzeige umgeschaltet werden.'+#10+ 60: 'Anzeige "Sekunden" zeigt die letzten 60 Sekunden an.'+#10+ 61: 'Anzeige "Minuten" mittelt 60 Sekunden zu einer Minute und zeigt 60 Minuten an.'+#10+ 62: 'Anzeige "Stunden" fast 60 Minuten zu einer Stunde zusammen und zeigt einen Tag an.' 63: ; 64: end; 65: 66: procedure TForm2.Button1Click(Sender: TObject);// Form schliessen 67: begin 68: Form2.close; 69: end; 70: 71: end.

33 anzeige.pas :57:10 Seite 1 von 1 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: anzeige letzte Änderung: * 4: * Oberklasse: TObject * 5: * Klasse: TAnzeige * 6: * Unterklasse: TZeitdia, TZeiger, TBalken, TSiebenseg * 7: * * 8: * Funktion: entfernen (Destructor) * 9: * * 10: * Eingaben: - * 11: * Ausgaben: - * 12: * * 13: * Aufruf von: - * 14: * Ruft auf: - * 15: ****************************************************************} 16: 17: unit anzeige; 18: 19: interface 20: 21: uses 22: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 23: Dialogs, StdCtrls, Menus, ExtCtrls; 24: 25: type 26: Tanzeige =class (TObject) 27: x:integer; //X-Position 28: y:integer; //Y-Position 29: farbe:tcolor; //Farbe 30: 31: destructor entfernen; 32: end; 33: 34: implementation 35: 36: destructor Tanzeige.entfernen; 37: // Destructor zum entfernen aller Objekte 38: Begin 39: end; 40: 41: end.

34 siebenseg.pas :57:32 Seite 1 von 4 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: siebenseg letzte Änderung: * 4: * Oberklasse: TAnzeige * 5: * Klasse: TSiebenseg * 6: * Unterklasse: - * 7: * * 8: * Funktion: erzeugen (Constructor) * 9: * anzeigen (zeigt eine Zahl von 0-9 auf einer * 10: * Siebensegment-Anzeige) * 11: * segment (stellt einzelne Segmente dar + Punkt) * * 12: * * 13: * Eingaben: xpos, ypos, width, color, place, i * 14: * Ausgaben: Siebensegment-Anzeige * 15: * * 16: * Aufruf von: main * 17: * Ruft auf: - * 18: ****************************************************************} 19: {Klasse Siebensegment-Anzeige 20: 21: anzeigen -> Zeigt Zahlen als Siebensegment-Anzeige an : segment -> Zeichnet einzelne Segmente : 24: 5 25: : 6 27: 1 3 o7 28: 2 29: o=a; 1=b; 2=c; 3=d; 4=e; 5=f; 6=g; 30: Constructor Erzeugen enthält die X-Position, Y-Position, Größe, Farbe, Zeichenort} 31: 32: unit siebenseg; 33: 34: interface 35: 36: uses 37: Graphics, anzeige; 38: 39: type 40: TSiebenseg = class (Tanzeige) 41: Private 42: //Eigenschaften 43: g:integer; //Größe 44: ort:tcanvas; //Ort 45: Public 46: //Methoden 47: constructor erzeugen(xpos,ypos,width: Integer; color: TColor; place: TCanvas);// Hier werden später die Werte der Variabeln übergeben 48: procedure anzeigen (i:integer); //Hier haben wir eine procedure Namens "anzeigen" 49: procedure segment (i:integer); // Zum ansteuern einzelner Segmente 50: end; 51: 52: implementation 53: 54: constructor TSiebenseg.erzeugen(xpos,ypos,width: Integer; color: TColor; place: TCanvas); 55: begin 56: x:=xpos; //Der Variable x wird der Wert xpos aus der Klammer zu gweiesen, xpos wird durch Aufruf des Constructors zugewiesen 57: y:=ypos; 58: g:=width; 59: farbe:=color; 60: ort:=place; 61: end; 62: 63: procedure TSiebenseg.anzeigen(i:integer); //Hier steht was in der procedure passiert! Procedure zum anzeigen von Zahlen... 64: Begin 65: with ort do begin // "with ort do" soll heißen, dass vor den nächsten Befehlen, der "ort" voran gestellt wird 66: Pen.Width:=g; // Zeichenstift größe wird übergeben 67: Pen.Color:=clsilver; // Erst einmal grau, damit man eine Anzeige sieht, die allerdings nicht "leuchtet" 68: // Ab hier werden die "grauen" Segmente gezeichnet 69: MoveTo(x+1*g,y+1*g); //a 70: LineTo(x+1*g,y+7*g); 71: MoveTo(x+1*g,y+8*g); //b

35 siebenseg.pas :57:32 Seite 2 von 4 72: LineTo(x+1*g,y+14*g); 73: MoveTo(x+2*g,y+round(14.5*g)); //c 74: LineTo(x+8*g,y+round(14.5*g)); 75: MoveTo(x+9*g,y+14*g); //d 76: LineTo(x+9*g,y+8*g); 77: MoveTo(x+9*g,y+7*g); //e 78: LineTo(x+9*g,y+1*g); 79: MoveTo(x+8*g,y+round(0.5*g)); //f 80: LineTo(x+2*g,y+round(0.5*g)); 81: MoveTo(x+8*g,y+round(7.5*g)); //g 82: LineTo(x+2*g,y+round(7.5*g)); 83: 84: Pen.Color:=farbe; // Jetzt wirds bunt... 85: end; 86: 87: case i of // case of "i", i wird später beim aufruf der procedure mit übergeben 88: 0: Begin // für i=0 jetzt werden die einzelnen Segmente bunt eingefärbt 89: with ort do begin //Zahl 0 90: MoveTo(x+1*g,y+1*g); //a 91: LineTo(x+1*g,y+7*g); 92: MoveTo(x+1*g,y+8*g); //b 93: LineTo(x+1*g,y+14*g); 94: MoveTo(x+2*g,y+round(14.5*g)); //c 95: LineTo(x+8*g,y+round(14.5*g)); 96: MoveTo(x+9*g,y+14*g); //d 97: LineTo(x+9*g,y+8*g); 98: MoveTo(x+9*g,y+7*g); //e 99: LineTo(x+9*g,y+1*g); 100: MoveTo(x+8*g,y+round(0.5*g)); //f 101: LineTo(x+2*g,y+round(0.5*g)); 102: end; 103: end; 104: 1: Begin //Zahl 1 105: with ort do begin 106: MoveTo(x+9*g,y+14*g); //d 107: LineTo(x+9*g,y+8*g); 108: MoveTo(x+9*g,y+7*g); //e 109: LineTo(x+9*g,y+1*g); 110: end; 111: end; 112: 2: Begin //Zahl 2 113: with ort do begin 114: MoveTo(x+1*g,y+8*g); //b 115: LineTo(x+1*g,y+14*g); 116: MoveTo(x+2*g,y+round(14.5*g)); //c 117: LineTo(x+8*g,y+round(14.5*g)); 118: MoveTo(x+9*g,y+7*g); //e 119: LineTo(x+9*g,y+1*g); 120: MoveTo(x+8*g,y+round(0.5*g)); //f 121: LineTo(x+2*g,y+round(0.5*g)); 122: MoveTo(x+8*g,y+round(7.5*g)); //g 123: LineTo(x+2*g,y+round(7.5*g)); 124: end; 125: end; 126: 3: Begin //Zahl 3 127: with ort do begin 128: MoveTo(x+2*g,y+round(14.5*g)); //c 129: LineTo(x+8*g,y+round(14.5*g)); 130: MoveTo(x+9*g,y+14*g); //d 131: LineTo(x+9*g,y+8*g); 132: MoveTo(x+9*g,y+7*g); //e 133: LineTo(x+9*g,y+1*g); 134: MoveTo(x+8*g,y+round(0.5*g)); //f 135: LineTo(x+2*g,y+round(0.5*g)); 136: MoveTo(x+8*g,y+round(7.5*g)); //g 137: LineTo(x+2*g,y+round(7.5*g)); 138: end; 139: end; 140: 4: Begin //Zahl 4 141: with ort do begin 142: MoveTo(x+1*g,y+1*g); //a 143: LineTo(x+1*g,y+7*g); 144: MoveTo(x+9*g,y+14*g); //d 145: LineTo(x+9*g,y+8*g); 146: MoveTo(x+9*g,y+7*g); //e

36 siebenseg.pas :57:32 Seite 3 von 4 147: LineTo(x+9*g,y+1*g); 148: MoveTo(x+8*g,y+round(7.5*g)); //g 149: LineTo(x+2*g,y+round(7.5*g)); 150: end; 151: end; 152: 5: Begin //Zahl 5 153: with ort do begin 154: MoveTo(x+1*g,y+1*g); //a 155: LineTo(x+1*g,y+7*g); 156: MoveTo(x+2*g,y+round(14.5*g)); //c 157: LineTo(x+8*g,y+round(14.5*g)); 158: MoveTo(x+9*g,y+14*g); //d 159: LineTo(x+9*g,y+8*g); 160: MoveTo(x+8*g,y+round(0.5*g)); //f 161: LineTo(x+2*g,y+round(0.5*g)); 162: MoveTo(x+8*g,y+round(7.5*g)); //g 163: LineTo(x+2*g,y+round(7.5*g)); 164: end; 165: end; 166: 6: Begin //Zahl 6 167: with ort do begin 168: MoveTo(x+1*g,y+1*g); //a 169: LineTo(x+1*g,y+7*g); 170: MoveTo(x+1*g,y+8*g); //b 171: LineTo(x+1*g,y+14*g); 172: MoveTo(x+2*g,y+round(14.5*g)); //c 173: LineTo(x+8*g,y+round(14.5*g)); 174: MoveTo(x+9*g,y+14*g); //d 175: LineTo(x+9*g,y+8*g); 176: MoveTo(x+8*g,y+round(0.5*g)); //f 177: LineTo(x+2*g,y+round(0.5*g)); 178: MoveTo(x+8*g,y+round(7.5*g)); //g 179: LineTo(x+2*g,y+round(7.5*g)); 180: end; 181: end; 182: 7: Begin //Zahl 7 183: with ort do begin 184: MoveTo(x+9*g,y+14*g); //d 185: LineTo(x+9*g,y+8*g); 186: MoveTo(x+9*g,y+7*g); //e 187: LineTo(x+9*g,y+1*g); 188: MoveTo(x+8*g,y+round(0.5*g)); //f 189: LineTo(x+2*g,y+round(0.5*g)); 190: end; 191: end; 192: 8: Begin //Zahl 8 193: with ort do begin 194: MoveTo(x+1*g,y+1*g); //a 195: LineTo(x+1*g,y+7*g); 196: MoveTo(x+1*g,y+8*g); //b 197: LineTo(x+1*g,y+14*g); 198: MoveTo(x+2*g,y+round(14.5*g)); //c 199: LineTo(x+8*g,y+round(14.5*g)); 200: MoveTo(x+9*g,y+14*g); //d 201: LineTo(x+9*g,y+8*g); 202: MoveTo(x+9*g,y+7*g); //e 203: LineTo(x+9*g,y+1*g); 204: MoveTo(x+8*g,y+round(0.5*g)); //f 205: LineTo(x+2*g,y+round(0.5*g)); 206: MoveTo(x+8*g,y+round(7.5*g)); //g 207: LineTo(x+2*g,y+round(7.5*g)); 208: end; 209: end; 210: 9: Begin //Zahl 9 211: with ort do begin 212: MoveTo(x+1*g,y+1*g); //a 213: LineTo(x+1*g,y+7*g); 214: MoveTo(x+2*g,y+round(14.5*g)); //c 215: LineTo(x+8*g,y+round(14.5*g)); 216: MoveTo(x+9*g,y+14*g); //d 217: LineTo(x+9*g,y+8*g); 218: MoveTo(x+9*g,y+7*g); //e 219: LineTo(x+9*g,y+1*g); 220: MoveTo(x+8*g,y+round(0.5*g)); //f 221: LineTo(x+2*g,y+round(0.5*g)); 222: MoveTo(x+8*g,y+round(7.5*g)); //g 223: LineTo(x+2*g,y+round(7.5*g));

37 siebenseg.pas :57:32 Seite 4 von 4 224: end; 225: end; 226: end; 227: end; 228: 229: procedure TSiebenseg.segment(i:integer); //Procedure zum anzeigen einzelner Segmente 230: Begin 231: with ort do begin // "with ort do" soll heißen, dass vor den nächsten Befehlen, der "ort" voran gestellt wird 232: Pen.Width:=g; // Zeichenstift größe wird übergeben 233: Pen.Color:=clsilver; // Erst einmal grau, damit man eine Anzeige sieht, die allerdings nicht "leuchtet" 234: // Ab hier werden die "grauen" Segmente gezeichnet 235: MoveTo(x+1*g,y+1*g); //a 236: LineTo(x+1*g,y+7*g); 237: MoveTo(x+1*g,y+8*g); //b 238: LineTo(x+1*g,y+14*g); 239: MoveTo(x+2*g,y+round(14.5*g)); //c 240: LineTo(x+8*g,y+round(14.5*g)); 241: MoveTo(x+9*g,y+14*g); //d 242: LineTo(x+9*g,y+8*g); 243: MoveTo(x+9*g,y+7*g); //e 244: LineTo(x+9*g,y+1*g); 245: MoveTo(x+8*g,y+round(0.5*g)); //f 246: LineTo(x+2*g,y+round(0.5*g)); 247: MoveTo(x+8*g,y+round(7.5*g)); //g 248: LineTo(x+2*g,y+round(7.5*g)); 249: Ellipse(x+11*g,y+14*g,x+12*g,y+15*g); 250: 251: Pen.Color:=farbe; // Jetzt wirds bunt : end; 253: 254: case i of // case of "i", i wird später beim aufruf der procedure mit übergeben 255: 0: Begin // (für i=0) jetzt werden die einzelnen Segmente bunt eingefärbt 256: with ort do begin 257: MoveTo(x+1*g,y+1*g); //a 258: LineTo(x+1*g,y+7*g); 259: end; 260: end; 261: 1: Begin 262: with ort do begin 263: MoveTo(x+1*g,y+8*g); //b 264: LineTo(x+1*g,y+14*g); 265: end; 266: end; 267: 2: Begin 268: with ort do begin 269: MoveTo(x+2*g,y+round(14.5*g)); //c 270: LineTo(x+8*g,y+round(14.5*g)); 271: end; 272: end; 273: 3: Begin 274: with ort do begin 275: MoveTo(x+9*g,y+14*g); //d 276: LineTo(x+9*g,y+8*g); 277: end; 278: end; 279: 4: Begin 280: with ort do begin 281: MoveTo(x+9*g,y+7*g); //e 282: LineTo(x+9*g,y+1*g); 283: end; 284: end; 285: 5: Begin 286: with ort do begin 287: MoveTo(x+8*g,y+round(0.5*g)); //f 288: LineTo(x+2*g,y+round(0.5*g)); 289: end; 290: end; 291: 6: Begin 292: with ort do begin 293: MoveTo(x+8*g,y+round(7.5*g)); //g 294: LineTo(x+2*g,y+round(7.5*g)); 295: end; 296: end;

38 siebenseg.pas :57:32 Seite 5 von 4 297: 7: Begin //Punkt 298: with ort do begin 299: Ellipse(x+11*g,y+14*g,x+12*g,y+15*g); 300: end; 301: end; 302: end; 303: end; 304: 305: end. // Das war es schon

39 balken.pas :59:58 Seite 1 von 1 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: balken letzte Änderung: * 4: * Oberklasse: TAnzeige * 5: * Klasse: TBalken * 6: * Unterklasse: - * 7: * * 8: * Funktion: erzeugen (Constructor) * 9: * anzeigen (zeigt Realwerte auf einer * 10: * Balkenanzeige) * 11: * * 12: * Eingaben: xpos, ypos, hoehe, breite, color, place, i * 13: * Ausgaben: Balkenanzeige * 14: * * 15: * Aufruf von: main * 16: * Ruft auf: - * 17: ****************************************************************} 18: 19: unit balken; 20: 21: interface 22: 23: uses 24: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 25: Dialogs, ExtCtrls, ComCtrls, StdCtrls, anzeige; 26: 27: type 28: TBalken = Class (Tanzeige) 29: private 30: h: integer; //Höhe des Balkens 31: b: integer; //Breite des Balkens 32: ort: TCanvas; 33: public 34: constructor erzugen(xpos,ypos,hoehe,breite: integer; color:tcolor; place:tcanvas); 35: procedure anzeigen (i:real); 36: end; 37: 38: implementation 39: 40: constructor TBalken.erzugen(xpos,ypos,hoehe,breite: integer; color:tcolor; place:tcanvas); 41: //Constructor zum erzeugen des Balkeninstrumentes 42: Begin 43: x:=xpos; 44: y:=ypos; 45: h:=hoehe; 46: b:=breite; 47: farbe:=color; 48: ort:=place; 49: end; 50: 51: procedure TBalken.anzeigen(i:real); 52: // Anzeige Procedure für Balkeninstrument 53: Begin 54: with ort do Begin 55: // Messwertbalken 56: brush.color:=farbe; 57: pen.color:=farbe; 58: rectangle(x+1,y+1,trunc(1+(i*b)/100),y+h); 59: // Grundgerüst 60: brush.color:=clbtnface; 61: pen.color:=clblack; 62: MoveTo(x,y); 63: LineTo(x,y+h); 64: LineTo(x+b,y+h); 65: LineTo(x+b,y); 66: LineTo(x,y); 67: //Anzeigewert in Prozent 68: TextOut(x+b+3,trunc(y+(h/2)-6),floattostr(i)+' %'); 69: end; 70: end; 71: 72: end.

40 zeiger.pas :12:02 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: zeiger letzte Änderung: * 4: * Oberklasse: TAnzeige * 5: * Klasse: TZeiger * 6: * Unterklasse: - * 7: * * 8: * Funktion: erzeugen (Constructor) * 9: * anzeigen (zeigt Realwerte auf einem * 10: * Zeigerinstrument) * 11: * * 12: * Eingaben: min_wert, max_wert, einheit, zeichenort, color, i * 13: * Ausgaben: Zeigerinstrument * 14: * * 15: * Aufruf von: main * 16: * Ruft auf: - * 17: ****************************************************************} 18: 19: unit zeiger; 20: 21: interface 22: 23: uses 24: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 25: Dialogs, ExtCtrls, Math, anzeige; 26: 27: type 28: TZeiger = class (Tanzeige) 29: Private 30: min: real; 31: max: real; 32: s: string; 33: ort: TPaintbox; 34: Public 35: constructor erzeugen (min_wert,max_wert: real; einheit:string; zeichenort: TPaintbox; color:tcolor); 36: procedure anzeigen(i:real); 37: end; 38: 39: implementation 40: 41: constructor TZeiger.erzeugen (min_wert,max_wert: real; einheit:string; zeichenort: TPaintbox; color:tcolor); 42: // Constructor Initalisieren der Objekte 43: begin 44: min:=min_wert; 45: max:=max_wert; 46: s:=einheit; 47: ort:=zeichenort; 48: farbe:=color; 49: end; 50: 51: procedure TZeiger.anzeigen(i:real); 52: // Procedure zum Anzeigen des Zeigerinstrumentes 53: var 54: k,j,ch,cw,x,y:integer; 55: begin 56: //Grundlagen schaffen 57: ort.refresh; 58: ort.canvas.pen.width:=1; 59: ort.canvas.pen.color:=clblack; 60: ch:=ort.clientheight; 61: cw:=ort.clientwidth; 62: //Grundriss zeichnen hier linke Aussenlinie 63: ort.canvas.pen.color:=clblack; 64: ort.canvas.pen.width:=1; 65: x:=round ((cw/2)-(cos(degtorad(30))*(cw/2))); 66: y:=round (ch-1-(sin(degtorad(30))*(cw/2))); 67: ort.canvas.moveto (round(cw/2),ch-1); 68: ort.canvas.lineto (x,y); 69: //Minimalen Wert anzeigen + Einheit 70: ort.canvas.textout(x+25,y,floattostr(min)+' '+s); 71: // Grundriss zeichen hier rechte Aussenlinie 72: x:=round ((cw/2)-(cos(degtorad(150))*(cw/2))); 73: y:=round (ch-1-(sin(degtorad(150))*(cw/2))); 74: ort.canvas.moveto (round(cw/2),ch-1); 75: ort.canvas.lineto (x,y);

41 zeiger.pas :12:02 Seite 2 von 2 76: // Maximalen Wert und Einheit schreiben 77: ort.canvas.textout(x-55,y,floattostr(max)+' '+s); 78: // Zwischenwert anzeigen 79: x:=round ((cw/2)-(cos(degtorad(90))*(cw/2))); 80: y:=round (ch-1-(sin(degtorad(90))*(cw/2))); 81: 82: ort.canvas.textout(x-12,y+20,floattostr((max-(max-min)/2))+' '+s); 83: // Ersten Kreisausschnitt zeichnen 84: ort.canvas.moveto(round ((cw/2)-(cos(degtorad(30))*(cw/2))),round (ch-1-(sin(degtorad(30))*(cw/2)))); 85: for k:=31 to 150 do 86: Begin 87: x:=round ((cw/2)-(cos(degtorad(k))*(cw/2))); 88: y:=round (ch-1-(sin(degtorad(k))*(cw/2))); 89: ort.canvas.lineto(x,y); 90: end; 91: // Skala erstellen 92: for k:=3 to 15 do 93: Begin 94: x:=round ((cw/2)-(cos(degtorad(k*10))*(cw/2))); 95: y:=round (ch-1-(sin(degtorad(k*10))*(cw/2))); 96: ort.canvas.moveto(x,y); 97: x:=round ((cw/2)-(cos(degtorad(k*10))*((cw/2)-15))); 98: y:=round (ch-1-(sin(degtorad(k*10))*((cw/2)-15))); 99: ort.canvas.lineto(x,y); 100: end; 101: // Zweiten Kreisausschnitt zeichnen diesmal andere Farbe 102: ort.canvas.pen.color:=farbe; 103: ort.canvas.pen.width:=2; 104: ort.canvas.moveto(round ((cw/2)-(cos(degtorad(30))*((cw/2)-15))),round (ch-1-(sin(degtorad(30))*((cw/2)-15)))); 105: for k:=31 to 150 do 106: Begin 107: x:=round ((cw/2)-(cos(degtorad(k))*((cw/2)-15))); 108: y:=round (ch-1-(sin(degtorad(k))*((cw/2)-15))); 109: ort.canvas.lineto(x,y); 110: end; 111: // Zeichnen des Zeigers 112: j:=round((((i-min)*120)/(max-min))+30); 113: ort.canvas.moveto (round(cw/2),ch-1); 114: 115: ort.canvas.pen.color:=clgray; 116: ort.canvas.pen.width:=2; 117: x:=round ((cw/2)-(cos(degtorad(j))*((cw/2)-15))); 118: y:=round (ch-1-(sin(degtorad(j))*((cw/2)-15))); 119: ort.canvas.lineto (x,y); 120: // Die Spitze in anderer Farbe 121: ort.canvas.pen.color:=farbe; 122: ort.canvas.pen.width:=2; 123: x:=round ((cw/2)-(cos(degtorad(j))*(cw/2))); 124: y:=round (ch-1-(sin(degtorad(j))*(cw/2))); 125: ort.canvas.lineto (x,y); 126: end; 127: 128: end.

42 zeitdia.pas :56:38 Seite 1 von 1 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: zeitdia letzte Änderung: * 4: * Oberklasse: TAnzeige * 5: * Klasse: TZeitdia * 6: * Unterklasse: TLiniendia, TBalkendia * 7: * * 8: * Funktion: erzeugen (Constructor) * 9: * * 10: * Eingaben: min_wert, max_wert, wert_einheit, color, * 11: * place * 12: * Ausgaben: - * 13: * * 14: * Aufruf von: - * 15: * Ruft auf: - * 16: ****************************************************************} 17: 18: unit zeitdia; 19: 20: interface 21: 22: uses 23: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 24: Dialogs, ExtCtrls, ComCtrls, StdCtrls, anzeige; 25: 26: type 27: TZeitdia = Class (Tanzeige) 28: ort: TPaintbox; 29: min: real; 30: max: real; 31: einheit: string; 32: 33: constructor erzeugen(min_wert, max_wert: real;wert_einheit: string; color:tcolor; place:tpaintbox); 34: end; 35: 36: implementation 37: 38: constructor TZeitdia.erzeugen(min_wert, max_wert: real;wert_einheit: string; color:tcolor; place:tpaintbox); 39: // Constructor zum erzeugen der Zeitdiagramme (Unterklasse Liniendiagramm und Balkendiagramm) 40: Begin 41: min:=min_wert; 42: max:=max_wert; 43: einheit:=wert_einheit; 44: farbe:=color; 45: ort:=place; 46: end; 47: 48: end.

43 liniendia.pas :23:30 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: liniendia letzte Änderung: * 4: * Oberklasse: TZeitdia * 5: * Klasse: TLiniendia * 6: * Unterklasse: - * 7: * * 8: * Funktion: anzeigen (zeigt den zeitlichen Verlauf von * 9: * Messwerten, die in einem Array * 10: * gespeichert sind. * 11: * * 12: * Eingaben: data, time, time_unit * 13: * Ausgaben: Zeitliniendiagramm * 14: * * 15: * Aufruf von: dia_ohm, dia_puls, dia_temp * 16: * Ruft auf: - * 17: ****************************************************************} 18: 19: unit liniendia; 20: 21: interface 22: 23: uses 24: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 25: Dialogs, ExtCtrls, ComCtrls, StdCtrls, zeitdia, anzeige, main, dia_temp; 26: 27: type 28: TLiniendia = Class (TZeitdia) 29: procedure anzeigen (data: array of real;time:integer;timeunit:string); 30: end; 31: 32: implementation 33: 34: procedure TLiniendia.anzeigen(data: array of real;time:integer;timeunit:string);//liniendiagramm anzeigen 35: var 36: cw, ch, y, x, i: integer; 37: Begin 38: // Grundeinstellungen 39: ort.refresh; 40: ort.canvas.pen.width:=2; 41: ort.canvas.pen.color:=clblack; 42: cw:=ort.clientwidth; 43: ch:=ort.clientheight; 44: // X-Achse zeichnen 45: ort.canvas.moveto(30,ch-20); //Nullpunkt festlegen 46: ort.canvas.lineto(cw-20,ch-20); //X-Achse zeichen 47: ort.canvas.lineto(cw-28,ch-28); //Spitze erstellen 48: ort.canvas.moveto(cw-28,ch-12); //" 49: ort.canvas.lineto(cw-20,ch-20); //" 50: // Y-Achse zeichen 51: ort.canvas.moveto(30,ch-20); //Nullpunkt 52: ort.canvas.lineto(30,10); //Y-Achse zeichnen 53: ort.canvas.lineto(38,18); //Spitze zeichnen 54: ort.canvas.moveto(30,10); //" 55: ort.canvas.lineto(22,18); //" 56: // Achsenbeschriftung hinzufügen 57: ort.canvas.textout(cw-18,ch-26,'t'); //Achsenbeschriftung 58: ort.canvas.textout(cw-19,ch-12,timeunit); //" 59: ort.canvas.textout(0,0,einheit); 60: // Achsengitter zeichnen 61: ort.canvas.pen.color:=clsilver; 62: for i:=1 to trunc(time/2) do //Achsengitter (X-Achse) 63: Begin 64: ort.canvas.textout(round(((i*2)*(cw-50)/(time+1))+30-6),ch-12,inttostr(i*2)); 65: ort.canvas.moveto(round(((i*2)*(cw-50)/(time+1))+30),ch-21); 66: ort.canvas.lineto(round(((i*2)*(cw-50)/(time+1))+30),10); 67: end; 68: ort.canvas.moveto(31,20); //Achsengitter (Y-Achse) 69: ort.canvas.lineto(cw-20,20); 70: ort.canvas.textout(0,14,floattostr(max)); 71: ort.canvas.moveto(31,round(((ch-40)/2)+20)); 72: ort.canvas.lineto(cw-20,round(((ch-40)/2)+20)); 73: ort.canvas.textout(0,round(((ch-40)/2)+14),floattostr(((max-min)/2)+min)); 74: ort.canvas.textout(0,ch-26,floattostr(min)); 75: // Messwert verlauf zeichen 76: ort.canvas.pen.color:=farbe;

44 liniendia.pas :23:30 Seite 2 von 2 77: ort.canvas.moveto(31,round(ch-20-(((data[1]-min)*(ch-40))/(max-min)))); 78: for i:=1 to time do 79: Begin 80: y:=round(ch-20-(((data[i+1]-min)*(ch-40))/(max-min))); 81: x:=round(((i)*(cw-50)/(time+1))+30); 82: ort.canvas.lineto(x,y); 83: end; 84: end; 85: 86: end.

45 balkendia.pas :03:00 Seite 1 von 2 1: {**************************************************************** 2: * Name: Biomonitor Autor: Dominik Lönarz * 3: * Unit: balkendia letzte Änderung: * 4: * Oberklasse: TZeitdia * 5: * Klasse: TBalkendia * 6: * Unterklasse: - * 7: * * 8: * Funktion: anzeigen (zeigt den zeitlichen Verlauf von * 9: * Messwerten, die in einem Array * 10: * gespeichert sind. * 11: * * 12: * Eingaben: data, time, time_unit * 13: * Ausgaben: Zeitbalkendiagramm * 14: * * 15: * Aufruf von: dia_ohm, dia_puls, dia_temp * 16: * Ruft auf: - * 17: ****************************************************************} 18: 19: unit balkendia; 20: 21: interface 22: 23: uses 24: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 25: Dialogs, ExtCtrls, ComCtrls, StdCtrls, zeitdia, anzeige; 26: 27: type 28: TBalkendia = Class (TZeitdia) 29: procedure anzeigen (data: array of real;time:integer;timeunit:string); 30: end; 31: 32: implementation 33: 34: procedure TBalkendia.anzeigen(data: array of real;time:integer;timeunit:string); 35: // Balkendiagramm in abhängigkeit der Zeit 36: var 37: cw, ch, y, x1, x2, i: integer; 38: Begin 39: // Grundlagen schaffen 40: ort.refresh; 41: ort.canvas.pen.width:=2; 42: ort.canvas.pen.color:=clblack; 43: cw:=ort.clientwidth; 44: ch:=ort.clientheight; 45: // X-Achse zeichnen 46: ort.canvas.moveto(30,ch-20); //Nullpunkt festlegen 47: ort.canvas.lineto(cw-20,ch-20); //X-Achse zeichen 48: ort.canvas.lineto(cw-28,ch-28); //Spitze erstellen 49: ort.canvas.moveto(cw-28,ch-12); //" 50: ort.canvas.lineto(cw-20,ch-20); //" 51: // Y-Achse zeichnen 52: ort.canvas.moveto(30,ch-20); //Nullpunkt 53: ort.canvas.lineto(30,10); //Y-Achse zeichnen 54: ort.canvas.lineto(38,18); //Spitze zeichnen 55: ort.canvas.moveto(30,10); //" 56: ort.canvas.lineto(22,18); //" 57: // Achsenbeschriftung 58: ort.canvas.textout(cw-18,ch-26,'t'); //Achsenbeschriftung 59: ort.canvas.textout(cw-19,ch-12,timeunit); //" 60: ort.canvas.textout(0,0,einheit); 61: // Achsengitter erstellen 62: ort.canvas.pen.color:=clsilver; 63: for i:=1 to trunc(time/2) do //Achsengitter (X-Achse) 64: Begin 65: ort.canvas.textout(round(((i*2)*(cw-50)/(time+1))+30-6),ch-12,inttostr(i*2)); 66: ort.canvas.moveto(round(((i*2)*(cw-50)/(time+1))+30),ch-21); 67: ort.canvas.lineto(round(((i*2)*(cw-50)/(time+1))+30),10); 68: end; 69: ort.canvas.moveto(31,20); //Achsengitter (Y-Achse) 70: ort.canvas.lineto(cw-20,20); 71: ort.canvas.textout(0,14,floattostr(max)); 72: ort.canvas.moveto(31,round(((ch-40)/2)+20)); 73: ort.canvas.lineto(cw-20,round(((ch-40)/2)+20)); 74: ort.canvas.textout(0,round(((ch-40)/2)+14),floattostr(((max-min)/2)+min)); 75: ort.canvas.textout(0,ch-26,floattostr(min)); 76: // Balken zeichnen 77: ort.canvas.pen.width:=1;

46 balkendia.pas :03:00 Seite 2 von 2 78: ort.canvas.pen.color:=clgradientinactivecaption; 79: ort.canvas.brush.color:=farbe; 80: for i:=1 to time do 81: Begin 82: y:=round(ch-20-(((data[i+1]-min)*(ch-40))/(max-min))); 83: x1:=round(((i)*(cw-50)/(time+1))+30-((cw-50)/(time*2))); 84: x2:=round(((i)*(cw-50)/(time+1))+30+((cw-50)/(time*2))); 85: ort.canvas.rectangle(x1,ch-21,x2,y); 86: end; 87: end; 88: 89: end.

Delphi Grundkurs Seite 31

Delphi Grundkurs Seite 31 Delphi Grundkurs Seite 31 Beispiel 9 Notenanalyse Problem: Programm P09 Schulnoten in Editfeld eingeben: bei wird Text in Zahl x umgewandelt; Bei Eingabefehler (x < 1 oder x > 5 oder x nicht numerisch)

Mehr

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL?

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL? Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL? Von Padmalcom (20.03.2009) www.jofre.de Nach dem Tutorial 1 von Leonardo M. Ramé 1 Ja, es geht wirklich! Im Internet sind tausende Forenbeinträge

Mehr

Programmierung in Delphi

Programmierung in Delphi Berufsbildende Schule Wirtschaft Trier Programmierung in Delphi (Einführung in die IDE) Unterrichtsmaterialien von Christoph Oberweis Stand: 13.11.2011 1 Einführung in die Delphi-Programmierung Delphi-Entwicklungssystem

Mehr

Institut für Informatik Christian-Albrechts-Universität zu Kiel. Borland Delphi. Einführung in die Programmiersprache

Institut für Informatik Christian-Albrechts-Universität zu Kiel. Borland Delphi. Einführung in die Programmiersprache Institut für Informatik Christian-Albrechts-Universität zu Kiel Borland Delphi Einführung in die Programmiersprache Geschichte Objective Pascal objektorienterte Programmiersprache Rapid Development schweizer

Mehr

Delphi eine Einführung

Delphi eine Einführung Delphi eine Einführung 1. Die Entwicklungsumgebung Delphi ist ein sogenanntes RAD Werkzeug. RAD = Rapid Application Development = schnelle Anwendungsentwicklung Merkmale: - es gibt vorgefertigte Komponenten

Mehr

Programmierung mit Delphi

Programmierung mit Delphi Programmierung mit Delphi Programmierung Kommunikation Mensch Maschine Komponente Attribute Formular Größe, Farbe, Schaltflächen,... Label Beschriftung (Caption),... Edit... Button... Quellcode Anweisungen

Mehr

6. Grafikprogrammierung

6. Grafikprogrammierung Delphi Grundkurs Seite 49 6. Grafikprogrammierung Die Grafikoperationen beziehen sich immer auf die Zeichenoberfläche (Leinwand, Canvas) eines bestimmten Objekts. (0,0) des Formulars Image - Komponentenpalette

Mehr

Ein Softwareprojekt mit Delphi

Ein Softwareprojekt mit Delphi IFB-Veranstaltung : OOP mit Delphi II U.Mayr : Turing-Simulator Ein Softwareprojekt mit Delphi Turing-Simulator, ein Softwareprojekt mit Delphi S. 2 Inhaltsverzeichnis 1. Ein Softwareprojekt : Die Simulation

Mehr

Komponente PortIO für Delphi 5.0

Komponente PortIO für Delphi 5.0 Komponente PortIO für Delphi 5.0 PortIO Handbuch Seite 1 von 12 INHALTSVERZEICHNIS Komponente PortIO... 4 Private Funktion... 5 Protected Funktion... 6 Public Funktion... 7 Published Funktion... 8 Kompnenten

Mehr

Musterlösungen zu den RSA-Arbeitsblättern

Musterlösungen zu den RSA-Arbeitsblättern Musterlösungen zu den RSA-Arbeitsblättern Arbeitsblatt 01: Aufgabe 1: a) 1 Uhr. b) 13 Uhr. Aufgabe 2: a) 21. b) 19. c) 48. d) 19. Aufgabe 3: a) 9. b) 7. Aufgabe 4: a) 13. b) 7. Arbeitsblatt 02: Aufgabe

Mehr

Komponente PortUSB für Delphi 5.0

Komponente PortUSB für Delphi 5.0 Komponente PortUSB für Delphi 5.0 Funktion nur mit der P8055-1 Karte von der Firma Velleman. PortUSB Handbuch Seite 1 von 1 INHALTSVERZEICHNIS Komponente PortUSB für Delphi 5.0... 1 Komponente PortUSB...

Mehr

EINFACH. Programmier-Grundkurs. Rosa Mistelbauer

EINFACH. Programmier-Grundkurs. Rosa Mistelbauer EINFACH Programmier-Grundkurs Rosa Mistelbauer Inhaltsverzeichnis Delphi Grundkurs Grundlagen 01 Entwicklungsumgebung von DELPHI 02 Beispiel 01 Begrüßung 04 Beispiel 02 Halbieren einer ganzen Zahl 07 Beispiel

Mehr

Von Turbo Pascal zu Object Pascal

Von Turbo Pascal zu Object Pascal 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

Mehr

LWB VIII. Programmieren mit Delphi Zur Laufzeit verwaltete Objekte. Zur Laufzeit verwaltete Objekte. Am Beispiel des bekannten Memory-Spieles

LWB VIII. Programmieren mit Delphi Zur Laufzeit verwaltete Objekte. Zur Laufzeit verwaltete Objekte. Am Beispiel des bekannten Memory-Spieles Am Beispiel des bekannten Memory-Spieles Warum Spiele? fragen Sie. Ich antworte: um die Kunst der Erfindung zu vervollkommnen. (Leibniz) Mit seinen einfachen und unzweideutigen Regeln ist ein Spiel immer

Mehr

2 Programmentwicklung mit Delphi

2 Programmentwicklung mit Delphi 2.1 Arbeiten mit Delphi 26 2 Programmentwicklung mit Delphi Die Programmentwicklung mit Delphi wird in drei Schritten eingeführt: Zuerst wird die prinzipielle Arbeitsweise geschildert, danach wird das

Mehr

Einführung zu der DLL für die USB Experiment Interface Board K8055

Einführung zu der DLL für die USB Experiment Interface Board K8055 K8055D.DLL 1 Einführung zu der DLL für die USB Experiment Interface Board K8055 Die K8055 Interface Board hat 5 digitale Eingangskanäle und 8 digitale Ausgangskanäle. Zusätzlich gibt es 2 analoge Eingänge,

Mehr

Die Klasse TCanvas (Canvas = Leinwand) stellt eine abstrakte Zeichenfläche dar.

Die Klasse TCanvas (Canvas = Leinwand) stellt eine abstrakte Zeichenfläche dar. Komponeneten TCanvas: Die Klasse TCanvas (Canvas = Leinwand) stellt eine abstrakte Zeichenfläche dar. Eigenschaften: Pen Mit Pen können Sie festlegen, welcher Stift zum Zeichnen von Linien und Umrissen

Mehr

Informatik GK 12 Klassen Klassen programmieren in Delphi am Beispiel der konkreten Klasse Auto

Informatik GK 12 Klassen Klassen programmieren in Delphi am Beispiel der konkreten Klasse Auto programmieren in Delphi am Beispiel der konkreten Klasse Auto Auto -Baujahr -Typ -Besitzer -Farbe -Kilometerstand -Fahren() -Bremsen() Objekt1: Auto Typ: Golf Baujahr: 1998 Besitzer: Peter Farbe: rot Kilometerstand:

Mehr

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung Informatik Kurs 12 André Hoffmann Delphi Einführung in die Windows- Programmierung Grundlagen Entwicklung von Windows-Programmen Relativ unkompliziert durch typische, vorgefertigte Elemente Programmiertechnische

Mehr

Simulation von digitalen Schaltungen

Simulation von digitalen Schaltungen Eckart Modrow Simulation von digitalen Schaltungen S. 1 Simulation von digitalen Schaltungen Inhalt: 1. Bezug zum Unterricht 2. Funktionsumfang des Simulators HASI 3. Klassenhierarchien 4. Die Erzeugung

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten)

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Name: «Vorname» «Name» Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Informatik 12 2 VP je 2 VP 6 VP 0 Notieren Sie alle Antworten in einer Word-Datei Klausur1_«Name».doc

Mehr

Das ausführbare Programm Bsp1.cfg, Bsp1.dof, Bsp1.dpr, Bsp1.res Projektdateien für Delphi 7 Prak.pas

Das ausführbare Programm Bsp1.cfg, Bsp1.dof, Bsp1.dpr, Bsp1.res Projektdateien für Delphi 7 Prak.pas Fakultät Informatik, Professur Computergraphik und Visualisierung 1 1 EINFÜHRUNG Zu diesem Praktikum wird ein vorbereitetes Delphi-Projekt zur Verfügung gestellt. Es ist so aufgebaut, dass man wichtige

Mehr

Graphische Benutzungsoberflächen

Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen

Mehr

Einführung in rekursives Programmieren

Einführung in rekursives Programmieren Einführung in rekursives Programmieren mit numerischen und graphischen Beispielen (fraktale Kurven) von Werner Rockenbach, Simmern Nikolaus Wirth definiert die Rekursion wie folgt: Ein Objekt heißt rekursiv,

Mehr

Delphi-Grundlagen Hn 26.4.2010

Delphi-Grundlagen Hn 26.4.2010 Delphi Grundlagen Ein Delphiprogramm besteht aus 3 Teilen: - dem Formular (*.dfm) - dem Quelltext oder der Unit (*.pas) und - der Projektdatei (*.dpr), die Quelltext und Formular zusammenfügt. Änderungen

Mehr

Facharbeit. Thema: Ein neuronales Netz lernt Zahlen Mustererkennung am PC

Facharbeit. Thema: Ein neuronales Netz lernt Zahlen Mustererkennung am PC Söderblom-Gymnasium Sebastian Kenter Facharbeit Thema: Ein neuronales Netz lernt Zahlen Mustererkennung am PC Fach: Informatik Kurs: GK-Informatik 2 Fachlehrer: Herr Helmich Beginn: 02.02.2004 Abgabe:

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

Einführung in Delphi. Komponenten regeln die Dateneingabe und Datenausgabe.

Einführung in Delphi. Komponenten regeln die Dateneingabe und Datenausgabe. Einführung in Delphi Komponenten regeln die Dateneingabe und Datenausgabe. Datenverarbeitung Computer sind Geräte zur Datenverarbeitung. Grundprinzip: EVA Eingabe Verarbeitung Ausgabe Beispiel: Minirechner

Mehr

Processing Info zu Variablen und Bedingungen

Processing Info zu Variablen und Bedingungen Processing Info zu Variablen und Bedingungen Dieses Dokument enthält - Variablen (Variablen, Datentypen, Deklaration, Geltungsbereich, Benennung) - Bedingungen (if, mousepressed, else) Variablen Eine Variable

Mehr

Aspekte objektorientierter Programmierung. mit Delphi

Aspekte objektorientierter Programmierung. mit Delphi IFB-Veranstaltungen : 19.657 / 19.666A und weitere Von Pascal nach Delphi Aspekte objektorientierter Programmierung mit Delphi Ulrich Mayr, Trier Inhaltsverzeichnis OOP-Konzepte von Delphi verstehen und

Mehr

Steuern des GSR-Interface mit QBasic

Steuern des GSR-Interface mit QBasic Steuern des GSR-Interface mit QBasic Erstellt von Jochen Sendler, Geschwister-Scholl-Realschule Mannheim Inhaltsverzeichnis 1. Die Programmiersprache QBasic 3 2. Starten von QBasic 3 3. Ansteuern einzelner

Mehr

Einstieg in die Objektorientierte Programmierung (OOP) mit Delphi

Einstieg in die Objektorientierte Programmierung (OOP) mit Delphi bertram.hafner@t-online.de OOP mit Delphi Seite 1 Einstieg in die Objektorientierte Programmierung (OOP) mit Delphi Warum steigst du in Delphi ein? Wahrscheinlich, weil dich einer der Vorzüge von Delphi

Mehr

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

Mehr

Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz

Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware Jenny Förster Susann Lorenz Inhaltsverzeichnis 1. Vorstellung des Projektzieles 2. Einleitung Das Menü XXO Roulette Impressum

Mehr

Buch-Add-Ons. Jürgen Bayer. Object Pascal-Tipps und Tricks. 1 Konvertieren und auf numerische Werte überprüfen 2

Buch-Add-Ons. Jürgen Bayer. Object Pascal-Tipps und Tricks. 1 Konvertieren und auf numerische Werte überprüfen 2 Buch-Add-Ons Jürgen Bayer Inhaltsverzeichnis Object Pascal-Tipps und Tricks 1 Konvertieren und auf numerische Werte überprüfen 2 1.1 Strings in Integerwerte konvertieren 2 1.2 Strings in Extended-Werte

Mehr

2.3 Wir erstellen eine neue Klasse THaus

2.3 Wir erstellen eine neue Klasse THaus bertram.hafner@t-online.de Informatik 10 Seite 11 2.3 Wir erstellen eine neue Klasse THaus Menschen kommen heim, öffnen die Haustür, schalten das Licht an, Die Grundidee der objektorientierten Programmierung

Mehr

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung Eltako-FVS Lizenzaktivierung ohne Internetverbindung Aktivierung der Funk-Visualisierungs- und Steuerungs-Software FVS über die Lizenzaktivierungsdatei, sofern die direkte Eingabe des Lizenzschlüssels

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Mini-FAQ v1.3 CMS-50E. Fingerpulsoximeter

Mini-FAQ v1.3 CMS-50E. Fingerpulsoximeter Mini-FAQ v1.3 CMS-50E Fingerpulsoximeter 1.) Wie macht man einen Echtzeitdatentransfer vom PULOX CMS-50E zum Computer und wie speichert man diese Messdaten auf Festplatte? 2.) Wie nimmt man mit dem PULOX

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Kapitel 12: Übersetzung objektorienter Konzepte

Kapitel 12: Übersetzung objektorienter Konzepte Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt

Mehr

Klassendefinitionen verstehen

Klassendefinitionen verstehen Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen

Mehr

KISSsys Anleitung: Lagerkräfte aus KISSsys Modell exportieren

KISSsys Anleitung: Lagerkräfte aus KISSsys Modell exportieren KISSsoft AG Frauwis 1 CH - 8634 Hombrechtikon Telefon: +41 55 264 20 30 Fax: +41 55 264 20 33 Email: info@kisssoft.ch KISSsys Anleitung: Berechnungssoftware für den Maschinenbau Ausgabe der Lagerkräfte

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

Mehr

5.2 Variablenkonzept und elementare Datentypen

5.2 Variablenkonzept und elementare Datentypen bertram.hafner@t-online.de Informatik 11 Seite 10 5.2 Variablenkonzept und elementare Datentypen Der aktuelle Zustand des Karol-Systems ist festgelegt durch: - Länge, Breite, Höhe der Welt - Position,

Mehr

Anleitung zum Dialog Simulator

Anleitung zum Dialog Simulator Inhaltsverzeichnis A Seeheim-Modell 14 Inhaltsverzeichnis Anleitung zum Dialog Simulator Version 0.9.0.1 Tobias Nowack 1. Oktober 2004 Inhaltsverzeichnis 1 1 Einleitung 4 2 Change Log 4 2.1 Version 0.9.0.1..................................

Mehr

Übungsaufgaben zu Delphi von M. Hühr

Übungsaufgaben zu Delphi von M. Hühr Übungsaufgaben zu Delphi von M. Hühr einige Aufgaben zur Übung von Algorithmen leicht 1.1 Schreiben Sie ein Programm, mit dem man die Summe der Zahlen von 1 bis zu dem eingegebenen Wert erhält. 1.2 Schreiben

Mehr

4-Kanal-Analoglogger für die Regelungstechnik

4-Kanal-Analoglogger für die Regelungstechnik LTAM-FELJC jean-claude.feltes@education.lu 1 4-Kanal-Analoglogger für die Regelungstechnik Firmware Kommunikation mit dem PC Seriell mit 38400 Baud Kommandos:? = Liste aller Kommandos t = set time interval

Mehr

Wie baue ich mir einen Chat

Wie baue ich mir einen Chat Wie baue ich mir einen Chat Wie der Titel schon sagt, geht es in diesem Tutorial darum, wie man einen Chat mit den Sockets realisiert. Ihr solltet dazu mit der IDE und der Sprache von Delphi zumindest

Mehr

Container-Klassen in Delphi

Container-Klassen in Delphi Verwalten von Objekten mit Hilfe von Container-Klassen am Beispiel eines Memory Spieles Container-Klassen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr

Lösungen zu den Übungsaufgaben zu Feldern

Lösungen zu den Übungsaufgaben zu Feldern Lösungen zu den Übungsaufgaben zu Feldern Aufgabe 1: Punktberechnung procedure TForm1.Button1Click(Ser: TObject); punkt = array[1..3] of double; d, p, q: punkt; abstand: double; // Eingabe p[1]:= StrToFloat(Edit1.Text);

Mehr

Fakultät für Elektrotechnik und Informationstechnik Institut für Grundgebiete der Elektrotechnik (EIT 2) Diplomarbeit

Fakultät für Elektrotechnik und Informationstechnik Institut für Grundgebiete der Elektrotechnik (EIT 2) Diplomarbeit Fakultät für Elektrotechnik und Informationstechnik Institut für Grundgebiete der Elektrotechnik (EIT 2) Diplomarbeit Entwurf und Aufbau einer mobilen Tomografieapparatur Verfasser: Prüfer: Betreuer: Nina

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Übungsaufgaben zum Erlernen der Handhabung von Delphi

Übungsaufgaben zum Erlernen der Handhabung von Delphi Einführung in Delphi + Übungsaufgaben zum Erlernen der Handhabung von Delphi von Matthias Hühr unter Anleitung von Frau Prof. Ch.Wahmkow DV II, Arbeitsblätter Delphi Seite 1 Gliederung 1. Einführung 2.

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

8. Fachseminar Informatik Martin Jakobs Einstieg in die Objektorientierte Programmierung (Standard 1 / 3)

8. Fachseminar Informatik Martin Jakobs Einstieg in die Objektorientierte Programmierung (Standard 1 / 3) Ergebnisse der Seminarsitzung vom 19. November 2007 Einstieg in die Objektorientierte Programmierung (Standard 1 und 3) Die Schule - ein Textadventure a) Didaktische Überlegungen Textadventures sind Computerspiele

Mehr

Willkommen... Agenda für heute, 25. Februar, 2010. ... Studentinnen und Studenten der Studiengänge

Willkommen... Agenda für heute, 25. Februar, 2010. ... Studentinnen und Studenten der Studiengänge Willkommen...... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur Vorlesung Agenda für heute, 25. Februar, 2010 g P http://www.pup.ethz.ch/

Mehr

Von Pascal zu Delphi. Aufbau eines Delphi-Projektes. Grundlagen von ObjectPascal. Prozeduren und Funktionen. Übungen. Ende

Von Pascal zu Delphi. Aufbau eines Delphi-Projektes. Grundlagen von ObjectPascal. Prozeduren und Funktionen. Übungen. Ende Von Pascal zu Delphi Aufbau eines Delphi-Projektes Aufbau einer Unit Aufbau einer Prozedur Grundlagen von ObjectPascal Schleifen Verzweigungen Array Prozeduren und Funktionen Übungen Ende Entwicklung der

Mehr

Java Kurzreferenz Für Fortgeschrittene

Java Kurzreferenz Für Fortgeschrittene Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.

Mehr

Gymnasium Herkenrath Leistungskonzept -Fachbereich Deutsch-

Gymnasium Herkenrath Leistungskonzept -Fachbereich Deutsch- Gymnasium Herkenrath Leistungskonzept -Fachbereich Deutsch- Seite von 3 Allgemeine Informationen: Das Fach Informatik wird am Gymnasium Herkenrath in der Sekundarstufe I in den Jahrgangsstufen 8 und 9

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Medieneinsatz im Unterricht und Unterrichtsformen auf die richtige Dosierung kommt es an

Medieneinsatz im Unterricht und Unterrichtsformen auf die richtige Dosierung kommt es an 1 Einleitung Medieneinsatz im Unterricht und Unterrichtsformen auf die richtige Dosierung kommt es an Lehmann, Eberhard Angesichts der Vielfalt der heute zur Verfügung stehenden Medien, aber auch der möglichen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Arbeitsblatt Übungen in Delphi Informatik Klasse: Datum: 1. Juni 2007

Arbeitsblatt Übungen in Delphi Informatik Klasse: Datum: 1. Juni 2007 1. Es gibt verschiedene Objekte: 1.1. TLabel Das erste Label, das man auf dem Formular platziert erhält automatisch den Namen label1 Caption (typ: string) Ändern der Anzeige eines Labels : label1.caption:=

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Einführung in die Objektorientierte Programmierung

Einführung in die Objektorientierte Programmierung Einführung in die Objektorientierte Programmierung MVC mit Zustandsbasierter Modellierung 23.04.2009 Helmut Paulus Max-Planck-Gymnasium Trier Einstieg Diskussion: Nachteile der bisher im Unterricht entwickelten

Mehr

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm) Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox GUI Form erstellen (UserForm) GUI definieren Aktivitäten programmieren Programmcode für das Zufügen von Zell Werten Struktogramm

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

Delphi-Source.de. Delphi-Source.de - Grundlagen. Object Pascal-Grundlagen. Allgemeines zur Syntax. Variablen und Konstanten. Was ist Object Pascal?

Delphi-Source.de. Delphi-Source.de - Grundlagen. Object Pascal-Grundlagen. Allgemeines zur Syntax. Variablen und Konstanten. Was ist Object Pascal? Delphi-Source.de Delphi-Source.de - Grundlagen Object Pascal-Grundlagen Allgemeines zur Syntax Was ist Object Pascal? Bei Object Pascal handelt es sich um eine höhere, objektorientierte Programmiersprache.

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Übung zur Vorlesung Multimedia im Netz

Übung zur Vorlesung Multimedia im Netz Übung zur Vorlesung Multimedia im Netz Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2009/2010 Ludwig-Maximilians-Universität München Multimedia im Netz Übung 1-1 Organisatorisches

Mehr

Nun öffnet sich das Fenster "Geplante Tasks". Hier zum Einrichten eines neuen Tasks auf "Geplanten Task hinzufügen" klicken. Es öffnet sich der Assist

Nun öffnet sich das Fenster Geplante Tasks. Hier zum Einrichten eines neuen Tasks auf Geplanten Task hinzufügen klicken. Es öffnet sich der Assist PCs automatisch herunterfahren Frage: In meiner Schule soll der Lehrerzimmercomputer (oder ein anderer PC) um 17.00 Uhr automatisch herunterfahren. Wie kann ich das einrichten? Antwort: Um einen Computer

Mehr

Über Arrays und verkettete Listen Listen in Delphi

Über Arrays und verkettete Listen Listen in Delphi Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete

Mehr

=

= bertram.hafner@t-online.de Informatik 11 Seite 16 5.4 Einfache Algorithmen, programmiert mit Delphi a) Umwandlung einer Zahl vom 10-System ins Dualsystem Zahl im 10-System Zahl im 2-System 19 10 = 10011

Mehr

1.1 Was für Funktionen gibt es in der Unit Math?

1.1 Was für Funktionen gibt es in der Unit Math? mitp Seitenanzahl 13 Die Unit Math 1 Die Unit Math Die Unit Math stellt an die 100 Funktionen für mathematische Berechnungen zur Verfügung. Das schöne daran ist, das der Source verfügbar ist und zwar ist

Mehr

Anzeige des Java Error Stack in Oracle Forms

Anzeige des Java Error Stack in Oracle Forms Anzeige des Java Error Stack in Oracle Forms (Version 2.0) Juni 2008 Autoren: Jürgen Menge / Thomas Robert Seite 1 von 7 Oracle Forms bietet seit der Version 6i die Möglichkeit, serverseitig Java-Klassen

Mehr

G. KAMLEITER INFORMATIK. Einführung in DELPHI SJ 2004/05 LGG * DARMSTADT. Kurs 11

G. KAMLEITER INFORMATIK. Einführung in DELPHI SJ 2004/05 LGG * DARMSTADT. Kurs 11 G. KAMLEITER INFORMATIK Kurs 11 Einführung in DELPHI SJ 2004/05 LGG * DARMSTADT Einführung in die Programmiersprache Delphi - 1-2. Dezember 2004 / 20:12:30 Inhaltsverzeichnis I EINSTIEG IN DELPHI...4 I.1

Mehr

Informatik ist viel mehr als Delphi-Programmierung!

Informatik ist viel mehr als Delphi-Programmierung! Gliederung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel 5) 23.4. 3.

Mehr

PO-250. Fingerpulsoximeter. 1. Wie führe ich eine Echtzeitübertragung vom PULOX PO-250 zum PC durch und speichere meine Messdaten auf dem PC?

PO-250. Fingerpulsoximeter. 1. Wie führe ich eine Echtzeitübertragung vom PULOX PO-250 zum PC durch und speichere meine Messdaten auf dem PC? Mini-FAQ v1.5 PO-250 Fingerpulsoximeter 1. Wie führe ich eine Echtzeitübertragung vom PULOX PO-250 zum PC durch und speichere meine Messdaten auf dem PC? 2. Wie nehme ich mit dem PULOX PO-250 Daten auf

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben.

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben. Informatik I Wintersemester 2013/14 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 6 Abgabe bis Dienstag, 10.12., 18:00 Uhr. Werfen Sie Ihre

Mehr

Erste Programme mit Lazarus

Erste Programme mit Lazarus Erste Programme mit Lazarus Einführung in die Entwicklungsumgebung (IDE) Grundelemente der Programmiersprache Objekt-Pascal Übungen Helmut Paulus Speyer, 19.04.13 Teil 1 Einführung in die Lazarus-Entwicklungsumgebung

Mehr