Announcement

Collapse
No announcement yet.

Vorzeichen beibehalten

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

  • Vorzeichen beibehalten

    Hallo, wenn ein berechneter Wert eine Minus-Zahl ergibt, wird im DBGrid diese Minuszahl mit dem entsprechenden Minus Zeichen dargestellt z.B. -10. Wie kann man erreichen, das wenn der Wert einer Plus-Zahl errechnet wurde, dieser Wert auch mit dem Plus-Zeichen angezeigt wird z.B +10 in der entsprechenden Spalte. Ich arbeite mit Paradox 7 und Local SQL. Vielen Dank für Tipps. Gruss ph.

  • #2
    Hallo,

    in diesem Fall würde ich über den Feld-Editor eine persistente TField-Instanz für diese Tabellenspalte anlegen und dort eine Ereignisbehandlungsmethode für <b>OnGetText</b> nutzen:
    <pre>
    procedure TForm1.Table1AreaGetText(Sender: TField; var Text: String;
    DisplayText: Boolean);
    begin
    if Sender.Value > 0 then
    Text := '+' + IntToStr(Sender.Value)
    else
    Text := IntToStr(Sender.Value);
    DisplayText := True;
    end;
    </pre&gt

    Comment


    • #3
      Hallo, vielen Dank. Ich blicke nur mal wieder nicht durch. Über den Feld-Editor habe ich eine neue Spalte in der Tabelle angelegt. Dann die procedure OnGetText. Ich bekomme die Fehlermeldung: Auf DisplayText zugewiesener Wert wird nie benutzt. Möglich das ich die TField-Instanz nicht richtig angelegt habe. Ich glaube ich bringe mal wieder alles durcheinander. Bemühe mich weiter. Aber gibts vielleicht noch einen Hinweis. Danke ph

      Comment


      • #4
        Hallo,

        keine neue Spalte anlegen! Nur die Procedure GetText des vorhandenen Feldes nutzen. Hier wird ja nur der Zeitpunkt der "Text-Ausgabe" abgefangen, am Feld ändert sich nichts.
        Falls die TField-Instanz aber noch gar nicht vorhanden ist, dann anlegen, das war gemeint.

        Gruß Ul

        Comment


        • #5
          Hallo, vielen Dank das funktioniert jetzt. Das DisplayText... kann man sich wohl schenken? ph

          Comment


          • #6
            Hallo alle zusammen,
            oft unbeachtet bleibt die Eigenschaft "DisplayFormat" von TField. Trage dort eine Formatierung, wie in Excel, ein. z.B. "+" 0.00;"-"0.00. Alles was dort in einfache oder doppelte Anführungszeichen geschrieben wird, wird unverändert übernommen. Vor dem Semikolon steht der Wert für positive Zahlen, nach dem Semikolon der für negative Zahlen. Falls du einen dritten Abschnitt hinzufügst, gilt der für Null-Werte. Also ganz wie die Zellformatierung in Excel.

            mfg Klaus-Pete

            Comment

            Working...
            X