הרקע לפונקציה
חבר שלי שלח לי מאמר שהוא לא פחות מ 15 עמודי word ואם הייתי שם את כל הטקסט בעמוד אחד פשוט הגולש היה מספיק לברוח 7 פעמים עד שהעמוד יגיע מהשרת. אי לכך בניתי את הפונקציה הנ"ל בשביל לחלק את הטקסט הארוך לדפים מספר לפי קטעי קוד שאשתול בפנים.
קוד הפונקציה<%
str = "This should be the text in the first page. "
str = str & "It can contain many texts and HTML tags that will be shown there."
str = str & "" & vbCrlf
str = str & "This is the SECOND page.. lets insert an image! "
str = str & "
"
str = str & "" & vbCrlf
str = str & "That is the 3rd page and the last one for this demo here."
str = str & "
Please Try This At Localhost... "
str = str & "" & vbCrlfDim a(16), x(16), sum, LASTPAGE
x(0) = 1
For i = 1 To 15
finish = ""
x(i) = Instr(x(i-1)+1,str,finish)
if x(i) > 0 then
LASTPAGE= I
sum = x(i) - x(i-1)
a(i) = Mid(str,x(i-1),sum)
end if
Next
dim thispage
if request("thispage") = "" then
thispage = 1
else
thispage = request("thispage")
end if
response.write a(thispage) & "
"
for i = 1 to lastpage
response.write "" & i & " "
next
response.write "
"
%>
הסבר
שתלתי בתוך הטקסט קטעי קוד (כמובן שלא יראו אותם) שיכריזו על סיום העמודים שימו לב: יש להקפיד בדיוק על אחרת ה instr לא ימצא אותם. אח"כ הגדרתי שני מערכים ורצתי אם לולאה והכנסתי את מיקום הקטע קוד למערך x והכנסתי את הקטע של הטקסט מהקטע הקודם עד הקטע החדש לתוך מערך a. מצאתי את הlastpage (מצאתי כמה עמודים יש ע"י שאמרתי לו שימשיך הלאה רק אם יש תשובה חיובית ל instr ושמה שמרתי את ה I (index) של העמוד האחרון. אחרי שכל הקטע מסודר במערך יש רק צורך להציג אותו וזה עשיתי ע"י הצגה של התא במערך ע"י שליחה של QueryString ובסוף כתבתי עוד לולאה שתציג את מספר העמודים לפי ה lastpage
|