AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu Menge

Ein Thema von Pseudemys Nelsoni · begonnen am 24. Nov 2003 · letzter Beitrag vom 24. Nov 2003
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Frage zu Menge

  Alt 24. Nov 2003, 00:12
hoi

ich habe ein type in dem ich nachher alle tv sender haben möchte, ich möchte auch prüfen ob ein bestimmter sender in der menge enthalten ist.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Type TSndr = (vox, pro7, rtl2);
     AlleSndr = Set of TSndr;
var test: AlleSndr;
begin
  test := [vox..pro7];
  if (rtl2 in test) then
  ShowMessage('ja')
  else showmessage('nein');
end;

beim prüfen ob pro7 oder vox drinne ist wird "ja" ausgegeben, bei "rtl2" nein, wieso das?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Frage zu Menge

  Alt 24. Nov 2003, 00:49
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif.

Natürlich ist rtl2 nicht in Test enthalten.

Denn du füllst Test mit den Werten von vox bis pro7test := [vox..pro7]; Und in diesem Bereich liegen ja nur vox und pro7, aber eben nicht rtl2.


Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Type TSndr = (ard, zdf, vox, pro7, rtl2);
    AlleSndr = Set of TSndr;

  Var Test: AlleSndr;

  Begin
    Test := [zdf..pro7];
    If (rtl2 in Test) Then ShowMessage('ja')
    Else ShowMessage('nein');
  End;
zdf, vox & pro7 sind in Test enthalten / ard & rtl2 ist nicht in Test enthalten.


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Frage zu Menge

  Alt 24. Nov 2003, 00:52
ah, danke

noch eine frage, was ist der unterschied bei:

Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Type TSndr = (ard, zdf, vox, pro7, rtl2);
    AlleSndr = Set of TSndr;

  Var Test: AlleSndr;

  Begin
    Test := [zdf..pro7];
    If (rtl2 in Test) Then ShowMessage('ja')
    Else ShowMessage('nein');
  End;
und:


Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Type TSndr = (ard, zdf, vox, pro7, rtl2);
  Var AlleSndr: Set of TSndr;
  Begin
    Test := [zdf..pro7];
    If (rtl2 in Test) Then ShowMessage('ja')
    Else ShowMessage('nein');
  End;

es funktioniert beides
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Frage zu Menge

  Alt 24. Nov 2003, 01:09
Im 2. Fall ist "Test" undfiniert. Das ist der eine Unterschied. Wahrscheinlich haste ein paar Zeilen "unterschlagen". Aber, was wichtig ist: Typen dienen u.a. der Vereinheitlichung. Es ist besser einen Typ einmal zu deklarieren, als dauernd wieder neu. Schreibe also besser zentral einen Typ und weise diesen den Variablen zu:

Delphi-Quellcode:
type IntZahlen = [0..9];
..
var i,
    j : IntZahlen;
also es so zu machen:

Delphi-Quellcode:
var i : [0..9];
..
var j : [0..9];
Der Compiler behandelt beide Fälle zwar nicht gleich, aber das ist für Dich uninteressant.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Frage zu Menge

  Alt 24. Nov 2003, 01:30
Es gibt "keinen" Unterschied.

Bei der 1. Variante wird erst ein Typ (AlleSndr) deklariet und dann damit die Variable (Test) deklariert.

Bei der 2. Variante wird die Typendeklaration direkt der Variable zugewiesen.

Mit der globalen Typendeklaration (Variante 1) bei mehrmaliger Verwendung des selben Typs has Hansa schon recht.

Wenn aber ein Typ nur einmal verwendet wird, halte ich die 2. Variant besser und übersichtlicher.

Zitat von Hansa:
Im 2. Fall ist "Test" undfiniert.
(Test ist definiert)


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Frage zu Menge

  Alt 24. Nov 2003, 02:33
Dann sage mir mal, wo bei dem zweitenvar test : blabla; im Source steht
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Frage zu Menge

  Alt 24. Nov 2003, 09:55
http://www.mysmilie.de/smilies/schilder/3/img/010.gif (hab ich wohl ein Wort falsch gelesen)

Bei mir kam das so an:
Code:
[b]Var[/b] [color=red]Test[/color]: [b]Set of[/b] TSndr;

Das ist dann richtig:
Delphi-Quellcode:
Type TSndr = (ard, zdf, vox, pro7, rtl2);
  AlleSndr = Set of TSndr;

Var Test: AlleSndr;
  {weitererTest: AlleSndr;}
Delphi-Quellcode:
Type AlleSndr = Set of (ard, zdf, vox, pro7, rtl2);

Var Test: AlleSndr;
  {weitererTest: AlleSndr;}
Delphi-Quellcode:
Type TSndr = (ard, zdf, vox, pro7, rtl2);

Var Test: Set of TSndr;
Var Test: Set of (ard, zdf, vox, pro7, rtl2);
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: Frage zu Menge

  Alt 24. Nov 2003, 15:39
danke für die antworten

zu der sache das "Test := [zdf..pro7]; " nicht deklariert wurde.... ich habe bei dem beispiel ledeglich vergessen "test" in "AlleSndr" umzubenennen
Mario
MSN: cyanide@ccode.de
  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 08:40 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