Вопрос о перезаписи файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Вопрос о перезаписи файла

Сообщение uk8amk » 08.05.2008 (Чт) 13:28

Когда вызываю ShowSave из CommonDialog и указываю уже существующий файл то он просто затрется без лишних вопросов. Хотелось бы чтобы в этом случае прога вежливо задавала вопрос типа "Файл существует. Перезаписать?". Как бы это можно было организовать?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 08.05.2008 (Чт) 13:50

Проверить после вызова диалога существование файла, и выдать запрос.
label:
cli
jmp label

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 08.05.2008 (Чт) 13:56

Проверить можно при помощи dir.
А сам путь к файлу будет содержаться в CommonDialog1.FileName
Утро добрым не бывает!

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 08.05.2008 (Чт) 14:56

Большое спасибо. Сделал так:

newname:
CommonDialog2.Filter = ".ild|*.ild"
CommonDialog2.CancelError = True
On Error Resume Next
CommonDialog2.ShowSave
If Err.Number = cdlCancel Then
Err.Clear
Exit Sub
End If
Err.Clear
On Error GoTo exitsub

TMPDir = Dir(CommonDialog2.FileName)
If Len(TMPDir) > 0 Then
If MsgBox("File:" & CommonDialog2.FileName & " already exists. " & "Overwrite?", vbYesNo) = vbYes Then
Kill (CommonDialog2.FileName)
Else
GoTo newname
End If
End If
............

Все пректрасно заработало

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 08.05.2008 (Чт) 16:15

iGrok, gjghjc
Вы чего? :shock:


CommonDialog1.Flags = cdlOFNOverwritePrompt
и всё. Нужные вопросы сами зададутся.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 09.05.2008 (Пт) 15:48

Да уж век живи век учись... :)
Утро добрым не бывает!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 12.05.2008 (Пн) 15:42

Кхм. "Плюс один".. Чё-то меня переклинило..
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 57

    TopList