Toon posts:

[Delphi]EConvertError with message ''' invalid integer value

Pagina: 1
Acties:
  • 308 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Help ik heb in delphi 5 de volgende code:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
btnControle: TButton;
btnOpnieuw: TButton;
edtDag: TEdit;
edtMaand: TEdit;
procedure btnOpnieuwClick(Sender: TObject);
procedure btnControleClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnOpnieuwClick(Sender: TObject);
begin
edtDag.clear;
edtMaand.clear;
end;

procedure TForm1.btnControleClick(Sender: TObject);
var
iDag,
iMaand: Integer;

begin
//Lees data in
iDag := strtoint (edtDag.text);
iMaand := strtoint (edtMaand.text);

//Bereken data
if iMaand in [11, 12, 1, 2]
then
Showmessage ('Op deze dag geldt de winterijd')
else if iMaand in [4, 5, 6, 7, 8, 9]
then
ShowMessage ('Op deze dag geldt de zomertijd')

end;

end.

Het is de bedoeling dat het programma je verteld, wanneer je een datum invult, ofdat dan de zomertijd geldt of de wintertijd.

maar als ik deze bovenstaande code run in delphi, dan krijg ik de volgende error message:

Project Project1.exe raised exception class EconvertError with message ''' is not a valid integer value'. Process stopped. Use Step or Run to continue.

maar het programma is dus vast gelopen op dat moment, dus kan ik geen Run gebruiken en met "Step" kom ik weer terug bij mijn code...

(Dit is mijn eerste post op dit forum, dus als ik nu iets verkeerd/vergeten ben, dan komt het daardoor)

Kan iemand mij helpen?? Alvast bedankt.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

De error zegt het al: een lege string kun je niet naar een getal converten. Je zou kunnen checken of de input leeg en/of de input een numerieke waarde is.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
ja als ik dus 12 invul, dan krijg ik deze error (bij de edit box die bij edtMaand hoort)

Verwijderd

Topicstarter
aha, ik heb de fout al gevonden, bedankt Don... ik had ook die andere string moeten invullen.... thnx voor het mij daarop attend maken :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 15 september 2002 @ 18:53:
aha, ik heb de fout al gevonden, bedankt Don... ik had ook die andere string moeten invullen.... thnx voor het mij daarop attend maken :)
Debuggeren doet altijd wonderen... en tijdens het debuggen even met de mouse hoveren boven variabelen om de huidige waarde te zien.

Professionele website nodig?


Verwijderd

Tip voor de volgende keer: Voeg een watch in de Delphi watchlist toe, dan kun je heel goed zien wat je source pcies doet. Suc6!

  • TheLunatic
  • Registratie: April 2001
  • Laatst online: 09-07 16:41

TheLunatic

Ouwe boxen.

Die watchlist doet altijd zo vaag... als ik daar een variabele inzet, dan zou ik toch in runtime de inhoud van die variabele moeten zien ?? Dat is bij mij nameljk NIET het geval :/

Mother, will they like this song?


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Alleen als die variable ook daadwerkelijk in het geheugen zit op dat punt. Vooral met Optimization is de compiler slim bezig en verwijderd variablen uit het geheugen als ze niet meer gebruikt worden of nog niet gebruikt zijn.

Ook van with statements raakt ie wel eens in de war

We adore chaos because we like to restore order - M.C. Escher


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

TheLunatic schreef op 16 september 2002 @ 10:39:
Die watchlist doet altijd zo vaag... als ik daar een variabele inzet, dan zou ik toch in runtime de inhoud van die variabele moeten zien ?? Dat is bij mij nameljk NIET het geval :/
Alleen tijdens een break, en indien de betreffende variabele binnen scope zit.

Professionele website nodig?


  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Verwijderd schreef op 15 september 2002 @ 18:33:
//Bereken data
if iMaand in [11, 12, 1, 2]
then
Showmessage ('Op deze dag geldt de winterijd')
else if iMaand in [4, 5, 6, 7, 8, 9]
then
ShowMessage ('Op deze dag geldt de zomertijd')
En hoe zit het eigenlijk met maand 3 en 10? :)

Never underestimate the power of

Pagina: 1