AccessTr.neT

Tam Versiyon: usd cinsinden rakamı yazıya cevirmek
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
USD olarak fatura kesiyorum bunu yazıya nasıl çevirebilirim ?
YTL olrak var ancak USD gerekli teşekkürler
Rakamları yazıya çevirmek için muhtemelen bir modül kullanıyorsun. Bununda bir çok örneği var, hangisini kullandığınızı bilemiyorum.
Bu konuyu geçen hafta açmıştım, benim bir çalışmam vardı. (Power hocamın katkısıyla)
Cevaplanmış sorulara bakarsan benim örneğimi kullanabilirsin.
http://accesstr.net/konu-fatura-programi...orunu.html
evet istediğim bu ancak açıklamam eksik oldu benim istediğim usd yi yazıya ingilizce olarak çevirmek.
Bir sorum olacak.

Aynı formda hem İngilizce temde Türkçe olacak mı?
Parametre olarak TR/EN/DE olabilir. almanca için kesin doğrudur diyemem.

Kullanimi:
Me.Yalniz= yazt("12345,23" , "USD" , "EN")
veya
me.Rakam=12345,23
me.Yalniz=yazt(me.Rakam , "USD" , "DE")

Sonuç:
ONİKİBİNÜÇYÜZKIRKBEŞ USD YİRMİÜÇ SENT
TENTWOTHOUSANDTHREEHUNDREDFORTYFIVE USD TWENTYTHREE SENT
ZEHNZWEITAUSENDDREIHUNDERTVIERZIGFÜNF USD ZWANZIGDREI SENT


Not:Ondalık işaretine dikkat ediniz. bazı bilgisayarlarda nokta bazılarında virgüldür.


Function yazt(Sayi, Doviz, Dil)
'Sayi = Rakamınız
'Doviz = USD/TL/GBP
'Dil = TR/EN/DE
Dim B$(9)
Dim Y$(9)
Dim m$(4)
Dim v(15)
Dim C(3)
If Dil = "TR" Then GoTo TR
If Dil = "EN" Then GoTo EN
If Dil = "DE" Then GoTo DE

TR:
B$(0) = ""
B$(1) = "BİR"
B$(2) = "İKİ"
B$(3) = "ÜÇ"
B$(4) = "DÖRT"
B$(5) = "BEŞ"
B$(6) = "ALTI"
B$(7) = "YEDİ"
B$(8) = "SEKİZ"
B$(9) = "DOKUZ"

Y$(0) = ""
Y$(1) = "ON"
Y$(2) = "YİRMİ"
Y$(3) = "OTUZ"
Y$(4) = "KIRK"
Y$(5) = "ELLİ"
Y$(6) = "ALTMIŞ"
Y$(7) = "YETMİŞ"
Y$(8) = "SEKSEN"
Y$(9) = "DOKSAN"

m$(0) = "TRİLYON"
m$(1) = "MİLYAR"
m$(2) = "MİLYON"
m$(3) = "BİN"
m$(4) = ""
GoTo Devami

EN:
B$(0) = ""
B$(1) = "ONE"
B$(2) = "TWO"
B$(3) = "THREE"
B$(4) = "FOUR"
B$(5) = "FIVE"
B$(6) = "SIX"
B$(7) = "SEVEN"
B$(8) = "EIGHT"
B$(9) = "NINE"

Y$(0) = ""
Y$(1) = "TEN"
Y$(2) = "TWENTY"
Y$(3) = "THIRTY"
Y$(4) = "FORTY"
Y$(5) = "FIFTY"
Y$(6) = "SIXTY"
Y$(7) = "SEVENTY"
Y$(8) = "EIGHTY"
Y$(9) = "NINETY"

m$(0) = "TRILLION"
m$(1) = "BILLION"
m$(2) = "MILLION"
m$(3) = "THOUSAND"
m$(4) = ""
GoTo Devami

