View Full Version : تغییر skin در اجرای بعدی برنامه
khoshblagh
شنبه 04 مهر 1388, 08:27 صبح
با سلام خدمت دوستان
من با کد زیر جهت استفاده از skin و تغییر آن را زمان اجرای برنامه استفاده میکنم. مشکل اینه که به محض بیرون رفتن از برنامه و اجرای دوباره برنامه skin پیش فرض نمایش داده میشود. میخواهم کدی را اجرا نمایم که بعد از تغییر skin در اجرای بعدی برنامه هم آخرین skin
انتخاب شده نمایش داده شود. متشکرم
procedure TFormMainForm.N50Click(Sender: TObject);
var s:String;
begin
if dlgOpen.Execute then
begin
s:=dlgOpen.FileName;
try
SkinData1.SkinFile:= ExtractFileName(s);
except
MessageBox(Handle,'ÝÇíá ÞÇÈá ÇÓÊÝÇÏå äíÓÊ','Error',MB_ICONERROR);
exit;
end;
end;
end;
babakmomeni
شنبه 04 مهر 1388, 08:46 صبح
با سلام خدمت دوستان
من با کد زیر جهت استفاده از skin و تغییر آن را زمان اجرای برنامه استفاده میکنم. مشکل اینه که به محض بیرون رفتن از برنامه و اجرای دوباره برنامه skin پیش فرض نمایش داده میشود. میخواهم کدی را اجرا نمایم که بعد از تغییر skin در اجرای بعدی برنامه هم آخرین skin
انتخاب شده نمایش داده شود. متشکرم
سلام. می توانید از فایلهای ini استفاده کرده و تنظیمات برنامه مثل نام و مسیر فایل مربوط به skin را قبل از بستن برنامه در آن ذخیره کرده و در اجرای بعدی در رویداد ایجاد فرم آنها لود کرده و در برنامه اعمال بفرمایید. طرز کار با این فایلها در help دلفی موجود است ولی در صورت نیاز بفرمایین تا نمونه کدهای راهنما رو تقدیم کنم.
موفق باشید.
khoshblagh
شنبه 04 مهر 1388, 10:00 صبح
ممنون میشون اگر نمونه ارائه نماید.
babakmomeni
شنبه 04 مهر 1388, 10:29 صبح
پله به پله عرض خواهم کرد.
برنامه ای ساده ضمیمه می کنم که کارش اینه: مقدار موجود در یک ادیت باکس را ذخیره کرده و در اجرای بعدی آخرین مقدار اجرای قبلی رو توی اون قرار میده
اول تعریف متغیر سراسری فایل
var myini: Tinifile
دوم ایجاد یا خواندن پارامترها در رویداد ایجاد فرم (دستور اول یه فایل ini در مسیر فایل اجرایی برنامه و به نام خود برنامه ایجاد می کنه اگه البته از قبل وجود نداشته باشه)
myini:=TIniFile.Create(ChangeFileExt( Application.ExeName, '.ini' ));
edit1.text:=myini.readstring('main', 'editvalue','not evaluated');
سوم ذخیره در زمان تغییر در فایل ini مربوطه مثلا در رویداد بسته شدن برنامه
myini.writestring('main','editvalue',edit1.text);
سایر موارد توی سورس نمونه هست که شما قطعا استادشی و شبیه سازیش برای کار خودتون که اونم به اولی استاد ما هستین
موفق باشید
babakmomeni
شنبه 04 مهر 1388, 10:32 صبح
در ضمن به این نکته هم عنایت داشته باشین که در لیست یونیتهای برنامه این رو هم اضافه بفرمایین
uses ....., inifiles;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.