Stian Søiland, IT 111, øvingsgruppe 15 (stud.ass. Kari Alvheim)
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Karakter0: TBevel; Karakter1: TBevel; Karakter2: TBevel; Karakter3: TBevel; Karakter4: TBevel; Karakter5: TBevel; Karakter6: TBevel; Bevel8: TBevel; Bevel9: TBevel; Bevel10: TBevel; Bevel11: TBevel; Bevel12: TBevel; Bevel13: TBevel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Button1: TButton; Button2: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; const maxheight=168; maxelever=20; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button2Click(Sender: TObject); begin Karakter0.Height := 1; Karakter1.Height := 1; Karakter2.Height := 1; Karakter3.Height := 1; Karakter4.Height := 1; Karakter5.Height := 1; Karakter6.Height := 1; Karakter0.Top := maxheight; Karakter1.Top := maxheight; Karakter2.Top := maxheight; Karakter3.Top := maxheight; Karakter4.Top := maxheight; Karakter5.Top := maxheight; Karakter6.Top := maxheight; end; procedure TForm1.Button1Click(Sender: TObject); type matrise = array[0..6] of integer; procedure LesInn(var karakterer:matrise); var overskrift,ledetekst,innlest:string; karakter :integer; ferdig :boolean; begin // initering overskrift := 'Karakterinnlesing'; ledetekst := 'Skriv elevens karakter, tomt felt avslutter'; for karakter := 0 to 6 do karakterer[karakter]:= 0; // innlesingssløyfe repeat innlest := InputBox(overskrift,ledetekst,''); ferdig := innlest = ''; if not ferdig then begin karakter := StrToInt(innlest); // Dersom karakteren er innenfor gyldig område, registreres den if (karakter >= 0) and (karakter <= 6) then karakterer[karakter] := karakterer[karakter]+1; end; until ferdig; end; procedure RegnutHeight(elever :integer; var height,top:integer); begin if not (elever>maxelever) then begin height := (8*elever)+1; top := maxheight-height; end // Dersom det er flere enn 20 elever som har karakteren, settes høyden // tilsvarende 21 elever else begin height := 168; top := 0; end; end; procedure SkrivUt(karakterer:matrise); var elever,height,top:integer; begin // Setter høyden på hver boks elever := Karakterer[0]; RegnutHeight(elever,height,top); Karakter0.Top := top; Karakter0.Height := height; elever := Karakterer[1]; RegnutHeight(elever,height,top); Karakter1.Top := top; Karakter1.Height := height; elever := Karakterer[2]; RegnutHeight(elever,height,top); Karakter2.Top := top; Karakter2.Height := height; elever := Karakterer[3]; RegnutHeight(elever,height,top); Karakter3.Top := top; Karakter3.Height := height; elever := Karakterer[4]; RegnutHeight(elever,height,top); Karakter4.Top := top; Karakter4.Height := height; elever := Karakterer[5]; RegnutHeight(elever,height,top); Karakter5.Top := top; Karakter5.Height := height; elever := Karakterer[6]; RegnutHeight(elever,height,top); Karakter6.Top := top; Karakter6.Height := height; end; var karakterer:matrise; begin LesInn(karakterer); SkrivUt(karakterer); end; end.