Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   gleiche anweisungen für zwei klassen - aber wie? (https://www.delphipraxis.net/161569-gleiche-anweisungen-fuer-zwei-klassen-aber-wie.html)

Marco Steinebach 9. Jul 2011 21:17

gleiche anweisungen für zwei klassen - aber wie?
 
Hallo zusammen,
ich habe
fIni: TIniFile
und fMemIni: TMemIniFile.
Wie kann ich denn, abhängig von einer Variable, eine der beiden Variablen ansprechen.
also:
Delphi-Quellcode:
if MemoryAktiv then
  with fMemIni do
  begin
    x := readstring (bla...);
  else // also nix memory
  with fIni do
  begin
   // ... gleiche anweisungen wie oben, eben nur für fIni.
kann man das irgendwie machen, ohne die Anweisungen zwichen with-end doppelt schreiben zu müssen?
Vielen Dank imn voraus
Marco

Luckie 9. Jul 2011 21:19

AW: gleiche anweisungen für zwei klassen - aber wie?
 
Lager den Code in eine Methode aus.

s.h.a.r.k 9. Jul 2011 21:25

AW: gleiche anweisungen für zwei klassen - aber wie?
 
Kombiniert mit dem was Luckie gesagt hatte:
Delphi-Quellcode:
procedure LoadFromIni(AFile: TCustomIniFile);
begin
  x := AFile.ReadString({...});
  // etc.
end;

// Irgendwo...
if MemoryAktiv then
  LoadFromIni(FMemoryIni)
else
  LoadFromIni(FIni);
PS: Du solltest dir auch angewöhnen deinen Code sinnvoll einzurücken. Das was du da gepostet hast ist ja echt grauenvoll, vor allem wenn das noch ein anderer lesen soll ;)
Delphi-Quellcode:
if MemoryAktiv then
begin
  with fMemIni do
  begin
    x := readstring (bla...);
  end;
end
else begin // also nix memory
  with fIni do
  begin
   // ... gleiche anweisungen wie oben, eben nur für fIni.
  end;
end;

Marco Steinebach 9. Jul 2011 22:00

AW: gleiche anweisungen für zwei klassen - aber wie?
 
Hallo Luckie und Armin,
erstmal herzlichen Dank für eure raschen Antworten.
Mir war schlicht nicht klar, daß, obwohl ja beide von TCustomIniFile abgeleitet sind, ich das so lösen kann.
Was die Einrückung angeht, ;-), normalerweise mach ich das. Ich hab nur das gemacht, was ich bei anderen hasse, wie die Pest, nämlich den Code schlicht hingeschmiert.
Sorry!
Einen schönen Abend
Marco

s.h.a.r.k 9. Jul 2011 22:05

AW: gleiche anweisungen für zwei klassen - aber wie?
 
Kein Problem ;) Vielleicht solltest dir mal die Objekt-orientierte Programmierung näher anschauen. Genau das schlägt hier nämlich durch.

Marco Steinebach 2. Sep 2011 11:35

AW: gleiche anweisungen für zwei klassen - aber wie?
 
beantwortet!


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