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

استفسار حول صناعة ملف تنفيذى للمشروع بأستخدام الكود

بدأه amr soft في 6 يناير 2009 · 7 رد · 967 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بســم الله الـرحمــن الرحيــم

اعضاء اكبر متندى لتعليم البرمجة

لى استفسار ارجو من الله ان يوفق لى احد اعلام المنتدى للاجابة علية

الاستفسار هو :

اريد عمل ملف تنفيذى للمشروع اثناء عملة او بأستخدام مشروع اخر لا يهم

بمعنى ( انى اقوم بأغلاق المشروع المراد عمل exe لة واستدعى برنامج اخر من صنعى ايضا ليقوم بعمل exe للمشروع الاول

مثال:

اللمشروع الاول (Project1.vbp)

المشروع الثانى (Project2.vbp)

اقوم بعمل exe للمشروع Project1.vbp من خلال Project2.vbp

وذلك لان على حد علمى لا يمكن للجهاز عمل استبدال لاى ملف هو قيد التشغيل

ارجو ان اكون اوضحت الصورة

ما اريدة هوة الكود الذى يتمكن من ذلك

ان كان موجود اصلا خاصية مثل هذة

وفى حد معرفتى المتواضعة اعرف انة يمكن عمل exe من خلال القائمة الفرعية

عن الضغط بزر الماوس الايمن على Project1.vbp

هل من الممكن ان اصل الى هذة القائمة ايضا بالكود

وها صورة توضح الطريقة

post-174055-1231240791_thumb.jpg

اعرف ان الموضوع ليس سهل (انا اتكلم على حد معرفتى المتواضعة) وفوق زى كل علم عليم

قمت بالبحث على الانترنت لمدة ثلاثة ايام لم اجد شى يتكلم فى صلب الموضوع

حتى موقع ميكروسوفت

الا هذا الكود الذى لم اعرف استخدمة

اضعة بين يديكم

لعل يرزقنا الله بشخص وفير المعرفة ينفعنا


"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Declare Function apiFindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpclassname As Any, ByVal lpCaption As Any) As Long

Global Const SW_SHOWNORMAL = 1

and then u put this code in form..

Sub ShellExecuteExample()
Dim s As String
Dim hwnd
Dim StartDoc
hwnd = apiFindWindow("OPUSAPP", "0")

s="filepath_n_filename.xls"
StartDoc = ShellExecute(hwnd, "open", s, "", _
"D:\MyProject", SW_SHOWNORMAL)
End Sub
Declare Function ShellExecute Lib "shell32.dll" Alias _

لعلة يكون يتحدث عن الموضوع وانا لم افهمة

واشكركم على مجهودكم الذى لا يقدر بثمن

واعتذر على الاطالة ولكن لانى فى امس الحاجة الى هذا الكود

واتمنى ان اكون لم اخالف قواعد هذا الصرح العظيم

post-174055-1231240831_thumb.jpg

#2

من وجهة نظري، لا أظن هذا أمراً سهلاً.

لكي تقوم بتحويل البرنامج من vbp إلى exe لا بد أن تعرف طريقة عمل المترجم الخاص بالـVisual Basic .

يعني بمعنى آخر، أظن أن هذا = صنع لغة برمجة.

والله أعلم

هذه الجملة خاطئة  :wacko: 


#3

اعلم اخى العزيز ان هذا صعب

بل وفى منطقة المستحيل ولكن خلقنا لنسال ونتعلم

اعطانى احد المبرمجين المحترفين كود لصنع الملف بسهولة ولكن باستخدام لغة #C

ولكن لم يصلح ذلك لمشروعى

ارجو من الله ان يوفق لى محترف vb6

وشكرا لاهتمامك اخى

#4

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

Shell "c:\program files\Microsoft Visual Studio\VB98\vb6 /m D:\Project\Project1.vbp D:\Ahmed.exe"

السطر السابق سيقوم بترجمة المشروع Project1 ويضع الملف التنفيذي الناتج في D:\Ahmed.exe

صيغة الاستدعاء هي كالتالي :

vb6 /m %VB_Project_Path% %EXE_Path%

ولكن المشكلة هي كما ذكرت سابقًا أن المترجم الخاص بالفيجوال بيسك لا بد أن يكون مرفقًا مع برنامجك ..

وشكرًا ،،

سبحان الله وبحمده ... سبحان الله العظيم

#5
المبرمج أحمد كتب:
هذا ممكن ولكن لا بد من وجود مترجم الفيجوال بيسك لكي يعمل :

Shell "c:\program files\Microsoft Visual Studio\VB98\vb6 /m D:\Project\Project1.vbp D:\Ahmed.exe"

السطر السابق سيقوم بترجمة المشروع Project1 ويضع الملف التنفيذي الناتج في D:\Ahmed.exe

صيغة الاستدعاء هي كالتالي :

vb6 /m %VB_Project_Path% %EXE_Path%

ولكن المشكلة هي كما ذكرت سابقًا أن المترجم الخاص بالفيجوال بيسك لا بد أن يكون مرفقًا مع برنامجك ..

وشكرًا ،،

اخى العزيز احمد

حقا انت انقذتنى كثيرا

جعل الله كل حرفا من جواباتك ومواضيعك فى المنتدى جبالا من الحسنات فى صحيفتك يوم القيامة (اللهم أمين)

ولكن يبدو انى لم انجح فى استخدام الكود

ولقد ارفقت بعض الصور لما واجهنى من مشكللات

ظهرت لى رسالتان ومتتالية

الصور مرفقة بالترتيب

post-174055-1231682320_thumb.jpg

post-174055-1231682341_thumb.jpg

لقد قمت بأضافة الكود على النتحو التالى

post-174055-1231682404_thumb.jpg

Private Sub Command1_Click()

Shell "c:\program files\Microsoft Visual Studio\VB98\VB6 /m D:\Fannia Pro\Project1.vbp D:\ahmed.exe"

End Sub

اسف على الاطالة ولكن انا فى امس الحاجة الى ذلك الكود

لو لم اشق عليك ارجو من ارفاق مثال ان اتاح لك وقتك ذلك

اشكرك مرة اخرى

#6

عذرا اخى اعرف انى طمعت كثيرا

ولكن ان كان فى الامكان التنوية عن كيفية اضافة مترجم vb6 من دون اضافة vb6 بالكامل

اشكرك ولكن اعذرنى

#7

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

سبب الخطأ هو وجود فراغات في أحد المسارات:

  1. Shell "c:program filesMicrosoft Visual StudioVB98VB6 /m D:Fannia ProProject1.vbp D:ahmed.exe"
  2.  

حيث نلاحظ وجود فراغ بين كلمة Fannia و كلمة Pro في المسار الأول (المشروع المصدر). يجب في هذه الحالة (أي عند وجود فراغات في المسار) أن نحيطه بعلامات اقتباس (تنصيص) مزدوجة (Double Quotation). و بما أن هذا الأمر سيتم داخل String (الذي هو نفسه محاط بعلامات اقتباس) فيجب كتابة علامات الاقتباس مرتين متتايتين. هكذا:

  1. Shell "c:program filesMicrosoft Visual StudioVB98VB6 /m ""D:Fannia ProProject1.vbp"" D:ahmed.exe"
  2.  

ملاحظة: إذا كنت تريد أن يتم إنشاء الملف التنفيذي (EXE) بنفس اسم المشروع الأصلي و في نفس المجلد الخاص بالمشروع فلا داعي لكتابة الجزء الثاني:

  1. Shell "c:program filesMicrosoft Visual StudioVB98VB6 /m ""D:Fannia ProProject1.vbp"""
  2.  

حيث سيتم إنشاء ملف باسم Project1.exe في المجلد Fannia Pro.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#8

اخى najy_zl

اشكرك على اهتماك و ردك المميز انت واخى المبرمج احمد

الحمد لله يعمل الكود دون اية مشكلة

اشكركم شكر لا يتسع جل الكلام للتعبير عنة

الحمد لله

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

مع برنامجى دون الحاجة الى تنصيب vb

اشكركم جدا جدا جدا جدا جدا

جعلة الله فى ميزان حسناتكم

السلام عليكم

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…