برگزیده های پرشین تولز

اديتور در دلفي

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
سلام
ميخوام يه سري فايل با پسوند vip رو كه همگي در فولدر c:\viputil\users قرار دارند رو توسط دلفي اديت كنم .
يعني يه فايل اجرايي رو كپي كنم اونجايي كه فايل ها هستند . بعد كه فايل اجرا شد همه ي فايل ها رو ليست كنه و با انتخاب هر فايل اون رو در پنجره ي كناري نشون بده .
ممنون ميشم كمكم كنيد .
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
میشه بیشتر توضیح بدین .
کدوم فایل اجرایی ؟
میشه از یک Memo برای نمایش فایل استفاده کرد :
کد:
Form1.Memo1.Lines.LoadFromFile('C:\viputil\users\file.vip');
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
منظور از فايل خروجي فايل تموم شده دلفي هست .
من ميخوام يه اديتور داشته باشم كه يه سري فايل با يه پسوند خاص رو از يه فولدر لود كنم .
آدرس رو حالا خيلي مهم نيست . خود فايل كپي ميشه همون جايي كه فايل ها هستند .
اما ميخوام ليست فايل هاي با پسوند VIP رو نشون بده . حالا هر فايلي كه انتخاب شد در پنجره ي مقابلش نشونش بده . محتويات فايل ها هم متني و ساده هست و نياز به هيچ كاري نداره .
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
خوب اول یه Memo به فرم اضافه کنید برای نمایش دادن فایلها.

بعد از سربرگ Win 3.1 یک عنصر DriveComboBox به فرم اضافه کنید.

از همین سربرگ یک عنصر DirectoryListBox و یک FileListBox به فرم اضافه کنید.

حالا یک سری تنظیمات برای ایجاد پیوند بین این اجزا باید انجام بشه:

در پنجره Object Inspector برای عنصر DriveComboBox گزینه DirList رو با DirectoryListBox1 مقدار دهی کنید.

برای عنصر DirectoryListBox هم گزینه FileList رو با FileListBox1 مقداردهی کنید.

حالا برای ایجاد محدودیت در نمایش فایل ها برای عنصر FileListBox در قسمت Mask عبارت *.* رو مثلا به VIP.* یا هر پسوند دلخواه دیگه ای تغییر بدید.

حالا با میتونید یه Button تو فرم بزارید و این کد رو داخل اون بزارید ، با این کد نام فایل انتخاب شده رو بدست بیارید و اون رو توی Memo نشون بدین:

کد:
Form1.Memo1.Lines.LoadFromFile(FileListBox1.FileName);

اگه خواستید بگید تا برنامه رو براتون بفرستم.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
والله بازم متوجه نشدم !؟
اگه امكانش باشه ممنون ميشم.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
اقا ممنون . تا قبل از دكمه رو گرفتم . خيلي خيلي عالي بود .
امام ميخوام به صورتي باشه كه با انتخاب فايل مورد نظر محتواش در قسمت Memo نشون داده بشه .
اينكار رو بايد چطوري انجام بدم ؟
باز متشكرم.
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
اقا ممنون . تا قبل از دكمه رو گرفتم . خيلي خيلي عالي بود .
امام ميخوام به صورتي باشه كه با انتخاب فايل مورد نظر محتواش در قسمت Memo نشون داده بشه .
اينكار رو بايد چطوري انجام بدم ؟
وقتی اون کد رو داخل تابع مربوط به فشردن کلید (Button) بزارین ،با فشردن کلید محتویات فایل در Memo نمایش داده میشه.یعنی اول باید فایل مورد نظر رو از FileListBox انتخاب کنید بعد دکمه رو بزنید تا فایل نمایش داده بشه.
اما اینطور که فهمیدم شما می خواهید با کلیک روی نام فایل در FileListBox فایل نمایش داده بشه.
برای این کار همونطور که دوستمون جناب ma000055 گفتند باید در قسمت event مربوط به FileListBox در مقابل قسمت OnClick دوبار کلیک کنید تا پروسجر مربوط به کلیک روی FileListBox در قسمت کد باز بشه.حالا این کد
کد:
Form1.Memo1.Lines.LoadFromFile(Form1.FileListBox1.FileName);
رو داخل اون پروسجر کپی کنید. تا به این صورت بشه:
کد:
procedure TForm1.FileListBox1Click(Sender: TObject);
begin
 Form1.Memo1.Lines.LoadFromFile(Form1.FileListBox1.FileName);
