פתיחת קובץ לעריכה

Deviation

New member
פתיחת קובץ לעריכה

אהלן יש לי קובץ HTML ואני רוצה לתת אפשרויות עריכה שלו. מה הכוונה? הכוונה לפתוח את הקובץ ולהוסיף לו קוד נוסף. אני לא מעוניין לערוך את כל הקובץ אלא רק חלקים שנמצאים נניח בין ההערות:
<! -- start here -->​
ל
<!-- end here -->​
איך פותחים את הקובץ לעריכה רק בין הטאגים האלו? תודה ובוקר טוב
 

ranpollak

New member
עם FSO נניח

אפשר לקרוא שורה שורה ולהשוות אותה עם השורה
<! -- start here -->​
ומתי שמגיעים לשורה המדוברת להתחיל להכניס את השורות למשתנה (עם הפרדת vbCrLf או \n בהתאם לשפה) עד שמגיעים לשורה
<!-- end here -->​
בסוף זורקים את הכל <textarea>.
 

Deviation

New member
איך אני קורא את זה שורה שורה?

זו בדיוק הבעיה שלי ..
תודה! נ.ב. שאלת על השפה? אז אני עובד עם JS
 

Deviation

New member
איך היא צריכה להיראות?

מצד שני, אני יכול לפתוח את הקובץ ובעזרת REGEXP לשלוף בין שני התגים, לא יותר יעיל?
 

ranpollak

New member
אממ אולי RexExp..

אני לא כל כך בטוח בקשר לזה, אבל תמיד אתה יכול לנסות ולבדוק
 

ranpollak

New member
ברח לי אנטר

משהו כזה:
while(!oFile.AtEndOfFile) { currLine=oFile.ReadLine(); }​
 

ranpollak

New member
תיקון

זה AtEndOfStream:
while(!oFile.AtEndOfStream) { currLine=oFile.ReadLine(); }​
 

ranpollak

New member
../images/Emo26.gif

לאחר בדיקה, RegExp קטן:
var rx=/^[\S\s]+<!-- start here -->([\S\s]+)<!-- end here -->[\S\s]+$/ig; var txtFile=oFile.ReadAll().replace(rx,"$1");​
 

Deviation

New member
טוב, נתקעתי ../images/Emo4.gif

איך פותחים את הקובץ לעריכה ומכניסים את כל התוכן שלו למשתנה ??
 

Deviation

New member
אז אפשר לקמבן ..

1. אני אפתח את הקובץ לקריאה, אכניס את התוכן שבין טאג א' לטאג ב' למשתנה. 2. אעשה שינויים על המשתנה 3. אפתח את הקובץ לעריכה, ונדרוס את התוכן שבין טאג א' לטאג ב' ע"י מה שיש במשתנה.. אפשרי מבחינת המגבלות של האובייקט? יש דרך אחרת אולי? במידה וכן, איך עושים את שלב 1 ??
 

ranpollak

New member
לא חושב שיש דרך אחרת

את שלב 1 אפשר לעשות עם ה rx שכתבתי בהודעה עם הנושא "
". מה שנראה לי בעיה זה שלב 3 כי ב FSO אין אפשרות לערוך קובץ קיים אלא רק ליצור חדש. מה שתצטרך לעשות זה לכתוב את התוכן של כל הקובץ, כולל התוכן שלא בין התגים, מחדש על התוכן הקיים.
 

roee

New member
משהו כזה

<%@ Language=JavaScript %> <% var oFSO=Server.CreateObject("scripting.filesystemobject") var File, Data; File = oFSO.GetFile(Server.MapPath("roee.htm")); Data = File. OpenAsTextStream(1,0) Response.Write(Data.ReadAll()); Data.Close(); Data = File.OpenAsTextStream(2,0) Data.Write("some data"); Data.Close(); Data = File. OpenAsTextStream(1,0) Response.Write(Data.ReadAll()); Data.Close(); File = null; delete File; oFSO=null %>​
 

ranpollak

New member
אבל אתה לא יכול באותה פתיחה..

כתבת "פתח אותו לעריכה ואז אתה יכול לקרוא". אפשר לפתוח לקריאה, לקרוא, לפתוח מחדש לכתיבה ואז לכתוב. בכל מקרה, סוג הפתיחה (1,2,8) הוא רק למטרה לשמה הוגדר והכוונה שלי הייתה שאי אפשר לפתוח במצב 2 (כתיבה) ולנסות להפעיל את המטודה ReadAll(), למשל.
 
למעלה