PDA

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 صبح
ممنون دقیقا همین است من چنین تابعی را نوشته ام منظور من این بود که آیا در دلفی تابعی که اینکاررا انجام دهد داریم یا نه ؟