Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   SpinEdit Fehler: Kein gültiger Integewert (https://www.delphipraxis.net/157967-spinedit-fehler-kein-gueltiger-integewert.html)

mkinzler 1. Feb 2011 19:46

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Zitat:

Dann brauchst Du auch nicht auf if Ausdruck = True then ... prüfen.
Man sollte es auch nicht

JadeFox 1. Feb 2011 19:48

AW: SpinEdit Fehler: Kein gültiger Integewert
 
danke :)
hm ich dachte man könnte eunfach auch den namen der funktion nehmen statt result.
meinst du es dann so:

Delphi-Quellcode:
     
  function neu (Gew: TLottofeld; bisher, wert: Byte): Boolean;
   var bool: boolean;j: Byte;
    begin
      bool:=false;
      for j:=bisher downto 1 do
       begin
        if Gew[j] <> wert then
        bool:=true;
        result:=bool;
       end;
    end;

mkinzler 1. Feb 2011 19:50

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Man kann auch den Funktionsnamen nehmen oder
Delphi-Quellcode:
Result := True;

haentschman 1. Feb 2011 19:53

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Delphi-Quellcode:
procedure TForm1.zeige_Statistik (wert: Byte);
var i:Integer;
begin
 i:= StrToInt(Gridstats.Cells[1,wert]); // hier kommt der "" ist kein Integer Wert Fehler
 inc(i);
 Gridstats.Cells[1,wert] := IntToStr(i);
end;
... ist auch logisch, da das Grid leer ist. Der Fehler hatte nix mit dem SpinEdit zu tun.

Anmerkungen:
- bei den SpinEdit für den Tipp Min und Max setzen. Oder gibts 6 aus 1200 ? 8-)
- Deine Ziehung hat 2 gleiche Zahlen gezogen.
- in Tippzahlen sind verkehrte Werte. 1. immer 0 dann die Tipps, der letzte fehlt. Liegt wahrscheinlich in den 2 Schleifen in Tipp_ok

alles in allem als Empfehlung:
- bringe das Funktionsdurcheinander in Ordnung nicht jeder Kram muß gleich, wenn nur einmal verwendet ausgelagert werden.
- male dir den Programmablauf mal auf Papier.

stahli 1. Feb 2011 19:55

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Oh ja, sorry :oops:
Das "neu" habe ich übersehen.

Aber an der Stelle ging es bei mir nicht weiter.
Offenbar wurde die Bedingung nicht erfüllt und die repeat-Schleife daher nicht verlassen.
Vielleicht musst Du Dir die dortige Logik nochmal anschauen.

Ein Problem mit dem SpinEdit habe ich übrigens nicht festgestellt.

JadeFox 1. Feb 2011 20:01

AW: SpinEdit Fehler: Kein gültiger Integewert
 
hm stimmt es knnte irgednwie an
Delphi-Quellcode:
 if Tipp_ok(Tippzahlen) = true then
aber wenn der fehler bei der Prozedur zeige_Statistik liegt, warum werden dann die Prozeduren davor auch nciht ausgeführt?

Nein das lag am Sortieren, dass habe ich aber bereits behoben.

haentschman 1. Feb 2011 20:03

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Zitat:

warum werden dann die Prozeduren davor auch nciht ausgeführt?
...die werden ausgeführt. Einmal, bis es in Zeige_Statistik kracht.
Delphi-Quellcode:
bestimme_Gewinnzahlen(Gew, zZahl); // wird ausgeführt
zeige_Gew(Gew, zZahl); // wird ausgeführt
zeige_Statistik(Rang(Tippzahlen, Gew, zZahl)); // kracht wegen leerem Grid + Tippzahlen falsch
Anmerkung: Debuggen mußt du üben, damit du dich selbst (dein Programm) an jeder Stelle prüfen kannst

mkinzler 1. Feb 2011 20:04

AW: SpinEdit Fehler: Kein gültiger Integewert
 
Wie geschrieben, sollte es
Delphi-Quellcode:
if Tipp_ok(Tippzahlen) then
lauten

JadeFox 1. Feb 2011 20:14

AW: SpinEdit Fehler: Kein gültiger Integewert
 
und dann wird gleich davon ausgegangen das Tipp_ok(Tippzahlen) true ist?
das ist ja gut, danke.

ich üb mich ja schon, ich hab den debugger nur falsche gesetzt, aber du hast recht es liegt an der Statistik Prozedur, wenn ich sie ausklammer läuft das Programm.
Weiß jemand was mit der Fehlermeldung dann genau gemeint ist?

haentschman 1. Feb 2011 20:16

AW: SpinEdit Fehler: Kein gültiger Integewert
 
ein Leerzeichen bzw. kein Zeichen (weil dein Grid leer ist), was du aus der Zelle holst willst du mit StrToInt umwandeln. Boing... :stupid:
Zitat:

ich üb mich ja schon, ich hab den debugger nur falsche gesetzt
dann setzt man in jede Zeile, wo man denkt daß der Fehler da liegt, einen Breakpoint und steppt mit F9 durch. Da siehst du genau in welcher Procedure es kracht. Dann nimmt man sich die entsprechende Procedure nach selben Schema vor. Dann hast du die Zeile.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Seite 3 von 4     123 4      

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