DE:
B$(0) = ""
B$(1) = "EIN"
B$(2) = "ZWEI"
B$(3) = "DREI"
B$(4) = "VIER"
B$(5) = "FÜNF"
B$(6) = "SECHS"
B$(7) = "SIEBEN"
B$(8) = "ACHT"
B$(9) = "NEUN"

Y$(0) = ""
Y$(1) = "ZEHN"
Y$(2) = "ZWANZIG"
Y$(3) = "DREIßIG"
Y$(4) = "VIERZIG"
Y$(5) = "FÜNFZIG"
Y$(6) = "SECHZIG"
Y$(7) = "SIEBZIG"
Y$(8) = "ACHTZIG"
Y$(9) = "NEUNZIG"

m$(0) = "BILLION"
m$(1) = "MILLIARDE"
m$(2) = "MILLION"
m$(3) = "TAUSEND"
m$(4) = ""
GoTo Devami

Devami:
A$ = Str(Int(Sayi))

If Left$(A$, 1) = " " Then pozitif = 1 Else pozitif = 0
A$ = Right$(A$, Len(A$) - 1)
Kurus = (Sayi - Val(A$)) * 100
Kurus = Format(Kurus, "00")

For X = 1 To Len(A$)
If (Asc(Mid$(A$, X, 1)) > Asc("9")) Or (Asc(Mid$(A$, X, 1)) < Asc("0")) Then GoTo Hata
Next X

If Len(A$) > 15 Then GoTo Hata
A$ = String(15 - Len(A$), "0") + A$

For X = 1 To 15
v(X) = Val(Mid$(A$, X, 1))
Next X

s$ = ""
For X = 0 To 4
C(1) = v((X * 3) + 1)
C(2) = v((X * 3) + 2)
C(3) = v((X * 3) + 3)
If C(1) = 0 Then
e$ = ""
ElseIf C(1) = 1 Then
If Dil = "TR" Then e$ = "YÜZ"
If Dil = "EN" Then e$ = "HUNDRED"
If Dil = "DE" Then e$ = "HUNDERT"
Else
If Dil = "TR" Then e$ = B$(C(1)) + "YÜZ"
If Dil = "EN" Then e$ = B$(C(1)) + "HUNDRED"
If Dil = "DE" Then e$ = B$(C(1)) + "HUNDERT"
End If
e$ = e$ + Y$(C(2)) + B$(C(3))
If e$ <> "" Then e$ = e$ + m$(X)

If Dil = "TR" Then
If (X = 3) And (e$ = "BİRBİN") Then e$ = "BİN"
End If
If Dil = "EN" Then
If (X = 3) And (e$ = "THOUSAND") Then e$ = "THOUSAND"
End If
If Dil = "DE" Then
If (X = 3) And (e$ = "TAUSEND") Then e$ = "TAUSEND"
End If

s$ = s$ + e$
Next X

If Dil = "TR" Then
If s$ = "" Then s$ = "SIFIR"
If pozitif = 0 Then s$ = "EKSİ" + s$
End If
If Dil = "EN" Then
If s$ = "" Then s$ = "ZERO"
If pozitif = 0 Then s$ = "MINUS" + s$
End If
If Dil = "DE" Then
If s$ = "" Then s$ = "NULL"
If pozitif = 0 Then s$ = "MINUS" + s$
End If

KY = "%"
If Doviz = "YTL" Or Doviz = "TL" Then KY = "KURUS"
If Doviz = "USD" Or Doviz = "EUR" Then KY = "SENT"
If Doviz = "GBP" Then KY = "FENIK"


If Val(Kurus) <> 0 Then
Ke$ = Y$(Left(Kurus, 1)) + B$(Right(Kurus, 1))
yazt = s$ & " " & Doviz & " " & Ke$ & " " & KY
GoTo Tamam
Else
yazt = s$ & " " & Doviz
GoTo Tamam
End If

GoTo Tamam
Hata: yazt = "Hata!!!"
Tamam:
End Function

Sn Habatay size emek verilip cevap verilmiş. Lütfen geri bildirimde bulunmayı unutmayalım.

Saygılar...