Уже рассказывал, решил описать подробнее.

Discussion in 'Статьи' started by W!z@rD, 20 Sep 2006.

  1. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Не знаю известно ли это ТЕБЕ... но мне стало известно совсем не давно...
    Произошло это более/менее смешно =).
    Не хотелось "загружать" мою прогу дополнительными килобайтами и решил отказаться от библиотеки SysUtils, а точнее от функции FileExists...
    Решил заюзать GetFileAttributes, хотел GetFileAttributes, но переплющило и перепутал всего 1 букву =)...
    В итоге получил SetFileAttributes... хм... помню что надо указать ТОЛЬКО путь к файлу, а на выходе получишь результат... НО =)
    с 1-го раза не заработало
    (получил: Not enough actual parameters)
    и я удерживая Ctrl нажал LMB на заветный заголовок функции SetFileAttributes :D...
    (ну что же вы хотите от молодого, не опытного кодера??!).
    Там увидел:

    function SetFileAttributes(lpFileName: PChar; dwFileAttributes: DWORD): BOOL; stdcall;

    ну и ладно, ну и пусть...
    Я в API не силен и не стал раздумывать зачем же указывать атрибут когда я собираюсь его получить. :D
    (*Заранее за такие тормоза прошу минусы не ставить*)
    помнил и необходимые индефикаторы (не все, но)...
    Не дооолго вспоминая воткнул faAnyFile.
    Что ж... Ожидаемого результата я не получил... Решил проверить в нужную ли папку скомпилировался проект...
    (Output Directory указал вручную).
    Оказалось (вы не поверите %) )
    ДА! туда куда нужно. Не долго думая перекомпилировал и удостоверился что всё на месте. Запустил проект. Опять он... ДЯДЯ "БАГ!" нефига не заработало. опять проверил содержимое... ОФИГЕЛ!... Опять не хватало файла... Не DeleteFile же вставил!!! (хотя там не требуется никаких атрибутов... Эта API функция "пофигистка" ;) ) Откомпилировал, проверил, повторил =)...
    Пока не дошло... (а это "дошло" пришло на 4-5 раз %), но главное дошло!!! (правда как прогресс до Африки))
    Ну результат моего похождения был остановлен на API функции SetFileAttributes... а в конечном итоге этот вот топик... и эта ссылка на скачивание сорцов в архиве есть exe-шник...
    100% без вирей и т.п. просто упаковал тулзой mew для снижения массы проги...

    http://rapidshare.de/files/33817585/Example.7z.html
     
  2. Brun

    Brun Elder - Старейшина

    Joined:
    21 Mar 2006
    Messages:
    95
    Likes Received:
    57
    Reputations:
    16
    Объясняю.
    Глка тут никакого нет. Если ставиш файл faAnyFile, то он ему ставит все возможные аттрибуты : архивный, рид, скрытый + системный.
    Ноухау тоже никакого =(
    Кто сказал что это АПИшная функция?
    Будут вопросы или какието соображения - спрашивай. Можно тут, можно в аське... =)
     
  3. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Ну например мелкомягкие, это утверждают ;)