AGB  ·  Datenschutz  ·  Impressum  







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

Doppelten Code vermeiden?

Ein Thema von Pseudemys Nelsoni · begonnen am 14. Nov 2004 · letzter Beitrag vom 15. Nov 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Doppelten Code vermeiden?

  Alt 14. Nov 2004, 22:52
moin,

Delphi-Quellcode:
procedure blubb(b: boolean);
begin
  case b of
    true:
      if irgendwas then
      begin
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
      end;
    false:
      if sonstwas then
      begin
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
        DoSomething();
      end;
  end;
end;

die 2 case teile unterscheiden sich NUR von der if abfrage, kann ich den code nicht irgendwie kleiner machen? die prozeduren innerhalb der cases sind 100% gleich
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#2

Re: Doppelten Code vermeiden?

  Alt 14. Nov 2004, 22:54
das wird ja immer ausgeführt, da boolean ja nur true oder false sein kann?!

/edit: sry, hab das irgendwas/sonstwas überlesen!

dann pack halt den teil den du doppelt hast in eine eigene funktion!

oder mach das so:
Delphi-Quellcode:
if (b and irgndwas) or ((not b) and sontwas) then
...
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Doppelten Code vermeiden?

  Alt 14. Nov 2004, 22:55
Delphi-Quellcode:
procedure blubb(b: boolean);
begin
  if ((b) and (irgendwas)) or ((not b) and (sonstwas)) then
  begin
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
  end;
end;
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: Doppelten Code vermeiden?

  Alt 14. Nov 2004, 23:15
ahhh, danke (habs), 8)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#5

Re: Doppelten Code vermeiden?

  Alt 15. Nov 2004, 08:03
hmm? ich glaub, ich hab in Info mal zuviel aufgepasst

Code:
[s]// (a and b) or (-a and b) ... (a and b) or (c and b)
if (b and irgndwas) or ((not b) and sontwas) then

// Regel: (a and b) or (c and b) = (a or c) and b

// (a or c) and b
if (b or (not b)) and sontwas then

// Regel: a or -a = 1

// 1 and b
if true and sontwas then

// Regel: 1 and b = b

// b
if sontwas then[/s]
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#6

Re: Doppelten Code vermeiden?

  Alt 15. Nov 2004, 08:54
Hallo,

Zitat von himitsu:
hmm? ich glaub, ich hab in Info mal zuviel aufgepasst

// Regel: (a and b) or (c and b) = (a or c) and b
das kannst du hier nicht anwenden, da kein Operand in beiden and's vorkommt!
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Doppelten Code vermeiden?

  Alt 15. Nov 2004, 10:17
stümmt
's war wohl noch zu früh ... irgendwas <> sonstwas ... 's sah heute früh irgendwie noch gleich aus

dann hat der Stefan halt weiterhin die beste Lösung
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: Doppelten Code vermeiden?

  Alt 15. Nov 2004, 19:38
Also ich würde das wie Stefan machen:

Delphi-Quellcode:
procedure blubb(b: boolean);

  procedure EverytimeTheSameShit;
  begin
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
    DoSomething();
  end;

begin
  case b of
    true:
      if irgendwas then
      begin
        EverytimeTheSameShit;
      end;
    false:
      if sonstwas then
      begin
        EverytimeTheSameShit;
      end;
  end;
end;
mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  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 03:31 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