Einzelnen Beitrag anzeigen

mr_emre_d
(Gast)

n/a Beiträge
 
#1

oop-lerne es gerade neu-problem

  Alt 7. Nov 2007, 23:50
Wie schon die Überschrift sagt habe ich ein Problem.
Jedesmal wenn ich den Button "ändern mit class" anklicke, kommt das:

Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 00403499 in module 'Project1.exe'. Read of address 00000000'.Process stopped. Use step or Run to continue.

Was das ooprogrammieren angeht: ich lerne sie gerade neu in der schule (ca 2-3 Wochen); unser prof. hat es vermieden, uns vorher die records beizubringen... und nun hab ich mal selbst etwas versucht aber ..gescheiter -> bitte um Verständnis(da ich noch ein Noob bin)

Weiß nicht wo ich es hinposten soll, deshalb poste ich es mal hier hin. Bitte moven falls es nicht hier hin gehört
Ich poste mal das ganze Programm:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
    zahlen:array[0..4]of integer;

  public
    { Public declarations }
  end;

  mathe = class //mir ist nichts besseres eingefallen, wie unkreativ nicht?
    mwert,kl,gr:integer;
    procedure rechnen;
  end;


var
  Form1: TForm1;
  m: mathe;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
 for i:=0 to 4 do begin
  zahlen[i]:=random(50)+1;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.width:=280;
form1.height:=140;
memo1.clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
memo1.Clear;
 for i:=0 to 4 do memo1.lines.add( (inttostr(zahlen[i]) ));
end;

{ mathe }

procedure mathe.rechnen;
var i,sum:integer;
begin
m.create;
sum:=0;
kl:=51;
gr:=0;
  for i:=0 to 4 do begin
                   sum:=sum+form1.zahlen[i];
                   if form1.zahlen[i]< kl then kl:=form1.zahlen[i];
                   if form1.zahlen[i]>gr then gr:=form1.zahlen[i];
                   form1.memo1.lines.add(inttostr(form1.zahlen[i]));
                   form1.Memo1.lines.add(inttostr(sum));
                   form1.Memo1.lines.add(inttostr(mwert));
                   form1.Memo1.lines.add(inttostr(gr));
                   form1.Memo1.lines.add(inttostr(kl));
                   end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
m.rechnen;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
showmessage('"init"= zufällige Zahlen werden erzeugt'#13'"einfügen"=init wird in memo1 angezeigt'#13'"ändern mit (einer) class(e)" = aus init wird der Summe aller vorhandenen Zahlen im init,Mittelwert,größter und kleinster Wert!'#13'"Über"=das hier^^');
end;

end.
Übrigens: Es ist mit Delphi 7 Ent geschrieben worden

mfg
  Mit Zitat antworten Zitat