باز کردن فایل HTML در WEB به وسیله ListBox

hozayn_xo

New Member
با عرض سلام خدمت تمامی دوستان عزیز. میخوام یه دونه آتوپلی واسه یه سری از برنامه ها و نرم افزار های کاربردی خودم بسازم. مث این دی وی دی های نرم افزاری که از بازار تهیه میکنیم. آتوپلی رو به این صورت طراحی کردم.
xf3z_untitled.jpg
جایی که به مشکل خوردم اینه که میخوام مثلا وقتی روی برنامه فتوشاپ توو لیست باکس کلیک کردم یه فایل اچ تی ام ال مربوط به توضیحات برنامه توو آبجکت وب برام باز بکنه. و اگه فتوشاپ انتخاب شده بود و روی باتِن راهنمای نصب کلیک کردم یه اچ تی ام ال دیگه که واسه راهنما هست توو آبجکت وب باز بشه. و همینطور اگه دوباره روو توضیحات کلیک کردم همون فایل مربوط به توضیحات دوباره لود بشه. و واسه باقی نرم افزار ها هم اینطوری باشه. من هرکاری کردم یا اصن باز نمیشد یا هم اینکه فقط اچ تی ام ال های مربوط به فتوشاپ باز میشد.
این هم قطعه کدیه که واسه لیست باکس توو بخشِ On Select نوشتم اما خب جواب نمیده :(
کد:
result = ListBox.GetSelected("ListBox1");
if (result == 1) then
    Web.LoadURL("Web1", "AutoPlay\\Docs\\Adobe Photoshop CC 20.0.4.26077.htm");
end
if (result == 2) then
Web.LoadURL("Web1", "AutoPlay\\Docs\\Adobe Dreamweaver CC 19.1.0.11240.htm");
end
بعد اینکه دوستان یه سوال دیگه... من این برنامه رو دو روزه که نصب کردم و زیاد باهاش آشنایی ندارم... میخواستم بدونم میشه که داخلش یه متغیر سراسری تعریف کرد که توو هر بخشی از برنامه بشه بهش دسترسی داشت؟ واسه این آتوپلی که میخوام ایجاد کنم فک کنم اگه همچین کاری بشه کرد تعداد دستورات برنامه کمتر بشه.
ممنون.
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلام
متغییر result ، به عنوان آرایه ی ایندکس دار (عددی) هست . بنابراین برای فراخونی اش باید بصورت آرایه باهاش رفتار کنید :


کد:
result = ListBox.GetSelected("ListBox1");
if (result==nil) then
return;
end

if (result[1] == 1) then
Web.LoadURL("Web1", "AutoPlay\\Docs\\Adobe Photoshop CC 20.0.4.26077.html");
end
if (result[1] == 2) then
Web.LoadURL("Web1", "AutoPlay\\Docs\\Adobe Dreamweaver CC 19.1.0.11240.htm");
end

بعد هم این طور شرط گذاشتن ، اصولی نیست . مثلا بیاد چند صد یا چند هزار تا نرم افزار داشته باشین ؛ در این صورت گذاشتن چند صد یا چند هزار شرط غیر ممکن و مخصوصا کار ویرایش را سخت میکنه .
بجاش ، در شی listbox ، در قسمت item data اش ، مسیر فایل html تون (یا هر مسیر یا اطلاعات مربوط به اون نرم افزاری که اضافه میکنین) را بهش اضافه کنین . بعد با تابع ListBox.GetItemData ، این اطلاعات را بگیرین و فایل تون را لود کنین .
بعد هم اینکه شی web و به طبع اون ، فایل html ، فکر نکنم مناسب کارتون باشه . میتونین به اشیاء دیگه (مثلا شی پاراگراف یا ریچ تکس باکس) و فایل های دیگه هم فکر کنین (مثلا دیتابیس ها) . البته باید تست کنین ببینین با کدوم راحت ترین .

شما ، هر متغییری که تعریف کنید و اجرا بشه ، از اون به بعد دیگه بصورت متغییر سراسری خواهد بود و در تمام رویدادها در دسترس هست . مگر اینکه متغییر را از نوع محلی تعریف کنید .
 

hozayn_xo

New Member
آهان. خیلی ممنون واسه اینکه وقت گذاشتین و قطعه کد رو تصحیح کردین. بعد اینکه واقعا با گفتن موضوع گت ایتم دیتا یکی از بزرگترین مشکلاتمو حل کردین. ازونجایی که واسه هربرنامه دوتا فایل اطلاعاتی نیاز دارم و هم اینکه فک کنم توو بخش آیتم دیتا فقط یه مسیر رو بشه ذخیره کرد، پس هم قطعه کد و هم گت آیتم دیتا لازمم میشه.
اره خب. من خودم هم همون ابتدا میخواستم از شی پاراگراف استفاده کنم اما بعدش یه سری موضوعات داخل توضیحات و راهنمای نصب باید اضافه میکردم که مجبور به استفاده از فایل HTML شدم.
آهان. پس خود به خود متغیر ها به صورت سراسری تعریف میشن. اینطوری باشه که خیلی بهتر هم میشه.
خیلی ممنونم واسه کمک و راهنماییتون.
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
آهان. خیلی ممنون واسه اینکه وقت گذاشتین و قطعه کد رو تصحیح کردین. بعد اینکه واقعا با گفتن موضوع گت ایتم دیتا یکی از بزرگترین مشکلاتمو حل کردین. ازونجایی که واسه هربرنامه دوتا فایل اطلاعاتی نیاز دارم و هم اینکه فک کنم توو بخش آیتم دیتا فقط یه مسیر رو بشه ذخیره کرد، پس هم قطعه کد و هم گت آیتم دیتا لازمم میشه.
اره خب. من خودم هم همون ابتدا میخواستم از شی پاراگراف استفاده کنم اما بعدش یه سری موضوعات داخل توضیحات و راهنمای نصب باید اضافه میکردم که مجبور به استفاده از فایل HTML شدم.
آهان. پس خود به خود متغیر ها به صورت سراسری تعریف میشن. اینطوری باشه که خیلی بهتر هم میشه.
خیلی ممنونم واسه کمک و راهنماییتون.

خواهش میکنم .
اگه چند نوع داده و اطلاعات برای یک قسمت (نرم افزار) نیاز دارین ، اصلا نیازی نیست که حتی در قسمت item data اطلاعاتی بریزید . میونید جداگانه یک آرایه ی چند بعدی درست کنید و با اون آرایه فقط کار کنید . یا اینکه یه آرایه ی چند بعدی ای بسازید و نرم افزارها را شماره بندی کنید . شماره ی اون نرم افزار را هم توی قسمت item data و هم به عنوان ایندکسِ اون آرایه ی چند بعدی مشخص کنید و اطلاعات تون را توی اون آرایه ی چند بعدی بریزید و اطلاعات تون را از آرایه ی چند بعدی بخونید .
 

hozayn_xo

New Member
خواهش میکنم .
اگه چند نوع داده و اطلاعات برای یک قسمت (نرم افزار) نیاز دارین ، اصلا نیازی نیست که حتی در قسمت item data اطلاعاتی بریزید . میونید جداگانه یک آرایه ی چند بعدی درست کنید و با اون آرایه فقط کار کنید . یا اینکه یه آرایه ی چند بعدی ای بسازید و نرم افزارها را شماره بندی کنید . شماره ی اون نرم افزار را هم توی قسمت item data و هم به عنوان ایندکسِ اون آرایه ی چند بعدی مشخص کنید و اطلاعات تون را توی اون آرایه ی چند بعدی بریزید و اطلاعات تون را از آرایه ی چند بعدی بخونید .
خیلی ممنون. این راه کاری که دادین بهترین راهکاره... با یه بار کدنویسی ادم میتونه با مقداری تغییرات توو بعضی از بخش هاش واسه دفعات بعدی هم ازش استفاده بکنه. خیلی ممنون بابت راهکار بسیار عالیتون.
 

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

بالا