Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 13:32   #1
dukales
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 58
Радость seek & textfile

есть код:
Код:
function r_n_w(var fp: textfile; pkey : string):boolean;
var c:char;
    inword: boolean;
	temp : integer;
begin
if (eof(fp)) then
    begin
      seek(fp,2);
    end;
делфинский компилятор кричит что incompatible types.
мне нужно, если указатель в конце файла переместиться на начало.
погуглил, вроде бы с textfile такого нельзя сделать.
тогда вопрос, - как заставить указатель переместиться на первую запись в textfile?
dukales вне форума Ответить с цитированием
Старый 06.09.2011, 14:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
как заставить указатель переместиться на первую запись в textfile?
Текстовые файлы не являются файлами прямого доступа, понятие "запись" для них (строго говоря) - неопределено, перемещаться внутри файла можно только последовательно.
seek для них - не разрешён.
Чтобы установить чтение файла на начало текстового файла достаточно закрыть его и открыть.

Что Вы хотите сделать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.09.2011, 17:34   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

Код:
var F:File;
    i:Integer;
begin
   AssignFile(F,Name);
   Reset(F,1);
   for i:=0 to 3 do //просто записываем какие-то 4 символа
   begin
      Seek(F,i);
      BlockWrite(F,massiv[i],1);//записываем посимвольно даные из строки massiv
   end;
   CloseFile(F);
Name - это полное имя файла, вроде как C:\Windows\TextFile.dat
а если нужно в конец файла поставить запись, то пишем так:
Код:
Seek(F,FileSize(F));
а если по окончании записи недо снова вернуться в начало файла, то вставь строчку в код:
Код:
if(i=FileSize(F))then i:=0;
он тебе начнёт запись с начала файла
это хотели?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 06.09.2011 в 17:37.
NetSpace вне форума Ответить с цитированием
Старый 06.09.2011, 18:17   #4
dukales
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 58
По умолчанию

угу, оно самое. спасибо)
dukales вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sOpenDialog и textfile Марк Охман Общие вопросы Delphi 5 31.12.2010 22:27
Можно ли имея F:TextFile определить... Alex Cones Общие вопросы Delphi 5 12.12.2009 21:31
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Как преобразовать TextFile в String? DragonionS Паскаль, Turbo Pascal, PascalABC.NET 1 06.06.2007 18:38
Back to the TextFile Albenous Общие вопросы Delphi 7 12.02.2007 19:33