Avatar billede flashit Nybegynder
22. juli 2003 - 15:41 Der er 11 kommentarer og
1 løsning

find valgte section?

Hej E.

Jeg har følgende kode:

Private Sub UserForm_Activate()
Dim test As String
Dim result
Dim strAdr As String
Dim i As Integer
   
CmbFirmanavn.Clear
    i = 1
    strAdr = IniReadPvt("section" & i, "FIRMANAVN", "c:\temp\address.ini")
        Do While strAdr <> ""
        CmbFirmanavn.AddItem strAdr
    i = i + 1
        strAdr = IniReadPvt("section" & i, "FIRMANAVN", "c:\temp\address.ini")
    Loop
    If strAdr <> "" Then
        CmbFirmanavn.AddItem strAdr
    End If
 
End Sub

Dette virker helt fint.
Jeg har derved en combobox som indeholder en masse firmanavne.
Når man så vælger et af firmanavnene, skal man få udtrukket resten af værdierne i ini filen.

Mit problem er så at jeg ikke ved hvordan men kan finde ud af hvilken section som man lige har valgt.

Min ini:

[section1]
FIRMANAVN=firma1

Firmaadresse1=vej1
Firmaby=3400 by

Firmaadresse2= vej2
Firmaby=2930 by

[section2]
FIRMANAVN=firma2

Firmaadresse1=vej4
Firmaby=3400 by

Firmaadresse2= vej5
Firmaby=2930 by
Avatar billede fgsupermand Nybegynder
22. juli 2003 - 16:56 #1
er det det her du mener ??

test = CmbFirmanavn.List(CmbFirmanavn.ListIndex)
Avatar billede flashit Nybegynder
22. juli 2003 - 17:51 #2
Ikke helt.

Når jeg vælger firma1, vil jeg gerne have fat i resultatet [section1], da firma er i denne selection
Avatar billede mikker Nybegynder
22. juli 2003 - 17:52 #3
http://www.eksperten.dk/spm/4073

Beskriver det du gerne vil.

Ellers giv mig din IniReadPvt Function og jeg skal se hvad jeg kan gøre :o)

- Mikker
Avatar billede flashit Nybegynder
22. juli 2003 - 17:56 #4
Her er inireadpvt:

Public Function IniReadPvt(strSection As String, strKey As String, strFilename As String, Optional strDefault As String) As String
  Dim strResult As String
  Dim strLocalDefault As String
  Dim Pos0 As Integer
   
  strResult = Space(255)
  If Len(strDefault) = 0 Then
    strLocalDefault = "*0*"
  Else
    strLocalDefault = strDefault
  End If
  strresult2 = GetPrivateProfileString(strSection, strKey, strLocalDefault, strResult, Len(strResult), strFilename)
  strResult = RTrim(strResult)
  Pos0 = Len(strResult)
  strResult = Left(strResult, Pos0 - 1)
  If strLocalDefault = strResult Or strResult = "*0*" Then
    IniReadPvt = strDefault
  Else
    IniReadPvt = strResult
  End If
End Function
Avatar billede mikker Nybegynder
22. juli 2003 - 18:21 #5
Imens kan du kigge på den her:

http://www.vbaccelerator.com/codelib/inireg/inifile.htm

- Mikker
Avatar billede mikker Nybegynder
22. juli 2003 - 19:53 #6
Måske lidt rodet, men det virker da :o)
Jeg har bare comboboxen og en textbox

Public Function IniReadPvt(strSection As String, strKey As String, strFilename As String, Optional strDefault As String) As String
  Dim strResult As String
  Dim strLocalDefault As String
  Dim Pos0 As Integer
   
  strResult = Space(255)
  If Len(strDefault) = 0 Then
    strLocalDefault = "*0*"
  Else
    strLocalDefault = strDefault
  End If
  strresult2 = GetPrivateProfileString(strSection, strKey, strLocalDefault, strResult, Len(strResult), strFilename)
  strResult = RTrim(strResult)
  Pos0 = Len(strResult)
  strResult = Left(strResult, Pos0 - 1)
  If strLocalDefault = strResult Or strResult = "*0*" Then
    IniReadPvt = strDefault
  Else
    IniReadPvt = strResult
  End If
End Function

Private Sub CmbFirmanavn_Change()
Text1.Text = CmbFirmanavn.ListCount
End Sub

Private Sub CmbFirmanavn_Click()
Dim fstr, secstr
Dim stradr
findstr = CmbFirmanavn.Text
i = 0: stradr = "!"
Do While stradr <> ""
i = i + 1
secstr = Trim("section" & i)
stradr = IniReadPvt(Trim("section" & i), "FIRMANAVN", "c:\temp\address.ini")
If stradr = CmbFirmanavn.Text Then
Text1 = secstr
End If
Loop
If stradr <> "" Then
        CmbFirmanavn.AddItem stradr
End If
End Sub

Private Sub Form_Load()

Dim test As String
Dim result
Dim stradr As String
Dim i As Integer
   
CmbFirmanavn.Clear
    i = 1
    stradr = IniReadPvt("section" & i, "FIRMANAVN", "c:\temp\address.ini")
        Do While stradr <> ""
        CmbFirmanavn.AddItem stradr
    i = i + 1
        stradr = IniReadPvt("section" & i, "FIRMANAVN", "c:\temp\address.ini")
    Loop
    If stradr <> "" Then
        CmbFirmanavn.AddItem stradr
    End If
CmbFirmanavn.ListIndex = 0
End Sub


- Mikker
Avatar billede flashit Nybegynder
22. juli 2003 - 20:35 #7
Super. Tester det lige :-)
Avatar billede mikker Nybegynder
22. juli 2003 - 21:30 #8
Ovenstående forslag er kun brugbart sålænge der ikke er mere end 5 - 10 forskellige SECTIONS. Det er kun lavet for at give et umiddelbart løsningsforslag.

- Mikker
Avatar billede flashit Nybegynder
23. juli 2003 - 13:18 #9
Hej Miker.

Giver du ikke lige et svar, sp skal du få dine hårdt tjænte points.

Tak for hjælpen.
Avatar billede mikker Nybegynder
23. juli 2003 - 17:34 #10
Jamen så går jeg ud fra du har fået det til at virke.
Tak fordi du gav mig en opgave, jeg kunne lege lidt med :o)

- Mikker
Avatar billede flashit Nybegynder
23. juli 2003 - 19:46 #11
Det var da så lidt.
Hvis der er, kan jeg da sagtens finde på en masse andre opgaver :-)
Avatar billede mikker Nybegynder
23. juli 2003 - 20:59 #12
Du ved hvor d kan finde mig... Og alle de andre der gerne hjælper til... :o)

- Mikker
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging