AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zweidimensionale Arrays

Ein Thema von Mo53 · begonnen am 10. Jun 2021 · letzter Beitrag vom 14. Jun 2021
 
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
772 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: zweidimensionale Arrays

  Alt 11. Jun 2021, 20:49
Ich habe ein kleines Problem und zwar das falls eine Bombe eingetragen werden soll einfach nichts geschieht.
Sieht vielleicht jemand von euch wo der Fehler ist, der Debugger hilft mir da auch nicht weiter.
Der Debugger hilft da schon sehr weiter.
Setze einen Breakpoint am Ende von readInput.
Starte das Programm. Wähle Spalte und Zeile und setze mit B eine Bombe.
Der Debugger hält nun am Ende von readInput an.
Jetzt kannst du weiter steppen mit Funktionstaste F8 und siehst, was passiert. (Deine Funktion readInput gibt offenbar false zurück.)

Nebenbei:
eingabeX := upcase(eingabeX);
macht dort wo's steht immer noch gleich wenig Sinn; siehe #10 und #13. Tipp: Beim Kompilieren werden dir Warnungen angezeigt. Lies diese... Bei dieser Zeile steht zum Beispiel:
W1036 Variable 'eingabeX' ist möglicherweise nicht initialisiert worden.
Und das stimmt auch : eingabeX hat in dieser Zeile noch keinen definierten Wert. Erst NACH dem Einlesen mittels readln(eingabeX); macht upcase() Sinn. Nach readln(eingabeY) und auch bei ...z solltest du wieder upcase() nutzen oder aber so:

TIPP: Anstatt upcase() zu nutzen kannst du im case 'X' und 'x' angeben:

Delphi-Quellcode:
  case eingabeX of
    'X', 'x' : cancel := TRUE;
    '1'..'7': begin
                  gueltig := TRUE;
                  x := StrToInt(eingabeX);
              end;

Soweit ich mich erinnere soll gemäss Aufgabenstellung dein Spielfeld auch grösser oder kleiner als 7x7 sein dürfen. Wen dem so ist: In deinem Programm sollte nur hier
Delphi-Quellcode:
const
  FIELDSIZE : Byte = 7;
die Zahl 7 stehen. Suche via IDE nach 7 und ersetze... - Was passiert bei deinen case Abfragen, wenn der Wert FELDSIZE zweistellig ist? (In der Aufgabenstellung wird zur Validierung der Eingabe val(..) empfohlen.)



Viel Spass.
Michael Gasser

Geändert von Michael II (11. Jun 2021 um 23:39 Uhr)
  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 23:58 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