View Full Version : سوال: چگونه با یک دگمه مسیر یک فولدر دلخواه را باز کرده و آن را در یک ادیت باکس ذخیره کنیم؟
  
ali_abbasi22145
سه شنبه 19 بهمن 1389, 16:58 عصر
سلام
چگونه با یک دگمه مسیر یک فولدر دلخواه را باز کرده و آن را در یک ادیت باکس ذخیره کنیم؟
به طور کامل مسیر فولدر را نشان دهذ و اگر مسیر طولانی بود ترجیحا با نقطه چین نشان نده.
برای درک بهتر سوالم به شکل زیر با ترتیب شماره گذاری نگاه کنید:
AliReza Vafakhah
سه شنبه 19 بهمن 1389, 18:31 عصر
یونیت FileCtrl را به لیست Uses های پروژتون اضافه کنید.
procedure TForm1.Button1Click(Sender: TObject);
  function GetShortName(sLongName: string): string;
  var
    sShortName: string;
    nShortNameLen: Integer;
  begin
    SetLength(sShortName, MAX_PATH);
    nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1);
    if (0 = nShortNameLen) then
      Result:= '';
    SetLength(sShortName, nShortNameLen);
    Result := sShortName;
  end;
  var
   Dir: string;
begin
  if (SelectDirectory('Select Dir', '', Dir )) then
  begin
     ShowMessage(Dir);
     ShowMessage(GetShortName(Dir));
  end;
end;
اطلاعات بیشتر در مورد تابع کوتاه کردن آدرس  (http://www.delphitricks.com/source-code/files/convert_long_filenames_in_short_filenames.html)
MohsenB
پنج شنبه 21 بهمن 1389, 23:21 عصر
راه ساده تر:
اگر کامپوننت هایی مثل
JEDI
LMD
Raize
DevExpress
رو نصب دارین فقط کافیه به دنبال کامپوننتی بگردین که اسمش مثلا FolderNameEdit هست . خودش همچی رو آماده داره .
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.