PDA

نسخه کامل مشاهده نسخه کامل : چند تا سوال



Arashdn
10-11-2008, 18:25
السلام علیکم

من چند فروند سوال دارم :دی
اول ابنکه من تازه کارم
1-چطور میشه کاری کرد قبل از اجرای پروژه یک پیام برای کاربر بیاد و پس از زدن اوکی بره تو محیط برنامه
2- چطور میشه کاری کرد پروژه در سیستم عاملی خاص و در کامپیوتری با مشخصات تععین شده(رم بالای x سی پی یو بالا x و ...)اجرا بشه؟
3-محدودیت عددی داده های single,double,currency,decimal چقدره؟نمیشه نا محدود داد؟
4-چطور میشه در caption یه چیز سیمبل زد؟ مثلا رادیکال
5-چطور میشه کاری کرد یه تکست باکس فقط عدد یا فقط نوشته قبول کنه؟
6-چطور میشه کاری کرد که برنامه به جای دادن ارور overfolw موقعی که عدد یا نوشته بیشتر از اندازش شود دیگه ننویسه و کامپیوتر بوق بزنه؟

ممنون

3Dmajid
10-11-2008, 18:52
1-چطور میشه کاری کرد قبل از اجرای پروژه یک پیام برای کاربر بیاد و پس از زدن اوکی بره تو محیط برنامه


خوب ... برای این کار میتونی مشخصه ی visible فرم رو false کنی و هر وقت کاربر روی دکمه ی ok کلیک کرد مشخصه true بشه و کاربر وارد محیط برنامه بشه.



2- چطور میشه کاری کرد پروژه در سیستم عاملی خاص و در کامپیوتری با مشخصات تععین شده(رم بالای x سی پی یو بالا x و ...)اجرا بشه؟


با کد خاصی میتونی این کار رو انجام بدی.




محدودیت عددی داده های single,double,currency,decimal چقدره؟نمیشه نا محدود داد؟


توی signle تا هفت و هشت رقم اعشار میتونی عدد بدی.
توی currency تا 15 رقم صحیح و 4 رقم اعشار.
توی double تا 15 رقم اعشار.


4-چطور میشه در caption یه چیز سیمبل زد؟ مثلا رادیکال

خوب ... میتونی بری تو قسمت symbol خود ویندوز و رادیکال درست کنی و کپی کنی و بعد اون جا paste کنی.


5-چطور میشه کاری کرد یه تکست باکس فقط عدد یا فقط نوشته قبول کنه؟

این کار رو باید بوسیله ی چک کردن کدهای اسکی انجام بدی ... احتمالا کد زیر به دردت بخوره :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

3Dmajid
10-11-2008, 18:57
این رو الان اضافه کردی یا من ندیدم ؟



6-چطور میشه کاری کرد که برنامه به جای دادن ارور overfolw موقعی که عدد یا نوشته بیشتر از اندازش شود دیگه ننویسه و کامپیوتر بوق بزنه؟


منظورت رو از بیشتر از اندازش خیلی خوب نفهمیدم.

اگه منظورت طول نویسه ای هست که کاربر وارد میکنه، میتونی توسط مشخصه ی maxlength تعیین کنی.
مثلا اگه مقدار این عدد سه باشه کاربر فقط سه نویسه میتونه وارد کنه.
ولی اگه منظورت اینه که مثلا تو یه متغیر از نوع single داری و میخوای کاربر وقتی یه عددی بیشتر از محدوده ی single وارد کنه پیغام خطا بده ... این رو به راحتی توسط یه دستور شرطی میتونی بنویسی.

امیدوارم جوابایی که دادم به دردت بخوره، تا اونجایی که تونستم راهنماییت کردم.

Arashdn
10-11-2008, 19:57
خوب ... برای این کار میتونی مشخصه ی visible فرم رو false کنی و هر وقت کاربر روی دکمه ی ok کلیک کرد مشخصه true بشه و کاربر وارد محیط برنامه بشه.چطور میتونم متن پیامم خودم بنویسم؟

