AGB  ·  Datenschutz  ·  Impressum  







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

StrToInt löst keine exception aus

Ein Thema von GoTo0815 · begonnen am 14. Mär 2006 · letzter Beitrag vom 14. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#1

StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:24
Delphi-Quellcode:
try
  i:= StrToInt(DBEdit20.Text);
except
  begin
    ShowMessage('Seriennummer Falsch! Bitte nochmals eingeben!');
    DBEdit20.SetFocus;
  end;
end;
Hallo, mein problem ist eigentlich ganz einfach zu beschreiben.

Wenn der String 'x00001' in das Editfeld eingetragen wird, dann löst das keine Exception aus, warum?

Gruß

Hendrik
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:26
Weil x keine Zahl ist.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:29
Habt iht mal seine Frage gelesen? Es löst KEINE Exception aus..
müsste es aber wenn ich StrToInt('x0001') ausführe
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#4

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:30
Also les ich falsch, oder die anderen?

Ich tippe, dass x00001 als Hexadezimalwert erkannt und entsprechend in das Dezimalsystem umgerechnet wird. Daher keine Exception.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#5

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:34
Zitat von mquadrat:
Ich tippe, dass x00001 als Hexadezimalwert erkannt und entsprechend in das Dezimalsystem umgerechnet wird. Daher keine Exception.
Und genauso ist es.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:38
Und wenn ich mich noch mehr richtig erinner wird 00001 als Oktalzahl erkannt
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#7

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 10:41
Aber durchaus ne interessante Sache.

Ohh...ne'n Kieler...
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#8

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 11:43
Aha, das ist ja schon mal interessant.

Aber wieso ist X ein Teil einer Hexadezimalzahl? Das geht doch nur bis 'F', oder.

Zudem ist sehr interessant, dass das Ergebnis von i = 1 ist.

Gruß

Hendrik aus Kiel
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 11:47
x markiert das nun eine Hexazeizmalzahl kommt.
Hex(Basis16) 00001 ist auch nur 1.

x00011 sollte dann als Integer 17 geben

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: StrToInt löst keine exception aus

  Alt 14. Mär 2006, 13:04
Moin Zusammen,

um die Aussage von Klaus noch etwas zu vervollständigen:
0x ist in C, was $ in Delphi ist, und der Delphi-Compiler erkennt das, dummerweise, auch als gültig an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:18 Uhr.
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