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

گرفتن مختصات صفحه بصورت درصد


Y-a-r-e-G-o-m-n-a-m

سوال

سلام خدمت اساتید گرامی ، طاعات و عباداتتون قبول درگاه حق

.

چطور میشه با کلیک روی پنل بجای گرفتن مختصات عددی x و  y  ، مختصات درصدی رو گرفت ، مثلا وقتی وسط پنل کلیک می کنیم پیام بیاد : 50%X    و   50%Y     

 

تشکر از شما:53:

 

 

Sub Panel_Touch (Action As Int, X As Float, Y As Float)
    Log(X)
    Log(Y)
End Sub

 

 

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

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

در 23 دقیقه قبل، Salar82 گفته است :

ببخشید

برای عرض، از Activity.Width و برای ارتفاع، از Activity.Height استفاده کنید.

من اینجا برعکس گفتم.

.
quranpage_loadqalam (java line: 1122)
java.lang.NumberFormatException: For input string: "69%x"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:538)
    at madresehefz.qurankarim.quranpage._loadqalam(quranpage.java:1122)
    at madresehefz.qurankarim.quranpage._nexted_click(quranpage.java:1267)
    at madresehefz.qurankarim.quranpage._preved_click(quranpage.java:1475)
    at madresehefz.qurankarim.quranpage._activity_create(quranpage.java:737)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at madresehefz.qurankarim.quranpage.afterFirstLayout(quranpage.java:105)
    at madresehefz.qurankarim.quranpage.access$000(quranpage.java:17)
    at madresehefz.qurankarim.quranpage$WaitForLayout.run(quranpage.java:83)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7860)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)   

 

 

 

 

ان شاءالله درست میشه ..

ممنون از لطف همه بزرگواران

 

 

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

سلام

از این استفاده کنید:

Sub Panel_Touch (Action As Int, X As Float, Y As Float)
    Dim xPercent As Double = X / 100%X * 100
	Dim yPercent As Double = Y / 100%Y * 100
End Sub

 

الان اگر X مساوی %50X باشه، 50 رو برمیگردونه.

 

:53::53::53:

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

در 54 دقیقه قبل، Salar82 گفته است :

سلام

از این استفاده کنید:


Sub Panel_Touch (Action As Int, X As Float, Y As Float)
    Dim xPercent As Double = X / 100%X * 100
	Dim yPercent As Double = Y / 100%Y * 100
End Sub

 

الان اگر X مساوی %50X باشه، 50 رو برمیگردونه.

 

:53::53::53:

خیلی مخلصیم ،  وقتی که میخوام با مختصات درصدی که گرفتم یک ویو رو توصفحه جابجا کنم ارور زیر رو میده !

 

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

در 49 دقیقه قبل، mohammadjavadmajidi گفته است :

خیلی مخلصیم

.
quranpage_loadqalam (java line: 1116)
java.lang.NumberFormatException: For input string: "69.99297259311315%X"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:538)
    at anywheresoftware.b4a.BA.ObjectToNumber(BA.java:684)
    at madresehefz.qurankarim.quranpage._loadqalam(quranpage.java:1116)
    at madresehefz.qurankarim.quranpage._nexted_click(quranpage.java:1261)
    at madresehefz.qurankarim.quranpage._preved_click(quranpage.java:1469)
    at madresehefz.qurankarim.quranpage._activity_create(quranpage.java:737)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at madresehefz.qurankarim.quranpage.afterFirstLayout(quranpage.java:105)
    at madresehefz.qurankarim.quranpage.access$000(quranpage.java:17)
    at madresehefz.qurankarim.quranpage$WaitForLayout.run(quranpage.java:83)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7860)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

این ارور برای چی هستش ؟   

 

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

در ۱ ساعت قبل، Salar82 گفته است :

Double رو به Int یا Long یا Float تغییر بدید.

هر سه رو امتحان کردم ، بازم همون ارور رو میده:(


quranpage_loadqalam (java line: 1122)
java.lang.NumberFormatException: For input string: "70%x"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:538)
    at madresehefz.qurankarim.quranpage._loadqalam(quranpage.java:1122)
    at madresehefz.qurankarim.quranpage._nexted_click(quranpage.java:1267)
    at madresehefz.qurankarim.quranpage._preved_click(quranpage.java:1475)
    at madresehefz.qurankarim.quranpage._activity_create(quranpage.java:737)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at madresehefz.qurankarim.quranpage.afterFirstLayout(quranpage.java:105)
    at madresehefz.qurankarim.quranpage.access$000(quranpage.java:17)
    at madresehefz.qurankarim.quranpage$WaitForLayout.run(quranpage.java:83)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7860)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

 

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

در 22 دقیقه قبل، mahdi tahan گفته است :

عددش رو بگیر.تو مختصات بعد از عدد x یا y رو بزار

یعنی علامت % رو نذارم ؟!:scratch_one-s_head:

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

عدد مختصات رو تو یک متغیر int بگیر

بعد هرجایی میخوای استفاده کنی بعدی %x یا %Y بده

adad&%x

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

