Delphi-PRAXiS
Seite 3 von 5     123 45      

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)

DeddyH 17. Mär 2008 12:02

Re: Problem: Array-Typ erforderlich
 
Zitat:

Zitat von Arrayuser
das bringt mich leider nicht weiter.

Wieso nicht?

Arrayuser 17. Mär 2008 12:04

Re: Problem: Array-Typ erforderlich
 
hmm ok nachdem ich die delphi hielfe 10 durchgelesen habe, habe ichs verstanden, der fehler ist weg, aber es kommt der falsche ergebnis in edit1 raus.

SirThornberry 17. Mär 2008 12:04

Re: Problem: Array-Typ erforderlich
 
Zitat:

Zitat von Arrayuser
das bringt mich leider nicht weiter.

Diese Aussage bringt uns auch nicht weiter :wink: Beschreibe genau woran es hängt und was du nicht verstehst nur dann können wir dir auch helfen.

Arrayuser 17. Mär 2008 12:09

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 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:='?';
end;

procedure TForm1.Edit2Change(Sender: TObject);
var  a : string;
      b,d : integer;
      c : array[0..9] of integer;
begin

a:=Edit2.Text;
{b:=StrToInt(a);}
if not TryStrToInt(a,b) then
c[b]:=d;
Edit1.Text:=inttostr(d);
end;

end.
das programm läuft ohne fehler aber es erzäugt keine zufallszahlen beim start es wird immer die gleich zahl in edit1 ausgegeben. und zwar 4369708

mkinzler 17. Mär 2008 12:12

Re: Problem: Array-Typ erforderlich
 
Lass mal
Delphi-Quellcode:
randomize;
weg

Arrayuser 17. Mär 2008 12:15

Re: Problem: Array-Typ erforderlich
 
hilft nicht. das problem ist das schon beim start in edit1 4369708 steht und nicht '?'

SirThornberry 17. Mär 2008 12:20

Re: Problem: Array-Typ erforderlich
 
das ist doch klar. Dadurch das du Edit2.Text ein Fragezeichen zuweist wird das OnChange ausgelöst

Arrayuser 17. Mär 2008 12:25

Re: Problem: Array-Typ erforderlich
 
ich hab das mit '?' weggelassen dann steht zwar beim start 4369708 nicht aber beim esten verändern on edit2 obwohl da die zahl von 0-99 stehen soll. ist mit meinem randim etwas falsch? auserdem endert sich edit1 nur bei erstem verändern von edit2 bei 2,3 verändern passiert wieder nichts.

SirThornberry 17. Mär 2008 12:33

Re: Problem: Array-Typ erforderlich
 
gehe doch einfach mal zeile für Zeile von Edit2Change durch. Dann wirst du den Grund sehen. Der Inhalt der Funktion entbehrt jeglicher Logik. Schaue einfach mal in die Hilfe was genau die entsprechenden Funktionen machen und zurück geben welche du verwendest.

dominikkv 17. Mär 2008 12:35

Re: Problem: Array-Typ erforderlich
 
Hmm hast du überhaupt ne Ahnung was du da machst?
Fällt dir hier was auf:
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: integer;
begin
  randomize;
  for a := 1 to 10 do
    begin
      StringGrid1.Cells[a-1,0] := inttostr(a);
    end;
  edit1.Text:='?';
  edit2.Text:='?';
end;

procedure TForm1.Edit2Change(Sender: TObject);
var d : integer;
begin
  Edit1.Text:=inttostr(d);
end;

end.
Das ist genau das gleiche was du hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Seite 3 von 5     123 45      

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