AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Konstantenauflistung (wie clGreen, clRed, ) selber erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Konstantenauflistung (wie clGreen, clRed, ) selber erstellen

Ein Thema von dartrax · begonnen am 10. Nov 2004 · letzter Beitrag vom 11. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#1

Konstantenauflistung (wie clGreen, clRed, ) selber erstellen

  Alt 10. Nov 2004, 15:07
Hi!

Ich möchte für eine eigene Klasse so eine Konstantenauflistung (Enumeration?) selber machen! Das Ziel ist, Eigenschaften dann mit einem solchen Typ zu deklarieren und dann dieser entweder den Konstantenname oder über einen Index zuzuweisen! Also so, wie z. B. die Eigenschaft Color eines Controls: Sie sind vom Typ TColor und es gibt Konstanten wie clBlack, clGreen, clRed u.s.w., ich kann der Eigenschaft aber auch eine Zahl zuweisen.

Ich habe es schon mit folgendem Code im type-Abschnitt probiert:
Delphi-Quellcode:
type
  TCoinTyp = (Coin10, Coin25, Coin50);
Allerdings akzeptiert Delphi es nicht, wenn ich statt Coin50 z. B. 2 auf eine TCoinTyp-deklarierte Eigenschaft zuweise.

Wie geht das?

Vielen Dank,
dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:10
TColor ist nicht als Set, sondern wie folgend deklariert:
Delphi-Quellcode:
type
  PColor = ^TColor;
  TColor = -$7FFFFFFF-1..$7FFFFFFF;
  {$NODEFINE TColor}
Nur Zeile 3 ist von Interesse

Um eine Liste an Optionen zu bieten musst Du zusätzlichen einen Property-Editor schreiben, suche mal in der DP danach, wir hatten das, glaube ich, schon mal

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#3

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:22
Hallo,
danke für die schnelle Antwort!

Ich habe jetzt "{$NODEFINE TCoinTyp}" da drunter geschrieben, aber es scheint noch nicht alles zu sein. Was muss ich denn in der Zeile darüber hinschreiben? Wo kommen die Bezeichnungen hin?

Im Objektinspektor brauche ich das aber nicht.

dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:23
Zitat von dartrax:
Ich habe jetzt "{$NODEFINE TCoinTyp}" da drunter geschrieben,
Das wäre auch Zeile 4

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#5

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:24


(ohne Worte)

dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:25
Hi dartrax,

meinst du etwa so was:

Delphi-Quellcode:
type
  TCoinTyp = 0..2;

const
  Coin10 = 0;
  Coin25 = 1;
  Coin50 = 2;
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#7

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:36
Ok nachdem mir wieder klar geworden ist das Auflistungen im reallife bei 1 beginnen...

... wo werden denn da die Bezeichnungen clRed usw. angegeben? Oder ist dafür dieser Property-Editor?

@alcaeus:

Im Prinzip ja, ich dachte nur, ich könnte die Konstanten in eine Liste zusammenfassen und mit der Variablendeklaration verknüpfen wie Enum in VB.

dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:51
Zitat von dartrax:
Oder ist dafür dieser Property-Editor?
Genau dafür ist der dann

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#9

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 15:59
Vielen Dank für eure schnellen Antworten!

Ich werde nach alcaeuss Methode verfahren.

dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Konstantenauflistung (wie clGreen, clRed, ) selber erste

  Alt 10. Nov 2004, 22:40
Moin dartrax,

Zitat von dartrax:
Allerdings akzeptiert Delphi es nicht, wenn ich statt Coin50 z. B. 2 auf eine TCoinTyp-deklarierte Eigenschaft zuweise.

Wie geht das?
mittels Typecast:

Delphi-Quellcode:
var
  MyVariable : TCoinTyp;

begin
  MyVariable := TCoinTyp(2);
...
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:07 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