Опять работа с папками...pascal'

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Закрыто
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

"Опять эти каталоги!". Но теперь задача другая - написать программу, которая создаст файл, с расширемнием *.cop, а с именем выбранной вами папки. Здесь опять нужно использовать paramStr(1). Вот как я сделал, но выдаётся ошибка №2 - файл не найден. (Error 2: File not found. )
______

Код: Выделить всё



Var folder: file;
      Fname: string;
Fname:= ParamStr(1)+'.cop';                    
assign(folder, fname); rewrite(folder);        
end.
         


Вместо FName просто использовать assign(folder,paramSrt(1)+'.cop' я тоже пробывал - не работает.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

А ты хоть параметры проге передаешь? Если да, то как и какие? Никому ведь не видно что находится в параметрах. А еще есть Debugger - позволяет найти 95% ошибок
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

напрасно ты называешь фаловую переменную которая будет ассоциирована с файлом "folder". Кстати, папка в которой фал создаёшь наверное уже существует? ;)
Изображение
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

&quot писал(а):Кстати, папка в которой фал создаёшь наверное уже существует?
А он в ней и не создает.
Paramstr(1) = 'D:\Temp'
Filename = Paramstr(1)+'.cop' = 'd:\temp.cop'
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Сообщение от Somewhere

А ты хоть параметры проге передаешь? Если да, то как и какие? Никому ведь не видно что находится в параметрах.
Нет. Я ничего не передаю. Как я уже говорил в другой теме, paramStr(1)=''; . Это только к папке, а к файлу paramstr(1) принимает нужное мне значение - путь к файлу.
Сообщение от Игорь Акопян

Кстати, папка в которой фал создаёшь наверное уже существует?
Somewhere правильно сказал (написал), какая разница создаю я ФАЙЛ равный ИМЕНИ папки, или нет. Программа будет заменять только тогда, когда полные имена файлов (имена вместе с расширением) будут равны друг другу.
Сообщение от Игорь Акопян

напрасно ты называешь фаловую переменную которая будет ассоциирована с файлом "folder"
Почему это напрасно? На указанном somewhere примере можно полностью понять принцип рыботы программы... Только вот почему она не работает?...
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Колядин Максим, во-первых, не надо ссылать что в другой теме ты что-то говорил, её могли читать давно или не читать вовсе. Если у тебя вопрос в пределах одной темы, не плоди их! Если же вопросы отличаются настолько, что заслуживают новую тему - опиши задачу и проблему в первом посте.
&quot писал(а):Почему это напрасно?
Потому что, если переменная содержит имя каталога и ты создаёшь каталог, надо использовать MkDir()
Если же имя файла у тебя совпадает с именем каталога - я бы завёл отдельную переменную и переприсвоил это имя, ибо ReWrite(folder) у меня вызывает ощущение что здесь ошибка (либо комент писать что создаётся файл идентичный имени каталога)

Вот кстати запустил - всё создалось...
Изображение
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

тэкс, дальнейшее обсуждение ведём там. Закрыто
Изображение
Закрыто