תשובה מלאה
אפשר להשתמש בפונקציה $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 הכל יהיה בסדר. אז, אם אתה צריך עוד עזרה, או שלא הבנת, או שלא עבד, אז רק תכתוב.