Save As

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Save As

Сообщение Max! » 07.04.2003 (Пн) 22:59

В VB Application Withart , если по умолчанию нажимать некст то на форме появляется раскрывающеися фаил где и находится Save As как зделать чтобы эта функция работала , и поумолчанию был бы вписан *.DAT где расширение и его нельзя былы бы изменять , а имя придумывал сам пользователь! ПОМОГИТЕ!
Max!

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 07.04.2003 (Пн) 23:40

Привожу оригинальный код с исправлениями:
Код: Выделить всё
Private Sub mnuFileSaveAs_Click()
    Dim sFile As String

    Dim tempArr() As String 'определяем временный массив

    If ActiveForm Is Nothing Then Exit Sub
    With dlgCommonDialog
        .DialogTitle = "Save As"
        .CancelError = False
        'ToDo: set the flags and attributes of the common dialog control
        .Filter = "DAT Files (*.DAT)|*.DAT" 'определение фильтра по расширению
        .ShowSave
        If Len(.FileName) = 0 Then
            Exit Sub
        End If
        sFile = .FileName

    tempArr()=split(sFile,".") ' Отделяем имя файла от расширения
    sFile=tempArr(0) & ".DAT" 'Добавляем к имяни нужное расширение
   
    End With
    ActiveForm.Caption = sFile
    ActiveForm.rtfText.SaveFile sFile

End Sub

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 08.04.2003 (Вт) 15:37

Я попробывал и мне компелятор выдает ошибку и обводит :


If ActiveForm Is Nothing Then Exit Sub 'Это предложение!

Вчем дело?? :evil: :x
Max!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 08.04.2003 (Вт) 15:45

Max! писал(а):Я попробывал и мне компелятор выдает ошибку и обводит :


If ActiveForm Is Nothing Then Exit Sub 'Это предложение!

Вчем дело?? :evil: :x

а дело в том, что у тебя наверное SDI приложение, т.е. с одним окном.
если да, то просто удали эту строчку.
в этой строке проверяется есть ли открытые окна документов в MDI приложении
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.04.2003 (Вт) 15:52

Screen.ActiveForm потому что писать надо. SDI/MDI тут не при чем.

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 08.04.2003 (Вт) 15:55

Спосибо! Еще один вопрос! А он сохроняет то что находится в текстбоксе, если да можно-ли тогда загрузить этот текст обратно в текстбокс с зтим кодом :

Dim A As String
Open "N.Dat" For Input As #1
Input #1, A
txt1.Text = A

Можно или нет? :roll: :?:
Max!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 08.04.2003 (Вт) 16:04

2 RayShade: В полне возможно... но если этот код вызывается из меню программы, которое наверняка будет в активном окне, то зачем вообще эта проверка.

2 Max!: на сколько я вижу по коду (в примере), там используется элемент RitchTextBox. и на сколько я понимаю из тогоже кода, файл сохраняется в формате RTF. так что твой код хоть и загрузит файл в TextBox, но прочитать ты его не сможешь. лучше используй RitchTextBox и загружай в него текст так:
Код: Выделить всё
rtf.LoadFile <FileName>, [FileType]
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 08.04.2003 (Вт) 16:28

Хорошо а ты можешь показать пример с Save As которыи сохроняет текст в текстбоксе а с Open с помощью которого можно открыть его и прочитать! :cry:
Max!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 08.04.2003 (Вт) 16:40

Код: Выделить всё
Private Sub mnuFileSaveAs_Click()
    Dim sFile As String

    Dim tempArr() As String 'определяем временный массив

    If ActiveForm Is Nothing Then Exit Sub
    With dlgCommonDialog
        .DialogTitle = "Save As"
        .CancelError = False
        'ToDo: set the flags and attributes of the common dialog control
        .Filter = "DAT Files (*.DAT)|*.DAT" 'определение фильтра по расширению
        .ShowSave
        If Len(.FileName) = 0 Then
            Exit Sub
        End If
        sFile = .FileName

    tempArr()=split(sFile,".") ' Отделяем имя файла от расширения
    sFile=tempArr(0) & ".DAT" 'Добавляем к имяни нужное расширение
   
    End With
    ActiveForm.Caption = sFile
    Open sFile For Output As #1
    Print #1, ActiveForm.Text1
    Close
End Sub

всего несколько строчек нужно было изменить
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 08.04.2003 (Вт) 17:00

Блин он не сохроняет как только я нажимаю на Save As Сразу ОШибка : "Run-time error "424" Object required" Что это такое! Помогите! :x
Max!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 08.04.2003 (Вт) 17:29

Max! писал(а):Блин он не сохроняет как только я нажимаю на Save As Сразу ОШибка : "Run-time error "424" Object required" Что это такое! Помогите! :x

вместо этого
Код: Выделить всё
If ActiveForm Is Nothing Then Exit Sub

напиши это
Код: Выделить всё
If Screen.ActiveForm Is Nothing Then Exit Sub
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 09.04.2003 (Ср) 9:58

2 Max

Форум, если честно, не предназначен для выяснения вопросов касающихся "почему 2+2=4?"



Поэтому, читай внимательнее хелпники и документацию, попытайся хоть до чего нибудь сам додуматься.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList