PDA

View Full Version : سوال: نحوه ایحاد فرم به صورت شطرنجی



hosein3000
جمعه 27 بهمن 1391, 16:00 عصر
سلام دوستان
می خوام چند تا از فرم ها رو به صورت کامل مثل تصویر زیر شطرنجی کنم به نظرتون جطوری می تونم انجامش بدم؟
البته نمی خوام از عکس استفاده کنم می خوام خود فرم به صورت شطرنجی باشه
مرسی

as987498749874
جمعه 27 بهمن 1391, 16:08 عصر
فقط شکل صفحه شطرنجی برات مهمه یا خطها باید شناسایی بشه

hosein3000
جمعه 27 بهمن 1391, 16:44 عصر
با تشکر
نه اون خطها رو نمی خوام
می خوام صفحه بصورت بالا با رنگ ابی شطرنجی بشه عین صفحه های شطرنجی کاغذی

رامین مرادی
جمعه 27 بهمن 1391, 16:57 عصر
خوب با دوتا حلقه می تونی این کار رو بکنی
با حلقه اول خطوط عمودی و با حلقه دوم خطوط افقی رو ترسیم کنید کد زیر این کار رو میکنه

me.autopreveiw=true
for i=0 to me.scealhigte step 50
me.line (0,i)-(me.whigt,i)(vbblue)
next
for i=0 to me.scealwhigt step 50
me.line (i,0)-(i,higte)(vbblue)
next



ببخشید که پر از غلط املایی شد آخه تو نت پد نوشتم ربانم هم ضعیفه اگه مشکلی بود بگید.

saber67
جمعه 27 بهمن 1391, 18:18 عصر
با اجازه vb-proj من کدشون رو غلط (املایی) گیری کردم
نتیجه:

Private Sub Form_Load()
Dim i As Long
Me.AutoRedraw = True
Me.ForeColor = vbBlue
For i = 0 To Me.ScaleHeight Step 240
Me.Line (0, i)-(Me.Width, i)
Next i
For i = 0 To Me.ScaleWidth Step 240
Me.Line (i, 0)-(i, Me.Height)
Next i
End Sub

vbhamed
جمعه 27 بهمن 1391, 18:37 عصر
سلام

با اجازه saber67 (http://barnamenevis.org/member.php?179013-saber67) عزيز من اصلاحش مي كنم
Private Sub Form_Resize()

AutoRedraw = True

Dim i&

ForeColor = 16750230
For i = 0 To Height Step 250
Line (0, i)-(Width, i)
Next

For i = 0 To Width Step 250
Line (i, 0)-(i, Height)
Next

End Sub

SlowCode
جمعه 27 بهمن 1391, 19:44 عصر
سلام

با اجازه آقا حامد کوتاه ترش میکنم:کف:
Private Sub Form_Resize()

AutoRedraw = True
Cls

For i = 0 To ScaleHeight Step 250
Line (0, i)-(Width, i), vbBlue
Next

For i = 0 To ScaleWidth Step 250
Line (i, 0)-(i, Height), vbBlue
Next

End Sub

saber67
جمعه 27 بهمن 1391, 19:59 عصر
سلام

با اجازه آقا حامد کوتاه ترش میکنم:کف:
Private Sub Form_Resize()

AutoRedraw = True
Cls

For i = 0 To ScaleHeight Step 250
Line (0, i)-(Width, i), vbBlue
Next

For i = 0 To ScaleWidth Step 250
Line (i, 0)-(i, Height), vbBlue
Next

End Sub

محسن جان نمی خوام تو کارت فضولی کنما، اما چه اصراری داری همیشه کد کوتاه ترین شکل ممکن رو داشته باشه؟

خب این کد شما رو اگه تو فرمی بزاریم که Option Explicit داشته باشه (که من همیشه فعال می زارم) اونوقت میگه این " i " چی بیده!!؟
چه کاریه اصلا؟ تعریف بشه بهتر نیست؟

SlowCode
جمعه 27 بهمن 1391, 20:15 عصر
نه صابر جان فضولی چیه.
به نظر من هم چه نیازی که الکی کدها رو زیاد کنیم؟ تعریف متغیر تو برنامه های کوچیک کار اضافی هست.
یا مثلا اینکه بنویسیم me.scalewidth اینا اشتباه نیستن ولی اضافه هستن:لبخند:

اما چه اصراری داری همیشه کد کوتاه ترین شکل ممکن رو داشته باشه؟
خب کد هرچقدر کوتاه باشه فهمش ساده تره و بهتر تو ذهن میمونه(البته این مورد بیشتر واسه مبتدی ها صادقه:لبخند: منم مبتدی هستم دیگه)
تقصیر وب نویسیه دیگه! آدم مجبور میشه واسه اینکه حجم بارگزاری بیاد پایین کوتاه تر می نویسه، فضاهای خالی رو حذف میکنه:لبخند:
البته اون پست رو بیشتر واسه مزاح فرستادم.:لبخند:

vbhamed
شنبه 28 بهمن 1391, 00:48 صبح
سلام
خب اگر قرار به كم شدن كد باشه اينم ميشه، مقدار رسم اضافي هم اصلا چيز مهمي نيست ولي اصوليش اينه كه متغيرها تعريف بشن
Private Sub Form_Resize()

AutoRedraw = True

Dim i&, s&

ForeColor = 16750230
s = IIf(Width > Height, Width, Height)

For i = 0 To s Step 250
Line (0, i)-(s, i)
Line (i, 0)-(i, s)
Next

End Sub