5. Januar 2024 13:00
5. Januar 2024 13:29
procedure FormatNoText(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10])
    var
        PrintExponent: Boolean;
        Ones: Integer;
        Exponent: Integer;
        NoTextIndex: Integer;
        DecimalPosition: Decimal;
        NoToText: Text[30];
    begin
        Clear(NoText);
        NoTextIndex := 1;
        GLSetup.Get();
        NoText[1] := '**';
        if No < 1 then
            AddToNoText(NoText, NoTextIndex, PrintExponent, Text026)
        else begin
            NoToText := Format(Round(No, 1, '<'), 0, 2);
            for Exponent := 1 to StrLen(NoToText) do begin
                Evaluate(Ones, CopyStr(NoToText, Exponent, 1));
                if Ones = 0 then
                    AddToNoText(NoText, NoTextIndex, PrintExponent, Text026)
                else
                    AddToNoText(NoText, NoTextIndex, PrintExponent, OnesText[Ones]);
            end;
        end;
        DecimalPosition := GetAmtDecimalPosition();
        AddToNoText(NoText, NoTextIndex, PrintExponent, (Format(No * DecimalPosition) + '/' + Format(DecimalPosition)));
        if CurrencyCode <> '' then
            AddToNoText(NoText, NoTextIndex, PrintExponent, CurrencyCode);
        AddToNoText(NoText, NoTextIndex, PrintExponent, '**');
        OnAfterFormatNoText(NoText, No, CurrencyCode);
    end;5. Januar 2024 13:31
5. Januar 2024 15:02
BastianB hat geschrieben:Hi, vlt. hilft Dir die Funktion "FormatNoText" aus Bericht 1401 (Check).
10. Januar 2024 10:49
10. Januar 2024 12:27
10. Januar 2024 13:06
Kowa hat geschrieben:Was ist das Problem, das Auffüllen mit X? Zu PADSTR haben wir hier ein Thema.
10. Januar 2024 13:41
rotsch hat geschrieben:, aber auch die "Umwandlung" der einzelnen Zahlen in Worte
10. Januar 2024 14:55
Kowa hat geschrieben:rotsch hat geschrieben:, aber auch die "Umwandlung" der einzelnen Zahlen in Worte
Betrag formatieren, Länge feststellen und dann den String zeichenweise abarbeiten und dabei jedem Zeichen (= Ziffer) z.B. mit CASE..OF einen Text zuweisen.
Als Alternative zu PADSTR gibt es bei FORMAT auch einen Filler Character um Zeichen vorne aufzufüllen.