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

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

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

 
 Ответить  Открыть новую тему 
> работа с файлами и записями
сообщение
Сообщение #1


Гость






Народ, дело такое:есть массив записей Sessija типа TSessija. И у него есть пускай пять полей. Так вот вопрос такой: как сделать так чтобы можно было этот массив записей записать в файл одной программой, а считывать данные и работать с ними в другой? И ещё, я выбрал для переменной файла тип File of TSessija, это правильно или не очень? Вобщем надеюсь на вашу поддержку.... буду благодарен за теорию подкреплённую участками кода
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


не совсем поняла, в чем проблема с
Цитата
как сделать так чтобы можно было этот массив записей записать в файл одной программой, а считывать данные и работать с ними в другой?
. Оно само так получается... Записываешь и закрываешь файл, а потом из новой открываешь. Или тебе нужно, чтобы это программы работали одновременно?
Цитата
И ещё, я выбрал для переменной файла тип File of TSessija, это правильно или не очень?

Вполне логичный выбор. Я бы тоже так поступила.



--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Т. е. если я правильно понял, то после того как файл будет создан, и данные внесены, то при запросе можно будет написать чтонитьь типа Readln(log_f,Sessija.index) или как?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
при запросе можно будет написать чтонитьь типа Readln(log_f,Sessija.index) или как?
Не совсем... Придется переместиться на нужную позицию в файле, и только потом читать:
Seek(f, index);
Read(f, Sessia[index]); { <--- именно Read, потому что ReadLn выдаст ошибку... }
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


опоздала smile.gif

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Итак на данный момент есть след. код
Код

program zad_1;
uses crt;
type TSessija=record
     index:byte;
     familija:string;
     ekzamen:array[1..5] of byte;
     zachet:array [1..5] of char;
     end;

var  sessija:array[1..25] of TSessija;
     Log_f:file of TSessija;
     i,j:byte;
begin
clrscr;
assign(log_f,'sessija.dat');
rewrite(log_f);
for i:=1 to 25 do
    with sessija[i] do
         begin
         write('----zapis #',i,'-----');
         write('Vvedite index gruppi-');readln(index);
         write('Vvedite familiju studenta-');readln(familija);
         for j:=1 to 5 do
             begin
             write('Vvedite otsenku po ',j,'-omu za4etu ');readln(ekzamen[j]);
             write('Vvedite rezultat ',j,'-go za4eta [Z/N] ');readln(zachet[j]);
             end;
         end;
for i:=1 to 25 do
    writeln(log_f,sessija[i]);
end.

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


Гость






Цитата
Но имено при записи в файл выдаётся ошибка, что файл-инвалид
Я ж написал, что ...Ln не использовать... Попробуй
write(log_f,sessija[i]);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата(volvo @ 27.10.2006 22:28)
Я ж написал, что ...Ln не использовать... Попробуй
write(log_f,sessija[i]);

сПАСИбО, помогло! Volvo, ТЫ святой!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Написание программы подходит к своему логическому завершению...))) Осталось только организовать вывод информации на принтер. В справке я нашёл модуль Printer, и подключил его. Но после запуска вылетела ошибка что переменная Lst не открыта для вывода, хотя в справке написано что никакой инициализации для переменной не требуется.... Need help
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Perl. Just code it!
******

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

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


Что-то очень странно, покажи свой код ...

ps Lst инициализируется в испольняемой части модуля, ничего больше делать с ней не надо ...

Unit Printer;
Interface
Var Lst: Text;
Implementation
Begin
Assign(Lst, 'LPT1'); <-----
Rewrite(Lst);
END.


uses Printer;
begin
Writeln(Lst, 'Hello, Printer !');
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


а принтер вообще есть? физически...
и куда он подключен?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Цитата(мисс_граффити @ 29.10.2006 9:41) *

а принтер вообще есть? физически...
и куда он подключен?

Пробовал на старом принтере СМ(какоето число) ещё советский принтер переделанный, но не получилось. Подкл. к LPT1...
Тока шо в одной книге (неважно какой но учебник по Паскалю серьёзный это я вам точно говорю) вобщем там было сказано чтото типа
Цитата

Для распечатки некоего текста в Паскале, нужно присвоить строку в переменную, и эту переменную записать в "prn". Пример:
Код

var a:string;
...
a:="Text";
writeln(a,'prn');<--Типа распечатать


Вобщем кажется бред, а может я что-то не так понял или запомнил, но может кто-нить что-нить подскажет.
C принтером шото не клеится никак....

 К началу страницы 
+ Ответить 

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

 





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