رفتن به مطلب
  • 0

top206

سوال

با سلام

دوستان من سورس دریافت آخرین اخبار رز بلاگ رو خریدم

منتهی یه مشکلی واسم پیش اومد اونم اینکه :

اگه من rss یه سایت دیگه رو خوندم که نیاز بود 50 تا ایتم رو بخونه باید 50 بار متغیر های ایشون رو تعریف کنم ؟؟؟ (که مطمئنم راه اصولی تری وجود داره)

من با حلقه فور و آرایه ها یه کارایی کردم ولی نتونستم برنامه رو راهندازی کنم

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

14 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

مطمعنن هچکدوم از دوستان نمیتونن کمک کنن به جز خود شخصی که این سورس رو نوشته صبر کنید وقتی اومدن جواب شما رو میدن

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من اینارو انجام دادم

یعنی نه تهنا این مورد بلکه موردی که تو لیست ویو شما تک تک معرفی کرده بودی من با حلقه تونستم کنترلش کنم و از کد اضافی جلوگیری کنم

مشکل اصلی من ساب matn هست با متغیر l1,l2,....

اینارو نمیشه کاری کرد که داینامیک تر بشه*باکلاس*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید من متغیر های l1,12,l3,l4 و... رو برای این تعریف کردم که هرکدوم ازاینها بیاد متن مطلب رو تو خودش نگه داره و درصورتی که کاربر هرکدوم رو خواست درجا بااون واسش بازبشه.

اشکالی هم نداره ازاین روش استفاده بشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب مثلا اگه خواستیم 150 تا خبر بخونه

باید 150 بار این کپی بشه که کار عاقلانه ای نیس

حتما باید یه راهی باشه که اینطور نشه

من از آرایه استفاده کردم ولی ارور میده

در اکتیویتی pejman3هم همینطوره اگه خبرا 150 تا باشه باید 150 بار اون شرط ها تکرار بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

باید بگیریشون اول تو یه لیست بعد ردش کنی دوباره به یه استرینگ بعد همون استرینگ رو بگیری ..من ندیدم ولی اگه ایتم زیاد که حتما باید تو لیست بگیریش این تنها کمکم بود

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. معذرت میخوام من نبودم... و گفته بودم سوالی داشتید راجع به این سورس مطرح کنید مشکلو باهم حل میکنیم.

حق باشماست من دیگه از حلقه فور و اینا استفاده نکردم برای اینکه 6تا مطلب بود و بالاخره خواستم کارو سریع راه بندازم.

به سورس توجه کنید،شما منظورتون این قسمته که کدها چند بار تکرار شده درسته؟

web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[1].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[2].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[3].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[4].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[5].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')[6].innerHTML)")

web.executeJavascript(WebView1,"B4A.CallSub('matn1',true,document.getElementsByTagName('description')[1].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('matn2',true,document.getElementsByTagName('description')[2].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('matn3',true,document.getElementsByTagName('description')[3].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('matn4',true,document.getElementsByTagName('description')[4].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('matn5',true,document.getElementsByTagName('description')[5].innerHTML)")
web.executeJavascript(WebView1,"B4A.CallSub('matn6',true,document.getElementsByTagName('description')[6].innerHTML)")

همونطور که میدونید 6تای اول برای عنوان مطلب و 6تای دوم برای متن هست . که همونطور که شماره گفتید میشه با حلقه فور هم با یک خط کد اینکارو کرد.

برای عنوان به این صورت:

Dim i As Int
   For i=1 To 6
web.executeJavascript(WebView1,"B4A.CallSub('title',true,document.getElementsByTagName('title')["&i&"].innerHTML)")
Next

به همین راحتی. یعنی از 1تا 6 میگیره عنوان هارو. اما اگه واسه شما 50تاس تغییرش بدید به 50.

و برای متن هم بازم همونکار:

Dim ii As Int
For ii=1 To 6
web.executeJavascript(WebView1,"B4A.CallSub('matn1',true,document.getElementsByTagName('description')["&ii&"].innerHTML)")
Next

این هم همینطور و عدد رو میتونید بذارید50.

موفق باشید!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید من زیاد نیستم...

همونطور که نیما عزیز گفت تنها راش اینه که تو لیست بریزی.

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

شما به سورس دقت کنید این قسمت رو حتما دیدید:

Sub title(a As String)
ListView1.AddSingleLine(a)
End Sub

که میاد عنوان متن هارو یکی یکی همشو تو همین ساب میگیره و میریزه داخل لیست ویو. درسته؟

اما حالا برعکس برای متن چندتا ساب ساخته شده matn1,matn2,matn3...

حالا میتونی به جا این. مثل گرفتن عنوان عمل کنی که فقط یه ساب استفاده شده و ریخته میشه تو لیست. یه لیست تعریف کنید و اونارو بریزید داخلش.

یعنی درکل اینجوری میشه بجای چند تا ساب:

Dim i As Int
For i=1 To 6
web.executeJavascript(WebView1,"B4A.CallSub('matn',true,document.getElementsByTagName('description')["&i&"].innerHTML)")
Next

همشو دادم به یه ساب... به نام matn

حالا میتونم ساب رو درست کنم و به لیست خودم بدم.

Sub matn(b As String)
ListView2.AddSingleLine(b)
End Sub

امید وارم فهمیده باشید.

باور کنید من وقت ندارم.... دارم رو پروژه ای کار میکنم و زیاد هم خونه نیستم که سورس جدید آماده کنم.*غمگین*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

متاسفانه نمیتونم به کسی غیر از مدیران و مدرسین کدی بدم *سرپایین*

به این دلیل میخواستم کمک کنم چون خودم سورس رو داشتم.صبر کنید تا دوستان کمک کنند

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...