در هم اکنون، mahdi tahan گفته است :

عدد مختصات رو تو یک متغیر int بگیر

بعد هرجایی میخوای استفاده کنی بعدی %x یا %Y بده

adad&%x

دقیقا همینکارو میکنم ..... نمیدونم این ارور برای چی میاد

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

در 2 دقیقه قبل، mahdi tahan گفته است :

کدتو بزار

    For i = 1 To tedadayatsafhe
        p.Initialize("items")
        If showedorno=1 Then
        p.SetBackgroundImage(LoadBitmap(File.DirAssets,"r1.png"))
            p.Text=ListView3.GetItem(xe+1)
        p.TextSize=1
        Else
        p.SetBackgroundImage(LoadBitmap(File.DirAssets,"r2.png"))
        p.Text=ListView3.GetItem(xe+1)
        p.TextSize=14
        End If
        p.Tag = i
        p.Typeface=Typeface.LoadFromAssets("yekan.ttf")
        p.TextColor=Colors.Black
        Dim lister2 As String=ListView2.GetItem(xe)
        Dim lister1 As String=ListView1.GetItem(xe)
        scrollpage.Panel.AddView(p,lister2,lister1,60dip,60dip)
        xe=p.Tag
    Next

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

   scrollpage.Panel.AddView(p,lister2,lister1,60dip,60dip)

lister 2 و   lister1  مختصات رو میدن

محتوای لیست ویو 2 و 1 هم همون مختصات top  و لفت هستن که مثلا به ایتصورتن :

20%x

40%x

60%X

 

20%y

40%y

60%y

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

خوب دیگ به جایه اینکه عدد رو با x,y به lister بدی مستقیم اونطور ک گفتم بده

ینی به جای گذاشتن لیستر اینو بزار adad&%x

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

در 36 دقیقه قبل، mahdi tahan گفته است :

خوب دیگ به جایه اینکه عدد رو با x,y به lister بدی مستقیم اونطور ک گفتم بده

ینی به جای گذاشتن لیستر اینو بزار adad&%x

متاسفانه نمیشه عدد رو مستقیم تو کدها قرار داد چون هر سری مختصات آیه ها با تغییر صفحه قرآن تغییر میکنه برای همین باید یه متغیر مثل lister باشه که عدد رو هر سری بگیره ....

.

.

.

دقیقا دست گذاشتی رو مشکل اصلی که من نمیتونستم بپرسمش:give_heart:

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

عزیزم دارم میگم دیگ 

شما یک مختصات عددی داری که هر دفعه عوض میشه.فقط همون عددش رو بگیر بده به متغیر مثلا lister که از نوع اینته

مختصات x و y شما که عوض نمیشه.

ساب 

Sub Panel_Touch

به شما یک عدد میده دیگ

 

شما میای و اون عدد رو همراه x وy یکی میکنی و میدی به لیستر

ولی به جای اینکه یکی کنی عدد رو تومتغیر بگیر موقع ادرس دادن  به x و y بنوییسش

ینی مثل پایین

scrollpage.Panel.AddView(p,lister2&x,lister1&y,60dip,60dip)

ولی لیسترت فقط عدد مختصات باشه

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

در 2 دقیقه قبل، mahdi tahan گفته است :

عزیزم دارم میگم دیگ 

شما یک مختصات عددی داری که هر دفعه عوض میشه.فقط همون عددش رو بگیر بده به متغیر مثلا lister که از نوع اینته

مختصات x و y شما که عوض نمیشه.

ساب 


Sub Panel_Touch

به شما یک عدد میده دیگ

 

شما میای و اون عدد رو همراه x وy یکی میکنی و میدی به لیستر

ولی به جای اینکه یکی کنی عدد رو تومتغیر بگیر موقع ادرس دادن ینی به x و y بنوییسش

ینی مثل پایین


scrollpage.Panel.AddView(p,lister2&x,lister1&y,60dip,60dip)

ولی لیسترت فقط عدد مختصات باشه

چشم استاد عزیز ... خیلی ممنونم ...

حتما اینو انجام میدم ، ان شاءالله که درست بشه

خیلی لطف کردید ....:53:

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

در 4 دقیقه قبل، mohammadjavadmajidi گفته است :

چشم استاد عزیز ... خیلی ممنونم ...

حتما اینو انجام میدم ، ان شاءالله که درست بشه

خیلی لطف کردید ....:53:

B4A Version: 10.0
Java Version: 8
Parsing code.    (0.13s)
Building folders structure.    (0.13s)
Compiling code.    Error
Error compiling program.
Error description: Missing parameter.
Error occurred on line: 327
scrollpage.Panel.AddView(p,lister2&%x,lister1&%y,60dip,60dip)
Word:

ارور میده کامپایل نمیشه:3d-smileys190:

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

در 1 دقیقه قبل، Salar82 گفته است :

سلام مجدد

بجای x / 100%x، این رو بنویسید:

X / Activity.Height

سلام استاد بزرگوار

چشم امتحان میکنم:53:

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

بایگانی شده

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

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

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