Avatar billede exp-ralle Nybegynder
31. marts 2003 - 15:16 Der er 11 kommentarer og
2 løsninger

Problemer...!

Harj...

Soreno har i dette spørgsmål fundet nogle fejl i mit program som jeg mangler hjælp til at rette:

http://www.eksperten.dk/spm/335232

Koden og det hele kan downloades her:

www.rasmuslarsen.com/Bankbog.zip

Håber i kan ghælpe...
Avatar billede exp-ralle Nybegynder
31. marts 2003 - 15:32 #1
Slet ingen der kan hjælpe???
Avatar billede ocp Nybegynder
31. marts 2003 - 15:33 #2
Du mangler såmænd bare et "end" i form_unload, da programmet bliver ved med at have indtil (afhængigt af om man har hævet ellr indsat penge) 2 forms åbne selv om du lukker hovedformen:

Private Sub Form_Unload(Cancel As Integer)
Call SaveSetting("Bankbog", "1.0", "Penge", CStr(Saldo))
End
End Sub
Avatar billede ocp Nybegynder
31. marts 2003 - 15:33 #3
PS: End afslutter hele programmet.
Avatar billede ocp Nybegynder
31. marts 2003 - 15:34 #4
PPS: Hvis det skal laves HELT rigtigt skal du lave indrykninger for forskellige "niveauer" i programmet. Eks:

Private Sub Form_Unload(Cancel As Integer)
  Call SaveSetting("Bankbog", "1.0", "Penge", CStr(Saldo))
  End
End Sub
 
...Det giver et meget bedre overblik.
Avatar billede sjh Nybegynder
31. marts 2003 - 15:54 #5
End er ikke godt at bruge hvis andre formler skal gemme noget først. Brug Unload Me i stedet for Me.Hide

Private Sub cmdOK_Click()
'Kode......
'Kode......
  Unload Me
End Sub


eller brug For Each frmName... for at lukke alle vinduer.

Private Sub Form_Unload(Cancel As Integer)
Dim frmName As Form
Call SaveSetting("Bankbog", "1.0", "Penge", CStr(Saldo))
  For Each frmName In Forms
    Unload frmName
  Next
End Sub
Avatar billede sjh Nybegynder
31. marts 2003 - 16:13 #6
Lav en funktion som tjekker om der står tal i boksen.


'--- Module1 ---
Public Function TjekTal(ByVal vTekst As Variant) As Boolean
Dim i As Integer
  TjekTal = True
  For i = 1 To Len(vTekst)
    If Not IsNumeric(Mid(vTekst, i, 1)) Then
      TjekTal = False
      Exit For
    End If
  Next i
End Function
'--- Module1 ---


Private Sub cmdOK_Click()
  'If Not TjekTal(txtHaevet.Text) Then

  If Not TjekTal(txtIndsat.Text) Then
    MsgBox "Tekst boksen må kun indeholde hele tal."
    Exit Sub
  End If
'Kode......
'Kode......
End Sub
Avatar billede sjh Nybegynder
31. marts 2003 - 16:21 #7
Hvis du åbner dine vinduer med ".Show 1, Me" så skal brugeren lukke det vindue før han/hun kan komme vider.


Haev.Show 1, Me

Indsaet.Show 1, Me
Avatar billede exp-ralle Nybegynder
31. marts 2003 - 16:56 #8
Mange tak...

men løser noget af det her (er det det med Unload?) det med at den ligger sig i Joblisten efter programmet er lukket...?
Avatar billede exp-ralle Nybegynder
31. marts 2003 - 16:58 #9
Hvad synes i forresten og brugerfladen?
Avatar billede sjh Nybegynder
31. marts 2003 - 17:06 #10
Den er da ok :-)
Avatar billede exp-ralle Nybegynder
31. marts 2003 - 17:43 #11
Takker... :D

Er alle de problemer som soreno fandt så løst?
Avatar billede ocp Nybegynder
31. marts 2003 - 22:21 #12
Begge metoder løser lige præcis det problem med joblisten. Effekten var jo netop at programmet aldrig blev lukket (rigtigt).
Avatar billede exp-ralle Nybegynder
01. april 2003 - 14:24 #13
Ok...

Man tak begge 2!
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