• 0
viki0028

چیکار کنیم فایل راهنما فقط یه بار نمایش داده بشه

سوال

درود بر شما

 

وقت بخیر

 

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

 خوب حالا هدفم اینه که فقط یکبار نمایش داده بشه.....فقط برای باز اول نصب.......

 

از استاتید میخوام در این زمینه راهنمایی کنند.

 

 

 

با تشکر

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


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

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

  • 0

شما می توانید در قسمت اکتیویتی کریت از

If firsttime then
'کاری که می خوای'
End if

H@mid.RS، viki0028 و طاها الیاس زاده پسندیده اند

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


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

 

با سپاس 

 

با دستور Exists و WriteString

 

این یه روشه سادس شما میای میگی این اکتیویتی یا مسیج باکس یا هر چیزی رو در ورود اول فقط نمایش بده 

 

me به معنای اونی هست که در حال حاضر داخلشیم

If File.Exists(File.DirInternal,"syed.txt")=False Then
            StartActivity(Me)
		File.WriteString(File.DirInternal,"syed.txt","")
		StartActivity(Fehrest)
End If

 

 

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

 

 

کجای کار من ممکنه اشتباه باشه؟

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


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

سورستون رو یا پیوست کنید یا پیغام خصوصی بفرستید چک کنم

 

با سپاس

 

سورس برای بررسی پیوست شد

 

 

http://s2.picofile.com/file/8265206684/sample_StartViewPager.rar.html

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


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

 

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

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("2")
	

If File.Exists(File.dirinternal,"a.txt") = False Then
File.writestring(File.dirinternal,"a.txt","")
Else
StartActivity(new)
Activity.finish
End If

End Sub

 

درود و سپاس 

 

من در واقع میخوام یک اکتیویتی بعد از یکبار اجرا دیگه اجرا نشه.....

 

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

Sina پسند دیده است

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


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

این کد میاد اول می بینه فایل a.txt هست یا نه اگر نبود یکی می سازه سپس اکتیویتی که می خوای یک بار بشه که با نام new هست رو اجرا می کنه و از دفعه بعد این فایل که اون موقع ساخته موجود است و وقتی چک می کنه که هست یا نه می بینه هست و دیگه اون اکتیویتی رو اجرا نمی کنه

viki0028 پسند دیده است

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


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

این کد میاد اول می بینه فایل a.txt هست یا نه اگر نبود یکی می سازه سپس اکتیویتی که می خوای یک بار بشه که با نام new هست رو اجرا می کنه و از دفعه بعد این فایل که اون موقع ساخته موجود است و وقتی چک می کنه که هست یا نه می بینه هست و دیگه اون اکتیویتی رو اجرا نمی کنه

 

فرایندی که داره اتفاق میفته کاملا درسته...یعنی برنامه طبق کد مورد نظر باید کارگفته شده رو انجام بده.....به گفته سید من حتی کد رو در اکتیویتی دیگه قرار دادم...ولی برنامه در موقع اجرا و کامپایل این ارور رومیده :

 

B4A version: 6.00
Parsing code.    (0.00s)
Compiling code.    (0.07s)
Compiling layouts code.    (0.01s)
Organizing libraries.    (0.01s)
Generating R file.    (0.15s)
Compiling generated Java code.    Error
javac 1.8.0_102
src\b4a\basic4x\ir\home.java:324: error: <identifier> expected
public b4a.basic4x.ir.new _new = null;
                      ^
1 error
طاها الیاس زاده و Sina پسند شده است

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


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

ببین این ساب اکتیویتی هست 

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")

End Sub

خب حالا بنویس 

	If FirstTime = True Then
		Log("basic4x")
	End If

حالا به جای log (basic4x)  هر چی می خوای بزار

طاها الیاس زاده و viki0028 پسند شده است

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


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

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

شما به ترتیب کار هایی که اقا اسماعیل گفتن رو انجام بدید بدون هیچ مشکلی اجرا میشه .اگر با مشکل هم مواجه شدید یک بار فایل های پوشه object و حذف کنید.

 

اول یک فایل ایجاد کنید .مثلا 1.txt و اون رو درون پوشه ی file برنامه کپی کنید .

If File.Exists(File.DirInternal,"1.txt") Then
    StartActivity(Main2)
	Else
		File.Copy(File.DirAssets,"1.txt",File.DirInternal,"1.txt")
End If

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

اگه فایل نبود فایل رو کپی کردیم .

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

این کد رو تو Activity_Resume و Activity_Create قرار بده صد درصد جواب میگیری .

خودم دارم استفاده میکنم .

 

موفق باشید

viki0028 پسند دیده است

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


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

	If FirstTime = True Then
		Log("basic4x")
	End If

 

 

 

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

 

 

 

If File.Exists(File.DirInternal,"1.txt") Then
    StartActivity(Main2)
	Else
		File.Copy(File.DirAssets,"1.txt",File.DirInternal,"1.txt")
End If

 

 

این هم اشتباه نوشتی.خخخ

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

 

----------------------------------------------------------------------------------

کد صحیح اینطوره:

If File.Exists(File.DirInternal,"a1.txt")=False Then
Msgbox("بجای مسج باکس کدی بزار که میخای فقط یکبار انجامش بدی","")
File.WriteString(File.DirInternal,"a1.txt","")
End If
viki0028، Sina و طاها الیاس زاده پسندیده اند

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


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

 

این هم اشتباه نوشتی.خخخ

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

 

 

 

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

بار اول تو اکتیویتی کریت این کد رو بذار برای بار اول هم جواب میده

File.Copy(File.DirAssets,"1.txt",File.DirInternal,"1.txt")

چقدر اسپم کردیما.

viki0028 پسند دیده است

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


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