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

سؤال في صنع مكتبة DLL

مغلق
بدأه Saad AL.Moosa في 5 أغسطس 2007 · 33 رد · 1,953 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة أخواني الكرام أنا بصدد إنشاء مكتبة DLL تسهل التعامل مع الملفات ولكن في إحدى الخصائص التي وظيفتها حساب حجم ملف أستخدمت الكود التالي:-

Dim a As String
Dim f As Integer
Dim size As Long
a = Path
f = FreeFile
Open a For Binary As f
size = LOF(f)

هذا الكود ممكن أ نستخدمة في المشروع العادي ولكن في المكتبة المبرمج سوف يضع الكود التالي:-

dim a as FH
text1.text = a.filesize (c:\1.txt)

طيب في الكتبة لما طلعنا حجم الملف أي نخزنة؟

تم تعديل هذه المشاركة بواسطة Saad AL.Moosa في 5 أغسطس 2007 في 12:43

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#2

المفروض تعمل فئة class وتضع لها خصائص مثل حجم الملف

Private m_fileSize As long

Property Get fileSize() As long

fileSize = m_fileSize

End Property

وعند قراءة الملف

تضع

m_file_size= lof(f)

#3

أخي ممكن ترفق لي مثال لأن هذي أول مكتبة DLL لي.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#4

ممكن تكتب الكود كاملا يعني اين وضعت هذا الكود ؟؟؟

Dim a As String
Dim f As Integer
Dim size As Long
a = Path
f = FreeFile
Open a For Binary As f
size = LOF(f)

هل في Method ام Function ام ماذا ؟؟؟؟

#5

أخي أيوب هل من الممكن أن تضع لي مثال كامل لمكتبة فيها مهمة حساب حجم أحد الملفات وأنا أعلم أني قد أخالف قوانين المنتدى لكن المشكلة التي برأسي لم أعرف كيف أمثلها كتابيا وأكون لك من الشاكرين.

أخوك سعد....

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#6

من اجل معرفة الحجم الخاص بملف معين فعليك بدالة FileLen()

و هذا مثال على دالة ترجع لك حجم ملف :

Public Function GetFileSize(ByVal FileName as String) As Long
GetFileSize = FileLen(FileName)
End Function

مع العلم ان الدالة FileLen ترجع الحجم بال Byte يعني من اجل معرفة الحجم بالميجا مثلا او الكيلو يجب ان تعمل عملية حسابية صغيرة ;)

#7

أخواني الكرام تظهر مشكلة في إضافة المكتبة وفيها النص التالي:-

Name conflicts with existing module, project, or object library

أرجو المساعدة.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#8
اقتباس
أخواني الكرام تظهر مشكلة في إضافة المكتبة وفيها النص التالي:-

Name conflicts with existing module, project, or object library

هي أنا بعرفها ، معناها إن اسم المكتبة نفس اسم المشروع أو موديول أو مكتبة . وعلشان تتفادى هالشي غير اسم مشروع المكتبة بالنقر بالزر اليميني على نافذة المشروع واختيار Project1 Proprities وتغيير Project name

#9

أخواني أنا إستخدمت الكود التالي لكن ظهرت معي مشاكل أرجو من أحد المحترفين وضع مثال للتوضيح وشكرا.

الكود:-

Public Function GetFileSize(ByVal FileName as String) As Long
GetFileSize = FileLen(FileName)
End Function

هذا الكود من أخينا أيوب.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#11

أخي أنا صنعت مكتبة ولكن عندما أعرف المكتبة في مشروعي عن طريق الكود التالي:-

Dim a as FH.Class1

وعندما أضغط على حرف a ومن ثم . لايظهر لي الفنكشن؟؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#12

أخي الكريم ، هذا مثال بسيط أتمني أن يوضح لك كيفية بناء المكتبات بصفة عامة ،

Project.zip

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#13

ما هي FH ؟ هل هي فورم ؟

انا جربت عمل ذلك و ظهرت الفنكشن

Dim S as Class1
S.GetFileSize()

اذا استمر الخطأ المرجو ارفاق الكود كاملا او المشروع

#14

ملحوظة أخري ،

الكود التالي غير سليم :

Dim a as FH.Class1

والكود الصحيح هو :

Dim a as New FH.Class1

وشكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#15

أخي MMA_EG_Cairo هل من الممكن أن تعطيني مثال أبسط يعني فيه بس حساب الملف؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#16

أخي MMA_EG_Cairo هل من الممكن أن تعطيني مثال أبسط يعني فيه بس حساب الملف؟

وبالنسبة أخي أيوب FH إسم المكتبة.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#17

أخي الكريم ، FH هو إسم مشروع المكتبة ( Project Name ) أما الـ Class1 هو إسم الفئة ، لأن من الطبيعي أن مشروع المكتبة تحتوي علي أكثر من فئة .

أما في مثالي الموضح فقد قمت بالإشارة الي إسم الفئة مباشرتاً كما يلي :

Dim objFileSys1 As New FileSys1

Dim objFileSys2 As New FileSys2

وكان بوسعي أن أكتبة كما يلي :

Dim objFileSys1 As New FileSysEx.FileSys1

Dim objFileSys1 As New FileSysEx.FileSys2

وشكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#18

أخي الكريم ، أنا أعطيت لك مثال بسيط جداً وبطريقتين ، مجرد أنني قمت بإضافة تشييكات علي المسار !!!!!

علي العموم سأرفق لك المثال مرة أخري دون إضافة أي تشييكات علي المسار

Project.zip

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#19

أخي الكريم عندما أضغط على زر عرض الطول يعطيني خطأ؟؟

ملاحظة:أنا أعمل حاليا على ويندوز فيستا فهل الويندوز فيستا لا يتوافق مع الفيجوال؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#20

لازم يكون مجالها Public

#21

مجال إيش؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#22

مجال الرؤية , تأكد من أنها Public و ليست Private

#23

هي Public

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#24

أخي الكريم ، يجب عليك تحميل ملف FileSysEx.dll بمسجل النظام

علي العموم أنا أرفقت لك ملف بسيط قم بنسخة بجوار الملف FileSysEx.dll ، ومن ثم أنقر علية

ثم أعد تشغيل البرنامج مرة أخري

وشكراً

RunDLL.rar

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#25

والله أخي المشكلة ما زالت قائمة الظاهر أن تسجيل المكتبات في فيستا غير.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

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

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