(Gast)
n/a Beiträge
|
Re: Befehl kürzen
11. Feb 2008, 15:17
Ist nicht geprüft, sollte aber stimmen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
function Abfrage(gbStr, gb20Str, btbgStr, fkennungXStr, fkennung4Str: String;
var falscherstatus: Boolean): Integer;
begin
if (gbStr = fkennungXStr) and
(
(btbgStr <> '4') or (falscherstatus = false) or
(btbgStr <> '6') or (btbgStr <> '7') or
(btbgStr <> '8') or (btbgStr <> '3')
)
then Result := '3'
else
falscherstatus := (gb20Str = fkennung4Str) and
(btbgStr = '1') or (btbgStr = '2') or (btbgStr = '5');
end;
begin
btbg19.Caption := Abfrage(gb19.Caption, gb20.Caption, btbg19.Caption,
Fahrzeug1.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg19.Caption := Abfrage(gb19.Caption, gb20.Caption, btbg19.Caption,
Fahrzeug2.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg19.Caption := Abfrage(gb19.Caption, gb20.Caption, btbg19.Caption,
Fahrzeug3.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg19.Caption := Abfrage(gb19.Caption, gb20.Caption, btbg19.Caption,
Fahrzeug4.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg20.Caption := Abfrage(gb20.Caption, gb20.Caption, btbg20.Caption,
Fahrzeug1.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg20.Caption := Abfrage(gb20.Caption, gb20.Caption, btbg20.Caption,
Fahrzeug2.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg20.Caption := Abfrage(gb20.Caption, gb20.Caption, btbg20.Caption,
Fahrzeug3.fkennung, Fahrzeug4.fkennung, falscherstatus);
btbg20.Caption := Abfrage(gb20.Caption, gb20.Caption, btbg20.Caption,
Fahrzeug4.fkennung, Fahrzeug4.fkennung, falscherstatus);
end;
Zuletzt ist der Code nur noch wegen der langen Namen so ausführlich. Wahrscheinlich kann man das noch mehr kürzen, aber zu mehr habe ich keine Lust
Allerdings scheint der Code unsinnig zu sein, da sich die Werte permanent überschreiben.
EDIT:
Leider weiß ich nicht ob Fahrzeug1 bis Fahrzeug4 Komponenten sind, sonst könnte man es noch kürzen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
function Abfrage(gbStr, gb20Str, btbgStr, fkennungXStr, fkennung4Str: String;
var falscherstatus: Boolean): Integer;
begin
if (gbStr = fkennungXStr) and
(
(btbgStr <> '4') or (falscherstatus = false) or
(btbgStr <> '6') or (btbgStr <> '7') or
(btbgStr <> '8') or (btbgStr <> '3')
)
then Result := '3'
else
falscherstatus := (gb20Str = fkennung4Str) and
(btbgStr = '1') or (btbgStr = '2') or (btbgStr = '5');
end;
var
i: Integer;
begin
for i := 1 to 4 do
btbg19.Caption := Abfrage(gb19.Caption, gb20.Caption, btbg19.Caption,
TAbc(FindComponent('Fahrzeug'+IntToStr(i)).fkennung, Fahrzeug4.fkennung,
falscherstatus);
for i := 1 to 4 do
btbg20.Caption := Abfrage(gb20.Caption, gb20.Caption, btbg20.Caption,
TAbc(FindComponent('Fahrzeug'+IntToStr(i)).fkennung, Fahrzeug4.fkennung,
falscherstatus);
end;
Aber wie gesagt, je mehr man es kürzt, umso mehr sieht der Code nach Unsinn aus.
|