שאלה בקשר לתיבת טקסט ב-VB

שאלה בקשר לתיבת טקסט ב-VB

האם יש אפשרות לבדוק קטעים מסויימים בתוך התיבת טקסט? למשל אם כתוב WR KUKU MOSHE ,לבדוק כל מילה בנפרד ? אם כן ,מה הסינטקס תודה
 

shai_shai_shai

New member
תשובה...

תיכנס לאתר: http://forums.ort.org.il/scripts/showm.asp?which_forum=53 יש שם שאלה על מחשבון משוכלל איך בונים מחשבון שמקבל תרגיל שלם ופותר אותו התשובה שאחרי זה היא של מלכה והיא עונה על זה ועם זה התאים למחשבון זה מתאים גם לזה
 

shai_shai_shai

New member
תשובה

תיכנס לאתר: http://forums.ort.org.il/scripts/showm.asp?which_forum=53 יש שם שאלה על מחשבון משוכלל איך בונים מחשבון שמקבל תרגיל שלם ופותר אותו התשובה שאחרי זה היא של מלכה והיא עונה על זה ועם זה התאים למחשבון זה מתאים גם לזה
 
הכוונה היא

אני רוצה לקבל מהמשתמש פקודות ,נגיד משהו כמו "AC OOP DFGDF" סתם משהו,עכשיו אני רוצה לבדוק את המילה הראשונה שהוא כתב ואחרי זה השנייה והשלישית וכך הלאה, האם זה אפשרי?
 

אמיר ט

New member
SPLIT Function

Description Returns a zero-based, one-dimensionalarray containing a specified number of substrings. Syntax Split(expression[, delimiter[, count[, compare]]]) String expression String Delimiter (in your case " ") ignore the rest, you dont need them Example: dim ArrayVar(4) as string ArrayVar = Split("kill -9 1234"," ") ------------------------------ ArrayVar(0) = "kill" ArrayVar(1) = "-9" .... ------------------------------ Amir.
 

The Guardian

New member
זה נראה הרבה יותר מסובך ממה שזה אמו

אפשר להשתמש בפקודה mid שזה מפריד אות מהמילה או חלק מהמילה..אני לא זוכר בדיוק אבל אם תכתוב mid( זה יכתוב לך בדיוק מה שצריך.. אתה מקציב לזה את ההתחלה של הסטרינג(נגיד האות השלישית של המשפט) ומקציב לזה את האורך של המשפט..בקיצור תנסה ותראה
 

VBS

New member
SPLIT

אי אפשר בפונקצייה mid כי הוא צריך להפריד מילים לא בעלות אורך שווה. חייבים להשתמש בפונקצייה split.
 

cald

New member
תשובה מלאה

אפשר להשתמש בפונקציה $Mid אבל צריך להשתמש גם בפונקציה Instr הפונקציה Mid מקבלת מחרוזת, מספר תו, ומספק התווים שרוצים לקבל אחרי התו שצוין. לדוגמא המחרוזת "Hello World": (a$=mid$("Hello World",2,3 הערך שיוחזר: "ell". עכשיו אתה רק צריך לדעת מאיפה לחתוך, ועד איפה לחתוך. בשביל יש את הפונקציה Instr. הפונקציה Instr מקבלת מיקום תו התחלתי, מחרוזת ראשונה, ומחרוזת שניה. המחרוזת הראשונה צריכה להיות המשפט השלם שבו רוצים לחפש משהו, והמחרוזת השניה, החלק שרוצים לחפש. הפקודה מחזירה את מספר התו שבו במחרוזת הראשונה, שבו מתחילה המחרוזת השניה. אם לא נמצא במחרוזת הראשונה קטע ששוה למחרוזת השניה, הפונקציה תחזיר 0 לדוגמא: ("a=instr(1,"Hello World","ell הפונקציה תחפש התוך המחרוזת "Hello World", את המחרוזת "ell", ותתחיל את החיפוש מהתו הראשון. הערך שיתקבל: 2, שמציין את מיקום התו שבו מתחיל החלק "ell" בתוך "Hello World" - - - עכשיו, אם אתה רוצה להפריד את המילים לפי רווחים, אז אתה צריך לעשות לולאה שמחפשת במחרוזת ההתחלתית רווח (" "). אם היא מחזירה 0, אז היא יוצאת מהלולאה כי זו המילה האחרונה, אם לא, היא מוצאת את המילה בעזרת התו האחרון שבו נמצא הרווח הקודם. טוב, נראה לי שמה שכתבתי פה מבלבל לגמרי, אז הנה הקוד: Dim Words(10) As String fc = 1 lw = 0 Do a = InStr(fc, Text1.Text, " ") If a = 0 Then Exit Do Words(lw) = Mid$(Text1.Text, fc, a - fc) lw = lw + 1 fc = a + 1 Loop lw = lw + 1 Words(lw) = Mid$(Text1.Text, fc, Len(Text1.Text)) הקוד יוצר מערך בשם Words בעל 10 מקומות, שאליהם נכנסות המילים, אתה יכול לשנות את המיקום איך שאתה רוצה, פשוט שנה את המספר בתוך הסוגריים בפקודה Dim Wrods(10) As String. בתוך המשתנה lw נמצא מספר המילים שהופרדו ברווחים, ככה שאתה יכול לבדוק את הנתונים שבמערך עם פקודת for פשוטה מ- 0 עד lw. * הקוד כתוב פה עם סוגריים וסימנים שממוקמים מוזר, כשתעתיק את הקוד לתוך VB הכל יהיה בסדר. אז, אם אתה צריך עוד עזרה, או שלא הבנת, או שלא עבד, אז רק תכתוב.
 
למעלה