end;
حالا با کلیک کردن روی نام فایل محتویات اون در Memo نمایش داده میشه.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
ممنونم .
خيلي خيلي لطف كردين . شرمنده ام اما ميخوام يه مقدار بيشتر پيش بريم . ..
تا اينجا رو پيش رفتيم .
حالا ميخوايم يه كاري كنيم كه بشه روي يوزر ها تغييرات اعمال كنيم .
اما دو كليد در پايين داشته باشيم .
يكي براي بازگرداندن تغييرات به حالت اوليه (Reset / Undo)
و
يكي براي ذخيره كردن تغييرات .
ممنونم.
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
حالا ميخوايم يه كاري كنيم كه بشه روي يوزر ها تغييرات اعمال كنيم .
فکر کنم منظورتون از یوزرها همان فایل های باز شده باشد.
خوب ، وقتی فایل داخل Memo باز شد حالا میشه روی اون تغییر ایجاد کرد. برای ذخیره این تغییرات در فایل باید از کد
زیر استفاده کنید:
کد:
Form1.Memo1.Lines.SaveToFile(Form1.FileListBox1.FileName);
البته این کد رو باید داخل تابع مربوط به فشردن کلید Save (همون کلیدی که برای ذخیره تغییراته) قرار بدین.
در ضمن بهتره برای اینکه کاربر متوجه ذخیره بشه یه پیغام هم تولید کنید. با این کد:
کد:
Showmessage('Delphi Editor >> File Saved Successfully .');
این کد رو هم داخل تابع مربوط به فشردن کلید Save قرار بدین.
هدف شما از بکار بردن دکمه Reset یا Undo رو نمی فهمم !
می خواهید بعد از ذخیره یک فایل دوباره قادر به بازگرداندن اطلاعات قبلی به اون باشید ؟
یا در موقع ویرایش،بتونید اطلاعات اولیه فایل رو دوباره برگردونید ؟
در هر دو صورت این کار عملی هست فقط در حالت اول بیشتر کار میـــبره.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
خیلی خیلی ممنونم .
منظورم از دکمه ریست اینه که وقتی یه فایل رو دستکاری کردیم و حالا به نوعی خواستیم بریم سراغ محتویات اولیه امکانش وجود داشته باشه . . . یعنی تا زمانی که Save نکردیم هیچ . اگه تغییری دادیم با زدن اون دکمه فایل بازخوانی بشه . اما اگه Save کردیم محتویات فایل نوشته بشن روی فایل .
و یه چیز دیگه.
میخوام یه کار دیگه هم کنم . یه چک باکس بزارم که در صورتی که اون چک باکس فعال باشه امکان Save کردن وجود داشته باشه . حالا یه چک باکس یا یه چیز دیگه . این رو هم میشه انجام داد ؟
ممنونم.
باید ببخشید .
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
سلام
میتونی برنامه رو از این آدرس بگیری.
برنامه رو به صورت پروژه دلفی گذاشتم.اول Unzip ش کن بعد با دلفی بازش کن.
فقط فیلد Mask مربوط به FileListBox1 رو روی vip.* تنظیم کن تا فقط فایل های مورد نظرت رو نشون بده.
چک باکس و دکمه Save و Reset رو هم داره.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
آقا ممنون . به خدا راضي به زحمت نبودم . .
اما لينك دانلود كار نميكنه متاسفانه . . .
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
خواهش می کنم زحمتی نبود.
من لینک رو چند بار امتحان کردم جواب داد !
خوب ایراد نداره .همین جا توضیح میدم :

New%20Bitmap%20Image.bmp


فرم برنامه ات تقریبآ شبیه این عکس میشه.
اگه عکس نمایش داده نشده اینجا ببینش.

دکمه های Save و Reset و یک CheckBox رو روی فرم قرار بده .
روی دکمه Save دابل کلیک کن و این کد رو داخلش بنویس:

کد:
if(Form1.FileListBox1.FileName<>'')then
 begin
  if(Form1.CheckBox1.Checked)then
  begin
   Form1.Memo1.Lines.SaveToFile(Form1.FileListBox1.FileName);
   showmessage('File Saved Successfully.');
  end
  else
   showmessage('Can not Save to File. Enable <Can Edit Files> .');
 end
 else
  showmessage('Error :: First Select a File From FileListBox !');

برای دکمه Reset هم این کد رو بزار :
کد:
 if(Form1.FileListBox1.FileName<>'')then
  Form1.Memo1.Lines.LoadFromFile(Form1.FileListBox1.FileName)
 else
  showmessage('Error :: First Select a File From FileListBox !');
 

programmer

کاربر تازه وارد
تاریخ عضویت
1 نوامبر 2005
نوشته‌ها
85
لایک‌ها
0
در ضمن برای اینکه متن کل فایل توی Memo راحت نمایش داده بشه خاصیت ScrollBar مربوط به Memo رو با ssBoth مقدار دهی کن.
 

M-r-r

کاربر تازه وارد
تاریخ عضویت
10 فوریه 2004
نوشته‌ها
383
لایک‌ها
1
سن
37
محل سکونت
in my clothes
آقا ممنونم . واقعا نميدونم اين لطفتون رو بايد چطوري جبران كنم . . .
بازم متشكرم .
 
بالا