Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите сделать блокнот! Добавлено: 20.10.05 20:14  

Автор вопроса:  kaant | Web-сайт: www.treeartic.info
Здравствуйте!

Помогите пожалуйста! Я пишу курсову работу по информатике. Мне нужно сделать простейший
текстовый редактор. Нужно, чтобы в нем были меню и панелька инструментов. В меню входят:
ФАЙЛ (Создать, Сохранить, Открыть и Выход), Правка (Вырезать, Копировать и Вставить),
Формат (Выравнивание: По левому краю, По центру, По правому краю и По ширине; Шрифт:
Размер, Начертание, Полужирный, Курсив, Подчеркнутый), Справка (Справка, О программе).
  Я написал код (точнее скопировал некоторые куски кода из VB Application Wizard). Кончно там
код немного усовершенствованный, но это неважно, оно даже интереснее. :)

  При написании кода у меня возникли некоторые трудности и вопросы:

  В коде Создания нового документа нужно, чтобы при его создании выдавалось сообщение о сохранении файла
(т.е., сохранить файл? ДА? Нет? отмена). Если "Да", то должно появляться окно сохранения файла, если "Нет", то
текстовое поле должно очищаться.
    
   Form1 - это имя главной формы
   rtbox - имя текстового пля (это библиотека MS Rich Textbox Control 6.0)

   Вот кусок кода:
   
    Private Sub newdocument_Click()
      If Form1.rtbox.DataChanged = True Then
         a = MsgBox("Документ был изменен! Вы хотите его сохранить?", vbYesNoCancel, "Сохранить изменения?")
           Select Case a
              Case vbYes
                save_Click
              Case vbNo
                End
              Case vbCancel
                cancel = True
        End Select
      End If
      Form1.rtbox.Text = ""
    End Sub
  
  Здесь вся фигня в том, что при выполнении программы пропускается конструкция IF...End If и сразу выполняется
команда Form1.rtbox.Text = "". Никак не могу понять в чем дело! :(

  Также привожу код команды Сохранить документ:

     В General Declaration прописываю массив Dim filename As String.

     Private Sub save_Click()
       Dim sFile As String
         If left$(Form1.Caption, 7) = "Блокнот" Then
           With opendialog
              .DialogTitle = "Сохранить"
              .CancelError = False
              .Filter = "Text Files (*.txt)|*.txt"
              .ShowSave
             If Len(.filename) = 0 Then
              Exit Sub
           End If
            sFile = .filename
           End With
         Form1.rtbox sFile
       lse
        sFile = Form1.Caption
        Form1.rtbox sFile
       End If
     End Sub

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

 opendialog - имя элемента CommonDialog


Dim filename As String
Public DataChanged As Boolean
--------------------------------------
Private Sub about_Click()
Form2.Show vbModal
End Sub
----------------------------------------
Private Sub center_Click()
Form1.rtbox.SelAlignment = rtfCenter
End Sub
----------------------------------------------
Private Sub copy_Click()
    Clipboard.SetText Form1.rtbox.SelRTF
End Sub
-----------------------------------------------
Private Sub cut_Click()
    Clipboard.SetText Form1.rtbox
    Form1.rtbox.SelRTF = vbNullString
End Sub
------------------------------------------------
Private Sub fonttype_Click()
opendialog.Flags = cdlCFBoth
opendialog.ShowFont
Form1.rtbox.SelFontName = opendialog.FontName
End Sub
-----------------------------------------------------
Private Sub helpprog_Click()
 MsgBox "Вместо этого сообщения должна, по идее, появляться справка к программе, но, т.к. делать ее было лень, то ограничился сообщением :)", vbOKOnly + vbInformation, "Справка"
End Sub
---------------------------------------------------------------------------------
Private Sub italic_Click()
Form1.rtbox.SelItalic = Not Form1.rtbox.SelItalic
  Button.Value = IIf(Form1.rtbox.SelItalic, tbrPressed, tbrUnpressed)
End Sub
------------------------------------------------------------------------------
Private Sub left_Click()
Form1.rtbox.SelAlignment = rtfLeft
End Sub
------------------------------------------------------------------------
Private Sub newdocument_Click()
 If Form1.rtbox.DataChanged = True Then
 a = MsgBox("Документ был изменен! Вы хотите его сохранить?", vbYesNoCancel, "Сохранить изменения?")
    Select Case a
         Case vbYes
            save_Click
         Case vbNo
            End
         Case vbCancel
            cancel = True
        End Select
 End If
 Form1.rtbox.Text = ""
End Sub
----------------------------------------------------------------
Private Sub paste_Click()
    Form1.rtbox.SelRTF = Clipboard.GetText
End Sub
----------------------------------------------------------------
Private Sub exit_Click()
End
End Sub
----------------------------------------------------------------
Private Sub polubold_Click()
Form1.rtbox.SelBold = Not Form1.rtbox.SelBold
  Button.Value = IIf(Form1.rtbox.SelBold, tbrPressed, tbrUnpressed)
End Sub
----------------------------------------------------------------
Private Sub right_Click()
Form1.rtbox.SelAlignment = rtfRight
End Sub
----------------------------------------------------------------
Private Sub size_Click()
opendialog.Flags = cdlCFBoth
opendialog.ShowFont
Form1.rtbox.SelFontSize = opendialog.FontSize
End Sub
----------------------------------------------------------------
Private Sub underline_Click()
Form1.rtbox.SelUnderline = Not Form1.rtbox.SelUnderline
  Button.Value = IIf(Form1.rtbox.SelUnderline, tbrPressed, tbrUnpressed)
End Sub
----------------------------------------------------------------
Private Sub open_Click()
Dim sFile As String
    If Form1 Is Nothing Then newdocument_Click
    With opendialog
        .DialogTitle = "Открыть"
        .CancelError = False
        .Filter = "Text Files (*.txt)|*.txt"
        .ShowOpen
        If Len(.filename) = 0 Then
            Exit Sub
        End If
        sFile = .filename
    End With
    Form1.rtbox.LoadFile sFile
    Form1.Caption = sFile

End Sub
----------------------------------------------------------------
Private Sub save_Click()
Dim sFile As String
    If left$(Form1.Caption, 7) = "Блокнот" Then
        With opendialog
            .DialogTitle = "Сохранить"
            .CancelError = False
            .Filter = "Text Files (*.txt)|*.txt"
            .ShowSave
            If Len(.filename) = 0 Then
                Exit Sub
            End If
            sFile = .filename
        End With
        Form1.rtbox sFile
    Else
        sFile = Form1.Caption
        Form1.rtbox sFile
    End If
End Sub
----------------------------------------------------------------
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
 Case "new"
  newdocument_Click
 Case "open"
  open_Click
 Case "save"
  save_Click
 Case "cut"
  cut_Click
 Case "copy"
  copy_Click
 Case "paste"
  paste_Click
 Case "left"
  left_Click
 Case "center"
  center_Click
 Case "right"
  right_Click
 Case "polubold"
  polubold_Click
 Case "italic"
  italic_Click
 Case "underline"
  underline_Click
 Case "size"
  size_Click
 Case "fontstyle"
  fonttype_Click
  End Select
End Sub
----------------------------------------------------------------

ВОПРОСЫ:

   1. Нигде не могу найти, что обозначает оператор WITH?
   2. Как сделать так, чтобы при закрытии программы, точнее, при нажатии на кнопку закрытия ОКНА (крести
в правом верхнем углу), выводилось сообщение о предложении сохранить изменения в документе?

 
Буду очень всем благодарен, если вы мне поможете написать курсовик!!!! :))) Заранее ВСЕМ ОГРОМНОЕ СПАСИБО!!! :)))

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 20.10.05 20:24
0. Причём здесь VBA?
1. Для упрощения доступа к объектам.
with obj
  .method1
  .method2
  .method3
