CommonDialog1.FileTitle как установить другое имя

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

CommonDialog1.FileTitle как установить другое имя

Сообщение Yvlad » 22.02.2006 (Ср) 16:25

Здравствуйте!
При открытии перетаскиванием
Me.Caption = CommonDialog1.FileTitle ничего не пишет
И еще как заполнить список "Имя файла" открывавшихся файлов в CommonDialog-е, допустим 3-5 последними
Спасибо!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.02.2006 (Ср) 16:38

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

Yvlad
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 28.02.2005 (Пн) 14:41

Сообщение Yvlad » 22.02.2006 (Ср) 16:56

При открытии перетаскиванием файла документа в уже открытуюю программу хотелось бы иметь имя этого файла в заголовке формы

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.02.2006 (Ср) 16:57

Ого. А при чём здесь CommonDialog?
Изображение

Yvlad
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 28.02.2005 (Пн) 14:41

Сообщение Yvlad » 22.02.2006 (Ср) 18:02

Заморочка вот в чем.
Программа сохраняет файлы только в своем формате - name.zzz.
Открывает форматы name.xxx, name.yyy и свой формат name.zzz,
причем через CommonDialog или двойной клик на файле этих форматов, или перетаскиванием на открытую программу.
А надо вот что:
при открытии файла name.xxx написать name.xxx в заголовке формы;
при saveAs... CommonDialog.ShowSave у него в окошке "Имя файла" стояло name.zzz, а не name.xxx;
чтоб CommonDialog проверял существование name.zzz, а не name.xxx;
при удачном сохранении сменить name.xxx на name.zzz в заголовке формы;
при неудаче сохранения или отмене оставить name.xxx в заголовке формы;
у CommonDialog-а заполнять список окошечка "Имя файла" именами последних файлов.
Спасибо!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 23.02.2006 (Чт) 9:42

Ни чего не понял...
Причем тут CommonDialog и перетаскивание?
Установи OLEDropMode в 1 (Manual) и кинь код на форму:
Код: Выделить всё
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Data.Files.Count > 1 Then
    Caption = "Перетащили больше одного файла..."
Else
    Caption = Data.Files(1)
End If
End Sub

Теперь попробуй поперетаскивый на форму файлы... :lol:
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 24.02.2006 (Пт) 7:51

Yvlad, хотелось бы для лучшего понимания вопроса увидеть уже сделанный код, а то пока что мы лицезреем плохо написанное техническое задание... "надо сделать то то и как то"... Короче: "Код в студию!"
Весь мир матрица, а мы в нем потоки байтов!

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 24.02.2006 (Пт) 18:39

Yvlad
Тебе чтоли надо поменять заголовок диалога открытия/сохранения?
Если всё делать своими ручками, они скоро отвалятся !

Yvlad
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 28.02.2005 (Пн) 14:41

Сообщение Yvlad » 11.03.2006 (Сб) 1:23

Option Explicit
Dim stroka As String * 10
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
CommonDialog1.FileName = Data.Files(1)
Call my_Open
End Sub
Private Sub mnuOpen_Click()
CommonDialog1.ShowOpen
Call my_Open
End Sub
Private Sub my_Open()
Open CommonDialog1.FileName For Binary As #1
Get #1, , stroka
Close
Me.Caption = CommonDialog1.FileTitle
End Sub
Private Sub mnuSaveAs_Click()
CommonDialog1.ShowSave
Call my_Save
End Sub
Private Sub mnuSave_Click()
Call my_Save
End Sub
Private Sub my_Save()
CommonDialog1.FileName = Left(CommonDialog1.FileName, Len(CommonDialog1.FileName) - 3) & "zzz"
Open CommonDialog1.FileName For Binary As #1
Put #1, , stroka
Close
Me.Caption = CommonDialog1.FileTitle
End Sub

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 11.03.2006 (Сб) 7:28

Код появился, но понятнее не стало...
Весь мир матрица, а мы в нем потоки байтов!

GRaven
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 13.03.2006 (Пн) 14:42

Сообщение GRaven » 13.03.2006 (Пн) 16:58

Private Sub mnuSaveAs_Click()
On Error GoTo fail
CommonDialog1.FileName = "name"
CommonDialog1.Filter = "zzz files|*.zzz"
CommonDialog1.CancelError = True
CommonDialog1.ShowSave
' .... чтото делаем с файлом
Debug.Print CommonDialog1.FileName
Exit Sub
fail:
Debug.Print "Cancel"
End Sub


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

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

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

    TopList