Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie erhalte ich eine Element aus einer Menge? (https://www.delphipraxis.net/20472-wie-erhalte-ich-eine-element-aus-einer-menge.html)

rsilo 18. Apr 2004 16:32


Wie erhalte ich eine Element aus einer Menge?
 
Wie erhalte ich eine Element (am besten das 1.) aus einer selbst definierten Menge?

rsilo :wall:

CalganX 18. Apr 2004 17:00

Re: Wie erhalte ich eine Element aus einer Menge?
 
Hi,
keine Ahnung. Wie hast du deine Menge denn definiert? ;)

Chris

rsilo 18. Apr 2004 17:07

Re: Wie erhalte ich eine Element aus einer Menge?
 
Ich hab irgent was in der Menge?

Nun möchte ich eine Element aus der Menge erhalten, egal welches. Ideal wäre natürlich
das 1. Element ?

Code:
Include()
und

Code:
Exclude()
nützen mir nichts, da ich ja nicht genau weiß wie das 1. Element heißt

rsilo

p.s.: danke im voraus!

CalganX 18. Apr 2004 17:25

Re: Wie erhalte ich eine Element aus einer Menge?
 
Hi,
ja, du hast mir aber immer noch nicht gesagt, was für eine Menge das ist. Ist das ein Array oder was selbstzusammengeschriebenes?
Bei einem Array kannst du über den Index auf ein Element zugreifen:
Delphi-Quellcode:
DeinArray[Index]
Wobei Index eine ganze Zahl ist, die in dem Bereich deiner Größe deines Arrays ist.

Chris

rsilo 18. Apr 2004 17:27

Re: Wie erhalte ich eine Element aus einer Menge?
 
Meine Menge:

Delphi-Quellcode:
var test: set of Char;
rsilo :firejump:

CalganX 18. Apr 2004 17:32

Re: Wie erhalte ich eine Element aus einer Menge?
 
Hi,
öhm... klar. Das meinst du mit Menge.
Nun gut. Ich würde sagen, wenn es mit
Delphi-Quellcode:
DeineMenge[Index]
nicht geht, würde ich jetzt mal vermuten, dass es gar nicht geht. Du kannst wohl höchstens prüfen, ob ein Element in dieser Menge vorhanden ist.

Chris

maximov 18. Apr 2004 17:52

Re: Wie erhalte ich eine Element aus einer Menge?
 
Hallo! Sets sind für jeden spass zu haben :stupid: ...abgesehen davon sind es einfache bitfolgen, weswegen ein element ein bit (boolean) ist

Ein element erhalten:
Delphi-Quellcode:
var test: set of Char;
  element:boolean;
..
element := #65 in test; // A in menge
...
element := chr(0) in test; // #0 in menge
meintest du das? ..bei sets gibts oft verwirrung.

// edot: ergänzt

xineohp 18. Apr 2004 17:57

Re: Wie erhalte ich eine Element aus einer Menge?
 
moin,

in meine OH steht folgendes:
Zitat:

Eine Menge setzt sich aus mehreren Werten desselben ordinalen Typs zusammen. Die Werte haben keine feste Reihenfolge. Wenn ein Wert in einer Menge doppelt vorkommt, hat jedes Vorkommen dieselbe Bedeutung.
Daher befürchte ich, wird es nicht möglich sein ein "erstes" Element zu erfassen.

rsilo 18. Apr 2004 17:58

Re: Wie erhalte ich eine Element aus einer Menge?
 
Nein!

Ich gebe in meine Menge, Nummern bzw. Chars ein,
Während der Laufzeit muss ich jeweils alle Elemente aus der Menge
entfernen,
dann muss ich wieder beliebig viele hinzufuegen. usw.

rsilo

:oops:

rsilo 18. Apr 2004 18:02

Re: Wie erhalte ich eine Element aus einer Menge?
 
Verdammt, wenn das wirklick so ist, muss ich wohl eine Liste verwenden!

Und dann 2 Routinen mit denen ich etwas hinzufuege oder entwerden.

was sagt ihr?


rsilo

maximov 18. Apr 2004 18:07

Re: Wie erhalte ich eine Element aus einer Menge?
 
Zitat:

Zitat von rsilo
Nein!

Ich gebe in meine Menge, Nummern bzw. Chars ein,
Während der Laufzeit muss ich jeweils alle Elemente aus der Menge
entfernen,

alles entfernen, bzw. alle bits auf null setzen geht so:
Delphi-Quellcode:
test := [];
Zitat:

dann muss ich wieder beliebig viele hinzufuegen. usw.
...
so:
Delphi-Quellcode:
var x:byte;
...
x := 15;
test := test + [char(x)]
sollte gehen, nur bedenke das du für eine ordnungszahl immer nur ein element haben kannst.

xineohp 18. Apr 2004 18:08

Re: Wie erhalte ich eine Element aus einer Menge?
 
die einzigen Operationen die ich für sets kenne sind:

Delphi-Quellcode:
  test := ['a','b','c'];
  test := test - ['a'];
  test := test + ['d'];
  test := [];

  If 'd' in test then ...
EDIT: zu langsam...

rsilo 18. Apr 2004 18:10

Re: Wie erhalte ich eine Element aus einer Menge?
 
Danke!

Das war mir bereits zuvor klar.

Es geht nur darum, ob ich aus einer selbst definierten Menge das 1. bzw. ein beliebiges Element bekomme.

Den rest habe ich bereits in prog eingebaut.

mfg

rsilo

maximov 18. Apr 2004 18:13

Re: Wie erhalte ich eine Element aus einer Menge?
 
Zitat:

Zitat von rsilo
Danke!

Das war mir bereits zuvor klar.

Es geht nur darum, ob ich aus einer selbst definierten Menge das 1. bzw. ein beliebiges Element bekomme.

Den rest habe ich bereits in prog eingebaut.

mfg

rsilo

Hallo! Du scheinst mir nicht zu zuhören (sehr frustrierend) :evil: ...aber ich sagte bereits das ein element ein bit ist! und wie du da rann kommst sagte ich.

Wenn du sagst was du überhaupt willst, dann müssen wir hier nicht stunden lang rumm eiern!

rsilo 18. Apr 2004 18:15

Re: Wie erhalte ich eine Element aus einer Menge?
 
alles ok!

ich machs mit dem

Code:
in
Operator

xineohp 18. Apr 2004 18:25

Re: Wie erhalte ich eine Element aus einer Menge?
 
ich hab noch was gefunden um die Anzahl der Elemente im set zu bestimmen:

Delphi-Quellcode:
  Count := 0;
  for Element := Low(char) to High(char) do
    if Element in test then Inc(Count);
@maximov
Zitat:

und wie du da rann kommst sagte ich.
hab ich nicht kapiert ... könntest du das noch mal erklären?

maximov 18. Apr 2004 19:50

Re: Wie erhalte ich eine Element aus einer Menge?
 
hust

/edit: später


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz