برگزیده های پرشین تولز

آموزش ویژوال بیسیک برای دوستداران دانش برنامه نويسی ويژوال بيسيک

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
به نقل از saalek :
.
در وي بي كار با متغير ساده است و وي بي خيلي مهربان است در اين مورد. مثلا شما مي توانيد بدون تعريف متغير هم از آن استفاده كنيد ولي در اكثر زبانها چنين نيست. اگر مي خواهيد مثل بقيه زبانها بشه اين مورد، كلمه option expilicit را بالاي همه كدها بيافزاييد يا برويد به option وي بي و تيك مربوطه را بزنيد.
اگر يكي از اين دو كار را بكنيد ، آنگاه مثل ساير زبانها بايد اول متغير را معرفي كنيد و بعد استفاده كنيد. مثل دستور زير معرفي كنيد.
.


اگه فرض کنی وی بی هم این قابلیت نداره خیلی بهتره چون بعدا خیلی برات دردسر ساز میشه پس همشه اول option expilicit فعال کن که بعدا ویبی بهت گیر نده:lol: :lol:
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از saeed_vb :
اگه فرض کنی وی بی هم این قابلیت نداره خیلی بهتره چون بعدا خیلی برات دردسر ساز میشه پس همشه اول option expilicit فعال کن که بعدا ویبی بهت گیر نده:lol: :lol:
درسته.
يك موردش كه از كتاب آقاي احساني نقل مي كنم اينه.
فرض كنيد متغيري داريد به نام
saalek
بعد اشتباهي بجاش بنويسد
salek
اگر آپشن اكسپليسيت را نگفته باشيد، وي بي فرض مي كنه كه اين يك متغير جديده و هيچي به شما نمي گه و شما هم متوجه اشتباه تايپي خود نمي شويد و بعدش بايد 3 ساعت وقت بگذاريد كه بفهميد چرا عدد ذخيره شده در اين متغير چرا دو جور عمل مي كنه.
.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
باسلام.
اولا بگم كه براي انداختن ابزاري از جعبه ابزار به روي فرم دو راه وجود دارد. يكي با دابل كليك ابزار كه اتوماتيك ميافته مركز فرم. دومي با يك كليك روي ابزار مربوطه و بعد ترسيم ابزار روي فرم.

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

اما براي اين كه مثلا 3 اپشن باتن جزوي از يك فريم بشوند ، بايد اپشن باتن ها در فريم متولد بشوند. براي اين كار اول شما يك فريم رسم كنيد و بعد آپشن باتن ها را درونش رسم كنيد.


a4.gif


حالا من دو فريم مي كشم و هر يك شامل تعدادي آپشن باتن. و يكسري اپشن باتن هم ميريزم روي فرم كه خودشان يك گروه محسوب مي شوند.


a5.gif


.
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
ساده ترين كاري كه با تايمر ميشه كرد ساختن يك ثانيه شماره.
يك تايمر و يك تكست باكس بياندازيد روي فرم و بعد از پنجره پراپرتي ، اينتروال تايمر را 1000 كنيد ، بعد كد زير را paste كنيد داخل پنجره كد.

کد:
Dim a As Integer
Private Sub Timer1_Timer()
a = a + 1
Text1.Text = a
End Sub

نتيجه اش اينه كه يك تكست باكس روي فرم داريد كه از يك شروع مي كنه و ثانيه مي شمارد.

براي اينكه مثل آن بازي كه گفتم تايمر چيزي را چك مي كرد نتوانستم چيزي جور كنم.
فرق داركتوري با فايل هم واضحه. يكي پوشه را مديريت مي كنه ديگري فايل را. در آموزش وي بي مجيد طرز استفاده از اينها را گفتم . وقت كرديد آن پست را بياريد اينجا.

