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

درخواست آموزش حذف سطر txt


vistamobile

سوال

سلام. من یه فایل txt  دارم که حدود صد سطر تک کلمه ای هستش. الان میخوام کاربر اگر سرچ کرد و اسم خودشو دید بتونه حذفش کنه :

ahmad

ali

reza

abas

shahpoor

مثلا کاربر اسمش رضاست:

ahmad

ali

abas

shahpoor

کامل سطر حذف بشه. دستوری که به باتون داد چی هستش؟ نمیدونم چجوری باید فایل تکست رو اپدیت کرد. تشکر :blush:

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

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

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

در 16 دقیقه قبل، Mohsen27 گفته است :

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

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

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

Sub CheckName(Name As String)
	Dim LS As List = File.ReadList(File.DirAssets , "list.txt") 'Put File Name as List
	Dim LSPUSH As List :  LSPUSH.Initialize : LSPUSH.clear
	
	Dim aName As String = ""
	For i = 0 To LS.Size-1
		aName = LS.Get(i)
		If aName.Contains(Name) Then
			LSPUSH.Add(i)
		End If
	Next

	For iI = 0 To LSPUSH.Size-1
		LS.RemoveAt(LSPUSH.Get(iI))
	Next
	
	Sleep(100)
	File.WriteList(File.DirRootExternal , "Elist.txt" , LS)
End Sub

 

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

  1. تبدیل به لیست
  2. جستجو داخل لیست
  3. گرفتن لیست اسم های موجود و حذف اسم ها
  4. در نهایت مجدد لیست جدید رو ذخیره میکنه.

 

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

در 3 ساعت قبل، vistamobile گفته است :

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

Dim str As String
	str = "mohsen"&CRLF&"mohammad"&CRLF&"behzad"
	str = str.Replace("mohsen","")

اینطوری محسن رو از سطر پاک میکنه

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

در 3 ساعت قبل، Mohsen27 گفته است :

Dim str As String
	str = "mohsen"&CRLF&"mohammad"&CRLF&"behzad"
	str = str.Replace("mohsen","")

اینطوری محسن رو از سطر پاک میکنه

داداش متوجه حرفم نشدین!!

من به جای دیتا بیس اومدم فایل متنی رو لود کردم. name.txt . وقتی کاربر میاد رکورد رو سرچ میکنه و میبینه هستش، میتونه حذفش کنه. 

من اومدم سرچ کردم اینجوری :

Sub Btn1_Click
Dim str As String = File.ReadString(File.DirAssets,"matn.txt")
Dim str2 As String
Dim EditText1 As EditText
str2 = name.Text
If str2.Contains(str) Then
Msgbox("اسم شما وجود دارد","")
Else
Msgbox("اسم شما وجود ندارد" , "")
End If
End Sub

 

الان میتونم اسم رو پیدا کنم ، مشکلم اینه که نمیتونم حذفش کنم تا دفعه بعدی جستجو شد پیدا نشه. نمیتونم از دیتا بیس استفاده کنم. 35000 رکورد دارم 

 

 

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

در 4 ساعت قبل، M-CAP7AIN گفته است :

Sub CheckName(Name As String)
	Dim LS As List = File.ReadList(File.DirAssets , "list.txt") 'Put File Name as List
	Dim LSPUSH As List :  LSPUSH.Initialize : LSPUSH.clear
	
	Dim aName As String = ""
	For i = 0 To LS.Size-1
		aName = LS.Get(i)
		If aName.Contains(Name) Then
			LSPUSH.Add(i)
		End If
	Next

	For iI = 0 To LSPUSH.Size-1
		LS.RemoveAt(LSPUSH.Get(iI))
	Next
	
	Sleep(100)
	File.WriteList(File.DirRootExternal , "Elist.txt" , LS)
End Sub

 

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

  1. تبدیل به لیست
  2. جستجو داخل لیست
  3. گرفتن لیست اسم های موجود و حذف اسم ها
  4. در نهایت مجدد لیست جدید رو ذخیره میکنه.

 

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

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

در 7 ساعت قبل، vistamobile گفته است :

 

 

 

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

داداش متوجه حرفم نشدین!!

من به جای دیتا بیس اومدم فایل متنی رو لود کردم. name.txt . وقتی کاربر میاد رکورد رو سرچ میکنه و میبینه هستش، میتونه حذفش کنه. 

من اومدم سرچ کردم اینجوری :


