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

مشروع مافكسبي 2003 ب Vb6

بدأه زكيري عبد العالي في 21 أغسطس 2008 · 9 رد · 1,301 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اردت ان اثترح عليكم عمل نفس المشروع بالفيبي لكن لن اشارك فيه لسببين لا اعرف الفيبي و لا احبه

لكني اقترح بما انا خطوات المشروع واضحة ومبسطة و نفس المشروع في قسمين اخرين احببت ان اعرض عليكم الامر لعل الفكرة تعجبكم ويستفيد مبرمجين الفيبي من المشروع ان تم ذلك

شكرا

اعذروني على الكلة الخشنه نوع ما لكن هي الحقيق

و ليكن مشروع فيه الروح الرياضية

شكرا

كما وقلت سابقا اني سأعمل على مشروع صغير اسميه مافكسبي 2003 ومعناها : محول افس اكسبي إلى 2003

المشروع سيتم برمجته بثلاث لغات

الدلفي

الدلفي نت

السي شارب

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 24 أغسطس 2008 في 17:50

#2

ليس نت المستحيل عملها بالفى بى

لكنى لن اشارك لانى لا املك وقت لمشاريع اخرى + انى غير متحمس للفكرة فى عمل المشروع على اكثر من لغة

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#3

وعليكم السلام

فقط أردت الاستفسار والتعليق فقط حول أهداف المشروع

اقتباس
متطلبات المشروع

الدراية :

1- بقواعد البيانات paradox

2- بتسيير الملفات xls عن طريق ado

3- باستعمال الرجيستري

4- API ونداوز

5- لغة wql لتنفيذ أوامر WMI

6- الثراد لتنفيذ عدة إجراءات في نفس الوقت

أرى أن متطلبات المشروع كلها لا تعيق أبدا أي مبرمج على أي لغة لكي يتعامل معها

لكني استغربت كثيرا من النقطة الأولى حول استعمالك للparadox :)

ربما النقطة الوحيدة التي يصعب تنفيذها بأداء جيد هو الmultithreading على الvb لكن أظن أن استعمالك للwmi سيتيح فرصة لجعل هذا العمل مستقل تماما عن لغة البرمجة بل على نظام التشغيل نفسه

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

على الأقل في هذه الحالة كنت أضفت الvb.net ايضا

أم أنك ترى أيضا أنه صعب التنفيذ على الvb.net أيضا :)

لا أعرف اذا كنت سأشارك لكني متأكد أن كل النقاط التي ستعالجها في المشروع تمت مناقشتها هنا أيضا

أي أنها موجودة :) وسأحاول أن أضع بالتوازي الاجراءات التي تقوم بانشاءها في المشروع الاساسي هنا أيضا

بالتوفيق أخي الكريم

متابعون معك ان شاء الله

#4

السلام عليكم

اخوتي

حريف برمجة

اقتباس
+ انى غير متحمس للفكرة فى عمل المشروع على اكثر من ل

الهدف ليس فكرة انشاء مشروع بعدة لغات انما ا ردت ان اجعل بعض الحماس في قسم الفيبي بما اني وضعت تحليل المشروع بشكل اظنه واضح

اقتباس
كني استغربت كثيرا من النقطة الأولى حول استعمالك للparadox

لا تستغرب اخي اعمل مع اي قاعدة تريدها ولتكن الاكسس مثلا

اقتباس
أم أنك ترى أيضا أنه صعب التنفيذ على الvb.net أيضا

لا

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

وسأحاول أن أضع بالتوازي الاجراءات التي تقوم بانشاءها في المشروع الاساسي هنا أيض

هذه اول مشاركة وعلى الخوة المتابعة وجزاك الله خير

لم اضع هذا الاقتراح الا عندما شاهدت الحماس من الاعضاء في المنتديين

#5

السلام عليكم ورحمة الله

أرى أن المشروع لقي ترحيبا فقط على السي شارب :)

لي فقط ملاحظة في طريقة ايقاف برامج الأوفيس باستعمال الWMI

لماذا بحثت على الPID من أجل ايقاف البرنامج في حين أنه يمكننا ايقافه من اسمه فقط

 

[color= #800000;]Sub TerminateProcess[color= #66cc66;](pcName [color= #800000;]As [color= #800000;]String, ProcessName [color= #800000;]As [color= #800000;]String[color= #66cc66;])

[color= #800000;]On [color= #800000;]Error [color= #800000;]Resume [color= #800000;]Next

[color= #800000;]For Each Process In [color= #800000;]GetObject[color= #66cc66;]([color= #ff0000;]"winmgmts:{impersonationLevel=impersonate}!//" & pcName[color= #66cc66;]).[color= #66cc66;]ExecQuer
y[color= #66cc66;]( _

[color= #ff0000;]"select * from Win32_Process where Name='" & ProcessName & [color= #ff0000;]"'"[color= #66cc66;])

Process.[color= #66cc66;]Terminate

[color= #800000;]Next

[color= #800000;]DoEvents

[color= #800000;]End [color= #800000;]Sub
#6

بارك الله فيك ام اكن اعرف ذلك كنت قد عملت المشروع في شهر واحد حيث قمت بالتحليل و البرمجة ولم يكفني الوقت لدراسة WMI وهي اول مرة استعملها .

شكرا على الملاحظة ها قد استفذنا منك ومازال

ارجو الاستمرار في المشروع ولو كنت لوحد اخي الكريم و لك الشكر.

بالتوفيق

#7

ارجزا ايضا ان تبدا بالسهل

اي كيف اسخ دليل انشاءه...الخ

post-1034-1219603016.jpg

#8

كل تلك العمليات موجودة في فئة FileSystemObject نقوم باضافة المرجع الخاص لها الموجود في Microsoft Scripting Runtime

بذلك كل شئ يصبح أسهل مما تتصور :)

Sub DeleteFolder(FolderSpec As String, [Force As Boolean = False])

Function CreateFolder(Path As String) As Folder

Sub CopyFolder(Source As String, Destination As String, [OverWriteFiles As Boolean = True])

 

[color= #800000;]Public [color= #800000;]Function IsEmptyFolder[color= #66cc66;](ByVal iFld [color= #800000;]As [color= #800000;]String[color= #66cc66;]) [color= #800000;]As [color= #800000;]Boolean

[color= #800000;]Dim fso [color= #800000;]As [color= #800000;]New FileSystemObject

[color= #800000;]Dim aFolder [color= #800000;]As Folder

IsEmptyFolder = [color= #800000;]False

aFolder = fso.[color= #66cc66;]CreateFolder[color= #66cc66;](iFld[color= #66cc66;])

[color= #800000;]If aFolder.[color= #66cc66;]Files.[color= #800000;]Count = [color= #cc66cc;]0 [color= #800000;]Then IsEmptyFolder = [color= #800000;]True

[color= #800000;]End [color= #800000;]Function

 

 

[color= #800000;]Public [color= #800000;]Sub CopyAllFile[color= #66cc66;](ByVal FromFld [color= #800000;]As [color= #800000;]String, ByVal ToFld [color= #800000;]As [color= #800000;]String[color= #66cc66;])

[color= #800000;]Dim fso [color= #800000;]As FileSystemObject

[color= #800000;]Dim aFolder [color= #800000;]As Folder

[color= #800000;]Dim aFile [color= #800000;]As File

aFolder = fso.[color= #66cc66;]CreateFolder[color= #66cc66;](FromFld[color= #66cc66;])

[color= #800000;]For Each aFile In aFolder.[color= #66cc66;]Files

aFile.[color= #66cc66;]Copy ToFld, [color= #800000;]True

[color= #800000;]Next

[color= #800000;]End [color= #800000;]Sub

تم تعديل هذه المشاركة بواسطة DreamNet في 26 أغسطس 2008 في 09:34

#9

رائع جدا ها انا اتعلم الفيبي بطريفة غير مباشرة

اقتباس
زيادة الخير خيرين

بارك الله فيك

طريقة عمل البرنامج

تتم خطوات المشروع في مايلي

1- قائمة الأجهزة

نقوم باضافه معلومات الاجهزه اي يكفي ان نعطيها عنوان الابي IP وبرمجيا هناكمايلي

المعطيات IP

*-وضيفة تعمل على WMI استرجاع اسم الجهاز

*-وظيفة تعمل على استرجاع اسم المستعمل المتصل ذ

*-وظيفة تعمل على استرجاع Office المثيت في الجهاز

كل هذه المعلومات مرتبه في dbgrid اي يكون بذلك كل ادوات التحيين الحذف الاضافة التغير

نحتاج زر اخر لنقل المعلومات من ملف اكسل الى الجدول المعلومات عي قاءمه العناوين IP لمذا اكسل لانه الاكثر استعمال من برامج اخري التي تستخرج عناوين IP من الاجهزة

*- listbox تحتوي على قاءمه الاجهزة الاتي تم رفضها من طرف البرنامج وذلك عدم توفر الشروط التالية

- النظام XP

-اصدار Office 2003 او XP

- اخر اعادة التشغيل للجهاز اقل كم اسبوع

... ساضع البقيه في وقتها

</br >

*-قاءمه تحوي على محتوي المفتاح OPEN المجود في الرجيستري

المحتوي هو عباره عن معلومات بها مكان تواجد الماكرو الاضافي نوعه ...الخ

ان حذفت سطر حذف الماكرو من الوارد او الاكسل مع انك لم تحذف الملف

اذن عندنا زر يسمح بملأ هذه القاءمه وعندنا ربط بواسطة العنوان IP كما هو موضح في MCD

قوانين التسيير الخاصة بهذه النافذة

1- لكل جهاز عدة مستعملين ويطلب من مستعمل البرنامج طلب من المستعمل الرئيسي او مالك الجهاز ان يفتح السيشن بكلمة مروره قبل تنفيذ البرنامج

2-لكل جهاز عدة ماكرو منها الخاصة بالكسل وذات اللحقة .XLA و الاخري الخاصة بالورد .DOT

الان المطلوب

*- واجهة المشروع

*-وضيفة تعمل على WMI استرجاع اسم الجهاز

*-ولمعرفة معلومات الرجيستري لابد من معرفة SID الخاص بالمستعمل

*-وظيفة تعمل على استرجاع اسم المستعمل المتصلWMI

*-وظيفة تعمل على استرجاع Office للاالمثيت في الجهاز الرجيستري

*-وظيفة لمعرفة امكانية الوصول الى الجهازWMI

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 26 أغسطس 2008 في 12:06

#10

للرفع

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