تبليغاتX
آموزش ویژوال بیسیک - اموزش ویژوال بیسیک
اموزش پیشرفته ویژوال بیسیک
اینم یک مثال برای اقا حمید که راست به چپ کردن ListView را خواسته بودند
http://www.sharemation.com/MahdiVB678/right%20to%20left%20list%20view%20in%20vb.rar?uniq=6zshb6
فقط ادرس بالا رو در ادرس بار مرورگرت کپی کن و اینتر کن
موفق باشی

سلام دوستان اینم توضیح بعضی فایلهای اساسی ویندوز که خواسته بودید
Ntoskrnl.exe : فایلی است که می توانیم عکس موردنظر را به جای لوگوی ویندوز عوض کنیم
Autoexec.bat : این فایل سیستمی در ویندوزهای 2000 ، me ، xp و 98 مورد استفاده قرار می گیرد . مکان این فایل معمولاً پوشه ی windows می باشد فایل مذکور یک فایل متنی بوده و حاوی فرمانهایی است که در طی عمل راه اندازی سیستم (خصوصاً سیستم عامل های قدیمی تر ) اجرا می شوند
Boot.ini : این فایل سیستمی در ویندوزهای xp ، 2000 استفاده دارد و امکان آن نیز معمولاً پوشه ی windows می باشد . این فایل فهرستی از تمام سیستم عامل های موجود را نشان می دهد و به کاربر اجازه می دهد از میان آنها ، سیستم عاملی را که می خواهد راه اندازی شود را انتخاب کند
Cidaemon.exe : از این فایل سیستمی در ویندوزهای 2000 و xp استفاده می شود مکان این فایل پوشه ی system32 می باشد فایل مذکور معرف microsaft indexing service است و از آن برای به فهرست در آوردن فایل در ویندوزهای 2000 و xp استفاده می شود
سرویسی که این فایل ارائه می دهد indexing service content نام دارد این فایل به کنترل حافظه ی سیستم پرداخته و از استفاده بیش از حد حافظه توسط فایل cidaemon.exe جلوگیری می کند
Cmd.exe : این فایل سیستمی در ویندوزهای xp و 2000 کاربرد دارد . مکان این فایل پوشه ی system32 است . این فایل یک مفسرفرمان 32 بیتی می باشد
Command.com : این فایل سیستمی در ویندوزهای me ,98 استفاده می باشد . این فایل بر روی پوشه ی windows قرار دارد . این فایل یک مفسر فرمان 16 بیتی است
Config.sys : از این فایل در ویندوزهای 2000 ، me ، xpو 98 استفاده می شود . این فایل متنی بر روی پوشه windows قرار دارد و حاوی فرمانهای است که راه اندازها را بارگزاری کرده و پسوندهای اجرایی را در حین راه اندازی سیستم عامل فعال می سازد .
Csrss.exe : این فایل سیستمی در ویندوزهای xp,2000 کاربرد دارد . این فایل در پوشه ی system32 قرار گرفته است . این فایل معرف client server runtime subsystem است و از آن برای برقراری ارتباط ویندوز استفاده می شود
Drvspace.bin : از این فایل سیستمی در ویندوزهای 98 , me استفاده می شود . این فایل در پوشه ی windows قرار گرفته است . این فایل پوسته گرافیکی ویندوز است و ویژگی های مختلفی چون منوی start و نوار وظیفه را فراهم می کند
Io.sys : از این فایل درویندوزهای 2000 ، me ، xpو 98 استفاده می شود . این فایل در پوشه ی windows قرار دارد . این فایل در حقیقت سیستم عامل اولیه ای 16 بیتی است که عمل راه اندازی کامپیوتر را شروع می کند و بخش 32 بیتی ویندوز اجازه می دهد که بالا بیاید
Kernel32.du : این فایل در ویندوزهای 2000 ، xpو 98 کاربرد دارد . مکان این فایل در پوشه ی system32 و یا system است . این فایل سرویسهای هسته ای ویندوز را برای مدیریت حافظه ، منابع سیستم و ... فراهم می کند

برنامه ای برای هک کردن ID و کارت اینترنت که اسمش TAK-ps BETA است
golha.net\ghasem\tak-ps.zip

برنامه ای برای یافتن پسورد ادمین ویندوز XP
http://www.mdvirus.persiangig.com/Hack-%20Admin/XP%20Admin%20Cracker.zip

کامپایل اکسپلویت با VC++
http://nasser-desperado.persiangig.com/video/Compile-exploit-c.rar

