PDA

View Full Version : تبدیل عدد 19 رقمی



ali_abbasi22145
جمعه 07 تیر 1387, 13:47 عصر
سلام
من يك عدد 19 رقمي دارم كه مي خواهم از سمت چپ 4 رقم جدا، بعد 2 فاصله خالي بعد و... آخرين به طبع 3 رقم جدا كنم مثل اين حالت :1234567890123456789 تبديل به 1234bb5678bb9012bb3456bb789 كه b=blank منظورم كاركتر خالي است.
من يك function or procedure براي اين عمل مي خواهم ، اگر حالت استرينگ اينجور جئا كند بهتر است و نشد عدد 19 رقمي را جدا كند.

Hsimple11
جمعه 07 تیر 1387, 14:00 عصر
با سلام.

میتوانید از دستور Copy کمک بگیرید. اگر عدد شما فرمت عددی دارد آنرا ابتدا به رشته تبدیل کنید :


Var
MyNumber : String ;
begin
MyNumber := '1234567890123456789';
Edit1.Text := Copy (MyNumber,1,4)+' '+
Copy (MyNumber,5,4)+' '+
Copy (MyNumber,9,4)+' '+
Copy (MyNumber,13,4)+' '+
Copy (MyNumber,17,4);


میتوانید بجای اولین عدد در دستور Copy که شماره کاراکتر شروع کپی است از یک متغیر استفاده کنید تا برای هر عددی و نه فقط همین عدد 19 رقمی قابل استفاده باشد.


ضمنا اگر ممکن است عنوان تاپیک خود را اصلاح کنید.

موفق باشید....

moradian
جمعه 27 فروردین 1389, 17:40 عصر
یه همچی چیزی شاید بتونه کارساز باشه:


function Split4Chars(S: string): string;
var
i: Integer;
begin
Result := '';
if Length S <= 4 then begin
Result := S;
Exit;
end;
for i := 1 to Length(S) do begin
Result := Result + ' ' + Copy(S, i, 4);
i := i + 4;
end;
end;

Felony
جمعه 27 فروردین 1389, 17:49 عصر
یه همچی چیزی شاید بتونه کارساز باشه:


function Split4Chars(S: string): string;
var
i: Integer;
begin
Result := '';
if Length S <= 4 then begin
Result := S;
Exit;
end;
for i := 1 to Length(S) do begin
Result := Result + ' ' + Copy(S, i, 4);
i := i + 4;
end;
end;

تاریخ پست برای 2 سال پیش هست !!!

moradian
جمعه 27 فروردین 1389, 18:35 عصر
Ok, ببخشید حواسم به تاریخ ارسال پست نبود
ممنون از یادآوریتان:چشمک: