PDA

نسخه کامل مشاهده نسخه کامل : Resources in Delphi



soldier
25-07-2006, 12:04
سلام
تا حالا شده که بخواهین یه فایل رو جایی بزارید که به دست کسی نرسه؟
و از مضاهم هایی که فایل های بازی رو عوض می کنند و انسان رو ناراحت
می کنند راحت بشید؟
توی پست بعدی آموزش گذاشتن فایل رو در فایل exe اجرایی آموزش میدم.
منتظر باشید!
راستی یه مطلب برای حرفه ای ها که از این پست ها ندن
برای بدست اوردن این فایل ها باز هم روش هست. روش هاشو هم می دونم.
پس دیگه نمی خواهد تاپیک رو شلوغ کنید برای این نوع نوشته ها:)

soldier
25-07-2006, 12:07
این کار چندین مرحله داره.
اول باید فایل هایی که می خواهید به فایل اجرایی بروند رو بنویسید
این کار هم چندین قانون داره.
از اسم فایل شروع می کنیم و ...
خوب اول باید برای خودتون یه فایل بسازید که به فایل res تبدیل بشه
یک فایل txt متنی بسازید ! بعد آن را باز کنید و چیزایی لازم رو بنویسید
چیزایه لازم شامل 3 بخش هستند
اسمی که در دلفی به کار می رود
فایل از چه نوعی است(متنی،صدا،تصویر و ...) یعنی فرمت فایل
اسم فایل ! همراه با آدرس اگر فایل جایی بود که این فایل متنی را
می نویسید بود لازم نیست آدرس رو بنویسید
چند نمونه براتون می زارم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخوب وقتی که کار نوشتن تمام شد باید نام فایل متنی را تغییر دهید
یعنی فرمت فایل را عوض کنید! از txt به rc ببرید. اینکار فقط تغییر اسم هست
حالا باید این فایل رو به res تبدیل کنید.
cmd را اجرا کنید
وقتی که cmd اجرا شد باید عبارت زیر را بنویسید
brcc32 نام فایل با آدرس دقیق.
وقتی این را نوشتید اگر مراحل رو به درستی انجام داده بودید این به نوشته ها اضافه میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدخوب حالا فایل res ایجاد شده.همون جایی که rc را ایجاد کرده بودید.
حالا باید در دلفی از این فایل res استفاده کنید.
اول این جمله رو نوشته : {$R اسم فایلی که ساخته بودید.res}
زیر این خط باید باشه{$R *.dfm}
حالا باید در برنامه از این فایل استفاده کنید
چون حالا آماده اید برای استفاده از فایل.

برای استفاده از هر نوع فرمتی روال استفاده فرق داره .
بیتمپ :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آیکن :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ج پی جی اول باید یک فانکشن به این صورت بسازید بعد مثل Example استعمال کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Example:



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ویو هم روال خاصی دارد اول فانکشن زیر را نوشته بعد مثل Example استعمال کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Sample calls:



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و حالا استفاده از متن تی ایکس تی باز هم مثل دو تا قبلی:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Sample calls:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این هم از استفاده از یک فایل ویو که بالا گفتیم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این ها هم توضیح احتیاج ندارند.خودتون دیگه می دونین


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای استفاده از یک فایل برای نشان گر موس که متحرک هم هست.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Sample call:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید;



خوب بالاخره تموم شد.خیلی خسته شدم.
امید وارم که بدرتون خورده باشه. نظر هم یادتون نره.
راستی تهیه کننده یادم رفت خودم:)
منبع هم داره باز هم خودم.

مرد مباح
25-07-2006, 20:15
عالي بود
2 تا سوال داشتم.

1. از همين روش براي ساخت Dllها كمكي استفاده ميشه؟
2. فايل Exe رو چه جوري ميشه وارد يك چنين فايلي كرد و ازش استفاده كرد؟