نقل قول:
2- چطور میشه کاری کرد پروژه در سیستم عاملی خاص و در کامپیوتری با مشخصات تععین شده(رم بالای x سی پی یو بالا x و ...)اجرا بشه؟
با کد خاصی میتونی این کار رو انجام بدی.میشه خود کد رو بدین؟


نقل قول:
4-چطور میشه در caption یه چیز سیمبل زد؟ مثلا رادیکال
خوب ... میتونی بری تو قسمت symbol خود ویندوز و رادیکال درست کنی و کپی کنی و بعد اون جا paste کنی.اینو کارو که می کنم رادیکال میشه علامت سوال


این کار رو باید بوسیله ی چک کردن کدهای اسکی انجام بدی ... احتمالا کد زیر به دردت بخوره :

کد:


private sub txtenternums_keypress (KeyAscii As Integer)
if KeyAscii < Asc("0) or KeyAscii > Asc("9) then
KeyAscii=0 'cancel the characters
beep 'sound error signal.
endif
end sub




من خیلی تازه کارم میشه بیشتر در مورد این کد توضیح بدید؟

این رو الان اضافه کردی یا من ندیدم ؟
بعدا اضافه کردم

ولی اگه منظورت اینه که مثلا تو یه متغیر از نوع single داری و میخوای کاربر وقتی یه عددی بیشتر از محدوده ی single وارد کنه پیغام خطا بده ... این رو به راحتی توسط یه دستور شرطی میتونی بنویسی.منظورم اینه
فقط متغیر شرطی چیه؟ :دی


اگه منظورت طول نویسه ای هست که کاربر وارد میکنه، میتونی توسط مشخصه ی maxlength تعیین کنی
میشه اینم یاد بدی؟

3Dmajid
11-11-2008, 15:16
چطور میتونم متن پیامم خودم بنویسم؟


به وسیله ی تابع msgbox میتونی این کار رو بکنی.
دو روش برای msgbox وجود داره.

1-) نمایش پیغام
2-) نمایش پیغام و عکس العمل کاربر

من فعلا برات اولیش رو میگم، وقتی خوب یاد گرفتی بگو تا دومیش رو برات توضیح بدم.

کلا شکل این دستور در حالت اول این جوریه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

prompt : توی این آرگومان باید متن دلخواهت رو وارد کنی، حتما باید متن خودت رو بین دو تا کوتیشن قرار بدی.
مثل : "مجید". این قسمت برای این تابع اجباریه.

buttons : توی این قسمت میتونی کلید ها، آیکون و دکمه ی پیش فرض مورد علاقه ت رو تعیین کنی که هرکدوم کد خاصی دارن و من کدش رو برات مینویسم.

tittle : عنوان پیغام خودت رو مینویسی ... دقت داشته باش که این هم باید بین دو تا کوتیشن باشه.

مثال :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



میشه خود کد رو بدین؟

من این کد رو برای نسخه ی 2008 بلد هستم و اون هم برای چک کردن ویندوز.


اینو کارو که می کنم رادیکال میشه علامت سوال
فکر کنم vb تو با unicode مشکل داره، احتمالا از vb6 استفاده میکنی، درسته ؟
میتونی درستش کنی، ولی من نمیدونم چه جوری.
من توی 2008 به راحتی این علامت هارو میزنم و قبول میکنه.



من خیلی تازه کارم میشه بیشتر در مورد این کد توضیح بدید؟


چرا که نه ... یه کم مهلت بده.


منظورم اینه
فقط متغیر شرطی چیه؟

منظورت دستور شرطیه با متغیر شرطی ؟
برای اون کاری که گفتی باید شرط بزاری ... برات توضیح میدم.


میشه اینم یاد بدی؟
هر کنترلی که میزاری دارای چند تا مشخصه هستن، سمت راست برات باز میشه یا با کلید F4 میتونی بازش کنی. تو این لیست بگرد و MAXLENGTH رو پیدا کن و مقدار عددی دلخواهت رو وارد کن.

3Dmajid
11-11-2008, 15:28
کدهای button برای استفاده در msgbox :

vbokonly
vbokcancel
vbabortretryignore
vbyesnocancel
vbyesno
vbretry
vbretrycancel

