mojaSymfonia FORUM
https://forum.mix-soft.pl/

KwotaNaTekst - formatowanie wyniku, HMF 2016.
https://forum.mix-soft.pl/viewtopic.php?f=15&t=7295
Strona 1 z 1

Autor:  Arek44 [ 2016-06-03, 18:08 ]
Tytuł:  KwotaNaTekst - formatowanie wyniku, HMF 2016.

Witam!
Próbuję przy pomocy KwotaNaTekst dla kwoty 20.27 uzyskać następujący efekt: dwadzieścia, 27/100
Czy da się to zrobić?
Będę też wdzięczny za przykład jak w KwotaNaTekst używać parametru opis_jed, czyli definicji jednostek zastosowanych w opisie.
Pozdrawiam

Autor:  rafal [ 2016-06-04, 01:05 ]
Tytuł:  Re: KwotaNaTekst - formatowanie wyniku, HMF 2016.

KwotaNaTekst jest wbudowanym poleceniem i nie mamy na niego wpływu więcej niż pozwala nam jego parametryzacja.

Parametr opis_jed ustala jednostkę (domyślnie "złote")

Możesz to zmienić dodając wpis do pliku symfonia.ini i określić swoją jednostkę np. centymetry.

Kod:
[Kwoty tekstowo]
cm=0,centymetrów,centymetr,centymetry,0,milimetrów,milimetr,milimetry


w wyniku wywołania
Kod:
print KwotaNaTekst("20.27","cm")

otrzymujemy

dwadzieścia centymetrów dwadzieścia siedem milimetrów

Chcąc uzyskać Twój efekt po pierwsze musimy pozbyć się w ogóle jednostek używając jako parametr jednostki znaku @
Oddziel część całkowitą od ułamkowej. Całkowitą pokazać jako tekst a ułamkową jako x/100.


Kod:
string sub mixKwotaNaTekst(string sKwota, string sJedn)

   string sUlamek
   string sCale
   buf = sKwota
   sUlamek = delete regular ".{*}$"
   sCale = buf

   mixKwotaNaTekst = KwotaNaTekst( sCale,sJedn ) + mid(sUlamek,2,100) + "/100"

endsub


wywołując

Kod:
mixKwotaNaTekst("20.27", "@")


Otrzymujesz

dwadziećcia 27/100

Autor:  Arek44 [ 2016-06-05, 22:17 ]
Tytuł:  Re: KwotaNaTekst - formatowanie wyniku, HMF 2016.

Dzięki. Nareszcie wiem jak to działa, opis podręcznikowy jest taki sobie wg mnie.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/