View previous topic :: View next topic |
Author |
Message |
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Wed Sep 27, 2006 9:49 am Post subject: ساخت InputBox و... |
|
|
چه جوري ميشه يك فرم دزست كرد كه مثل inputbox يا msgbox عمل كنه
يعني تا دريافت اطلاعات صبر كنه
از حلقه هاي بينهايت استفاده كردم كه تا وقتي اطلاعات كامل شد صبر كنه ولي سيستم هنگ ميكنه
|
Function data()as string
While true
if datafull then
return textbox.text
End iF
End While
return ""
End Function
|
قراره اين كد تا وقتي كه dataFull برابر True بشه منتظر بماند (بچرخد)
وقتي true شد متن داخل textbox را برگرداند
ولي كار نميكنه |
|
Back to top |
|
|
vahid بي تو هرگز
Joined: 26 Nov 2004 Posts: 3067 Location: Tehran
|
Posted: Wed Sep 27, 2006 3:47 pm Post subject: |
|
|
يه فرم مي سازي ... بعد اونجايي كه مي خواي از msgbox استفاده كني فرم رو نشون مي دي ... به همين راحتي . |
|
Back to top |
|
|
arash مدير بخش سي
Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
|
Posted: Thu Sep 28, 2006 9:32 am Post subject: |
|
|
یک تکسی باکس و یک دکمه رو صفحه بزار و کد زیر رو تست کن
|
Private Function return_string() As String
Dim str As String
Do
str = InputBox("Enter string :", "Enter string ")
Loop Until str <> ""
Return str
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = return_string()
End Sub
|
|
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Sat Sep 30, 2006 9:22 am Post subject: |
|
|
توجه كنيد :
يك Sleep ميخواهيم كه كل پروژه را از كار نندازه مثل يك Timer عمل كنه ولي خود Sleep فايده نداره بقيه برنامه از كا مي افتد |
|
Back to top |
|
|
arash مدير بخش سي
Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
|
Posted: Sat Sep 30, 2006 11:20 pm Post subject: |
|
|
واضح بگو چی می خوایی
مگه این کدی که گزاشتم پروژت رو از کار می اندازه
اگه تایمر می خوایی از خود تایمر استفاده کن
اگه می خوایی از تایمر به شکل خاصی استفاده کنی بگو ببینم می تونم کاری کنم
(کامل بگو می خوایی چی کار کنی )
اگه مشکلت ورود اطلاعات خوب فرم مربوط به ورود اطلاعات رو از پروژه جدا کن باقی فرم ها رو هم از کار بنداز |
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Fri Oct 06, 2006 3:02 pm Post subject: |
|
|
خلاصه اينكه چه جوري ميشه Thearde ساخت و قسمتي از برنامه رو از Thearde اصلي برنامه خارج كرد |
|
Back to top |
|
|
arash مدير بخش سي
Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
|
Posted: Sat Oct 07, 2006 7:41 am Post subject: |
|
|
موظعت رو مشخص کن
سوالت سیستم عاملی یا داری وی بی می پرسی
با NET. قسمت کار کردن با Thearde وجود داره ( خودش دو سه تا کتابه )
اما با vb6 رو نمی دونم |
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Sat Oct 07, 2006 9:08 pm Post subject: |
|
|
بابا vb6 مرد الان vb2005 موسوم به vb8 موضوع كاره
چه جوري ميشه
؟؟؟؟؟؟؟؟؟؟؟ |
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Sun Oct 15, 2006 2:40 pm Post subject: |
|
|
اين كد ساخت thread است همزمان دو تابع را اجرا ميكنه
وقتي تابع به Start رسيد تابع معرفي شده در t اجرا ميشه همزمان تابع اصلي
هم در حال اجراست وقتي به Join رسيد متوقف ميشه تا كار تابع دوم تموم بشه
(اگر تابع دوم تموم نشده بود )
نكته : Thread.Sleep ربطي به t نداره فقط براي اتلاف وقت است
|
Imports System
Imports System.Threading
Public Class ThreadExample
Public Shared Sub Main()
Dim t As New Thread(AddressOf ThreadProc)
t.Start() 'Start Thread
Dim i As Integer
For i = 1 To 4
Thread.Sleep(10)
Next
t.Join() 'Wait until Finish ThreadExample And Join
End Sub
Public Shared Sub ThreadProc()
Dim i As Integer
For i = 0 To 9
Thread.Sleep(10)
Next
End Sub
End Class
|
جهت درك بهتر در زمان debug با زدن دگمه هاي Ctrl+Alt+H پنجره thread را باز كرده
و بين Thread ها Swich كرده مشاهده كنيد چه جوري مكان debug عوض مي شود و تابع بعدي را اجرا ميكند |
|
Back to top |
|
|
vahid بي تو هرگز
Joined: 26 Nov 2004 Posts: 3067 Location: Tehran
|
Posted: Mon Oct 16, 2006 3:25 pm Post subject: |
|
|
دستت درد نكنه ...
اين رو چه جوري بايد اجرا كنيم ؟ ( يعني فراخواني كنيم )
بعد t.join چيه ؟ |
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Tue Oct 17, 2006 8:16 am Post subject: |
|
|
با فراخواني Main :
اين برنامه فقط دو حلقه For را اجرا ميكنه و خيلي سزيع تموم ميشه اگر توي متد Main روي t.Start يك BreakPoint قرار بدي ميتوني با كمك پنجره Theard ببيني چهجوري كار ميكنه
T.join :متد Main وقتي به اين مورد ميرسه متوقف ميشه تا T كارش تموم بشه مثل اينكه از اينجا به بعد برنامت به مقاديري احتياج داشته باشه كه در متد ThreadProc حاصل ميشن اگر نذاري هم ميشه ولي وقتي به آخر متد برسه همين اتفاق مي افته |
|
Back to top |
|
|
arash مدير بخش سي
Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
|
Posted: Tue Oct 17, 2006 11:49 pm Post subject: |
|
|
پروسیجری که می خوایی به شکل ترد تعریف بشه نباید حتما Public Shared باشه ولی باید حتما PROCEDURE باشه
بیشتر این دستور زمانی کاربرد داره که به طور هم زمان بخوایی دو تا برنامه اجرا بشن بدون اینکه روی همدیگه اثر بگزارن
فقط من موندم که اگه از برنامه ای مثل ساعت کمک بگیریم چه مشکلی پیش می یاد اونم برنامه رو به صورت موازی ( تقریبا ) جلو می بره
این مساله تو بازی ها یا برنامه های سنگین که می خوان هم زمان به نظر بیان به درد می خوره درسته |
|
Back to top |
|
|
emsii دوست آشناي سايت
Joined: 16 Dec 2005 Posts: 90 Location: tehran
|
Posted: Wed Oct 18, 2006 10:47 am Post subject: |
|
|
اگر در مورد اساس كار AddressOf تحقيق كني متوجه مي شي كه روش كار صدا كردن Procedure چه جوريه حالا يك محدوديت ديگه هم من به اوونايي كه گفتي اضافه ميكنم
(نبايد Procedure انتخابي شما ورودي داشته باشه !)
موارد مصرفي :
ميدوني يك برنامه طولاني تمام فضاي سيستم را اشغال نميكنه و ميتواني همزمان يك برنامه ديگه رو با اين اجرا كني و منتظر نشي برنامه تموم بشه
مثل پر كردن اطلاعات دو جدول به صورت همزمان در يك فرم |
|
Back to top |
|
|
arash مدير بخش سي
Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
|
Posted: Wed Oct 18, 2006 10:25 pm Post subject: |
|
|
من تو قسمت چت به این مساله بر خورد کردم ( نوشتن برنامه مسنجر )
فکر نمی کردم اینجا به درد خوره |
|
Back to top |
|
|
|