![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-student- |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Написать программу, позволяющую по выбору создавать, находить, переименовывать, дополнять, читать, удалять файл и записывать информацию в файл
помогите плиз, у меня полдная муть получается , кроме процедур создания и удаления файла другие не работают,а процедура дополнения файла вообще не получается вот моя прога: uses dos,crt; теги... Сообщение отредактировано: Oleg_Z - 15.05.2005 17:50 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
-student-,
а что, для удаления файла нужно обязательно файл открыть, закрыть, и только потом удалить? Просто Assign не достаточно? Кстати, для переименования файл должен быть закрыт, переименовать открытый файл нельзя... При "поиске" файла все-таки должна быть функция, а не процедура... Тебе же нужно получить путь к файлу... Для дополнения текстового файла открывай его через Append, а не Reset ... |
NightPaladin |
![]() ![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот выложил свои наброски (пока без поиска -его завтра):
Код program File_Worck; Uses CRT; var ExF1 : Text; ExF2 : Text; Com : String[6]; {Їа®жҐ¤га б®§¤ Ёп} procedure Create; var Path : String; begin WriteLn('input path:'); TextColor(red); Write('path:>_'); ReadLn(Path); Assign(ExF1,path); ReWrite(ExF1); Close(ExF1); end; procedure ReadQ; const MaxN = 50; type Massive = array[1..MaxN] Of Integer; var Path : String; mas : Massive; str : String; begin WriteLn('input path:'); TextColor(red); Write('path:>_'); ReadLn(Path); Assign(ExF1,path); Reset(ExF1); ReadLn(ExF1, str); Close(ExF1); end; procedure WriteQ; var Path : String; str : String; begin WriteLn('input path:'); TextColor(red); Write('path:>_'); Read(Path); str:= 'Pascal_creating_file'; Assign(ExF1,path); ReWrite(ExF1); WriteLn(ExF1, str); Close(ExF1); end; procedure AppendQ; var Path : String; str : String; begin WriteLn('path:'); TextColor(red); Write('path:>_'); Read(Path); str:= 'the_append_string'; Assign(ExF1,path); Append(ExF1); WriteLn; WriteLn(ExF1, str); Close(ExF1); end; procedure ReNameQ; var Path : String; Name : String; Temp : String; begin WriteLn('path:'); TextColor(red); Write('path:>_'); Read(Path); name:= 'C:/new_name.txt'; Assign(ExF1,path); reset(ExF1); Assign(ExF2, name); ReWrite(ExF2); repeat ReadLn(ExF1,Temp); WriteLn(ExF2,Temp); until Not EOF(ExF1); Close(ExF1); Close(ExF2); end; begin ClrScr; WriteLn('input command:'); TextColor(green); WriteLn('create '); WriteLn('read '); WriteLn('write '); WriteLn('append'); WriteLn('rename '); WriteLn; TextColor(red); Write('command:>_'); ReadLn(com); If com = 'create' then Create Else If com = 'read' then ReadQ Else If com = 'write' then WriteQ Else If com = 'append' then AppendQ Else If com = 'rename' then ReNameQ; ReadKey; end. Сообщение отредактировано: NightPaladin - 15.05.2005 19:04 -------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ребята, вы что творите?
Процедуру Rename что, просто так включили в Паскаль? Не надо ничего изобретать, все проще гораздо !!! procedure myRename; -student-, только учти, что Rename будет работать корректно только в пределах одного и того же диска... |
-student- |
![]()
Сообщение
#5
|
Гость ![]() |
большое спасибо за помощь
если не сдам курсовик то на осень оставят |
Guest |
![]()
Сообщение
#6
|
Гость ![]() |
при таком решении выдает ошибку : Path no found
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
А это смотря какой Path
![]() |
NightPaladin |
![]() ![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Ребята, вы что творите? Процедуру Rename что, просто так включили в Паскаль? Не надо ничего изобретать, все проще гораздо !!! Извеняюсь - это я посмотрел как сдела студент ирешил, что "мы пойдём другим путём'' :D . И начал вот это вот - из одного читаем, создаём новый с новым именем - всё в него копируем и старый удаляем. Мда рациональностью не блещет... ![]() -------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
Дож |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата А это смотря какой Path В строчке 4 твоего кода ;): Код {1:}procedure myRename; {2:}var newname:string; {3:}begin {4:}assign(infile,'C:\file'); {<--Здесь естественно} {5:}readln(newname); {6:}rename(infile,newname); {7:}end; -------------------- Доброго времени суток.
:nnn: |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(Дож @ 16.05.05 18:58) В строчке 4 твоего кода Спасибо за напоминание, но имелось в виду "Смотря какой Path <введен>"... |
Дож |
![]()
Сообщение
#11
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня предположение, что он забыл указать расширение(судя по начальному коду)... А за это паскаль так и ругается ;) .
-------------------- Доброго времени суток.
:nnn: |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 21:41 |