PDA

View Full Version : مبتدی: ریسورس کردن در دلفی xe5



sajioo
چهارشنبه 05 شهریور 1393, 20:51 عصر
با سلام
دوستان من یک راهنمایی می خوام
چندتا عکس و چند تا فایل صوتی دارم . می خوام اونا رو ریسورس کرده و در برنامه ازش استفاده کنم.
لطفا یک راهنمایی ساده بنده رو بکنید . هم طریقه ریسورس کردن و هم طریقه استفاده از فایل ها در ریسورس
تشکر

یوسف زالی
پنج شنبه 06 شهریور 1393, 13:38 عصر
از شما دیگه انتظار سرچ نکردن نداشتم.
راهنمایی در حد کلید واژه:

فایلی رو که می خواهید کنار برنامه قرار بدید (یا آدرس مناسب رو در برنامه طی مراحل بعد ست کنید)
یک فایل متنی بسازید و توش یک شناسه برای دسترسی، شناسه نوع، و نام (داخل " ") رو بنویسید
پسوند این فایل متنی رو کنید rc
دستور زیر رو براش اجرا کنید:


BRCC FileName


باید یک فایل res درست شده باشه
در برنامه در سورس پروگرم:


{$R filename.res}

SayeyeZohor
چهارشنبه 17 تیر 1394, 02:10 صبح
با سلام در ورژن های جدید دلفی می شه راحت از منوی Project > Resources and Images فایل های متنی و عکس و ... رو Embeded کرد و بعد استفاده کرد ...

133006

می تونین این شکلی فایل ریسورستون رو کامپایل کنین

{$R Project1.res Project1Resource.rc}

یا از منوی کامپایل خود دلفی استفاده کنین

به صورت مستقیم اگه بخوایم متن یا عکسی رو لود کنیم از این دستورات استفاده می کردیم


var
List: TStringList;
JPGImage: TJPEGImage;
begin
List := TStringList.Create;
try
List.LoadFromFile(TPath.GetDirectoryName(Applicati on.ExeName) + PathDelim + 'SZSG.txt');
Label1.Caption := List.Text;
finally
List.Free;
end;






JPGImage := TJPEGImage.Create;
try
JPGImage.LoadFromFile(TPath.GetDirectoryName(Appli cation.ExeName) + PathDelim + 'SZSG.Jpg');
Image1.Picture.Graphic := JPGImage;
finally
JPGImage.Free;
end;





حالا با استفاده از ریسورس ها و Resource Identifier از دستورات زیر استفاده میکنیم ... :)


var
List: TStringList;
Stream: TResourceStream;


RS: TResourceStream;
JPGImage: TJPEGImage;
begin
Stream := TResourceStream.Create(HInstance, 'SZSGTxtRs_1', RT_RCDATA);
try
List := TStringList.Create;
try
List.LoadFromStream(Stream);
Label1.Caption := List.Text;
finally
List.Free;
end;
finally
Stream.Free;
end;






JPGImage := TJPEGImage.Create;
try
RS := TResourceStream.Create(hInstance, 'SZSGJpgRs_1', RT_RCDATA);
try
JPGImage.LoadFromStream(RS);
Image1.Picture.Graphic := JPGImage;
finally
RS.Free;
end;
finally
JPGImage.Free;
end;


امیدوارم مفید باشه ...
موفق و موید باشید