Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String als default bei propertys ??? (https://www.delphipraxis.net/74482-string-als-default-bei-propertys.html)

EDatabaseError 3. Aug 2006 20:35


String als default bei propertys ???
 
Delphi-Quellcode:
    property ComPort: String read VComPort write SetComPort default DefaultComPort;
    property Parity: String read VParity write SetParity default DefaultParity;
    property Databits: Integer read VDatabits write SetDatabits default DefaultDatabits;
    property Stopbits: Integer read VStopbits write SetStopbits default DefaultStopbits;
Bei den ersten 2 mekert der Compiler das es Ordinale, Pointer oder SmallSet sein müssen.
Wie kann ich dann den default bei strings definieren???

Mfg
Tobi

Hansa 3. Aug 2006 20:52

Re: String als default bei propertys ???
 
strings :

'0' 'x' 'dijfjfsöafjdsklfdskaös'

:P

mkinzler 3. Aug 2006 20:53

Re: String als default bei propertys ???
 
Zitat:

Wie kann ich dann den default bei strings definieren???
So garnicht. Du könntest aber in der OnCreate den Default-Wert in der privaten Variable setzten.

JasonDX 3. Aug 2006 20:55

Re: String als default bei propertys ???
 
Zitat:

Zitat von EDatabaseError
Wie kann ich dann den default bei strings definieren???

*OH öffnet*
Tada...
Zitat:

The default and nodefault directives are supported only for ordinal types and for set types
und ein string ist nunmal kein ordinaler Typ ;)
Zu Deutsch: Im Konstruktor händisch zuweisen, anders dürfts ned gehn.

@Hansa: :thumb: :roll: :wall:

greetz
Mike

EDatabaseError 3. Aug 2006 20:56

Re: String als default bei propertys ???
 
:wiejetzt:

Nommal meine Frage: Wie kann ich einen Default im Stringformat erstellen? Sodass in der Kompo im OI bei Comport standatirisiert Com1 drinsteht.

Zitat:

Zitat von mkinzler
Zitat:

Wie kann ich dann den default bei strings definieren???
So garnicht. Du könntest aber in der OnCreate den Default-Wert in der privaten Variable setzten.

ein beispiel wäre net

Zitat:

Zitat von JasonDX
Zitat:

Zitat von EDatabaseError
Wie kann ich dann den default bei strings definieren???

*OH öffnet*
Tada...
Zitat:

The default and nodefault directives are supported only for ordinal types and for set types
und ein string ist nunmal kein ordinaler Typ ;)
Zu Deutsch: Im Konstruktor händisch zuweisen, anders dürfts ned gehn.

@Hansa: :thumb: :roll: :wall:

greetz
Mike

muss ja noch ne andere möglichkeit geben

Dax 3. Aug 2006 20:57

Re: String als default bei propertys ???
 
Ich glaube, du gehst den falschen Weg ;) Wieso willst für diese Eigenschaften denn String-Properties? Sind doch eigentlich Integer. Im OI wird sowieso alles als string dargestellt.
Solltest du aber unbedingt strings haben wollen, musst du die Werte im Konstruktor zuweisen.

@Hansa: nimm dir bitte mal fkerber's Avatar zu Herzen.

mkinzler 3. Aug 2006 20:57

Re: String als default bei propertys ???
 
Für strings gibt es nunmal keine defaults.

EDatabaseError 3. Aug 2006 20:58

Re: String als default bei propertys ???
 
Zitat:

Zitat von Dax
Ich glaube, du gehst den falschen Weg ;) Wieso willst für diese Eigenschaften denn String-Properties? Sind doch eigentlich Integer. Im OI wird sowieso alles als string dargestellt.
Solltest du aber unbedingt strings haben wollen, musst du die Werte im Konstruktor zuweisen.

@Hansa: nimm dir bitte mal fkerber's Avatar zu Herzen.

wie willst du Com1 in nen Integer packen ;-)
Wie geht das mit dem Constructor???

//EDIT Bei Labels steht ja in der Caption standarisiert auch Label1 drin ;-)

CK_CK 3. Aug 2006 21:00

Re: String als default bei propertys ???
 
Deine Komponente hat doch bestimmt eine OnCreate-Prozedur, oder?

Und da schreibst du einfach rein:
Delphi-Quellcode:
Port:= 'Com1';
Eine andere Möglichkeit wäre eine Variable dieses Typs (statt String):
Delphi-Quellcode:
type
  TPort = (Com1,Com2,Com3);

Dax 3. Aug 2006 21:01

Re: String als default bei propertys ???
 
Delphi-Quellcode:
type
  MyComponent = class(TComponent)
  private
    fPort: string;
  public
    property Port: ... ;
    constructor Create; override;
  end;

implementation

constructor MyComponent.Create;
begin
  inherited Create;
  fPort := 'com1';
end;
@CK_CK: OnCreate ist ein Event von TForm und noch paar andren Klassen, wenn ich mich nich irre... Meinst du AfterConstruction?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Seite 1 von 3  1 23      

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