Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Befehl kürzen (https://www.delphipraxis.net/108278-befehl-kuerzen.html)

R34DM3 10. Feb 2008 19:23


Befehl kürzen
 
moin zusammen,

kennt jemand ne möglichkeit diesen code:

Delphi-Quellcode:
     if (gb19.Caption = Fahrzeug1.fkennung) and ((btbg19.Caption <> '4') or (falscherstatus = false) or (btbg19.Caption <> '6') or (btbg19.Caption <> '7') or (btbg19.Caption <> '8') or (btbg19.Caption <> '3') ) then btbg19.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then falscherstatus := true;
     if (gb19.Caption = Fahrzeug2.fkennung) and ((btbg19.Caption <> '4') or (falscherstatus = false) or (btbg19.Caption <> '6') or (btbg19.Caption <> '7') or (btbg19.Caption <> '8') or (btbg19.Caption <> '3') ) then btbg19.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then falscherstatus := true;
     if (gb19.Caption = Fahrzeug3.fkennung) and ((btbg19.Caption <> '4') or (falscherstatus = false) or (btbg19.Caption <> '6') or (btbg19.Caption <> '7') or (btbg19.Caption <> '8') or (btbg19.Caption <> '3') ) then btbg19.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then falscherstatus := true;
     if (gb19.Caption = Fahrzeug4.fkennung) and ((btbg19.Caption <> '4') or (falscherstatus = false) or (btbg19.Caption <> '6') or (btbg19.Caption <> '7') or (btbg19.Caption <> '8') or (btbg19.Caption <> '3') ) then btbg19.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then falscherstatus := true;

     if (gb20.Caption = Fahrzeug1.fkennung) and ((btbg20.Caption <> '4') or (falscherstatus = false) or (btbg20.Caption <> '6') or (btbg20.Caption <> '7') or (btbg20.Caption <> '8') or (btbg20.Caption <> '3') ) then btbg20.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then falscherstatus := true;
     if (gb20.Caption = Fahrzeug2.fkennung) and ((btbg20.Caption <> '4') or (falscherstatus = false) or (btbg20.Caption <> '6') or (btbg20.Caption <> '7') or (btbg20.Caption <> '8') or (btbg20.Caption <> '3') ) then btbg20.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then falscherstatus := true;
     if (gb20.Caption = Fahrzeug3.fkennung) and ((btbg20.Caption <> '4') or (falscherstatus = false) or (btbg20.Caption <> '6') or (btbg20.Caption <> '7') or (btbg20.Caption <> '8') or (btbg20.Caption <> '3') ) then btbg20.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then falscherstatus := true;
     if (gb20.Caption = Fahrzeug4.fkennung) and ((btbg20.Caption <> '4') or (falscherstatus = false) or (btbg20.Caption <> '6') or (btbg20.Caption <> '7') or (btbg20.Caption <> '8') or (btbg20.Caption <> '3') ) then btbg20.Caption := '3' else if (gb20.Caption = Fahrzeug4.fkennung) and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then falscherstatus := true;
is eine procedure oder sowas zu stecken um ihn kürzer zu machen?! ^^

schonmal danke im vorraus
mfg markus

Namenloser 10. Feb 2008 19:26

Re: Befehl kürzen
 
Entschuldigung, aber HÄ? :stupid:
In dem Code versteht man echt nichts... beschreib mal bitte, was der tut.

mkinzler 10. Feb 2008 19:33

Re: Befehl kürzen
 
Du kannst ja erst mal die identischen Vergleich durchführen und dann nur noch die Unterschiede

DeddyH 10. Feb 2008 19:34

Re: Befehl kürzen
 
Lagere doch erstmal die ganzen wiederkehrenden Abfragen in eine eigene Funktion aus. Bsp:
Delphi-Quellcode:
(btbg19.Caption <> '4') or (falscherstatus = false) or (btbg19.Caption <> '6') or (btbg19.Caption <> '7') or (btbg19.Caption <> '8') or (btbg19.Caption <> '3')

omata 10. Feb 2008 20:45

Re: Befehl kürzen
 
Wenn man sich mal die Mühe macht und diese Textwüste ordentlich einrückt...

Delphi-Quellcode:
if    (gb19.Caption = Fahrzeug1.fkennung)
   and (   (btbg19.Caption <> '4')
        or (falscherstatus = false)
        or (btbg19.Caption <> '6')
        or (btbg19.Caption <> '7')
        or (btbg19.Caption <> '8')
        or (btbg19.Caption <> '3') ) then
begin
  btbg19.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb19.Caption = Fahrzeug2.fkennung)
   and (   (btbg19.Caption <> '4')
        or (falscherstatus = false)
        or (btbg19.Caption <> '6')
        or (btbg19.Caption <> '7')
        or (btbg19.Caption <> '8')
        or (btbg19.Caption <> '3') ) then
