AGB  ·  Datenschutz  ·  Impressum  







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

Einfache Mengentypen

Ein Thema von Beck93 · begonnen am 30. Sep 2011 · letzter Beitrag vom 30. Sep 2011
Antwort Antwort
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#1

Einfache Mengentypen

  Alt 30. Sep 2011, 10:44
Hi,

ich stehe momentan vor dem Problem das ich einen Pool aus gewissen Zahlen habe und ich wissen muss ob eine Der Zahlen eingegeben wurde.

Zum besseren Verständnis:

Ich habe Die Zahlen 1004,1007,1010,1011,1201,1015
Wenn eine Dieser Zahlen eingegeben wird arbeitet die Anwendung damit weiter (Das Funktioniert schon mal )

Wie kann ich jetzt nur Überprüfen ob eine Gültige Zahl eingegeben wurde.

Ich könnte es mit Vielen IFs machen aber das geht bestimmt noch Inteligenter

Mit Einfachen Mengentypen hat es bei mir leider nicht funktioniert, da er set of Integer nicht akzeptiert und die Zahlen(1004...) über 255 hinaus gehen.

Danke schon mal für eure Hilfe
  Mit Zitat antworten Zitat
mquadrat

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

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 10:46
Wie wär's mit einer Delphi-Referenz durchsuchenTIntList?
  Mit Zitat antworten Zitat
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#3

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 10:59
Danke für die schnelle Antwort

Nur leider habe ich davon noch NIE gehört und die Hilfe in Delphi bringt mich auch nicht wirklich weiter

Könntest du mir vieleicht freundlicher weiße einen Tipp geben wie ich mit TIntList umgehe oder sie verwende?

Danke

Vieleicht noch eins zur Erklärung ich weiß nicht ob es wichtig ist aber naja

Es sieht momentan so aus bei mir:
Delphi-Quellcode:
function TDruckerStatus.FehlerNummer():boolean;
Type TNummern = set of integer;
var
 GueltigeNummer: TNummern;
begin
Result:= False;
 GueltigeNummer:= [1004,1007,1008,1009,1010,1011,1013,1015,1201,1202];
  if Diagnosenummer in GueltigeNummer then begin
   Result:= True;
  end;
end;
Nur wie schon gesagt Set of integer geht nicht.

Geändert von Beck93 (30. Sep 2011 um 11:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 11:10
Also ich wüsste spontan zumindest einen Workaround damit es auch mit Mengentypen geht.
Nimm set of byte und dann speicher:
  GueltigeNummer := [4,7, 8,9,10,11,13,15,201,202];
und bei der Abfrage dann
  if (DiagnoseNummer - 1000) in GueltigeNummer then

Setzt natürlich voraus, dass alle deine gültigen Nummern zw. 1000 und 1255 sind.

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#5

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 11:17
Danke super Idee bin ich gar nicht drauf gekommen

Das hilft auf jeden fall schon mal weiter zum Testen verfeinern kann ich ja immer noch wenn noch einer etwas schöneres weiß

Danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 11:23
Delphi-Quellcode:
case Zahl of
  1004,1007,1010,1011,1201,1015: ShowMessage('OK');
  else
    ShowMessage('Nee, so nicht');
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#7

AW: Einfache Mengentypen

  Alt 30. Sep 2011, 11:53
Vielen Dank für eure Antworten.

So funktioniert es jetzt sauber würde ich sagen

Danke
  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 09:05 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