Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Wykonywanie złego kodu
fafek2



Typ: neutral
Postów: 35
Zarejestrowany: Sep 2002
Wykonywanie złego kodu

Piszę program, który w pliku konfiguracyjnym zapisuje jedną wartość ale bardzo ważną. Problem jest następujący. Choć błąd nie występuje program ładuje funkcje błędu. Sprawdzałem!!! Oto kod programu:
Jest dosyć skomplikowany

Sub ZaladujRaport()
On Error GoTo blad
'Deklaracja błędu

'Deklaracja pełnej obsługi
Dim fso As New FileSystemObject
Dim txtplik As File
Dim tekst As TextStream
Dim CoDalejRobic As String
'Sprawdzanie czy plik istnieje
If fso.FileExists("" & App.Path & "\konfiguracja.dat" = False Then
' Jednak nie
' Trzeba go utworzyć
fso.CreateTextFile "" & App.Path & "\konfiguracja.dat", True
Set txtplik = fso.GetFile("" & App.Path & "\konfiguracja.dat"
Set tekst = txtplik.OpenAsTextStream(ForWriting)

'Uprzedzenie programu aby  zaproponował uruchomienie konfiguracji
tekst.WriteLine "Plik nie istniał. Zaproponuj uruchomienie konfiguracji."
'Czytanie w tej funkcji nie będzie już potrzebne
tekst.Close
End If
If fso.FileExists("" & App.Path & "\konfiguracja.dat" = True Then
'To samo co na górze
automatyczna = ""
Set txtplik = fso.GetFile("" & App.Path & "\konfiguracja.dat"
Set tekst = txtplik.OpenAsTextStream(ForReading)
automatyczna = tekst.ReadLine
tekst.Close
End If
Select Case automatyczna
Case "Plik nie istniał. Zaproponuj uruchomienie konfiguracji."
    CoDalejRobic = "Zaproponuj konfigurację"
Case automatyczna = "[Generalne]"
    CoDalejRobic = "Ładować!!!"
Case Else
    CoDalejRobic = "Błąd pliku konfiguracyjnego"
End Select
Select Case CoDalejRobic
Case "Zaproponuj konfigurację"
    bytwybór = MsgBox("Program nie jest skonfigurowany. Czy chcesz to zrobić teraz?", vbQuestion + vbYesNo, "Konfiguracja"
    If bytwybór = vbYes Then
    frmkonfiguracja.Show
    End If
Case CoDalejRobić = "Ładować!!!"
    automatyczna = ""
        Set txtplik = fso.GetFile("" & App.Path & "\konfiguracja.dat"
        Set tekst = txtplik.OpenAsTextStream(ForReading)
        tekst.ReadLine
        tekst.ReadLine
        automatyczna = tekst.ReadLine
        If Not IsNumeric(automatyczna) Then
        GoTo blad
        End If
Case "Błąd pliku konfiguracyjnego"
GoTo blad
End Select
Exit Sub
blad:
On Error Resume Next
tekst.Close
Unload txtfile
On Error GoTo zaawansowanyblad
fso.DeleteFile ("" & App.Path & "\konfiguracja.dat"
Exit Sub
zaawansowanyblad:
MsgBox "Programowi nie udało się naprawić pliku :-(((. Spróbuj ręcznie usunąć plik 'konfiguracja.dat' z katalogu: " & App.Path & ". Po usunięciu pliku uruchom program ponownie.", vbCritical, "Zaawansowany Błąd"
End
End Sub

Aha! Te buźki to nawiasy! Nie wiem dlaczego to forum jest tak zmieniło

25-10-2002 22:24
Pokaż profil fafek2  Wyślij email do fafek2        3850864
Wszystkich odpowiedzi: 0 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1