الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الكتابة والقراءة على ملفات ال INI

مغلق
بدأه akuwait في 3 أغسطس 2006 · 7 رد · 838 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ارجوا من الاخوة الاعزاء افادتي بالكود الخاص بالكتابه والقراء من خلال ملفات الـ INI

ارجوا ارفاق مثال ان وجد

وشكرا

اخوكم

عبدالله

#2

العملية كالتالي :

بالنسبة لـلقراءة والكتابة في ملف خارجي بشكل عام ( Read Write )

سيأتي بشكل التالي .....

المطلوب

[1] - TextBox1 "لكتابة المراد تخزينها في الملف "

[2] - Button1 " زر لتنفيذ عملية التخزين في الملف الخارجي "

[3] - Button2 " زر لتنفيذ عملية الاستدعاء من الملف الخارجي "

[4] - Label1 "لعرض ما تم كتابته في الملف"

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

			'HnHn : شفرة الكتابة إلى لملف 
			'---------------------------


			Dim file_name As String = Application.StartupPath() & "/info.ini"  'HnHn : تعريف متغير لحفظ مسار الملف 
			Dim stream_writer As New IO.StreamWriter(file_name, False)		 'HnHn :  تعريف متغير من نوع كتابة 
			stream_writer.Write(TextBox1.Text)								 'HnHn : اخذ القيمة الموجودة في التيكس لنقلها إلى الملف
			stream_writer.Close()	

			MsgBox("تمت عملية الكتابة بنجاح ", "Write")

End Sub

	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


			'HnHn : شفرة القراءة من لملف 
			'---------------------------

		Dim file_name As String = Application.StartupPath() & "/info.ini"
		Dim stream_reader As New IO.StreamReader(file_name)  'HnHn :  تعريف متغير من نوع قراءة 
		Label1.Text = stream_reader.ReadToEnd()		  'HnHn :  استعراض ما تم كتابته في الملف دداخل الليبل
		stream_reader.Close()


	End Sub

ملاحظة : لاحظ في هذا السطر من الشفرة

Dim stream_writer As New IO.StreamWriter(file_name, False)

في نهاية الشفرة تم تعيين الخاصية False وذلك لكي يتم الكتابة فوق الكتابة السابقة الموجوده في الملف أما في حالة الاضافة إلى الملف سيتم تحويل الخاصية من False إلى True

هذا بشكل مبسط وهناك امور كثيرة في كيفية التعامل مع الملفات من حيث قراءة الاسطر وتحديد نوع فإن امكنني ذلك سأضعها ان شالله

ReadWrite.rar

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#3

شكرا لك اخي الكريم

لقد قمت بجربة الكود بنجاح الا انني اريد تحديد القراء من العنوان مثلا:

[database]

data=data.mdb

username=abdullah

القراء حسب العنوان التعديل عليه

ارجو ان اكون قد اوصلت الصوره المطلوبه

وشكرا

#4

اعتقد اني فهمت عليك

فيه امر اسمه readline ضمن اوامر القراء من ملف

ووبعدها تقارن الكلام المكتوب بالسطر مع الكلمة التي تريدها وهكذا .

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#5

إن شاء الله سأقوم اليوم بارسال مكتبة من برمجتى تقوم بالتعامل مع ملفات ال INI سنقوم باستعمالها لدينا بالعمل للتوافق مع النسخ القديمة

اعذرنى لانى سأقوم بارسال ملف DLL فقط و ليس الاكواد

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#6

اخي الكريم Romantic_touch

يرجى شرح الكود وشكرا لك

اخي الكريم Night Coder بانتظار الملف ويفضل مع مثال وشكرا لك

#7

يمكنك استخدام أوامر Windows API التالية للتعامل مع ملفات الـ ini بسهولة

	Public Declare Auto Function GetPrivateProfileInt Lib "kernel32" _
		(ByVal lpApplicationName As String, ByVal lpKeyName As String, _
		ByVal nDefault As Integer, ByVal lpFileName As String) As Integer

	Public Declare Auto Function GetPrivateProfileSection Lib "kernel32" _
		(ByVal lpAppName As String, ByVal lpReturnedString As String, _
		ByVal nSize As Integer, ByVal lpFileName As String) As Integer

	Public Declare Auto Function GetPrivateProfileString Lib "kernel32" _
		(ByVal lpApplicationName As String, ByVal lpKeyName As String, _
		ByVal lpDefault As String, ByVal lpReturnedString As String, _
		ByVal nSize As Integer, ByVal lpFileName As String) As Integer

	Public Declare Auto Function WritePrivateProfileSection Lib "kernel32" _
		(ByVal lpAppName As String, ByVal lpString As String, _
		ByVal lpFileName As String) As Integer

	Public Declare Auto Function WritePrivateProfileString Lib "kernel32" _
		(ByVal lpApplicationName As String, ByVal lpKeyName As String, _
		ByVal lpString As String, ByVal lpFileName As String) As Integer

وفيما يلي مثال على عجالة يجب أن يعمل على 2003 و 2005 بشكل ممتاز

	' تعريف الإجراءات اللازمة
	Public Declare Auto Function GetPrivateProfileString Lib "kernel32" _
	(ByVal lpApplicationName As String, ByVal _
	lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, _
	ByVal nSize As Integer, ByVal lpFileName As String) As Integer

	Private Declare Auto Function WritePrivateProfileString Lib "kernel32" _
		 (ByVal lpApplicationName As String, _
		ByVal lpKeyName As String, ByVal lpString As String, _
		ByVal lpFileName As String) As Long

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		' تعريف المتغيرات المناسبة
		Dim Ret As Long
		Dim Rcv As String = Space(255)

		' تجربة كتابة على الملف
		Ret = WritePrivateProfileString("Test Section", "Setting String", "Some Value", "d:\Test.ini")
		Ret = WritePrivateProfileString("Test Section", "Additional Setting String", "Additional Some Value", "d:\Test.ini")
		Ret = WritePrivateProfileString("Other Section", "Other Setting String", "Some Other Value", "d:\Test.ini")

		' تجربة القراءة من ملف
		Ret = GetPrivateProfileString("Test Section", "Setting String", "Default Value", Rcv, Rcv.Length, "d:\Test.ini")
		MsgBox(Trim(Rcv))
		Rcv = Space(255)
		Ret = GetPrivateProfileString("Test Section", "Additional Setting String", "Default Value", Rcv, Rcv.Length, "d:\Test.ini")
		MsgBox(Trim(Rcv))
		Rcv = Space(255)
		Ret = GetPrivateProfileString("Other Section", "Other Setting String", "Other Default Value", Rcv, Rcv.Length, "d:\Test.ini")
		MsgBox(Trim(Rcv))
	End Sub

ولكن هذا بغرض التوافقية مع البرامج القديمة فقط

وإن كنت تريد عمل برنامجا جديدا أقترح قراءة الموضوعين إعدادات التطبيق وإعدادات المستخدم و الإعدادات في VB 2005 حيث سيشكلان لك مدخلا مهما لموضوع الإعدادات في بيئة الدوت نيت

تم تعديل هذه المشاركة بواسطة samerselo في 5 أغسطس 2006 في 12:29

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#8

اخي الكريم samerselo

شكرا لك لقد قمت بتجربة الكود وقد عمل بنجاح

اخوك

عبدالله

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…