Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Внизфайлы Найти похожие ветки
← →
Builder (2004-02-25 10:47) [0]поскажите, как можно узнать размер файла,
и открывать с аттрибутами только чтение для добавления.
← →
esVer (2004-02-25 10:51) [1]Rx
FileUtil.pas
function GetFileSize(const FileName: string): Longint;
Функция возвращает размер в байтах файла, заданного параметром FileName.
← →
Ega23 (2004-02-25 10:53) [2]TMemoryStream.LoadFromFile;
TMemoryStream.Size;
← →
Fay (2004-02-25 10:59) [3]2Ega23 ©
А если 100 гигов?
← →
esVer (2004-02-25 11:03) [4]
> Ega23 © (25.02.04 10:53) [2]
:))
Если уж делать таким способом, то
TFileStream.Create(...
TFileStream.Size;
← →
Fay (2004-02-25 11:07) [5]А чё, GetFileSizeEx уже не катит ваще?!
← →
mip (2004-02-25 11:15) [6]Удалено модератором
Примечание: Задай этот вопрос в своей ветке
← →
Builder (2004-02-25 13:48) [7]СпасибО.так открыть для добавления? Не Reset, а ....???
← →
Mur_r (2004-02-25 13:49) [8]Rewrite
← →
Ega23 (2004-02-25 13:49) [9]Append
← →
Ega23 (2004-02-25 13:50) [10]Mur_r © (25.02.04 13:49) [8]
Rewrite
Для добавления???? Ну-ну....
← →
Андрей Сенченко (2004-02-25 13:51) [11]Reset - чтение
Append - добавление
Rewrite - перезапись.
Вообще-то если Вы работаете с конструкцией
Assign() ... Close() - то в TSearchRec насколько я помню Вы можете получить и размер файла
← →
Fay (2004-02-25 13:52) [12]>> открывать с аттрибутами только чтение для добавления
Можно поподробней для тех, кто в танке ...
8)
← →
Андрей Сенченко (2004-02-25 13:52) [13]Ega23 © (25.02.04 13:50) [10]
Rewrite - Можно и для добавления. Главное перед этим сохраниться :)
← →
Anatoly Podgoretsky (2004-02-25 13:54) [14]А противоречий не видишь?
и открывать с аттрибутами "только чтение" И "для добавления".
← →
Mur_r (2004-02-25 13:55) [15]мб там запятая стоит? только чтение, для добавления
Великий Могучий Русский Язык
← →
Anatoly Podgoretsky (2004-02-25 13:56) [16]Андрей Сенченко © (25.02.04 13:51) [11]
Reset - чтение
Это в принципе неверно, это только для текстовых файлов, а для других включает и добавление, в отличии от Rewrite, который никогда не добавляет.
← →
Андрей Сенченко (2004-02-25 13:56) [17]Unit
SysUtils
type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
Fay © (25.02.04 13:52) [12]
Кстати да :) Может быть имелся ввести эксклюзивный доступ ?
← →
Андрей Сенченко (2004-02-25 13:57) [18]Anatoly Podgoretsky © (25.02.04 13:56) [16]
Зарапортовался :)
Работать в жизни приходилось только с текстовыми. Привычка.
← →
Builder (2004-02-25 14:00) [19]Прошу прощения, да там запятая, у меня файл на CD, его нужно просто открыть чтобы не аттрибуд Read Only не мешал,
а открыть для того чтобы Seek(f1,конец файла); но последнее я уже понял
← →
Anatoly Podgoretsky (2004-02-25 14:03) [20]Так на CD ты вообще не сможешь написать.
← →
Builder (2004-02-25 14:06) [21]Да в курсе (обидно что таким считают) Но открыть и прочитать то можно? А также вывести в StringGrid :))
← →
Андрей Сенченко (2004-02-25 14:06) [22]Builder (25.02.04 14:00) [19]
1. Скопировать файл на локал
2. Снять с него аттрибут ReadOnly
3. Прочитать ограничения по использованию Seek(), понять что для текстовых файлов она не работает, придумать другой способ найти конец файла ( или решить - нужно ли оно вообще ? )
4. Сделать с файлом все, что надо
Ну и наконец самое интересное -
5. Снова идти на форум чтобы спросить как записать файл с локалки на CD
← →
Anatoly Podgoretsky (2004-02-25 14:08) [23]Builder (25.02.04 14:06) [21]
Не больше чем ты написал, если ты ошибся в каком либо месте, то могбы привести исправленный код и поточнее описать ситуацию. Телепатов здесь пока нет.
← →
Андрей Сенченко (2004-02-25 14:09) [24]Builder (25.02.04 14:06) [21]
Да в курсе (обидно что таким считают) Но открыть и прочитать то можно? А также вывести в StringGrid :))
Открыть - можно ( с ограничениями правда в некоторых пониманиях слова "Открыть" )
Прочитать - можно
Вывести в StringGrid - можно.
Уважаемый !
В пределах одного топика Вы уже неоднократно меняли условия задачи.
Вы можете наконец полностью и окончательно описать - ЧТО ВАМ НУЖНО СДЕЛАТЬ ТО ?
← →
Fay (2004-02-25 14:11) [25]var
h : Cardinal;
begin
h := CreateFile("x:\yy.zzz", GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
if h = Cardinal(-1) then
begin
Application.MessageBox("Ужас!!!", "Фуск!", MB_OK or MB_ICONERROR)
Exit;
end;
ReadFIle(....) ;
CloseHandle(h);
end;
← →
Builder (2004-02-25 14:13) [26]Прошу, прощения, возможно, после работы голова не соображает,
еще раз - мне нужно прочитать типизированный файл, не допуская возможности изменения. Вроде так...Спасибо
← →
Anatoly Podgoretsky (2004-02-25 14:14) [27]Андрей Сенченко © (25.02.04 14:09) [24]
Да хотелось бы узнать точную постановку задачи и достаточно полную для решения проблемы.
← →
Mur_r (2004-02-25 14:15) [28]а при чем тут тогда добавление? Reset
← →
Anatoly Podgoretsky (2004-02-25 14:17) [29]FileMode и reset
Рекомендую сходить на Королевство Дельфи, там есть несколько моих статей по работе с Паскалевскими файлами и если после того, что то будет не понятно вернуться сюда и задать конкретный вопрос и точный вопрос. А с головой решение одно, хорошо выспаться, нельзя себя так насиловать.
← →
Builder (2004-02-25 14:17) [30]Ну поскажите, неужели я еще не привел правильную постановку задачи?
← →
Builder (2004-02-25 14:19) [31]Спасибо за совет...Так и сделаю.
← →
Mur_r (2004-02-25 14:19) [32]"еще раз - мне нужно прочитать типизированный файл, не допуская возможности изменения."
Ну и читай на здоровье... А сам не изменишь (возможность не запрограммишь) - никто не изменит.
← →
Builder (2004-02-25 14:26) [33]Хм. по-моему я все - таки правда хочу спать, если его открыть Reset"ом, ReWrite"ом и проч. выдается ошибка -......и проч. Acces Denied или вроде того, так как его прочитать игнорируя аттрибуты?
← →
Андрей Сенченко (2004-02-25 14:28) [34]Ну если Ты пытаешься открыть на запись файл, находящийся физически на CD - то какая еще может быть реакция системы ? Конечно Ошибка доступа ...
Еще раз -
1. Точная постановка задачи.
2. Код.
← →
Builder (2004-02-25 14:31) [35]Да не надо мне его записывать, мне просто нужно прочитать - Read(F1,A) A - это RECORD
потом вывести StringGrid.Cells[i,j]:=A.name;
Вот и все, но читать файл с аттрибутами ReadOnly, я не знаю как еще обьяснять...
← →
Anatoly Podgoretsky (2004-02-25 14:43) [36]Тебе приведены переменные и функции, которые необходимы для работы, ну если не хочешь читать статьи, то хотя бы справку по ним посмотри.
← →
Builder (2004-02-25 15:01) [37]Извините, я читаю.......и пробую, я же не за готовым решением пришел.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.009 c