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

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

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

> Проверка наличия файла.
сообщение
Сообщение #1


Новичок
*

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

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


Это опять я беспокою вас со своими БД. Не подскажете как сделать проверку на наличие файла в этом случае:
Procedure ReadBD(var DBB:aREC);
Var
I:byte;
S:string;
f:text;
Begin
write('Enter path: (введите путь к файлу):'); readln(s);
assign(f,s);
reset(f);
for i:=1 to MaxRec do
begin
with DBB[I] do
begin
readln(f,name);
readln(f,number)
end
end;
close(f)
end;


И как сделать так чтобы данные заносились до не определённого уровня, пока пользователь не нажмёт какую-нибудь клавишу?
Procedure EnterBD(var DBB:aRec);
var
i:byte;
begin
for i:=1 to MaxRec do
begin
with DBB[i] do
begin
write('Enter name:');
readln(name);
write('Enter numbel:');
readln(number)
end
end
end;


М
Пользуйся тегами CODE !
klem4

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Ищущий истину
******

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

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


тепреь к тому , к чму можно придраться..
Procedure PrintBD(DBB:aRec);
var i:byte;
begin
for i:=1 to MaxRec do
begin
writeln(i,'. NAME= ',DBB[I].NAME);
writeln('Number = ',DBB[I].NUMBER);
end;
writeln('нажмите любую клавишу ...');
readkey
end;

unsure.gif
зачем ты все записи выводишь ? ведь у меня база может состоять из 3 записей а ты все 200 выведешь.. поставь условеи:
for i:=1 to MaxRec do if DBB[i].NAME<>'' then
begin
writeln(i,'. NAME= ',DBB[I].NAME);
writeln('Number = ',DBB[I].NUMBER);
end;

те же условия при записи в файл.. не надо пустое выводить никуда..
при чтении из файла тогда меняем
If ioresult = 0 Then begin
for i:=1 to MaxRec do begin

на что то типа

i:=1;
while not eof(f) do begin
inc(i);
with DBB[I] do begin
readln(f,name); readln(f,number)
end
end;

идею понял ? читаем файл пока он не кончиться...
а то ты так есил будешь читать то файл может раньше закончиться и получишь ты ошибку чтения...


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

Сообщений в этой теме
Михаил   Проверка наличия файла.   25.11.2005 1:26
klem4   function FileExists(var F : file; path : string) …   25.11.2005 1:31
Михаил   А как применить это? А то не могу сообразить совсе…   25.11.2005 1:39
volvo   Procedure ReadBD(var DBB:aREC); ... Begin write(…   25.11.2005 1:39
Михаил   я имею ввиду макс. количество записей пусть будет …   25.11.2005 2:28
klem4   i := 1; repeat write('x[',i,']=…   25.11.2005 2:38
Михаил   volvo, что-то не катит. ошибку 113 выдаёт. точней …   25.11.2005 2:43
klem4   Ты бы код привел, у нас штатный телепат в отпуске …   25.11.2005 2:44
volvo   Пишешь такую функцию (которая читает строку максим…   25.11.2005 2:47
Михаил   .......смотреть выше Else Writeln('файл не най…   25.11.2005 2:51
volvo   Михаил, я не давал полный код для проверки файла..…   25.11.2005 2:53
Михаил   Всё работает. Огромное спасибо! :) Только вот…   25.11.2005 3:01
Михаил   А нет. Есть всё же одна ошибка. Когда введёшь опре…   25.11.2005 3:48
volvo   Ну вот объясни мне, как сохранение в файл связано …   25.11.2005 3:55
Михаил   Вообще не могу понять при чём тут ошибка 202. Выло…   25.11.2005 4:04
Altair   Я компилил на FPC все ок, все работает.. но MaxRe…   25.11.2005 4:50
Altair   тепреь к тому , к чму можно придраться.. Procedure…   25.11.2005 4:55


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

 





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