برنامه ای برای چک کردن پروفایل
ID خود را بنویسید بعد همه مشخصات پروفایل را نگاه کنید
http://www.mdvirus.persiangig.com/Saftwere%20Yahoo/Get%20ID%20Profile.exe

برنامه ای برای پاک کردن انتی ویروس در سیستم NOD32
http://www.mdvirus.persiangig.com/kill%20%20%20(NOD32)/ANTINOD32.exe

اضافه کردن ایکون به منو
http://iranvig.com/upload/program/userprog/1123311821Project1.zip

سورس دیکشنری
http://iranvig.com/upload/program/userprog/1122546317SkinControl.zip

نشان دادن فونت های سیستم به شکل خودشون در Combo Box
http://iranvig.com/upload/program/userprog/1143060394Font.zip

تبدیل فایل های فلش SWF به SCR ( محافظ صفحه نمايش )
http://iranvig.com/upload/program/userprog/1137787767SWF2SCR.zip

با این کد از صفحه نمایش فیلم بگیرید
http://iranvig.com/upload/program/userprog/1134081859Fi%20a%20acr.zip

این سورس عکس رو به AVI تبديل ميکنه
http://iranvig.com/upload/program/userprog/1133124378PIC2AVI.zip

اين سورس صداي فايل swf رو جدا ميكنه مثل كليپ ها و ...
http://iranvig.com/upload/program/userprog/1131909071SWFs.zip

این سورس فایل های صوتی رو اجرا میکنه مثل MP3 کاربرد زياد داره
http://iranvig.com/upload/program/userprog/1131617424Mp3.zip

ویروس VBLove
امکاناتی مثل مخفی کردن نشانه گر ماوس و مخفی کردن آیکن های Desktop و . . .
http://iranvig.com/upload/program/userprog/1130803460VBLOVE.zip

اين هم يک کد توپ برای بانک اطلاعاتي
وصل شدن به بانک اطلاعاتي با کد نويسي و جستجو و ....
http://iranvig.com/upload/program/userprog/1138481745Anbar2.zip

با این برنامه یک پیغام رو میتونید تو عکس بزارید
یا پیغامی رو که دوست شما تو یه عکس گذاشته رو با این برنامه بخونی
یعنی هر دو باید این برنامه رو داشته باشین
http://iranvig.com/upload/program/userprog/1138481511MS2Pic.zip

یک سورس برای تبدیل FAT32 2 NTFS
http://iranvig.com/upload/program/userprog/1127221140FAT%202%20NTFS.zip

یک برنامه برای ویرایش و تبدیل فرمت انواع عکس
http://www.iranvig.com/upload/program/userprog/1121060957Photo%20Editor%201.0.zip

این برنامه برای ساخت درایو مجازی استفاده می شود
http://www.iranvig.com/upload/program/userprog/1136751292dr.zip

تبدیل عکس به Exe
http://www.iranvig.com/upload/program/userprog/1125514646Picture%20to%20exe.zip

این سورس برای قرار دادن یک قاب زیبا دور یک عکس و گرفتن عکس از فرم به کار میره
http://www.iranvig.com/upload/program/userprog/11252098111.zip

Res فايل ( چند فایل در یک فایل ) اين هم عکس در فايل رس با VB6
http://www.iranvig.com/upload/program/userprog/1124883004Res.Zip

Jpg to Swf
http://www.iranvig.com/upload/program/userprog/1124700167J2S.zip

اين برنامه يک سري اطلاعات سيستم را به شما ميده
مانند : هارد.... و اطلاعات رو به صورت عکس ذخیره میکنه
http://www.iranvig.com/upload/program/userprog/1123438559Infi.zip

ساخت اشیا مثل ( تکست باکس و دکمه و ..... ) با کد نویسی
http://www.iranvig.com/modules.php?name=News&file=log&sid=3029&kind=1

یه ویروس جالب
محدود کردن بعضی از نقاط سیستم
1 - خاموش کردن regedit
- 2 خاموش کردن add\remove
3 - خاموش کردن mmc
4 - خاموش کردن Screen Saver
توصیه میکنم اجرا نکیند
http://www.mina-eilia.persiangig.com/IH@TEYOU.zip
پسوردش هم 12 است

