שלח תשובה

זירת השאלות

643
צפיות
10
תשובות

צריך עזרה ב FSO של JS

,‏ 30 בנובמבר, 2005

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

הינה הקוד של JS:



function cretFile()
{
var slist = document.rnl.selectrn;
var i;
var rnts =";
for (i=0; i<slist.options.length; i++)
        {
    if (slist.options[i].selected)
    {
    rnts += slist.options[i].value;
    }
        }
txtrnd=document.rnl.rnlt.value = rnts;


var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\renderList.txt", true);
a.WriteLine(txtrnd);
a.close();
}



מודה מראש על העזרה.

תגיות:

10 תשובות

  1. BuildHome הגיב:

    איפה אתה מנסה לעשות ירידת שורה?
    לא ראיתי בקוד היכן אתה מנסה לעשות ירידת שורה (אולי פספסתי את זה).

  2. master7 הגיב:

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

    הינה הסקריפט:


    function ShowFileList(fil)
    {
       var fso, f, fc, s;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       f = fso.GetFolder(fil);
       fc = new Enumerator(f.files);
       s = "";
       for (;!fc.atEnd(); fc.moveNext())
       {
        s += fc.item();
        s += "<br>";
       }
        shlist.innerHTML=s;
        shlist.style.fontSize='14';
              shlist.style.fontFamily='Arial';
    }

    מודה מראש על העזרה.

  3. BuildHome הגיב:

    תשובה
    נסה כך:
    var fc = fc.item();
    fc = fc.substr(fc.lastIndexOf("\")+1,fc.length;

  4. master7 הגיב:

    תודה אך אני עדיין צריך עזרה
    הצלחתי להציג רשימת קבצים עם CHECKBOXS עכשיו אני מנסה ליצור קובץ
    טקסט עם הערך שבחור מה – CHECKBOX אך הקובץ נוצר ריק ניסיתי להעביר
    את הערכים מה CHECKBOX לשדה של TEXTAREA הוא רושם לי undefined
    אני לא מבין למה

    הינה הסקריפט:


    <script>
    function ShowFileList(fil)
    {

       var fso, f, fc, s, st, b, be;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       f = fso.GetFolder(fil);
       fc = new Enumerator(f.files);
       s = "";
       st = "";

       for (;!fc.atEnd(); fc.moveNext())
       {
        st=fc.item().Name;
        s+="<input type='checkbox' name='kh' value='"+st+"'>";
        s+=fc.item().Name;
        s+="<br>";
       }
        shlist.innerHTML= s;
        shlist.style.fontSize='16';
              shlist.style.fontFamily='Arial';
    }

    function trans()
    {
        shvl=document.txtfl.kh.value;
        document.txarea.shlis.value = shvl;
    }

    function cretFile()
    {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var a = fso.CreateTextFile("C:\fileList.txt", true);
    stxtrnd=document.txtfl.kh.value;
    a.WriteLine(stxtrnd);
    a.close();
    }

    </script>

    מודה מראש על העזרה.

  5. BuildHome הגיב:

    תעבוד כמו שצריך
    תיגש לשדות בעזרת JS תקני, למשל:
    document.getElementById('kh').value;
    תצטרך לשים ל-ID גם מספר ייחודי, למשל מספר עולה בלולאה שלך
    כך שלא יהיו 2+ שדות עם אותו ID.

  6. master7 הגיב:

    יש לי עוד שאלה בקשר ל REPLACE
    אני מנסה להחליף כמה מילים בטקסט שיש במילים אחרות אך הסקריפט מחליף
    רק את המילה הראשונה בטקסט או את האות הראשונה בתחלת הטקסט
    אני לא מבין למה הרי הפקודה אמורה להחליף את המילה המצויינת בסקריפט
    בכל התוכן של הטקסט

    הינה הסקריפט:


    str="The a The b The c The D";
        newstr=str.replace("The","x")
        document.frg.dfs.value=newstr;

    מודה מראש על העזרה.

  7. BuildHome הגיב:

    תשובה
    זה מחליף רק פעם אחת. תנסה לעשות לולאה בצורה הזו:
    str="The a The b The c The D";
    while(str.indexOf('The')>-1) str = str.replace('The','x')

  8. master7 הגיב:

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


    str=document.getElementById("txttest").value;
        wstr="\";
        strl="\\";

        while(str.indexOf(wstr)>-1) str = str.replace(wstr,strl);
        
        document.getElementById("txtres").value=str;

    ומשום מה זה לא עובד שמח לקבל תיקון לסקריפט

    מודה מראש על העזרה.

  9. master7 הגיב:

    סליחה את ה "" ל "\"
    תיקון סקירפט:


    str=document.getElementById("txttest").value;
        wstr="\";
        strl="\\";

        while(str.indexOf(wstr)>-1) str = str.replace(wstr,strl);
        
        document.getElementById("txtres").value=str;

    אשמח לקבל תיקון לסקריפט

    מודה מראש על העזרה.

  10. master7 הגיב:

    איך אני יכול לחתוך סיומת של קובץ
    איך אני חותך סיומת של קובץ ומחליף אותה בסיומת אחרת ב JAVASCRIPT.
    יש שדה של FILE שדרכו אני מקבל את הנתיב של הקובץ כלל את השם של
    הקובץ ואת הסיומת עכשיו אני רוצה לקחת את התוכן של השדה ומהסוף להחליף
    את הסיומת בסיומת אחרת לדוגמא אם יש לי קובץ של JPG אני רוצה להחליף לו
    את הסיומת ל TXT ולהציג את זה בדף HTML.

    מודה מראש על העזרה.

שלח תשובה