למומחים בלבד!

-Nael-

New member
למומחים בלבד!

שלום, איך אני יכול לעשות שאם בתיבת טקסט מתי שיקלידו : window. ישר יופי לי תפריט פופאפ (form1.popupmenu w) ??? ותודה בן לאדן!
 

kernel32

New member
הגיע זמן KERNEL32

באירוע KEYUP של תיבת הטקסט תבדוק את אורך המילה שהוקלדה (LEN), אם היא בת 7 תוים, תבדוק אם היא WINDOWS אם כן תעשה form1.PopupMenu X בהנחה ש X הוא התפריט שלך... קרנל.
 

hazgul

New member
עדיף לעשות את זה עם

אירוע ה CHANGE של תיבת הטקסט
 

kernel32

New member
חברים יקרים

זה נכון שמבחינת אורך התחביר , הכי קל זה לעשות את הבדיקה ב CHANGE ולא אורך אלא לבדוק אם זה WINDOWS אבל צריך גם לחשוב על יעילות. CHANGE לדוגמא, יקרה במצבים בהם אירוע KEYUP לא יופעל. בדיקת אורך, היא פשוטה יותר (מבחינת משאבים) כך שעדיף שבדר"כ תהיה בדיקת אורך, ורק אם האורך מתאים תתבצע הבדיקה הגוזלת משאבים של המילה עצמה שהרי לרוב, המילה לא תהיה WINDOWS וזה ביזבוז! קרנל.
 

shai_shai_shai

New member
תשובה...

אני לא מבין למה צריכים למדוד את האורך ואז לבדוק עם זאת המילה. פשוט באירוע change תבדוק עם המילה היא window הנה דוגמה: private sub text1_change() if text1.text = "window" then form1.popupmenu bla bla bla else end if end sub עם אתה רוצה שהתפריט גם יופיע לך בנקודה מסויימת בטופס אז תגדיר לו גם את המיקום x ואת ה y שאתה רוצה בו את התפריט
 

mitke

New member
בעקרון, פעולות על משתנים

מסוג String הן פעולות בזבזניות מבחינת זכרון, ביחוד השוואת String אחד למשנהו. אם אכפת לך ממהירות ביצוע, בעיקר בפרוייקטים גדולים, אתה תרצה לבצע כמה שפחות השוואות של String. תמיד עדיף למשל לכתוב If Len(MyString) = 0 Then ולא If MyString = "" Then מבחינת ביצועי CPU, הפקודה הראשונה מהירה כמעט פי 3.
 
למעלה