سلام،
فایل بانک اطلاعاتی رو میشه در ریسورس قرار داد؛ ولی تا اونجایی که اطلاع دارم برای ارتباط با اون ، باید در مکانی از هارد بازیابی/اکسترکت بشه و باهاش ارتباط برقرار کرد؛
موفق باشید.
سلام،
فایل بانک اطلاعاتی رو میشه در ریسورس قرار داد؛ ولی تا اونجایی که اطلاع دارم برای ارتباط با اون ، باید در مکانی از هارد بازیابی/اکسترکت بشه و باهاش ارتباط برقرار کرد؛
موفق باشید.
Public Function SaveResItemToDisk( _
ByVal iResourceNum As Integer, _
ByVal sResourceType As String, _
ByVal sDestFileName As String _
) As Long
'=============================================
'Saves a resource item to disk
'Returns 0 on success, error number on failure
'=============================================
'Example Call:
' iRetVal = SaveResItemToDisk(101, "CUSTOM", "C:\myDB.MDB")
Dim bytResourceData() As Byte
Dim iFileNumOut As Integer
On Error GoTo SaveResItemToDisk_err
'Retrieve the resource contents (data) into a byte array
bytResourceData = LoadResData(iResourceNum, sResourceType)
'Get Free File Handle
iFileNumOut = FreeFile
'Open the output file
Open sDestFileName For Binary Access Write As #iFileNumOut
'Write the resource to the file
Put #iFileNumOut, , bytResourceData
'Close the file
Close #iFileNumOut
'Return 0 for success
SaveResItemToDisk = 0
Exit Function
SaveResItemToDisk_err:
'Return error number
SaveResItemToDisk = Err.Number
End Function
ممنون زحمت کشیدید
کدی گذاشتید درست بود
حالا اگه بخوام این فایل پس از بسته شدن برنامه از بین ببرم باید از چه کدی استفاده کنم ؟؟
آخرین ویرایش به وسیله vbhamed : چهارشنبه 27 اسفند 1393 در 01:06 صبح
فکر میکنم حذف کردن فایل در زمان خروج از برنامه کافی باشه.حالا اگه بخوام این فایل پس از بسته شدن برنامه از بین ببرم باید از چه کدی استفاده کنم ؟؟
Kill "C:\myDB.MDB"روش های دیگه هم اینجا ذکر شده؛
ممنون دوست عزیز
از این روش استفاده کردم ولی فکر کنم قبلش باید فایل بسته بشه (آزاد بشه) و بعدش بتونم فایل حذف کنم
حالا چطور میتونم ببندمش ؟؟
ممنون میشم راهنمایی بفرمایید
آخرین ویرایش به وسیله vbhamed : چهارشنبه 27 اسفند 1393 در 01:06 صبح
مطمئن نیستم ولی از اونجایی که روش این تاپیک بر اساس بانک اطلاعاتی هست و از Data control استفاده شده، فکر میکنم با بستنش میتونید فایل رو هم ازاد کنید؛
Data1.Recordset.Close
Data1.Database.Close
فقط تست نکردم؛ تست کنید ببنید جواب میده یا نه...
البته بانک اطلاعاتی اکسس فایلی با پسوند .ldb میسازه که نشون دهنده باز بودن فایله؛ و به نظر میرسه که وقتی برنامه از حافظه خارج شد؛ ارتباط Data control با اون فایل قطع میشه و نیازی به بستن به صورت دستی بوجود نمیاد. چون اون فایل .ldbهم از بین خواهد رفت با بستن برنامه...
سلام مجدد خدمت دوستان واساتید گرامی
من از روشی که جناب vbhamed ذکر کردند ، برای چند زبانه کردن نرم افزارمیخوام استفاده کنمحالا میخوام بدونم چطور میتونم رشته های داخل برنامه رو هم چند زبانه کنم ؟!و سوال دیگه اینکه اگه یک رشته حدود 500 کاراکتر یا بیشتر باشه ، ایا بازم میشه از این روش استفاده کرد ؟
ممنون میشم راهنمایی بفرماییدبا تشکر
آخرین ویرایش به وسیله vbhamed : چهارشنبه 27 اسفند 1393 در 01:07 صبح
سلام
براي رشته هاي داخل برنامه بهترين راه اينه كه از يك شماره Id براي هر رشته استفاده كرده و ابتداي برنامه يا ابتداي نمايش هر فرم، رشته هاي مربوط به اون رو از ديتابيس بخونيد
ضمنا تعداد كاراكتر محدوديت خاصي نداره اگر بزرگ بود ميتونيد از فيلد memo استفاده كنيد
اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com
سلام
شوربختانه من تا حالا با اکسس کار نکردم ، در این زمینه کاملا مبتدی هستم
اگه براتون امکان داره یک فایل اکسس ایجاد کنید که کاراکتر بیشتر از 255 تا توش جا بگیره (اخه اون فایلی که شما تو برنامه تون استفاده کرده بودید رو نتونستم سایز فیلد هارو تغییر بدم !)
و یک مثال بزنید که چه جوری ID رو در فایل اکسس وارد کنم و بعدش چطوری توی برنامه فراخوانی کنم
ممنون میشم راهنمایی بفرمایید
باتشکر از حسن توجه شما
آخرین ویرایش به وسیله vbhamed : چهارشنبه 27 اسفند 1393 در 01:07 صبح
سلام
در زمينه كار با ديتابيس تو سايت نمونه زياد هست
Id يك فيلد در اكسس هست، ضمنا سايز فيلد اگر از نوع Text باشه نمي تونه خيلي زياد باشه بلكه بايد نوعش Memo انتخاب بشه
اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com
سلام
اگه داخل برنامه ای که زحمت کشیدید وساختید ، فراخوانی یک رشته رو هم بهش اضافه کنید (برای تغییر زبان) دیگه نور اعلا نور میشه
(توی سایت هم سرچ کردم ولی چیزی متوجه نشدم)
آخرین ویرایش به وسیله vbhamed : چهارشنبه 27 اسفند 1393 در 01:07 صبح
سلام
به برنامه ارتباطي نداره و تغييري توي اون نياز نيست، نوع فيلد بايد داخل بانك تعيين بشه
اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com
سلام
دوستان، اين روش يك سري مزاياي ديگه هم داره كه سایر روشها ندارند یا محدودیت بسیاری دارند که ميتونيد در زير ببينيد
1 - عبارات مشابه در فرمهاي مختلف نياز به ترجمه مجدد ندارند و به همين دليل تغيير ترجمه يك عبارت هم كار راحتيه و فقط يكبار انجام ميشه نه به تعداد اشياء
2 - زمان لازم جهت چند زبانه كردن يك برنامه به شدت كاهش پيدا ميكنه
3 - ميتونيد رشته هاي بسيار بزرگ رو هم به راحتي ترجمه كنيد مثلا يك مقاله بزرگ كه داخل تكست باكس Multiline هست چون ميتونيد براش فيلد Memo در نظر بگيريد و اين يعني عدم محدوديت
4 - با گسترش اين روش ميتونيد حتي اصوات و تصاوير رو هم ترجمه كنيد !!!! يعني مثلا براي زبان انگليسي از اصوات انگليسي و براي فارسي از اصوات فارسي استفاده كنيد
5 - ميتونيد با اين روش برنامه هايي كه توسط افرادي ديگه نوشته شده و فقط فایل exe اونها در دسترسه رو هم با در آوردن هندل اشياء اون برنامه ترجمه كنيد
آخرین ویرایش به وسیله vbhamed : چهارشنبه 06 مرداد 1395 در 16:16 عصر
اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com