Announcement

Collapse
No announcement yet.

Code kürzer fassen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Code kürzer fassen

    Hallo, mit der unten stehenden Procedure lösche ich die Anzeige der Werte in einer TeeChart-Grafik, die noch keinen Wert enthalten. Es gibt max 38 Felder und ich schreibe dazu 38 If Anweisungen. Das funktioniert auch gut. Ich möchte nun wissen ob es die Möglichkeit gibt das ganze in einen kürzeren Code zu fassen. Geht das überhaupt und kann man mir dazu Hinweis, Tipps geben? Vielen Dank ph.

    <br>procedure TTabPosForm.FeldAus(Sender: TObject);
    <br>begin
    <br>with Series1 do
    <br>begin
    <br>if FeldQueryS38.Value < 1 then begin
    <br>Delete(37);
    <br>end;
    <br>if FeldQueryS37.Value < 1 then begin
    <br>Delete(36);
    <br>end;
    <br>usw.
    <br>if FeldQueryS3.Value < 1 then begin
    <br>Delete(2);
    <br>end;
    <br>if FeldQueryS2.Value < 1 then begin
    <br>Delete(1);
    <br>end;
    <br>if FeldQueryS1.Value < 1 then begin
    <br>Delete(0);
    <br>end;
    <br>end;
    <br>end;

  • #2
    Du könntest es mittels der Methode FindComponent kürzer fassen

    <pre>
    procedure TTabPosForm.FeldAus(Sender: TObject);
    var
    i: Integer;
    comp: TComponent
    begin
    for i := 1 to 38 do
    begin
    comp := FindComponent('FeldQueryS' + IntToStr(i));
    if (comp as <BenötigterTyp>).Value < 1 then
    Delete(i-1);
    end;
    end;
    </pre&gt

    Comment

    Working...
    X