راجع به كار shape هم تا اونجا كه من مي دونم كار خاصي نيست ولي مسلمه با بازي باهاش ميشه كارهاي قشنگي كرد. راستي خود فرم هم مي تونيم ويش دايره و مستطيل بكشيم.
در پنجره كد راست كليك كنيد و آبجكت بروسر را برگزينيد. بعد در محل سرچ بنويسيد form و اينتر كنيد. صفات(پراپرتي) و متدها و رويدادهاي فرم را خواهيد داشت. آنجايي كه اين 3 را داريد راست كليك كنيد و گروپ ممبر را كليك كنيدتا اعضاي اين سه گروه پيش هم قرار بگيرند. نكرديد هم نكرديد. مهم اينه كه ببينيد كه line و circle وخيلي چيزاي ديگه را براي فرم داريد.
.
در مورد data base ، بايد بدانيد كه هم وي بي خودش مي تونه ديتا بيس بسازه و هم مي تونه ديتابيس هايي كه با نرم افزارهاي ديگه ساخته شده را باز كنه. و خيلي از وي بي در اين مورد به شكل تجاري فكر كنم استفاده ميشه. مثلا دانشكده شما ممكنه كه اطلاعات شما را در ديتابيس ريخته باشه و با وي بي آنها را نگاه مي كنه.
در تاپيك (( ويژوال بيسيك و ارتباط با ديتابيس)) من و دوستان كمي بحث كرده ايم. و آموزش مختصر اكسس من هم در مجيد مي تواند به شما كمك كند.
در تمامي سئولات بالا من مختصر جواب دادم. شما هر قسمت را كه علاقه مند بوديد باز تكرار كنيد. اين جوري در تايپ من صرفه جويي ميشه و بي خودي هم شما مطلب اضافه نمي خونيد.
.
البته من اطلاعاتم خيلي ابتدايي و ناقصه ولي وقتي من نتوانستم جواب بدهم دوستان ديگه جواب مي دهند و من هم گوش مي دهم.
راجه به ole هم يكي روي فرم قرار بدهيد و 10 تا 20 ثانيه صبر كنيد ، يك پنجره مي آيد. به اعضاي ليست اين پمجره نگاه كنيد تا اگر دوستي ole را تعريف كرد بهتر درك كنيد.
من خوب نمي توانم بگم چيه. فقط مي دونم يك ابزاره براي برقراري ارتباط با يكسري ..... يكسري چي بگم؟ ولش كن. سوادم نمي كشه.
.
ولي براي اين كه تنبلي نكرده باشم. يك ديكشنري كامپيوتري را باز كردم و اين ها را تقديم مي كنم.


OLE n. Acronym for object linking and embedding. A technology for transferring and sharing information among applications. When an object, such as an image file created with a paint program, is linked to a compound document, such as a spreadsheet or a document created with a word processing program, the document contains only a reference to the object; any changes made to the contents of a linked object will be seen in the compound document. When an object is embedded in a compound document, the document contains a copy of the object; any changes made to the contents of the original object will not be seen in the compound document unless the embedded object is updated.
.
 

Haamed

Registered User
تاریخ عضویت
22 آپریل 2005
نوشته‌ها
1,254
لایک‌ها
8
محل سکونت
کلیسای ایرانیان
فرق داركتوري با فايل هم واضحه. يكي پوشه را مديريت مي كنه ديگري فايل را. در آموزش وي بي مجيد طرز استفاده از اينها را گفتم . وقت كرديد آن پست را بياريد اينجا.


a3.gif



براي اين كه اين 3 ابزار با هم كار مي كنند، بايست آنها را با كد نويسي به هم مربوط كرد.
از بزرگ به كوچك اينها را
a,b,c
بناميد. اول درايو ، بعد دايركتوري ، بعد فايل. ، و بعد كد زير را ، به پنجره كد بيافزاييد.


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


با اجازه جناب سالک عزیز

