AGB  ·  Datenschutz  ·  Impressum  







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

String als default bei propertys ???

Ein Thema von EDatabaseError · begonnen am 3. Aug 2006 · letzter Beitrag vom 4. Aug 2006
Antwort Antwort
Seite 2 von 3     12 3      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:01
Zitat:
Wie geht das mit dem Constructor???
if VCommPort = 'then VComport := 'Defaultwert';
Markus Kinzler
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#12

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:01
Zitat von CK_CK:
Deine Komponente hat doch bestimmt eine OnCreate-Prozedur, oder?

Und da schreibst du einfach rein: Port:= 'Com1'; Eine andere Möglichkeit wäre eine Variable dieses Typs (statt String):
Delphi-Quellcode:
type
  TPort = (Com1,Com2,Com3);
Das ist meine erste Componente... nein ich hab kein oncreate
es sollten schon strings sein
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 30. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#13

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:02
Zitat von Dax:
@CK_CK: OnCreate ist ein Event von TForm und noch paar andren Klassen, wenn ich mich nich irre... Meinst du AfterConstruction?
Nein, ich meinte die überschriebene Create-Prozedur, hab' mich falsch ausgedrückt... (dein Code ist genau, was ich meinte...)

@EDatabaseError: Füge einfach Dax's Code ein (das mit dem Constructor und Create...)
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:09
die "Default" directive bestimmt nicht welchen Wert das Propertie nach dem erstellen hat.
Das "Default" dient dazu das Properties nicht in der DFM gespeichert werden wenn Sie eben diesen Wert haben.

Wenn du willst das nach dem erstellen, die komponente bestimmte Wert hat, musst du den Constructor überschreiben und darin die Werte setzen. Und wie das geht solltest du in jedem ordentlichen oop-Tutorial lernen. Es hier zu posten bringt nix weil dir eben diese Grundlagen fehlen und somit nur weitere Fragen auftauchen würden welche mit einem ordentlichen Tutorial in 5 Minuten geklärt werden.
Und so ein Tutorial gibts auf: http://www.dsdt.info/tutorials/crashkurs/?page=8
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#15

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:10
Delphi-Quellcode:
unit EDEComPort;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, Dialogs;

const
  DefaultComPort = 'Com1';
  DefaultDataBits = 8;
  DefaultStopBits = 1;
  DefaultParity = 'none';

type
  TEDEComPort = class(TComponent)
  private
    { Private-Deklarationen }
    VComPort: String;
    VParity: String;
    VDataBits: Integer;
    VStopBits: Integer;

    procedure SetComPort(Value: String);
    procedure SetParity(Value: String);
    procedure SetDatabits(Value: Integer);
    procedure SetStopbits(Value: Integer);
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create; override; //<- Dekleration "Create" unterscheidet sich von vorheriger Dekleration

    function Open : Boolean;
    function Close : Boolean;
    procedure TX(Data: String);
    function RX : String;

    property ComPort: String read VComPort write SetComPort;
    property Parity: String read VParity write SetParity;
    property Databits: Integer read VDatabits write SetDatabits default DefaultDatabits;
    property Stopbits: Integer read VStopbits write SetStopbits default DefaultStopbits;
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Tobias Hocke Software', [TEDEComPort]);
end;

constructor TEDEComPort.Create;
begin
  inherited Create; //<- Nicht genügend wirkliche Parameter
  ComPort := DefaultComPort;
end;
Schaut euch mal den Code an
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:12
Zitat:
constructor Create( AOwner: TComponent); override;
Properties gehören in den published Abschnitt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#17

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:15
@EDataBaseError: Wenn du eine Methode überschreibst musst diese die gleichen Parameter haben wie die originale. Ansonsten wäre ja unklar wie die überschriebene Methode aufgerufen wird wenn jemand die Methode der Basisklasse aufruft.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#18

Re: String als default bei propertys ???

  Alt 3. Aug 2006, 21:16
danke
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Hansa

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

Re: String als default bei propertys ???

  Alt 4. Aug 2006, 00:10
Bevor ich hier noch zerrissen werde : wenn string so nicht geht, dann orientiere Dich doch an AsyncPro. Die benutzen einen Aufzählungstyp (Com1,Com2...Com16...) Nacht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#20

Re: String als default bei propertys ???

  Alt 4. Aug 2006, 07:39
String geht indirekt auch. Mann muss dort nur den Umweg über stored gehen. Also eine Funktion schreiben die zurück gibt ob default oder nicht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:51 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