سلام.
چه جوری میشه از Vb یه عدد با ترکیب حروف گرفت که رندوم انتخاب بشه؟مثلا طول این کاراکتر ها هم 6 تا
باشه؟
سلام.
چه جوری میشه از Vb یه عدد با ترکیب حروف گرفت که رندوم انتخاب بشه؟مثلا طول این کاراکتر ها هم 6 تا
باشه؟
شما مي توانيد 6 عدد رندم را پيدا كنيد و آنها را برابر با keycode قرار دهيد. براي اينكه كاركترهايي مثل اينتر را وارد نكند نيز بنويس اگر عدد رندم برابر keycode دكمه اينتر بو دوباره رندم بگيره
حتما میدونید که کد اسکی کاراکترها از 0 تا 255 هستن.
اعداد از 1 تا 31 مخصوص کلیدهایی مثل Enter و Delete و ... هستن.
حالا شما میخوای یه رشته 6 کاراکتری به صورت رندم تولید کنید.
برای اینکار باید 6 تا عدد پیدا کنید که از 32 تا 255 باشن (البته اگه بخواید تولید رشته رو هم محدود کنید، بازم این رنج محدودتر میشه). بعد با استفاده از تابع Chr این کدها رو به معادل کاراکتری شون تبدیل میکنید. و در آخر هم 6 تا حرف دارید که باید بذاریدشون کنار هم تا یه رشته بشن.
برای تولید اعداد توی یه رنج خاص من از این راه استفاده میکنم.
مثلا برای 32 تا 255 :
255-32=223
حالا با استفاده از تابع Rnd یه عدد رندم پیدا میکنیم که کوچیکتر یا مساوی 223 باشه. بعد اون عدد رو با 32 جمع میکنیم.
امیدوارم خوب توضیح داده باشم.
اقا.افتضاح توضیح دادید.
بزارید این جوری توضیح بدم:
1-کدی که یه رشته ی عددی 6 رقمی رو به صورت رندوم و بدون ممیز با ما بدهد.
2-کدی که مقدار علاوه بر موارد گفته شده در بالا شامل # و % و $ هم باشه.
امیدوارم متوجه شده باشید
یا حق.
من درست توضیح دادم. ایراد از شماست که تا حالا کار نکردید، و متوجه نمیشید.
من چمیدونستم که شما تا حالا با تابع Rnd کار نکردید.
ببین عزیز من، این تابع یه عدد بین 0 تا 1 میده. مقدار 0 میشه، ولی هیج موقع برابر با یک نمیشه.
حالا شما مثلا میخواید یه عدد صحیح بین 0 تا 9 بگیری. چیکار باید بکنید؟
از این کد استفاده میکنید.
اون رنج عددی ای هم که گفتم شامل تمام حروف میشه. حتی چیزایی که مطمئنا مایل نیستید تو نتیجه باشن.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثل اینا :
© ¨ § ¦ ʙ ¤ £ ¢
حالا به خودتون یه مقدار زحمت بدید و یه مقدار فسفر مصرف کنید، ببنید با توجه به این مطالبی که گفتم چطوری میتونید یه کد 6 حرفی از حروفی که به صورت رندم تولید شدن ایجاد کنید.
اگه نتونستی، اون موقع بگو، بازم بیشتر راهنماییت کنم!!!. البته فکر کنم، دیگه باید کد رو به صورت کامل براتون بنویسم.
![]()
پس از 10 دقیقه فسفر سوزوندت فهمیدم.
حالا فقط 2 تا مشکل دارم:
چی کار کنیم تا حروف فارسی توی رشته ای که میخواهیم بسازیم نباشه؟
2-تابع rnd چه جوری محدود میشه؟
البته من يه چيزي بگم اينكه تمام كاركترهاي كامپيوتر 256 تا نيست.
مثلا من در موقع نصب ويندوز تمام زبان هاي آسياي شرقي را فعال كردم پس اين ها هم جز كاركترها حساب ميشه.
شما مي توني دامنه كاركتر هاي مورد نظرتون را پيدا كنيد و بين آنها رندوم بديد.
بله تایید میشه.
بفرمایید
اینم کدی که خواستید
کمتر از 10 دقیقه شد.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فقط یه توضیحی بدم.
اون رشته ی st ، کل کاراکترهایی رو که می خواید توی رشته ی نهایی باشن، اونجا بدون فاصله بنویسید.
اون حلقه اول هم برای این گذاشتم که کاراکترها تکراری انتخاب نشن.
اگه حذف بشه، هر بار که این کد اجرا بشه، یه رشته یکسان میده.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)