Avatar billede saybot Nybegynder
22. april 2005 - 14:26 Der er 35 kommentarer

Combox data

Jeg skal lave bruge en combox hvor den så henter værdierne udfra og sætter ind et sted i mine kode. Jeg ved ikke hvordan man gør det... eller kan ihvertfald ikke huske det.

Det den skal hente fra combox'en er en simpel webadresse.

Den skal så sætte værdien ind her:
objXML.open "GET", "HER SKAL ADRESSE FRA COMBOBOX VÆRE", False

Håber der er nogen der lige kan hjælpe lidt her :)
Avatar billede saybot Nybegynder
22. april 2005 - 14:27 #1
en rettelse hehe... det hedder jo Combobox
Avatar billede tubber Juniormester
22. april 2005 - 14:45 #2
Den tekst der er markeret:
objXML.open "GET", Combo1.Text, False

Ud fra index (hvis det er f.eks. en skjult box og alle adresse har fast adresse):
objXML.open "GET", Combo1.Index(*), False 'stjernen er et tal for det index den har HUSK den starter med at tælle ved 0
Avatar billede saybot Nybegynder
22. april 2005 - 15:13 #3
jeg har et problem... værdien skal sætte ind i et modul jeg har..

Den siger bare Object required nu
Avatar billede tubber Juniormester
22. april 2005 - 15:30 #4
prøv at komme med noget mere kode
Avatar billede saybot Nybegynder
22. april 2005 - 15:59 #5
jeg har denne her på Main.frm

Private Sub Combo1_Change()
Combo1.AddItem "http://slashdot.org/slashdot.xml", 0
Combo1.AddItem "Med", 0
Combo1.AddItem "Hej", 0
End Sub

Så har jeg dette i mit module.cls
bjXML.open "GET", Combo1.Text, False
Avatar billede tubber Juniormester
22. april 2005 - 16:10 #6
så prøv med:

Formnavn.Comboboxnavn.Text

Main.Combo1.Text
Avatar billede saybot Nybegynder
22. april 2005 - 16:40 #7
underligt... nu siger den bare Invalid Procedure call or argument.

jeg en mistanke til at det er fordi combobox'en når programmet køres er tom og at man så selv skal vælge før den henter.
Avatar billede tubber Juniormester
22. april 2005 - 16:49 #8
Der kan du sætte den når programmet kørers....

Combo1.Text = combo1.index(0)
Avatar billede tubber Juniormester
22. april 2005 - 16:54 #9
og lige en ting hvad er ,0 ved de additem
Avatar billede saybot Nybegynder
22. april 2005 - 17:08 #10
hvad mener du?
Avatar billede saybot Nybegynder
22. april 2005 - 17:11 #11
den henter noget fra en .xml fil...

objXML.open "GET", frmMain.Combo1.Index(0) = frmMain.Combo1.Index(0), False

Jeg får denne her: Wrong number of arguments or invalid property assignment.

Jeg har på frmMain en combo1
Private Sub Combo1_Change()
Combo1.AddItem "http://binnews.com/export/xml.php?id=21", 0
Combo1.AddItem "", 1
Combo1.AddItem "", 2
End Sub
Avatar billede tubber Juniormester
22. april 2005 - 17:35 #12
objXML.open "GET", frmMain.Combo1.Index(0) = frmMain.Combo1.Index(0), False

Den linie bruger du til at hente noget fra en xml fil ?
Avatar billede saybot Nybegynder
22. april 2005 - 17:40 #13
nej... Jeg vil gerne hente det der står i min combobox og det er http://binnews.com/export/xml.php?id=21

rmMain.Combo1.Index(0) = frmMain.Combo1.Index(0) den trækker jo det ud fra combobox'en

Men den combobox ting kan jeg bare ikke få til at virke
Avatar billede saybot Nybegynder
22. april 2005 - 17:41 #14
kan du evt. lave et project hvor jeg kan se hvordan du gør det?
Avatar billede tubber Juniormester
22. april 2005 - 17:53 #15
Det bliver først senere i aften.....
Avatar billede saybot Nybegynder
22. april 2005 - 17:53 #16
okay... ville bare meget gerne have det til at virke :)
Avatar billede saybot Nybegynder
22. april 2005 - 22:37 #17
Det kan da ikke passe det er så svært bare at trække data fra en combobox og derefter spøtte det ud i mit modul
Avatar billede tubber Juniormester
22. april 2005 - 23:14 #18
Er det heller ikke.....

men jeg skal også ha tid til ting jo.......
Har lavet et lille projekt som jeg kan maile til dig hvis du smidder en mail adresse
Avatar billede saybot Nybegynder
22. april 2005 - 23:17 #19
okay... jeg sætter skam også meget pris på din hjælp :)

tobias[ved]saybot.dk
Avatar billede tubber Juniormester
22. april 2005 - 23:29 #20
og har også fundet en fejl i det jeg har skrevet :)

objXML.open "GET", frmMain.Combo1.List(0), False

Vil jeg mene men sender det lige til dig :)
Avatar billede saybot Nybegynder
22. april 2005 - 23:43 #21
det virker og jeg takker mange gange... god hjælp :)

Lige en ting til... Kan jeg feks. give en en værdi i en combobox et navn...
så eks. ting 2 på listen er lig med test.xml som værdi?
Avatar billede saybot Nybegynder
22. april 2005 - 23:49 #22
lige en ting til igen :)... (du skal nok få point og en god karma)

Hvis jeg vælger en anden ting fra comboboxen så skifter den ikke indholdet.
det er fordi den ikke har en Private Sub Combo1_Click()

her er koden... men hvordan sætter jeg combo1_click() ind så det virker?

