Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Указатель в текстовом файле   Найти похожие ветки 

 
Manulo   (2004-03-02 17:36) [0]

Вот запамятывал, как перевести указатель в тектовом файле на нужное место :( А конкретно на начало файла, на первую строку.
При попытке использовании Seek(f,0); указывает на f и кричит несовместимости типов.
Переменная f объявлена как textfile


 
Defunct   (2004-01-23 13:31) [1]

Если мне не изменяет память, то никак. Разве что закрыть и открыть файл заново.

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

Если нужен произвольный доступ работаем с
F : File of ...
или просто
F : File;

Seek можно использовать только в том случае, если при открытии файла явным образом указан размер записи (буфера).
Например:

Reset(F,1); // Позиционируемся на любой байт
Reset(F,128); // Позиционируемя через каждые 128 байт.


В текстовом файле размер записи неопределен, отсюда и невозможно позиционирование с помощью Seek.


 
Soft   (2004-03-03 03:26) [2]

только при этом для старых файловых операций нужно использовать директиву компилятора {I-} а потом после окончания описания {I+}


 
Manulo   (2004-03-03 21:11) [3]

Блин, глюки... Только смог сюда попасть

Делаю так:
reset(f);
То есть открываю заново для чтения. Самое интересное, что я его не закрываю перед этим, вроде не ругалось

Всем спасибо за советы


 
Defunct   (2004-03-03 21:15) [4]

reset(f);
То есть открываю заново для чтения. Самое интересное, что я его не закрываю перед этим, вроде не ругалось


Это баг. повторный Reset вызывает создание нового хендла файла. Закрывайте, будет работать надежнее.


 
Vit@ly   (2004-03-03 21:28) [5]

2 Defunct © (03.03.04 21:15) [4]
Не стОит дублировать действия компилятора (это по поводу бага). Перевод надеюсь не нужен.

Reset opens the existing external file with the name assigned to F. An error results if no existing external file of the given name exists. If F is already open, it is first closed and then reopened. The current file position is set to the beginning of the file.


 
Anatoly Podgoretsky   (2004-03-03 21:30) [6]

Defunct © (23.01.04 13:31) [1]
Seek можно использовать только в том случае, если при открытии файла явным образом указан размер записи (буфера).

Не верно, можно всегда, просто Reset(F) = Reset(F,128)



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

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.013 c
4-43966
CC
2004-01-05 12:36
2004.03.14
иконки из exe - файла


3-43370
Крутыш
2004-02-15 14:09
2004.03.14
Проблемы при выполнении запрса


3-43295
ViJen
2004-02-12 10:05
2004.03.14
транзакция и индексы в Dbase


8-43702
Klon
2003-11-14 12:27
2004.03.14
Разбиение многоугольников


3-43321
Barmaglot
2004-02-17 12:55
2004.03.14
Проблема с выводом таблиц в QReport......





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