Avatar billede jih Nybegynder
20. januar 2004 - 18:51 Der er 7 kommentarer og
1 løsning

save hvis fil er redigeret ?

ey.... jeg har denne kode... ehmmm.. nej... lidt for lang... men jeg har et program... det åbner eller laver et nyt tekstdokument.. (og gemmer selvf.).. ehmm... ok... det er svært at forklare... men når man laver et nyt dokument og skriver noget... og trykker close file... så spørger den om man vil gemme... det virker fint... men jeg kan ik få det til at virke hvis man åbner en eksisterende fil? nogen?
Avatar billede martin_moth Mester
20. januar 2004 - 23:53 #1
ja!
Avatar billede mikker Nybegynder
21. januar 2004 - 17:57 #2
Blå !?
Avatar billede jih Nybegynder
26. januar 2004 - 08:10 #3
hmmm..... går ud fra at I ik forstår ?
Avatar billede mikker Nybegynder
26. januar 2004 - 20:24 #4
Jeg gør ihvertfald overhovedet ikke.
Men jeg hænger på. Så kan jeg springe til i det øjeblik jeg fatter hvad der sker :o)
Avatar billede jih Nybegynder
27. januar 2004 - 09:42 #5
hmmm.... er lige i skolen, så jeg kan ik skrive koden... men så sætter jeg de vigtige dele af koden ind og forklarer lidt nærmere når jeg kommer hjem...
Avatar billede jih Nybegynder
29. januar 2004 - 06:51 #6
ok.... jeg har et program... meningen med det, er at det skal være nogenlunde det samme som notepad.. altså... du kan åbne/lave .txt filer, [redigere dem] og gemme dem... men... der er disse knapper:
Open, Select All, Cut, Copy, Paste, Clear Selection, Clear Clipboard, Analyse, Help, Close File, Exit.

---

så er det det... når jeg trykker på close file, skulle den gerne spørge om jeg vil gemme den redigerede fil.. hvilket virker fint.. MEN.. den spørger ikke om jeg vil gemme hvis jeg har redigeret en eksisterende fil.. kun hvis jeg har lavet en ny fil.. så kommer koden.. sætter bare det hele ind... ved ik lige hvad er det vigtigste i den...

---

Option Explicit

Private Sub cmdAnalyse_Click()
    Call fileanalysis("Analyse")
End Sub

Private Sub menuAnalysisPerform_Click()
    Call fileanalysis("Analyse")
End Sub

Private Sub cmdOpen_Click()
    Call openfile("Open File")
End Sub

Private Sub menuFileOpen_Click()
    Call openfile("Open File")
End Sub

Private Sub cmdClose_Click()
    Dim Filename As String
    Dim choice As Integer
    Filename = "*.txt"
   
    Filename = fileopen.Filename
   
    If Not (Filename = "*.txt") Then
    Call closefile("Close File")
    Else
   

    If Filename = "*.txt" Then
        choice = MsgBox("The text in the Untitled file has changed. Do you want to save changes?", vbYesNoCancel, "Save Notice")
        If choice = vbYes Then
            Call menuFileSaveAs_Click
        ElseIf choice = vbNo Then
            Call closefile("Close File")
        ElseIf choice = vbCancel Then
        Else
        End If
    End If
   
    End If
End Sub

Private Sub menuFileClose_Click()
    Call closefile("Close File")
End Sub

Private Sub cmdExit_Click()
    Unload Me
End Sub

Private Sub menuFileExit_Click()
    Unload Me
End Sub

Private Sub cmdSelectAll_Click()
    Call selecttext("Select All")
End Sub

Private Sub menuEditSelect_Click()
    Call selecttext("Select All")
End Sub

Private Sub cmdClear_Click()
    Call clearselected("Clear Selected")
End Sub

Private Sub cmdHelp_Click()
    MsgBox "If the Clipboard contains text it can be pasted. Otherwise open a new file. Highlight selection, then either Copy or Cut can be selected.", vbInformation, "Help"
End Sub

Private Sub menuHelpGeneral_Click()
    MsgBox "If the Clipboard contains text it can be pasted. Otherwise open a new file. Highlight selection, then either Copy or Cut can be selected.", vbInformation, "Help"
End Sub

Private Sub menuFileNew_Click()

txtWindow.Text = ""
txtWindow.Enabled = True

frmMain.txtWindow.Enabled = True
frmMain.cmdOpen.Enabled = False
frmMain.cmdAnalyse.Enabled = True
frmMain.cmdClose.Enabled = True

frmMain.menuEditSelect.Enabled = True
frmMain.menuFileClose.Enabled = True
frmMain.menuFileOpen.Enabled = False
frmMain.menuAnalysisPerform.Enabled = True
frmMain.menuFileSave.Enabled = False
frmMain.menuFileSaveAs.Enabled = True
frmMain.menuFileNew.Enabled = False

