[Tillbaks]

Visual Basic-sidan

Open & Save As Dialog-box

Lägg till menyer i ditt program

Ett helt Glosprogram - ladda ned

Common Dialog-objektet

Du kan enkelt använda dig av standard Öppna och Spara som popup-fönster i ditt program.

För detta exempel, lägg till dessa objekt på din "Form":

Typ av objekt                    Namn på objekt
1 Common Dialog Box        CommonDialog1
1 DriveListBox                    Drive1
2 DirListBox                        Dir1, Dir2
1 FileListBox                       File1
3 Listbox                             Listbox1, Listbox2, Listbox3
2 Command-buttons            Command1, Command2.

Med den här kodsnutten kan man läsa in en textfil när man klickar på Command1-knappen. Namnet på filen läggs i Listbox1 och innehållet i filen delas upp mellan Listbox2 & 3. Genom att välja ett objekt i Listbox1-listan, kan man med Command2-knappen kan man även spara innehållet i Listbox2 & 3 till filnamnet som står i Listbox1.

Private Sub Form_Load()
    Dir1.Visible = False                                                    ' Göm 
    Drive1.Visible = False                                                ' dessa
    Dir2.Visible = False                                                    ' objekt
    File1.Visible = False                                                   '
    Form1.Visible = True
    Command1.Caption = "Öppna"                                 ' Sätt namn
    Command2.Caption = "Spara"                                   ' på knapparna
End Sub

Private Sub Command1_Click()
    CommonDialog1.ShowOpen                                    ' Öppna CommonDialog1 i Öppna-läge
    CommonDialog1.Filter = "*.txt|*.txt"                     ' Ladda endast in .txt-filer
     Listbox1.AddItem CommonDialog1.FileTitle         ' Lägg till filnamnet i  Listbox1
    Open Commondialog1.Filename For Input As #1    ' Öppna det valda filnamnet från Commondialogboxen för läsning
    Dim s, e
    Do Until EOF(1)                                                     ' Upprepa läsning tills filer tar slut
    Input #1, s, e                                                           
    ListBox2.AddItem s                                                ' Lägg texten i Listbox2
    ListBox3.AddItem e                                                ' och Listbox3
    Loop
    Close #1
End Sub

Private Sub Command2_Click()
    CommonDialog1.Filter = "*.txt|*.txt"
    CommonDialog1.ShowSave                                    ' Öppna CommonDialog1 i Spara Som-läge
    Dim i, l
    For i = 0 To ListBox1.ListCount - 1                      ' Loopa antalet poster som finns i ListBox1
        If ListBox1.Selected(i) = True Then                  ' Kolla alla poster efter det som är valt
        Open CommonDialog1.FileName For Output As #1   '  Öppna filen som är vald i  ListBox1 eller CommonDialog1 för skrivning. CommonDialog1 har högsta prioritet.
                                                                                          '  Det enda som händer om man väljer ett objekt i Listbox1-rutan är att det filnamnet föerslås när man ska spara.

            For l = 0 To ListBox2.ListCount - 1                     '  Loopa antal poster i ListBox2
                Write #1, ListBox2.List(l), ListBox3.List(l)     ' Skriv alla poster i ListBox2 & 3 till filen
            Next
        Close #1
        End If
    Next
End Sub

[upp]

Menu Editorn

Med Menu Editor i Tools-menyn kan man enkelt lägga till menyer till sitt program 

Ett exempel på hur en Arkiv-meny skulle kunna se ut.

När du startat Menu Editorn, knappa in Captionname (hur texten kommer att se ut, & före en bokstav gör den till snabbval) och objectname  (namnet man använder för att anropa objektet i koden, t ex mnuArkiv).

&Arkiv             'Visas som Arkiv
....&Ny             'Visas som Ny när man trycker på Arkiv-menyn
....&Öppna       'Visas som Öppna när man trycker på Arkiv-menyn
....&Stäng         'Visas som Stäng när man trycker på Arkiv-menyn
....S&luta          'Visas som Sluta när man trycker på Arkiv-menyn

För varje submeny du skapar, tryck på högerpilen för att flytta menyn åt höger (detta indekeras av fyra punkter före CaptionName).

Skapa "actions" för menyerna

På din "Form" tryck på Öppna i Arkiv-menyn. Då skapas en ny Private Sub:

Private Sub(mnuArkivOppna_Click()

End Sub

I den här proceduren kan du stoppa in samma kod som för Command1_Click() proceduren.

[upp]