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