Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Считывание с файла по 1-му символу.  (Прочитано 6093 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Karimka
Гость
« : 04-04-2010 11:30 » 

Уважаемые форумчане! Не мог бы кто-нибудь из вас подсказать, как можно считывать с файла по 1-му символу? Это необходимо мне для заполнения массива. Вот примерно так:
Код:
Пока (i не равен концу файла) делать
Массив[i]:=Read(по одному байту с начала файла);
i:=i+1;
Функция конца файла :
Код:
procedure gotoeof (var f:file);
begin
seek (f, 0);
seek (f, filesize(f));
end;
p.s.Функция взята с h**p://delphiworld.nar*d.ru.
« Последнее редактирование: 14-04-2010 05:39 от Sel » Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 04-04-2010 14:06 » 

Варианты для текстового файла:
While not EOF do begin end; - защитит от попытки чтения из файла нулевой длины
Repeat Until EOF;
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #2 : 04-04-2010 15:29 » 

Read - это не функция, это процедура. т.е.

Код:
var 
  m: array of char;
begin
  ..
  Read (f, m [i]);
  ..
end;
Записан

Karimka
Гость
« Ответ #3 : 04-04-2010 16:55 » 

ммм...Пробовал вариант x77 , но это не то(((Например : дан текстовый файл содержащий цифры 458.Необходимо все три цифры загнать по одному в массив.Тоесть,мы должны получить:m
  • = 4,m [1] = 5,m [2] = 8.
А в вашем варианте он загоняет все три цифры в один индекс.Я вот думаю считывать с файла по одному символу и загонять каждый в индекс.В си есть возможность считывать с определённой длинной , но в делфи я такого ещё не встречал.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 04-04-2010 17:01 » 

Karimka, то, как будет считываться файл, определяется типом файла.

гадать никто не будет, приводите исходники, в них есть ошибка. логическая ошибка.
Записан

Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 05-04-2010 08:21 » 

Использовать нетипизированный файл и чтение BlockRead
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #6 : 05-04-2010 14:32 » 

Basurman, да обманывают нас Улыбаюсь не может 458 считаться в m , где m: array of char.
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines