AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Standardwert für Eigenschaft definieren
Thema durchsuchen
Ansicht
Themen-Optionen

Standardwert für Eigenschaft definieren

Ein Thema von Yheeky · begonnen am 30. Apr 2008 · letzter Beitrag vom 1. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 12:55
Hi,

man kann ja bei einer globalen Variable einen Standardwert definieren wie z.B.

var xWert : Integer = 30; Ich habe nun eine kleine Datenstruktur erstellt und da funktioniert das nicht.

Delphi-Quellcode:
type
  TFahrzeug = (auPKW, auLKW);

  TFahrzeugdaten = record
    Art : TFahrzeug = auPKW;
    Marke : String;
    AnzahlRaeder, Tueren : SmallInt;
  end;
Wieso funktioniert die Zuweisung eines Standardwertes hier nicht? Wichtigere Frage: wie kann ich einen Standardwert definieren?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Standardwert definieren

  Alt 30. Apr 2008, 13:00
Standardwerte gibt es bei Delphi nur bei Übergabeparametern oder bei globalen Variablen.
Beste Lösung für dich:
mach aus dem Record ein Klasse und füge einen Konstruktor hinzu. Im Konstruktor werden dann die Standardwerte gesetzt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#3

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 13:47
Delphi-Quellcode:
type

  TFahrzeug = (auPKW, auLKW);

  TFahrzeugdaten = record
    Art : TFahrzeug;
    Marke : String;
    AnzahlRaeder, Tueren : SmallInt;
  end;

const
  Fahrzeug: TFahrzeugdaten = (Art: auPKW; Marke: 'Töfftöff'; AnzahlRaeder: 5; Tueren: 0);

OH Stichwort "typisierte Konstanten" -> "Rekord-Konstanten"

Auch, wenn's Konstante heißt, ist eine typisierte Konstante wie eine Variable zu verwenden. Es handelt sich also genau genommen um eine initialisierte Variable.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#4

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 18:50
Super, klappt wunderbar! Danke!
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#5

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:16
Welche Variante? Klasse mit Constructor oder Rekordkonstante?
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:27
Ich denke die Rekordkonstante.
Bei einer Klasse kann man es übrigens auch so machen:
Delphi-Quellcode:
type

  TFahrzeug = (auPKW, auLKW);

  TFahrzeugdaten = class
  private
    FArt: TFahrzeug;
    procedure SetArt(const Value: TFahrzeug);
  published
    property Art : TFahrzeug read FArt write SetArt default auPKW;
  end;
Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#7

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:36
Sicher? Die Direktive default hat doch eine andere Funktion
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:38
Den Default-Wert muss man trotzdem noch im Konstruktor setzen. Er bewirkt nur, dass kein Eintrag in der .dfm-Datei gemacht wird, falls er gesetzt ist.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:41
Gut, wieder was dazu gelernt. Zum Glück hab ich default noch nie wirklich so benutzt
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#10

Re: Standardwert für Eigenschaft definieren

  Alt 30. Apr 2008, 19:43
Die Variante aus Beitrag #3. Muss nicht mal alle Eigenschaften definieren, sondern es reicht, wenn ich eine definiere. Spricht etwas gegen diese Variante?
  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 09:53 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