Announcement

Collapse
No announcement yet.

Currency-Felder in PARADOX

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

  • Currency-Felder in PARADOX

    Ich habe in etlichen Tabellen die Felder mit (derzeit) DM-Inhalten als Currency definiert. Zusätzlich habe ich ein Währungsfeld, das die enthaltene Währung (D/E) angibt. In DB-Grids wird allerdings immer das Währungssymbol das in WIN eingestellt ist mit ausgegeben. Kann dieses Symbol unterdrückt werden, da ich den gespeicherten Wert immer mit dem zusätzlichen Währungssymbol verbinde. Ich möchte in den Grids nur die Werte ohne Währungssymbol zeigen.
    Danke, mfg Christoph

  • #2
    Hallo,

    Du kannst die Formatierung eines Feldes bestimmen, wenn du in der Table-Komponente die Eigenschaft DisplayFormat einsetzt.

    Wenn du z.B. dort einsetzt:

    ,0.00

    erhältst du das gewünschte Ergebnis. Grundsätzlich muss man aber überhaupt kein Currency-Format verwenden. Hier ein Zitat von Hagen Reddmann:

    "Der Datentyp Currency hilft da auch nicht weiter Im grunde wird dort nur bei der Darstellung gerundet, aber NICHT live die Daten selber.

    Currency ist im übrigen NUR ein normaler Floattyp und nur dazu da, das eine DB Anwendung ein Standard -Währungssymbol anhängen kann. Aber was nützt ein Currency Typ wenn bei ALLEN Daten dieses Types IMMER die gleiche Währung des Systems benutzt wird ? Eine Währungsanwendung sollte ja mit mehreren Währungen arbeiten können. Da Currency aber intern NICHT speichert um was es für eine Währung geht, ist meiner Meinung nach Currency "schwachsinnig". Oder willst Du das Deine Anwendung die selben Rechungen auf einem Deutschen Rechner in DM und auf einem amerikainschen Rechner in Dollar ausgibt ?

    Ne, es bleibt da nur übrig, neben dem Betrag auch die Währung des Betrages zu speichern. Und das geht auch mit normalen Floats."

    Wenn du ein Währungssymbol brauchst kannst du dann auch so formatieren:

    ,0.00 DM

    Viel Erfolg..

    Comment


    • #3
      Hallo Uli,
      vielen Dank für den Hinweis, ich werde diesen sofort ausprobieren. Ich gebe noch mal Bescheid wie es gegangen ist. Danke!

      Christop

      Comment


      • #4
        Hallo,

        die Zeiten ändern sich ("... technischer Fortschritt..."). In Delphi 5 ist der Datentyp Currency (Object Pascal) mit dem OLE-Datentyp Currency (Win32) identisch und wird vom Betriebssystem intern als <b>64-Bit-Integer</b> verwaltet (also nicht als normaler Float-Typ). Daher treten keine Rundungsfehler mehr auf

        Comment


        • #5
          Danke für den Hinweis

          Comment


          • #6
            An sich erscheint dann der Typ Currency doch als sinnvoll, währe da nicht die WIN-Einstellung der Währung. Lässt sich die irgendwie umgehen. Es sieht einfach seltsam aus, wenn alte Werte die in DM eingetragen sind zusammen mit neueren EURO-Werten in einem Grid alle die Währung EUR erhalten!
            Die Unterdrückung des Währungssymboles bei der Ausgabe währe hier ein echter Fortschritt.

            Christop

            Comment


            • #7
              Hallo,

              also daran sollte es nun wirklich nicht scheitern. Wenn man über den Feldeditor persistente TField-Instanzen anlegt, stellt der Objektinspektor über die Eigenschaft <B>DisplayFormat</b> eine Option für die Formatierung bereit:
              <pre>
              object Table1Betrag: TCurrencyField
              DisplayWidth = 21
              FieldName = 'Betrag'
              DisplayFormat = '#0.00 EUR'
              end
              </pre>
              Nach dieser Änderung wird der Geldbetrag in jeder beliebigen Währung angezeigt.
              <pre>
              object Table1Betrag: TCurrencyField
              DisplayWidth = 21
              FieldName = 'Betrag'
              DisplayFormat = '#0.00 US$'
              end
              </pre&gt

              Comment


              • #8
                Wenn du nicht alles ändern möchtest, geht auch:

                CurrencyString := 'US$'

                Comment


                • #9
                  Sehr geehrter Herr Kosch, lieber Uli,
                  vielen Dank für den Tip mit der Ausgabe bzw. Nichtausgabe der Währung direkt im Feld/Grid.
                  Ich habe -weils sehr schnell und einfach geht- die Lösung von Uli eingebaut und .. es klappt super. Noch mal vielen Dank.
                  Ich hatte schon befürchtet in allen Tabellen die Currency-Felder ändern zu müssen.
                  mfg
                  Christop

                  Comment

                  Working...
                  X