/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Checkbox i VB 6.0
Fra : Thomas Julø


Dato : 19-05-01 15:32

Hejsa

Jeg sidder her og arbejder på et lille projekt, hvor jeg skal bygge en lille
og simpel database.

Oplysningerne der tastes ind i en VB-formular gemmes i en textfil. En af
oplysningerne kommer fra en checkbox. Det der så driller er at hver gang at
jeg skal hente en oplysning ind, hvor der er mærket af i checkboxen dør mit
program med beskeden:
runtime error '380'
Invalid proberty value

Hvad dælen er det der driller.

Når jeg kígger i txt-filen kan jeg heller ikke at den gemmer et nul eller en
eller true/false som jeg mener den burde.

Hilsen

Thomas





 
 
Thomas Julø (19-05-2001)
Kommentar
Fra : Thomas Julø


Dato : 19-05-01 15:43

Koden jeg har brugt følger her:

Dim Nr As Integer
Dim Medlem As Ops

Private Sub cmdAfslut_Click()
' Afslutter programmet
End
End Sub

Private Sub cmdBeregn_Click()

Dim Skyld As Integer
Dim Resultat As Currency
Resultat = 0

Open "c:\vb filer\medlem.txt" For Random Access Read As #1 Len = Len(Medlem)
For Nr = 1 To LOF(1) / Len(Medlem)
Get #1, Nr, Medlem
If Medlem.Betalt = 0 Then
Skyld = Medlem.Kontingent
Resultat = Resultat + Skyld
Next
Else


Next
End If

End Sub

Private Sub cmdGem_Click()
' Tilføjer et medlem

Nr = Val(txtNr.Text)

Medlem.Navne = txtNavne.Text
Medlem.Gade = txtGade.Text
Medlem.Postnr = txtPostnr.Text
Medlem.By = txtBy.Text
Medlem.Fødeår = txtFødeår.Text
Medlem.Distrikt = txtDistrikt.Text
Medlem.Medlemstype = txttype.Text
Medlem.Kontingent = ComboKontingent.Text
Medlem.Betalt = chkBetalt.Value
Medlem.Løb = txtLøb.Text
Medlem.Længde = txtLængde.Text
Medlem.Højde = txthøjde.Text
Medlem.Spyd = txtSpyd.Text

Open "C:\vb filer\medlem.txt" For Random Access Write As #1 Len =
Len(Medlem)
Put #1, Nr, Medlem
Close

Call Rensfelter

End Sub

Private Sub cmdHent_Click()
If txtNr.Text = "" Then
MsgBox "Du skal indtaste et nr", vbCritical, "Fjols"
txtNr.SetFocus
Else
Nr = Val(txtNr.Text)

Open "c:\vb filer\medlem.txt" For Random Access Read As #1 Len =
Len(Medlem)
Get #1, Nr, Medlem
Close

txtNavne.Text = Medlem.Navne
txtGade.Text = Medlem.Gade
txtPostnr.Text = Medlem.Postnr
txtBy.Text = Medlem.By
txtFødeår.Text = Medlem.Fødeår
txtDistrikt.Text = Medlem.Distrikt
txttype.Text = Medlem.Medlemstype
ComboKontingent.Text = Medlem.Kontingent
chkBetalt.Value = Medlem.Betalt
txtLøb.Text = Medlem.Løb
txtLængde.Text = Medlem.Længde
txthøjde.Text = Medlem.Højde
txtSpyd.Text = Medlem.Spyd
End If
End Sub

Private Sub cmdSlet_Click()

Call Rensfelter


End Sub



Private Sub Rensfelter()
Dim felt As Control

For Each felt In frmMedlem.Controls
If TypeOf felt Is TextBox Then felt.Text = ""
Next

ComboKontingent.Text = "(Ingen)"
chkBetalt = 0
txtNr.SetFocus
End Sub
------
Option Explicit

Public Type Ops

Navne As String * 40
Gade As String * 30
Postnr As String * 4
By As String * 20
Fødeår As String * 4
Distrikt As String * 8
Medlemstype As String * 1
Kontingent As Currency
Betalt As Boolean
Løb As String * 3
Længde As String * 3
Højde As String * 3
Spyd As String * 3

End Type


