![]() |
Re: Problem: Array-Typ erforderlich
Am besten verrätst du uns was das Ziel des Codes sein soll. Denn so wie er jetzt ist macht er keinen Sinn außer das dein Prozessor etwas zu tun hat :-)
Delphi-Quellcode:
Edit1.Text:=a; //a ist undefiniert - dank des compilers der den string initialisiert ist a '' und somit steht dann in Edit1 nichts
b:=strtoint(a); //hier kracht es später weil '' keine gültige zahl ist c[b]:=Edit2.Text; //Edit2.Text ist ein String, dein Array hingegen vom Typ Integer. Ein String ist was anderes als ein Integer und somit geht die Zuweisung nicht |
Re: Problem: Array-Typ erforderlich
Ok
Das programm soll beim start zufallszahlen von 0 biss 99 speichern. Und zwei editfelder dienen dazu, dass ich in einen die nummer des zufallszahls eingebe und das andere editfeld mir diese zufallzahl selbst zeigt. hoffe es ist verständlich |
Re: Problem: Array-Typ erforderlich
hab das jetzt so gemacht:
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; 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(100); zufall[a]:=b; end; edit1.Text:='?'; edit2.Text:='?'; //Fehlermelding: Im Project Project1.exe ist eine Exception der Klasse EConverError aufgetreten. Meldung "?' ist kein gültiger Integerwert'. Wieso? vorher ging es doch alles, die ' ' stehen doch da! end; procedure TForm1.Edit2Change(Sender: TObject); var a : string; b,d : integer; c : array[0..9] of integer; begin a:=Edit1.Text; b:=strtoint(a); c[b]:=d; Edit2.Text:=inttostr(d); end; end. |
Re: Problem: Array-Typ erforderlich
Die Fehlermeldung wird eher im OnChange des Edit2 kommen ;)
Delphi-Quellcode:
Wenn a ein '?' ist kann es nat. nicht in integer umgewandelt werden ;)
a:=Edit1.Text;
b:=strtoint(a); |
Re: Problem: Array-Typ erforderlich
Delphi-Quellcode:
das soll doch nur beim OnChange gehen
procedure TForm1.Edit1Change(Sender: TObject);
var a : string; b,d : integer; c : array[0..9] of integer; begin a:=Edit1.Text; b:=strtoint(a); c[b]:=d; Edit2.Text:=inttostr(d); end;
Delphi-Quellcode:
ist bei FormCreate
edit1.Text:='?';
edit2.Text:='?'; oder hab cih da was falsch gemacht? |
Re: Problem: Array-Typ erforderlich
Entweder die Konvertierung in try..except einschließen oder TryStrToInt() verwenden
|
Re: Problem: Array-Typ erforderlich
In der Schule ging irgendwie alles, zuhause geht aber nie was :(
|
Re: Problem: Array-Typ erforderlich
Wo soll ich TryStrToInt() einsetzen?
|
Re: Problem: Array-Typ erforderlich
Delphi-Quellcode:
if not TryStrToInt(a,b) then //Hier auf Fehler reagieren
|
Re: Problem: Array-Typ erforderlich
das bringt mich leider nicht weiter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 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