منبع: majidonline.com
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام سالک جان .
و تمامی دوستان
بابا این حرف ها چیه . من تو زندگی یه چیز رو یاد گرفتم اونم اینکه **** هر چیزی رو که بلدی اگه یاد بدی . همیشه یه نیروی یه چیزی باعث میشه که باعث میشه پیشرفت کنی و چیز های جدید تری رو یاد بگیر ی
البته بسطه به اشخاص فرق میکنه یکی جنبه نداره ولی یکی داره . علم هم مانند همه چیز ها دو سوء داره یکی بد یکی هم خوب در حالکه هیچ مرزی نداره و هیچ سوئی

***همه اشیا میتونن ورودی یا خروجی باشن . این شما به عنوان برنامه نوسید که معین میکنید کدوم شی چی کار باید بکنه . مثلا همون دکمه !!!!!!!!!!!!! میتونه هم به عنوان ورودی به کار بره هم خروجی
ورودی یعنی گرفتن یک علامت از کاربر و خروجی یعنی دادن یک عکیس العمل به کاربر
دکمه کلیک میشه و برنامه شروع به کار میکنه و عبارت دکمه مثلا از play به stop تغییر میکنه خوب این هم یک نوع خروجیه نه ؟ کاربر میفهمه که برنامه در حال انجام عملیاتی است.

*** دقیقا بعضی از اشیاء سنگین هستند و بعضی سبک یعنی از لحاظ مقدار پروسس و حافظه ای که حین اجرا برنامه به خودشون اختصاص میدن. لذا شیئ ای که حافظه بیشتر و عملیات بیشتری می طلبه سنگین تره نه اونی که توابع بیشتری داره (ممکنه 100 تابع 10 خطی داشته باشه ولی شیئ ای که سنگین تره 10 تابع 1000 خطی )

اما در مورد سئوالت : هر چیزی رو صفحه یک شیء اه ( یک بچه پنجره است ) . یعنی از کلاس مادری تغذیه میکنه و بر این اساس ساخته میشه . فکر کنم یک ذره مطلب روشن تر شد.

