التحدي الكبير
لا احد من الأخوة يريد حل السؤال حتي نفتح مجال المشاركة
امام الأخوة الأخريين الذين لم يشاركوا بالموضوع حتي الآن
ولكنني لن أستطيع أأمسك نفسي وأترك السؤال بدون حل أكثر من ذلك.
تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 24 يوليو 2005 في 21:45
المهم أن تكون الحلول غير مستخدم بها الآتي :
* عدم استخدام أي دالة API ..
* عدم استخدام أي مكتبات ActiveX أو ActiveXDLL مثل FileSystemObject ,
أو أي Stream Object ..
هذا حل :
Private Sub Command1_Click() Dim sTemp As String sTemp = "Strings goes here" Shell "cmd /c ECHO " & sTemp & ">>C:\test.txt" End Sub
حل آخر :
Private Sub Command1_Click()
On Error Resume Next
Shell "notepad.exe", vbNormalFocus
Wait
SendKeys ("Strings goes here")
Wait
SendKeys ("%+F")
Wait
SendKeys ("S")
Wait
SendKeys ("test.txt")
Wait
SendKeys ("~")
AppActivate ("Save as")
SendKeys ("y")
Wait
SendKeys ("%+F")
Wait
SendKeys ("x")
End Sub
Private Sub Wait()
For i = 1 To 350
DoEvents
Next
End Subتم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 24 يوليو 2005 في 22:58
ممتاز أخي Pharonic
يالله شباب انتو نمتو !!!!!
الى السؤال التالي ...
حل جميل ورائع!!
عندك شجرة عائلة... العائلة مكونة من أشخاص. (أب وأم وأبناء) كل شخص له معلومات خاصة ويكفي مثلا اسمه لتطبيق المثال! أريد مجموعة دوال تسهل علي الوصول إلى هذه المعلومات من كل شخص:
اسمه, أبوه، أمه، زوجته، أبناءه، إخوانه!!!
بمعنى آخر أريد أن أعطي لدالة معينة اسما، ويرجع لي اسم أبيه مثلا! ودالة أخرى تعطيني أمه! وهكذا!!!
إذا لم تستطع حل السؤال، فحاول حل نصفه مثلا دالة الأب فقط!!
بالتوفيق!!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
(شجرة العائلة) الإصدار الثاني
أريد توضيح سؤال بشكل أفضل... وسأحاول صياغة السؤال من جديد للتسهيل:
لديك شجرة عائلة.. الشخص له (أب و أبناء و إخوان فقط) ليكن عندي شخص اسمه عمرو،،، أستدعي دالة معينة ترجع لي أباه زيد!! أستدعي الدالة مرة أخرى على زيد فتعطيني أباه خالد!!
أطلب دالة الأبناء على خالد فتعطيني زيد وأبناء خالد!!
أريد أن يكون عندي القدرة مثلا على الحصول على هذه المعلومات بوجود دوال على سبيل المثال لا الحصر:
getFatherOf(name as String) as String getChilderOf(name as String) as String() وهكذا
أرجو أن أكون قد وفقت في شرح السؤال!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
طبعا الأسماء غير موجودة،، النظام يمكن المستخدم (المبرمج) من استخدامه بسهولة. النظام يمكنك من كتابة المعلومات ويمكنك من قراءة المعلومات.. ليس بالضرورة أن تنشئ GUI يأخذ البيانات من المستخدم... بمعنى آخر أريد تصميم (قاعدة البيانات) هذه البسيطة ليستخدمها المبرمج بعد ذلك!.... بعد تصميم القاعدة قد نفكر في تصميم برنامج لقراءة وطباعة وحفظ العائلة وهذا غير مطلوب!!
المطلوب الدوال، والطريقة، وتصميمها!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
المثال الذي ذكرته -علي حسب ما فهمته - يبين أن الشخص المدعو عمرو -( والذي له أب وأبناء وأخوان فقط )- موقعه كالآتي..
(جد < أب < ابن)
(خالد< زيد< عمرو)
وهو ما يخالف الشرح النظري الذي وضعته في أي من المشاركة الأولي والثانية.
ولذلك أرجو منك إرفاق صورة توضيحية لشجرةالعائلة ...
تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 26 يوليو 2005 في 01:43
المشاركة الثانية تمثل الإصدار الثاني من السؤال: فليس بالضرورة أن تكون هذه المعلومات متوفرة (الأم، الزوجة)
النظام يمكنك من إدخال بيانات شجرة عائلة معينة والمكونة من شخص وأبيه وإخوته وأبناءه! تدخل أشخاص، وتدخل صلة القرابات، وبعد ذلك تستطيع قراءة هذه المعلومات عن طريق أوامر معينة تمولها لنا..
النظام يمكنك من إدخال البيانات هذه في النظام
1- ندخل هذه الأشخاص في النظام: زيد وخالد ويوسف وعمرو وماجد الخ....
2- صلة علاقة: عمرو هو ابن زيد
3- زيد هو ابن خالد.
4- يوسف هو أخو زيد.
5- ماجد هو أهو خالد...
6- الخ
7- اطبع لي من هو أبو زيد.
8- أخرج لي من هم إخوان عمرو
9- الخ..
أرجو أن يكون المثال واضحا!!
بالتوفيق!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
هل أنتظر الحلول، أم أنشر حلا؟؟؟
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
عندي الآن حلان!!
كلاهما بالVB... أحدهما تستطيع استخدامه حتى في QBasic!!
ليس بالضرورة أن نرى حلا كاملا... لكن المحاولات حتى لو كانت مخطئة تفيد المنتدى كثيرا!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
سأحاول المساعدة:
هذا حل بالجافا... اقرأه وحاول تطبيقه في VB...
لاحظ أن المستخدم أو المبرمج سيستعمل هذه الأوامر ليدخل ويخرج البيانات التي يريد:
Person.getName(); Person.getChildren(); Person.getFather(); Person.addChild(); new Person();
وهذا هو البرنامج البسيط!
import java.util.*;
class Person {
String name;
Person father;
List<Person>children;
public Person(String personName, Person personFather){
name=personName;
children=new Vector<Person>();
setFather(personFather);
}
public Person(String personName){
this(personName, null);
}
public void addChild(Person child){
children.add(child);
child.setFather(this);
}
private void setFather(Person fatherPerson){
if(fatherPerson==null)return;
father=fatherPerson;
}
public Person getFather(){
return father;
}
public List<Person> getChildren(){
return new Vector<Person>(children);
}
public String getName(){
return name;
}
public String toString(){
StringBuffer buffer=new StringBuffer();
buffer.append("Name: "+name+"\t Father: "+
((father==null)?null:father.getName())+"\n");
for(Person child:getChildren()){
buffer.append("\t"+child.getName());
buffer.append("\n");
}
return buffer.toString();
}
}
//لاحظ كيف للمستخدم أن يستخدم الفئة السابقة في برنامجه ليضيف من يريد إلى شجرة العائلة التي يريد!!
public class Test{
public static void main(String []args){
Person me=new Person("Hussam");
Person father=new Person("Mohammad");
Person grandFather=new Person("Al-Mulhim");
father.addChild(me);
father.addChild(new Person("Abdul-Aziz"));
father.addChild(new Person("Abdul-Latif"));
grandFather.addChild(father);
System.out.println (father);
System.out.println (grandFather);
}
}مازال عندي الحلين بالVB. هل من محاول؟؟ حاول تطبيق المثال السابق بال VB!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
حتى لا أطيل عليكم
هذه أول طريقة باستخدام Types أو الأنواع!! تستطيع تطبيقها حتى في QBasic:
المستخدم يستطيع إدخال المعلومات بطريقتين:
addPerson لإضافة شخص جديد برقم مميز!
makeFatherRelationship لربط شخص مع أبيه.
هذين الدالتين تكفي ليقوم النظام بمعرفة المعلومة التي تريد مثل:
getPerson
getBrothers
getChildren
طبعا التخزين يكون في النوع Person الذي يخزن اسم الشخص ورقمه ورقم أبيه وأرقام الأولاد، وهذه تكفي للوصول للإخوان مثلا وأي فرد آخر!!
Type Person
name As String
id As Integer
fatherID As Integer
childrenIDs(5) As Integer
End Type
Dim personDataBase() As Person
Dim personCount As Integer
Public Sub startProgram()
ReDim personDataBase(1 To 40) As Person
prepareDatabase 'prepares the database, does nothing really!!!
checkDatabase ' prints All persons in the DataBase,
'Person ID should not be 0!!
Call addPerson("Hussam", 1) ' adds a person to the dataBase with a name: Hussam, and ID = 1
Call addPerson("Yahya", 2) 'adds....
Call addPerson("Yousif", 3)
Call addPerson("Majid", 4)
Call addPerson("Khalid", 5)
Call addPerson("Mohammad", 6)
Call addPerson("Ahmad", 7)
checkDatabase ' prints the DataBase
'establishing relatives, the next function links a father to a son.
'by ID
' making relative child father
makeFatherRelationship personDataBase(2), personDataBase(1)
makeFatherRelationship personDataBase(3), personDataBase(1)
makeFatherRelationship personDataBase(4), personDataBase(1)
makeFatherRelationship personDataBase(1), personDataBase(6)
makeFatherRelationship personDataBase(5), personDataBase(6)
makeFatherRelationship personDataBase(7), personDataBase(2)
checkDatabase 'prints the Data Base
End Sub
Public Function getPerson(ByVal id As Integer) As Person 'can be used b the user
'returns a copy
getPerson = personDataBase(id)
End Function
Public Function getBrothers(ByRef brother As Person) As Person() 'can be used by the user
'returns a copy!
getBrothers = getChildren(personDataBase(brother.fatherID))
End Function
Public Function getChildren(ByRef Father As Person) As Person() 'can be used by the user
' returns copies
ReDim persons(LBound(Father.childrenIDs) To UBound(Father.childrenIDs)) As Person
For i = LBound(Father.childrenIDs) To UBound(Father.childrenIDs)
If (Father.childrenIDs(i) <> 0) Then
persons(i) = personDataBase(i)
End If
Next
getChildren = persons
End Function
Public Function addPerson(ByVal name As String, ByVal id As Integer) As Boolean
'used by the user
Dim p As Person
p.name = name
p.id = id
'p.fatherID = -1
Debug.Print id, personDataBase(id).id
If personDataBase(id).id = 0 Then
personDataBase(id) = p
addPerson = True
Else
addPerson = False
End If
End Function
Public Function makeFatherRelationship(ByRef child As Person, ByRef Father As Person) As Boolean
'used by user
If child.fatherID = 0 Then
child.fatherID = Father.id
For i = 0 To UBound(Father.childrenIDs)
If Father.childrenIDs(i) = 0 Then
Father.childrenIDs(i) = child.id
makeFatherRelationship = True
Exit For
End If
Next
Else
makeFatherRelationship = False
End If
End Function
Private Sub checkDatabase() ' prints approximatly all info
Debug.Print "Printing All Persons..."
For i = LBound(personDataBase) To UBound(personDataBase)
If personDataBase(i).id <> 0 Then
If personDataBase(i).fatherID <> 0 Then
Debug.Print "Father: "; personDataBase(i).id; personDataBase(i).name; " Father ID and name: "; personDataBase(i).fatherID; " "; personDataBase(personDataBase(i).fatherID).name
Else
Debug.Print "Father: "; personDataBase(i).id; personDataBase(i).name; " Father ID and name: "; personDataBase(i).fatherID
End If
Dim p As Person
printSons personDataBase(i)
End If
Next
Debug.Print "---"
End Sub
Private Sub printSons(ByRef Father As Person) 'prints sons (used by checkDataBase Sub)
Debug.Print " children"
For i = 0 To UBound(Father.childrenIDs)
If Father.childrenIDs(i) <> 0 Then
Debug.Print " "; Father.childrenIDs(i); personDataBase(Father.childrenIDs(i)).name
End If
Next
End Sub
Private Sub prepareDatabase() ' does nothing!!! it can be used to delete all records!!!
Debug.Print "preparring..Database...."
For i = LBound(personDataBase) To UBound(personDataBase)
personDataBase(i).id = 0
personDataBase(i).fatherID = 0
Next
End Subالحل الآخر سأرفقه قريبا!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
بما ان الاخ ابو مازن وضع الحل سوف اقوم بطرح سؤال جديد :
عند حفظ ملف نصي من داخل برنامجك كيف تعرف اذا كان هنالك ملف بنفس الاسم الذي تريد حفظه ؟
ابسطهالكم :lol:
انت لما تيجي تحفظ ملف وورد في مسار معين وعند اختيارك لاسم لحفظ الملف على سبيل المثال arab فاذا كان هنالك ملف يحمل الاسم
arab في ذلك المسار فان وورد سوف يخبرك ان هذا الملف موجود فعلا .
فكيف يمكنك التاكد من داخل برنامجك اذا كان هنالك تشابه في اسم الملف الذي تريد الاحتفاظ به؟
من دروسي :
درس مبسط لفهم ال VB6.... Resource File
تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)
الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry
من برامجي :
Abo Sabreen Messenger v2.1 العملاق
--------------------------------------------------
مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.
السلام عليكم ورحمة الله وبركاته
في البداية فقط أردت أن أسأل الأخ أبو مازن هل نستطيع تطبيق database class لنفس المشكل المطروح واذا لم يمكن فماهي الأسباب
أما الأخ أبوصابرين فالحل يكون باستعمال Dir$
If Dir$("c:\arab") <> "" Then
MsgBox ("The file exists")
Else
MsgBox ("The file does not exist")
End Ifهذه الطريقة الثانية باستخدام الفئات classes
هذه فئة Person2
يمكنك استخدامها هكذا
Dim a as new Person2
أضف اسم
a.FirstName = " My Name"
أضف أب
a.Father = new Person2
انظر إلى الشفرة وإلى التجربة!! أرجو أن يكون فهمه سهلا..
Private myChilds(10) As Person2 Private myFather As Person2 Private myName As String Private id As Integer Public Property Get FirstName() As String FirstName = myName End Property Public Property Let FirstName(FN As String) myName = FN End Property Public Property Get Father() As Person2 Set Father = myFather End Property Function addChild(child As Person2) Debug.Print "adding.."; child.FirstName For i = 0 To UBound(myChilds) If myChilds(i) Is Nothing Then Set myChilds(i) = child Exit For End If Next End Function Public Property Let Father(FatherN As Person2) FatherN.addChild Me Set myFather = FatherN End Property Public Property Get childs() childs = myChilds End Property
هذا هو استخدام الفئة السابقة من المبرمج:
Public Sub testClassPerson2() Dim a As New Person2 Dim b As New Person2 Dim c As New Person2 Dim d As New Person2 Dim e As New Person2 a.FirstName = "hussam" b.FirstName = "Mohammad" c.FirstName = "Yahya" d.FirstName = "Yousif" e.FirstName = "Majid" a.Father = b c.Father = a d.Father = a e.Father = a printChildren a printChildren b printChildren c printChildren d printChildren e End Sub Public Sub printChildren(ByRef p2 As Person2) Debug.Print "Children for "; p2.FirstName For i = 0 To UBound(p2.childs) Dim p As Person2 Set p = p2.childs()(i) If p Is Nothing Then Else Debug.Print i; p.FirstName End If Next End Sub
إلى سؤال تالي!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
أخي (شبكة الحلم) لم أفهم ما تعنيه! هل تقصد حفظ المعلومات في قاعدة بيانات مترابطة مثل Access أو غيرها.. أعتقد أنه يمكنك ذلك. الحل الأول باستعمال Type تعطيك فكرة عن كيفية عمل ذلك وهو باستعمال الأرقام المعرفة IDs للوصول إلى الأقارب! لم أجربها... لكن جدول فيه الأسماء، وجدول آخر يبين علاقة الأب وابنه!
في نظام RDB
الجدول الأول يحوي
Person ID, Name
والجدول الثاني:
father id, son id.
وعن نفسي أنتظر قواعد البيانات الشيئية OODB .. والتي ستسهل الكثير خاصة في بيانات لها علاقات متشابكة جدا!
هل هذا ما قصدته؟
---------------
فوائد إضافية حول الطريقة الأولى في الحل باستخدام Type
تستطيع تخزين هذه المعلومات بسهولة جدا في ملف دون إدخال كل قيمة على حدة.. فكل مافي الأمر أن تفتح ملفا، وتخزن Person مباشرة في الملف.. لا تخزن اسمه ورقمه ورقم أبيه، بل يكفيك تخزين الوحدة التخزينية لـ Person معين مباشرة على الملف..
أعتقد بمثل الطريقة هذه والله أعلم:
Open "File" as Output #1 Print #1 person1 Print #1 person2
وهكذا،
بالتوفيق!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
شكرا أبو مازن لقد اجبت على السؤال بطريقة مباشرة باستعمال الفئة التي أنشئتها
لماذا مات الموضوع؟؟؟!
السلام عليكم
إن شاء الله مناحول نرد الروح لهالموضوع
عندي سؤال صغير و ارجو المشاركة بأكثر من حل لأنه يقبل أكثر من طريقة
السؤال :
نعلم أن في الفيجوال بيسك يوجد الدوال المثلثية sin - cos ----- إلخ بشكل جاهز للاستعمال الفوري دون اضافة أي مكتبة
كيف نستطيع استخراج arcsin و arccos من الدوال المتوافرة بالفيجوال اي sin - cos بطريقة برمجية دون استخدام قوانين الرياضيات
و هذا السؤال قد أخذ مني عقلي مدة لا بأس بها لأن برنامجي كان متعلق عليه ثم حللته في نومي لشدة تفكيري به حيث أني كنت نائما ثم رأيت نفسي اكتب كود الحل ثم استيقذت و انا متذكر الكود فجربته فعمل طبعا لم أكن أعلم القانون الرياضي الذي يعطي arcsin رياضيا
أرجو المشاركة
انا لا اعرف الاجابه و لكن اريد ان يهتم الافراد بهذا الموضوع لانه رائع
كيف يمكنك أن تحول قيمة الثواني التالية : 13850 إلى دقائق و ثواني و ساعات بحث لاتزيد الثواني عن 60 ولا تزيد الدقائق عن 60 ؟
و بالمناسبة موضوع جميل كما أنه يشغل أمخاخنا (شوي) في هذا الصيف
تم تعديل هذه المشاركة بواسطة 007GB في 19 يوليو 2006 في 13:45
المستبد يتحكم في شؤون الناس بإرادته لا بإرادتهم و يحكمهم بهواه لا بشريعتهم و يعلم من نفسه أنه الغاصب المتعدي فيضع كعب رجله على أفواه الملايين من الناس يسدها عن النطق بالحق و التداعي لمطالبته
السلام عليكم
أخي 00VGB هاهو جواب سؤالك :
ضع صندوقي نص و زر أمر و اكتب الكود التالي في حدث ضغط زر الأمر : مع الملاحظة أنك تستطيع كتابة أي رقم من الثواني في الصندوق الأول ليتم تحويله في الصندوق الثاني
Dim Hour, Min, Sec As Integer TextBox2.Text = TextBox1.Text / 60 Hour = TextBox1.Text \ 3600 Min = (TextBox1.Text Mod 3600) \ 60 Sec = (TextBox1.Text Mod 3600) Mod 60 TextBox2.Text = "Hour = " & Hour & " Min = " & Min & " sec = " & Sec
اخي ولكن لم تتم الاجابة على سؤالي و هو جميل فأرجو عدم طرح سؤال قبل الاجابة عن السؤال الحالي
و شكرا
تم تعديل هذه المشاركة بواسطة Xacker في 10 سبتمبر 2006 في 03:47
هذا الموضوع مغلق.
