![]() |
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:
kann man das irgendwie kürzer gestalten? von dieser art existieren weitere 5 6 stück..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; MfG :) |
Re: wiederholungen zusammenfassen?
Ein Case-Konstrukt
|
Re: wiederholungen zusammenfassen?
oder du schreibst es in eine Procedure
Delphi-Quellcode:
vorausgesetzt deine zahlen bleiben immer gleich ind procedureprivate 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; somit sparst du dir viele zeilen Gruss sascha |
Re: wiederholungen zusammenfassen?
Zitat:
Delphi-Quellcode:
SCRaT
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); |
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; |
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
|
Re: wiederholungen zusammenfassen?
nein case kann ich mehr oder whniger^^ (habs mir selbst beigebracht)
wo deklariere ich denn "eintragen"? |
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
begin
case Zahl17 of 18: .. 29: .. end; end; |
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
Bei den Zahlen handelt es sich ja um Konstanten und daher sollten sie auch entsprechend deklariert werden.
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; |
Re: wiederholungen zusammenfassen?
Zitat:
Zitat:
|
Re: wiederholungen zusammenfassen?
Zitat:
kommt der in
Delphi-Quellcode:
rein?
var
wenn nicht..sorry bin wirklich neu^^ |
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
type TFormBlubb = class(TForm)
... private procedure Machwas; ... end; procedure TFormBlubb.Machwas; //hier den Klassennamen (TFormBlubb) davorschreiben begin ... end; |
Re: wiederholungen zusammenfassen?
Zitat:
|
Re: wiederholungen zusammenfassen?
Deshalb habe ich doch gesagt er soll es ertmal mit einer einfachen Procedure versuchen :warn:
Ich merke ja was ich immer für Probleme habe |
Re: wiederholungen zusammenfassen?
habt ja irgendwo recht :-D aber sonst lerne ich es nie...
Zitat:
das habe ich jetzt gemacht
Delphi-Quellcode:
er findet die anweisung TForm1 nich(die von tform1.Eintragen). Muss ich das als komplett neue anweisung schreiben?
private
{ Private-Deklarationen } procedure Eintragen(Neue5, Neue6, Neue7, Neue8:integer); . . . procedure TForm1.Btn1Click(Sender: TObject); TForm1.Eintragen(Neue5, Neue6, Neue7, Neue8: integer);// und hier liegt 100% mein fehler... |
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
procedure TForm1.Eintragen(Neue5, Neue6, Neue7, Neue8: integer);
|
Re: wiederholungen zusammenfassen?
nein selbst wenn ich oben und unten TForm1 davorschreibe sagt er mir oben (bei private)
Zitat:
Zitat:
|
Re: wiederholungen zusammenfassen?
Du darfst (und musst) den Klassennamen nur "unten" (unter implementation) davorschreiben.
|
Re: wiederholungen zusammenfassen?
jetzt ist zumindist oben das schonmal weg.. aber er sagt mir unten bei dem TForm immer noch
Zitat:
|
Re: wiederholungen zusammenfassen?
Zeig doch mal Deinen Source.
|
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
Du rufst die Procedure "DeineProcedure" in der Procedure "Button1Click" auf.
procedure TForm1.Button1Click(...);
var i,j,k,l: Integer; begin ... DeineProcedure(i,j,k,l); ... end; procedure TForn1.DeineProcedure(Zahl1,Zahl2,Zahl3,Zahl4: Integer); begin ... end; Edit: Dein Ziel ist ja die Anzahl der Zeilen zu reduzieren. Deswegen lagert man die Prozeduren ja aus. |
Re: wiederholungen zusammenfassen?
hier der delphi text^^
Delphi-Quellcode:
vielleicht ists jetzt besser^^ |
Re: wiederholungen zusammenfassen?
Im implementation-Teil:
Delphi-Quellcode:
procedure TForm1.Btn1Click(Sender: TObject);
begin //hier der Code von Btn1Click end; procedure TForm1.Eintragen(Neue5, Neue6, Neue7, Neue8: integer); begin //hier der Code von Eintragen end; |
Re: wiederholungen zusammenfassen?
so läufts durch aber es erscheint bei '8' nichts neues es bleibt einfach das drin stehn was schon drin steht..
|
Re: wiederholungen zusammenfassen?
Delphi-Quellcode:
private
{ Private-Deklarationen } Zahl1, Zahl2, Zahl3, Zahl4, Zahl5, Zahl6, Zahl7, Zahl8, Zahl9, Zahl10, Zahl11, Zahl12, Zahl13, Zahl14, Zahl15, Zahl16, Zahl17: integer; Zwischenzahl:integer; Minuszahl:integer; Laenge:integer; ClipbrdText:string; Text1:string; procedure Eintragen(Neue5, Neue6, Neue7, Neue8:integer); public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Eintragen(Neue5, Neue6, Neue7, Neue8: integer); begin Zahl5:=Neue5; Zahl6:=Neue6; Zahl7:=Neue7; Zahl8:=Neue8; end; procedure TForm1.Btn1Click(Sender: TObject); begin if Edit1.Text <> '' then Zahl1:=StrToInt(Edit1.Text); if Edit2.Text <> '' then Zahl2:=StrToInt(Edit2.Text); if Edit3.Text <> '' then Zahl3:=StrToInt(Edit3.Text); if Edit4.Text <> '' then Zahl4:=StrToInt(Edit4.Text); if Edit5.Text <> '' then Zahl5:=StrToInt(Edit5.Text); if Edit6.Text <> '' then Zahl6:=StrToInt(Edit6.Text); if Edit7.Text <> '' then Zahl7:=StrToInt(Edit7.Text); if Edit8.Text <> '' then Zahl8:=StrToInt(Edit8.Text); if Edit9.Text <> '' then Zahl9:=StrToInt(Edit9.Text); if Edit10.Text <> '' then Zahl10:=StrToInt(Edit10.Text); if Edit11.Text <> '' then Zahl11:=StrToInt(Edit11.Text); if Edit12.Text <> '' then Zahl12:=StrToInt(Edit12.Text); if Edit13.Text <> '' then Zahl13:=StrToInt(Edit13.Text); if Edit14.Text <> '' then Zahl14:=StrToInt(Edit14.Text); if Edit15.Text <> '' then Zahl15:=StrToInt(Edit15.Text); if Edit16.Text <> '' then Zahl16:=StrToInt(Edit16.Text); if Edit17.Text <> '' then Zahl17:=StrToInt(Edit17.Text); Case Zahl17 of 8 : Eintragen(255, 0, 0, 0); 9 : Eintragen(255, 128, 0, 0); 10 : Eintragen(255, 192, 0, 0); 11 : Eintragen(255, 224, 0, 0); 12 : Eintragen(255, 240, 0, 0); 13 : Eintragen(255, 248, 0, 0); end; end; Zitat:
:gruebel: Erinnert mich an Tuvok (hat Fragen in Videoforen gestellt). |
Re: wiederholungen zusammenfassen?
ah wnderbar nun hab ichs auch verstanden :-D
DANKE! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz