Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Количество прочитанных байт   Найти похожие ветки 

 
Walkie Talkie   (2004-06-05 15:30) [0]

В общем нужно в ProgressBar"e отображать ход выполнения работы с файлом, поэтому необходимо узнать общее кол-во строк в файле, для чего нужно прочитать весь файл...
Поэтому такой вопрос: Есть ли функция, позволяющая узнать, на каком байте находится внутренний укзатель в файле - тоесть сколько байт уже прочитано?


 
KilkennyCat ©   (2004-06-05 15:31) [1]

filesize, filepos


 
Walkie Talkie   (2004-06-05 16:09) [2]


> filesize, filepos

А это вроде бы для нетипизированных файлов... а у меня f:textfile; поэтому всегда выводит filesize и filepos = 0


 
neteditor ©   (2004-06-05 17:36) [3]

А вручную счетчик ты вести не можешь? Ведь длину прочитанной строки не так сложно подсчитать :)

p.s. Если использовать TFileStream проблема отпадет


 
Walkie Talkie   (2004-06-05 19:13) [4]


> p.s. Если использовать TFileStream проблема отпадет

А как там читать по строкам?


 
Anatoly Podgoretsky ©   (2004-06-05 19:30) [5]

Сначала читаешь весь файл отналча до конца и подсчитвывает строки, хатем читаешь уже весь файл по строкам с учетом ранее полученной величины.


 
KilkennyCat ©   (2004-06-05 22:12) [6]


> Anatoly Podgoretsky ©   (05.06.04 19:30) [5]

а непроще открыть его как нетипизированный, и воспользоваться filesize ? а потом уже открыть как текстовый... хотя я бы продолжал дальше работать с нетипизированным, читал бы побайтово, при отлове перевода строки - готовая строка. Непомню зачем, но когда-то так именно и пришлось.


 
GuAV ©   (2004-06-05 22:19) [7]

KilkennyCat ©   (05.06.04 22:12) [6]
это разные вещи - число символов и строк.


 
Anatoly Podgoretsky ©   (2004-06-05 22:22) [8]

KilkennyCat ©   (05.06.04 22:12) [6]
Да не важно в каком режиме открывать, он же хочет "узнать общее кол-во строк в файле" и потом работать со строками.


 
Walkie Talkie   (2004-06-05 22:46) [9]


> Сначала читаешь весь файл отналча до конца и подсчитвывает
> строки, хатем читаешь уже весь файл по строкам с учетом
> ранее полученной величины.


А представьте себе нагрузки на оперативную память и дисковую подсистему при размере файла даже в 30-50 метров... уже довольно ощутимо...

Наверное лучше в первой строке написать общее кол-во строк и при последующих изменениях изменять эту цифру.


 
GuAV ©   (2004-06-05 22:49) [10]


> А представьте себе нагрузки на оперативную память и дисковую
> подсистему при размере файла даже в 30-50 метров... уже
> довольно ощутимо...

Нетипизированный файл. BlockRead. ищешь №10 в буфере. считаешь.

> Наверное лучше в первой строке написать общее кол-во строк
> и при последующих изменениях изменять эту цифру.

а если сам файл создаёшь, то делай нетипизированным, а текстовые - это отстой :)


 
KilkennyCat ©   (2004-06-06 00:07) [11]


> Anatoly Podgoretsky ©   (05.06.04 22:22) [8]

Вы правы... однако если действительно прочитать вопрос
> Есть ли функция, позволяющая узнать, на каком байте находится
> внутренний укзатель в файле - тоесть сколько байт уже прочитано?

Это не для текстовых....


 
Walkie Talkie   (2004-06-06 01:35) [12]


> ищешь №10 в буфере

Тоесть #10 - перевод строки?

> а если сам файл создаёшь, то делай нетипизированным, а текстовые
> - это отстой :)

Хотя работать с ними иногда удобнее :)

А вот вопрос вдогонку - какой метод чтения/записи файлов самый быстрый?


 
default ©   (2004-06-06 01:44) [13]

Walkie Talkie   (06.06.04 01:35) [12]
"А вот вопрос вдогонку - какой метод чтения/записи файлов самый быстрый?"
хм...чем меньше обращений к диску тем лучше


 
GuAV ©   (2004-06-06 02:39) [14]


> хм...чем меньше обращений к диску тем лучше

тогда блокрид рулит. буфер 16 кБ, ищешь в нём №10, считаешь...


 
default ©   (2004-06-06 03:10) [15]

GuAV ©   (06.06.04 02:39) [14]
тогда MMF - там вообще о буф-ции беспок-ся не надо и вроде как она эффективна


 
KilkennyCat ©   (2004-06-06 11:14) [16]

все зависит от целей... Вы же не реальное видео пишете...


 
Anatoly Podgoretsky ©   (2004-06-06 13:22) [17]

KilkennyCat ©   (06.06.04 00:07) [11]
То что он в вопросе намешал всего является фактом.


 
Walkie Talkie   (2004-06-06 14:24) [18]


> тогда MMF - там вообще о буф-ции беспок-ся не надо и вроде
> как она эффективна


А это чего?


 
GuAV ©   (2004-06-06 14:36) [19]

RTFM MSDN: Managing Memory-Mapped Files in Win32
, если я правильно понял эту абревиатуру



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.032 c
14-1086096813
Flyer
2004-06-01 17:33
2004.06.20
Помогите с дипломной


1-1086620255
iat
2004-06-07 18:57
2004.06.20
как правильно считать/записать такой типизированный файл?


6-1082634294
Aleksandr
2004-04-22 15:44
2004.06.20
Кто портит сообщения по мылу?


1-1086188846
Snipers
2004-06-02 19:07
2004.06.20
Наследование форм


9-1076674664
jab~
2004-02-13 15:17
2004.06.20
DelphiX - Рождение и смерть спрайтов.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский