У меня в разных папках находятся текстовые файлы, я открываю обсщую папку(через процедуру Обзора папок)
программа заходит в первую папку наход файлы и переписывает их, потом выходит из папки и заходит в следующую, но при открытии файла Error (Project * raised exception class EInOutError whit message 'File not Found'. Process stopped. Use Step or Run to continue.) я пытался передовать полный путь к файлам(ExpandFileName) но результат тот же. Подскпжите как исправить? |
Guest
Может ты не очистил какую-нибудь переменную? Выложи кусок кода... |
Эта процедура берет имя файла(namefile) извлекае пулный путь
и открывает через полный путь этот файл и делает с ним нужные мне действия потом удаляет его и переименовывает созданный фаил в страрый Код:
procedure TForm1.opfile(namefile:string); |
ExpandFileName не проверяет свой результат на существование. Судя по вашему вопросу первый раз все нормально т.к. директория которую использует ExpandFileName установлена таким образом, что все получается нормально, но потом директория не меняется т.е. ExpandFileName использует старые данные. Потому-то у вас при открытии файла и возникает ошибка. Попробуйте выводить куда-либо результат ExpandFileName и посмотрите на каком именно возникает ошибка, возможно это подскажет вам пути решения. Кроме того, запретить вывод ошибок I/O можно директивой компилятора {$I-}, а включить опять - уже с плюсиком. Удачи.
|
Процедура для поиска по каталогам на Delphi
Товарищи нужна на делфе процедура, которая будет просматривать все директории(субдириктории) с возможностью нахождения нужных файлов и редактировать их, я написал подобную вроде все исчет, но при редактировании файлов *выводит ошибку ввода вывода.
Помогите плиз! |
Процедура для поиска по каталогам на Delphi
Мало информации. Приведите кусок кода, отвечающего за редактирования, в котором происходит ошибка. Хотя бы.
|
Процедура для поиска по каталогам на Delphi
Я уже показывал свою процедуру мне давали не совсем коректные ответы, может потому что я задавал не совсем коректные вопросы не знаю, но дело в что я уже смотрел в инете процедуру поиска по всем коталогам и файлам в этих каталогах у меня происходит примерно все так же, но моя процедура в первой конечной папке все делает нормально, а в остальных ошибка ввода вывода - причем раньше была с открываемым файлом, а после некоторых монепуляций с создаваемым файлом(фаил создается не там где надо) хотя открытие и создание происходит вроде бы по полному пути и через одну переменную->
begin *setcurrentdir(path+'\'); *e:=findfirst(path+'\'+'*.*',16,t); *while e=0 do (дальше открываю папку и перебераю все файлы) (при *нахождении нужного файла запускается другая процедура) end; * *e:=findnext(t); ... assignfile(fr,FullName);(где FullName и dirname это полные пути взятые из переменной прошлой процедуры path) *reset(fr); *assignfile(fw,dirname+'\'+'demo.*'); *rewrite(fw); ...(сдесь я провожу с открытым файлом некот. действия и записываю в demo.* внизу я удаляю старый и переименовываю demo.* в старый) * *closefile(fr); * *closefile(fw); * *deletefile(FullName); * *renamefile('demo.*',nameoldfile); * *deletefile('demo.*'); * *end; в первом каталоге все нормально в остальных либо вообще ничего, либо создаётся не понятно где, через F7 все просматривал, все перменные, вроде все нормально [s]Исправлено: invisible man, 11:47 21-10-2004[/s] |
Процедура для поиска по каталогам на Delphi
Ругайте меня и все такое, но приклеиваю к первоначальной теме.
|
Время: 13:09. |
Время: 13:09.
© OSzone.net 2001-