1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Уменьшение длины имени

Тема в разделе "Delphi - программирование", создана пользователем A, 19 май 2009.

  1. A

    A Гость

    Репутация:
    0
    Мне в программе нужно укоротить путь до папки (использую TShellTreeView).

    Код:
    function ShortFileName(const FileName: string): string;
    var aTmp: array[0..255] of Char;
    begin
    if not DirectoryExists(FileName) //FileExists(FileName)
    then Result:=''
    else if GetShortPathName(PChar(FileName), aTmp, Sizeof(aTmp)-1) = 0
    then Result:= FileName
    else Result:= StrPas (aTmp);
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Edit2.Text:=(ShortFileName(Edit1.Text));
    end;
    Как я понял, чтобы эта функция работала, обязательно должен существовать файл, к которому указывается путь (иначе выдается пустое значение). А можно как-нидуть без файла обойтись? Например, чтобы она укорачивала такой путь:
    C:\Documents and Settings\Андрей\Мои документы\DelphiWorld6\base\
     
  2. Shakmaev

    Shakmaev Гость

    Репутация:
    0
    procedure TForm1.Button3Click(Sender: TObject);
    var
    aTmp : array [0..255] of Char;
    s : string;
    begin
    s :='c:\Documents and Settings\10bzs\Application Data\Microsoft\Communicator';
    if GetShortPathName(PChar(s), aTmp, SizeOf(aTmp)-1) <> 0 then
    Caption := StrPas(aTmp);
    end;

    слеш в конце не нужен
     
Загрузка...

Поделиться этой страницей