end with

2.
private sub form_unload(cancel as boolean)
  if ... then
    msgbox "Вы хотите сохранить изменения?"
    ....
  end if
end sub

3. Где такое задание дают в качестве курсового?

Ответить

Номер ответа: 2
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #2
Добавлено: 20.10.05 22:09

3.В ПТУ

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 21.10.05 11:08
:) мЭжду прочим полно готовых примеров, скачал, разработчика подправил в лабеле и пипец :) !!!

Ответить

Номер ответа: 4
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #4 Добавлено: 21.10.05 21:51
разработчика подправил в лабеле и пипец


 ну если он сдает такую курсовую, он должно-быть пошел учиться на факультет программистов... следовательно ему стоит (на будущее) самому знать как писать подобного рода программы...

Ответить

Номер ответа: 5
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #5
Добавлено: 21.10.05 22:05

вау

Ответить

Номер ответа: 6
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #6 Добавлено: 21.10.05 22:19
ну если он сдает такую курсовую, он должно-быть пошел учиться на факультет программистов...
А программистов уже в ПТУ готовят? В мое время туда шли те кто не хотел учиться, а программирование все таки требует определенных знаний в разных областях (если только не ограничиваться Hello world), упорства,настойчивости и усидчивости. Еще хотя бы желания минимального знания английского (чтоб понимать команды и не плавать в МСДН).
P.S.Неужто я уже так стар.

Ответить

Номер ответа: 7
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #7 Добавлено: 21.10.05 22:32
Толко сейчас заметил, что этих топиков два. Один в Общем, второй в VBA.

Ответить

Номер ответа: 8
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #8
Добавлено: 21.10.05 22:42
ну если он сдает такую курсовую, он должно-быть пошел учиться на факультет программистов... следовательно ему стоит (на будущее) самому знать как писать подобного рода программы...


сомневаюсь в правельности того, что ты тут написал... если человек низнаети не хочет, то ему достаточно заказать у когонить :). о каких знаниях ты говоришь?!

Ответить

Номер ответа: 9
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #9
Добавлено: 21.10.05 22:58
ну если он сдает такую курсовую, он должно-быть пошел учиться на факультет программистов... следовательно ему стоит (на будущее) самому знать как писать подобного рода программы...


сомневаюсь в правельности того, что ты тут написал... если человек низнаети не хочет, то ему достаточно заказать у когонить :). о каких знаниях ты говоришь?!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам