طریقه بازگشت به صفحه پیشین

sco

New Member
سلام دوستان گرامی
یک مشکل در انتقال به صفحات دارم و آن اینکه در ام ام بی می توان تعریف کرد از یک صفحه به صفحه مشخصی رفت و یا به صفحه قبل رفت (back) اما مشکلی که من دارم را بهتره با یک مثالی مطرح کنم من یک صفحه به نام صفحه "مقالات" دارم و یک صفحه به نام "اشخاص" و در هر دو صفحه لینکی برای ورود به صفحه سومی به نام "گالری عکس" خوب وقتی کاربر در صفحه مقالات لینک صفحه گالری را می زند و به صفحه گالری می رود و وقتی روی دکمه بک کلیک کند من می توانم لینک را دوباره به صفحه مقالات بدم اما مشکل اینجا ایجاد می شود که اگر کسی از صفحه "اشخاص" آمده باشد و روی بک کلیک کند به صفحه اشخاص بر نمی گردد به صفحه "مقالات" می رود چون لینک دکمه بک به صفحه مقالات است
باید چه تدبیری اندیشید تا وقتی هر کسی از هر صفحه ای به صفحه مشخصی می اید وقتی بک می زند دوباره به همان صفحه ای برود که از ان امده است؟
سپاسگذارم
 

splinter cell

Well-Known Member
شما میتونید توی اسکریپت شروع هر صفحه تون از یک متغیر استفاده کنید مثلاً LastPage=1 , LastPage =2 ,.... برای هر صفحه تون از این متغیر با اندیسهای دیگر استفاده کنید.
حالا توی اون باتن مربوط به باز گشت به صفحه قبلی از یک دستور if then استفاده کنید و این متغیر رو چک کنید و دستور بدین که اگر مثلا LastPage =2 بود برو به صفحه شماره 2 و الی آخر. امیدوارم کلیت کار رو گرفته باشید.
موفق باشید
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگر بخایم توصیه های محسن عزیز رو بصورت کد دربیاریم نتیجش اینه:
در اسکریپت Page Start هر صفحه، نام صفحه رو در یک متغیر ذخیره کنیم:
کد:
[FONT=Courier New][SIZE=2]Page$ = [color=#800000]'Articles'[/color][/SIZE][/FONT]
و در دکمه ی Back در دستور Page اون متغیر رو به عنوان پارامتر وارد کنیم:
کد:
[FONT=Courier New][SIZE=2][color=#000090][b]Page[/b][/color]("Page$")[/SIZE][/FONT]

و یا صرفاً از کد زیر در دکمه ی Back استفاده کنیم تا ما رو به آخرین صفحه ی بازدید شده ببره:
کد:
[FONT=Courier New][SIZE=2][color=#000090][b]Page[/b][/color]("LASTPAGE")[/SIZE][/FONT]
 

sco

New Member
مجددا سلام
از داشتن هم وطن هایی مثل شما که هم دانش دارند و هم مسئولیت بسیار خشنودم
از همه شما سپاسگذارم
شاد و سربلند باشید
 

sco

New Member
این دستورات کاملا عمل می کنند خصوصا به سادگی با دستور last page این مشکل حل شد
اما می خواستم بدونم دستوری مثل last view داریم آخه یه مشکل دیگه ای هم پیدا کردم و اون اینکه من دوتا movi دارم تو بقیه صفحات داخل یک movi درست عمل می کنه ولی وقتی کاربر از صفحه یک movi به صفحه movi دیگر می رود دستور last page عمل نمی کنه
با سپاس
 

splinter cell

Well-Known Member
من که زیاد متوجه حرفهاتون نشدم .امیدوارم بقیه بچه ها حرفتون رو گرفته باشند و راهنماییتون کنند :-(
اما عرض میکنم دستوری به این عنوان در بیلدر نداریم.
و احتمالا اگر منظورتون اینه که هر کدوم از این فیلمها توی یک صفحه اند پس شما باید برای هر کدوم از صفحه ها هم از همین متغیر استفاده کنید.
 

sco

New Member
حق با شماست شاید من خوب توضیح ندادم من دو فیلم درست کردم یکی اصلی و دیگری فرعی در فیلم اصلی من لینکی وجود دارد که وقتی کاربر روی آن کلیک می کند فیلم دوم فراخوانی می شود منظورم این بود که دستور لست پیچ در یک فیلم و در میان صفحات آن عمل می کند اما وقتی کاربر با زدن لینک وارد فیلم دوم می شود وقتی روی دکمه بک کلیک می کند دستور لست پیج برای برگشتن به صفحه قبلی که در فیلم اصلی است عمل نمی کند
شاد و سربلند باشید
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
این طور که من متوجه شدم، شما دو تا پروژه ی MBD رو با دستور Run یا RunMBD به هم مرتبط کردید و میخاید وقتی وارد پروژه ی دوم شدید بتونید با زدن یک دکمه به پروژه ی اول برگشته و به اون صفحه ای که از اون صفحه وارد پروژه ی دوم شدید بشید، یعنی آخرین صفحه ی مشاهده شده در پروژه ی اول رو.
فعلاً چیزی به ذهن من نمیرسه ولی اگه راه دقیقی وجود نداشته باشه شاید بتونید از CMDLine استفاده کنید (البته در صورتی که پروژه ها رو کامپایل کرده باشید)
 

sco

New Member
این طور که من متوجه شدم، شما دو تا پروژه ی mbd رو با دستور run یا runmbd به هم مرتبط کردید و میخاید وقتی وارد پروژه ی دوم شدید بتونید با زدن یک دکمه به پروژه ی اول برگشته و به اون صفحه ای که از اون صفحه وارد پروژه ی دوم شدید بشید، یعنی آخرین صفحه ی مشاهده شده در پروژه ی اول رو.
فعلاً چیزی به ذهن من نمیرسه ولی اگه راه دقیقی وجود نداشته باشه شاید بتونید از cmdline استفاده کنید (البته در صورتی که پروژه ها رو کامپایل کرده باشید)

بله دوست عزیز منظورم رو درست بیان کردید بازگشت به صفحه پیشینی که در پروژه دیگری است اما با هم مرتبطند
 

splinter cell

Well-Known Member
فکر کنم بشه به کمک فرامین Save Variable , Load Variable این متغیرها رو در هر صفحه بعد از ایجاد کردنشون در رجیستری ذخیره کنید. حالا با دکمه بازگشت دستور اجرای پروژه دوم رو بدین به این صورت

کد:
RunMBD("<SrcDir>\Second.mbd","Page 1")

بعد در اون صفحه اول بکمک Load variable مقدار ذخیره شده رو فراخوانی کنید و بکمک دستور

کد:
Page("page$")

برنامه رو به اون صفحه مورد نظر راهنمایی کنید.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
ممنون، این همون راه دقیق بود که محسن عزیز زحمتش رو کشید، همیشه گفتن چند فکر بهتر از یه فکره ! و البته گفتن لقمه رو نباید دور سر چرخوند !!! :wink:
در جهت تکمیل گفته های محسن باید بگم که میشه دو کد بالا رو در یک کد خلاصه کرد:
کد:
[FONT=Courier New][SIZE=2][color=#000090][b]RunMBD[/b][/color]("<[color=#0000FF]SrcDir[/color]>\Second.mbd","Page$")[/SIZE][/FONT]
 

جدیدترین ارسال ها

بالا