برنامه ای برای فقل کردن پوشه ها
برنامه ای برای مدیرت پوشه ها
این برنامه می تونه پوشه شما رو در حالت disbale , control pannel غيره.... کند
ویژگی های برنامه :گذاشتن پسورد برای برنامه ,خاصيت آيكون روي پوشه ,خاصيت خاموش كردن پوشه
گذاشتن ايكن كنترل پنل بر روي پوشه و خاصيت سطل زباله ويندوز وغيره
http://www.mina-eilia.persiangig.com/LockFolderXP.zip

اموزش ساخت loading... برای شما
اول یک متغیر درست می کنیم
Dim i As Integer
روی فرم کلیک می کنیم
Private Sub Form_Activate
startup.Enabled = True
End Sub

بعد دو کلید ctrl+t با هم فشار می هیم
شما باید این گزینه microsoft windows common controls 6.0 را فعال کنید بعد ok کنید
و یک ProgressBar1 را به فرم اضافه کنید
و بعد یه timer درست می کنیم با نام startup
و بعد در قسمت خصوصیات timer
enbale=false
interval =170
left =6360
top=5160 قرار میدهیم
روی timer در فرم دوبار کلیک می کنیم و این کد را وارد می کنیم

Private Sub STARTRUN_Timer
If i = 99 Then
Unload Me
STARTup.Enabled = False
End If
i = i + 1
ProgressBar1.Value = ProgressBar1.Value + 1
End Sub

بچه ها در یکی از پست های پایین ( اواسط وبلاگ ) با عنوان ترفند مطالب جدیدی رو نوشتم
چون بچه ها در نظر سنجی بیشتر خواهان اموزش ساخت ویروس بودند
اموزش ساخت ویروس رو گذاشتم و منتظر سری جدید ویروس ها باشید

سلام اقا امیر
اقا امیر فکر میکنم شما باید برنامه خودتون رو به ویندوز بشناسونین تا از این به بعد برنامه شما به جای برنامه پیش فرض ویندوز اجرا بشه که برای این کار ابتدا وارد Folder Option ویندوز شوید و وارد سر برگ File Type شوید و فرمت تصویری مورد نظرتون رو انتخاب کنید و سپس روی دکمه Change کلیک کنید و در پنجره ظاهر شده دکمه Browse رو بزنید و برنامه خودتون رو انتخاب کنید و اگر میخواهید که این کار برای همیشه باشد گزینه Always .... رو در اون پنچره فعال کنید و Ok کنید حالا تصویر مورد نظرتون رو اجرا کنید و نتیجه را به من بگید

جواب اقا حسام عزیز
httpwww.sharemation.comMahdiVB678SocketProgramming.zipuniq=-8v8jiu

خانم ریسی ایمیلتون رو دریافت کردم اینم جوابتون
http://iranvig.com/upload/program/userprog/1138481745Anbar2.zip

جواب یک ناشناس که اموزش فایل های res رو خواسته بودند
http://cuinl.tripod.com/tutorials.htm

جواب اقا حامد عزیز
http://www.sharemation.com/MahdiVB678/new2/pic%20copy.rar?uniq=-goka35

جواب حسین اقا
http://www.sharemation.com/MahdiVB678/new2/amoozeshgah.rar?uniq=-goka2z

جواب اقا امیر عزیز
برای قرار دادن علامت سوال روی نوار عنوان ابتدا باید border style فرم رو در حالت 3 قرار دهی و سپس
در قسمت پایین پنجره خصوصیات خصوصیت What this button رو true کنی و بعد از منوی پروژه گزینه اخر
را انتخاب کنی و یک فایل راهنما که قبلا درست کردی به برنامه اضافه کنی و بعد هر شی که روی فرم قرار
دادی help contex id اون رو به شماره مورد نظر که در فایل راهنتمات طراحی کردی ( که امیدوارم بلد باشی)
که ساخت این فایل ها با برنامه های مخصوصش است که اگه نمیدونستی بگو تا نامشونو بگم و یه توضیح
مختصر بدم .... تغییر بدیو بعد برنامه رو اجرا کنی و روی علامت سوال کلیک و سپس روی شی کلیک کنی
که توضیح درون فایل راهنمات به صورت tool tip اجرا میشود

سوال دوم در مورد اجرای برنامه ها امیر اقا (از دست من ناراحت نشو عزیزم وقت نکردم)
Option Explicit
Dim c As New Shell
Private Sub Form_Load()
' in refrence select microsoft shell control and automasion
Dim a As String
Dim b As String
a = Environ("windir")
b = "\regedit.exe"
b = a + b
MsgBox b
c.Open b
End Sub
براي اجراي هر برنامه فقط قسمت اخر ادرس اونو را مثل من در کدها قرار بده بعد برنامه خودش مسير ويندوز رو تشخيص ميدهد و اجراش مي کند