soldier
25-07-2006, 21:53
سلام
سوالت خيلي برام جالب و به جا بود.
براي دي ال ال هم دقيقآ همين روال هست
چون دي ال ال و اگزه(اجرايي) مثل هم هستند
در بعضي موارد كم مثل هم نيستند.
فايل اجرايي اجرايي است و نمي توني جاي ديگه بزاري.
اگر احتياج داري اون رو به صورت دي ال ال بساز(كمي بايد حرفه اي باشي)
و از دي ال ال استفاده كن.چون دي ال ال مخصوص اين كارهاست.

مرد مباح
26-07-2006, 01:43
برنامه توسط يك زبان ديگه ساخته شده كه امكانات ضعيفي داره و نميشه ازش فايل Dll گرفت.
و من ميخوام اين برنامه رو به دلفي لينك كنم.
خروجي كمپايل اون زبان فقط Exe است

FGIT
26-07-2006, 08:15
راستی یه مطلب برای حرفه ای ها که از این پست ها ندن
برای بدست اوردن این فایل ها باز هم روش هست. روش هاشو هم می دونم
لا اقل كدها رو تو تگ كد بذار كه قابل خوندن باشه

soldier
26-07-2006, 12:39
سلام
اون برنامه هم ام ام بي هست.
نگو از كجا مي دوني:):):)
خوب پس احتياجي نيست كه
dll باشه از همون فایل اجرایی استفاده کن
یا نوحه استفاده ازش رو بلد نیستی؟
اما احتیاجی نیست که اون رو جایی قرار بدی

FGIT
من به زودی این کارو می کنم.

مرد مباح
27-07-2006, 10:19
آره.
من نميدونم چطوري لينكش كنم بدون اينكه Exe دوم يا همنو Mmb معلوم بشه.
يا بايد براش پارامتر بزارم كه فكر نكنم Mmb پارامتر وردودي داشته باشه و يا بايد غير قابل دسترسش كنم كه نميدونم چطوري.

soldier
27-07-2006, 11:46
سلام
براي چي مي خواهي غير قابل دسترس باشه
اگر واسه اينه كه وقتي اجراش كردند ضايع ميشه
توي قسمتي كه وقتي فرم ايجاد شد يه پيغام بده
اين فايل خرابه و بسته بشه.ديگه اينجوري هم
در امانه.اما اگر روش خيلي حرفه اي تري هم
ميخواهي بگو.

مرد مباح
27-07-2006, 12:03
فايل mmb توريه كه اگه از بيرون اجرا بشه برنامه بعدا ممكنه دچار اشتباه بشه و اين فايل بايد از توي پروژه من اجرا بشه.

سولجر جان نظرتو بگو.

soldier
27-07-2006, 12:11
سلام
من منظور تورو دقيقآ نفهميدم.چون اصلآ با ام ام بي كار نكردم.
پروژه تو رو هم نمي دونم با چي مي سازي! با دلفي؟
اگر مي توني توضيح بده.

مرد مباح
28-07-2006, 10:19
من دارم يك برنامه بانك اطلاعاتي خفن مينويسم كه يك بخش خفن داره كه با نقشه هاي ايران و مناطق اون سرو كار داره و ديدم طراحيش با Mmb برام راحتتره. اين بخش جزئي از برنامه است و معني نداره كه بشه بيرون از برنامه قابل دسترس باشه.

براي مثال معني نداره كه يك فرم گزارش شما بدون برنامه اصلي قابل نمايش باشه.
به همين دليل من بايد بخش فايل اجرايي اون رو از ئسترس خارج كنم.

as13851365
31-07-2007, 09:25
با سلام خدمت دوستان

اگه می شه کمی هم در باره این که یک فایل را به برنامه پیوند زدیم اما طرض استفاده اش را نمی دانیم توضیح بدین

مثلا : من یه برنامه دیگری ( برنامه اجرائی ) را به برنامه خود پیوند بزنم و بعد چطور این برنامه را بعد از پیوند اجرا کنم

یا وقتی که یک فایل متنی را به برنامه پیوند می زنم چطوری می تونم به محتوای این فایل متنی دسترسی داشته باشم و ویرایش هم کنم ( اگر این فایل متنی بانک اکسس باشد) خیلی ممنون می شم

