10. maj 2003 - 23:12Der er
14 kommentarer og 2 løsninger
ikke 2 på en gang!
lige nu er jeg igang med at lave et lille program hvor man kan reklamere. jeg har en label der hedder: reklamere og to knapper: tv anden knap: avis
når man trykker på tv skriver den i reklamere:Lige nu reklamere du i det locale avis
hvis man så trykker på avis igen skal den skriv at man ikke kan reklamere i 2 aviser.
og hvis man trykker på tv skal den skrive at du kun kan reklamere det ene sted. og det samme hvis du vælger tv kan du ikke vælge det 2 gange og du kan ikke vælge tv og avis.
hvis i forstår hvad jeg mener!
min kode ser sådan her ud: Private Sub tv_Click() reklamere.Caption = reklamere & "Lige nu reklamere du i det regionale tvét" End Sub
Private Sub avis_Click() reklamere.Caption = reklamere & "Lige nu reklamere du i den lokale avisen" End Sub
Private Sub reklamere_Click()
End Sub
________________________________________________________________________ jeg ved at man skal bruge en if then end if ting men jeg kan ikke finde ud af det! er der nogle der har tid til at hjælpe?
ok det er fordi at jeg har en lille funktion til og den trækker nogle tal fra. hele koden ser sådan her ud: Private Sub tv_Click() reklamere.Caption = "Lige nu reklamere du i det regionale tvét" kr.caption = kr-25000 End Sub
Private Sub avis_Click() reklamere.Caption = "Lige nu reklamere du i den lokale avisen" kr.caption = kr-10000 End Sub der er derfor at jeg mener at man skal bruge en if then ting!
Den nemmeste måde at gøre det på er at erklære nogle globale variable og så teste om de er noget
-- jeg kan ikke huske syntaksen i VB, men noget med
tv = false avis = false
i Globals, og så
Private Sub tv_Click() if not(tv or avis) then reklamere.Caption = "Lige nu reklamere du i det regionale tvét" kr.caption = kr-25000 tv = true else reklamere.Caption = "Du kan kun reklamere et sted!" End Sub
Private Sub avis_Click() if not(tv or avis) then reklamere.Caption = "Lige nu reklamere du i den lokale avisen" kr.caption = kr-10000 avis = true else reklamere.Caption = "Du kan kun reklamere et sted!" End Sub
De skal være til rådighed uden for de to subs, så de skal ikke knyttes til en bestemt knap, og derfor placeres under Globals, så de findes ligegyldig hvilken procedure, der skal bruge dem
nu har jeg prøvet men det virker stadigvæk ikke. min kode ser nu sådan her ud: Private Sub Form_Load() Dim tv As Boolean Dim avis As Boolean tv = False avis = False End Sub
Private Sub tv_Click() If Not (tv Or avis) Then reklamere.Caption = "Lige nu reklamere du i det regionale tvét" kr.Caption = kr - 25000 tv = True Else reklamere.Caption = "Du kan kun reklamere et sted!" End If End Sub
Private Sub avis_Click() If Not (tv Or avis) Then reklamere.Caption = "Lige nu reklamere du i den lokale avisen" kr.Caption = kr - 10000 avis = True Else reklamere.Caption = "Du kan kun reklamere et sted!" End If End Sub
Dim tv As Boolean Dim avis As Boolean tv = False avis = Fals
Skal være de 4 FØRSTE linier i din kode. Derefter kommer dine subs :O)
Private Sub Form_Load() Dim tv As Boolean Dim avis As Boolean tv = False avis = False End Sub Dimensionerer kun 'tv' og 'avis' i den sub der hedder form_load() og akn derfor ikke bruges andre steder uden videre.
Private Sub cmdavis_Click() If Not avis = 1 Then reklamere.Caption = "Lige nu reklamerer du i lokalavisen" avis = 1 Else MsgBox "Det kan du ikke" & vbCrLf & "mere end 1 gang" End If End Sub
Private Sub cmdtv_Click() If Not tv = 1 Then reklamere.Caption = "Lige nu reklamerer du i det regionale tv" tv = 1 Else MsgBox "Det kan du ikke" & vbCrLf & "mere end 1 gang" End If End Sub
Selvom denne løsning nok lever mere op til det spørgsmålet lægger op til. :o)
Option Explicit Dim tv, avis
Private Sub cmdavis_Click() If tv <> 1 And avis <> 1 Then reklamere.Caption = "Lige nu reklamerer du i lokalavisen" avis = 1 Else MsgBox "Du kan kun reklamere" & vbCrLf & "1 sted ad gangen" End If End Sub
Private Sub cmdtv_Click() If tv <> 1 And avis <> 1 Then reklamere.Caption = "Lige nu reklamerer du i det regionale tv" tv = 1 Else MsgBox "Du kan kun reklamere" & vbCrLf & "1 sted ad gangen" End If End Sub
Du skal nok lige kalde dine commandbuttons noget andet end 'avis' og 'tv' hvis du skal have noget af det til at virke. Hvert navn skal være unikt, derfor foreslås det alle steder fra at man finder en måde at navngive sine variabler og objekter.
'Dim tv, avis' er variabler og derfor kan du ikke have et objekt som en commandbutton der hedder hverken 'tv' eller 'avis'.
Som du kan se har jeg omdøbt dine commandbuttons så de hedder henholdsvis 'cmdtv' og 'cmdavis' cmd står for command. Int kunne så stå for integer så jeg burde nok have kaldt 'tv' og 'avis' for 'inttv' og 'intavis'
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.