AGB  ·  Datenschutz  ·  Impressum  







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

Wie kann ich einen Zahlenbereich abfragen?

Ein Thema von foerster7892 · begonnen am 1. Okt 2011 · letzter Beitrag vom 1. Okt 2011
Antwort Antwort
foerster7892

Registriert seit: 10. Okt 2007
Ort: Brieskow-Finkenheerd
181 Beiträge
 
#1

Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 09:59
Delphi-Version: 5
Ich möchte zb den Bereich:

if 8<Zahl<12 and 20<Zahl<50 then

kann mir da einer einen tipp geben plz?
mfg
foerster7892
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 10:10
Ich möchte zb den Bereich:

if 8<Zahl<12 and 20<Zahl<50 then

kann mir da einer einen tipp geben plz?
Abgesehen davon, daß dein Code ungeachtet der fehlenden Klammern leicher mit

if false then
geschrieben werden kann, gibt es für die Abfrage von Bereichen noch folgendes.

Wenn der Zahlenbereich ausreichend beschränkt ist geht dies:

if zahl in [9..11, 21..49] then
Bei neueren Delphi-Versionen gibt es auch die Funktion InRange aus der Unit Math.pas:

if InRange(zahl, 9,11) or InRange(zahl, 21, 49) then
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 10:56
Deine Bedingung sieht eigentlich so aus:
Delphi-Quellcode:
if ((8 < Zahl) and (Zahl < 12)) and ((20 < Zahl) and (Zahl < 50)) then

if ((Zahl > 8) and (Zahl < 12)) and ((Zahl > 20) and (Zahl < 50)) then
.

Und wie Uwe schon erwähnte, kann Zahl nicht gleichzeitig <12 und >20 sein.
Ich denke also, du meinst wohl eher ein OR.
if ((Zahl > 8) and (Zahl < 12)) or ((Zahl > 20) and (Zahl < 50)) then .

Aber wie du siehst, gibt es da übersichtlichere Möglichkeiten.
PS: Das mit dem IN-Operator geht nur für Zahlen von 0 bis 255, bzw. über einen Bereich mit 256 Werten.


plz? Wieso willst du eine Postleitzahl?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
foerster7892

Registriert seit: 10. Okt 2007
Ort: Brieskow-Finkenheerd
181 Beiträge
 
#4

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 11:51
Ja danke sowas hab ich gesucht:
if zahl in [9..11, 21..49] then

und nein ich brauche das nicht für postleitzahlen ich möchte es verwenden um in einem Text alle Zeichen die keine Buchstaben sind auszuschneiden also praktisch einfach im ASCII code die Zeichen entfernen die den Bestimmten Zahlenbereich nicht erfüllen
mfg
foerster7892
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 13:18
Ja danke sowas hab ich gesucht:
if zahl in [9..11, 21..49] then

und nein ich brauche das nicht für postleitzahlen ich möchte es verwenden um in einem Text alle Zeichen die keine Buchstaben sind auszuschneiden also praktisch einfach im ASCII code die Zeichen entfernen die den Bestimmten Zahlenbereich nicht erfüllen
Warum dann nicht noch komplizierter?

Du mußt also von jedem Zeichen des Textes den ASCII Wert bestimmen und dann den Zahlenwert vergleichen.

Vergleiche doch einfach, ob das Zeichen in einer bestimmten Zeichenmenge ist.
Resultat ist das gleiche, die Umsetzung einfacher und auch lesbarer
If MeinText[ idx ] in ['a'..'z','A'..'Z'] then Den gültigen Bereich kannst du beliebig erweiterrn
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
foerster7892

Registriert seit: 10. Okt 2007
Ort: Brieskow-Finkenheerd
181 Beiträge
 
#6

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 14:57
stimmt eigl^^

ja naja ich mags halt kompliziert^^
mfg
foerster7892
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 15:20
Nein, komplizierter ist z.B. If (MeinText[idx] <= #127) and (UpperCase(MeinText[idx]) <> LowerCase(MeinText[idx])) then , obwohl er auch das gleiche Ergebnis liefert.

Ach ja, ab Delphi 2009 sollte man eventuell auf Delphi-Referenz durchsuchenCharInSet ausweichen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
foerster7892

Registriert seit: 10. Okt 2007
Ort: Brieskow-Finkenheerd
181 Beiträge
 
#8

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 20:03
Ich benutze Lazarus zum programmieren!

Kann mir einer sagen wie ich Umlaute abfrage? (Diese möchte ich nämlich ebenfalls erhalten) also kann ich da im Quelltext auch ÄÖÜß schreiben oder muss ich dann die ASCII codierung nutzen?
mfg
foerster7892
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Wie kann ich einen Zahlenbereich abfragen?

  Alt 1. Okt 2011, 20:34
Ich benutze Lazarus zum programmieren!

Kann mir einer sagen wie ich Umlaute abfrage? (Diese möchte ich nämlich ebenfalls erhalten) also kann ich da im Quelltext auch ÄÖÜß schreiben oder muss ich dann die ASCII codierung nutzen?
Also entweder schaust du mal in ein Tutorial, eine Dokumentation, suchst bei Google, oder ...

du probierst es einfach mal aus, was ich dir geschrieben habe (Zeitaufwand sollte so bei <1 Minute liegen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:22 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