begin
  btbg19.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb19.Caption = Fahrzeug3.fkennung)
   and (   (btbg19.Caption <> '4')
        or (falscherstatus = false)
        or (btbg19.Caption <> '6')
        or (btbg19.Caption <> '7')
        or (btbg19.Caption <> '8')
        or (btbg19.Caption <> '3') ) then
begin
  btbg19.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb19.Caption = Fahrzeug4.fkennung)
   and (   (btbg19.Caption <> '4')
        or (falscherstatus = false)
        or (btbg19.Caption <> '6')
        or (btbg19.Caption <> '7')
        or (btbg19.Caption <> '8')
        or (btbg19.Caption <> '3') ) then
begin
  btbg19.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg19.Caption = '1') or (btbg19.Caption = '2') or (btbg19.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb20.Caption = Fahrzeug1.fkennung)
   and (   (btbg20.Caption <> '4')
        or (falscherstatus = false)
        or (btbg20.Caption <> '6')
        or (btbg20.Caption <> '7')
        or (btbg20.Caption <> '8')
        or (btbg20.Caption <> '3') ) then
begin
  btbg20.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb20.Caption = Fahrzeug2.fkennung)
   and (   (btbg20.Caption <> '4')
        or (falscherstatus = false)
        or (btbg20.Caption <> '6')
        or (btbg20.Caption <> '7')
        or (btbg20.Caption <> '8')
        or (btbg20.Caption <> '3') ) then
begin
  btbg20.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then
begin
  falscherstatus := true;
end;

if     (gb20.Caption = Fahrzeug3.fkennung)
    and (   (btbg20.Caption <> '4')
         or (falscherstatus = false)
         or (btbg20.Caption <> '6')
         or (btbg20.Caption <> '7')
         or (btbg20.Caption <> '8')
         or (btbg20.Caption <> '3') ) then
begin
  btbg20.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then
begin
  falscherstatus := true;
end;

if    (gb20.Caption = Fahrzeug4.fkennung)
   and (   (btbg20.Caption <> '4')
        or (falscherstatus = false)
        or (btbg20.Caption <> '6')
        or (btbg20.Caption <> '7')
        or (btbg20.Caption <> '8')
        or (btbg20.Caption <> '3') ) then
begin
  btbg20.Caption := '3';
end
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then
begin
  falscherstatus := true;
end;
dann kann man vielleicht schon mehr erkennen.
Allerdings nur vielleicht, in Wirklichkeit wird einem dann erst das ganze schreckliche Ausmaß klar und man sollte sich diesem Code vermutlich doch nicht weiter annähren als, naja, sagen wir mal 1km.

