AGB  ·  Datenschutz  ·  Impressum  







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

Klasse mit vordefinierter Variable?

Ein Thema von moelski · begonnen am 10. Aug 2006 · letzter Beitrag vom 10. Aug 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:01
Zitat von sh17:
mit properties kann man das per default-wert machen, geht dann IMO nicht private
Der Default Wert einer Klasse hat nichts mit der Vorbelegung zu tun, sondern ist die Eigenschaft, die genutzt wird, wenn keine Eigenschaft angegeben wird... Beispiel:

Delphi-Quellcode:
sl := TStringList.Create ;
s1.add ('Blubb') ;
Showmessage (s1[0]) ; -> s1[0] ist eigentlich s1.items[0]
Aber zum Thema...

Ab Delphi 2006 (oder eventuell ab 2005 ???) kann man im Klassenkopf Konstanten definieren:

Delphi-Quellcode:
myclass = class
const
  _LastZellenzahl = 0;
private
   ...
public
   ...
end ;
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#12

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:02
hallo!

Nein, Deine const - Deklarationen werden nicht pro Objekt angelegt, sondern einmalig durch die Unit definiert.

Ich denke mal, Du wolltest hier auch gar keine Konstante, sondern nur eine Variable nach deklaration mit einbem Startwert belegen.
Das geht nur über das genannte Konstrukt mit dem constructor

Gruß

onlinekater

PS
@nh17: properties können private, public, protected oder auch published angelegt werden. No Problem
Thomas Breitkreuz
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#13

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:04
Moin !

Also um es mal zusammenzufassen:
Delphi-Quellcode:
TLVSpectraII = class(TObject)
    public
      constructor Create;

      function 1....;
    private
      EnergieSumme: Double; //
      _LastZellenzahl : Byte; //
  end;

constructor TLVSpectraII.Create;
begin
  inherited Create; // Geerbten Konstruktor aufrufen.
  _LastZellenzahl := 0; // Variablen vor erster benutzung setzen
  _LastZyklus := 0;
  _LastStatus := 0;
  _LastTimeTicker := 0;
end;
Das wäre dann eine Lösung für mein Problem die funktioniert?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#14

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:07
Ja, unter der Voraussetzung, daß Du die im Create verwendeten Variablen dann auch noch deklarierst ....

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:08
Moin !

Ja klar ...
Delphi-Quellcode:
    private
      EnergieSumme: Double; // für KonvertierenGeratedaten als Merker nötig !
      _LastZellenzahl : Byte; // speichern Zustand der letzten Daten
      _LastZyklus : Byte;
      _LastStatus : Byte;
      _LastTimeTicker : TLVTimeTicker;
Der Vollständigkeit halber

Vielen Dank für die Infos.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:11
Zitat:
_LastTimeTicker : TLVTimeTicker;
Der kann aber nicht mit 0 initialisiert werden.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Klasse mit vordefinierter Variable?

  Alt 10. Aug 2006, 09:14
Zitat von sh17:
Zitat:
_LastTimeTicker : TLVTimeTicker;
Der kann aber nicht mit 0 initialisiert werden.
Wenn TLVTimeTicker eine eigene Klasse ist, so sollte der Konstructor dieser Klasse die Initialisierungen übernehmen. Wenn Du in deiner Klasse andere Werte brauchst, so musst Du sie in deinem Konstruktor noch entsprechend anpassen:

_LastTimeTicker.IrgendeienProperty := 0 ;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:12 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