Topic: help
I have problem calclulated feild
diffèrent table gild
My Visual Database → General → help
I have problem calclulated feild
diffèrent table gild
Hello amilas08, hello Derek
Wait for a moment, I guess Derek is coming to your aid !
He certainly has the solution
JB
Please attach your project.
Hello Amilas, Jean,
Try doing your calculated field like this (please see attached).
Derek.
if you can help me for convert number to ltexte word in langue french
for exemple ; 1000.00 € to Mille euro
thank you for information
Hello amilas
I'm alseo French but I wrote this answer in english for all MVD users.
Two ways to proceed :
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
if ValidFloat(Form1.Edit1.Text) then
Form1.Edit2.Text:=ToWords(Form1.Edit1.Value);
end;
or
if you want work with a function you can call again in your project :
function NumberToWords(Number: real): string;
var
Billion: real;
Million: real;
Thousand: real;
Hundred: real;
Tens : Array[2..9] of string = ['','','Twenty','Thirty','Forty','Fifty','Sixty','Seventy','Eighty','Ninety'];
Units: array[1..9] of string = ['','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'];
Teens: array[10..19] of string = ['Ten','Eleven','Twelve','Thirteen','Fourteen','Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'];
begin
Billion := 1000000000;
Million := 1000000;
Thousand := 1000;
Hundred := 100;
if (Number < 0) then Result := 'minus ' else Result := '';
Number := Abs(Number);
if (Number >= Billion) then
begin
Result := Result + NumberToWords(Number div Billion) + ' billion, ';
Number := Number mod Billion;
end;
if (Number >= Million) then
begin
Result:= Result + NumberToWords(Number div Million) + ' million, ';
Number:= Number mod Million;
end;
if (Number >= Thousand) then
begin
Result:= Result + NumberToWords(Number div Thousand) + ' thousand, ';
Number:= Number mod Thousand;
end;
if (Number >= Hundred) then
begin
Result:= Result + NumberToWords(Number div Hundred) + ' hundred, ';
Number:= Number mod Hundred;
end;
if (Number > 0) and (Result <> '') then
begin
Result := Trim(Result);
if(Result[Length(Result)] = ',') then Delete(Result, Length(Result), 1);
Result := Result + ' and ';
end;
if (Number >= 20) then
begin
Result := Result + Tens[StrToInt(FloatToStr(Number)) div 10] + ' ';
Number := Number mod 10;
end;
if(Number >= 10) then
begin
Result :=Result + Teens[StrToInt(FloatToStr(Number))];
Number := 0;
end;
if (Number >= 1) then Result := Result + Units[StrToInt(FloatToStr(Number))];
Result := Trim(Result);
if (Result = '') then Result := 'zero'
else
if (Result[Length(Result)] = ',') then Delete(Result, Length(Result), 1);
end;
procedure btnMoneyToWord(Sender: string; var Cancel: boolean);
var
s: string;
begin
s:=NumberToWords(Form1.edAmount.Value);
ShowMessage(s);
end;
begin
end.
JB
There is a problem with the numbers containing the numbers from 10 to 19.
My Visual Database → General → help
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi