IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Запись (Record), Ошибка при выводе.
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Написал процедурку, которая из файла переписывает в файл чётные записи, спецификация :

type STR = strin[40];
type MyRec= record
field1 : STR;
field2 : STR;
end;
type Myfiletype = file of MyRec;


Проблема в том, что на экран и файл ничего не выводиться, может кто заметит что и как? Файл с которого считываем точно содержит записи. Выручайте!

procedure Pair  ( var fff : MyFiletype; var NewFile : MyFiletype  ;var Fileopen: boolean);
var
i : integer;
NewFileName : String;
rec : MyRec;
begin
if (FileOpen=False) then
begin
WriteLntext(' Файл не открыт ; Действие нельзя выполнить');
exit;
end;
writeln ('Введите название файда в который пишем чётные записи ');
readln (NewFileName);
i:=-1;
{I-}
assign (NewFile,NewFileName + '.txt');
reset (fff);
rewrite (NewFile);
{$I+}
If IOResult = 0 then writeln ('файл ',NewFileName, ' успешно создан');
seek (fff,i);
while (eof(fff) <> True) do
begin
inc (i);
read (fff,rec);
if i mod 2 = 0 then
begin
write (NewFile,rec);
writeln (rec.field1[i],' ',rec.field2[i]);
end;
end;
seek(fff,0);
{$I-}
close (fff);
close (NewFile);
{$I+}
end;


Сообщение отредактировано: Tan -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
   seek (fff,i);
При i = -1 ??? Убери это, тогда должно заработать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Очень странно, вроде всё перебробывал, что-то выводит и даже в нужном количестве (сужу по пробелам). Но, что мне не видно.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Но, что мне не видно.
То есть? Пробелы тебе видно, а остальное - нет? Вопросы что-ли отображаются?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


В самой программе после того как выводит необходимый результат вышеуказанной процедуры идёт текст, поэтому я увидел, что этот текст расположен на экране на расстоянии n пробелов. То есть вместо того чтобы вывести записи на экран, как будто writeln писали. Надеюсь понятно выразился, ситуация простая для описания, но что-то я страдаю формулировкой


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Запакуй исходник своей программы и файл данных, и прикрепи архив сюда, тогда можно будет сказать что-то, не прибегая к гаданиям ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


всё понял

Сообщение отредактировано: Tan -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






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

Поэтому пока ты не присоединишь свой файл, я ничего больше не буду говорить...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


програма сама создаёт и заполняет, погляди =) Только введи название; то есть нет смысла скидывать файл.

Сообщение отредактировано: Tan -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Всё, решил проблему, в процедуре я выводил поля записи как элементы массива, которого нет, просто убрал [i] и всё выдаёт.

Сообщение отредактировано: Tan -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2021 2:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name