While Schleife in benutzerdefnierte Variable?

Hi,

ich möchte eine Zahl in ein sprechenden Text wandeln.

Beispiel: Aus 8456 soll ACHT VIER FÜNF SECHS werden

Habe dazu folgendes gemacht bisher, aber mir fehlt noch der entsprechende Tipp:
zpos_wert = 23456,45

Benutzerdefinierte Variablen:
@Betrag = zpos_wert;
@String = Fstr$(Abs(@Betrag),Rep$("#",10));
@_Zahlkonvert = “0=Null|1=EINS|2=ZWEI|3=DREI|4=VIER|5=FÜNF|6=SECHS|7=SIEBEN|8=ACHT|9=NEUN”;
@Betragslänge = len(@_Zahlenstring);

Start der Umwandlung für das erste Zeichen z.B.:
@Betragstext = Alias$( left$(@_Zahlenstring,1), @_Zahlenkonvert);

Dann wäre es natürlich super wenn man sowas machen könnte:
@i = 2;
while( @i <= @Betragslänge )
{
@Betragstext = Alias$( mid$(@_Zahlstring,@i,1), @_Zahlkonvert );
$i++;
}

Da das ganze nicht über mehrere Datensätze gehen soll, sondern im Kopfdatensatz, kann ich auch nicht mit einer Summenvariablen tricksen oder dergleichen.

Hat jemand eine andere Idee wie man das einfach lösen könnte?

Gruß,
Lars

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "), “6”, "SECHS
"), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”, "NULL ")

Gruss,
Harry

“Lars Vietense” <info@ll-design…> schrieb im Newsbeitrag
news:25759224200873126@combit.net…

Hi,

ich möchte eine Zahl in ein sprechenden Text wandeln.

Beispiel: Aus 8456 soll ACHT VIER FÜNF SECHS werden

Habe dazu folgendes gemacht bisher, aber mir fehlt noch der entsprechende
Tipp:
zpos_wert = 23456,45

Benutzerdefinierte Variablen:
@Betrag = zpos_wert;
@String = Fstr$(Abs(@Betrag),Rep$(“#”,10));
@_Zahlkonvert =
“0=Null|1=EINS|2=ZWEI|3=DREI|4=VIER|5=FÜNF|6=SECHS|7=SIEBEN|8=ACHT|9=NEUN”;
@Betragslänge = len(@_Zahlenstring);

Start der Umwandlung für das erste Zeichen z.B.:
@Betragstext = Alias$( left$(@_Zahlenstring,1), @_Zahlenkonvert);

Dann wäre es natürlich super wenn man sowas machen könnte:
@i = 2;
while( @i <= @Betragslänge )
{
@Betragstext = Alias$( mid$(@_Zahlstring,@i,1), @_Zahlkonvert );
$i++;
}

Da das ganze nicht über mehrere Datensätze gehen soll, sondern im
Kopfdatensatz, kann ich auch nicht mit einer Summenvariablen tricksen oder
dergleichen.

Hat jemand eine andere Idee wie man das einfach lösen könnte?

Gruß,
Lars

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "), “6”,
"SECHS "), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”, "NULL ")

und was passiert wenn sich die Länge der Zahl ändert? Also warum kompliziert
wenns einfach auch geht. Ich würde das in der Entwicklungsumgebung machen
:wink:

Cheers
Otto

Hallo,

und was passiert wenn sich die Länge der Zahl ändert?

Der Text wird halt länger, aber genau das ist ja gewoll, oder?

Also warum kompliziert wenns einfach auch geht. Ich würde das in der
Entwicklungsumgebung machen
Uns was passiert mit der Entwicklungsumgebungsvariante, wenn der Text länger
wird? Ich verstehe vermutlich nicht, was Du damit sagen willst :wink:

Hmm. Auch wenn die Formel lang ist, kompliziert ist sie ja nun nicht gerade
:wink:
Klar könnte man eine Funktion auch direkt anbieten, die die Worte
zurückliefert, aber abgesehen davon, dass man das dann nur in einer festen
Sprache hat, kann es ja sein, dass der eine Enduser z.B. gerne Leerzeichen
als Trenner hat, der andere aber doch lieber einen “-” o.ä. Eine Möglichkeit
im Designer ist halt flexibler.

Gruss,
Harry

Hmmm?

Die Länge der Zahl ist bei der Formel unwesentlich :wink:

Er schaut nicht die Einzelzeichen an, sondern ersetzt die Zahlen 0-9
im String einfach durch ihr Textäquivalent.

Paulchen

“Otto Herdegen” <otto.herdegen@rubin-so…> wrote in message
news:323902252008113044@combit.net…

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "),
“6”,
"SECHS "), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”,
"NULL ")

und was passiert wenn sich die Länge der Zahl ändert? Also warum
kompliziert
wenns einfach auch geht. Ich würde das in der Entwicklungsumgebung
machen
:wink:

Cheers
Otto

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "), “6”,
"SECHS "), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”, "NULL ")

und was passiert wenn sich die Länge der Zahl ändert? Also warum kompliziert
wenns einfach auch geht. Ich würde das in der Entwicklungsumgebung machen
:wink:

Cheers
Otto

Hi Otto,

danke, trifft genau das was ich brauche :wink: und so einfach, dass ich nicht drauf gekommen bin seufz

Hallo,

Nur aus Interesse (und natürlich dem Lechzen nach Lob ;-))):
hat jetzt meine Formel oder die Empfehlung es selbst zu programmieren von
Otto geholfen?

Gruss,
Harry

“Lars Vietense” <info@ll-design…> schrieb im Newsbeitrag
news:8265226200811724@combit.net…

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "), “6”,
"SECHS "), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”, "NULL ")

und was passiert wenn sich die Länge der Zahl ändert? Also warum
kompliziert
wenns einfach auch geht. Ich würde das in der Entwicklungsumgebung machen
:wink:

Cheers
Otto

Hi Otto,

danke, trifft genau das was ich brauche :wink: und so einfach, dass ich nicht
drauf gekommen bin seufz

Hallo Harry,

ich hab jetzt mal die Formel ausprobiert und gesehen, dass es doch mit
längeren Zahlen funktioniert. Bei näherem Hinsehen natürlich auch logisch
aber auf den ersten Blick dachte ich eben… sorry, hab ich wieder mal
zuerst “die Finger eingeschaltet” und dann erst das Hirn ;-(

Übrigens, ich neige persönlich immer dazu Berechnungen wenn sie fester
Bestandteil eines Formulares sind soweit möglich NICHT im Designer zu
machen, sondern extern. Von der Geschwindigkeit her bringt es zwar nicht
viel weil dadurch die Anzahl der Variablen steigt, aber für den Anwender ist
es immer einfacher wenn “der Tisch schon gedeckt ist”.

Cheers
Otto

“Harald Eisen” <harryeisen@gm…> schrieb im Newsbeitrag
news:435212262008114721@combit.net…

Hallo,

Nur aus Interesse (und natürlich dem Lechzen nach Lob ;-))):
hat jetzt meine Formel oder die Empfehlung es selbst zu programmieren von
Otto geholfen?

Gruss,
Harry

“Lars Vietense” <info@ll-design…> schrieb im Newsbeitrag
news:8265226200811724@combit.net…

Hallo,

wie wäre es mit:
StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(StrSubst$(“8456”,“1”,"EINS
"), “2”, "ZWEI "), “3”, "DREI "), “4”, "VIER "), “5”, "FÜNF "), “6”,
"SECHS "), “7”, "SIEBEN "), “8”, "ACHT "), “9”, "NEUN "), “0”, "NULL
")

und was passiert wenn sich die Länge der Zahl ändert? Also warum
kompliziert
wenns einfach auch geht. Ich würde das in der Entwicklungsumgebung
machen
:wink:

Cheers
Otto

Hi Otto,

danke, trifft genau das was ich brauche :wink: und so einfach, dass ich nicht
drauf gekommen bin seufz