رفتن به مطلب

نوشتن و خواندن فایل txt.


مجید آرتا

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

به نام خدا

سلام

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

خب بنده دو روش واسه خواندن متن پیدا کردم:

1-توسط کلاس TextReader

2-توسط متد ReadString

خب اول روش آسون تر( ReadString ):

EditText1.Text=File.ReadString(File.DirAssets,"1.txt")

اینجا متن خوانده شده رو برابر میکنه با EditText1 و نشونش میده

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

روش دوم(TextReader) :

ابتدا توی Globals می نویسیم:

Dim tr As TextReader

در قسمت Activity_Create می نویسیم:

 tr.Initialize(File.OpenInput(File.DirAssets,"1.txt"))

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

    EditText2.Text=b.ReadAll
   b.Close

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

نوشتن متن:

قسمت Globals تعریف می کنیم:

Dim tw As TextWriter

در قسمت Activity_Create می نویسیم:

tw.Initialize(File.OpenOutput(File.DirInternal,"2.txt",True))

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

    c.WriteLine("Basic4Android.org") 
   c.Close

خب این از نوشتن

شاید با خودتون فکر می کنید از کجا مطمئن شیم که واقعا همچین متنی رو نوشته،بنده فکر اونجاشم کردم

خب یک TextReader در قسمت Globals تعریف کنید:

Dim ehem As TextReader

و در قسمت Activity_Create این چنین می نویسیم:

ehem.Initialize(File.OpenInput(File.DirInternal,"2.txt"))

و برای خواندن این کد آسون رو می نویسیم:

    Msgbox(ehem.ReadAll,"title")
   d.Close

خب اینم آموزشی ساده از Basic4Android.Org

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

در پناه حق

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

  • 4 ماه بعد...

سلام

ممنون

من تازه کارو شروع کردم و برای اینکه با زدن یک دکمه،متنی که داخل یه فایل تکست قرار دادم اجرا بشه مشکل پیدا کردم

ممکنه یه جور گام به گام اینجا برام توضیح بدین؟

هنوز خوب نگشتم توی فرووم

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

ممنون میشم

موفق هستید پس موفق تر باشید

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

با سلام

دوست عزیز به انجمن خوش اومدی

ببیند واسه خوندن متن از فایل تکست ما میاییم به وسیله یک تابع به اسم ReadString متن رو میخونیم و به یک متغیر یا یک کنترل نسبت میدیم

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

Sub Button1_Click
Dim Str As String
Str = File.ReadString(File.DirAssets , "1.txt")
EditText1.Text = Str
End Sub

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

متاسفانه بازم نشد

مشکل از منه که خوب بلد نیستم

یکم بیشتر بگم راحت تر کمک کنید

من دوتا دکمه روی صفحه اول دارم

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

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

sub button2_click

activity.finish

startactivity("s2")

end sub

حالا توی صفحه جدیدم که زمینه جدید داره میخوام متنم نمایش داده بشه (صفحه ای که اسمش رو گذاشتم s2)

برای صفحه s2 عکس قرار دادم اما نمیدونم چطوری متنی که میخوام روی عکسش بیاد و بالاپایین بره

بازم ممنون که کمکم می کنید

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

  • 1 ماه بعد...

سلام و خسته نباشید.

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

میخواستم ببینم کد دیگه ای هم باید به برنامه اضافه کنم؟

توی دکمه این کد رو مینوسیم:

File.WriteString(File.DirRootExternal,"1.txt","test)

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

سلام.

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

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

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

منتظر راهنمایی دوستان هستم.

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

اینجا ما میاییم میگیم اگه فایل book1.db توی مسیر DirInternal وجود نداشت بیا عمل کپی رو انجام بده.

شما میتونید به دستور مورد نظر خودتون تغییر بدید.

   If File.Exists(File.DirInternal,"book1.db") = False Then
   File.Copy(File.DirAssets,"book1.db",File.DirInternal,"book1.db")
   End If

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

  • 1 ماه بعد...

سلام

من Label1.text=Main.matn1.ReadAll را قرار دادم اما فقط قسمتی از متن رو میخونه و ادامه اش را نمیخونه فکر میکنم لیبل بیشتر از این رو نمیتونه جا بده چی کار کنم که بتونم یه متن طولانی رو توسط لیبل نشون بدم.

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

کتابخانه StringUtils رو فعال کن و این کد رو بنویس :

Dim stu As StringUtils
Label1.Height = stu.MeasureMultilineTextHeight(Label1,Label1.Text)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

دیگه چه راهی هست؟

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

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

  • 2 هفته بعد...

سلام دوستان

من تازه شروع به برنامه نویسی b4a کردم

می خواستم بپرسم چطور میشه یک فایل txt رو در label به صورت راست چین نمایش داد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/

ممنو میشم اگه کمک کنید

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

mjm1993iran:

ای کاش سوالتون رو تو یه تاپیک جدا که مربوط به خودش بود میپرسیدین.

میتونید از قسمت دیزاینر روی شی لیبل کلیک کنید و گزینه Horizontal Alignmnt رو روی right قرار بدید.

طبق این عکس:

Untitled_1.gif

از طریق کد نویسی هم میتونید راست چین کنید:

Label1.Gravity=Gravity.RIGHT

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

[b]Dim GetTxt As String 
GetTxt = File.ReadString(File.DirAssets,"Test.txt")
Label1.Gravity = Gravity.RIGHT
Label1.Text = GetTxt
[/b]
لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از لطفتون

فقط یه سوال:

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

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

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

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

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

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

بایگانی شده

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

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

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