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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2007, 20:47   #1
_FL@ER_
 
Регистрация: 22.06.2007
Сообщений: 4
Восклицание СОХРАНЕНИЕ В 23 ФАЙЛА ПОДРЯД!!!!

Я пишу все тот же електронный журнал групы. Я создаю 23 файла (оддельно для каждого студента) и мне необходим алгоритм записи со стрингрида в нужный файл. В стринг грид можно вводить только оценки или посещаемость. Я все это пробую делать через динамический масив(каждого студента сначала в масив потом файл, и таким же образом чтение), но что то не выходит. Помогите пожалуйста =((
_FL@ER_ вне форума Ответить с цитированием
Старый 25.06.2007, 20:50   #2
_FL@ER_
 
Регистрация: 22.06.2007
Сообщений: 4
По умолчанию

И еще необходимо привязывать оценку или "н" к дате, и студенту!!!
_FL@ER_ вне форума Ответить с цитированием
Старый 25.06.2007, 21:47   #3
_FL@ER_
 
Регистрация: 22.06.2007
Сообщений: 4
Восклицание

Обьясните почему может возникать ошибка чтения из файлов:
procedure TForm1.Save1Click(Sender: TObject);
var i, j, x, l:integer;
begin
for i:= 1 to 23 do
begin
assignfile(f,'save\'+inttostr(i)+'. txt');
rewrite(f);
for x:=0 to length(num)-1 do
begin
writeln(f,num[x].name);
writeln(f,num[x].mark);
writeln(f,num[x].date);
writeln(f,num[x].sub);
end;
closefile(f);
end;
end;


procedure TForm1.Show1Click(Sender: TObject);
var i, j, x, l:integer;
begin
for i:= 1 to 23 do
begin
assignfile(f,'save\'+inttostr(i)+'. txt');
while not eof(f) do
begin
setlength(num,length(num)+1);
readln(f,num[x].name);
readln(f,num[x].mark);
readln(f,num[x].date);
readln(f,num[x].sub);
inc(x);
end;
end;
Файловая переменная описана в глобальном варе.

Вот в красной строке оно не может найти файлы по заданому пути. Подскажите в чем может быть причина

Последний раз редактировалось _FL@ER_; 25.06.2007 в 21:50.
_FL@ER_ вне форума Ответить с цитированием
Старый 26.06.2007, 02:19   #4
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от _FL@ER_ Посмотреть сообщение
Вот в красной строке оно не может найти файлы по заданому пути. Подскажите в чем может быть причина
После внутреннего цикла не вызывается процедура closefile(f), т.е. файл не закрыт и идет попытка опять его открыть (при i=2)
Jeni вне форума Ответить с цитированием
Старый 26.06.2007, 09:09   #5
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
Я все это пробую делать через динамический масив(каждого студента сначала в масив потом файл, и таким же образом чтение), но что то не выходит. Помогите пожалуйста =((
Я конечно понимаю ваше разочарование, но как мы узнаем в чём там ошибка? Если не сложно, выложите исходники - разберёмся.
zetrix вне форума Ответить с цитированием
Старый 26.06.2007, 22:21   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Так должно работать

procedure TForm1.Show1Click(Sender: TObject);
var i, j, x, l:integer;
begin
x:=0; //иначе в ней может быть что угодно
for i:= 1 to 23 do
begin
assignfile(f,'save\'+inttostr(i)+'. txt'); //тут все верно
Reset(f);
while not eof(f) do
begin
setlength(num,length(num)+1);
readln(f,num[x].name);
readln(f,num[x].mark);
readln(f,num[x].date);
readln(f,num[x].sub);
inc(x);
end;
Closefile(f);
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 26.06.2007 в 22:32.
mutabor вне форума Ответить с цитированием
Старый 26.06.2007, 22:31   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

А вообще я сейчас подумал, может и так не работать, так как неясна задача. Сколько строк в файле, четыре? Зачем тогда Eof , если тебе известно сколько их? Да и переменная X возможно лишняя, можно i-1 обойтись.
И вообще тут одного типизированного файла за глаза хватит.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 26.06.2007 в 22:38.
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение большого файла в WinWORD 2003 alex_z_ua Microsoft Office Word 1 23.09.2008 18:54
сохранение php файла CopTupoBo4Huk PHP 5 10.09.2008 22:55
Сохранение файла на IdFtpDerver posdnyaa Компоненты Delphi 1 25.03.2008 19:56
Сохранение файла Македонский Общие вопросы Delphi 7 17.08.2007 08:35