سوالی در مورد کار با اسکنر و دريافت تصوير از آن در ويژوال بيسيک
بايد از کتابخانه هايی که برای اين منظور ارائه شده اند استفاده کنيد .يکی از اين کتابخانه ها EZ Twain می باشد .برای دريافت dll مربوط به اين کتابخانه و نيز دريافت يک برنامه نمونه کار با اين dll در وي بي اینجا http://www.geocities.com/smigman.geo/mci/eztwain.zip را کليک کنيد

يکی از دوستان در مورد نحوه ايجاد فايلهای exe توسط وِيژوال بيسيک سوال کرده اند
برای ايجاد يک فايل exe توسط برنامه های وي بي بايستی با ساختارهای فايلهای اجرايی آشنا باشيد . برای مثال در مورد Winzip که سوال کرديد چگونه يک Self Extractor می سازد بايد گفت که احتمالاً Winzip يک برنامه اجرايی آماده دارد که يک داده خاص را که در بخش مشخصی از ساختار فايل آن قراردارد extract می کند . در زمان ساخت فايل extractor داده های مربوط به فايلهای zip شما را در فايل اجرايی و در آن محل مشخص بعنوان داده قرار می دهد .
برای آشنايی با ساختار فايلهای اجرايی به کتابهای windows system programming مراجعه کنيد

چگونه برای MP3 Player خودم در وي بي رقص نور مانند Winamp درست کنم ؟
پاسخ : بایستی از ترکیبی از الگوریتم های ریاضی و گرافیکی استفاده کنید . این روشها بسیار متنوع بوده است . اگر در اینترنت کمی بگردید به جواب خواهید رسید.من خودم یه نمونه از اینترنت پیدا کردم

لطفاً در مورد hwnd یا همان هندل فرمها توضیح کامل بدهید .
پاسخ : هر فرم در یک برنامه کاربردی در ویندوز با استفاده از الحاق یک دستگیره یا هندل به آن مشخص می شود . این هندل را با hWnd ( یا HWindow ) نیز نشان می دهیم . برخی توابع کتابخانه ای ویندوز به خاصین هندل فرم جاری بعنوان یک آرگومان نیاز دارند تا عملی را بر روی آن فرم انجام دهند . بعبارت دیگر توسط هندل یک فرم می توان به مشخصات و خصوصیات آن فرم دسترسی داشت . خاصیت هندل فرم در ویژوال بيسيک خاصیتی فقط خواندنی است .
باید توجه داشت که هندل یک فرم با هندل زمینه دستگاه آن متفات است .
زمینه دستگاه یا device context یکی دیگر از مشخصات یک فرم می باشد . در ویندوز هر سطحی که عمل رسم بر روی آن انجام می شود یک زمینه دستگاه نام دارد . برای دسترسی به زمینه دستگاه هر فرم از هندلی به اسم hDC استفاده می شود .

چگونه می توان skin هایی را که با استفاده از وی بی ایجاد می کنیم به سیستممان اضافه کنیم ؟
پاسخ : دوست عزیزی جواب این سوال را داده اند : " شما ميتونيد از برنامه زيبا و توانمند ActiveSkin استفاده کنی که ورژن 4.3 اون رو ميتونی از ZDnet دانلود کنی

چگونه می توان یک فرم را در حالت Always on Top قرار داد ؟
پاسخ : حالت Always on Top حالتی است که در آن همیشه فرم برنامه شما قابل مشاهده در صفحه ویندوز باشد . ( حتی اگر برنامه دیگری انتخاب شده و فعال باشد ) . برای قرار دادن فرم در این حالت از یک API موجود در کتابخانه user32 با نام SetWindowPos استفاده می شود . چگونگی declare کردن این تابع بصورت زیر است ( اين declare را در بالای کدهای مربوط به فرمتان قرار دهيد ) :

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

همچنین ثابتهای زیر را در بالای کدتان تعریف کنید :

Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2

یک تایمر با Interval ای برابر 1 در فرمتان قرار دهید و کد زیر را برای متد Timer آن بنویسید تا فرم در این حالت قرار بگیرد :

Dim result As Long
result = SetWindowPos(Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

برای غیر فعال کردن این حالت کد زیر را در برنامه تان بنویسید :

Timer1.Enabled = False
Dim result As Long
result = SetWindowPos(Form1.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)

برای فعال کردن مجدد این حالت کافیست خاصیت Enabled تایمر را True کنید

چگونه می توان از طریق وي بي با اسکنر ارتباط برقرار نموده و عکس را از آن گرفت و در بانک اطلاعاتی ذخیره نمود .
پاسخ : در مورد بخش آخر سوال که ذخیره عکس در بانک اطلاعاتی می باشد قبلاً مطالبی در این وبلاگ نوشته ام . اما در مورد قسمت اول بایستی از یکسری OCX برای اینکار استفاده کنید مانند Twain Scanning ocx و يا Kodak Image Control ocx

وقتی که یک فرم جهت ورود اطلاعات ساخته می شود باستی از طریق دکمه Tab به فیلدهای بعدی رفت . چگونه می توان کاری کرد که با زدن کلید Enter در هر فیلد به فیلد بعدی رفت ؟
پاسخ : یک روش اینست که در متد KeyPress هر کادر متنی ( یا فیلد ورود اطلاعات ) کدی بنویسید که تشخیص دهد اگر دکمه Enter فشرده شده فوکوس را به فیلد بعدی مورد نظر شما منتقل کند . برای مثال اگر فرض کنید دو کادر متنی با نامهای Text1 و Text2 در فرمتان دارید کد زیر را برای متد KeyPress کادر متنی Text1 بنویسید :

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Text2.SetFocus
End Sub

Platform SDK که در سایت Msdn از آن اسم برده می شود چيست ؟ آيا همان سی دی های Msdn است ؟
پاسخ : SDK يا همان source development kit ، شامل يکسری مطلب آموزشی و نمونه کد است که در مورد یک زمینه برنامه نويسی خاص توسط مایکروسافت منتشر می شود . برخی از اين SDK ها قابل دانلود از سايت مايکروسافت ( مثلاً DirectX SDK ) و برخی دیگر فروشی هستند (Windows Driver Model SDK )

پاسخ اقا امیر
http://www.sharemation.com/MahdiVB678/mack%20db.rar?uniq=hz0542
پاسخ اقا محمد
http://www.sharemation.com/MahdiVB678/pass.rar?uniq=hz053q

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

جواب اقا مجتبی عزیزم
قسمت اول : اگر منظورتون ارتباط دادن VB با Access جدول های اونه که بخون :
آشنایی با ابزار مخصوص برقراری ارتباط با پایگاه داده
دو کنترلی که امکان ایجاد این ارتباط را به ما می دهند عبارتند از :

1- Data Control : این کنترل که به طور پیشفرض در جعبه ابزار یا Tool Box وی بی وجود دارد یکی از ابزارهای قدرتمند VB در زمینه کار با پایگاه داده است . در واقع این کنترل نماینده پایگاه داده در VB است و کارهایی از قبیل مدیریت جداول و اندیکس ها و همچنین ایجاد و حذف جدول و رکورد و جستجو و فیلتر سازی و غیره را به عهده دارد . کارایی این کنترل بسیار گسترده و وسیع است و می تواند بهترین انتخاب برای نوشتن برنامه هایی باشد که قرار است فقط روی یک کامپیوتر به طور مستقل اجرا گردند .

2- ADO Objects : این کنترل ابزار دیگری برای ایجاد ارتباط با پایگاه داده است و گستردگی کمتری نسبت به Data Control دارد . از این کنترل معمولا برای ایجاد ارتباط سریع و آسان با پایگاه داده استفاده می شود . همچنین این کنترل توانایی برقراری ارتباط با پایگاه داده واقع در مکانی دیگر با استفاده از سیستم شبکه ای را دارد . ولی این کنترل در جعبه ابزار وجود ندارد و باید به آن اضافه گردد که بعدا خود این کنترل به طور کامل توضیح داده خواهد شد .

برای کار با پایگاه داده فقط ایجاد ارتباط با آن کافی نیست . بلکه ما نیاز داریم که اطلاعات درون جدول ها و رکوردها را مشاهده کنیم و بر روی آنها پردازش انجام دهیم که این کار مستلزم استفاده از ابزارها و کنترل های دیگر است . برای نمونه اگر ما بخواهیم اطلاعات درون یک رکورد که نام یک شخص در آن ذخیره شده است را ببینیم باید آن را توسط یک کنترل که با پیوندی به یکی از کنترل های ایجاد کننده ارتباط با پایگاه داده متصل است به نمایش در آوریم . برای مثال ازکنترل Label استفاده کنیم . حال اگر بخواهیم بر روی این مقدار پردازش هم انجام دهیم باید آن را توسط کنترل Text Box نمایش دهیم چون درون آن را می توانیم ویرایش کنیم.

برای شروع ما با Data Control کار خواهیم کرد.خصوصیت های مهم شی ء Data Control :

Connect
این خصوصیت مشخص کننده نوع پایگاه داده که قرار است ارتباط با آن برقرار گردد و به طور پیشفرض Access تعیین شده است.

DataBaseName
این خصوصیت مهمترین خصوصیت کنترل Data به شمار می رود که مسیر و نام پایگاه داده را در خود جای می دهد .

ReadyOnly
این خاصیت مشخص می کند که آیا پایگاه داده میتواند پردازش شود یا باید هیچ تغییری در آن ثبت نشود . که به طور پیشفرض False یعنی قابل پردازش میباشد .

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

DataSource
این خصوصیت بعد از تکمیل خصوصیت DataBaseName قابل استفاده است و نام جدول ها و بازجست های ( Query ) موجود در پایگاه داده را به صورت لیست کشویی برای ما نمایش می دهد که ما می توانیم یکی از آنها را انتخاب کنیم .

نکته : در واقع مهمترین مشکل وی بی در کار با پایگاه داده Access این است که اگر شما از کنترل Data برای برقراری ارتباط استفاده کنید و فرمت پایگاه داده شما بالاتر از Access 97 باشد یعنی ( 2000 ، XP ، 2003 ) با خطایی مبنی بر عدم پشتیبانی یا شناسایی مواجه خواهید شد . یا به عبارتی شما در صورتی میتوانید از کنترل Data برای برقراری ارتباط با پایگاه داده Access استفاده نمایید که فرمت پایگاه داده شما Access 97 یا همان ( Office 97 ) باشد . برای حل این مشکل چند راه حل وجود دارد :


راه 1 : از کنترل ADO یا Adodc به جای Data استفاده کنید که این کار در بیشتر مواقع نمی تواند به صرفه باشد .

راه 2 : فرمت پایگاه داده شما Access 97 باشد یعنی باید از برنامه Access موجود در Office 97 استفاده کنید که در این صورت مجبور خواهید بود با ویندوز 98 کار کنید . چون XP قادر به پشتیبانیAccess 97 نخواهد بود .

یک مثـــــــــــــــــــــــــــــــال برای اقا مجتبی : استفاده از کنترل Data
یک پروژه از نوع استاندارد ایجاد نمایید Form1

اضافه کردن کنترل داده : برای این کار از جعبه ابزار بر روی کنترل Data دو بار کلیک کنید تا در وسط فرم قرار گیرد و یا آن را انتخاب کرده و بر روی فرم خود بکشید تا بر روی فرم قرار گیرد . البته اندازه و محل قرار گیری این فرم بستگی به سلیقه و نظر برنامه نویس دارد .

تنظیم خواص DataBaseName و RecordSource : برای این کار خاصیت مربوط به Data1 را با انتخاب پایگاه داده خود تنظیم کنید . برای مثال اگر پایگاه داده شما در C:\Test VB\Test.mdb قرار داشته باشد پس از انتخاب پایگاه داده مورد نظر مقابل خاصیت DataBaseName شما برابر با این آدرس خواهد شد . حال روی خاصیت RecordSource کلیک کنید تا لیست جداول برای شما نمایش داده شود . شما جدول Simple را انتخاب کنید . حال 3 عدد TextBox روی فرم خود قرار دهید و خاصیت های آنها را به صورت زیر تنظیم کنید :

نام کنترل خاصیت DataSource خاصیت DataField

Text1 Data1 ID

Text2 Data1 Name

Text3 Data1 Family

همانطور که در تصویر می بینید با استفاده از کنترل Label می توانید برچسب مربوط به فیلد خود را برای کاربر نمایش دهید تا کاربر درک درستی از برنامه داشته باشد .

همانطور که در تصویر دیده می شود خاصیت Enabled مربوط به TextBox فیلد شماره False است یعنی فقط کاربر قادر به دیدن شماره می باشد و نمی تواند آن را تغییر دهد ، این به این دلیل است که این شماره چون از نوع Autonumber در نظر گرفته شده و برنامه به طور خودکار برای هر رکوردی که ایجاد می شود یک شماره تولید می کند پس کاربر حق تغییر آن را نخواهد داشت مگر در شرایطی خاص .

همانگونه که دیدید کارهایی را که شما انجام دادید مانند انتخاب پایگاه داده و تنظیم جدول حالتی دستی یا ویژوال داشت . حال روش استفاده از کد نویسی برای بار کردن پایگاه داده در برنامه :

برای این کار تقریبا مانند قبل عمل خواهیم کرد با این تفاوت که نه پایگاه داده خود را برای کنترل Data انتخاب خواهیم کرد و نه خاصیت DataField را برای TextBox های خود . بلکه این کار ها را با کد نویسی انجام خواهیم داد.

نکته : خاصیت DataSource مربوط به TextBox ها را باید در هنگام طراحی تنظیم کنیم . چون امکان تنظیم آن با کد نویسی وجود ندارد .

حال شما در Form_Load برنامه این کد ها را باید بنویسید :

بار کردن پایگاه داده :

"Data1.DatabaseName = "C:\Test VB\Test.mdb

تنظیم جدول مورد نظر :

"Data1.RecordSource = "Simple

تنظیم فیلدها برای TextBox ها :

"Text1.DataField = "ID
"Text2.DataField = "Name
"Text3.DataField = "Family

کد کامل برنامه :

()Private Sub Form_Load
"Data1.DatabaseName = "C:\Test VB\Test.mdb
"Data1.RecordSource = "Simple
Data1.Refresh
"Text1.DataField = "ID
"Text2.DataField = "Name
"Text3.DataField = "Family
End Sub

از متد Refresh برای باز سازی پایگاه داده استفاده می شود و یکی از متد های اصلی کنترل Data میباشد .
چند روز دیگه چند تا مثال مرتبط با پایگاه داده برات اپلود میکنم

برای یافتن پاسخ قسمت دوم سوالت به وبلاگ اقا ناصر که لینکش رو در پیوند ها گذاشتم برو و اموزش Crack1 رو به روشی که گفته دانلود کن و لذت ببر
موفق باشی

سوال علی اقا:
نکته : میخوام یه ادعا کنم که نمی تونید سوالی کنید که نتونم جواب بدم. امتحان کنید
برنامه اي كه در ورودي پسورد دريافت مي كند و در صورت برابر بودن با پسورد ذخيره شده در فايل Dll موجود در حافظه اجازه ورود به قسمت ديگري از برنامه را دهد
نكته :
1 ) اين برنامه توانايي تغيير پسورد را داشته باشد
2 ) پسوردي را كه از كاربر براي ذخيره كردن دريافت مي كند ، پس از اعمال تغييراتي در آن ، در فايل Dll ذخيره كند ( به نحوي كه اگر شخصي فايل Dll برنامه را باز كرد نتواند پسورد را بخواند )

