![]() |
Problem: Array-Typ erforderlich
Hallo,
hab hier ein programm geschriben, aber nur mit zwei fehlern bitte helft mir hier ist das Programm:
Delphi-Quellcode:
hab die fehlerstellen in Klammern angegeben.
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. |
Re: Problem: Array-Typ erforderlich
Du versuchst, 2-dimensionale Werte in einem eindimensionalen Array zu speichern.
|
Re: Problem: Array-Typ erforderlich
Der Fehler lieg wohl eher eine Zeile vorher:
Statt
Delphi-Quellcode:
sollte es wohl
strtoint(a):=b;
Delphi-Quellcode:
heißen
b := strtoint(a);
|
Re: Problem: Array-Typ erforderlich
ich verstehe den ersten fehler nicht , wenn ich den erst verstehe kann ich den zweiten schon irgendwie selber beheben.
|
Re: Problem: Array-Typ erforderlich
Delphi-Quellcode:
hab den zweiten so umgearbeitet geht aber trotzdemm nicht
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; |
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:
Desweiteren hast Du einmal eine globale Variable (Pfui!), die Zufall heißt und einmal eine gleichnamige lokale Variable. Ist nicht gerade ideal ;)
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; |
Re: Problem: Array-Typ erforderlich
AHH danke DaddyH! jetzt verstehe ich meinen fehler.
|
Re: Problem: Array-Typ erforderlich
hier stimmt doch irgendwas überhaupt nicht:
Delphi-Quellcode:
a ist undefiniert und somit würde in Edit1.Text was undefineirtes stehen.
Edit1.Text:=inttostr(a);
b:=strtoint(a); die zweite zeile geht nicht weil a ein ordinaler Typ ist und kein String (strtoint erwartet aber einen string und keinen ordinalen wert) |
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? |
Re: Problem: Array-Typ erforderlich
Delphi-Quellcode:
wieso ist b jetzt Tcaption und nicht integer?
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; verstehe ich gar nicht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz