المشاركات : 516
المواضيع 87
الإنتساب : Apr 2015
السمعة :
5
الشكر: 1435
تم شكره 417 مرات في 120 مشاركات
السلام عليكم
دلوقتي عندي مشروع فيه 3 فورم وملف نصي بجانب البرنامج فيه هذا القيم
=========
Login=دخول
User Name=اسم المستخدم
Exit=خروج
=========
وبستدعي قيم نصية لكل فورم
مثلا الفورم الاول بستدعي القيمة Login=دخول
والفورم الثاني Exit=خروج
والثالث User Name=اسم المستخدم
بس لما بستدعي الفورم الثالث
بيفضل يدور علي القيمة الخاصة بيه في الملف النصي لحد ما يلاقيها
بيبحث عن قيمة User Name
والملف النصي فيه ما يقارب 500 سطر
يعني لو القيمة User Name هي رقم 500
يبقا هيفضل يبحث بعض الوقت لحد ما يوصل للقيمة
لذا اريد مساعدتكم في تطوير الفكرة
طرأ فبالي فكرة وهي
تقسيم القيم داخل الملف النصي
بمعني
هذه هي قيم الملف النصي
=========
Login=دخول
User Name=اسم المستخدم
Exit=خروج
=========
تمام ؟
فكرت بتقسيمهم علي هذا النحو مثلا
=========
{form1}
Login=دخول
{form1}
{form3}
User Name=اسم المستخدم
{form3}
{form2}
Exit=خروج
{form2}
=========
وعند البحث يقوم بالبحث عن الفورم اولا
مثلا لو الفورم 3
يبقا يجيب
{form3}
User Name=اسم المستخدم
{form3}
من الملف ويبحث فيهم
افضل واسرع من انه يبحث في كل الملف
هذا ما خطر ببالي
فكيف وايه افضل طريقة لتنفيذ عملية البحث والتقسيم هذه
وهل لديك اراء افضل من واسرع من ذلك؟
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
هذه اكواد اضافة و بحث عن سجل معين في ملف نوت باد بجانب البرنامج :
PHP كود :
Dim File1, name1, number1, bsalary, a, B, n As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load File1 = Application.StartupPath & "\Asem.txt" End Sub Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click If File1 = "" Then MsgBox("الرجاء تحديدالملف المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Append) WriteLine(1, TextBox1.Text) WriteLine(1, TextBox2.Text) WriteLine(1, TextBox3.Text) WriteLine(1, TextBox4.Text) WriteLine(1, TextBox5.Text) WriteLine(1, TextBox6.Text) FileClose(1) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" End If End Sub Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim msg As String If TextBox2.Text = "" Then MsgBox("الرجاء إدخال الإسم في حقل الإسمَ", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else msg = TextBox2.Text If File1 = "" Then MsgBox("الرجاء تحديد المحافظة أو البلد المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Input) Do While Not EOF(1) Input(1, name1) : Input(1, number1) : Input(1, bsalary) : Input(1, a) : Input(1, B) : Input(1, n) If msg = number1 Then TextBox1.Text = name1 TextBox2.Text = number1 TextBox3.Text = bsalary TextBox4.Text = a TextBox5.Text = B TextBox6.Text = n End If Loop FileClose(1) End If End If End Sub
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 516
المواضيع 87
الإنتساب : Apr 2015
السمعة :
5
الشكر: 1435
تم شكره 417 مرات في 120 مشاركات
(02-09-19, 05:03 AM)asemshahen5 كتب : هذه اكواد اضافة و بحث عن سجل معين في ملف نوت باد بجانب البرنامج :
PHP كود :
Dim File1, name1, number1, bsalary, a, B, n As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load File1 = Application.StartupPath & "\Asem.txt" End Sub Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click If File1 = "" Then MsgBox("الرجاء تحديدالملف المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Append) WriteLine(1, TextBox1.Text) WriteLine(1, TextBox2.Text) WriteLine(1, TextBox3.Text) WriteLine(1, TextBox4.Text) WriteLine(1, TextBox5.Text) WriteLine(1, TextBox6.Text) FileClose(1) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" End If End Sub Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim msg As String If TextBox2.Text = "" Then MsgBox("الرجاء إدخال الإسم في حقل الإسمَ", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else msg = TextBox2.Text If File1 = "" Then MsgBox("الرجاء تحديد المحافظة أو البلد المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Input) Do While Not EOF(1) Input(1, name1) : Input(1, number1) : Input(1, bsalary) : Input(1, a) : Input(1, B) : Input(1, n) If msg = number1 Then TextBox1.Text = name1 TextBox2.Text = number1 TextBox3.Text = bsalary TextBox4.Text = a TextBox5.Text = B TextBox6.Text = n End If Loop FileClose(1) End If End If End Sub
شكرا جزيلا لك
ولكن هل قرئت الموضوع وفهمت المطلوب؟!
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
إقتباس :السلام عليكم
دلوقتي عندي مشروع فيه 3 فورم وملف نصي بجانب البرنامج فيه هذا القيم
=========
Login=دخول
User Name=اسم المستخدم
Exit=خروج
=========
وبستدعي قيم نصية لكل فورم
مثلا الفورم الاول بستدعي القيمة Login=دخول
والفورم الثاني Exit=خروج
والثالث User Name=اسم المستخدم
الكود يستعمل للاضافة و البحث في ملف نصي بجانب البرنامج عدله ليتناسب مع مثالك او برنامجك .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 100
المواضيع 23
الإنتساب : Apr 2017
السمعة :
10
الشكر: 0
تم شكره 111 مرات في 63 مشاركات
(02-09-19, 05:23 AM)الماجيك مسعد كتب : (02-09-19, 05:03 AM)asemshahen5 كتب : هذه اكواد اضافة و بحث عن سجل معين في ملف نوت باد بجانب البرنامج :
PHP كود :
Dim File1, name1, number1, bsalary, a, B, n As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load File1 = Application.StartupPath & "\Asem.txt" End Sub Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click If File1 = "" Then MsgBox("الرجاء تحديدالملف المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Append) WriteLine(1, TextBox1.Text) WriteLine(1, TextBox2.Text) WriteLine(1, TextBox3.Text) WriteLine(1, TextBox4.Text) WriteLine(1, TextBox5.Text) WriteLine(1, TextBox6.Text) FileClose(1) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" End If End Sub Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim msg As String If TextBox2.Text = "" Then MsgBox("الرجاء إدخال الإسم في حقل الإسمَ", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else msg = TextBox2.Text If File1 = "" Then MsgBox("الرجاء تحديد المحافظة أو البلد المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Input) Do While Not EOF(1) Input(1, name1) : Input(1, number1) : Input(1, bsalary) : Input(1, a) : Input(1, B) : Input(1, n) If msg = number1 Then TextBox1.Text = name1 TextBox2.Text = number1 TextBox3.Text = bsalary TextBox4.Text = a TextBox5.Text = B TextBox6.Text = n End If Loop FileClose(1) End If End If End Sub
شكرا جزيلا لك
ولكن هل قرئت الموضوع وفهمت المطلوب؟!
كود :
Imports System.Xml
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xmldoc As New XmlDocument
Dim xmlnode As XmlNodeList
Dim i As Integer
Dim str As String
Dim fs As New FileStream("products.xml", FileMode.Open, FileAccess.Read)
xmldoc.Load(fs)
xmlnode = xmldoc.GetElementsByTagName("Product")
For i = 0 To xmlnode.Count - 1
xmlnode(i).ChildNodes.Item(0).InnerText.Trim()
str = xmlnode(i).ChildNodes.Item(0).InnerText.Trim() & " " & xmlnode(i).ChildNodes.Item(1).InnerText.Trim() & " " & xmlnode(i).ChildNodes.Item(2).InnerText.Trim()
MsgBox(str)
Next
End Sub
End Class
المشاركات : 516
المواضيع 87
الإنتساب : Apr 2015
السمعة :
5
الشكر: 1435
تم شكره 417 مرات في 120 مشاركات
02-09-19, 12:20 PM
(آخر تعديل لهذه المشاركة : 02-09-19, 12:29 PM {2} بواسطة الماجيك مسعد.)
(02-09-19, 05:28 AM)asemshahen5 كتب : إقتباس :السلام عليكم
دلوقتي عندي مشروع فيه 3 فورم وملف نصي بجانب البرنامج فيه هذا القيم
=========
Login=دخول
User Name=اسم المستخدم
Exit=خروج
=========
وبستدعي قيم نصية لكل فورم
مثلا الفورم الاول بستدعي القيمة Login=دخول
والفورم الثاني Exit=خروج
والثالث User Name=اسم المستخدم
الكود يستعمل للاضافة و البحث في ملف نصي بجانب البرنامج عدله ليتناسب مع مثالك او برنامجك .
اعلم اخي
ولكن ابحث عن النقاش لافضل طريقة لتنفيذ المطلوب واسرعهم
(02-09-19, 10:35 AM)fouadhdfouad كتب : (02-09-19, 05:23 AM)الماجيك مسعد كتب : (02-09-19, 05:03 AM)asemshahen5 كتب : هذه اكواد اضافة و بحث عن سجل معين في ملف نوت باد بجانب البرنامج :
PHP كود :
Dim File1, name1, number1, bsalary, a, B, n As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load File1 = Application.StartupPath & "\Asem.txt" End Sub Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click If File1 = "" Then MsgBox("الرجاء تحديدالملف المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Append) WriteLine(1, TextBox1.Text) WriteLine(1, TextBox2.Text) WriteLine(1, TextBox3.Text) WriteLine(1, TextBox4.Text) WriteLine(1, TextBox5.Text) WriteLine(1, TextBox6.Text) FileClose(1) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" End If End Sub Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim msg As String If TextBox2.Text = "" Then MsgBox("الرجاء إدخال الإسم في حقل الإسمَ", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else msg = TextBox2.Text If File1 = "" Then MsgBox("الرجاء تحديد المحافظة أو البلد المطلوب أولا", MsgBoxStyle.Critical, "الرجاء إكمال خطوات البحث") Else FileOpen(1, File1, OpenMode.Input) Do While Not EOF(1) Input(1, name1) : Input(1, number1) : Input(1, bsalary) : Input(1, a) : Input(1, B) : Input(1, n) If msg = number1 Then TextBox1.Text = name1 TextBox2.Text = number1 TextBox3.Text = bsalary TextBox4.Text = a TextBox5.Text = B TextBox6.Text = n End If Loop FileClose(1) End If End If End Sub
شكرا جزيلا لك
ولكن هل قرئت الموضوع وفهمت المطلوب؟!
كود :
Imports System.Xml
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xmldoc As New XmlDocument
Dim xmlnode As XmlNodeList
Dim i As Integer
Dim str As String
Dim fs As New FileStream("products.xml", FileMode.Open, FileAccess.Read)
xmldoc.Load(fs)
xmlnode = xmldoc.GetElementsByTagName("Product")
For i = 0 To xmlnode.Count - 1
xmlnode(i).ChildNodes.Item(0).InnerText.Trim()
str = xmlnode(i).ChildNodes.Item(0).InnerText.Trim() & " " & xmlnode(i).ChildNodes.Item(1).InnerText.Trim() & " " & xmlnode(i).ChildNodes.Item(2).InnerText.Trim()
MsgBox(str)
Next
End Sub
End Class
هذا هو المطلوب تقريبا
ساقوم بالتجربة
ولكن بنظرك هل هذه الطريقة افضل واسرع؟
المشاركات : 516
المواضيع 87
الإنتساب : Apr 2015
السمعة :
5
الشكر: 1435
تم شكره 417 مرات في 120 مشاركات
شكرا لكم جميعا
وجدت كود في موقع اخر قام بتنفيذ العملية بشكل جيد
ولكن ارجو النظر الي السؤال
وايضا هذا الكود للافادة لمن يحتاجه لتعم الفائدة
كود :
Dim T As String() = IO.File.ReadAllLines("x.txt")
Dim D As String() = (From L As String In T Select L Where L = "UserName").ToArray
If D.Length > 0 Then
MsgBox(D(0))
End If
ممتاز جدا الله ينور عليك
هذا الكود نفذ العملية في 171
والكود الي كنت بستخدمه من 4 شهور نفذها في 591
ممكن الفرق ده يكون عادي بالنسبة لبعض المبرمجين
ولكن انا بحاجة للسرعة وافضل اداء خصوصا انى اعمل علي مشروع كبير ما يقارب من 69 فورم
وبستخدم هذا الكود عند فتح كل فورم
لذا سيفرق كثيرا
_________
فالبداية مكنتش بهتم بصراحة سوي بنجاح عمل الكود
لكن الان ابحث فقط عن افضل اداء واقل اكواد لتنفيذ المطلوب بشكل جيد
مجرد فضول
ماذا لو قسمت الملف النصي الي هذا الشكل
<Products>
<Product0>
<name>xxx</name>
<Id>0</Id>
</Product0>
<Product1>
<name>bbb</name>
<Id>1</Id>
</Product1>
</Products>
كيف سيكون هذا الكود
(From L As String In T Select L Where L = "UserName").ToArray
ليتعامل مع الملف المقسم
وكيف هيتم تحديث البحث فقط في Product
سواء كان Product0
او Product0
.....
|