AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Zufällige Zahlen im Array + Ausgeben in Stringgrid
Thema durchsuchen
Ansicht
Themen-Optionen

Zufällige Zahlen im Array + Ausgeben in Stringgrid

Ein Thema von CShepard · begonnen am 21. Feb 2015 · letzter Beitrag vom 22. Feb 2015
 
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#3

AW: Zufällige Zahlen im Array + Ausgeben in Stringgrid

  Alt 21. Feb 2015, 22:23
Und beim lesen des Quellcode hab' ich Augenkrebs bekommen.
Das kann man doch Übersichtlicher und lesbarer gestalten:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FZufallsZahl: array[1..20] of Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Byte;
begin
  Randomize;
  for I := 1 to 20 do
   begin
    FZufallsZahl[I] := Random(256);
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Byte;
begin
  for I := 1 to 20 do
   begin
    StringGrid1.Cells[1,I] := IntToStr(FZufallsZahl[I]);
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit2.Text := IntToStr(FZufallsZahl[StrToInt(Edit1.Text)]);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 1 to 20 do
   begin;
    FZufallsZahl[I] := StrToInt(StringGrid1.Cells[1,I]);
   end;
end;


end.
Übrigens funktioniert der Code oben, so wie Du es wolltest.
Und noch besser: man kann ihn lesen

Dein Problem war die "Sichtbarkeit" der Variable zufallszahl.

In jeder Prozedur erstellst Du diese Variabel neu und wunderst Dich, warum es nicht so will, wie es soll.

Wenn Du eine Variabel in einer Prozedur erstellst, also im var-Abschnitt der Prozedur, dann ist diese nur in dieser Prozedur gültig, auch wenn sie den gleichen Namen hat wie in einer anderen Prozedur.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 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