AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Anfänger sucht Hilfe bei ersten Programierschritten
Thema durchsuchen
Ansicht
Themen-Optionen

Anfänger sucht Hilfe bei ersten Programierschritten

Ein Thema von lun87 · begonnen am 15. Dez 2006 · letzter Beitrag vom 18. Dez 2006
 
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Anfänger sucht Hilfe bei ersten Programierschritten

  Alt 16. Dez 2006, 00:33
Das was Maja geschreiben hat hab ich alles mehr oder weniger auch schon oben geschrieben.

Mein Tipp:
Les Dir morgen nochmal diesen kompletten Thread von ganz oben durch und versuche Deine Fehler / meine Vorschläge nachzuvollziehen.

Und begehe nicht den Fehler, dass Du versuchst, alles mit einer Schleife auf einmal machen zu wollen.
-> Bei jedem Rate-Versuch wird der Button erneut geklickt, also musst Du in der Prozedur zum ButtonClick praktisch einen Schleifendurchlauf simulieren.
Geh alle Schritte dann genau durch und gucke was passiert, entweder mit Blatt Papier oder zur Kontrolle dann mit F7.


Nebenbei noch:
Gewöhn Dir mal eine vernünftige Codeeinrückung an, dann wird vieles auch dentlicher, weil es übersichtlicher ist.

Mach Dir klar dass zu jedem end auch vorher ein begin gehört (okay, es gibt ein paar Ausnahmen - aber denen wirst Du erstmal nicht begegnen).

Mal ein Beispiel für sinvolle Einrückung:
Delphi-Quellcode:
procedure TForm1.ratebuttonClick(Sender: TObject);
var
  i: integer;
  ...
begin
  if (RateZahl = Zufallszahl) OR (Versuchzähler = 4) then
    for i := 0 to 4 do
      ShowMessage( IntToStr(Array[i]) );
end;
Somit wird deutlich zu welchem begin ein end gehört und was genau alles zu der IF-Abfrage bzw. zur FOR-Schleife gehört.
Du kannst Dir auch noch begin und end drum herum machen.
BEACHTE: Wenn einer Schleife / if-Abfrage eine Anweisung folgt, wird kein begin/end benötigt.
Wenn jedoch mehrere Anweisungen folgen, musst Du begin/end drum herum machen.
Die for-Schleife und die ShowMessage zählen in diesem Fall zu einer Anweisung, die zu der if-Abfrage gehört.
Das kannst Du Dir auch an der Anzahl der Semikolons ; verdeutlichen.

Wenn es für Dich übersichtlicher ist, kannst Du aber auch sowas schreiben - ist aber dasselbe wie der obige Code:
Delphi-Quellcode:
procedure TForm1.ratebuttonClick(Sender: TObject);
var
  i: integer;
  ...
begin
  if (RateZahl = Zufallszahl) OR (Versuchzähler = 4) then
  begin
    for i := 0 to 4 do
      ShowMessage( IntToStr(Array[i]) );
  end;
end;
Zu Majas Link:
Sorry, aber hier ist es imho nicht gut dargestellt, da das begin immer am Zeilenende steht. Darunter leidet m.E. die Übersichtlichkeit.
Gewöhn Dir besser an, dass begin und das entsprechende end dazu immer in gleicher Höhe stehen:
Delphi-Quellcode:
for i := 1 to 10 do
begin
  Anweisung1;
  Anweisung2;
  Anweisung3;
end;
BTW: ein repeat/until Block benötigt kein begin/end, da das repeat begin ersetzt und until ersetzt end.
Delphi-Quellcode:
repeat
  Anweisung1;
  Anweisung2;
  usw;
until x = y;
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  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 03:24 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