PDA

View Full Version : سوال: تابع Check Validation



سمانه علوی فر
یک شنبه 22 آذر 1388, 10:32 صبح
با سلام به دوستان

آیا برای تعیین سلامت داده های ورودی توسط کاربر تابع global ای را پیشنهاد می کنید؟ یا در هر فرم به طور جداگانه چک شوند؟

مثال زیر:

به طور محلی چک شود:


If Trim(txtCode.Text) = "" Then
MsgBox("كد را وارد نكرده ايد", vbCritical, "205")
txtCode.Focus()
CheckValidation = False
Exit Function
End If



البته اگر این تابع را در ماژول بنویسیم افزونگی کد بالا می رود و عملا فایده ای ندارد
برای این منظور چه پیشنهادی دارید دوستان؟
لطفا........

saeeedft
یک شنبه 22 آذر 1388, 10:46 صبح
شما اگر global درنظر بگیرید که قطعا بهتره

Computer.Programmer
یک شنبه 22 آذر 1388, 12:21 عصر
با سلام به دوستان

آیا برای تعیین سلامت داده های ورودی توسط کاربر تابع global ای را پیشنهاد می کنید؟ یا در هر فرم به طور جداگانه چک شوند؟

مثال زیر:

به طور محلی چک شود:


If Trim(txtCode.Text) = "" Then
MsgBox("كد را وارد نكرده ايد", vbCritical, "205")
txtCode.Focus()
CheckValidation = False
Exit Function
End If



البته اگر این تابع را در ماژول بنویسیم افزونگی کد بالا می رود و عملا فایده ای ندارد
برای این منظور چه پیشنهادی دارید دوستان؟
لطفا........

در صورتی اعتبار سنجی داده های شما در همه جا یکسان است من استفاده از یک تابع عمومی را پیشنهاد می کنم

و اگر من جای شما بودم برای چک کردن رشته خالی به این صورت عمل می کردم:




If String.IsNullOrEmpty(Me.Text) Then
End If

saadi2
یک شنبه 22 آذر 1388, 16:32 عصر
امیدوارم منظورتونو درست فهمیده باشم

اگه جوابتون این نیست بیشتر توضیح بدید

به نظر من بهتره که یک تابع گلوبال تعریف کنید بعد در کل برنامه ازش استفاده بشه که باعث کمتر شدن کدها میشود

سمانه علوی فر
سه شنبه 01 دی 1388, 11:50 صبح
امیدوارم منظورتونو درست فهمیده باشم

اگه جوابتون این نیست بیشتر توضیح بدید

به نظر من بهتره که یک تابع گلوبال تعریف کنید بعد در کل برنامه ازش استفاده بشه که باعث کمتر شدن کدها میشود


موردی که من باهاش اینجا مواجهم اینه که یه پروسه ذخیره دارم که قبل از ذخیره باید اعتبار داده ها بررسی بشه برای اینکه کدها خوانا تر بشه تابع checkvalidatin و save را جدا نوشتم حالا برای اینکه بتونم ذخیره رو انجام بدم باید تابع checkvalidatin یک مقدار بولین برگردونه اگر درست بود save اجرا بشه وگرنه اجرا نشه
با توجه به این توضیحی که دادم تابع checkvalidatin باید این طوری باشه:





If Trim(txtCode.Text) = "" Then
MsgBox("كد را وارد نكرده ايد", vbCritical, "205")
txtCode.Focus()
CheckValidation = False
Exit Function
End If


وقتی پای این متغیر میاد وسط دیگه داستان یه طوری می شه که نمی شه کد رو گلوبال کرد


ایده خاصی ندارید؟؟؟

armin8651
سه شنبه 01 دی 1388, 13:13 عصر
همه کنترل ها روی داده های ورودی بهتره تو یه کلاس جداگانه انجام بگیره. ( مثل معماری سه لایه)

سمانه علوی فر
سه شنبه 01 دی 1388, 14:04 عصر
همه کنترل ها روی داده های ورودی بهتره تو یه کلاس جداگانه انجام بگیره. ( مثل معماری سه لایه)

خوب این یعنی چی؟

armin8651
سه شنبه 01 دی 1388, 18:52 عصر
خوب این یعنی چی؟

اینجا یک نمونه برنامه معماری سه لایه گذاشتم.
http://barnamenevis.org/forum/showthread.php?t=195652

دقت کن که تو این برنامه داده ها از فرم ثبت به یک کلاس (BLreshte و BLsabt) میرن و اونجا درستی داده های ورودی چک میشه و بعد تو دیتابیس ذخیره میشه. این نمونه ساده هستش.

saadi2
سه شنبه 01 دی 1388, 23:55 عصر
من برنامه رو طبق خواسته شما تغییر دادم اما چون دیدم که با شی گرایی زیاد آشنا نیستید از 2 روش معمولی و شی گرا استفاده کردم.

دقت کنید که راهکار به شما نشان داده میشود اما این خود شما هستید که باید کدهارا طبق نیاز خود تغییر دهید و این کار فقط با کمی تفکر قابل حل است.

موفق باشید

سمانه علوی فر
چهارشنبه 02 دی 1388, 10:34 صبح
من برنامه رو طبق خواسته شما تغییر دادم اما چون دیدم که با شی گرایی زیاد آشنا نیستید از 2 روش معمولی و شی گرا استفاده کردم.

دقت کنید که راهکار به شما نشان داده میشود اما این خود شما هستید که باید کدهارا طبق نیاز خود تغییر دهید و این کار فقط با کمی تفکر قابل حل است.

موفق باشید



مرسی

براتون زحمتی می شه اگر یه توضیح بدین راجع به این که کلاس contact رو به چه منظور نوشتین و این کلاس دقیقا چه کاری انجام میده؟