Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wiederholungen zusammenfassen? (https://www.delphipraxis.net/101491-wiederholungen-zusammenfassen.html)

PaddyMu 14. Okt 2007 12:27


wiederholungen zusammenfassen?
 
hallo^^
ich habe gerade gemerkt dass mein quelltext ewig lang ist
da sich viele phraseb wiederholen wollte ich fragen ob man es zusammenfassen kann
hier ein beispiel:
Delphi-Quellcode:
       
begin if
             Zahl17=28
                      then begin
                           Zahl5:=255;
                           Zahl6:=255;
                           Zahl7:=255;
                           Zahl8:=240;
                      end;
       end;

       begin if
             Zahl17=29
                      then begin
                           Zahl5:=255;
                           Zahl6:=255;
                           Zahl7:=255;
                           Zahl8:=248;
                      end;
       end;
kann man das irgendwie kürzer gestalten? von dieser art existieren weitere 5 6 stück..
MfG :)

mkinzler 14. Okt 2007 12:31

Re: wiederholungen zusammenfassen?
 
Ein Case-Konstrukt

SaFu 14. Okt 2007 12:52

Re: wiederholungen zusammenfassen?
 
oder du schreibst es in eine Procedure

Delphi-Quellcode:

private

procedure zahlen;
.
.
.

procedure Form1.zahlen;
begin
 Zahl5:=255;
 Zahl6:=255;
 Zahl7:=255;
end;

begin
 if Zahl17=28 then
  begin
   zahlen;
   Zahl8:=240;
  end;
 end;

 begin
  if Zahl17=29  then
    begin
     zahlen;
    end;
  end;
vorausgesetzt deine zahlen bleiben immer gleich ind procedure

somit sparst du dir viele zeilen

Gruss sascha

scrat1979 14. Okt 2007 13:00

Re: wiederholungen zusammenfassen?
 
Zitat:

Zitat von fuknersascha
oder du schreibst es in eine Procedure

[...]

vorausgesetzt deine zahlen bleiben immer gleich ind procedure

somit sparst du dir viele zeilen

Gruss sascha

Sollten sie sich doch ändern, könntest du aber auch eine Prozedur mit Parametern nehmen, z.B.

Delphi-Quellcode:
procedure Zahlen(myZahl1, myZahl2, myZahl3, myZahl4 : Integer);
begin
 Zahl5 := myZahl1;
 Zahl6 := myZahl2;
 Zahl7 := myZahl3;
 Zahl8 := myZahl4;
end;

[...]

if Zahl17=28 then
   zahlen(255, 255, 255, 240);
SCRaT

Garfield 14. Okt 2007 14:34

Re: wiederholungen zusammenfassen?
 
Vielleicht so:
Delphi-Quellcode:
procedure Eintragen(Neue5, Neue6, Neue7, Neue8: Integer);
begin
  Zahl5 := Neue5;
  Zahl6 := Neue6;
  Zahl7 := Neue7;
  Zahl8 := Neue8;
end;

...

Case Zahl17 of
  28 : Eintragen(255, 255, 255, 240);
  29 : Eintragen(255, 255, 255, 248);
end;

SaFu 14. Okt 2007 14:37

Re: wiederholungen zusammenfassen?
 
ich weis ja net wieviel ahnung er hat aber nach den einträgen zu urteilen ist er neu und da würde ich es doch bei einfachen sachen belassen :-D

PaddyMu 14. Okt 2007 16:02

Re: wiederholungen zusammenfassen?
 
nein case kann ich mehr oder whniger^^ (habs mir selbst beigebracht)
wo deklariere ich denn "eintragen"?

mkinzler 14. Okt 2007 16:04

Re: wiederholungen zusammenfassen?
 
Delphi-Quellcode:
begin
    case Zahl17 of
      18: ..
      29: ..
    end;
end;

alzaimar 14. Okt 2007 16:57

Re: wiederholungen zusammenfassen?
 
Delphi-Quellcode:
Const
  Zahlen : Array [28..29,0..3] of (
    (255,255,255,240),
    (255,255,255,248)
);

Begin
  If Zahl7 in (27,28) Then Begin
    Zahl5 := Zahlen [Zahl7,0];
    Zahl6 := Zahlen [Zahl7,1];
    Zahl7 := Zahlen [Zahl7,2];
    Zahl8 := Zahlen [Zahl7,3];
  End;
end;
Bei den Zahlen handelt es sich ja um Konstanten und daher sollten sie auch entsprechend deklariert werden.

Garfield 14. Okt 2007 17:03

Re: wiederholungen zusammenfassen?
 
Zitat:

Zitat von PaddyMu
nein case kann ich mehr oder whniger^^ (habs mir selbst beigebracht)
wo deklariere ich denn "eintragen"?

Am besten unter private des Formulars. Dann muss bei der Procedure vor dem Namen noch der Klassenname eingetragen werden.

Zitat:

Zitat von alzaimar
Bei den Zahlen handelt es sich ja um Konstanten und daher sollten sie auch entsprechend deklariert werden.

Sieht fast so aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 1 von 3  1 23      

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