PDA

View Full Version : صفحه شطرنجي



PMTornado
دوشنبه 02 دی 1392, 22:17 عصر
سلام دوستان

ميخواستم تكست هاي زير رو بصورت شطرنجي در بيارم كه نشد :

از Mod استفاده كردم كه به يه مشكل برخورد كردم . روش ديگه اي هم به ذهنم نرسيد ...

وقتي Text1 رو عدد فرد وارد ميكنم مشكلي نداره و با كد زير اين شكل توليد ميشه :



For X = 1 To (text1*text1)
If X Mod 2 = 0 Then
txt1(X).BackColor = &HC0C0C0
Else
txt1(X).BackColor = &H80000005
End If
Next X


http://s5.picofile.com/file/8105373976/Chees1.jpg

اما وقتي text1 رو عدد زوج وارد ميكنم اين شكل توليد ميشه :


http://s5.picofile.com/file/8105374026/Chees2.jpg

اگه كسي از حرفام سر در آورد كمكم كنه :قلب:

SlowCode
دوشنبه 02 دی 1392, 22:45 عصر
For X = 0 To (text1 * text1) - 1
If X Mod 2 = 0 Then
txt1(X).BackColor = &H80000005
Else
txt1(X).BackColor = &HC0C0C0
End If
Next X

این کد مشکلی نداره. احتمالا چیدمانت درست نیست! تو خط اول از ایندکس 0 تا مثلا 8 رو بچین، بعد ایندکس 9 تا 17 رو از خط بعدی شروع کن و ...

PMTornado
دوشنبه 02 دی 1392, 22:58 عصر
نه داداش مشكل اون نيس.
تو اين روشي كه شما گفتي بازم تكست هاي ايندكس زوج زير هم ميوفتن و ايندكس فرد ها هم زير هم ...
با Mod بنويسم بازم همون شكلي درمياد كه بالا گذاشتم . يه چيز ديگه ... اينكه تكست ها از 1 شروع ميشن . تكست ايندكس صفر مخفي ميشه
Txt(0).visible=False
اين كل برنامم . اگه كسي بتونه اين يه مشكلو حل كنه كمك كنه :) ممنون

Download (http://s5.picofile.com/file/8105379300/Chees.rar.html)

vbhamed
سه شنبه 03 دی 1392, 15:12 عصر
سلام
من متوجه نشدم تايمر رو براي چي گذاشتيد ولي بهرحال اين كد اصلاح شده شما، نيازي هم به تايمر نداره

PMTornado
سه شنبه 03 دی 1392, 17:38 عصر
تايمرو بخاطر زيبايي چيدمانش گذاشتم كار خاصي انجام نميده
بهرحال ممنون .

vbhamed
چهارشنبه 04 دی 1392, 08:54 صبح
سلام
خب مي‌تونيد داخل حلقه For هم از تابع Timer استفاده كنيد تا تاخير ايجاد كنيد و همون حالت رو به وجود بياريد
اينم يك نمونه كه براي رسم هر خونه 0.05 ثانيه تاخير ايجاد مي‌كنه
Dim t!
t = Timer
While Timer < t + 0.05: DoEvents: Wend