End Sub

Private Sub cmdCCP_Click(Index As Integer)

Select Case Index
    Case 0  ' Copy
            Clipboard.Clear
            Clipboard.SetText txtWindow.SelText
            cmdCCP(2).Enabled = True
            menuEditCPP(2).Enabled = True
            cmdClearClipboard.Enabled = True
    Case 1  ' Cut
            Clipboard.SetText txtWindow.SelText
            txtWindow.SelText = ""
            cmdCCP(2).Enabled = True
            menuEditCPP(2).Enabled = True
    Case 2  ' Paste
        If Clipboard.GetFormat(vbCFText) Then
            txtWindow.SelText = Clipboard.GetText()
        End If
End Select
txtWindow.SetFocus

End Sub
Private Sub menuEditCPP_Click(Index As Integer)

Select Case Index
    Case 0  ' Copy
            Clipboard.Clear
            Clipboard.SetText txtWindow.SelText
            cmdCCP(2).Enabled = True
            menuEditCPP(2).Enabled = True
            cmdClearClipboard.Enabled = True
    Case 1  ' Cut
            Clipboard.SetText txtWindow.SelText
            txtWindow.SelText = ""
            cmdCCP(2).Enabled = True
            menuEditCPP(2).Enabled = True
    Case 2  ' Paste
        If Clipboard.GetFormat(vbCFText) Then
            txtWindow.SelText = Clipboard.GetText()
        End If
End Select
txtWindow.SetFocus

End Sub

Private Sub cmdClearClipboard_Click()

Clipboard.Clear
cmdCCP(2).Enabled = False
menuEditCPP(2).Enabled = False
cmdClearClipboard.Enabled = False
txtWindow.SetFocus

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

If UnloadMode = vbFormCode Then
    Exit Sub
Else
    MsgBox "Please close the program via the Exit Button or Menu Exit Tab", vbInformation, "No Entry"
    Cancel = True
End If

End Sub

Private Sub txtWindow_Change()

If Len(Trim$(txtWindow.Text)) > 0 Then
    cmdSelectAll.Enabled = True
End If
If Len(Trim$(txtWindow.Text)) = 0 Then
    cmdClear.Enabled = False
    cmdSelectAll.Enabled = False
End If

End Sub

Private Sub txtWindow_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdCCP(0).Enabled = IIf(txtWindow.SelLength > 0, True, False)
menuEditCPP(0).Enabled = IIf(txtWindow.SelLength > 0, True, False)

cmdCCP(1).Enabled = IIf(txtWindow.SelLength > 0, True, False)
menuEditCPP(1).Enabled = IIf(txtWindow.SelLength > 0, True, False)

cmdClear.Enabled = IIf(txtWindow.SelLength > 0, True, False)
End Sub

Sub menuFileSave_Click()

filesave.Filter = "Text Files (*.txt)|*.txt"
Dim Filename As String
Filename = fileopen.Filename

On Error GoTo SaveErr

If Filename = Filename Then
    ' and invoke the save procedure
    Open Filename For Output As #1
    Print #1, txtWindow.Text;
    Close #1
Else
    Call menuFileSaveAs_Click
   
SaveErr:
   
    On Error GoTo 0
   
End If
End Sub

Sub menuFileSaveAs_Click()

filesave.Filter = "Text Files (*.txt)|*.txt"
filesave.Flags = &H2

    Dim Filename As String

    On Error GoTo SaveAsErr
    ' display the Save As dialog
    filesave.ShowSave
    ' get the resulting filename
    Filename = filesave.Filename
   
    ' and invoke the save procedure
    Open Filename For Output As #1
    Print #1, txtWindow.Text;
    Close #1
   
    On Error GoTo 0
    Exit Sub

SaveAsErr:
   
    On Error GoTo 0
End Sub
Avatar billede mikker Nybegynder
29. januar 2004 - 17:57 #7
Den her er gal...

Sub menuFileSave_Click()

filesave.Filter = "Text Files (*.txt)|*.txt"
Dim Filename As String
Filename = fileopen.Filename

On Error GoTo SaveErr

If Filename = Filename Then    '<------------------ Den vil altid være sand
    ' and invoke the save procedure
    Open Filename For Output As #1
    Print #1, txtWindow.Text;
    Close #1
Else
    Call menuFileSaveAs_Click
   
SaveErr:

- Mikker
Avatar billede jih Nybegynder
03. februar 2004 - 11:37 #8
awww man.... jeg ku bare ik gennemskue det... takker... det skal så være filesave.Filename i stedet for ? (if Filename = filesave.Filename) eller..?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester