Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem: Array-Typ erforderlich (https://www.delphipraxis.net/110377-problem-array-typ-erforderlich.html)

Arrayuser 17. Mär 2008 10:39


Problem: Array-Typ erforderlich
 
Hallo,
hab hier ein programm geschriben, aber nur mit zwei fehlern bitte helft mir

hier ist das Programm:

Delphi-Quellcode:
 unit Unit1;

 interface

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

 type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
     Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

 var
  Form1: TForm1;
  zufall : array[0..9] of integer;

 implementation

 {$R *.dfm}

 procedure TForm1.FormCreate(Sender: TObject);
 var a,b : integer;
     zufall : array[1..10]of integer;
 begin
 randomize;
 a:=1;
 for a:=1 to 10 do
 begin
 StringGrid1.Cells[a-1,0]:=inttostr(a);
 b:=random(0-99);
 zufall[a,0]:=b; (Fehler hier!)
 end;
 edit1.Text:='?';
 edit2.Text:='?';
 end;

 procedure TForm1.Edit2Change(Sender: TObject);
 var  a,b : integer;
      c : array[0..9] of integer;
 begin
 Edit1.Text:=inttostr(a);
 strtoint(a):=b;
 c[a,0]:=Edit2.Text;( Fehler hier!)
 end;

 end.
hab die fehlerstellen in Klammern angegeben.

DeddyH 17. Mär 2008 10:42

Re: Problem: Array-Typ erforderlich
 
Du versuchst, 2-dimensionale Werte in einem eindimensionalen Array zu speichern.

mkinzler 17. Mär 2008 10:43

Re: Problem: Array-Typ erforderlich
 
Der Fehler lieg wohl eher eine Zeile vorher:
Statt
Delphi-Quellcode:
strtoint(a):=b;
sollte es wohl
Delphi-Quellcode:
b := strtoint(a);
heißen

Arrayuser 17. Mär 2008 10:46

Re: Problem: Array-Typ erforderlich
 
ich verstehe den ersten fehler nicht , wenn ich den erst verstehe kann ich den zweiten schon irgendwie selber beheben.

Arrayuser 17. Mär 2008 10:47

Re: Problem: Array-Typ erforderlich
 
Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var  a,b : integer;
      c : array[0..9] of integer;
begin
Edit1.Text:=inttostr(a);
b:=strtoint(a);
c[b,0]:=Edit2.Text;
end;
hab den zweiten so umgearbeitet geht aber trotzdemm nicht

Die Muhkuh 17. Mär 2008 10:49

Re: Problem: Array-Typ erforderlich
 
Weil c ein Eindimensionales Array ist und Du aber, wie Detlef schon sagte, auf eine zweite Dimension greifst. Versuch es mal so:

Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var  a,b : integer;
      c : array[0..9] of integer;
begin
Edit1.Text:=inttostr(a);
b:=strtoint(a);
c[b]:=Edit2.Text;
end;
Desweiteren hast Du einmal eine globale Variable (Pfui!), die Zufall heißt und einmal eine gleichnamige lokale Variable. Ist nicht gerade ideal ;)

Arrayuser 17. Mär 2008 10:50

Re: Problem: Array-Typ erforderlich
 
AHH danke DaddyH! jetzt verstehe ich meinen fehler.

SirThornberry 17. Mär 2008 10:52

Re: Problem: Array-Typ erforderlich
 
hier stimmt doch irgendwas überhaupt nicht:
Delphi-Quellcode:
Edit1.Text:=inttostr(a);
b:=strtoint(a);
a ist undefiniert und somit würde in Edit1.Text was undefineirtes stehen.
die zweite zeile geht nicht weil a ein ordinaler Typ ist und kein String (strtoint erwartet aber einen string und keinen ordinalen wert)

Arrayuser 17. Mär 2008 10:53

Re: Problem: Array-Typ erforderlich
 
Jetzt habe ich eine Frage :)
kann ich bei diesen Programm auf die globale Variable zufall verzichten, oder ist sie unbedingt nötig?

Arrayuser 17. Mär 2008 10:59

Re: Problem: Array-Typ erforderlich
 
Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var  a : string;
      b : integer;
      c : array[0..9] of integer;
begin
Edit1.Text:=a;
b:=strtoint(a);
c[b]:=Edit2.Text;  (fehler)
end;
wieso ist b jetzt Tcaption und nicht integer?

verstehe ich gar nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz