Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-12277
Dalex
2004-02-07 10:36
2004.03.05
Резервное копирование файлов базы


14-12530
Sergey13
2004-02-12 09:51
2004.03.05
Чем больше в армии дубов, тем крепче наша оборона.


1-12443
Ivolg
2004-02-23 07:54
2004.03.05
Извлечение из Dll и Exe файлов


1-12397
BlackTiger
2004-02-22 17:16
2004.03.05
Как запретить получение фокуса контролом?


3-12293
Fom
2004-02-06 12:43
2004.03.05
Установка FireBird под Linux





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский