ايران ويج

نسخه‌ی کامل: تقسيم صفحه بصورت دايناميك (واقعا سخته)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان

من كدي رو مي خوام كه وقتي بهش يك عددي رو ميدي صفحه رو به تعداد اون عدد به مربع هاي مساوي تقسيم كنه ، براي اينكه بهتر متوجه بشين كد زير رو نوشتم .
فقط اين كد مشكل داره كه تويه يه سري از عدد ها مربع ها از كادر ميزنه بيرون و اينكه تويه يه سري اعداد مربع ها خيلي كوچيك و فضاي خالي صفحه خيلي زياد ميشه دوستان شما چي پيشنهاد مي كنيد ؟

كد زير رو تويه فرم لود اضافه كنيد و يك ليبل به نام Label هم اضافه كنيد و ايندكسشو صفر بديد . متغير lngCount رو تغيير بديد و نتيجه رو ببينيد .

lngCount = 387
lngTotal = 716352
isCon = True
stepper = 0
Do Until isCon = False
lngDivide = lngCount + stepper
If lngTotal Mod lngDivide = 0 Then
lngMasahat = lngTotal / lngDivide
isCon = False
Exit Do
End If
stepper = stepper + 1
Loop
lngWi = Sqr(lngMasahat) * 15
lngLeft = 300
lngTop = 300
For i = 1 To lngCount
Load Label(i)
Label(i).Width = lngWi
Label(i).Height = lngWi
Label(i).Left = lngLeft
Label(i).Top = lngTop
Label(i).Visible = True
lngLeft = lngLeft + lngWi
If lngLeft > 984 * 15 Then
lngLeft = 300
lngTop = lngTop + lngWi
End If
Next

واقعا ممنون ميشم اگر سريعا جواب بديد خيلي فوريه
ببخشيد تگ كدو پيدا نكردم !
ممنون
میتونم بپرسم منظورت از این تقسیم کردن چیه؟
یا صفحه ای که داری مربع ها رو توش تقسیم میکنی چه اندازه ایه؟
یه هاشیش چقدره؟
صفحه مونيتور رو مي خوام تقسيم كنم متغير lngTotal مساحت كل فضاي مفيدي هست كه برنامه مي تونه در اونجا مربع ها رو رسم كنه ،
اندازه مربع ها رو بايد خود برنامه به صورت اتوماتيك محاسبه كنه !
تويه كد بالا عدد هاي 105 ، 118 ، 205 و ... رو به متغير lngCount كه همون تعداد مربع هاي درخواستي كاربر هست بديد تا مشكل كد رو ببينيد
فرمتون رو هم فول اسكرين كنيد تا همه صفحه استفاده شه !
ممنون
ولی من هنوز یه چیزی رو نفهمیدم...!
چطور می خوای برنامه برات مثلا یک صفحه مستطیل شکل رو به 5 تا مربع یه اندازه تقسیم کنه...!!!
خوب معلومه که یه مقداری از بعضی از مربع ها می زنه بیرون!!!
مهم نيست كه حالا سطر آخر جاي چند تا مربع خالي باشه ، مهم اينه كه مربع بتونن عرض و طول صفحه رو بپوشونن حالا اگر جاي چند تا مربع هم خالي بود اشكالي نداري ، اصلا شما كدو اجرا كني متوجه ميشي !
مگه نمیخای برنامت درست کار کنه ؟
اگر یک تیکش بزنه بیرون که دیگه فایده نداره خوب ؟
اگه بخوای خیلی دقیق کار کنی باید قید یه سری از اعداد رو بزنی ، کاریش نمیشه کرد ، مثلا کلا قید اعداد اول رو باید بزنی !
همچنین اگه یه نگاهی به اندازه صفحه بندازی ، میبینی همیشه نسبت طول صفحه به عرض صفحه یه مقدار ثابت ( 3/4 = 768 / 1024 ، 3/4 = 600 / 800 ، ... ) ، یعنی همون 3/4 که حدودا میشه 1.3 ، یعنی فقط با اعدادی مثل 108 که از حاصل ضرب 12 در 9 بدست میاد ( 3/4 = 9 /12 ) میتوی کل صفحه رو با مربع بپوشونی . حالا اگه نمی خوای خیلی دقیق کار کنی بجای 1.3 ، میتونی یه بازه تعریف کنی مثلا بین 1.2 تا 1.5 ...