Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> аттрибут файла в перменную. Как? как сохранить аттрибут файла в C# 
:(
    Опции темы
v_enom
Дата 23.10.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



Пожалуйста подскажите как получить в C# атрибут файла в переменную?!

мне нужно потом хранить данные о файлах  в  файле-хранилище ввиде  массива записей:

Код

class MyFile
{
 string filename;
 int      size;
 xxxx   fileAttribute;
}



В С++ переменная  была раземром 1 байт и легко присваивалась. Мне кртичино, чтобы аттрибут был не больше 1 байта как  и в С++.
а тут я не знаю в какую переменную сохранять резултат работы 

Код

MyFile mf = new FyFile();
mf.fileAttribute =   File.GetAttibute(path);  


 или другой команды. 

получилось только если fileAttribute имеет тип Type, но я не могу посмотреть его значение тогда....


Это сообщение отредактировал(а) v_enom - 23.10.2008, 23:29
PM MAIL   Вверх
diadiavova
Дата 23.10.2008, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Атрибуты можно получить либо через статическую функцию GetAttributes, класса System.IO.File, либо через свойство Attributes класса System.IO.FileSystemInfo. В обоих случаях получается экземпляр перечисления System.IO.FileAttributes
Так что вместо 
Код

xxxx fileAttribute;

надо писать
Код

System.IO.FileAttributes fileAttribute;


Если конечно я правильно понял вопрос. Ну а если нужно, чтобы всё в один байт вместилось - надо свой тип придумать и уменьшить количество атрибутов, информацию о которых он сможет хранить.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
v_enom
Дата 24.10.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



Цитата(diadiavova @ 23.10.2008,  23:59)
Атрибуты можно получить либо через статическую функцию GetAttributes, класса System.IO.File, либо через свойство Attributes класса System.IO.FileSystemInfo. В обоих случаях получается экземпляр перечисления System.IO.FileAttributes
Так что вместо 
Код

xxxx fileAttribute;

надо писать
Код

System.IO.FileAttributes fileAttribute;


Если конечно я правильно понял вопрос. Ну а если нужно, чтобы всё в один байт вместилось - надо свой тип придумать и уменьшить количество атрибутов, информацию о которых он сможет хранить.

в том-то и проблема, что тип FileAttributes имеет размерность 4 байта...а в С++ атрибут в чар влазил (я переношу с ++ на .Net платформу программу)

PM MAIL   Вверх
diadiavova
Дата 24.10.2008, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(v_enom @  24.10.2008,  01:02 Найти цитируемый пост)
я переношу с ++ на .Net платформу программу

Я то думал наоборот, а один байт всегда в четырёх вместить можно. Хотя я не очень понял проблему. Если всё-таки надо вместить можно свой тип создать. Если количество атрибутов, которые которые нужно запомнить не больше 8 то можно и в байте хранить.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Bogdan1024
Дата 24.10.2008, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 3
Всего: 13



Дык FileAttribute в с++ и в .нет совсем разные! В .нет инфа из FileAttribute в один байт никак не поместится ибо там больше, чем 8 флагов. Так что думаю что нужно руками сопоставить отдельные биты с++совского чара значениям .нетовского файлатрибут.


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0751 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.