AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi gleiche anweisungen für zwei klassen - aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

gleiche anweisungen für zwei klassen - aber wie?

Ein Thema von Marco Steinebach · begonnen am 9. Jul 2011 · letzter Beitrag vom 2. Sep 2011
Antwort Antwort
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#1

gleiche anweisungen für zwei klassen - aber wie?

  Alt 9. Jul 2011, 22:17
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
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 9. Jul 2011, 22:19
Lager den Code in eine Methode aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

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

  Alt 9. Jul 2011, 22:25
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;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#4

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

  Alt 9. Jul 2011, 23:00
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
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

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

  Alt 9. Jul 2011, 23:05
Kein Problem Vielleicht solltest dir mal die Objekt-orientierte Programmierung näher anschauen. Genau das schlägt hier nämlich durch.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#6

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

  Alt 2. Sep 2011, 12:35
beantwortet!
Marco Steinebach
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:40 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