Public Function RetieveArticles() As Boolean

On Error GoTo ERR_HANDLER

Dim objXML        As New MSXML.XMLHTTPRequest
Dim objDOM        As New MSXML.DOMDocument
Dim objNodeList  As MSXML.IXMLDOMNodeList
Dim objNode      As MSXML.IXMLDOMNode
Dim objRoot      As MSXML.IXMLDOMElement
Dim objTitleNode  As MSXML.IXMLDOMNode
Dim objUrlNode    As MSXML.IXMLDOMNode
Dim objTimeNode  As MSXML.IXMLDOMNode
Dim objAuthorNode As MSXML.IXMLDOMNode

Dim bRetVal      As Boolean

'Connect to Slashdot.org and retieve slashdot.xml
objXML.open "GET", frmMain.Combo1.List(0), False
objXML.setRequestHeader "pragma", "no-cache"
objXML.setRequestHeader "cache-control", "no-cache"
objXML.send

objDOM.async = False

bRetVal = objDOM.Load(objXML.responseXML)

'Make sure the document loaded
If bRetVal = True Then
    'Parse XML for data needed
    Set objRoot = objDOM.documentElement
    Set objNodeList = objRoot.selectNodes("item")
   
    'get the Article count for Count Property
    iCount = objNodeList.length
   
    'Iterate through NodeList
    For Each objNode In objNodeList
        Set objTitleNode = objNode.selectSingleNode("title")
        Set objUrlNode = objNode.selectSingleNode("link")
        Set objTimeNode = objNode.selectSingleNode("pubDate")
        Set objAuthorNode = objNode.selectSingleNode("description")
       
        'Add Article to Articles object
        objArticles.Add objTitleNode.Text, objAuthorNode.Text, objTimeNode.Text, objUrlNode.Text
    Next
   
    RetieveArticles = True
    GoTo CLEAN_UP
Else
    RetieveArticles = False
    GoTo CLEAN_UP
End If

ERR_HANDLER:
    Err.Raise Err.Number

CLEAN_UP:
    Set objXML = Nothing
    Set objDOM = Nothing
    Set objNodeList = Nothing
    Set objNode = Nothing
    Set objRoot = Nothing
    Set objTitleNode = Nothing
    Set objUrlNode = Nothing
    Set objTimeNode = Nothing
    Set objAuthorNode = Nothing
   
   
End Function
Avatar billede tubber Juniormester
23. april 2005 - 04:38 #23
Lige en ting til... Kan jeg feks. give en en værdi i en combobox et navn...
så eks. ting 2 på listen er lig med test.xml som værdi?

Der skal du lave en case eller en if der chekker det.....

Dim var1 as string
If Combo1.Text = bla1 or Combo1.Text = bla2 then
    var1 = test1.xml
Elseif Combo1.Text = bla3 or Combo1.Text = bla4 then
    var1 = test2.xml
Else:
    var1 = test3.xml
End if
Avatar billede tubber Juniormester
23. april 2005 - 04:43 #24
Hvis jeg vælger en anden ting fra comboboxen så skifter den ikke indholdet.
det er fordi den ikke har en Private Sub Combo1_Click()

her er koden... men hvordan sætter jeg combo1_click() ind så det virker?

Nej Combo1_Click() Udfører en handling hvis du klikker, hvis du f.eks. vil ha den valgte tekst chekket op mod f.eks. en db for at få flere værdier......

Jeg er ikke lige helt med på hvor det er du vil ha den skal skifte værdier ?
Jeg har lige i det program jeg har mailet til dig prøvet at skifte ved at bruge comboboxen og det virker fint nok.......

Det med en handling kan også være sådan her:

Combo1_Click()
MsgBox(Combo1.Text)
End Sub
Avatar billede saybot Nybegynder
23. april 2005 - 10:59 #25
det er for jeg har et program der henter data fra en .xml fil. Så kan man så vælge hvilket feed man vil se ved at vælge i comboboxen.
Avatar billede tubber Juniormester
23. april 2005 - 11:12 #26
Så skal den stå i din form kode, noget lignende det her:

Combo1_Click()
objXML.open "GET", Combo1.Text, False
End Sub
Avatar billede tubber Juniormester
23. april 2005 - 11:13 #27
eller med index, hvis der er 2 adressser der kan være ens.....

Combo1_Click()
objXML.open "GET", Combo1.List(Combo1.Index), False
End Sub
Avatar billede saybot Nybegynder
23. april 2005 - 11:27 #28
hvordan vil du sætte den ind... jeg får bare syntax error
Avatar billede tubber Juniormester
23. april 2005 - 11:33 #29
Dobbeltklikke på formen og sætte det ind, combo1 skal dog ændres til det navn du har givet den.....
Avatar billede tubber Juniormester
23. april 2005 - 11:34 #30
Private Sub Combo1_Click()

End Sub
Avatar billede saybot Nybegynder
23. april 2005 - 11:42 #31
ja det ved jeg... men selve objXML.open "GET" findes jo i mit module.
Avatar billede tubber Juniormester
23. april 2005 - 11:53 #32
Prøv sådan her så...........

Combo1_Click()
modulnavn.objXML.open "GET", Combo1.Text, False
End Sub
Avatar billede saybot Nybegynder
23. april 2005 - 12:03 #33
så får jeg object required
Avatar billede tubber Juniormester
23. april 2005 - 12:33 #34
Hvad hedder den function eller sub som

modulnavn.objXML.open "GET", Combo1.Text, False

ligger i ?
Avatar billede saybot Nybegynder
23. april 2005 - 12:42 #35
den hedder Public Function RetieveArticles() As Boolean
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