در پست های قبلی دیدم که برای پیوند هر فایل راهی است و برای خواندن این فایل ها هم را های جداگانه ای اگر می شه در باره فایل های متنی و اجرائی کمی بیشتر توضیح دهید

امیدوارم که این مطالب را ادامه دهید و تا آخر بروید

NoneForce
31-07-2007, 10:13
سلام
از كامپوننت Single File System استفاده كنيد.
كل فايلها(يا هر فايلي كه شما بخواهيد) را داخل يك فايل جمع مي كنه و بعد ميتونيد فايلهاي مورد نظر را از داخل اون فايل صدا بزنيد، ميتونيد DLL و EXE ها را نيز صدا زده و يا اجرا كنيد.

و يا از :

Virtual Stream 1.01


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

as13851365
01-08-2007, 10:23
دوست گرامي :

اوني كه من مي خوام اجرا كردن يك فايل اجرائي است و يا نوشتن در فايل متني كه به برنامه پيوند زده شده است

من يك كامپوننت نمي خوام اينائي كه من مي خوام فكر نكنم بيش از سه خط برنامه باشه

من نيازي به كامپوننت نمي بينم اگر شما اين سه خط برنامه را بگيد خيلي بهتر از معرفي كامپوننت خواهد بود

as13851365
01-08-2007, 10:27
خوب اگر هم كامپوننتي معرفي كردي خواهشا طرض استفادش را هم بگي خوشحال مي شم

مرد مباح
01-08-2007, 11:42
سلام
از كامپوننت Single File System استفاده كنيد.
كل فايلها(يا هر فايلي كه شما بخواهيد) را داخل يك فايل جمع مي كنه و بعد ميتونيد فايلهاي مورد نظر را از داخل اون فايل صدا بزنيد، ميتونيد DLL و EXE ها را نيز صدا زده و يا اجرا كنيد.

و يا از :

Virtual Stream 1.01


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دوست عزیز.
اگه میشه لینک دانلود برای این کامپوننت هم بزارین.
خیلی ممنون.

as13851365
04-08-2007, 08:23
خوب دوست گرامی من این برنامه ها را دانلود کردم .

یعنی دوتا فایل جداگانه که یکی دمو بود و یکی یه برنامه .

وقتی از برنامه استفاده می کنم و فایل ها را ذخیره می کنم حالا چطور این فایل را به برنامه پیوند بدم ؟

{$R C:\name.vc}

از این روش استفاده کردم جواب نداد ؟
در ضمن حالا چطور بعد از پیوند بتونم به فایل های پیوندی دست رسی داشته باشم ؟

YBB
04-08-2007, 22:55
براي استفاده از فايلهاي منبع (Resources) ابتدا مي بايست فايلهايي را كه مي خواهيم
به فايل اجرايي برنامه مان الصاق شود
را در يك فايل منبع با پسوند .Res ذخيره كنيم

1- نحوه ساخت و استفاده از فرمت فايل منبع استاندارد ويندوز با استفاده از برنامه Image Editor دلفي:

با استفاده از Image Editor كه در منوي Toolsدلفي قابل دسترس است
مي توانيم فايل منبعي براي ذخيره سازي تصوير بيتي، آيكن و مكان نماي موس ايجاد نمود.
براي اينكار بعد از اجراي Image Editorاز منوي فايل گزينه
New\Resource File (.res)
را انتخاب نمود سپس از منوي
Resource\New
مي توانيد هر سه نوع فايل گفته شده را به منبع اضافه كنيد.
هر فايل موجود در منبع با نامي ذخيره ميشود كه با اين نام در دلفي فراخواني مي شود.
بعد از اضافه نمودن فايلهاي مورد نظر كل فايل منبع را با گزينه Save از منوي فايل
ذخيره كنيد.

براي آنكه دلفي هنگام كامپايل كردن برنامه تان فايل منبع ساخته شده را به فايل
اجرايي نهايي الصاق كند مي بايست در ذيل قسمت Implementation تك خط زير را بنويسيد:
{$R FileName.res}
كه در آن به جاي FileNameنام فايل منبع خودتان را بكار ببريد.

براي استفاده از سه فرمت گفته شده كه در فايل منبع ذخيره شده اند
مي توانيد از سه مثال زير استفاده كنيد:

:براي تصوير

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
:براي آيكن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

:براي مكان نما

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

براي ديدن مثال كاملي در اين زمينه مي توانيد برنامه Swat كه در پوشه
…\Delphi 7\Demos\Swat
قرار دارد مراجعه كنيد.


بحث در مورد ذخيره سازي هر نوع فايل در برنامه ادامه دارد...

YBB
05-08-2007, 15:25
2- ذخيره فايل با نوع دلخواه در Resource فايل اجرايي برنامه

Image Editor محدوديت هاي زيادي براي استفاده ازعكس و آيكن و مكان نما در فايلهاي منابع
دارد چه برسد به انواع ديگر از فايلها.

براي ذخيره كردن فايلهاي دلخواه در برنامه مي توان به صورت زير عمل كرد:

ابتدا فايلهايي را كه ميخواهيد در Resource برنامه تان قرا گيرند را در يك پوشه جداگانه كپي كنيد.

در اين مرحله مي بايست يك فايل توصيفي (Resource Script File) از فايل منبع نهايي بسازيد.
ساختار اين فايل توصيفي متني كه با پسوند Rs مي بايست ذخيره شود به صورت زير است:

ResName1 ResTYPE1 ResFileName1
ResName2 ResTYPE2 ResFileName2
...
ResNameX ResTYPEX ResFileNameX
...

كه در آن ResName نام يكتايي براي فايل ResFileName است كه با اين نام هم در دلفي شناخته مي شود.
ResTYPE هم نوع فايل مورد استفاده در فايل منبع مي باشد.

براي مثال:
فايل توصيفي (RS) فايل منبع نهايي (Res) كه در آن از چهار فايل clock.wav و cool.avi و introsong.mp3 و ExitSong.mp3 استفاده شده است به صورت زير مي باشد:

Clock WAVE clock.wav
Cool AVI cool.avi
Intro RCDATA introsong.mp3
Exit RCDATA ExitSong.mp3

اين فايل را بهتر است با پسوند RS در همان پوشه اي كه براي فايلها ساخته بوديد كپي كنيد

توجه داشته باشيد كه در قسمت ResFileName اگر اين فايل در مسير جاري نباشد مي بايست نام فايل همراه با مسير كامل آن ذكر شود. مثلا:

MailBeep WAVE "c:\windows\media\newmail.wav"

حالا نوبت به ساخت فايل منبع نهايي از روي فايل توصيفي مي رسد
اين كار توسط فايل BRCC32.exe كه در پوشه Bin دلفي قرار دارد انجام مي گيرد.
براي راحتي بهتر است اين فايل را در پوشه خودتان كپي كنيد
حال كافي است فايل RS خودتان را بروي فايل BRCC32.exe كشيده و رها كنيد
(و يا Run ويندوز را اجرا كرد و با استفاده از Browse فايل BRCC32.exe را انتخاب كرده و سپس در ادامه قسمت Open نام كامل فايل RS همراه با مسير آن را بنويسيد)

به هر حال بعد از اين كار فايلي با پسوند Res با همان نام فايل RS ساخته ميشود.

براي الصاق نمودن فايل Res به برنامه تان آن را در مسير فايل اجرايي برنامه كپي كرده و سپس با استفاده از دايركتيو $R آن را به دلفي اعلام كنيد

{$R FileName.Res}

همانطور كه قبلا هم گفته شد اين خط را در زير قسمت Implmantation بنويسيد.

با استفاده از متد LoadResource ميتوان فايل موجود در منبع برنامه را فراخواني كرد.

solook
04-07-2008, 14:14
مي خواستم ببينم چطوري ديتابيسmdb در فايل اجرايي ادغام ميشه

ma_karimi20
29-07-2012, 17:57
با سلام
یکی جواب بده فایل res را چه جوری ویرایش کنم؟؟؟؟؟
خواهش می کنم.