Was mich besonders stutzig macht, sind diese komischen...
Delphi-Quellcode:
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and (btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5') then
AND- und OR-Verknüpfungen. Fehlt da nicht eventuell noch ein Klammerpaar?

Also so...
Delphi-Quellcode:
else if    (gb20.Caption = Fahrzeug4.fkennung)
        and ((btbg20.Caption = '1') or (btbg20.Caption = '2') or (btbg20.Caption = '5')) then
?

Ich sehe da noch viel mehr Problemstellen, lass es aber jetzt mal dabei.
Sorry, aber da vergeht einem ja echt jeglicher Spass am Programmieren.

Traurige Grüsse
Thorsten

omata 10. Feb 2008 21:22

Re: Befehl kürzen
 
Hier doch nochmal ein Vorschlag...

Delphi-Quellcode:
type
  TMyResult = (_None, _True, _False);

function Test(FahrzeugkennungA, FahrzeugkennungB,
              CaptionA, CaptionB, CaptionC:string;
              falscherstatus:boolean):TMyResult;
begin
  Result:=_None;
  if    (CaptionA = FahrzeugkennungA)
     and (   (CaptionB <> '4')
          or (CaptionB <> '6')
          or (CaptionB <> '7')
          or (CaptionB <> '8')
          or (CaptionB <> '3')
          or not falscherstatus) then
  begin
    Result:=_True;
  end
  else if    (CaptionC = FahrzeugkennungB)
          and ((CaptionA = '1') or (CaptionA = '2') or (CaptionA = '5')) then
  begin
    Result:=_False;
  end;
end;

procedure TForm.Proc(var status:boolean);
var F4K, CapA, CapC:string;
begin
  F4K:=Fahrzeug4.fkennung;
  CapA:=gb19.Caption;
  CapC:=gb20.Caption;
  case Test(Fahrzeug1.fkennung, F4K, CapA, btbg19.Caption, CapC, status) of
    _True: btbg19.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug2.fkennung, F4K, CapA, btbg19.Caption, CapC, status) of
    _True: btbg19.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug3.fkennung, F4K, CapA, btbg19.Caption, CapC, status) of
    _True: btbg19.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug4.fkennung, F4K, CapA, btbg19.Caption, CapC, status) of
    _True: btbg19.Caption:='3';
    _False: status:=true;
  end;

  CapA:=gb20.Caption;
  CapC:=gb20.Caption;
  case Test(Fahrzeug1.fkennung, F4K, CapA, btbg20.Caption, CapC, status) of
    _True: btbg20.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug2.fkennung, F4K, CapA, btbg20.Caption, CapC, status) of
    _True: btbg20.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug3.fkennung, F4K, CapA, btbg20.Caption, CapC, status) of
    _True: btbg20.Caption:='3';
    _False: status:=true;
  end;
  case Test(Fahrzeug4.fkennung, F4K, CapA, btbg20.Caption, CapC, status) of
    _True: btbg20.Caption:='3';
    _False: status:=true;
  end;
end;
Nicht schön, aber selten...

DeddyH 10. Feb 2008 21:30

Re: Befehl kürzen
 
Zitat:

Delphi-Quellcode:
type
  TMyResult = (_None, _True, _False);

Klingt für mich nach FemaleBool: Yes, No, MayBe ;)

omata 10. Feb 2008 21:35

Re: Befehl kürzen
 
Naja, schau dir den Quellcode oben mal an. Da hier leider schreibend auf die Komponenten der Form zugegriffen wird und das leider mit TCaption über einen Referenzparameter nicht geht, musste ich mir hier etwas anderes einfallen lassen.

Bin aber auf andere Lösungen auch sehr gespannt...

fLaSh11 10. Feb 2008 21:45

Re: Befehl kürzen
 
[ot]
Sag mal, wir das ein BOS-Funk-Tool :stupid:
[/ot]

omata 10. Feb 2008 21:49

Re: Befehl kürzen
 
Ich weiss, deine Frage geht nicht an mich. Aber meine geht an dich.

Hört sich ja wirklich spannend an. Was ist das? Habe nur dies gefunden hier.

Sorry, bin eben zu blöd dafür.

jensw_2000 10. Feb 2008 23:50

Re: Befehl kürzen
 
Hier ist ein interessanter Artikel zum Thema "IF THEN ELSE Knoten auflösen" :-D
Branching on multiple conditions made readable

Schöne Grüße,
Jens
:hi:

Nuclear-Ping 11. Feb 2008 03:13

Re: Befehl kürzen
 