Sub Btn1_Click
Dim str As String = File.ReadString(File.DirAssets,"matn.txt")
Dim str2 As String
Dim EditText1 As EditText
str2 = name.Text
If str2.Contains(str) Then
Msgbox("اسم شما وجود دارد","")
Else
Msgbox("اسم شما وجود ندارد" , "")
End If
End Sub

 

الان میتونم اسم رو پیدا کنم ، مشکلم اینه که نمیتونم حذفش کنم تا دفعه بعدی جستجو شد پیدا نشه. نمیتونم از دیتا بیس استفاده کنم. 35000 رکورد دارم 

 

 

خب تا اینجاش درست

وقتی شما سرچ کردید و اگه وجود داشت اون مقدار رو پاک کنه

این کد رو ببینید:

	Dim str As String = File.ReadString(File.DirInternal,"matn.txt")
	Dim str2 As String
	str2 = "reza" '<<<Search Value>>>
	If str.Contains(str2) Then
		Msgbox("اسم شما وجود دارد","")
		str = str.Replace(str2,"")
      	Msbox("Deleted","")
	Else
		Msgbox("اسم شما وجود ندارد" , "")
	End If
	File.WriteString(File.DirInternal,"matn.txt",str)

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

بعد مقدار "reza" رو به str2 دادیم برای سرچ

درصورت وجود داشتن هم پاکش کردیم 

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

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

در 45 دقیقه قبل، basic 4 android گفته است :

این کد هم درسته ولی مشکل اینجاس که خط رو حذف نمیکنه فقط کلمه رو پاک میکنه

اونم میشه حل کرد اگه اضافه بودن سطر مشکل ایجاد میکنه

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

در ۱ ساعت قبل، basic 4 android گفته است :

این ولی مشکل داره این ارور رو میده

Sub CheckName2(Name As String)
	Dim LS As List = File.ReadList(File.DirAssets , "list.txt") 'Put File Name as List
	Dim LSPUSH As List :  LSPUSH.Initialize : LSPUSH.clear
	
	Dim aName As String = ""
	For i = 0 To LS.Size-1
		aName = LS.Get(i)
		If aName.Contains(Name) = False Then
			LSPUSH.Add(aName)
		End If
	Next
	
	Sleep(100)
	File.WriteList(File.DirRootExternal , "Elist.txt" , LSPUSH)
End Sub

 

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

در 10 ساعت قبل، basic 4 android گفته است :

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

خطی هم که مورد نظرمون هست لاینشم حذف میکنه

 

احسند

داداش گلم احسند نه احسنت! من کد رو متوجه شدم ولی الان حذفش کجاست؟ من سرچ کردم تو ادیت تکست ، الان رضا رو پیدا کردم ، چجوری بگم واژه ای که تو ادیت تکست یعنی همون رضا رو رو تو list.txt حذف کنه؟ 

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

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

در 1 ساعت قبل، vistamobile گفته است :

داداش گلم احسند نه احسنت! من کد رو متوجه شدم ولی الان حذفش کجاست؟ من سرچ کردم تو ادیت تکست ، الان رضا رو پیدا کردم ، چجوری بگم واژه ای که تو ادیت تکست یعنی همون رضا رو رو تو list.txt حذف کنه؟ 

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

CheckName2(EditText1.text)

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

اگه دیدید کار نمیکنه ، از همون Replace استفاده کنید.

 

 

نکته: ببخشید، ولی اینجا جمع شدیم مشکلات برنامه نویسیمون رو حل کنیم ، نه اینکه غلط املائی بگیریم.:unknown:

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

در 18 دقیقه قبل، M-CAP7AIN گفته است :

CheckName2(EditText1.text)

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

اگه دیدید کار نمیکنه ، از همون Replace استفاده کنید.

 

 

نکته: ببخشید، ولی اینجا جمع شدیم مشکلات برنامه نویسیمون رو حل کنیم ، نه اینکه غلط املائی بگیریم.:unknown:

محمدجان ممنون بابت کد تست میزنم.

جواب نکته

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

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

در 10 ساعت قبل، basic 4 android گفته است :

خدا شفات بده ان شالله:D:D:D:D:D

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

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

در 47 دقیقه قبل، basic 4 android گفته است :

قد و سنت به این حرف ها نمیخوره اسپم نکن 

بزرگوار من 33 سال سنمه. فکر نکنم به سن و سال باشه. نمیدونم شما وسط این تایپک دقیقا دارین چیکار میکنین؟ یه نگاهی به پست هاتون بندازین. عملا هیچ راهنمایی نکردین و فقط اسپم دادین. 

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

بایگانی شده

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

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

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