PDA

View Full Version : کار با فایل ها در vb



iranmdp
پنج شنبه 24 بهمن 1387, 00:21 صبح
کار با فایل های سیستم عامل و ویندوز بطور مثال txt

iranmdp
پنج شنبه 24 بهمن 1387, 14:44 عصر
فایل های متنی در برنامه های نوشته شده توسط شما کاربرد زیادی دارند مثلا شما می توانید
برای برنامه ی خود فایل هایی با فرمت lang درست کرده و در ویژوال بیسیک از آن ها به عنوان زبان های برنامه ی خودتان فراخوانی کنید .
1 - ابتدا برنامه ی NotePad ویندوز را باز کنید و سپس متن مورد نظر را که مایلید در برنامه ی شما فراخوانی شوند را در خط اول آن تایپ کنید .
2- فایل خود را با هر فرمتی که می خواهید ذخیره کنید که باید به شکل زیر عمل کنید :

فرمت دلخواه.نام مورد نظر
reza.lang یا reza.exe

3 - حالا فایلی را که ساخته اید را به پوشه ای که سورس برنامه را در آن ذخیره کرده اید ببرید
4- وارذ vb شوید:

* یک Command درست کنید
* در قسمت کد نویسی Command کد زیر را تایپ کنید :





Open "reza.lang" For Input As #1

Input #1, x

Print x


این کد فایل reza.lang را فراخوانی می کند و سپس آن را به ظرف x می دهد سپس ظرف X را روی فرم چاپ می کند که شما می توانید از ظرف x برای قسمت های مختلف در برنامه استفاده کنید

* تذکز *
من به عنوان مثال از فایل متنی به عنوان زبان برنامه استفاده کردم که استفاده از این روش را برای ایجاد زبان زیاد پیشنهاد نمی کنم .

آموزش خیلی ابتدایی بود امید وارم به مشکل نخورید :متفکر:

iranmdp
پنج شنبه 24 بهمن 1387, 15:01 عصر
شما در vb به آموزش خیلی نیاز پیدا خواهید کرد مثلا برای برنامه ی خود با نرم افزار های مختلفی ممکن است فایل راهنما درست کرده باشید که برای باز کردن آن نیاز به یک یکد مخصوص در vb دارید .

ابتدا شما باید یک Command در روی Form خود درست کنید
سپس در قسمت کد نویسی آن کد زیر را بنویسید



Call Shell("E:\reza.exe", vbNormalFocus)


این کد فایل اجرایی reza را از درایو E با سایز نرمال آن باز می کند .

توجه : شما از این کد برای باز کردن لینک های وبی نمی توانید استنفاده کنید .

آموزش روان است ولی اگر مشکلی داشتید در خدمت هستیم

iranmdp
جمعه 25 بهمن 1387, 11:07 صبح
بعضي برنامه هاي ساخته شده در Vb ممکن است از لحاظ عملکرد به گونه اي باشند که نرم افزار قابليت توليد فايل توسط کاربر را داشته باشد حال ممکن است کاربر يک فايل را ناخواسته يا به اشباه ايجاد کند در اين صورت نياز به دستوري براي پاک کردن اين فايل توسط کاربر وجود دارد .
در Vb اين کار توسط دستور kill به شکل زير صورت مي گيرد :



Kill ("E:\reza.txt")


اين کد فايل متني reza در درايو E پاک مي کند که شما با کمي فکرکردن مي توانيد تغييراتي در اين دستور بدهيد يا نحوه ي استفاده از آن را بگونه هاي مختلف تغيير و در Form خود از آن استفاده کنيد .

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

iranmdp
جمعه 25 بهمن 1387, 11:09 صبح
بعضي برنامه هاي ساخته شده در Vb ممکن است از لحاظ عملکرد به گونه اي باشند که نرم افزار قابليت توليد فايل توسط کاربر را داشته باشد حال ممکن است کاربر يک فايل را ناخواسته يا به اشباه ايجاد کند در اين صورت نياز به دستوري براي پاک کردن اين فايل توسط کاربر وجود دارد .
در Vb اين کار توسط دستور kill به شکل زير صورت مي گيرد :



Kill ("E:\reza.txt")


اين کد فايل متني reza در درايو E پاک مي کند که شما با کمي فکرکردن مي توانيد تغييراتي در اين دستور بدهيد يا نحوه ي استفاده از آن را بگونه هاي مختلف تغيير و در Form خود از آن استفاده کنيد .

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

iranmdp
جمعه 25 بهمن 1387, 21:33 عصر
شاید شما برنامه ای درست کرده باشید که در آن نیاز باشد از کاربر مصیر یک پوشه خواسته شود . به طور مثال اگر شما یک کرک درست کرده باشید لازم است که برنامه مصیر نصب نرم افزار را از کاربر دریافت کند .

این هم از آموزش کار .
- ابتدا یک Form ایجاد کنید و سپس بر روی آن یک TextBox و یک Command درست کنید .
**** نام Command را Cmd_Run بگذارید و نام TextBox را Text1 .
- حالا وارد محیط برنامه نویسی Cmd_Run شوید و کد زیر را به آن اضافه کنید .

Text1 = BrowseForFolder(Me.hWnd, "Please Select a Path :")

- سپس در General و قسمت Declarations کد زیر را :

Private Type BrowseInfo
lngHwnd As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type

Private Const BIF_RETURNONLYFSDIRS = 1
Private Const MAX_PATH = 260

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "Kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long

