Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Abfrage bereichsbegrenzung (von 'a' bis 'b')
Leux - Do 30.04.09 17:50
Titel: Abfrage bereichsbegrenzung (von 'a' bis 'b')
Hallo liebe Delphi-Forum.de Gemeinschaft. ^^
Erstmal: fals das thema bereits existieren sollte. Entschuldigung aber da ich wort wörtlich einer der Blutigsten der Blutigenanfänger in Delphi, oder besser im programmieren allgemein bin, hatte ich simpel keine ahnung wie der Befehl heist den ich suche:
Ich will Abfragen liegt x im bereich zwischen (bsp) 40 und 60 ?
ich hab mir zusammegereimt durch Durchforsten diverser Seiten das der Befehl in etwa
Delphi-Quelltext
1:
| if x in ['40'..'60'] then |
heisen müsste...
ABER is' nich... keine Ahnung warum.
Beim Abfregen ganzerzahlen könnt ich ja or verwenden, aber irgendwann wird's dann ja etwas sehr viel.
Danke schonmal für eure Zeit. ^^
Moderiert von
Narses: Delphi-Tags hinzugefügt
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Narses - Do 30.04.09 18:00
Moin und :welcome: im Forum!
Leux hat folgendes geschrieben : |
ich hab mir zusammegereimt durch Durchforsten diverser Seiten das der Befehl in etwa
Delphi-Quelltext 1:
| if x in ['40'..'60'] then | heisen müsste...
ABER is' nich... keine Ahnung warum. |
Du darfst Zahlen nicht in Anführungszeichen setzen, dann sind das Strings. :idea: ;) Allerdings: bei dieser Form der Abfrage darf der Bereich 256 Elemente nicht überschreiten, da Mengen in Delphi nicht mehr Elemente enthalten können.
Leux hat folgendes geschrieben : |
| Beim Abfregen ganzerzahlen könnt ich ja or verwenden, aber irgendwann wird's dann ja etwas sehr viel. |
Das mit den "ganzen Zahlen" hab ich zwar noch nicht ganz verstanden :? aber du kannst dir auch eine kleine Funktion dazu schreiben:
Delphi-Quelltext
1: 2: 3: 4:
| function InRange(const x, min, max: Integer): Boolean; begin Result := (min <= x) and (x <= max); end; |
cu
Narses
Leux - Do 30.04.09 18:06
Wow das gin fix...
*lol* ok das erklärt Einiges ^^"
Danke @ Narses ^^
ganze Zahlen naja damit meine ich halt Nachkommastellenfrei Zahlen ^^"
aber danke ;-}
Narses - Do 30.04.09 18:15
Moin!
Leux hat folgendes geschrieben : |
| Danke @ Narses ^^ |
You´re :welcome:, wie man so sagt. ;)
Leux hat folgendes geschrieben : |
| ganze Zahlen naja damit meine ich halt Nachkommastellenfrei Zahlen |
Wie "ganze Zahlen" definiert sind, war mir noch in Erinnerung :D ich meinte, warum
or nur bei Integer-Zahlen funktionieren sollte? :nixweiss:
cu
Narses
Leux - Do 30.04.09 19:24
neee ich meinte ja nicht "Nur" sonder so in etwa:
Delphi-Quelltext
1:
| If (x=1) or (x=2) or (x="3") or ... or (x="Unendlich - 1") then |
^^"
Aber ich scheine irgendwie zu doof zu sein
korreckt einzugeben
Code:
Delphi-Quelltext
1:
| if (sin in [20..24]) then |
Nach dem ")" meckert der was vonwegen, falsche Typ ... ich tip mal drauf, das die Variable "sin" nicht "real" sein darf, oder ?
Da keimt natürlich die Frage, was darf die Variable denn nur für ein Typ sein???
Moderiert von
Narses: Delphi-Tags hinzugefügt
jaenicke - Do 30.04.09 19:33
Das geht nur mit ganzen Zahlen (Integer, Cardinal, ...), aber dann nimm einfach die Vergleichsvariante, nur eben mit Double (oder welchen Datentyp du verwendest) statt Integer:
Narses hat folgendes geschrieben : |
aber du kannst dir auch eine kleine Funktion dazu schreiben: Delphi-Quelltext 1: 2: 3: 4:
| function InRange(const x, min, max: Integer): Boolean; begin Result := (min <= x) and (x <= max); end; | |
Hidden - Do 30.04.09 19:38
hi :)
'sin' dürfte eigentlich für die entsprechende Funktion reserviert sein. Sollte es trotzdem so funktionieren, würde ich das aber trotzdem tunlichst sein lassen ;)
Was dein Problem mit einer Folge von ors angeht: Delphi bietet die Operatoren >, <, >=, <=. Ansonsten bietet sich für nicht so einfache Probleme, die sich als Folgen auffassen lassen, sicherlich eine Schleife an. Dazu schaust du dir am besten einfach den
Crashkurs von Christian S. [
http://www.christian-stelzmann.de/artikel/CrashkursReloaded/] an :)
mfG,
Leux - Fr 01.05.09 19:30
Danke @ all ^^
Jetzt hab ich es (bilde ich mir jedenfals ein) verstanden.
Aber kleine Frage am Rande:
Kann man irgendwie sagen "Lade beim Programmstart nicht Form1 sonder Form2".
Ich hab nen kleinen Logischen fehler gemacht und vergessen, zu allererst die Menue Form zu basteln und nun hab ich drei Tage an der anderen rumgearbeitet und ich will stark bezweifeln, dass ich es hinbekomme den Quelltext funktionsfähig von Form 1 nach Form2 zu transferieren. ^^"
giebt es da irgendwo einen Eintrag der sagt welche Form geladen werden soll?
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
jaenicke - Fr 01.05.09 19:32
Das kannst du im Projektquelltext (Projekt --> Quelltext anzeigen) selbst ändern (das zuerst erzeugte Programm ist das Hauptformular) oder in den Projektoptionen (Projekt --> Optionen... --> Formulare).
Und fürs nächste Mal: neue Frage, neuer Thread im Forum bitte! (siehe Richtlinien)
Leux - Fr 01.05.09 19:37
oh hopala ganz vergessen ^^"""
Verzeihung und danke.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!