PDA

View Full Version : خروج از يك كنترل



lm48390
شنبه 22 آبان 1389, 07:29 صبح
با سلام و خسته نباشيد
من فرمي دارم كه مشخصاتي مانند كد و شرح كالا را مي گيرد. كد و شرح نبايد خالي باشند ونيز كد نبايد تكراري باشدو من كنترل اين موارد را در رخداد valid textها قرار داده ام. مشكل من اين است كه اگر كاربر منصرف از ورود اطلاعات جديد شد اگر دكمه انصراف را بزند مدام برنامه valid textها اجرا و اجازه خروج از اين كنترلها را نمي دهد. چگونه مي توان اين كنترلها را داشت در ضمن اينكه با زدن دكمه اي مانند انصراف ، دستورات فوف اجرا نشوند؟ ممنون از پاسخ شما دوستان.

gh_khajehzade
شنبه 22 آبان 1389, 12:00 عصر
سلام-میتونید کد زیر را در رویداد valid قرار بدید.


IF this.Value<>'rrrr'
uu=MESSAGEBOX('اشتباه است آيا ميخواهيد تصحيح کنيد',3,0)
IF uu=6
RETURN .F.
ENDIF
ENDIF

amir_1351
یک شنبه 23 آبان 1389, 12:33 عصر
با سلام
يكي از كارهايي كه ميتوانيد انجام دهيد :
وقتي در قسمت معرفي كالا كاربر كد و عنوان را وارد نميكند فرض بر اين است كه قصد ادامه ندارد بنابراين بايد به اجازه دهيد تا فرم را ببندد.
if len(allt(thisform.text1.value)=0 and len(allt(thisform.text2.value))=0
retu
endif

jalal morevaj
یک شنبه 23 آبان 1389, 13:59 عصر
با سلام خدمت دوست عزيز
راه ديگر اين است كه در ابتداي Valid يك IF قرار دهيد كه با استفاده از تابع Readkey() يا Inkey() يا Lastkey() بررسي كند اگر كاربر كليد ESC را زده بود Return .T كند در غير اينصورت ساير كنترل ها را انجام دهد
باتشكر
جلال

amir.azimi2000
دوشنبه 24 آبان 1389, 10:25 صبح
با سلام و خسته نباشيد

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


با سلام .
من در فرمهایم به این شکل عمل میکنم و فکر میکنم استاندارد هم باشه .
کنترل خالی بودن و یا غیر معتبر بودن آبجکتها در خود همان آبجکت انجام نمیشود بلکه همه کنترلها را هنگامیکه کاربر کلید ثبت را فشار داد تست شده و در صورت نامعتبر بودن پیغامی مناسب نشان داده می شود سپس کنترل برنامه به آبجکت مورد نظر میرود .در نهایت اگر هیچ آبجکتی مشکل نداشت ادامه روند ثبت انجام میشود .
موفق باشید .

javad_1349
دوشنبه 24 آبان 1389, 10:45 صبح
با سلام و خسته نباشيد



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

سلام
تمامي موارديكه دوستان عرض نمودند خوب است ولي به نظر بنده اگر ميخواهي درهمان لحظه خروج آن را چك نماييد بهتر است در lostfocus بگذاري وحتي مي توني در text بعدي در ْgotfocus دستور چك كردن انجام دهي و به محض اينكه درست نبود دوبار text مورد نظر را فراخواني نماييد
thisform.text1.setfocs
يك راه حل ديكه اينكه در زمان ذخيره پيغامي مبني براينكه محتويات ورودي شما خالي است بگذاري
موفق باشيد