FileGetAttr

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

FileGetAttr

Сообщение modjo » 18.08.2009 10:15:12

Не могу до конца понять почему в одном случае не выставляется чекбокс.. Вот пример кода:

Код: Выделить всё
procedure TMainWindows.SelectFileChange(Sender: TObject);
begin
  AttrReadOnly.Checked:=False;
  AttrHide.Checked:=False;
  AttrArch.Checked:=False;
  F:=FileGetAttr(SelectFile.FileName);
  if F<>-1 then begin
    if (F and faReadOnly)<>0 then
      AttrReadOnly.Checked:=True;
    if (F and faHidden)<>0 then
      AttrHide.Checked:=True;
    if (F and faArchive)<>0 then
      AttrArch.Checked:=True;
  end;
end;


Есть два файла passwordsguru.exe и БазаПараметров81.xml, допустим. Оба архивные. Но при использовании первого чекбокс ставится как положено, а при втором нет. Не могу понять почему так происходит... Может это от расширения зависеть? (сам в это не верю)

Добавлено спустя 2 часа 38 минут 9 секунд:
Блин, все понятно. Файлы с русскими именами не обрабатываются...
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: FileGetAttr

Сообщение Attid » 18.08.2009 16:31:06

modjo писал(а):Файлы с русскими именами не обрабатываются...

приводи кодировку к системной.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FileGetAttr

Сообщение modjo » 18.08.2009 17:50:50

Не подскажите где это можно настроить. Пробежался по настройкам, но не нашел.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: FileGetAttr

Сообщение Odyssey » 18.08.2009 18:17:56

modjo писал(а):
Код: Выделить всё
  F:=FileGetAttr(SelectFile.FileName);


Код: Выделить всё
  uses FileUtil;
  ...
  F:=FileGetAttrUTF8(SelectFile.FileName);
  // или то же самое с приведением кодировки:
  // F:=FileGetAttr(UTF8ToSys(SelectFile.FileName));
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: FileGetAttr

Сообщение modjo » 18.08.2009 22:29:02

Спасибо, как раз FileGetAttrUTF8 мне уже подсказали. И UTF8ToSys тож надо будет запомнить.

Добавлено спустя 14 часов 32 минуты 19 секунд:
Чтоб не создавать новой темы напишу тут. Не подскажите как получить время создание файла и время открытия файла. То что есть в свойстве файла в виндах. Знаю как получить время изменения. Перерыл документацию, но найти что-то подходяще не получилось. Не подскажите в какую сторону копать, чтоб что-то откопать?
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: FileGetAttr

Сообщение Tango » 30.07.2014 10:13:46

Как в Linux узанать и сделать файл исполняемым, shell скрипт, например.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Re: FileGetAttr

Сообщение hovadur » 30.07.2014 12:46:17

Tango писал(а):Как в Linux узанать и сделать файл исполняемым

FileSetAttr?
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Re: FileGetAttr

Сообщение Tango » 30.07.2014 15:26:01

hovadur писал(а):
Tango писал(а):Как в Linux узанать и сделать файл исполняемым

FileSetAttr?

А потом?

На WinDOS нет атрибута executeble.

Добавлено спустя 20 минут 8 секунд:
А функция эта преобразует атрибуты к виндосовскому формату.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Re: FileGetAttr

Сообщение Alexx2000 » 01.08.2014 21:30:20

Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 489
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 222

Рейтинг@Mail.ru
cron