שלח תשובה

זירת השאלות

228
צפיות
18
תשובות

משהו בתוך הרקורסיה

,‏ 7 בפברואר, 2004

עשיתי פונקצייה רקורסיבית (סוף סוף) עכשיו ככה נראית הפונקציה

function showAllMessage(id,subject,level)
Response.Write(string(level," ") & subject & "<br>" & vbNewLine)
for a=0 to uBound(recArray,2)
if recArray(1,a) = id then
call showAllMessage(recArray(0,a),recArray(2,a),level+2)
end if
next
end function


הבעייה נמצאת כאן (חלק מתוך הפונקצייה)

Response.Write(string(level," ") & subject & "<br>" & vbNewLine)


החלק של ה-STRING בכל פעם במקום להדפיס לי רווח זה מדפיס את סימן ה-&
מישהו יודע איך לתקן את זה ובבקשה על תגידו לי לשיןם במקום ה-  T, את ה-vbTab כי אז אני צריך להשתמש בתגית pre ואני לא רוצה להשתמש בה
למישהו יש פיתרון

תגיות:

18 תשובות

  1. ניר טייב הגיב:

    הסתדרתי שתי שאלות…
    1. עשיתי לולאה שרצה על הפרמטר level של הפונקצייה וכותבת בכל ריצה של אינטרציה של הלולאה עוד רווח "&NBSP: " השאלה שלי האם יש דרך יותר טובה לעשות זאת???

    2. איך אני מעביר את הפונקציה לצד הלקוח ???

  2. זהר פלד הגיב:

    כן, להשתמש בפונקציה string….
    לא כל כך ברור לי למה קיבלת & במקום רווח, אבל זה בטוח לא אמור לקרות.
    נסה אולי בצורה הבאה:

    dim spacer
    spacer = string(level," ")
    Response.Write(spacer & subject & "<br>" & vbNewLine)

    יכול להיות שהשרשור שאתה מנסה לעשות פשוט מבלבל את ה script engine.

  3. ניר טייב הגיב:

    הנה… ועוד שאלה
    הבאתי כאן דוגמא לאיך שזה נראה בשימוש עם STRING
    וגם עשיתי שהתיבה של ההודעה (CSS) תהיה יותר קטנה ע"פ ה-Level (פרמטר)


    <span class="message" style="width: <% =100-level*2 %>%;display: none;" id="message[<% =id %>:<% =level %>]">

    וזה עובד מצויין אבל זה מוריד לי את האחוזים משמאל (כמו שאפשר לראות בדוגמא) איך אני עושה שהורדת האחוזים תבוא מימין ולא משמאל אני מתכוון שנגיד זה נראה כך :::
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    אז שזה יראה כך :::

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

  4. ניר טייב הגיב:

    מוזר שאני (ועוד 3 שאלות)
    מוזר שאני אף פעם לא חושב על האפשרות הזאת של ה-padding

    ושאלה 1::: בזמן ביצוע הקוד אתם מבצעים בדיקת IF אם ההודעה ריקה או לא
    ואם זה הודעה ראשית או לא ושמים את הנקודה בהתאם<???

    שאלה 2 ::: יש איזה שהוא מדריך על USERDATA כי אני רוצה גם להתמש בדבר הזה

    ושאלה 3::: איך אני מעביר את הרקורסיה לצד השרת ???

  5. ניר טייב הגיב:

    UP…
    השאלה הראשונה מופנית למנהלי האתר

  6. זהר פלד הגיב:

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

  7. ניר טייב הגיב:

    תיקון לשאלה 3
    * איך אני מעביר את הרקורסיה לצד הלקוח (XML, JS) משהו ?

  8. אוריקס הגיב:

    לא הבנתי בדיוק מה אתה רוצה בשאלה 1
    בקשר לשאלה 3, יש לך טעות יסודית. לא מעבירים רקורסיה ל XML, אלא XML הוא קובץ אשר מתעדכן כל הזמן…
    בקשר לאיך מעבירים למערך ב JS עניתי לך.

  9. ניר טייב הגיב:

    אוריקס… (ולכולם)
    נכון יש כאן את הנקודה בצד (ליד כל נושא)
    עכשיו להודעת האב יש נקודה כחולה
    לתגובה לא ריקה יש נקודה כתומה
    ולתגובה ריקה יש נקודה סגלגלה

    השאלה שלי האם הם מבצעים בדיקת מסוימת בצד השרת או בצד הלקוח
    בצד השרת הצלחתי השאלה שלי איך אני מעביר את הבדיקה לצד הלקוח

  10. אוריקס הגיב:

    אם אתה יודע להעביר את המערך לצד-
    לקוח, אז אתה יודע לעשות את הבדיקה בצד לקוח.

  11. אוריקס הגיב:

    בוא נגמור עם זה וזהו…
    תראה, דבר כזה לא יעבוד לך..

    <%
    var x= new Array();
    for (var i=0,i<=5,i++){
    x[i]=i;
    }
    %>
    <script language = javascript>
    newArray=<%=x%>;
    </script>

    זה לא יעבוד מכיוון שאתה לא יכול להעביר בצורה הזאת טיפוס נתונים מורכב… דבר כזה, למשל, יעבוד לך:


    <%
    var x= 77;
    %>
    <script language = javascript>
    clientNumber=<%=x%>;
    </script>

    עכשיו כל מה שנשאר לך זה טיפה לחשוב ולעשות לולאה…

  12. ניר טייב הגיב:

    יש עובד רק עוד שאלה קטנה…
    איך אני מבדיל במערכי JS שאני יוצר דרך שיטת ה-getRows בין שדה בעמודה A לשדה בעמודה B (שני העמודות מה-DB) בבקשה…

    תודה מראש

  13. ניר טייב הגיב:

    הא וגם
    אני דיי בטוח שהמערך של ההודעות כאן באתר גם מועבר לצד הלקוח
    אם אני צודק אז איך אתם מחביאים אותו (את המערך) כדי שאנשים לא יוכלו לראות אותו?

שלח תשובה