PDA

View Full Version : سوال: کوتاه کردن یا کم کردن کد های برنامه



systam
سه شنبه 03 بهمن 1391, 20:14 عصر
سلام
برنامه تایمر کافی نته که عکسشو هم ضمیمه کردم
چون کد شروع و پایان تایم یکی و فقط نام کنترول ها باید فرق میکنه
باید یک جور کد هر رو بتوم بنوسیم که بشه تعداد خط های برنامه نویسی رو کاهش داد
شما دوستان چه راههایی رو پیشنهاد میکنید


باتشکر


یا علی

hosein320
سه شنبه 03 بهمن 1391, 20:30 عصر
سلام
میتونی بزاری تو یه تابع و چند تا کنترل از نوعی که نیاز داری داخل تابع تعریف کنی
مثلا

public function(pic as picturebox, lbl as label)
کد
مثال
pic.imagelocation=""
lbl.text="123"
end function

فرید نجفلو
سه شنبه 03 بهمن 1391, 22:29 عصر
سلام
من نمی دونم چه کدی نوشید ولی از تصویرتون یه چیز کاملا واضحه
تو تصویر تکرار کاملا مشهوده و مسلما شما نیاز به ساخت یوزر کنترل دارید ، یک یوزر کنترل به سبک یکی از GroupBox ها
با ایجاد اینکارخیلی از کد های تکراری شما هم حذف میشه
حالا خودتونم فکر کنید فردا واسه کافی نت یه سیستم دیگه هم اضافه شد چی؟
اگه کافی نت 50 سیستم داشت می خواید همش رو تو اون لیست و به اون شکل لیست کنید
اگه بتونید یوزر کنترل رو هوشمندانه بنویسید فقط با تعیین چند پارامتر لازم هر کدوم می تونن کار خودشون رو انجام بدن (کد همه یکیه)

systam
چهارشنبه 04 بهمن 1391, 11:35 صبح
سلام فرید جون
نه الان 4 تا کلاینت دارم شاید در آینده یک دیگه اضافه کنم
نهایتاً 5 تا چی خبره 50 تا اونوقت یک سالن میخواد برای این همه سیستم
یک مغازه 4در3 چند سیستم جا میشه ها زور بزنه 5 تا با سرور 6 تا
ممنونم از هردو دوست عزیز

-------------------------------------------------------------------------
من فرم یوزر کنترولم رو ساختم
کد های برنامه نوسیی رو به داخل فرمش بردم
باید کد نویسیش در خود فرم یورز باشه احتیاجی به کد نویسی داخل فرم اصلی نیست ؟
بعدیک سوال برام پیش اومد من اسم GroupBox ها رو گذاشتم سیستم 1 هر موقعی که اضافه میکنم اسمش همون سیستم 1 چیکارش کنم؟
باید حتما 6 تا یوزر کنترول بسازم یا احتیاج به کد نویسی داره

systam
چهارشنبه 04 بهمن 1391, 12:29 عصر
با این کد فرم های یوزر کنترول به برنامه اضافه میشه ولی روی همه
Dim gb As New UserControl1
gb.GroupBox1.Text = "سیستم 1"
gb.GroupBox1.Text = "سیستم 2"
gb.GroupBox1.Text = "سیستم 3"
gb.GroupBox1.Text = "سیستم 4"
gb.GroupBox1.Text = "سیستم 5"
gb.GroupBox1.Text = "سیستم 6"
For I As Integer = 1 To 6
Me.Controls.Add(gb)
Next

systam
چهارشنبه 04 بهمن 1391, 12:51 عصر
سلام درستش کردم
میخواستم ببینم نحوه کد نویسی درسته
Dim gb As New UserControl1
gb.GroupBox1.Text = "سیستم 1"
gb.Location = New System.Drawing.Point(29, 12)
Me.Controls.Add(gb)

