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;
امیدوارم مفید باشه ...
موفق و موید باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.