عملکرد کد های ساخت دکمه هم که از اسمشون معلومه.

کدهای آیکون :

vbcritical
vbquestion
vbexclamation
vbinformation

این ها هم که از اسمشون معلومه. تک تک امتحان کن تا یاد بگیری.

نکته : یادت باشه اکه بخوای دکمه و آیکون هارو توی آرگومان دوم این دستور معرفی کنی باید با + اون هارو به هم بچسبونی.


کد تعریف دکمه ی پیش فرض :

از سمت چپ، دکمه ای رو که تعیین کردی، دکمه ی پیش فرض میکنه ... اینم کداش :

vbdefaultbutton1
vbdefaultbutton2
vbdefaultbutton3

حالا یه مثال کلی تا بهتر یاد بگیری :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه سوالی داشتی بپرس.
دستور شرطی رو بعدا برات توضیح میدم ...

راستی اگه داری الان با vb6 کار میکنی همین الان پاکش کن و برو vb2008 بگیر :31:

Arashdn
12-11-2008, 15:52
من تازه کارم کمی که حرفه ای شدم حتما وی بی 2008 می زنم


نقل قول:
این کار رو باید بوسیله ی چک کردن کدهای اسکی انجام بدی ... احتمالا کد زیر به دردت بخوره :

کد:


private sub txtenternums_keypress (KeyAscii As Integer)
if KeyAscii < Asc("0) or KeyAscii > Asc("9) then
KeyAscii=0 'cancel the characters
beep 'sound error signal.
endif
end sub



این کد کار نکرد

3Dmajid
12-11-2008, 20:38
کد کار میکنه ولی من احتمال میدم تو همین کد رو در جا رفتی کپی کردی و پروژه رو تست کردی ... بزار برات توضیح بدم تا بهتر بفهمی :

در خط اول txtenternums نام تکست تو هست ... میتونه هرچی باشه ... بستگی به نامی داره که قبلا برای تکست باکس انتخاب کردی و بعد از اون _keypress نشانگر رویداد keypress هست. یعنی ما در صفحه ی برنامه نویسی تکست باکسمون،
حالت keypress که فشار دادن کلیدی از صفحه کلید رو به ما برمیگردونه رو انتخاب کردیم.
این خط اول رو خود vb مینویسه و تو نباید بنویسی.

در خط دوم اومدیم و یه دستور شرطی if گذاشتیم تا متغیر KeyAscii رو چک کنه.
خط اول رو اگه نگاه کنی میبینی که در حالت پیش فرض vb این متغیر رو برات معرفی کرده تا به عنوان یه Integer ازش استفاده کنی. integer یعنی عدد صحیح ... با فشار دادن هر کلیدی روی صفحه کلید یه کد اسکی از نوع عدد صحیح برمیگرده، پس این متغیر رو Integer معرفی کرده تا از مقدار برگشتی عدد صحیح یک کلید روی کیبورد استفاده کنیم.
تابع Asc() یک کاراکتر رو میگیره و مقدار برگشتی کد اسکی رو میده.
ما این جا گفتیم اگر KeyAscii از Asc عدد صفر کمتر بود یا از Asc عدد نه بیشتر بود سپس ... KeyAscii رو مساوی صفر کنه.
وقتی مقدار KeyAscii مساوی صفر باشه یعنی این که کاربر دیگه نتونه کاراکتری رو وارد کنه و بعد هم توسط دستور beep در این حالت صدای beep از بلندگوی کیس شنیده میشه !
در نهایت توسط دستور end if دستور شرطی رو بستیم.
توجه داشته باش که دستور شرطی Asc عدد 0 تا 9 رو اینجوری چک میکنه تا کاربر وارد کنه، در غیر اینصورت وارد نمیکنه.
این برای شروع خیلی زوده، باید دستورات شرطی رو بهتر متوجه بشی.

سوالی داشتی بپرس.

3Dmajid
12-11-2008, 20:40
من تازه کارم کمی که حرفه ای شدم حتما وی بی 2008 می زنم


خوب از الان برو ...

نمیدونم میدونی یا نه ولی امکانات 2008 فوق العاده بهتر از 6 هست و خیلی از کدها از زمین تا آسمون با 6 فرق کرده !