اما تا اونجای که من میدونم برنامه ساخت یافته یعنی برنامه ای که به چند تابع تقسیم شده و هر تابع کار خودشو میکنه و مسئولیت کاری رو داره و مجموع تمامی این کدها و ارتباط اون ها با هم میشه برنامه شما .
اما برنامه رویدادگرا ( یعنی به تمامی اتفاق ها یعین کلیک زدن کلید . تغییر اندازه فرم هر چی فکر کنی که با یک برنامه بشه کرد جواب بده ( حتما نباید شما تاثیر اون رو متوجه بشید چون ممکنه برا ی بعضی از اتفاق ها چیزی تعریف نشده باشه و عملی انجام نده ولی برنامه بل قوه میتونه این رویداد رو هم جواب بده ولی شما به عنوان برنامه نویس برای جواب گویی فکری نکرده اید - مثلا همون لیبله که شما به عنوان یک دکمه ازش استفاده کردید . اگر شما برای کد کلیک اون چیزی در نظر نمیگرفتید ، آیا برنامه شما وقتی روی اون لیبل کلیک میشد در برابر این پیغام عکس العملی رو نشون میداد یا نه ( شما تاثیر اون اتفاق رو نمیبیند چون برنامه نویس نمیخواد شما ببنید ) . اما بلقوه میتونه به اتفاق کلیک شدن جواب بده که نمونه اون توی برنامه شما دیده میشه)

اگه بد توضیح دادم از همه معذرت میخوام اخه بعضی چیز ها رو نمیشه جوری که فهمیدی توضیح بدی !!!

امیدوارم کمک کنه
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از KOSLA :
براي اين كه اين 3 ابزار با هم كار مي كنند، بايست آنها را با كد نويسي به هم مربوط كرد.
از بزرگ به كوچك اينها را
a,b,c
بناميد. اول درايو ، بعد دايركتوري ، بعد فايل. ، و بعد كد زير را ، به پنجره كد بيافزاييد.
حالا وقتي درايو را كاربر عوض مي كنه...در ابزار دوم پوشه هاي همان درايو را نشون ميده و وقتي دايركتوري تغيير كنه...فايلهاي همون دايركتوري در ابزار سوم نمايش داده ميشه.
وقتي روي هر يك از اين ابزارها در پنجره فرم كليك كنيد ، رويداد چنج باز ميشه، همان طور كه در مورد دكمه رويداد كليك باز ميشد.
بعدا كار با اين ابزارها را ميگيم. فعلا اشاره اي شد تا ابزارهاي كمتري از جعبه ابزار بماند.


منبع

اصلش كدش بود.بي كد اينها بهم وصل نيستند.
من اضافه كردم.ممنون از زحمت شما.
اگر حوصله داشتي ، شما اضافه كن تا من پاك كنم تا خواننده رابرا نشه.

کد:
Private Sub a_Change()
b.Path = a.Drive
End Sub

Private Sub b_Change()
c.Path = b.Path
End Sub

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


=======================

آقا سعيد مفاهيمي كه گفتيد طول ميكشه تا من بفهمم.
بيان شما هم خوب بود. و خيلي نكته ها را گرفتم.
باز هم تشكر.
.
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام بازم ببخشید میپرم وسط
امیدوارم همه خوب باشن
frame چیزی نیست جز قشنگ تر کردن برنامه و همچنین دسته بندی کدن چند جزئ
یک پروژه جدید درست کن بعد یک فریم رو از تول بارت انتخاب کن - روی یکجا صفحه ات کلیک کن و همینطوری که دکمه رو نگاه داشتی موس رو حرکت بده تا یک فریم روی صفحه ات نمایش پیدا کنه . حالا چنت دکمه همنطور که گفته شده بود بروی frame ات قرار بده حالا اگر فریمت رو حرکت بدی میبین که نمامی دکمه ها هم همراش حرکت میکنن. یعنی مثل یک گروه شدن.
ole یعین بتونیم از برنامه های دیگه مثلا مولتی مدیا پلیر در برنامه خودمون استفاده کنیم ( البته خیلی تعریف ناقصیه ولی برای شروع خوبه )
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
مي خواهم از فرصت استفاده كنم و از تجربيات شما استفاده كنم.
من اين جوري مي خواهم اقدام كنم:
تمام ((اونت پروسيجرها)) در فرم مربوطه و تمام سابها و فانكشنهاي ايجاد شده توسط ما در ماژولهايي.
و متغيرهاي گلوبال هم در ماژول اول تعريف بشوند.

آيا اين سياست خوبيه؟ به اشكال برنمي خوره؟
اصلا راه درست استفاده از ماژول چيه؟ يعني ماژول چه كاربردي داره و چه طوري بايد ازش استفاده كرد؟

يكي دو جمله هم راجع به كلاس ماژول بگيد ممنون ميشم.
.
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
آلبته فریم یه کاربرد دیگه هم داره برای دسته بندی کردن رادیو باتن ها(نمی دونم اسمش توی وی بی همین هست یا نه؟)
چون اگه فریم نزاریم همه رادیو باتن ها جز یک دسته به حساب می یان ولی ممکنه منظور برنامه نویسی دسته بندی اونها در چند دسته باشه
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
سلام آرش جان.
اپشن باتن است. اين موردي كه شما گفتيد را من بالاتر گفتم.

با سلام به بلك جك
ديگه پله اول تمام شد ديگه. استفاده از ابزارها بود كه تمام شد. كم كم بايد كدنويسي كار بشه.
خوب من بايد بدونم كدهامو كجا بنويسم.
در مورد كدنويسي من كارهاي ساده فقط كردم. ولي اگر مي خواستم ادامه بدهم سورس كدها معلم خوبي هستند.
.
در تاپيك نمونه برنامه از روي مثال هم كه خيلي خوب كار شده.
.
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام .
ارش جان ممنون از اشاره ای کردی
معذرت میخوام چون دیکته من بده بعضی جاها غلط غلوط مینویسسم . مثلا کدن بجای کردن
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
منم فردا ویژوال استادیو نصب می کنم و به جمع دوستان می پیوندم
 
بالا