PDA

View Full Version : سوال: فارسی نمودن پیامهای اکسس



saeed741
سه شنبه 03 اسفند 1389, 20:51 عصر
با سلام خدمت دوستان ومهندسین پرتلاش
من نیاز دارم که پیامهای اکسس را تبدیل به فارسی نماییم لطفا راهنمایی فرمایید

id1385
سه شنبه 03 اسفند 1389, 21:32 عصر
با سلام
کد زیر را در یک ماژول قرار بده



Option Explicit
Private Const WH_CBT = 5
Private Const GWL_HINSTANCE = (-6)
Private Const HCBT_ACTIVATE = 5
Private Type MSGBOX_HOOK_PARAMS
hwndOwner As Long
hHook As Long
End Type
Private MSGHOOK As MSGBOX_HOOK_PARAMS
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function MessageBox Lib "user32" _
Alias "MessageBoxA" _
(ByVal hwnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal wType As Long) As Long

Private Declare Function SetDlgItemText Lib "user32" _
Alias "SetDlgItemTextA" _
(ByVal hDlg As Long, _
ByVal nIDDlgItem As Long, _
ByVal lpString As String) As Long

Private Declare Function SetWindowsHookEx Lib "user32" _
Alias "SetWindowsHookExA" _
(ByVal idHook As Long, _
ByVal lpfn As Long, _
ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long

Private Declare Function SetWindowText Lib "user32" _
Alias "SetWindowTextA" _
(ByVal hwnd As Long, _
ByVal lpString As String) As Long

Private Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Long) As Long

Public Function MsgBoxFa(Prompt, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Tiltle = "", Optional HelpFile, Optional Context) As Long
Dim hwndThreadOwner As Long
Dim frmCurrentForm As Form
Set frmCurrentForm = Screen.ActiveForm

hwndThreadOwner = frmCurrentForm.hwnd

Dim hInstance As Long

Dim hThreadId As Long
Dim hwndOwner As Long
hwndOwner = GetDesktopWindow()
hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE)
hThreadId = GetCurrentThreadId()

With MSGHOOK
.hwndOwner = hwndOwner
.hHook = SetWindowsHookEx(WH_CBT, _
AddressOf MsgBoxHookProc, _
hInstance, hThreadId)
End With
MsgBoxFa = MessageBox(hwndThreadOwner, Space(35) & Prompt & Space(50), Tiltle, Buttons + vbMsgBoxRight + vbMsgBoxRtlReading)
End Function


Public Function MsgBoxHookProc(ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
If uMsg = HCBT_ACTIVATE Then
SetDlgItemText wParam, vbYes, "بله"
SetDlgItemText wParam, vbNo, "خير"
SetDlgItemText wParam, vbIgnore, "چشم پوشي"
SetDlgItemText wParam, vbOK, "تاييد"
SetDlgItemText wParam, vbCancel, "لغـو"
SetDlgItemText wParam, vbRetry, "تلاش مجدد"
UnhookWindowsHookEx MSGHOOK.hHook
End If
MsgBoxHookProc = False
End Function



روش استفاده از فانکشن بالا



MsgBoxFa "پايگاه داده براي پشتيبانگيري شناسايي نشد، لطفاً تنظيمات برنامه را چک نماييد ", vbExclamation, sourcFile


لینک نمونه : http://barnamenevis.org/showthread.php?221938-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A7%D9%86%D8%A8%D8%A7%D8%B1%D8%AF%D8%A7%D8%B1%D B%8C-%DA%A9%D8%A7%D9%85%D9%84/page11


موفق باشید66708

wolfstander
شنبه 07 اسفند 1389, 08:56 صبح
سلام دوست خوبمون id1385
فکر کنم سوالی که این کاربر عزیز داشته باشند، اینه که مثلا ایراداتی که نشون میده، مثل Error Duplicate Value رو چطوری میشه به فارسی نمایش داد
اگه منظور این دوستمون رو درست فهمیده باشم، میتونه از این فایل کمک بگیره
http://barnamenevis.org/attachment.php?attachmentid=41776&d=1262080099
به صورت فایل ورد هستش
اگه هم دوست داشت که میتونه از فایل کامل زیر که کاری از آقای قربانی هست، کمک بگیره
http://barnamenevis.org/attachment.php?attachmentid=24790&d=1224746412
البته زحمت شما رو هم نادیده نمیشه گرفت
به خصوص با برنامه انبار داری ای که نوشته اید
البته در مورد عکس نرم افزار حقوق و دستمزد شما هم سوال هست
میپرسیم

id1385
شنبه 07 اسفند 1389, 17:41 عصر
با سلام

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

موفق باشید.

saeed741
جمعه 19 فروردین 1390, 19:43 عصر
با سلام خدمت تمام دوستان از همکاری وراهنمایی شما کمال تشکر را دارم

محمد رضا انوری
سه شنبه 23 فروردین 1390, 09:12 صبح
با عرض سلام و ادب فراوان
بزرگواران عزیز من کد رو داخل ماژل قرار دادم ولی هیچ اتفاقی رخ نداد.
لطفاً من رو راهنمایی کنید. (من از اکسس 2007 و 2010 استفاده می کنم.)

wolfstander
سه شنبه 23 فروردین 1390, 10:10 صبح
سلام
شما به اونتها دقت کنید
فکر کنم تو جای درستی ننوشته باشید که عمل نمیکنه
اگه فرمتون رو بذارید، میتونم کمک کنم
چون خودم دارم از همین راه حل های دوستان استفاده میکنم و مشکلی نیست
توصیه من به شما اینه که یا از 2003 استفاده کنید یا از 2010
2007 اشکالات زیادی داره
مثلا ً کدهای Export عمل نمیکنه
شما نمیتونید به اکسل خروجی بفرستید و از این دست مسائل

محمد رضا انوری
سه شنبه 23 فروردین 1390, 10:17 صبح
با سلام
مهندس جان من کد بالا رو کپی کردم ولی این قسمت رو هرچی گشتم پیدا نکردم

MsgBoxFa "پايگاه داده براي پشتيبانگيري شناسايي نشد، لطفاً تنظيمات برنامه را چک نماييد ", vbExclamation, sourcFile
با تشکر فراوان . (دراکسس 2010 MSG BOX کجاست).

id1385
پنج شنبه 08 اردیبهشت 1390, 20:49 عصر
با سلام
خب عزیز جان شما اگه کد بالا رو توی یک ماژول کپی کنید بعد میایید هرجای قسمت کد نویسی برنامه MsgBoxFa با یک اسپیس بزنید براتون میاره نیازی به گشتن نیست :لبخند:


موفق باشید