ABA


"קריאה מקובץ TXT בעזרת C#"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11194 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11194
bmx-boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
2991 הודעות, 2 פידבק
   22:45   26.02.13   
אל הפורום  
  קריאה מקובץ TXT בעזרת C#  
 
   יש לי תוכנה שכתבתי שעושה משהו אבל זה הכל Hard Coded.

אני רוצה לקרוא מתוך קובץ שמכיל כ-1,000 שורות ולמצוא שורות ספציפיות.
לדוגמא:
Probe=ServerName

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

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

ProbeName = ServerName_Probe

ואת כל אלו אני רוצה לשייך לאותו שרת..

אז איך אני קורא טקסט מקובץ שורה אחרי שורה ומפלטר את כל הנתונים האלה שאני רוצה?
(אני מאד ירוק ב C#, אז אשמח למשהו פשוט..)



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

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה פשוט.. VeNom  26.02.13 23:16 1
  המחלקה File ממש נוחה.. inno3D 26.02.13 23:22 2
  תודה רבה bmx-boy  27.02.13 00:18 3
     מה הכוונה אתה בודק אם התא i שווה לתאים לפניו? inno3D 27.02.13 00:43 4
         נגיד ככה bmx-boy  27.02.13 02:45 5
             כמה שרתים בסוף יהיו לך? תמיד הכי הרבה 3? inno3D 27.02.13 09:04 6
                 אז זהו שלא.. bmx-boy  27.02.13 14:45 7
                     אז כל פעם שאתה מוסיף שרת תבדוק שהוא לא מופיע.. inno3D 27.02.13 19:26 9
             מה הבעיה לעבור על כל התאים הקודמים ולראות שאתה לא מוסיף משהו קיים? dyermaker  27.02.13 18:25 8
                 לא אמרתי שזה קשה.. bmx-boy  28.02.13 16:04 10
  עוד אפשרות זה regex :) sharkk 28.02.13 17:23 11

       
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   23:16   26.02.13   
אל הפורום  
  1. זה פשוט..  
בתגובה להודעה מספר 0
 
   אתה יכול להשתמש בקוד הזה:

string lines = File.ReadAllLines(@"c:\path\filename.txt");
foreach(string line in lines)
{
if(line == "Probe=ServerName")
{
string serverName = line.Split('=').LastOrDefault();
// continue here
}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   23:22   26.02.13   
אל הפורום  
  2. המחלקה File ממש נוחה..  
בתגובה להודעה מספר 0
 
   הכי נוח פשוט לעשות מערך של סטרינגים ואז לשמור את כל הקובץ בתוך מחרוזות

מה אתה בדיוק רוצה לעשות עם כל המידע?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmx-boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
2991 הודעות, 2 פידבק
   00:18   27.02.13   
אל הפורום  
  3. תודה רבה  
בתגובה להודעה מספר 0
 
   מצאתי באמת שזה קל פתאום חחחח
רק דבר אחד שהוא יותר קשור ללוגיקה.
אני מכניס את כל שרתים למערך אחד.. ואני כל הזמן בודק אם התא מס i במערך שווה לתאים לפניו..
יש לכם רעיון למימוש?
ניסיתי כל מיני וכל פעם לא הצלחתי מחדש חחחח



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   00:43   27.02.13   
אל הפורום  
  4. מה הכוונה אתה בודק אם התא i שווה לתאים לפניו?  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmx-boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
2991 הודעות, 2 פידבק
   02:45   27.02.13   
אל הפורום  
  5. נגיד ככה  
בתגובה להודעה מספר 4
 
   יש לי שורה
probe=servername
אז עשיתי נגיד
servernames{i} = servername

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

בסוף המערך צריך לתת לי

server1
server2
server3

ואני רוצה למנוע כפילויות שהוא יתן לי
server1
server2
server2
server3
server3
server3
server3


הצלחתי להסביר?



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   09:04   27.02.13   
אל הפורום  
  6. כמה שרתים בסוף יהיו לך? תמיד הכי הרבה 3?  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmx-boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
2991 הודעות, 2 פידבק
   14:45   27.02.13   
אל הפורום  
  7. אז זהו שלא..  
בתגובה להודעה מספר 6
 
   זה למעשה חלק ממערכת ניטור שהיום קיימת באירגון שלי ואנחנו רוצים להטמיע באירגונים נוספים..

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



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   19:26   27.02.13   
אל הפורום  
  9. אז כל פעם שאתה מוסיף שרת תבדוק שהוא לא מופיע..  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dyermaker 
חבר מתאריך 4.2.03
1644 הודעות
   18:25   27.02.13   
אל הפורום  
  8. מה הבעיה לעבור על כל התאים הקודמים ולראות שאתה לא מוסיף משהו קיים?  
בתגובה להודעה מספר 5
 
   זה לא כאילו שיש פה שיקול של סיבוכיות זמן ריצה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmx-boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.8.02
2991 הודעות, 2 פידבק
   16:04   28.02.13   
אל הפורום  
  10. לא אמרתי שזה קשה..  
בתגובה להודעה מספר 8
 
   פשוט אמרתי שהסתבכתי עם זה קצת..
לפעמים קורה שאני יושב ולא מצליח להתרכז מספיק בשביל לחשוב איך אני עושה את זה (מי שבעל ניסיון עושה את זה בלי בעיה, אבל מי שנחשב למתחיל בתחום זה לא בא לו בקלות כל כך).

בכל אופן,
הצלחתי, תודה לכם



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   17:23   28.02.13   
אל הפורום  
  11. עוד אפשרות זה regex :)  
בתגובה להודעה מספר 0
 
   http://www.dotnetperls.com/regex-match

Go For It!


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

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

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



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