אוקי, זה מוכן
אכן, צדקת בקשר לבעיית הרווחים, אשר לא חשבתי עליה באף תוכנה שבה השתמשתי בקטע הקוד שבניתי להפרדת מילים, כך יוצא שגם אתה עזרת לי. בניתי פונקציה בשם ClearSpaces, אשר פשוט מנקה את הרווחים מהמערך, ושמה את המילים אחת אחרי השניה. וזו הפונקציה (סברוטינה, יותר הכון): - - - Sub ClearSpaces() Dim Temp(100) As String, TempWRD For i = 1 To WRD If Words(i) <> "" And Words(i) <> " " Then TempWRD = TempWRD + 1 Temp(TempWRD) = Words(i) End If Next For i = 1 To 100 Words(i) = Empty Next For i = 1 To TempWRD Words(i) = Temp(i) Next WRD = TempWRD End Sub - - - העתק את קטע הקוד הנ"ל לתוך התוכנית שלך, ויש לך את הפונקציה ClearSpaces ועכשיו, אופן השימו בפונקציה. באירוע שבו מופרד ה TextBox למילים בודדות, לאחר קטע הקוד המפריד את המילים, עליך להוסיף את השורה: ClearSpaces וזהו, הרווחים נעלמו. ושוב, דוגמה של קוד מלא, הדורש שיהיו ב Form CommandButton, בשם Command1 TextBox, בשם Text1 והנה הקוד: - - - Dim Words(100) As String Dim WRD As Integer Private Sub Command1_Click() For i = 1 To 100 Words(i) = Empty Next WRD = 0 fw = 1 Do a = InStr(fw, Text1.Text, " ") If a = 0 Then Words(WRD + 1) = Mid$(Text1.Text, fw, Len(Text1.Text)): WRD = WRD + 1: Exit Do WRD = WRD + 1 Words(WRD) = Mid$(Text1, fw, a - fw) fw = a + 1 Loop ClearSpaces For i = 1 To WRD MsgBox "´" + Words(i) + "´" Next End Sub Sub ClearSpaces() Dim Temp(100) As String, TempWRD For i = 1 To WRD If Words(i) <> "" And Words(i) <> " " Then TempWRD = TempWRD + 1 Temp(TempWRD) = Words(i) End If Next For i = 1 To 100 Words(i) = Empty Next For i = 1 To TempWRD Words(i) = Temp(i) Next WRD = TempWRD End Sub - - - תעתיק אותו ל VB, תנסה לכתוב כמה מילים המופרדות בין הרבה רווחים, ותראה מה יקרה.