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

أسئلة متنوعة

مغلق
بدأه delphi team في 17 ديسمبر 2003 · 41 رد · 16,222 مشاهدة · في قسم الأكواد الفاعلة والنادرة
مشاركة: واتساب X فيسبوك تيليجرام
#26

مرحبا يا أحلى صديق والله

رايح أجرب وأردلك جواب

الحقيقة انا ممتن الك كتير

ودمتم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#27

مرحبا ياشباب

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

لازم بس توضح شوي عن كيفية وضع الشيفرة

مثلا

انت كاتب

كيف تقوم باستخراج ملف الـ OCX من برنامجك اثناء التشغيل.

اولاُ يجب ان نعرف اذا ما كان ملف الـ OCX موجود لدى المستخدم و نستطيع ذلك بالكود التالي:

وواضع هذه الشيفرة

uses comobj

begin

Application.Initialize;

try

Application.CreateForm(TForm1, Form1);

except

On EOleSysError Do

begin

//Register OCX File because not found.

end;

end;

Application.Run;

end.

بس ممكن تشرحلي عن كيفية وضعها لأنو أنا حاولت في كود الproject بس يظهر دلفي رسالة عدم التعرف على ole

Error] Project1.dpr(16): Undeclared identifier: 'EOleSysError'

وعلى فكرة اذا في أي عناصر يجب وضعها علو تخبرنا

ومنشان الشيفرات الأخرة في المرفق لـسه ما وصلتها !!!!!!!!!!!1

الواحد ما يتعلم الإ اذا سأل مو هيـــــــــــــــك شباب

عفوا على الأطالة

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#28

السلام عليكم

تمام عليك يا دلفي ... وصلت المرحلة الأخيرة ... بالنسبة للكود المرفق اكثرة

انا ماخذة من المنتديات ...والسؤال موغلط ابد يا دلفي

المهم جرب الطريقة هذي لأستخراج وتسجيل الـ OCX :

var
  SystemDir : array[0..MAX_PATH] of Char;
  SWFDir, AppDir: String;
  Fres: TResourceStream;
  Ffile: TFileStream;
begin   // هنا لتحديد موقع مجلد الفلاش 
    GetSystemDirectory(@SystemDir,MAX_PATH);
    SWFDir := SystemDir+'\macromed\flash\';
    GetDir(0,AppDir); // Get current directory

    //وهنا للتشييك اذا كان موجود او يقوم بإنشائة لك 
    if fileexists(SWFDir+'swflash.ocx')=false then begin
        //create directories if needed and extract file from resource.
        {$i-} //compiler directive to suppress i/o error messages
        MkDir(SystemDir+'\macromed');
        MKDir(SystemDir+'\macromed\flash');

        // Resources  وهنا لأستخراجة من الـ 
        {$i+}  
        Fres := TResourceStream.Create(0,'flash',RT_RCDATA);
        Ffile := TFileStream.Create(SWFDir+'swflash.ocx',fmCreate);
        Ffile.CopyFrom(Fres,Fres.Size);
        Fres.Free;
        Ffile.Free;

        //وهنا لتسجيلة  لك 
        winexec(PChar('regsvr32 /s '+SWFDir+'swflash.ocx'),SW_HIDE);
    end;

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

وتقريبآ هذا كل شي بخصوص الفلاش .

#29

السلام عليكم

بمناسبة ادراج ملف فلاش ، لدي سؤال عليه

لدي ملف موجود داخل مجلد اسمه flash أريد ان ادرج هذا الملف بدون اكتب في الموفي يو ار ال كاملا يعني مثل flash // بحيث يعمل اذا كان الملف موجود في c او d او اي قرس

#30

نفس الش حاليا انا عما سئل الشباب

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#31

مرحبا ياشباب

أخوي win32

ساويت كل شيء بخصوص ربط لأنشاء الـ Resources

بعد خطوة اذهب الى الدوس Dos Window و اكتب : Brcc32 c:\flash.rc.txt

اظهر الدوس رسالة

