چواب آقای رضا

اگه درست متوجه شده باشم شما می خواین مشخصه ای در فایل Exe یا Dll قرار بدین که بعداً با این مشخصه داخلی در این فایل با یک برنامه دیگه بتونین تشخیص بدین که این همون فایله یا نه.من جوابتون رو می دونم ولی دارم برنامش رو می نویسم یکی قضیه پیچیده و سطح بالا شده.تا امشب یا فردا می ذارمش.

برای این کار شما باید با Resources آشنا باشین.در واقع یک فایل resource-Res فایلی هست که شامل منابع داخلی ه و هنگام Compile کردن با برنامه Compile میشه و شما می تونین فایلهای مورد نیازتون رو در داخل Exe یا Dll قرار بدین .کاری که تمام برنامه نویس های حرفه ای و شرکت ها و حتی خود Microsoft در تمام EXE ها ویا Dll ها انجام میدن.

در ضمن این اطلاعات با Id که دارن میشه اونارو بازیابی کرد.

حالا شما چه کار می تونین بکنین..؟ شما باید یک نوع Resource که از نوع String باشه در فایل Exe تون قرار بدین که مثلاً Reza نام داره و ID اون مثلاً 101 هست .این Resource با فایل EXE شما Compile میشه .حالا کار دوم اینه که برنامه ای با VB بنویسین که بتونه Resource های داخلی فایلهای EXE رو شناسایی کنه .... و تشخیص بده که آیا Resource ی از نوع String با ID 101 و حاوی مقدار Reza باشه . این برای موارد DLL و EXE هست ولی اگه یک فایل متنی و یا فایلیست که مقادیر رشته ای درون خودتون نوشتین که حتی پسوند اون نیز فرق بکنه کافیه با دستور Write یا Put یک Password مانند اضافه کنین و اون رو با برنامه دیگه چک کنین.

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

 

یک texteditor خوب که حتی از notepad هم سرتره.....

اینم کد یک  Text Editor که خواسته شده بود ....به کدش مخصوصاً کار با منو ها و ذخیره کردن فایل ها و بازیابیشون توجه کنین....خالی از لطف نیست .به طریقه ایجاد کردن Toolbar بالای صفحه هم توجه کنین که خیلی مفیده ....آموزش ساخت و طراحی هم به طور اجمالی پنچ شنبه میذارم .....

لینک دانلود : VB Text Editor Download

save کردن محتوای یک TextBox در فایل متنی

اگه برنامتون نیاز به save کردن متن داره و یا لازمه که کاربر فایل متنی یا محتوای هر فایلی رو ببینه می تونین از دو Sub زیر استفاده کنین.خیلی راحته فقط به مثال توجه کنین.حواستون باشه که آرگومان ورودی متن نیست و خود نام TextBox مورد نظره.....


Sub LoadText(Lst As TextBox, file As String)
On Error GoTo error
Dim mystr As String
Open file For Input As #1
Do While Not EOF(1)
            Line Input #1, a$
            texto$ = texto$ + a$ + Chr$(13) + Chr$(10)
        Loop
        Lst = texto$
Close #1
Exit Sub
error:
X = MsgBox("File Not Found", vbOKOnly, "Error")
End Sub







Sub SaveText(Lst As TextBox, file As String)
On Error GoTo error
Dim mystr As String
Open file For Output As #1
Print #1, Lst
Close 1
Exit Sub
error:
X = MsgBox("There has been a error!", vbOKOnly, "Error")
End Sub





نمونه :


Call LoadText (Text1,"C:\Windows\System\Saved.txt")


محتوای فایل مسیر داده شده را درون text1 میریزد.


Call SaveText (Text1,"C:\Windows\System\Saved.txt")


محتوای text1 را در فایل مسیر داده شده ذخیره می کند.

چطوری یک فایل رو با برناممون اجرا کنیم

یکی از فرمانهایی که بدرتتون میخوره Shell هست که قالب کار رو واسطون با تصویر زیر نشون می دم :



این قسمتی که دورش دایره کشیدم مسیر فایل و فلش هم به لیستی اشاره می کنه که می تونین نوع اجرا رو تعیین کنید کلماتش سادست و احتیاجی به توضیح نداره .


Shell  Path name,[Window Style]


چند تا استفاده و مثال با حال :


             Shell "notepad", vbNormalFocus       'Opens Notepad


Shell "explorer", vbNormalFocus       'Opens Explorer


                     Shell "notepad C:\test.txt", vbNormalFocus      'Opens text file with notepad


 

حذف(Delete) کردن فایلها

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


Public Function Delete(FilePath As String)
Kill FilePath
End Function


Private Sub Command1_Click()
With CommonDialog1
.CancelError = False
.ShowOpen
End With
Text1.Text = CommonDialog1.Filename
End Sub


Private Sub Command2_Click()
Delete Text1.Text
End Sub

چک کردن وجود فایل ها یا فولدر ها

این کد خیلی تو برنامه هایی که با شاخه ها فایل ها و فولدر ها ارتباط دارن به درد میخوره.می تونین با این تابع وجود فایل ها یا فولدر هایی که حتی اگه Hidden هم که باشن چک کنین.


Public Function PathExists(ByVal Pathname As String, Optional ByVal IsFolder As Boolean = False) As Boolean
  PathExists = (Dir$(Pathname, vbArchive + vbHidden + vbReadOnly + vbSystem + IIf(IsFolder, vbDirectory, 0)) <> "")
End Function