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
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

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

  Alt 21. Feb 2015, 22:35
Ein weiterer Tipp für mehr Übersichtlichkeit und quasi Dokumentieren durch Programmieren:
Delphi-Quellcode:
TForm1 = class( TForm )
...
private
  procedure InitArrayWithRandomData;
  procedure ShowArrayInGrid;
  procedure StoreGridInArray;
  ...
end;

procedure TForm1.FormCreate( Sender : TObject );
begin
  InitArrayWithRandomData;
end;

procedure TForm1.Button1Click( Sender : TObject );
begin
  ShowArrayInGrid;
end;

procedure TForm1.Button2Click( Sender : TObject );
begin
  StoreGridInArray;
end;
Schon kannst du dir einen grossen Teil der Kommentare sparen und jeder (auch du nach ein paar Tagen/Wochen/Monaten) sieht sofort, welche Aktion beim Klick auf den Button passieren soll bzw. was in der Methode selber vonstatten geht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.376 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 21. Feb 2015, 22:41
Kann man auch, ohne dafür extra Prozeduren zu machen, aber man sollte sowieso den Komponenten ordentliche Namen geben, und damit auch deren Events.
(Button1 und Button1Click sagen ja sowas von garnichts zu dem, was sie machen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
CShepard

Registriert seit: 21. Feb 2015
4 Beiträge
 
#3

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

  Alt 22. Feb 2015, 17:47
Danke an alle für die Hilfe.
Sorry, ich wusste nicht, wo Arrays deklariert werden müssen. Hab das unter type über private versucht und sonst irgendwo, doch es hat nie geklappt... darum wurde ich etwas erfinderisch und habe den Array immer in jeder Prozedur deklariert. Dann hielt ich es für richtig, da keine Zeile mehr rot war.
Im Unterricht haben wir erklärt bekommen, wie der Syntax aussieht und was Arrays bewirken. Nur WO wir Arrays deklarieren müssen- das wurde nicht erklärt und wir haben dazu auch nichts aufgeschrieben.

@Sir Rufo: Guter Tipp, ich hoffe, ich darf im Unterricht später auch solche Befehle anwenden. Bis jetzt dürfen wir alles nur so aufschreiben, wie wir es gelehrt bekommen haben... leider, denn mit diesen Befehlen spart man etwas Arbeit.

@Baden Power: Tut mir leid, ich verspreche, ich werde beim nächsten Mal mehr auf Anschaulichkeit achten, bin noch neu hier.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

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

  Alt 22. Feb 2015, 18:00
@Sir Rufo: Guter Tipp, ich hoffe, ich darf im Unterricht später auch solche Befehle anwenden. Bis jetzt dürfen wir alles nur so aufschreiben, wie wir es gelehrt bekommen haben... leider, denn mit diesen Befehlen spart man etwas Arbeit.
Es sind ja gar keine Befehle, sondern Methoden der Klasse, die du selber schreibst.

Ziel ist es dabei den eigenen Code in besonders übersichtliche und möglichst kleine Häppchen zu teilen und eben keine Happen oder ganze Brocken zu erstellen.

Ich kann mir nicht vorstellen, dass das verboten ist. Das verwechselst du anscheinend mit der Verwendung von irgendwelchen Delphi-Units, wo einiges/vieles schon fertig existiert, ihr aber diese Grundlagen ja lernen sollt -> selber implementieren.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
BadenPower

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

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

  Alt 22. Feb 2015, 19:46
Im Unterricht haben wir erklärt bekommen, wie der Syntax aussieht und was Arrays bewirken. Nur WO wir Arrays deklarieren müssen- das wurde nicht erklärt und wir haben dazu auch nichts aufgeschrieben.
Es geht hierbei nicht um Array, sondern um alle Variable-Typen.

Wo etwas deklariert wird ist entscheident für die Sichtbarkeit der Variable.

Unten einmal ein kleines Beispiel in welchem ich 3 Variablen mit dem Namen ZufallsZahl erstellt habe, welche jeweils verschiedene Gültigkeitsbereiche haben.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, Forms, Classes, Controls,;

var
  ZufallsZahl: Integer; // gültig in der ganzen Anwendung

type
  TForm1 = class(TForm)
    procedure Button1Click(Sender: TObject);
  private
   ZufallsZahl: Integer; // gültig in der ganzen Klasse Form1
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm.Button1Click(Sender: TObject);
var
  ZufallsZahl: Integer; // nur gültig in diese Procedure
begin
//
end;
Als Laie könnte man meinen, dass dies ein und dieselbe Variable wäre, die ist aber nicht so.

Es sind tatsächlich 3 verschiedene Variablen, welche jeweils einen eigenen Wert haben können.

Durch eine erneute Variabledeklaration mit dem gleichen Namen in einem untergeorneteten Bereich wird die übergeordnete Variable verdeckt.
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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

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

  Alt 22. Feb 2015, 22:26
Du hattest noch zeigen können, wie man auf die anderen Varaiblen zugreifen kann, wenn benötigt
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, Forms, Classes, Controls,;

var
  ZufallsZahl: Integer; // gültig in der ganzen Anwendung, wo dise Unit in den uses steht

type
  TForm1 = class(TForm)
    procedure Button1Click(Sender: TObject);
  private
   ZufallsZahl: Integer; // gültig in der ganzen Klasse Form1
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm.Button1Click(Sender: TObject);
var
  ZufallsZahl: Integer; // nur gültig in diese Procedure
begin
  ZufallsZahl := 1; // lokale Variable
  Self.ZufallsZahl := 2; // Feld der Klasse TForm1
  Unit1.ZufallsZahl := 3; // Unit Variable
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:08 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