سلام
یک الگوریتم می خواهم به این منظور که هر عدد 10 رقمی یا کمتر را که وارد می کنم بعد از اینتر زدن 15 رقم بشه
یعنی هر چی که کم داره ماقبلش صفر قرار بگیره
Printable View
سلام
یک الگوریتم می خواهم به این منظور که هر عدد 10 رقمی یا کمتر را که وارد می کنم بعد از اینتر زدن 15 رقم بشه
یعنی هر چی که کم داره ماقبلش صفر قرار بگیره
روند و الگوريتم كار رو ميخواي يا برات با زبان دلفي بنويسم و بزارم؟
سلام
مي خواهي جاي نگه هش داري يا بعد از زدن Enter توي همان احتمالا(Edit) كه هستش 15 رقم بشه؟
سلام ...نقل قول:
سلام
یک الگوریتم می خواهم به این منظور که هر عدد 10 رقمی یا کمتر را که وارد می کنم بعد از اینتر زدن 15 رقم بشه
یعنی هر چی که کم داره ماقبلش صفر قرار بگیره
براي اين كار بايد اول تعداد عددهايي كه وارد مي شه رو بشماري ، بعد عدد بدست اومده رو از 15 كم كني و بعدش به تعداد بدست اومده قبلش صفر بزاري ...
مثلا:
اگه عدد داخل يه Edit وارد می شه ( که فکر کنم همینطوره ) باید اینجوری بنویسی :
با کد بالا تعداد حرفها یا عددهای داخل یه Edit رو بدست می یاری ( برای Label هم همینجوریه ) ...کد:var
N: Integer;
begin
N:= Edit1.GetTextLen;
حالا باید تعداد بدست اومده رو از 15 کم کنی :
یه متغیر دیگه هم از نوع Integer تعریف می کنی که حاصل این تفریق بهش داده بشه ، این جوری :
حالا که تعداد صفرهای موردنیاز بدست اومده باید به اندازه اون صفر بزاری ...کد:var
N: Integer;
M: Integer;
begin
N:= Edit1.GetTextLen;
M:= 15-N;
که این هم توی یه حلقه امکان پذیره ( یه متغیر دیگه از نوع Integer باید تعریف بشه ) :
کلش می شه این طوری :کد:for i:= 1 to M do
begin
Edit1.Text:= '0'+Edit1.Text;
end;
اگه بازم مشکلی بود بگو تا یه نمونه برات آپلود کنم ...کد:var
N, M, i: Integer;
begin
N:= Edit1.GetTextLen;
M:= 15-N;
i:= 1;
for i:= 1 to M do
begin
Edit1.Text:= '0'+Edit1.Text;
end;
Label1.Caption:= IntToStr(Edit1.GetTextLen);
end;
موفق باشی ...
سلام ...
براي اينكه به مشكل بر نخوري بايد چندتا كد ديگه هم بنويسي ( از جمله اين كه Edit شما فقط عدد قبول کنه ) ، واسه همین گفتم یه نمونه برات آپلود کنم ...
اینم لینکش :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشی ...
mahmood_n
واقعا ازت ممنونم
خواهش مي كنم ...نقل قول:
mahmood_n
واقعا ازت ممنونم
وظيفه بود ...
موفق باشيد ...
سلام:
نميخواهم بگم كه كد بالا اشتباه اما به نظر من بايد از تمام امكانات يك زبان استفاده كرد و مد رو تا جاييكه ممكن ساده و كوتاه بنويسم كد زير خلاصه شده تمام كد هاي بالاستنقل قول:
نوشته شده توسط Mahmood_N
Mahmood_N جان كدت درسته ها
i:integerکد:for i:=15 downto StrLen(PAnsiChar(Edit1.text)) do
Edit1.Text:='0'+Edit1.Text;
Edit1:=محل قرار گيري عدد
سلام ...
دستت درد نكنه ...
راهنمايي خوبي بود ...
من بلد نبودم ، ببخشيد ، وگرنه اون همه كد نمي نوشتم ...
ولي يه چيز ديگه :cool:
اگه به I مقدار 15 رو بدید تعداد عددهای Edit می شه 16 ولی اگه 14 بدید می شه 15 :
بازم تشکر می کنم ...کد:for i:=14 downto StrLen(PAnsiChar(Edit1.text)) do
Edit1.Text:='0'+Edit1.Text;
چیز جالبی یاد گرفتم ...
موفق باشید ...
سلام:
Mahmood_N جان دست درد نكنه
اولا:
همه تو براي اين اينجا جمع شدن تا داشته هاشون بهم ياد بدن و مشكلات هم رو حل كنند.
دوما:
ديشب بعد پست زدن فهميدم كه 16 تا چاپ ميكنه حالشم نداشتنم درست كنم.
مي خواستم صبح درست كنم كه تو زحمتشو كشيدي
دست درد نكنه.
سوما:
گفتم كه دقيقا كد تو ولي يه خورده كمتر