Combobox en textbox vullen uit bestand

Status
Niet open voor verdere reacties.

Makkie 841024

Nieuwe gebruiker
Lid geworden
9 okt 2008
Berichten
2
Hallo allemaal,

Ik ben bezig met een programma waarmee een materiaal soort geselecteerd kan worden.
Ik ben al zover dat ik via een combobox uit een .dat bestand lees. in dit bestand staan de materialen onder elkaar met de werkstof nr.s van die materialen.:

Fe360
1.0037
ST.37 Blank
1.0115
......
....
..

Nu is de bedoeling dat in de combobox dus Fe360 komt te staan en daaronder in een textbox 1.0037.
Alleen is de bedoeling dat je de werkstof nrs niet kunt selecteren in de combobox.


Hier heb ik een stukje waarmee ik de tekst al kan selecteren in de combobox:

Sub list_material()
Dim Item As String
Dim fp As Integer

If Dir(App.Path + "\data\Materials.dat") <> "" Then
fp = FreeFile
Open App.Path + "\data\Materials.dat" For Input As fp 'open bestand

While Not EOF(fp)
Input #fp, Item
HfdForm.cbo_mat1(0).AddItem (Item)
Wend
Close fp
End If

End Sub

Kan iemand mij beetje verder helpen?
 
vb6 ? neem ik aan?

Je moet het 2e item iedere keer in een array lezen.

Code:
dim MyArray() As String

Sub list_material()
Dim Item As String
Dim fp As Integer
dim a As Integer

If Dir(App.Path + "\data\Materials.dat") <> "" Then
fp = FreeFile
Open App.Path + "\data\Materials.dat" For Input As fp 'open bestand

While Not EOF(fp) 
Input #fp, Item 
If a = 0 then 
HfdForm.cbo_mat1(0).AddItem (Item)
a = 1
else
ReDim Preserve MyArray(0 To UBound(MyArray) + 1) As String
MyArray(UBound(MyArray)) = Item
a = 0 
end if
Wend
Close fp 
End If
End Sub

dan bij je combobox_selectedindexchange event

Code:
textbox1.text = MyArray(HfdForm.cbo_mat1(0).selectedindex)

je readline code zal eerst 1 comboitem vullen , daarna het volgende item in de array stoppen.

MyArray(0) zal dus 1.0037 zijn.
en
MyArray(1) zal dus 1.0115 zijn.
 
oh, right, ik snap-m.

Pizara heeft een aardig opzetje gegeven, als je niet verder komt dan moet je dat maar even vertellen.

Wat ik zelf zou doen is het zowiezo eerst in een array zetten (desnoods een multi-dimentionale array) en, wat ook handig is, de stoffen op een andere manier opslaan (en dan splitten ofzo). Maar dit zijn allemaal optimalisaties, op de manier hierboven moet het ook goed lukken!


:thumb:
 
Bedankt voor de snelle reacties!

idd vb6.

Maar moet ik nou op de manier van Pizara elk materiaal en werkstof nr een nieuwe array aanmaken dat is eigenlijk niet de bedoeling. ik moet in het tekst bestandje gewoon materialen kunnen toevoegen zonder het script aan te passen.

maar kga vanaaf deze manier zeker even proberen en daarna gewoon verder ontwikkelen.
en andere manieren mogen ook natuurlijk gepost worden.

:thumb:
 
Nee , in vb6 moet je arrays in aantallen weergeven, dus MyArray(10) betekend dat je 11 posities hebt waar je text in kan zetten.

Het enige wat de code doet, is kijken hoe groot de huidige array is en daar 1 bij optellen. om een nieuw item toe te voegen.

Je kan oneindig veel stoffen in je txt invoeren. die zet ie automatisch allemaal achter elkaar in de array.

Het beste kan je inderdaad alle regels in lezen in je array. Dat is makkelijker om mee te werken (even zijn dan je materialen en oneven nummers zijn je stof nummers). Maar ik wilde laten zien dat het met een kleine aanpassing ook mogelijk was.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan