Fa چک کردن پر بودن تکس باکس ها

Ehssan_it

Well-Known Member
چنانچه در یک صفحه چند تکس باکس برای گرفتن رشته و عدد داشته باشیم و بخواهیم چک کنیم همه پر شده اند چه کار باید کرد ؟
( چک کردن تک تک تکست باکس ها ممکن ولی زمان بر و طولانیه )
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
میتونی تمام اونها رو بایه پیشوند نام گذاری و شماره گذاری کنی و با یه حلقه چک کنی
مثلا میتونی برای 10 تا تکس باکس اسم اونها رو بذاری tb1,tb2,...,tb10 و پر بودنش رو با یه حلقه مثل حلقه زیر چک کنی
کد:
For i=1 To 10
name$='tb'+CHAR(i)
If (name$='') Then
  ** Your action here
Else
  ** Your action here
End
Next i
 

Ehssan_it

Well-Known Member
چون تقریبا کارم با تکس باکس ها تموم شده نمی دونم تغییر اسمشون به برنامه لطمه میزنه یا نه ؟!
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
درود البته منظور من از نام گذاری ، نامگذاری بخش output بود که البته چون کل برنامه با اونها کار میکنه باید تغییرات لازم رو توی کد های برنامه خودتون بدید البته خیلی مهمه که شما از اول کار بدونید از برنامه چی میخوایید تا در آخر کار دچار مشکل نشید در ضمن خط دوم کد بالا رو به شکل زیر تغییر بدید :
کد:
name$='tb'+CHAR(i)+'$'
 

Ehssan_it

Well-Known Member
ممنون روش شما درسته ولی همونطور که گفتم کارم با تکس باکس ها تموم شده و نمی تونم از کد شما استفاده کنم
( هموم خیلی مهم ها رو چک می کنم کافیه !)
 

evil_gates

اين نيز بگذرد ...
دوست عزيز
با اجازه جناب peyman136 عرض ميكنم البته بهتر بود از روش ايشون استفاده مي‌كرديد و خروجي EditBox هاتون رو به ترتيب شماره گذاري مي‌كردين تا با يك حلقه بشه راحت تر وضعيتشون رو چك كرد.

اما حالا كه ميگيد برنامتون رو به اتمام هست و عوض كردن متغيرها هم امكان پذير نيست پيشنهاد ميكنم براي جلوگيري از نوشتن تعداد زيادي شرط از | در يك شرط استفاده كنيد:

کد:
If (x$='' | y$='') Then
  ** run some commands
Else
  ** run other commands
End
 

the_king

مدیرکل انجمن
میتونی تمام اونها رو بایه پیشوند نام گذاری و شماره گذاری کنی و با یه حلقه چک کنی
مثلا میتونی برای 10 تا تکس باکس اسم اونها رو بذاری tb1,tb2,...,tb10 و پر بودنش رو با یه حلقه مثل حلقه زیر چک کنی
کد:
For i=1 To 10
name$='tb'+CHAR(i)
If (name$='') Then
  ** Your action here
Else
  ** Your action here
End
Next i

به این شکل عملی نیست، حتی با اضافه کردن '$' + . دلیلش هم اینه که $name یک رشته ای است که شما
محتویاتش را مشخص می کنید، مثلا 'tb1$' . درست است که tb1$ خودش نام یک متغیر است، اما از نظر MMB
این صرفا یک رشته است که هیچگاه تهی نخواهد بود، یعنی شرط داخل حلقه همواره غیر تهی را نشان می دهد.

شخصا برای اینکه اسم ها را تغییر ندهید توصیه می کنم که یک رشته شامل اسم تمامی آنها را بنویسید و با #
از هم جدا کنید، مثلا :
کد:
s$ = 'EditBox#EditBox1#EditBox2#EditBox3#'
یا
کد:
s$ = 'address#title#price#telephone#'
و در ادامه از کد زیر استفاده کنید :
کد:
n = GetArrayNum(s$,#)
For i = 1 To n
  t$ = 't$ = ' + GetArrayItem(s$,#,i) + '$'
  RunScriptCode("t$","0")
  If (t$ = '') Then
    ** Your action here
  Else
    ** Your action here
  End
Next i
 

جدیدترین ارسال ها

بالا