پس فکر نکن اگه 6 کار کنی و خوب یاد بگیری بعد به راحتی میتونی بری تو 2008 و بدون دردسر کدنویسی کنی.

Arashdn
13-11-2008, 15:44
والا کسی که بهم یاد میده می گه اول ویبی 6 بعد که حرفه ای تر شده برو 2008

3Dmajid
13-11-2008, 16:44
والا کسی که بهم یاد میده می گه اول ویبی 6 بعد که حرفه ای تر شده برو 2008


ولی به نظر من vb2008 اصلا به حرفه ای شدن کاری نداره، بهتر بود یه راست میرفتی سراغ این نسخه.

مثلا : کدهای استفاده از لیست باکس در vb2008 نسبت به 6 خیلی فرق کرده ...
حالا اومدیم و تو طریقه ی استفاده از کدهای لیست باکس رو توی 6 خوب خوب یاد گرفتی،
ولی خوب وقتی میری تو 2008 میبینی که همه کدهاش فرق کرده !!
البته اگه زبانت خوب باش آسون تر میتونی پیداشون کنی.

Arashdn
19-11-2008, 15:43
سلام کد بره دکمه exit چی بزارم
منظورم اینه که یه دگه ساختم چه کدی براش بزنم که کاربر با زدن اون از برنامه خارج شه؟

f.kh0511
19-11-2008, 18:46
منظورم اینه که یه دگه ساختم چه کدی براش بزنم که کاربر با زدن اون از برنامه خارج شه؟

unload me
این کد رو که بنویسی تویه کامند بازدن دکمه از برنامه خارج میشه

Arashdn
26-11-2008, 18:14
سلام مجدد
تازه با input boxآشنا شدم
حالا سوالم اینه که با چه کدی با یه تکست باکس و یه کامند کار inputBox رو انجام بدم
ممنون

3Dmajid
26-11-2008, 18:56
سلام مجدد
تازه با input boxآشنا شدم
حالا سوالم اینه که با چه کدی با یه تکست باکس و یه کامند کار inputBox رو انجام بدم
ممنون


خوب ... این کاری نداره.
میتونی یه فرم جدید درست کنی و مثل inputbox توش دو تا command و یک textbox بزاری.
کاربر اون نوشته ای که توی inputbox مینویسه درون TextBoxName.Text ذخیره میشه.
اون موقع هرجا بخوای میتونی ازش استفاده کنی.
البته میتونی با دستورات شرطی هوشمند ترش کنی. مثلا حتما کاربر باید یک مقداری رو وارد کنه وگرنه خطا بده :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

3Dmajid
26-11-2008, 19:00
سلام کد بره دکمه exit چی بزارم
منظورم اینه که یه دگه ساختم چه کدی براش بزنم که کاربر با زدن اون از برنامه خارج شه؟


خوب ... اینم بدونی ضرر نمیکنی.
توسط دستور unload me یا end میتونی از برنامه ت خارج شی.
ولی فرقی که این دو دستور با هم داره اینه که unload me از حافظه هم برنامه رو خارج میکنه.
مثلا اگه تو دو تا فرم داشته باشی و روی فرم دوم برای خارج شدن از دستور end استفاده کنی، انگاری که فقط فرم دوم تو مخفی میشه ! و همچنان در حافظه باقی میمونه و پردازش میشه ولی با unload me به طور کامل حتی از حافظه هم پاک میکنه. اگه بخوای میتونی مشخصه ی مخفی شدن فرمت رو هم بدین صورت بنویسی :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دقت داشته باش که این سه تا کد بالا جدا هستن، با هم نیستن.

Arashdn
27-11-2008, 06:14
خوب ... این کاری نداره.
میتونی یه فرم جدید درست کنی و مثل inputbox توش دو تا command و یک textbox بزاری.
کاربر اون نوشته ای که توی inputbox مینویسه درون textboxname.text ذخیره میشه.
اون موقع هرجا بخوای میتونی ازش استفاده کنی.
البته میتونی با دستورات شرطی هوشمند ترش کنی. مثلا حتما کاربر باید یک مقداری رو وارد کنه وگرنه خطا بده :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوست عزیز من آماتورم ساده تر توضیح بدید
ممنون

