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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2010, 18:17   #1
Ямерт
 
Регистрация: 23.11.2010
Сообщений: 3
По умолчанию Работа с файлом

задание состоит в том, что надо найти все цифры в файле и переместить их в другой файл.)
сделал программу но показывает ошибку на append(h). Никак не могу разобраться почему)

Код:
uses crt;
var f,g:text;
    h:file of string;
    s,s1:string;
    i,j,a,c:integer;
begin
clrscr;
assign(f,'file1.txt');
reset(f);
assign(g,'file2.txt');
rewrite(g);
assign(h,'file3.txt');
rewrite(h);
readln(f,s);
for i:=1 to length(s) do 
begin
if s[i] in ['0'..'9'] then append(h)
else append(g);
end;
close(f);
close(g);
close(h);
end.
Ямерт вне форума Ответить с цитированием
Старый 06.12.2010, 18:22   #2
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Не недо никакого Append. Вот код.

Код:
uses crt;
var f,g:text;
    h:file of string;
    s,s1:string;
    i,j,a,c:integer;
begin
clrscr;
assign(f,'file1.txt');
reset(f);
assign(g,'file2.txt');
rewrite(g);
assign(h,'file3.txt');
rewrite(h);
readln(f,s);
for i:=1 to length(s) do 
begin
if s[i] in ['0'..'9'] then Write (h,s[i])
  else Write(g,s[i]);
end;
close(f);
close(g);
close(h);
end.
Ybn2 вне форума Ответить с цитированием
Старый 06.12.2010, 18:23   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Потому что прежде чем обращаться к файлу надо закрыть его!
Код:
uses crt;
var f,g:text;
    h:file of string;
    s,s1:string;
    i,j,a,c:integer;
begin
clrscr;
assign(f,'file1.txt');
reset(f);
assign(g,'file2.txt');
rewrite(g);
assign(h,'file3.txt');
rewrite(h);
close(g);
close(h);
readln(f,s);
append(g);
append(h);
for i:=1 to length(s) do 
begin
if s[i] in ['0'..'9'] then {Добавляешь в g}
else {Добавляешь в h};
end;
close(f);
close(g);
close(h);
end.
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 06.12.2010 в 18:25.
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом orkus Общие вопросы Delphi 4 02.04.2010 04:51
Работа с файлом.. dimorik Win Api 2 23.03.2010 21:26
Работа с файлом Naper214 Помощь студентам 3 16.03.2010 08:50
работа с файлом Андрей.12 Помощь студентам 1 15.02.2010 01:35
Работа с файлом на Си Darh Помощь студентам 2 15.12.2009 23:44