جواب :
براي ساخت اين چنين برنامه اي بايد با نحوه ايجاد فايل در وي بي آشنا شويم
براي سخت فايل در VB ابتدا فايل را در محلي از هارد ديسك باز كرده ، پس از آن شروع به نوشتن و خواندن در فايل مي كنند .
ما در اين برنامه نياز داريم كه از قبل يك پسورد در اين فايل ذخيره كند ، براي اين چنين كاري از قطعه برنامه زير استفاده مي كنيم :
نكته : اين قطعه برنامه فقط براي ايجاد يك پسورد در فايل مربوطه به كار مي رود و پس از ايجاد اين فايب بايد پاك شود .
Private Sub Form_Load()
N$="ali"
Fir i= 1 to len(n$)
a = Mid(n$, i, 1(
r = Asc(a(
r = r + 70
c$ = c$ + Chr(r(
Next
Open "d:\p.dll" For Output As #1
Write #1, c$
Close
End Sub
همانگونه كه ملاحظه نموديد ، ما پسورد پيش فرض ali را براي اين برنامه انتخاب نموديم و با استفاده از يك حلقه تكرار و تابع Mid به تك تك كاراكتر هاي آن دسترسي پيدا كرديم و در هر دسترسي آن را به كد اسكي آن كاراكتر تبديل نموده و براي ايجاد امنيت به گونه اي كه كسي توان خواندن پسورد را با باز كردن فايل Dll نداشته باشد ، 70 عدد به كد اسكي آن اضافه نموديم و سپس با تابع Chr به يك كاركتر تبديل نموديم ، همانطور كه مي بينيد اين كاراكتر ها جمع شده و در متغير C$ به صورت يك رشته جمع شده اند . در پايان اين قطعه فايلي با استفاده از دستور Open در دايو D ايجاد و باز مي شود و رشته C$ در آن نوشته مي شود . در انتها هم فايل بشته مي شود .
براي ايجاد اين فايل كافي است كه يك بار برنامه را اجرا كنيد .
تذكر : پس از اتمام اين كار اين قطعه برنامه را پاك كنيد .

طراحي :
اين پروژه شامل دو فرم مي باشد كه وظيفه فرم اول دريافت پسورد از كاربر و چك كردن آن با پسورد ذخيره شده در فايل Dll است ، اگر پسوردها يكسان نبودند ، كاربر با پيام I'm Sorry مواجه مي شود و اگر دو پسورد يكسان بودند ، برنامه پس از فرستادن پيام Ok ، فرم دوم را ظاهر مي كند كه در آن كاربر مي تواند پسورد درون فايل Dll را تغيير دهد .

برنامه نويسي فرم اول :
در اين فرم از يك شي Text Box و يك شي Command Button استفاده مي كنيم .
در Command 1 اين قطعه را وارد مي كنيم :
Private Sub Command1_Click()
Open "d:\p.dll" For Input As #1
Input #1, c$
For i = 1 To Len(c$)
a = Mid(c$, i, 1)
r = Asc(a)
r = r - 70
d$ = d$ + Chr(r)
Next
If d$ = Text1.Text Then
MsgBox (" Ok Your Password Is Correct ")
Form2.Show
Form1.Hide
Else
MsgBox (" I'm Sorry , Your Password Is Correct ")
End If
Close
End Sub
در خط يك برنامه فايل Dll براي خواندن باز مي شود .
در خط دوم برنامه تمام محتويات فايل Dll در متغير C$ قرار داده مي شود .
حال با يك حلقه تكرار و استفاده از تابع Mid به تك تك كاراكتر هاي برنامه دسترسي پيدا مي كنيم ، در خطوط بعدي اين كاراكترهاي رشته اي به كد اسكي تبديل شده و از اين كاراكترها 70 عدد كم مي كنيم ( چون در ابتدا 70 تا براي امنيت به كاراكترها اضافه كرده بوديم ) . در آخر حلقه هم ، كدهاي اسكي را به كاراكتر تبديل كرده و در يك متغير رشته اي D$ ذخيره مي كنيم .
شرط ها هم مطابق بودن يا نا مطابق بودن دو پسورد را چك مي كند .كه اگر يكسان بودند ، پيام Ok را ارسال و فرم دوم را ظاهر مي كند .

برنامه نويسي فرم دوم :
ما ، در اين فرم از سه Command button تحت عنوان هاي Change Password ، Sign Out ، Quit و يك Textbox استفاده مي كنيم .
اصل برنامه ما در دكمه تغيير پسورد است يا Change Password است ، قطعه برنامه زير را در قسمت برنامه نويسي اين Command Button استفاده مي كنيم :
Private Sub Command1_Click()
For i = 1 To Len(Text1.Text)
a = Mid(Text1.Text, i, 1)
r = Asc(a)
r = r + 70
c$ = c$ + Chr(r)
Next
Open "d:\p.dll" For Output As #1
Write #1, c$
Close
End Sub
در اين قطعه كد يك پسورد از ورودي دريافت مي شود و همانطور كه قبلا نيز توضيح داده شد ، پس از اعمال تغييراتي براي حفظ امنيت پسورد در يك فايل Dll ذخيره مي شود .

قطعه كد كليد Sign Out :
Private Sub Command2_Click()
Form1.Show
Form2.Hide
End Sub
قطعه كد كليد Quit :
Private Sub Command3_Click()
End
End Sub

سوال سخت : ( اقا حمیـــــــــــــــــــــــــــــــد )
چطور ميشه کنترلي نوشت که اگه چند تا از اونها رو توي فرم بندازيم بتونن همديگرو پيدا کنن مثله Raido Button

جواب :
Dim c As Control
For Each c In UserControl.Parent.Controls
If TypeOf c Is UserControl1 Then
MsgBox c.Name
' Put your code here
End If
Next

ترفــــــــــــــــــــــــــــــند :
اگه موقع اجرای برنامه ها در محیط ویژوال بیسیک برنامه در یک حلقه گیر کرد یا هنگ کرد میتونید با زدن کلید های control + Pause break برنامه رو متوقف کنید.
+ نوشته شده در  85/11/22ساعت 10:57  توسط مهدی سعادتی  |