f.kh0511
27-11-2008, 09:34
سلام مجدد
تازه با input boxآشنا شدم
حالا سوالم اینه که با چه کدی با یه تکست باکس و یه کامند کار inputBox رو انجام بدم
ممنون
ببین میتونی خیلی راحت محتویات textbox رو تویه یک متغیر بریزی وبعد ازش هر جا خواستی استفاده کنی مثلا میخوای به وسیله ی textbox یک مقدار رو از کاربر بگیری و اون رو چاپ کنی که این ساده ترین سوال هست باید به این صورت بنویسی
a = Text1.Text
Print a
به همین راحتی...

Arashdn
27-11-2008, 16:28
ببین میتونی خیلی راحت محتویات textbox رو تویه یک متغیر بریزی وبعد ازش هر جا خواستی استفاده کنی مثلا میخوای به وسیله ی textbox یک مقدار رو از کاربر بگیری و اون رو چاپ کنی که این ساده ترین سوال هست باید به این صورت بنویسی
a = Text1.Text
Print a
به همین راحتی...
شما فارسی حرف میزنید یا عربی؟
من بیسواد که هیچی حالیم نشد [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

3Dmajid
27-11-2008, 16:33
دوست عزیز من آماتورم ساده تر توضیح بدید
ممنون



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید [/SIZE]

منظور از textboxname که از اسمش مشخصه نام تکست باکس هست.
مثلا در کد Text1.Text مشخصه ی تکست از Text1 رو به ما برمیگردونه.
ما اومدیم بررسی کردیم و گفتیم اگه مشخصه ی Text از Text1 برابر با "" بود ... یعنی اگر خالی بود و هیچ مقداری درونش وجود نداشت.
و بعد گفتیم اگر این شرط True بود با یک msgbox که قبلا مفصل برات توضیح دادم یه اخطار بده.

3Dmajid
27-11-2008, 16:38
شما فارسی حرف میزنید یا عربی؟
من بیسواد که هیچی حالیم نشد


دوست عزیز ... من فکر کنم شما فقط یک بار جواب دوستان رو میخونی و ازش سرسری میگذری ... چند بار بخون تا متوجه بشی.

البته کاری که دوستمون گفت بعضی جاها میتونه به سودمون نباشه، چون یک خط اضافی و یک تعریف متغیر اضافی دارم.
تو برای چاپ کردن یک مقدار میتونی از دستور print استفاده کنی. مثلا :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی خوب طبق گفته ی دوستمون شما میتونی text1.text رو در متغیری مثل a بریزی و بعد بنویسی :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه میخوای کار با متغیر ها رو برات توضیح بدم.

f.kh0511
29-11-2008, 13:08
اخه عزیزه من این که من گفتم که دیگه خیلی سادست تازه به قول دوستمون تو میتونی بدونه متغیر هم این کار رو بکنی

3Dmajid
29-11-2008, 18:59
اخه عزیزه من این که من گفتم که دیگه خیلی سادست تازه به قول دوستمون تو میتونی بدونه متغیر هم این کار رو بکنی


درسته، ولی خوب همیشه کسی که تازه وارد دنیای برنامه نویسی میشه سر همین چیزاش هم گیر میکنه ولی بعدا که مفهوم رو فهمید براش آسون میشه.
همیشه یادت باشه که برنامه نویسی حفظ کردنی نیست، باید مفهومی یاد بگیری.

f.kh0511
01-12-2008, 09:17
درسته، ولی خوب همیشه کسی که تازه وارد دنیای برنامه نویسی میشه سر همین چیزاش هم گیر میکنه ولی بعدا که مفهوم رو فهمید براش آسون میشه.
همیشه یادت باشه که برنامه نویسی حفظ کردنی نیست، باید مفهومی یاد بگیری.
اره درسته حق با تویه مجید جان
البته من زیاد وارد نیستم هنوز میشه گفت مبتدی ام اما خوب به جاش همین چیزای رو که یاد دارم اصولی یاد گرفتم و واقعا میفهمم