PDA

View Full Version : سوال: چگونه با یک دگمه مسیر یک فولدر دلخواه را باز کرده و آن را در یک ادیت باکس ذخیره کنیم؟



ali_abbasi22145
سه شنبه 19 بهمن 1389, 15:58 عصر
سلام
چگونه با یک دگمه مسیر یک فولدر دلخواه را باز کرده و آن را در یک ادیت باکس ذخیره کنیم؟
به طور کامل مسیر فولدر را نشان دهذ و اگر مسیر طولانی بود ترجیحا با نقطه چین نشان نده.
برای درک بهتر سوالم به شکل زیر با ترتیب شماره گذاری نگاه کنید:

AliReza Vafakhah
سه شنبه 19 بهمن 1389, 17: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, 22:21 عصر
راه ساده تر:

اگر کامپوننت هایی مثل
JEDI
LMD
Raize
DevExpress
رو نصب دارین فقط کافیه به دنبال کامپوننتی بگردین که اسمش مثلا FolderNameEdit هست . خودش همچی رو آماده داره .