Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   class in delphi (https://www.delphipraxis.net/85235-class-delphi.html)

mr.unbekannt 27. Jan 2007 19:05


class in delphi
 
Hi@all

ich habe ein kleines Problem. Ich bräuchte ein paar zeilen code und ich weiß nicht wie ich es machen soll. Ich bräuchte nch einen Counter, eine read und eine write procedure in ein file usw. halt die standart proceduren. der aufbau is bis jetzt so:

Delphi-Quellcode:
 type tarife = class
   private
     FLink : string;
     FAnbieter : string;
     FTarif : string;
     FGueltig : string;
     FNummer : string;
     FBenutzername : string;
     FPasswort : string;
     FTakt : string;
     FVerbindungsentgeld : string;
     FAktiv : boolean;
     FWoche : string;
     FSamstag : string;
     FSonntag : string;

     FCount : integer;
   protected
     property Link: string read FLink write FLink;
     property Anbieter: string read FAnbieter write FAnbieter;
     property Tarif: string read FTarif write FTarif;
     property Gueltig: string read FGueltig write FGueltig;
     property Nummer: string read FNummer write FNummer;
     property Benutzername: string read FBenutzername write FBenutzername;
     property Passwort: string read FPasswort write FPasswort;
     property Takt: string read FTakt write FTakt;
     property Verbindungsentgeld: string read FVerbindungsentgeld write FVerbindungsentgeld;
     property Aktiv: boolean read FAktiv write FAktiv;
     property Woche: string read FWoche write FWoche;
     property Samstag: string read FSamstag write FSamstag;
     property Sonntag: string read FSonntag write FSonntag;
   public
     destructor Destroy; override;
     constructor create;
     procedure WriteTarif(Link, Anbieter, Tarif, Gueltig, Nummer, Benutzername, Passwort,
                          Takt, Verbindungsentgeld, Woche, Samstag, Sonntag : string);
   end;

implementation

constructor tarife.create;
begin
  FLink := '';
  FAnbieter := '';
  FTarif := '';
  FGueltig :='';
  FNummer := '';
  FBenutzername := '';
  FPasswort := '';
  FTakt := '';
  FVerbindungsentgeld := '';
  FAktiv := false;
  FWoche :='';
  FSamstag := '';
  FSonntag := '';
  FCount := 0;
end;

procedure tarife.WriteTarif(Link, Anbieter, Tarif, Gueltig, Nummer, Benutzername, Passwort,
                          Takt, Verbindungsentgeld, Woche, Samstag, Sonntag : string);
var
  daten : tarife;
  i :integer;
begin
  daten := tarife.create;
  daten.FLink := Link;
  daten.FAnbieter := Anbieter;
  daten.FTarif := Tarif;
  daten.FGueltig := Gueltig;
  daten.FNummer := Nummer;
  daten.FBenutzername := Benutzername;
  daten.FPasswort := Passwort;
  daten.FTakt := Takt;
  daten.FVerbindungsentgeld := Verbindungsentgeld;
  daten.FAktiv := true;
  daten.FWoche := Woche;
  daten.FSamstag := Samstag;
  daten.FSonntag := Sonntag;
  //daten hinzufügen;
  daten.Free;
end;
Danke schon mal im voraus

thkerkmann 27. Jan 2007 19:26

Re: class in delphi
 
Hi,

zunächst mal würde ich aus deiner prozedur writetarif lieber den Constructor machen. So wie du sie programmiert hast, hat sie nämlich überhaupt keinen sinn.

Delphi-Quellcode:
constructor create(Link, Anbieter, Tarif, Gueltig, Nummer, Benutzername, Passwort,
                          Takt, Verbindungsentgeld, Woche, Samstag, Sonntag : string);
begin
  FLink := Link;
  FAnbieter := Anbieter;
  FTarif := Tarif;
  FGueltig := Gueltig;
  FNummer := Nummer;
  FBenutzername := Benutzername;
  FPasswort := Passwort;
  FTakt := Takt;
  FVerbindungsentgeld := Verbindungsentgeld;
  FAktiv := true;
  FWoche := Woche;
  FSamstag := Samstag;
  FSonntag := Sonntag;
end;
Gruss

DP-Maintenance 27. Jan 2007 21:03

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage

Muetze1 28. Jan 2007 04:02

Re: class in delphi
 
Und dieser Constructor kann komplett leer bleiben, da instanziieren der Klasse die internen Variablen auf Null initialisiert werden. Strings sind leer, Booleans sind False und Ordinaltypen sind 0.

Delphi-Quellcode:
constructor tarife.create;
begin
  // reicht vollkommen für den originalen Constructor
end;

semo 28. Jan 2007 05:36

Re: class in delphi
 
wenn da wirklich nur leere strings übergeben werden dann ist das mit dem leeren constructor ok so, nur halt nicht wenn man doch schon mal einen tarif mit vorgegeben werten initialisieren will.

Jelly 28. Jan 2007 12:11

Re: class in delphi
 
Was macht es denn für einen Sinn, in der WriteTarife Methode eine neue Instanz von Tarife zu erzeugen?

thkerkmann 28. Jan 2007 12:28

Re: class in delphi
 
Zitat:

Zitat von Jelly
Was macht es denn für einen Sinn, in der WriteTarife Methode eine neue Instanz von Tarife zu erzeugen?

und sie dann gleich wieder freizugeben :-)

Muetze1 28. Jan 2007 13:57

Re: class in delphi
 
Zitat:

Zitat von computer-glossar.de
wenn da wirklich nur leere strings übergeben werden dann ist das mit dem leeren constructor ok so, nur halt nicht wenn man doch schon mal einen tarif mit vorgegeben werten initialisieren will.

Ich hatte mich auf seinen Constructor bezogen (welcher keine Parameter hat) und nicht den von anderen neu erstellten Constructor WriteTarife(). Ich hatte oben explizit auf seinen originalen Constructor hingewiesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 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