20. januar 2004 - 18:51Der 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?
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...
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
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
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)
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
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
awww man.... jeg ku bare ik gennemskue det... takker... det skal så være filesave.Filename i stedet for ? (if Filename = filesave.Filename) eller..?
Synes godt om
Ny brugerNybegynder
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.