C:\>brcc32 c:\flash1.rc.txt

Borland Resource Compiler Version 5.40

Copyright © 1990, 1999 Inprise Corporation. All rights reserved.

Error Could not open input file c:\flash1.rc.txt

لاحظ أنها رسالة خطأ..........

بس في السي تم انشاء ملف غير متعرف الوندوز عليه اسمه flash1 وامتداده ASP

فهل ذلك يعني انو العملية تمت بنجاح ولا شو .............!!!

وبالمناسبة لو صار الي قلتو انو مشي الحال أنت كاتب أنا رايح احسن استخدم الـ Resources

في برنامجي

يعني أنو انا رايح انقل الملف الي تم أنشاءه في ال c واحطه في ملف البرنامج!!!

وبعدين لو أنا نقلت برنامجي الى جهاز أخر ما فيو مشغل الفلاش أي فلاش في برنامجي رايح يشتغل صح :(

؟؟

اانا بانتظارك أخوي العزيز

إن شاء الله ما كون طولت عليك

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#32

السلام عليكم

الأخ ابو محمد : مر علي الطريقة التى تطلبها لأكن للأسف لا اتذكرها الأن

لكن سأحاول ان ابحث لك عن حل .

ديلفي تيم : فكرتك تعديت الخطوة هذي .. !

ما كتبت في الدوس " Brcc32 c:\flash.rc.txt " سليم ويجب عليك

التأكد من ملف الربط الموجود في السي .. و الـ OCX ... حاول اكثر من مرة

وتأكد بأن لا تغلط لو بحرف واحد وسنتجح معاك .. وامتداد الملف الناتج يكون RES .

واذا انتهيت من عمل الريسورس خذة وضعة مع ملفات مشروعك ولا تنسى ان

تعرف برنامجك علية :

implementation

{$R *.dfm}
{$R flash.res}

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

تم تعديل هذه المشاركة بواسطة win32 في 25 ديسمبر 2003 في 04:57

#33

السلام عليكم

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

OnCloseQuery على مستوى الفورم

واظهار الرسالة اللي بدك تظهرها قبل ما يتم اغلاق الفورم

وعلشان تمنع الفورم من الاغلاق يوجد

Parameter اسمه CanClose

ياخذ القيمة True لوحده وانت ممكن تغيرها الى False

عندها لن يغلق الفورم.

انا لم اشاهد كل الردود عن هذا الموضوع

لذلك سامحوني اذا كان يوجد رد مشابه

أبو قصي

#34

مرحبا ياشباب

اول شي ابو قصي لا يوجد رد مثل ردك

شكـــــــــــــرا

وأخو win32 رايح أحاول مرة ثانية برغم من أني نفذ تعليماتك بالحرف الواحد

no problem

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#35

السلام عليكم

delphi team لقد اتبعت خطوات الاخ win32 ونجحت معي والملف الناتج امتداه res

اتوقع ان الخطأ لديك انك لا تعمل على نفس المجلد الذي يحتوي على الملف flash.rc.txt ومللف swflash.ocx .

win32 اتمنى ان تجد حلا لسؤالي السابق

#36

عفوا على لسؤال أخوي أبو محمد

أي مجلد تقصد

يعني انا لازم اوضع الملف النصي ومشغل الفلاش في مجلد :)

الرجاء التوضيح

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#37

السلام عليكم

لا بد ان يكون الملفين في نفس المجلد

وعند كتابة هذا الامر

C:\>brcc32 c\:yourfolder\flash1.rc.txt

yourfolder تغييره الى نفس المجلد الذي تستخدمه وايضا c:\ يكون نفس الفهرس الذي تستخدمه

#38

السلام عليكم ياشباب

أول شي  أحب أشكر الأخ win32 الي في الحقيقة تعب معي في تعليمي كيفية وضع الفلاش في الدلفي

طبعا الشكرا أيضا للأخوة الأخرين الذين بادروا بالمشاركة

أنا أخوي win32 خلصت خطوة انشاء نلف الريسورس وشي الحال كان الخطأ في السواقات لا أكثرو لا أقل

بعدها قمت بالتعريف كم حضرتك ذكرت

implementation

{$R *.dfm}

{$R flash.res}

var

SystemDir : array[0..MAX_PATH] of Char;

SWFDir, AppDir: String;

Fres: TResourceStream;

Ffile: TFileStream;

begin // هنا لتحديد موقع مجلد الفلاش

GetSystemDirectory(@SystemDir,MAX_PATH);

SWFDir := SystemDir+'\macromed\flash\';

GetDir(0,AppDir); // Get current directory

//وهنا للتشييك اذا كان موجود او يقوم بإنشائة لك

if fileexists(SWFDir+'swflash.ocx')=false then begin

//create directories if needed and extract file from resource.

{$i-} //compiler directive to suppress i/o error messages

MkDir(SystemDir+'\macromed');

MKDir(SystemDir+'\macromed\flash');

// Resources وهنا لأستخراجة من الـ

{$i+}

Fres := TResourceStream.Create(0,'flash',RT_RCDATA);

Ffile := TFileStream.Create(SWFDir+'swflash.ocx',fmCreate);

Ffile.CopyFrom(Fres,Fres.Size);

Fres.Free;

Ffile.Free;

//وهنا لتسجيلة لك

winexec(PChar('regsvr32 /s '+SWFDir+'swflash.ocx'),SW_HIDE);

end;

=====================================================================

بعد ذلك قمت بوضعهذه الشيفرة الي ذكرتها سابقا في الفورم oncreateform لــــكن ليس بالفورم الذي يوجد به الفلاش !!!

بعدين قمت بتنفيذ البرنامج....طبعا مشي الحال ........... بس أنا عندي على جهازي في نظامين أكس بي و ملينيوم

كل شغلي على الأكس بي

و من أجل تجربة كل ما سبق شغلت البرنامج من الميلينيوم بس للأسف ما أشتغل الفلاش ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

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

الرجاء الرد أخوي العزيز انا بانتظارك

عفوا على الأطالة

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#39

حقيقةّ يا دلفي .. لا اعلم ما السبب احتمال في الكود شي ما يمشي مع الملينوم

حاول تتأكد .. هل انشئ لك البرنامج مجلد macromed\flash في السيستم وهل وضع

فية مشغل الفلاش ..ان وجدتهم فالمشكلة بسيطة .. احتمال في تسجيل الـ OCX

ربما الكود لا يعمل مع الملينوم .. وعذرآ لا يوجد عندي ملينوم حتى اعرف السبب .

الأخ ابو محمد ... من امس وانا احاول ادور لك حل ...لكن لم اتوصل الية للأسف .. لكن

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

var
 AppDir: String;
 begin
   GetDir(0,AppDir);
   ShockwaveFlash1.Movie:=AppDir+'/yourfile.swf';
end;

اعتقد يجب ان تغير ShockwaveFlash1 الى swflash1

وفي الموفي يو ار ال ... في خصائص الفلاش ... لا تكتب شي

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

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

الطريقة المثالية ولكن تنفع في حالتك .

#40

والله ياخ win32 الملف موجود قبل وبعد العملية

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#41

اذا يوجود الملف قبل العملية ... فمعناتة يوجد في نضامك مشغل فلاش

مع العلم انك تقول ... لا يوجد فية مشغل

حاول يا دلفي بكذا طريقة ... لعلك تسطيع حل ما انت فية ... حاول تغيير الملف الذي

تريد عرضة ... احيانآ يتعطل الملف وعند عرضة ... يضهر ابيض

المهم ان تحاول الى ان تصل الى نتيجة مرضية ... و بالتوفيق .

#42

عفوا يا شباب أنا مشغول هل اليومين بالأمتحانات

لا تواخذوني

سوف أتابع العملية بعد الأمتحانات و بشوف أذا هنالك اي مشكلة :) يمكن تواجهني كالعادة

الله ما يحرمني منكم

أخوكم

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

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

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