ABA


"עבודה עם מחרוזות - VB."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6751 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6751
T_M_W

   22:06   12.08.03   
אל הפורום  
  עבודה עם מחרוזות - VB.  
 
  
אני צריך פונקציה ואת אופן השימוש בה שיודעת להפריד מחרוזת.

למשל יש לי מחרוזת כזאת

abc.def

אני רוצה לקבל את מה שיש לפני הנקודה במחרוזת ומה שיש אחרי הנקודה.

תודה רבה!

"כל טוּב לאדוני"


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הפונקציה Split . eliran33 12.08.03 23:21 1
     תודה רבה :) T_M_W 13.08.03 02:42 2
  יש לי בעיה עם השיטה הזאת, T_M_W 15.08.03 18:46 3
     כנס ... eliran33 16.08.03 21:54 4
         כנס בבקשה, T_M_W 16.08.03 22:35 5
             ככה yoash 16.08.03 23:30 6
                 תודה רבה :) T_M_W 17.08.03 13:05 7

       
eliran33

   23:21   12.08.03   
אל הפורום  
  1. הפונקציה Split .  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 12.08.03 בשעה 23:22 בברכה, eliran33
 
קודם כל תיצור משתנה ... נגיד ...

dim varTemp as Variant
dim strFullString as string

strFullString = "abc.def"

אחר כך תרשום כך :
varTemp = split(strFullString,".")

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

בסוף הפיצול זה מגדיר מחדש את המשתנה שהגדרנו (varTemp)
והופך אותו למערך (אתה יודע מה זה נכון ??)
כך שאנחנו ניגשים לכל איבר בו על ידי
msgbox varTemp(0)
msgbox varTemp(1)
msgbox varTemp(2)
וכו ...

סתם טיפ קטן ....

כדי לדעת את גודל המערך תשתמש בפונקציה UBOUND ...

בהצלחה !!!

***את השורות קוד שכתבתי תעתיק ותיישר לשמאל שיהיו הגיוניות


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   02:42   13.08.03   
אל הפורום  
  2. תודה רבה :)  
בתגובה להודעה מספר 1
 
   "כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   18:46   15.08.03   
אל הפורום  
  3. יש לי בעיה עם השיטה הזאת,  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 15.08.03 בשעה 18:46 בברכה, T_M_W
 
זה לא שלא הצלחתי להשתמש בה, היא לא מתאימה לי.

אני צריך להפריד בין שם קובץ לבין הסוג שלו. בשיטה הזאת הכל טוב ויפה אבל מה קורה אם יש נקודה בשם הקובץ? הרבה בעיות.
אני צריך פונקציה שיכולה להפריד מהקצה הימני של המחרוזת עד לנקודה הראשונה ומהנקודה הכי ימנית עד ל \ הכי ימני.

לדוגמא:

אם יש לי נתיב כזה

c:\dir\clipname.divx.avi

נוצרת בעיה עם השיטה שהצגת.

תודה רבה.

"כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
eliran33

   21:54   16.08.03   
אל הפורום  
  4. כנס ...  
בתגובה להודעה מספר 3
 
   אחי ... זה לא שכתבו פונקציה עבור כל מקרה ומקרה , תתעמק קצת בתכנות אתה תבין שכשכותבים פונקציות כותבים אותם לא למקרה ספציפי אלא שיהיו כלליות שכולם יוכלו להשתמש בהם .
תפקיד התוכניתן הוא לשלוט בפונקציות האלה ולהתאים אותם למטרה שלו ...
מקווה שלא זיינתי לך את השכל יותר מידי אבל זה מה שלימדו אותי ...

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

מה שאתה צריך לעשות זה להשתמש רגיל בפונקציה SPLIT ופשוט לקחת את האיבר האחרון במערך (שזאת אומרת מהנקודה הכי ימנית עד לסוף . ולשאר האיברים תעשה JOIN או משהו , כך תפריד בין הסיומת לשם הקובץ ...

מקווה שעזרתי לך ... בהצלחה !


ד"א ... מצטער שלקח לי יום שלם לענות ... אני בצבא ואין לי כל כך זמן למחשב בבית .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   22:35   16.08.03   
אל הפורום  
  5. כנס בבקשה,  
בתגובה להודעה מספר 4
 
  

ברור שפונקציה היא דבר כללי. מן משוואה שמשהו תלוי שמשהו אחר.

בקשר לפתרון השני, עקרונית זה עובד חלק, אבל זה לא כזה גאוני. למעשה זה תיכנות נכון אבל שגוי. אני צריך רק את שני התאים האחרונים של המערך והתוכנה יכולה ליצור ממש סתם המון תאים שאין בהם שימוש.

שמעתי על פונקציה בשם RIGTH שיודעת לחלץ תווים מהקצה הימיני (מן הסתם) של המחרוזת, השאלה איך משתמשים בה.

ושוב הפתרון שהצגת פה הוא נכון אבל לא יעיל.

בקשר לצבא - גיוס נעים

תודה רבה!!!


"כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yoash

   23:30   16.08.03   
אל הפורום  
  6. ככה  
בתגובה להודעה מספר 5
 
   תעבוד בצורה הבאה:
בעזרת הפונקציה instrb תמצא את המופע הכי ימני של הנקודה ואז בעזרת mid וקצת מתמטיקה תוכל לפרק את המחורוזת

שם קובץ שווה mid(text,1,len(text)-instrb(text,"."))= b
שם קובץ שווה mid(text,len(text)-instrb(text,"."),len(text))= b

כתבתי את b בשביל לסדר את השורה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   13:05   17.08.03   
אל הפורום  
  7. תודה רבה :)  
בתגובה להודעה מספר 6
 
  
זה יעיל

"כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net