"Thomas Julø" <tkj@image.dk> skrev i en meddelelse
news:9e60jn$f5s$1@news.inet.tele.dk...
> Hejsa
>
> Jeg sidder her og arbejder på et lille projekt, hvor jeg skal bygge en
lille
> og simpel database.
>
> Oplysningerne der tastes ind i en VB-formular gemmes i en textfil. En af
> oplysningerne kommer fra en checkbox. Det der så driller er at hver gang
at
> jeg skal hente en oplysning ind, hvor der er mærket af i checkboxen dør
mit
> program med beskeden:
> runtime error '380'
> Invalid proberty value
>
> Hvad dælen er det der driller.
>
> Når jeg kígger i txt-filen kan jeg heller ikke at den gemmer et nul eller
en
> eller true/false som jeg mener den burde.
>
> Hilsen
>
> Thomas
>
>
>
>



Tomas Christiansen (19-05-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 19-05-01 23:18

Thomas Julø skrev:
> Det der så driller er at hver gang at jeg skal hente en oplysning ind,
> hvor der er mærket af i checkboxen dør mit program med beskeden:
> runtime error '380'
> Invalid proberty value

Når sådan noget sker, er det altid en god idé at single-steppe sig igennem
programmet.
Start programmet som altid med Ctrl-F5 (ikke blot F5), gem evt. filen eller
gør noget andet (efter behov).
Tryk så Ctrk-Break for at stoppe programmet og derefter på F8 for at starte
det igen i "step into" tilstand.
Tryk på cmdHent og tryk F8 for hver linie, som udføres.

Du vil på et tidspunkt komme frem til følgende linie, hvor fejlen "380 -
Invalid property value" optræder:

chkBetalt.Value = Medlem.Betalt

Okay: Værdien i Medlem.Betalt er ikke én som er kompatibel med
chkBetalt.Value.
Lad os nu se...
Value egenskaben på en checkbox er et tal 0, 1 eller 2, og du har defineret
Medled.Betalt som værende en Boolsk værdi:

Betalt As Boolean

Nu ved jeg så tilfældigvis at VB bruger værdien 0 til at gemme værdien
falsk, og værdien -1 til at gemme værdien sand.

Værdien -1 er ikke en af værdiene 0, 1 eller 2, og dette er forklaringen på
hvorfor det går galt!

-------
Tomas



Thomas Julø (20-05-2001)
Kommentar
Fra : Thomas Julø


Dato : 20-05-01 09:20

Tak for det.

Variablen er nu erklæret til byte og nu kører det.

Fortsat god weekend

Thomas Julø
"Tomas Christiansen" <toc@blikroer.removethis.dk> skrev i en meddelelse
news:biCN6.330$qE1.6991@news.get2net.dk...
> Thomas Julø skrev:
> > Det der så driller er at hver gang at jeg skal hente en oplysning ind,
> > hvor der er mærket af i checkboxen dør mit program med beskeden:
> > runtime error '380'
> > Invalid proberty value
>
> Når sådan noget sker, er det altid en god idé at single-steppe sig igennem
> programmet.
> Start programmet som altid med Ctrl-F5 (ikke blot F5), gem evt. filen
eller
> gør noget andet (efter behov).
> Tryk så Ctrk-Break for at stoppe programmet og derefter på F8 for at
starte
> det igen i "step into" tilstand.
> Tryk på cmdHent og tryk F8 for hver linie, som udføres.
>
> Du vil på et tidspunkt komme frem til følgende linie, hvor fejlen "380 -
> Invalid property value" optræder:
>
> chkBetalt.Value = Medlem.Betalt
>
> Okay: Værdien i Medlem.Betalt er ikke én som er kompatibel med
> chkBetalt.Value.
> Lad os nu se...
> Value egenskaben på en checkbox er et tal 0, 1 eller 2, og du har
defineret
> Medled.Betalt som værende en Boolsk værdi:
>
> Betalt As Boolean
>
> Nu ved jeg så tilfældigvis at VB bruger værdien 0 til at gemme værdien
> falsk, og værdien -1 til at gemme værdien sand.
>
> Værdien -1 er ikke en af værdiene 0, 1 eller 2, og dette er forklaringen

> hvorfor det går galt!
>
> -------
> Tomas
>
>



Tomas Christiansen (20-05-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 20-05-01 21:53

Thomas Julø skrev:
> Fortsat god weekend

I lige måde.

....og du studsede ikker over:
> > Start programmet som altid med Ctrl-F5 (ikke blot F5)

-------
Tomas



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste