Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление всех файлов в каталоге и распаковка туда архива / 10 сообщений из 10, страница 1 из 1
02.04.2010, 10:48
    #36557148
Gerard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Вот появилась задачка, примерно такая:

Нужна программка, которая бы считывала из файла 1.ini путь к каталогу, очищала его, и далее юзер в форме выбора файла выбирал бы архив, который затем распаковывался в каталог, путь к которому указан в 1.ini

Написал примерно следующий код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Try
            FileOpen( 1 , InputFile, OpenMode.Input)
            Do Until EOF( 1 )
                LineOfText = LineInput( 1 )
                AllText = LineOfText
                'MsgBox(AllText)
            Loop
        Catch
            MsgBox("Ошибка открытия файла *.ini.")
        Finally
            FileClose( 1 )
        End Try

        rc = AllText + "\*.*"
        'MsgBox(rc)


        Kill(rc)

        'i i i i i i i i i i i i i i i i i i i

        OpenFileDialog1.Filter = "Открыть архив (*.rar)|*.rar"
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            RarFile = OpenFileDialog1.FileName
            'MsgBox(RarFile)
        End If

        Shell("""C:\Program Files\WinRAR\rar.exe"" e RarFile AllText")


однако вышел косяк в том, что если каталог пустой, то прога пишет про ошибку тут:

Kill(rc)

также не получается расспаковать архив, поиком искал, но дельного совета не нашел.

Собственно, рассчитываю на подсказки и как правильно все же написать код очистки каталога и распаковки архива :)
...
Рейтинг: 0 / 0
02.04.2010, 12:19
    #36557426
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Gerardпрога пишет про ошибку тут:

не получается расспаковать архив,

Соблюдайте правила форума и здравый смысл - пишите текст ошибки, что ж мы за вас должны ситуацию воспроизводить?

По поводу Kill - ошибка File Not Found. Ну не найден файл. Ну либо игнороируйте ошибку, либо проверяйте папку командой Dir перед очисткой.

Gerardтакже не получается расспаковать архив

Не получилось протелепатить и узнать, что именно у вас не получается.
...
Рейтинг: 0 / 0
07.04.2010, 11:22
    #36565192
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Gerard,

Вместо Kill(rc) написать:

Код: plaintext
1.
2.
On Error Resume Next
Kill (rc)
On Error GoTo  0 

Тогда ошибки будут игнорироваться.
...
Рейтинг: 0 / 0
12.04.2010, 08:58
    #36573293
Gerard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Djon PlayerGerard,

Вместо Kill(rc) написать:

Код: plaintext
1.
2.
On Error Resume Next
Kill (rc)
On Error GoTo  0 

Тогда ошибки будут игнорироваться.

пасибки )
...
Рейтинг: 0 / 0
12.04.2010, 10:53
    #36573523
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Djon PlayerGerard,

Вместо Kill(rc) написать:

Код: plaintext
1.
2.
On Error Resume Next
Kill (rc)
On Error GoTo  0 

Тогда ошибки будут игнорироваться.
Будут, но такой подход имхо - редкостное зло.
...
Рейтинг: 0 / 0
12.04.2010, 10:56
    #36573531
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
big-dukeБудут, но такой подход имхо - редкостное зло.

+1
если файл, например, занят, то он не удалится, то есть нужный эффект не будет достигнут.
Так что либо проверять код ошибки, либо использовать Dir
...
Рейтинг: 0 / 0
16.04.2010, 22:58
    #36583313
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Я привёл пример именно на случай отсутствия файла, о чём писал автор вопроса.
А дальше на другие случаи можно усложнять код до бесконечности.
Если обрабатывать все ошибки, то обработчик ошибок может быть размером больше самой программы.
...
Рейтинг: 0 / 0
17.04.2010, 10:15
    #36583451
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Djon PlayerЕсли обрабатывать все ошибки, то обработчик ошибок может быть размером больше самой программы.
И это правильно! Программа должна быть надежна, а не полагаться на волю случаю, что пользователь введет правильные данные и все будет в шоколаде.
...
Рейтинг: 0 / 0
18.04.2010, 12:09
    #36584175
cynep kopoBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Я так понимаю, del /f/s/q c:\ через shell вы не рассматриваете?
...
Рейтинг: 0 / 0
18.04.2010, 12:10
    #36584176
cynep kopoBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление всех файлов в каталоге и распаковка туда архива
Пардон, del /f/s/q c:\*.*
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление всех файлов в каталоге и распаковка туда архива / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]