Eigentlich sollte man sich schämen, so einen Code erst zu verbrechen und dann auch noch der Öffentlichkeit anzubieten. Grenzt schon fast an Frechheit ... Ganz nach dem Motto: "Kann mir das hier mal jemand entstricken? Ich blick da nicht mehr durch." :mrgreen:

R34DM3 11. Feb 2008 06:38

Re: Befehl kürzen
 
ja also es geht mir eigentl darum den prog-code was übersichtlicher zu machen

durchblicken tuh ich da schon
falls jmd eine erklärung des progs will kann er das ja äußern dann mach
ich mir die mühe
ich wusste nur nich ob es möglich ist dieses monster zu kürzen
da ich ca 20 buttons mit der gleichen abfrage habe und ich aber
nicht weiß wie man zb im namen von button per for schleife oder sowas
ne zahl erhöht...ihr versteht was ich meine?!

und ja in der tat dieser teil ist häßlich - aber hey er funzt :D

ahja und wegen der klammer, ja die hab ich iwie net mitkopiert ^^

aber so wies aussieht kann man nich wirklich ne kürzere
sache draus zu machen!?

- danke für die antworten!!

*EDIT*: Und ja es wird ein BOS-Tool - zumindeste ein einsatztagebuchtool ohne funkanbindung ;)

mkinzler 11. Feb 2008 06:57

Re: Befehl kürzen
 
Zitat:

da ich ca 20 buttons mit der gleichen abfrage habe
Warum lagerst du das dann nicht in ein Funktion/Methode aus?
Zitat:

und ich aber nicht weiß wie man zb im namen von button per for schleife oder sowas
ne zahl erhöht...ihr versteht was ich meine?!
.FindComponent()

R34DM3 11. Feb 2008 07:35

Re: Befehl kürzen
 
Zitat:

Warum lagerst du das dann nicht in ein Funktion/Methode aus?
was soll ich auslagern?!
steh gerade aufm schlauch sory ^^

und was liefert mir dann .fincomponent()?!
müsste ja prinzipiell sowas geben:

Delphi-Quellcode:
procedure form1.blub(komponente : "buttonX.caption")
begin
    for X := 1 to 20 do begin
       blablabla buttonX.Caption blabla
    end;
end;
nur das prob is halt das 'X' ;)

marabu 11. Feb 2008 07:53

Re: Befehl kürzen
 
Moin,

das Hauptproblem an dem gezeigten Code ist, dass Benutzeroberfläche und Regelwerk eng miteinander verwoben sind. Man "rechnet" doch nicht mit Captions, sondern entwirft geeignete Datenstrukturen. Insofern gehen für mich alle Hilfestellungen hier in eine Richtung, die mir nicht gefallen kann. Eine weitere Sünde sind die unübersichtlichen Ausdrücke, die man unter Anwendung der Moore'schen Gesetze vereinfachen kann. Ausdrücke wie (falscherstatus = false) formuliert man wartungsfreundlicher als (not falscherstatus). Momentan werden scheinbar Fahrzeug-Eigenschaften in UI-Controls festgehalten, die Zuordnung zu einem konkreten Fahrzeug geschieht über eine GruppenBox-Caption. Dieses Programm wird mehr Kummer als Freude machen - versprochen.

Ich würde zuerst mal eine Datenanalyse vorschlagen: Entitäten (Fahrzeug, Fahrer, ...) und Attribute (Fahrzeugkennung, Fahrername, ...) ermitteln und geeignet zusammenfassen.

Grüße vom marabu

mkinzler 11. Feb 2008 08:47

Re: Befehl kürzen
 
Zitat:

was soll ich auslagern?!
Die Abfrage und dann den Button als Parameter
Zitat:

und was liefert mir dann .fincomponent()?!
eine Referenz auf eine Komponente anhand des Namens:

Delphi-Quellcode:
but := Form.FindComponent('Button'+IntTostr( i));

hitzi 11. Feb 2008 11:02

Re: Befehl kürzen
 
Zitat:

Zitat von DeddyH
Klingt für mich nach FemaleBool: Yes, No, MayBe ;)

