AGB  ·  Datenschutz  ·  Impressum  







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

Prüfen ob (Ganz-)Zahl

Ein Thema von chris_82 · begonnen am 18. Dez 2003 · letzter Beitrag vom 19. Dez 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#11

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:47
Hi, du könntest das vll so machen:
Delphi-Quellcode:
   if zahl1 <> round (zahl1) then // Zahl ist eine KommaZahl
   // zahl1 ist hier vom Typ real - Umwandlung davor mit try-except StrToFloat
Mit frac bekommste die Nachkommaziffern heraus...

devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:51
Zitat:
Hi, du könntest das vll so machen:
Source:

if zahl1 <> round (zahl1) then // Zahl ist eine KommaZahl
// zahl1 ist hier vom Typ real - Umwandlung davor mit try-except StrToFloat


Mit frac bekommste die Nachkommaziffern heraus...

devnull
oh Mann
gut das ich sowas in unserem Code nicht sehe
mir stehen die Haare zu Berge

try except ist zur Feherbehandlung und nicht um einen Wert richtig zu stellen.
so ein Konstrukt funktioniert, sollte aber nie benutzt werden

Gruß
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
DevStar
(Gast)

n/a Beiträge
 
#13

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:53
Zitat von Tyrael Y.:
Wieso soll das schwer sein? Oder ist dir das zu schwer?
Und jetzt kopier mal einen Text in die Zwischenablage und füg ihn per Copy&Paste ein.
Strg+V ist zwar damit gesperrt, aber Shift+Einfg geht trotzdem noch, weil es für Einfg keinen ASCII-Code gibt, sondern nur einen Virtual Key Code.

PS: Nein, es ist nicht zu schwer.

MfG
DevStar
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#14

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:55
Wieso soll es schlecht sein, einen TEXT(string) aus einem EDIT-Feld in einer try-except Behandlung zu konvertieren. Wenn da z. Bsp. Buchstaben enthalten sind, und ich habe diese Behandlung nicht, tritt doch eine AV ein, oder ?
-- Never change a running system --
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:57
@devstar was meinst du?
wo liegt das problem ? ich verstehe nicht ganz.
man kann es kopieren und auch mit shift+einfügen wieder einfügen
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
DevStar
(Gast)

n/a Beiträge
 
#16

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 15:58
Zitat von devnull:
Wenn da z. Bsp. Buchstaben enthalten sind, und ich habe diese Behandlung nicht, tritt doch eine AV ein, oder ?
Wenn überhaupt tritt ein EConvertError ein und keine AccessViolation.

Zitat:
Wieso soll es schlecht sein, einen TEXT(string) aus einem EDIT-Feld in einer try-except Behandlung zu konvertieren.
Weil es unnötig Rechenzeit verbraucht. Val ist bedeutend schneller und verursacht keine Exceptions.

MfG
DevStar
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 16:00
Zitat:
Wieso soll es schlecht sein, einen TEXT(string) aus einem EDIT-Feld in einer try-except Behandlung zu konvertieren. Wenn da z. Bsp. Buchstaben enthalten sind, und ich habe diese Behandlung nicht, tritt doch eine AV ein, oder ?
wie oben schon erwähnt:
Zitat:
Durch Exceptions können durchaus mal eine halbe Million Taktzyklen verbraten werden, von daher sollte man sie - falls möglich - vermeiden.
aus diesem Grunde und weil in try except ein Fehler behandelt werden soll, nicht eine Eingabe die man auch erwartet. Alle erwarteten Eingaben sollten mit if oder case Konstruktun gelöst werden.
So etwas sollte man nicht machen.

Gruß
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
DevStar
(Gast)

n/a Beiträge
 
#18

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 16:01
Zitat von Tyrael Y.:
@devstar was meinst du?
wo liegt das problem ? ich verstehe nicht ganz.
man kann es kopieren und auch mit shift+einfügen wieder einfügen
Ja. Das ist ja das Problem. Man kann u. a. auch Buchstaben "reinpasten".
Dann kann beim Konvertieren wieder eine Exception auftreten. (Falls man StrToInt verwendet)

Kurz gesagt, ich wollte nur zeigen, dass deine Aussage
Zitat:
Wenn sowieso nur Ganzahlen einegegeben werden sollen
verwende am Besten den Vorschlag von Highman, dann brauchst du auch
nix zu prüfen
falsch ist.
Val stellt die einzige vernünftige Methode zum Konvertieren dar.

MfG
DevStar
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 16:03
@devstar aso das meinst du, ok das ist richtig
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#20

Re: Prüfen ob (Ganz-)Zahl

  Alt 19. Dez 2003, 16:11
Ok, ich hab die Variante mit Val genommen, nachdem ich von Luckie ein aufs Dach bekommen hab .

Hätte ja nicht gedacht, das so ein Problem doch so stark in der DP diskutiert wird, das gefällt mir

Danke euch allen.

Wünsch euch schon mal ein schönes Fest und einen guten Rutsch, da ich nicht weiß ob ich es schaffe in den nächsten Tagen wieder bei DP vorbei zu schauen!
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:19 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