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

علاقة : one to many بين كلاسين

مغلق
بدأه Dr.Cisco في 31 ديسمبر 2006 · 2 رد · 817 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

برناااااااااااامجي دوخ رأسي كثيرررر :wacko: ..

البرامج ( معوق ) نسأل الله العافية .. لكن بوقوفكم معي سوف يقوم بالعافية :) ..

البرنامج كما موضح بالصورة ..

يقوم بتعيين مدير على قسم ما ..

ومن ثم إضافة موظفين في ذلكم القسم ..

ومن ثم عند النقر على get employee يقوم بطباعة القسم والمدير وكذلك موظفين القسم ..

المشكلة إنه إنحاس رأسي عند العمل عليه ، حتى وصلت إلى طريق مسدد :( ..

أرجو معاونتي أحبتي على إكمال وتوضيح المشكل ..

ولكن مني التحايا العطرة ..

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		' تعيين مدير 
		Try

			Dim d1 As New department(TextBox4.Text)
			Dim e1 As New employee(TextBox1.Text, TextBox2.Text, Convert.ToDouble(TextBox3.Text), d1)
			d1.setmanger(e1)
			e1.Setthedep(d1)
			infomang = d1.TellAboutSelf
			depp = TextBox4.Text
		Catch ex As Exception

		End Try

	End Sub

	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
		'إضافة موظفين 
		Try

			Dim d1 As New department(depp)
			Dim e1 As New employee(TextBox8.Text, TextBox6.Text, Convert.ToDouble(TextBox7.Text), d1)
			e1.addemployeetodep(d1)
		Catch ex As Exception

		End Try



	End Sub
	Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
		' طباعة معلومات مدير 
		If (infomang = "") Then
			MessageBox.Show("Not Found Manger ! ")
		Else
			MessageBox.Show(infomang)

		End If

	End Sub

	Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

	End Sub

	Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
		Close()
	End Sub

	Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged

	End Sub

	Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged

	End Sub

	Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged

	End Sub

	Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
		' طباعة موظفين 
		Dim i As Integer
		Dim d1 As New department(depp)
		Dim hh As New ArrayList
		hh = d1.getListOfemployees
		MessageBox.Show(infomang + " -- ")

		For i = 0 To hh.Count - 1

			MessageBox.Show(hh.Item(i).tellaboutself())

		Next


	End Sub

Public Class employee
	Private empssn As String
	Private Name As String
	Private Salary As Double
	Private thedep As department

	Public Sub New(ByVal aName As String, ByVal s As String, ByVal d As Double, ByVal adep As department)
		SetName(aName)
		Setempssn(s)
		SetSalary(d)
		Setthedep(Nothing)
		addemployeetodep(adep)
	End Sub

	Public Sub SetName(ByVal aName As String)

		Name = aName
	End Sub
	Public Sub addemployeetodep(ByVal adep As department)
		thedep = adep
		adep.AddNewEmployee(Me)
	End Sub
	Public Sub SetSalary(ByVal aSalary As Double)
		Salary = aSalary
	End Sub
	Public Sub Setempssn(ByVal a As String)

		empssn = a
	End Sub
	Public Sub Setthedep(ByVal a As department)
		thedep = a
	End Sub
	Public Function GetName() As String
		Return Name
	End Function
	Public Function Getempssn() As String
		Return empssn
	End Function
	Public Function Getsalary() As Double
		Return Salary
	End Function
	Public Function Getthedep() As department
		Return thedep
	End Function
	Public Function TellAboutSelf() As String
		Dim msg As String
		msg = "  Name : " & Name & " Emp-SSN = " & empssn & " Salary : " & Salary 
		Return msg
	End Function

End Class

Public Class department
	Private Dname As String
	Private manger As employee
	Private ListOfemployees As ArrayList
	Public Sub New(ByVal aDname As String)
		SetDname(aDname)
		setmanger(Nothing)
		ListOfemployees = New ArrayList
	End Sub
	Public Sub AddNewEmployee(ByVal anEmp As employee)
		ListOfemployees.Add(anEmp)
	End Sub
	Public Sub SetDname(ByVal aDname As String)

		Dname = aDname
	End Sub
	Public Function GetDname() As String
		Return Dname
	End Function
	Public Function getListOfemployees() As ArrayList
		Return ListOfemployees
	End Function
	Public Sub setmanger(ByVal amanger As employee)
		manger = amanger
	End Sub
	Public Function getmanger() As employee
		Return manger
	End Function
	Public Function TellAboutSelf() As String
		Dim msg As String
		Dim e As employee
		msg = "Deparment Name : " & Dname & "--" & "The Manger " & manger.TellAboutSelf()
		Return msg
	End Function
End Class
#2

:blink: ..

:( ..

:blink: ..

#3

أبشركم يا أحبابنا انحلت المشكلة .. :huh: ..

ويبدو Hن صاحبكم من اليوم يكلم نفسه .. :blink: :blink: ..

على العموم للفائدة تم إدراج البرنامج كاملاً ..

وهو يمثل علاقة one to many بين كلاسين .. كلاس الـ Department وكلاس الـ Employee ..

شكراً لكم أحبتي فمنكم نستفيد :) :) ..

dr.cisco ..

ACC1_to_many.zip

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

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