שנוי שפה בVB3

arye9

New member
שנוי שפה בVB3

אני מנסה למצוא קוד לשנוי השפה (עברית/אנגלית). קבלתי שתי תשובות שאחת מהן היא כנראה רק לגבי VB5-6. ותשובה שניה בעזרת SendKeys עם שמוש ב + (Alt) ו % (Shift). ניסיתי להעזר ב עזרה של בייסיק וכתבתי את ה + % בכל מיני צרופים אך לא הצלחתי. (רשמתי את הנסיונות בכפתור קומנד ואחרי כל לחיצה ניסיתי לראות אם יש שנוי בשפה או שנוי בכוון הסמן שבטקסט בוקס). האם משהו יכול לעזור לי ולרשום לי את הקוד המלא שאני צריך לרשום? בתודה אריה
 

mr. help

New member
הקוד המלא הוא...

תוסיף שני לחצנים ותרשום את הקוד הבא: (תלחץ עכשיו CTRL+SHIFT) Private Declare Function ShellExecute Lib ``shell32.dll`` Alias ``ShellExecuteA`` (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Declare Function GetKeyboardLayout Lib ``user32`` (ByVal dwLayout As Long) As Long Private Declare Function ActivateKeyboardLayout Lib ``user32`` (ByVal HKL As Long, ByVal flags As Long) As Long Private Const HKL_RE = &H8 Private Const Hebrew_Lng = 67961869 Private Const English_Lng = 67699721 Private Sub Command1_Click() Call ActivateKeyboardLayout(Hebrew_Lng, HKL_RE) ` שינוי לעברית End Sub Private Sub Command2_Click() Call ActivateKeyboardLayout(English_Lng, HKL_RE) ` שינוי לאנגלית End Sub תודיע לי מה קורה MR.help
 

mr. help

New member
אתה יכול פשוט...

להעתיק את כל הקוד שנתתי לך לויזואל בייסיק אבל תשנה את כל ה: `` ל: `` , ובשורה הראשונה של הקוד תמחק את ה: () `` אחרי ה: AS LONG אני יודע שזה קצת מסובך אבל.... אם לא הבנת תגיד... בברכה MR. help
 

arye9

New member
תודה + המשך

תודה על תגובתך. לצערי זה לא מצליח אני מקבל הודעות שגיאה כבר מהתחלה על: Private declare וכן על: Privat const ניסיתי לעשות קצת שינויים ואז קבלתי הודעה (בלחיצה על הכפתור) שהפונקציה לא מוכרת. אני לא רוצה להתריד אותך אבל אולי זה לא תומך בVB3? אם לדעתך זה תומך ויש לך קצת זמן תנסה להסביר לי ביתר פרוט. ואולי הבחורצ`יק שהתפלא שמשתמשים עדיין בVB3 צודק עוד פעם תודה רבה אריה
 

qr

New member
לא מקורי משלי

Option Explicit Private Const KLF_REORDER = &H8 Private Const lang_Hebrew = 67961869 Private Const lang_English = 67699721 Private Declare Function ActivateKeyboardLayout Lib ``user32`` (ByVal HKL As Long, ByVal flags As Long) As Long Private Sub optEnglish_Click() ` ùéðåé äùôä äôòéìä ìàðâìéú Call ActivateKeyboardLayout(lang_English, KLF_REORDER) Text1.SetFocus End Sub Private Sub optHebrew_Click() ` ùéðåé äùôä äôòéìä ìòáøéú Call ActivateKeyboardLayout(lang_Hebrew, KLF_REORDER) Text1.SetFocus End Sub Private Sub cmdExit_Click() End End Sub
 

arye9

New member
תודה +המשך

תודה על תשובתך. נראה לי שזה לא תופס ב VB 3 אלא בוורסיות מתקדמות יותר. האם יש לך הצעה אחרת אולי איך להפעיל את ה ALT+SHIFT (ראה את שאלתי הראשונה)? תודה אריה
 

qr

New member
VB3

זו גרסה של 16 ביט. כיום אין תמיכה ב API לסביבות אלו, לכן חבל להשאר עם גרסה ישנה. תזכור גם שהפניית השפה לא קשורה ל VB , אלא למערכת ההפעלה.
 

arye9

New member
כן אני יודע

האמת שכמעט ואיני משתמש בVB אלא יותר באקסס, כך שחבל לי לקנות VB5/6. אבל פתאום בא לי לשפץ תוכנת לימוד הקלדה שעשיתי לפני שנים בQB ורציתי לשנות את השפה באופן אוטומטי, כאשר מתאמנים על עברית/ אנגלית. בכל מקרה תודה רבה על העזרה כמובן תודה רבה גם לכל המשתתפים בעזרה אריה
 
למעלה