View Full Version : تابع format
simans
دوشنبه 25 اسفند 1382, 22:04 عصر
سلام به همه:
تابع format توی دلفی چه جوریه؟
مثلا میخوام 1 را به 001 تبدیل کنه یعنی یک و دو رقمی را به سه رقمی تبدیل کنه.
متشکرم. :D
moradi_am
سه شنبه 26 اسفند 1382, 11:24 صبح
با فرمت نمیدانم ولی این تابع میتواند مشکل شما را حل کند :
function fixlen(st:string;len:integer):string;
var i,j,k:integer;
begin
k:=StrToInt(st);
for i:=1 to len do
if (k<power(10,i)) then
begin
for j:=len-1 downto i do Insert('0',st,1);
Break;
end;
Result:=st;
end;
__________________________________________________ _____________________
< :flower: عید شما مبارک :flower: >
simans
سه شنبه 26 اسفند 1382, 15:05 عصر
متشکرم .
ولی نمیخو ام خودم تابع بنویسم . آخه خود دلفی برای این کار تابع داره.
hr110
چهارشنبه 27 اسفند 1382, 08:02 صبح
S:='1';
S:=StringOfChar('0',3-Length(S))+S;
moradi_am
چهارشنبه 27 اسفند 1382, 09:17 صبح
جالب بود . :تشویق: آقای HR110 واقعا متخصص کد های کوتاه است . من خیلی دنبال این تابع (StringOfChar) گشتم چون چنین تابعی در فاکس پرو وجود داشت ولی پیدا نکردم . یک تابع دیگر هم بنام CHRTRAN(string1,string2,string3)z در فاکس پرو هست که درواقع کاراکترهای string1 را در String2 پیدا کرده و معادل آنرا از string3 بر میگرداند (ترجمه) .آیا این تابع هم در دلفی هست ؟
____________________________________
http://www.qazvin-ed.co.ir/happy.gif
hr110
چهارشنبه 27 اسفند 1382, 09:30 صبح
StringReplace
البته یک تابع دیگر هم است که شاید جالب باشد FillChar
Sepidar
چهارشنبه 27 اسفند 1382, 10:13 صبح
یک تابع دیگر هم بنام CHRTRAN(string1,string2,string3)z در فاکس پرو هست که درواقع کاراکترهای string1 را در String2 پیدا کرده
تابع POS
و معادل آنرا از string3 بر میگرداند (ترجمه)
منظور شما را درست متوجه نمی شوم :( اما مطمئنم که با توابع Delete & Copy کار کرده اید. :)
Sepidar
چهارشنبه 27 اسفند 1382, 10:24 صبح
تابع format توی دلفی چه جوریه؟
تو راهنمای دلفی تمام سوراخ سنبه هاش رو توضیح داده.
moradi_am
چهارشنبه 27 اسفند 1382, 11:23 صبح
ممنون ولی این تابع یک substring را جایگزین میکند ولی مورد نظر من تبدیل کاراکترها بصورت یک به یک است .مثلا :
str1:='362';
str2:='123456789';
str3:='abcdefghi';
نتیجه chrtran(str1,str2,str3) برابراست با : cfb
_____________________________________________
http://www.qazvin-ed.co.ir/happy.gif
Sepidar
چهارشنبه 27 اسفند 1382, 17:46 عصر
procedure chrtran(var str1:string;str2,str3:string);
var
i,j:byte;
begin
for i:=1 to length(str1) do begin
j:=pos(str1[i],str2);
if j>0 then str1[i]:=str3[j];
end;
end;
منظورتون همین بود؟
moradi_am
پنج شنبه 28 اسفند 1382, 06:58 صبح
ممنون دقیقا همین است من چنین تابعی را نوشته ام منظور من این بود که آیا در دلفی تابعی که اینکاررا انجام دهد داریم یا نه ؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.