- و در General و در قسمت BrowseForFolder کد زیر را :

Public Function BrowseForFolder(ByVal lngHwnd As Long, ByVal strPrompt As String) As String

On Error GoTo ehBrowseForFolder

Dim intNull As Integer
Dim lngIDList As Long, lngResult As Long
Dim strPath As String
Dim udtBI As BrowseInfo

udtBI.lngHwnd = lngHwnd
udtBI.lpszTitle = lstrcat(strPrompt, "")
udtBI.ulFlags = BIF_RETURNONLYFSDIRS

lngIDList = SHBrowseForFolder(udtBI)

If lngIDList <> 0 Then
strPath = String(MAX_PATH, 0)

lngResult = SHGetPathFromIDList(lngIDList, strPath)

Call CoTaskMemFree(lngIDList)

intNull = InStr(strPath, vbNullChar)
If intNull > 0 Then
strPath = Left(strPath, intNull - 1)
End If
End If

BrowseForFolder = strPath
Exit Function

ehBrowseForFolder:

BrowseForFolder = Empty
End Function

حلا اگر برنامه را اجرا کنید و روی Command کلیک کنید خواهید دید که پنجره دریافت آدرس ویندوز ظاهر می شود و پس از انتخاب یک پوشه و OK کردن مصیر پوشه در TextBox ظاهر می شود .


از تشکر هایتان هم ممنون

iranmdp
شنبه 26 بهمن 1387, 02:33 صبح
فکر می کنم یکی از راحت ترین کار هایی که می شه با vb کرد همینه که می شه از اون برای برنامه های کاربردی یا برنامه هایی که فشار روی سیستم میارن استفاده کرد .

روش کار :
ابتدا فرم خودتون رو درست کنید سپس در قسمت General اون کد زیر را وارد کنید .

Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Private Declare Function SHRestartSystemMB Lib "shell32" Alias "#59" (ByVal hOwner As Long, ByVal sExtraPrompt As String, ByVal uFlags As Long) As Long


حالا یک Command روی فرم خودتون درست کنید و کد زیر رو به اون اضافه کنید :


SHRestartSystemMB Me.hWnd, vbNullString, EWX_REBOOT


حالا پس از اجرای برنامه با کلیک بر روی Command سیستم Restart می شود .

iranmdp
شنبه 26 بهمن 1387, 13:55 عصر
شاید شما هم از آن دسته برنامه نویسان باشید که دوست دارید برنامه ی شما از قابلیت های خاصی بر خوردار باشد یا حتی بخواهید بگونه ای کاربر را از موضوع خاصی آگاه کنید .
این مطلب برای آموزش انتخاب عکس برای دسکتاپ با زبان برنامه نویسی Visual Basic است .
ابتدا یک Form جدید درست کنید .
- بر روی Form خود یک Common Dialog با نام CDBox ، یک TextBox با نام معمول Text1 و دو Command با نام های CmdChWallpaper برای ذخیره ی عملیات و CmdOpenDialog برای باز کردن عکس مربوطه .
- حالا وارد محیط برنامه نویسی Form خود شوید و در قسمت General آن کد زیر را وارد کنید .

Call CmdOpenDialog_Click

- سپس در رویداد کلیک CmdChWallpaper کد زیر را اضافه کرده

On Error Resume Next

SystemParametersInfo SPI_SETDESKWALLPAPER, 0, CDBox.FileName, SPIF_UPDATEINIFILE

- و در نهایت این کد را به رویداد کلیک CmdOpenDialog اضافه کرده تا برنامه آماده ی اجرا شود .

CDBox.DialogTitle = "انتخاب يک تصوير"

CDBox.Filter = "(*.BMP)|*.bmp|(*.JPEG)|*.jpg"

CDBox.ShowOpen

If CDBox.FileName <> "" Then
Text1 = CDBox.FileName
End If


حالا برنامه را اجرا کنید
- با کلیک بر روی CmdOpenDialog پنجره ی انتخاب فایل باز می شود . و پس از انتخاب تصویر مورد نظر با زدن دکمه ی CmdChWallpaper عکس دسکتاپ شما با این عکس تقییر می یابد .
حالا شما در این کد می توانید تغییرات زیادی را اعمال کنید که اون دیگه به هوش و استعداد های خودتون بر می گرده بازم اگه به سوالی بر خوردید من در خدمت هستم .

xxxxx_xxxxx
شنبه 26 بهمن 1387, 22:50 عصر
سلام.
دوست من فكر نمي كنيد موضوع پست هاي آخر مربوط به اين تاپيك با عنوان "كار با فايل ها در VB" نميشه.
فكر مي كنم اينجا ( مجموعه ای از نمونه کدها و توابع کاربردی و بدردبخور (http://barnamenevis.org/forum/showthread.php?t=81542) ‏ ) ادامه بديد بهتر باشه.
متشكرم

iranmdp
شنبه 26 بهمن 1387, 23:41 عصر
دوست عزیز منظور از کار با فایل ها در vb ، کار با تمامی عنصر های موجود در ویندوز از و دسکتاپ ، ریجستری ، منو ها و فایل و.. همه جزو ویندوز به حساب می آیند و آموزش آن ها در این تایپیک مجاز است ولی اگه به طور صد در صد فکر می کنین که نیست بگین تا پست ها رو به تایپیک دیگه ای منتقل کنم . * آماتور تر از ما اصلا تو دنیا وجود نداره *
باز هم تشکر از نقطه نظرات و نکات مهمی که ذکر می کنید .