Avatar billede nca Juniormester
27. september 2005 - 16:14 Der er 4 kommentarer og
1 løsning

Bug i Delphi i VAL funktionen?

Jeg har nedenstående kode til dele en klassebetegnelse i klassetrin og -bogstav.

procedure TForm1.Button1Click(Sender: TObject);
var
  i,code:Integer;
begin
  val(EDit1.Text,i,code);
  label1.caption:=inttostr(i);  //Klassetrin
  label2.Caption:=inttostr(code);//Fejlkode
  if code>0 then
    label6.caption:= Edit1.text[code] //Klassebogstav
  else
    label6.caption:='';
end;


2a giver klassetrin 2 fejlkode 1
a giver klassetrin 0 og fejlkode 1
x (og kun det bogstav) giver klassetrin 0 og fejlkode 3

Er der en bug i denne funktion (jeg bruger Delphi 7) eller har jeg selv lavet en fejl?
Avatar billede arne_v Ekspert
27. september 2005 - 16:49 #1
prøv om x11 giver værdien 17 (fordi den tror at det er hex)
Avatar billede nca Juniormester
27. september 2005 - 17:16 #2
Det er lige præcis hvad den gør =:-)
Hvad kan man gøre ved det?
Avatar billede arne_v Ekspert
27. september 2005 - 18:36 #3
test for om det første er x og håndtere det specielt måske

eller håndtere alt specielt
Avatar billede nca Juniormester
28. september 2005 - 08:33 #4
OK, det er også hvad jeg har gjort.
Smid et svar og du får point for din moralske støtte :-)
Avatar billede arne_v Ekspert
28. september 2005 - 08:37 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester