PDA

View Full Version : کاربا res ها



AliReza Vafakhah
یک شنبه 17 شهریور 1387, 02:32 صبح
این دومین پست من هست ، در پست قبلی دوستان به من تذکرات لازم را دادند ،،، خیلی متشکرم

کار با Resource ها در دلفی :

با استفاده از این تکنیک شما قادر خواهید بود که فایل های خود را درون فایل اصلی (Exe) قرار داده و سپس از آنها استفاده کنید .

مثلا در برنامه خود یک فایل wav را اجرا کنید بدون اینکه فایل wav وجود داشته باشد (البته داخل فایل exe است )

شروع :

در این مثال می خواهیم یک فایل wav را اجرا کنیم .

ابتدا در notepad به این شکل عمل کنید


"Clock WAV "h:\1.wav


توجه کنید که باید فاصله بین Clock و WAV وجود داشته باشد .

حالا با فرض این که این فایل که باید حتما با پسوند filename.rc ذخیره شود در مسیر E:\Filename.rc وجود دارد (پسوند rc)

حالا وارد Cmd شوید (Run->Cmd) سپس تایپ کنید .


brcc32 E:\Filename.rc

Hsimple11
یک شنبه 17 شهریور 1387, 02:37 صبح
دوست گرامی :

1- هر تاپیکی را در جای خود باید ایجاد کنیم. الان شما دارید یک مطلب را آموزش می دهید پس اولین مسئله تغییر عنوان تاپیک به مقاله است. اگر بصورت مقاله این آموزش است و قرار است شمای مقاله را داشته باشد. و اگر هم مانند نکته و ترفندی است، بخشی با نام نکات برنامه نویسی در دلفی وجود دارد که در آنجا تاپیک خود را قرار دهید.

2- اگر میخواهید مطلبی را در سایت آموزش دهید. اول از هرچیز در سایت موضوع را کاملا جستجو کنید تا مطلب تکراری نباشد. فکر میکنم برای ایجاد ریسورس ها و در مورد ریسورسها و کار با آنها به قدر کافی تاپیک در سایت وجود دارد.

موفق باشید.

AliReza Vafakhah
یک شنبه 17 شهریور 1387, 02:43 صبح
بقیه :::

حالا شما در کنار فایل Filename.rc یک فایل با همین نام اما با پسوند res دارید که توسط برلند دلفی کمپایل شده .

حالا این فایل را (FileName.Res) را به مکانی که پروژه شما وجود دارد انتقال دهید.

حالا وارد دلفی شوید و در قسمت implementation (دقیقا در زیر این خط ) تایپ کنید:


{R FileName.res$}


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

شما باید فایل wav را از درون فایل exe برنامه اتان لود کنید (LoadResource).

البته قبلش از دستور FindResource جهت یه دست آمدن هندل فایل استفاده کنید .

سپس با تابع SndPlaySound فایل wav را پخش کنید

کد کامل (پخش فایل)

procedure TForm1.Button1Click(Sender: TObject)
var
hFind, hRes: THandle
Song: PChar

begin

hFind := FindResource(HInstance, 'clock', 'WAVE')

if hFind <> 0 then begin
hRes:=LoadResource(HInstance, hFind) if hRes <> 0 then begin

Song:=LockResource(hRes)
if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory) UnlockResource(hRes)

end
FreeResource(hFind)

end
end

m-khorsandi
یک شنبه 17 شهریور 1387, 10:06 صبح
مطالبی كه به اين شكل مينويسی رو به تاپيك نکات برنامه نویسی در دلفی (http://www.barnamenevis.org/forum/showthread.php?t=52234) اضافه كن.