چطوری می شه 2 تا دستور رو همزمان با هم اجرا کرد یعنی اینکه در حالی که اطلاعات کامند در حال اجرا هست طرف با زدن Stop حتی در زمانی که برنامه تو حلقه بینهایت افتاده باز هم برنامه رو متوقف کرد یعنی حالتی که سرچ ویندوز ایکسپی انجام می ده
Printable View
چطوری می شه 2 تا دستور رو همزمان با هم اجرا کرد یعنی اینکه در حالی که اطلاعات کامند در حال اجرا هست طرف با زدن Stop حتی در زمانی که برنامه تو حلقه بینهایت افتاده باز هم برنامه رو متوقف کرد یعنی حالتی که سرچ ویندوز ایکسپی انجام می ده
خب داخل حلقه یه if بزارنقل قول:
نمی شه ویژوال بیسیک هنگ می کنه قبلا همین کار شما رو تست کردم هنگ می کنه خودتون امتحان کنید اگر باور نداریدنقل قول:
کدهای برنامت رو بزار تا یه نگاهی بهش بندازم
comand1-clickنقل قول:
open text1.text for input #1 do until eof(1) input#1,a if a=text2.text then msgbox (a) exit sub end if loop end sub comand2-click exit sub end sub
عزیزم اگر کسی به شما یه هم چین خطی رو بده می فهمی؟؟؟نقل قول:
comand1-click
open text1.text for input #1 do until eof(1) input#1,a if a=text2.text then msgbox (a) exit sub end if loop end sub comand2-click exit sub end sub
اول غطا های کد رو درست کن بعد بفکر کار دیگه ای باش!! من کدت رو اصلاح کردم شد :
حالا میریم دنبال اجرای به دستور دیگه البته دیگه با کد بالا هیچ وقت به حلقه ی بینهایت نمی خورد اما این دستورات رو برای مواقع دیگتون می گم:کد:Private Sub Command1_Click()
Dim a As String
Dim search As Boolean
Open "c:\text1.txt" For Input As #1
While Not EOF(1) And search = False
Line Input #1, a
If a = Text1.Text Then
search = True
End If
Wend
Close #1
If search = True Then
MsgBox ("Find sucsse " + a)
Else
MsgBox ("Can't Finded")
End If
End Sub
دستورکد:ٍExit Do و دستور Exit For
شرمنده دوستم واقعا شرمنده شما من رو به بزرگیه خودتون ببخشید ولی من منظور شما رو نفهمیدم
خط فرمان صحیح این جوری هست
open text1.text for input #1
do until eof(1)
input#1,a
if a=text2.text then
msgbox (a
) exit sub
end if
loop
end sub
comand2-click
exit sub
end sub
اگر این کد مال vb6 باشه کلی غلط داره :کد:خط فرمان صحیح این جوری هست
open text1.text for input #1
do until eof(1)
input#1,a
if a=text2.text then
msgbox (a
) exit sub
end if
loop
end sub
comand2-click
exit sub
end sub
پس as کو!!!هم چنین باید فایل رو داخل "" قرار بدیکد:open text1.text for input #1
دستور شما باید با پایان فایل کارش تموم بشه اما این کد شما یه حلقه ی بینهایت ایجاد می کنه اگر اون چیزی به اون دادین روکه پیدا نکنه!!!کد:Open "c:\text1.txt" For Input As #1
که من با تعریف نقیض و یک متغییر boolen این مشکل رو حل کردم:کد:do until eof(1)
سوالی که پش می یاد اینه که آیا نمی شه از همون do استفاده کرد ؟ جوب میشه اما با یک نقیض !!!(من حقله ی while رو برای این کار ترجیه می دم)کد:While Not EOF(1) And search = False
اشکال کلی برنامه ی شما بعد از ایراد های نگارشی به بینهایت ار اجرا شدنشه که باید بعد از اتمام کار دیگه تموم کنه!!پس با استفاده از کدی که برات گذاشتم دیگه نیازی به ترکیب 2 برنامه هم زمان نداری!!!
کد صحیح:
خلاصه اینه که اگه می خواهی یه چیزی رو داخل یه فایل پیدا کنی از قطعه کد بالا استفاده کن!!!! اونی که داری درست کار نمی کنه!!!کد:Private Sub Command1_Click()
Dim a As String
Dim search As Boolean
Open "c:\text1.txt" For Input As #1
While Not EOF(1) And search = False
Line Input #1, a
If a = Text1.Text Then
search = True
End If
Wend
Close #1
If search = True Then
MsgBox ("Find sucsse " + a)
Else
MsgBox ("Can't Finded")
End If
End Sub
سلام دوست گلمنقل قول:
این دستور مشکلی نداره خورتون می تونید امتحان کنید
open text1 for input as #1
بله عزیزم الان که as رو اضافه کردی مشکی پیش نمی یاد داخل دستور اولی که گذاشته بودی خبری از AS نبود!!!بازم قبلا گفتم با دستور exit for یا exit do بطور مستقیم یا مثل مثالی برات گذاشتم با تعریف یک متغیر بولین در جنرال و تغییر محتوای اون در دکمه مورد نظرت این خاتمه دادن رو می تونی هر جای که خواست حتی داخل حلقه ی بینهایت انجام بدی!