Sorry für das OT ... aber der Spruch ist geil ;) :stupid: :mrgreen:

R34DM3 11. Feb 2008 11:56

Re: Befehl kürzen
 
Zitat:

Moin,

das Hauptproblem an dem gezeigten Code ist, dass Benutzeroberfläche und Regelwerk eng miteinander verwoben sind. Man "rechnet"
(...)
geschieht über eine GruppenBox-Caption. Dieses Programm wird mehr Kummer als Freude machen - versprochen.

Ich würde zuerst mal eine Datenanalyse vorschlagen: Entitäten (Fahrzeug, Fahrer, ...) und Attribute (Fahrzeugkennung, Fahrername, ...) ermitteln und geeignet zusammenfassen.

Grüße vom marabu
^^ ja wie gesagt so der pro bin ich net ;)
und viele der worte aus deinem text machen mir ein wenig angst xD

nee spaß bei seite...es wäre sicher günstiger hier mit klassen und
ähnlichem zu handtieren aber da ich nicht vor hatte mir den kopf
zu zermatern sondern eigentl so simpel wie möglich schreiben wollte
(also für mich is das simpel ^^)
habe ich versucht es so zu machen...

ich danke euch recht herzlich und viellt versuch ichs mal mit dem vorschlag
von mkinzler :P

will jmd viellt das prog so haben?! :thumb:

WS1976 11. Feb 2008 13:24

Re: Befehl kürzen
 
Sorry,
aber dann auch noch:

Zitat:

durchblicken tuh ich da schon
falls jmd eine erklärung des progs will kann er das ja äußern dann mach
ich mir die mühe
ich wusste nur nich ob es möglich ist dieses monster zu kürzen
da ich ca 20 buttons mit der gleichen abfrage habe und ich aber
nicht weiß wie man zb im namen von button per for schleife oder sowas
ne zahl erhöht...ihr versteht was ich meine?!
Istich däutsche Spraache schwäre Spraaache!!!
Hast du in der Schule nicht aufgepasst oder willst du uns ärgern?

Grüsse
Rainer

grenzgaenger 11. Feb 2008 13:52

Re: Befehl kürzen
 
poste doch mal dein menü dazu, damit man sich etwas vorstellen kann und ggf. was dein progy damit machen will...

denke, top down kommen wir eher zum ziel als per buttom up...

ausserdem solltest dir mal überlegen 'n struktogramm für deine logik zu entwerfen und dies ggf. gleich mit dranhängen. so sieht man viel schneller was das ganze sein soll ...

Popov 11. Feb 2008 14:17

Re: Befehl kürzen
 
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.

R34DM3 11. Feb 2008 18:45

Re: Befehl kürzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
hey das sieht echt so aus wie das was ich mir
vorgestellt hatte :D

Danke popov!
ich werds mal versuchen das zweite wird denk ich net
funzen aber ich werds ja sehen

hab ma die exe angehangen
ahja und nein es ist nich sinnlos was ich da schreibe
die abfrage die ihr seht regelt, dass kein fahrzeug was im status
4/3/6/7/8 in einen einsatz gezogen werden kann - oder dass zumindest
eine ausgabe kommt die dem user sagt dass ein fahrzeug nich einsatzbereit ist.

wie schon gesagt das prog is so meine eigene bastelei - also nich dazu gedacht
dass sich jmd ohne "einweisung" damit beschäftigt
und bis jetzt waren die rückmeldungen immer recht gut - mal abgesehen von den üblichen
kinderkrankheiten (bugs)

also dann herzlichen dank!

PS: @ WS1976 - kurze durchsage nich aufn sack gehn ;)

DeddyH 11. Feb 2008 18:49

Re: Befehl kürzen
 
Zitat:

PS: @ WS1976 - kurze durchsage nich aufn sack gehn ;)
Tapfer, kann ich da nur sagen.

WS1976 12. Feb 2008 13:47

Re: Befehl kürzen
 
Hallo

dümmlich kann ich da nur sagen.

Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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