Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

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 12:51

Re: Problem: Array-Typ erforderlich
 
o.O und was sol dein program machen? nur den stringrid bennen?

Arrayuser 17. Mär 2008 12:52

Re: Problem: Array-Typ erforderlich
 
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 Edit1Change(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;

begin
randomize;
a:=1;
for a:=1 to 10 do
begin
StringGrid1.Cells[a-1,0]:=inttostr(a);
b:=random(100);
zufall[a-1]:=b;
end;
{edit1.Text:='?';
edit2.Text:='?';}
end;



procedure TForm1.Edit1Change(Sender: TObject);
var a : string;
    b : integer;
begin
a:=Edit1.Text;
b:=zufall[strtoint(a)];
Edit2.Text:=inttostr(b);

end;

end.
habs endlich danke and alle die soviel Geduld mit mir hatten =)

mkinzler 17. Mär 2008 12:54

Re: Problem: Array-Typ erforderlich
 
Du solltest aber trotzdem mit möglichen Falscheingaben des Anwenders rechnen

Arrayuser 17. Mär 2008 12:55

Re: Problem: Array-Typ erforderlich
 
ja ich weiß wenn eine zahl höher als 10 ind edit1 eingegeb wird kommt ein fehler

mkinzler 17. Mär 2008 12:56

Re: Problem: Array-Typ erforderlich
 
Auch wenn er nichts eingibt oder was anderes als Zahlen.

dominikkv 17. Mär 2008 13:08

Re: Problem: Array-Typ erforderlich
 
Zitat:

Zitat von Arrayuser
o.O und was sol dein program machen? nur den stringrid bennen?

Naja, wie gesagt, dein Programm macht nix anderes^^
Ich hab nur die unnötigen Zeilen rausgestrichen :zwinker:

Hier mal ein Vorschlag (mit Gültigkeitsabfrage xD)
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a : integer;
begin
  randomize;
  for a := 1 to 10 do
    begin
      StringGrid1.Cells[a-1,0] := inttostr(a);
      zufall[a-1] := random(100);
    end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
var b : integer;
begin
  if TryStrToInt(Edit1.Text, b) and (b in [1..10]) then
    begin
      Edit2.Text := IntToStr(zufall[b]);
    end else begin
      showmessage('Böse! Gib gefälligst eine gültige Zahl ein!');
    end;
end;
edit: Die Zeile muss so heißen:
Delphi-Quellcode:
if TryStrToInt(Edit1.Text, b) and (b in [0..9]) then

Arrayuser 17. Mär 2008 13:16

Re: Problem: Array-Typ erforderlich
 
Ja Dominik es geht habs nur bisl modifiziert
Delphi-Quellcode:
begin
if TryStrToInt(Edit1.Text, b) and (b in [0..9]) then
    begin
      Edit2.Text := IntToStr(zufall[b]);
    end else begin
      Edit1.Text:='';
      Edit2.Text:='?';
    end;
end;
aber ich habs etwas anders versucht ging aber nicht und zwar :

Delphi-Quellcode:
var a : string;
    b,c : integer;

begin
a:=Edit1.Text;
c:=strtoint(a);
If 1<=c<=10 then // hier kamm der fehler
begin
Edit2.Text:='?';
Edit1.Text:='';
end
else
begin
b:=zufall[strtoint(a)];
Edit2.Text:=inttostr(b);
end;
end;

Klaus01 17. Mär 2008 13:29

Re: Problem: Array-Typ erforderlich
 
Delphi-Quellcode:
var a : string;
    b,c : integer;

begin
  a:=Edit1.Text;
  c:=strtoint(a); // und hier knallt es, wenn a keine Zahl ist!
  If (1<=c) and (c<=10) then // hier kommt er nicht mehr
    begin
      Edit2.Text:='?';
      Edit1.Text:='';
   end
  else
    begin
      b:=zufall[strtoint(a)];
      Edit2.Text:=inttostr(b);
    end;
end;

SirThornberry 17. Mär 2008 13:30

Re: Problem: Array-Typ erforderlich
 
dafür kommt ein fehler wenn im Edit keine gültige zahl steht :-D

mkinzler 17. Mär 2008 13:44

Re: Problem: Array-Typ erforderlich
 
Irgendwie scheint er uns nicht zu vertrauen bzw. versteht unseren und wohl seinen eigene Code nicht. :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.
Seite 4 von 5   « Erste     234 5      

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