Dim gb1 As New UserControl1
gb1.GroupBox1.Text = "سیستم 2"
gb1.Location = New System.Drawing.Point(29, 105)
Me.Controls.Add(gb1)

Dim gb2 As New UserControl1
gb2.GroupBox1.Text = "سیستم 3"
gb2.Location = New System.Drawing.Point(29, 198)
Me.Controls.Add(gb2)

Dim gb3 As New UserControl1
gb3.GroupBox1.Text = "سیستم 4"
gb3.Location = New System.Drawing.Point(29, 291)
Me.Controls.Add(gb3)

Dim gb4 As New UserControl1
gb4.GroupBox1.Text = "سیستم 5"
gb4.Location = New System.Drawing.Point(29, 384)
Me.Controls.Add(gb4)

Dim gb5 As New UserControl1
gb5.GroupBox1.Text = "سیستم 6"
gb5.Location = New System.Drawing.Point(29, 477)
Me.Controls.Add(gb5)

hosein320
چهارشنبه 04 بهمن 1391, 13:00 عصر
به نظرم از تو فرم اضافه کنی راحتتر باشی
کدنویستون هم درسته

systam
چهارشنبه 04 بهمن 1391, 16:08 عصر
سلام
اگه خواسته باشم توی فرم اضافه کنم پس باید تعداد یوزر کنرول ها رو افزایش بدم

SHD.NET
چهارشنبه 04 بهمن 1391, 16:50 عصر
اگ با حلقه ها اضافه کنی خیلی بیتره

فرید نجفلو
چهارشنبه 04 بهمن 1391, 19:57 عصر
سلام مجدد

نهایتاً 5 تا چی خبره 50 تا اونوقت یک سالن میخواد برای این همه سیستم
یک مغازه 4در3 چند سیستم جا میشه ها زور بزنه 5 تا با سرور 6 تااولا که تو برنامه نویسی سعی کن آینده نگر باشی
مگه چی میشه انقدر وضعت خوب بشه که بشه 50 تا یا بیشتر؟
حالا مال خودت نیست فرض یکی از همکارات از برنامه ات خوشش اومد و اونم خواست یا چندتای دیگه می خوای یکی یکی واسه همشون برنامه رو اختصاصی کنی؟
در ضمن اگه برنامه ات خوب و اصولی نوشته بشه ب ضرر کردی یا به جایی می خوره؟


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

systam
چهارشنبه 04 بهمن 1391, 20:40 عصر
سلام داش فرید

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

برای ریزو لیشن شما چه پیشنهای رو دارید

در مورد محل یوزر کنترلها:
روش های زیادی داریم و بسته به ابتکار عمل خودته
مثلا می تونی یوزر کنترل ها رو تو یه FollowControl اضافه کنی و ز اسکرول شدن راحت اون هم استفاده کنی
یا مثلا به اینم فکر آیا حتما نحوه نمایش سیستم ها باید به اون صورتی که درست کردی باشه؟ گرید هم خوب نیست؟
یکم بیشتر توضیح میدی

ممنون میشم راهنماییم کنید

فرید نجفلو
چهارشنبه 04 بهمن 1391, 23:52 عصر
برای ریزو لیشن شما چه پیشنهای رو دارید
یا پنجره ها رو با یه ریزولیشن پایینتر (عمومی تر) درست و فیکس کن یا از Anchor کنترل ها استفاده کن


یکم بیشتر توضیح میدی

درمورد اول شما یک FlowLayoutPanel استفاده می کنید که FlowDirection اون TopDown هست و AutoScrolll هم True
حالا هر کنترلی که به این پنل اضافه بشه بعد از آخرین کنترل قرار میگیره و اگه زیاد شدن اسکرول می شن

مورد دوم : یه گرید واسه نمایش به فرم اضافه می کنی و ران تایم واسه هر سیستم یک سطر هم میاری تا اطلاعاتش رو نشون بده
به نظر من دومی بهتره