AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem mit Mengendeklaration/Aufzählungstyp

Problem mit Mengendeklaration/Aufzählungstyp

Ein Thema von richard_boderich · begonnen am 22. Okt 2008 · letzter Beitrag vom 23. Okt 2008
Antwort Antwort
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

Problem mit Mengendeklaration/Aufzählungstyp

  Alt 22. Okt 2008, 22:53
Nabend!

Also ich habe hier ein Problem bei der Mengen/Augfzählungsdeklaration in Delphi. Vielleicht kann mir da mal jemand helfen?

Ich habe folgende Constanten Stringwerte '109', '108' und '24'.

Ich möchte das Sinngemäß so haben.

Tteilmenge1 = '109', '108';
Tteilmenge2 = '24';

Tgesamtmenge = (Tteil1 + Tteil2), also dann '109', '108', '24'

wie könnte ich das in Delphi umsetzen! Momentan kackt mich der Compiler mit Typfehlermeldungen zu. Denke mal es liegt wohl an der fortgeschrittene Uhrzeit.
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 00:21
Zitat:
Momentan knackt mich der Compiler mit Typfehlermeldungen zu. Denke mal es liegt wohl an der fortgeschrittene Uhrzeit.
Ja weil ein Type eine typisierung ist und keine Konstante oder Variable die einen Wert enthalten können.


Gegenfrage, handelt es sich bei den Mengen um Strings oder Zahlen ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 06:24
Delphi-Quellcode:
Const
  Teilmenge1 = [109,108];
  Teilmenge2 = [24];

Var
  Vereinigungsmenge,
  Schnittmenge : Set Of Byte;

Begin
  Vereinigungsmenge := Teilmenge1+Teilmenge2;
  Schnittmenge := Teilmenge1*Teilmenge2;
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#4

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 09:20
Es handelt sich um Strings ich würde auch gerne Strings verwenden, aber das sind erstens keine Ordinalen Typen und
zweitens benötige ich mehr als 256 Werte.

Ich benötige also sowas wie ein set of string (gibt es glaube ich nicht in delphi) und dieses set soll aus den einzelnen
constanten stringwerten bestehen. Also '109', '108', '24', ect. ect.

Dann würde ich gern Teilmengen definieren die nur bestimmte stringkonstanten aus der gesamtmenge beinhalten.

Und später im Programm dann so abfragen

Delphi-Quellcode:
if '109in teilmenge1 then do something
if '109in teilmenge2 then do was anderes
Also ich würde hier nur den Weg über array construkte sehen, aber vielleicht geht es ja auch irgendwie einfacher?
Jemand ne idee?
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 09:27
Könntest Du das nicht elegant mit Stringlisten lösen?

Delphi-Quellcode:
if Liste1.IndexOf('109') > -1 then MachWas();
if Liste2.IndexOf('109') > -1 then MachWasAnderes();
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
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#6

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 09:31
@DeddyH

stimmt, das wäre möglich und auch bestimmt elegant. Gibt es eine Möglichkeit die Stringlist anders mit den Konstanten zu füllen als über die Methode add? Also eventuell ohne Schleife?
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 09:36
Dazu hab ich momentan leider keinen genialen Einfall.
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
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 10:38
Hallo Richard,

vielleicht kannst du es so versuchen:

Delphi-Quellcode:
var
  SL : TStrings;
begin
  SL := TStringList.Create;
  SL.CommaText := '10,20,30,40,50';
  SL.Free;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#9

Re: Problem mit Mengendeklaration/Aufzählungstyp

  Alt 23. Okt 2008, 10:43
@All

Habe es jetzt mit Arrays of String und AnsiIndexStr gelöst. Klappt wunderbar! Hat den Vorteil, das ich die einzelnen Stringwerte
als Konstanten direkt dem Array zuweisen kann und spart eine Menge Code&Overhead gegenüber den Stringlisten (keine Add Schleifen bei der Wertzuweisung, keine try Construkte, Kein Vergessen die Stringlist wieder freizugeben ect) und ist durch
AnsiIndexStr genauso elegant.

Danke nochmal an alle für eure Tips!

//Edit

@Hawkeye219

Sieht auch recht sauber und übersichtlich aus. Ist aber zusätzlicher Code im Implementation Teil, und ich müsste das ganze
5 mal machen. Weil ich ja wie gesagt betsimmte Teil-"Mengen" habe und für jede eine liste brauche. Trotzdem danke auch für
deinen Hinweis
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:54 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