المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 279
تم شكره 267 مرات في 103 مشاركات
04-09-17, 11:46 PM
السلام عليكم شباب عندى سؤال و هو عندى اكتر من Public Sub و Private Sub
و دلا مثلا عنهم
كود :
Public Sub CheckUp(ByVal NameForm As System.Windows.Forms.Form)
Private Sub hclick(ByVal sender As Object, ByVal e As EventArgs)
دلوقتى لو عايز اخدى قيمة متغير
NameForm لى فى اول كود استخدمها فى ايه مكان اخر ازاى اقدر اخدها من
Public
يعنى مثلا هاخد NameForm و سوف يتم وضعها فى Public اخرى كيفة يتم ذلك
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 279
تم شكره 267 مرات في 103 مشاركات
الان قومت بعمل هذا الكود فى الكلاس الخاص بى
كود :
Public Sub CheckUp(ByVal NameForm As System.Windows.Forms.Form)
End Sub
وجبت اسم الفروم عن طريق المتغير
NameForm تمام
طيب لو عملت Public تانية و عايز اجيب اسم الفروم من لى قبلها مثلا زاى كده
كود :
Public hello
dim s as string = nameform
End Sub
قصدى هنا ازاى اقدر اجيب قمية المتغير
NameForm من فوق Public Sub CheckUp من فى نفس الكلاس الى Public hello بنفس القيمة لى يحملها من قبل
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 279
تم شكره 267 مرات في 103 مشاركات
بمعنى اخر
عندى اتنين كلاس
الاول عبارة عن
كود :
Imports System.Windows.Forms
Public Class Alyspicy
Public Sub CheckUp(ByVal NameForm As System.Windows.Forms.Form, ByVal strcon As String, ByVal Table As String)
و التانى عبارة عن
كود :
Public Class AlySpicyAdd
Private Sub addtodata()
Dim con As New System.Data.OleDb.OleDbConnection(strcon)
If con.State = ConnectionState.Open Then con.Close()
Try
con.Open()
Dim da As New System.Data.OleDb.OleDbDataAdapter("select * from " + Table, con)
Dim ds As New DataSet
Dim cm As New System.Data.OleDb.OleDbCommandBuilder(da)
da.Fill(ds, Table).ToString()
Dim dr As DataRow = ds.Tables(Table).Rows(0)
For i As Integer = 0 To NameForm .Controls.Count - 1
طبعا المشكلة هنا هتكون فى الكلاس التانى فى المتغير
strcon و Table و NameForm
ازاى اقدر اسحب البيانات لى موجود فى الكلاس الاول من المتغيرات دى NameForm و strcon و Table
علشان اقدر اتعامل مع قاعدة البيانات بدون ما اكتب بيانات تانية فى الفروم علشان اسحب نفس البيانات مره تانية
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 75
المواضيع 3
الإنتساب : Oct 2014
السمعة :
17
الشكر: 19
تم شكره 199 مرات في 42 مشاركات
السلام عليكم
على حسب فهمي لطلبك ممكن تستخدم Property
PHP كود :
Private _NameForm As Form
Public Property NameForm As Form
Get
Return _NameForm
End Get
Set(value As Form)
_NameForm = value
End Set
End Property
Email : mrma11581@gmail.com
المشاركات : 845
المواضيع 9
الإنتساب : Oct 2015
السمعة :
131
الشكر: 2208
تم شكره 1685 مرات في 745 مشاركات
انا هذا الموضوع حاولت افهمه ولكن ما قدرت
برغم قلة خبرتي في الفيجوال بيسك ولكن اعتقد ان sub هي للتنفيذ بغض النظر عن كونها public او private يعني تقدر تستدعيها للتنفيذ بناء على طلبك واذا كانت تقبل متغيرات فالمطلوب منك هو ان تقدم هذه المتغيرات وليس ان تستعلم عنها
يعني كما void في سي شارب ينفذ ولا يرجع قيمة
فمثلا
public void doSomething(int param1, string param2)
{
// كود للتنفيذ
}
تستدعي بالشكل doSomething(3, "myText");
وعندها استدعائها نزودها بقيمة المتغيرات التي تريدها ولا يمكننا ان نستعلم على هذه المتغيرات لان افتراضيا لا قيمة لها ومنطقيا هذا غير مقبول
لا اعرف هل انا مخطئ في الفهم ام انك يا اخي لم توضح السؤال بشكل سليم
اثناء بحثي وجدت تعريف مهم اتمنى ان يفيدك
"Class is a Class, Sub and Function are methods, private is an access modifier"