probleempje met het herhalen van 1 actie voor elke zin

Status
Niet open voor verdere reacties.

KDJ

Nieuwe gebruiker
Lid geworden
6 aug 2012
Berichten
2
Hallo,

Ik wil een text file uitlezen regel voor regel en dan de regels splitten in woorden.
vervolgens heb ik 4 woorden nodig uit elke zin van regel 2 tot regel ..(einde file)

zo ziet de inhoud van het txt bestand eruit :
txt bestand als bijlage toegevoegd

Bekijk bijlage 2.txt

Offerte Positie Product Ref. Product Besteld Aantal platen Formaat Productie stap Ant. samenstelling Aantal Product prijs Prijs Prijs aanpassen Materiaal Materiaal type Dikte Oppervlak Gewicht Omtrek Machine Snijden Date L. B. Omschrijving Geschatte Bewerkingstijd Totale tijd Te snijden Marge Bruto% Marge Netto% Commentaar Prijs/Kg Gewicht Netto Marge Bruto() Marge Netto() Totale inkoop() Totale inkoop(Kg) Afval
2 1 test1 1 0 1 2000 X 1000 1 1 507.71 507.71 RVS 304 6 0.006 0.292 746 BY4020BYSTAR_ISO 27-7-2012 14:51:08 100 100 00:00:38 02:05:43 0 25.2% 22.8% Vierkant 1725.62 94.2 127.08 114.87 376.8 94.2 100%
2 2 test2 1 0 1 3000 X 1500 1 1 18.94 18.94 STAAL 42MnV12 0.5 0.000 0.001 39 BY4020BYSTAR_ISO 27-7-2012 14:51:08 8 9 00:01:08 02:06:13 0 99.5% 13.1% Rechthoek 15110.00 0.162 15.03 1.98 0.08 0.2 99%
als output bestand maak ik hiervan een CSV bestand deze moet er zo uit gaan zien :

Artikelcode;Omschrijving;Aantal;VerkoopPrijs;
test1;Vierkant;9;19.25;
test1;Rechthoek;9;19.25;

Ik heb het zover gekregen om alleen 1 regel te veranderen zoals ik deze in de CSV file hebben wil
vast uitgegeven

Artikelcode;Omschrijving;Aantal;VerkoopPrijs;
test1;Vierkant;9;19.25; (deze wordt door de reader function gelezen en zo geplaatst)

maar nu wil ik dat mijn programma ook meerdere regels aanpast en plaatst
aantal regels kan vrijblijvend veranderen.


Code:
 Public Function readlines(ByVal File As String) As String
        readlines = Nothing

        Dim objStreamReader As StreamReader
        Dim strLine As String = Nothing



        objStreamReader = New StreamReader(File)

        Do Until objStreamReader.EndOfStream


            strLine = objStreamReader.ReadLine()
            strLine = strLine.ToString

        Loop
        Return strLine
        objStreamReader.Close()
 End Function


'Dit staat onder button1
        For Each File As String In fdlg.FileName

            Dim word() = readlines(File).Split(vbTab)
            '' Dim word() = Split(readlines(File), vbTab)
            word(0) = word(0).Replace("		", vbTab)

            ListBox1.Items.Add(word(2) & ";" & word(31) & ";" & word(16) & ";" & word(12) & ";")

        Next

bedankt,
Met vriendelijke groeten,
Kevin
 
Hoi,

Allereerst: Welkom op helpmij! :thumb::)


Daarna, de code:
[CPP]Dim Stream As New IO.FileStream("PATH", IO.FileMode.Open, IO.FileAccess.Read)
Dim Reader As New IO.StreamReader(Stream)

Dim Line As String = Nothing
Dim SplitLine() As String = Nothing
While Not Reader.EndOfStream
Line = Reader.ReadLine
SplitLine = Line.Split(vbTab)

ListBox1.Items.Add(SplitLine(2) & ";" & SplitLine(31) & ";" & SplitLine(16) & ";" & SplitLine(12) & ";")
End While

Reader.Close()
Stream.Close()[/CPP]

Zou moeten werken.

MartinJM

[edit]
De fout die je maakt zit hem erin dat je in de bovenste sub eerst alle lijntjes uitleest, maar er vervolgens maar 1 terugstuurt naar de onderste sub....
[/edit]
 
Laatst bewerkt:
Bedankt!

Beste MartinJM,

Hardstikke bedankt het werkt perfect,
:thumb:

En zie gelijk waar ik de fout in ging, en bedankt voor mijn welkom op helpmij.nl :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan