PDA

View Full Version : فراخوانی یک فانشن



davoodmz
پنج شنبه 18 اسفند 1384, 11:08 صبح
با سلام
من فانش تبدیل عدد به حروف را گیر آوردم به صورت زیر
لطفاً راهنمایی کنید جطوری در یک مثلا edit1 استفاده کنم و تابع را فراخوانی کنم
کدش را لطفاً بگوئید.
باتشکر
داود

nterface
function Number2Str(Nm: string): string;

implementation
uses SysUtils;

function Number2Str;
const
Main: array[1..3,0..9]of string = (('', 'íßÕÏ æ', 'ÏæíÓÊ æ', 'ÓíÕÏ æ', 'åÇÑÕÏ æ', 'ÇäÕÏ æ', 'ÔÔÕÏ æ', 'åÝÊÕÏ æ', 'åÔÊÕÏ æ', 'äåÕÏ æ'),
('', '', 'ÈíÓÊ æ', 'Óí æ', 'åá æ', 'äÌÇå æ', 'ÔÕÊ æ', 'åÝÊÇÏ æ', 'åÔÊÇÏ æ', 'äæÏ æ'),
('', 'íß', 'Ïææ', 'Óå', 'åÇÑ', 'äÌ', 'ÔÔ', 'åÝÊ', 'åÔÊ', 'äå'));
NPos: array[1..4]of string = ('ãíáíÇÑÏ æ', 'ãíáíæä æ', 'åÒÇÑ æ', '');
_10_19: array[10..19]of string = ('Ïå', 'íÇÒÏå', 'ÏæÇÒÏå', 'ÓíÒÏå', 'åÇÑÏå', 'ÇäÒÏå', 'ÔÇäÒÏå', 'åÝÏå', 'åÌÏå', 'äæÒÏå');
var
TMP2, TMP: string;
Cntr2, Cntr: Integer;
begin
case Length(Nm) mod 3 of
1: TMP := '00';
2: TMP := '0';
end;
Nm := TMP + Nm;
TMP := '';
if Length(Nm) <=3 then begin
for Cntr := 1 to 3 do
if (Cntr = 2) and (Nm[Cntr] = '1') then begin
TMP := TMP + _10_19[StrToInt(Copy(Nm, 2, 2))] + ' ';
Break;
end else
TMP := TMP + Main[Cntr, StrToInt(Nm[Cntr])] + ' ';
TMP := Trim(TMP);
Cntr := Length(TMP);
if TMP <> '' then
if TMP[Cntr] = '&aelig;' then
Delete(TMP, Cntr, 1);
Result := TMP + ' ';
Exit;
end;
Cntr2 := 0;
for Cntr := (4 - (Length(Nm) div 3)) + 1 to 4 do begin
TMP2 := Number2Str(Copy(Nm, (Cntr2 * 3) + 1, 3));
if Trim(TMP2) <> '' then
TMP := TMP + TMP2 + NPos[Cntr] + ' ';
Inc(Cntr2);
end;
TMP := Trim(TMP);
Cntr := Length(TMP);

{----This command fix it----}
If not (Nm[length(NM)]='2') then
{--This command remove the &aelig; from end of the number that has &Iuml;&aelig;! this is mistake--}
if TMP <> '' then
if TMP[Cntr] = '&aelig;' then
Delete(TMP, Cntr, 1);
Result := TMP;
end;

end.

saeed_d
پنج شنبه 18 اسفند 1384, 22:14 عصر
سلام


Edit1.text:=Number2str('123456789');

Mahmood_M
جمعه 19 اسفند 1384, 04:50 صبح
سلام دوست عزیز
البته آقا سعید جواب کامل رو به شما دادن ولی باید بدونید که برای استفاده از یک تابع اسمی که براش مشخص شده رو می نویسیم تا اجرا بشه :
function Number2Str(Nm: string): string

davoodmz
شنبه 20 اسفند 1384, 07:50 صبح
باتشکر از شما عزیزان
داود