Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Lezen van txt-file met VB  (gelezen 2492 keer)

0 leden en 1 gast bekijken dit topic.

guido1

  • Gast
Lezen van txt-file met VB
« Gepost op: 08 augustus 2003, 23:35:01 »
Hoi,

Ik wil een txt-file die door een ander programma aangemaakt wordt gebruiken als input. Ik doe dat als volgt:

Dim MyRecord   As String           ' record v/d file
Open Myfile For Input As #FN1  ' openen v/d file
          Input #FN1, MyRecord     ' lezen van het record

En dan de verdere verwerking van elk record. Dit gaat goed behalve bij die paar records waar een komma in voorkomt. Die records worden in twee keer binnen gelezen. Hoe los ik dit op?

Bedankt op voorhand.
Guido

guido1

  • Gast
Re:Lezen van txt-file met VB
« Reactie #1 Gepost op: 13 augustus 2003, 22:18:44 »
Zóó véél reakties had ik nu ook weer niet verwacht!!

Guido

NB: Met één goeie tip ben ik al blij hoor.

Offline Woy

  • Nieuw lid
  • Berichten: 4
Re:Lezen van txt-file met VB
« Reactie #2 Gepost op: 14 augustus 2003, 14:49:09 »
Ik ben zelf niet bekend met VB. Maar waarschijnlijk gaat het mis op de Input methode die je aanroept. Je moet hier denk even de specificaties van opzoeken. Waarschijnlijk split deze de stream die je uit de files inleest op in verschillend strings. Hij splitst waarschijnlijk op een paar standaard waarden. Deze waarden zijn waarschijnlijk de CR, LF en blijkbaar ook de ','. Waarschijnlijk kan je ook nog wel een parameter meegeven waarop hij moet splitsen.
SYSTEEM: Win XP Proffesional - AMD Athlon 2000+ - 512 MB DDR 2700 - Geforce 4 TI 4600 - 120 GB serial ata, 80 GB, 60 GB ( allemaal Maxtor ) - Philips DVD brander - Lite-on 16 * cd brander - Logitech Cordless Optical Desktop

Offline Woy

  • Nieuw lid
  • Berichten: 4
Re:Lezen van txt-file met VB
« Reactie #3 Gepost op: 14 augustus 2003, 15:07:13 »
Ik heb even wat op de MSDN gekeken en mischien kan je het beter met InputString doen

dus iets van zo
Dim TextInFile as String
TextInFile = InputString( #FN, LOF( #FN ) )
en dan met de Split function opsplitsen in meerder records
Split(TextInFile, vbCrLf)

Het kan dat het niet helemaal klopt qua code. Maar zover ik in de MSDN kan zien split Input namelijk bij het meegeven van een string namelijk inderdaad op vbCrLF en op de komma
SYSTEEM: Win XP Proffesional - AMD Athlon 2000+ - 512 MB DDR 2700 - Geforce 4 TI 4600 - 120 GB serial ata, 80 GB, 60 GB ( allemaal Maxtor ) - Philips DVD brander - Lite-on 16 * cd brander - Logitech Cordless Optical Desktop

guido1

  • Gast
Re:Lezen van txt-file met VB
« Reactie #4 Gepost op: 14 augustus 2003, 17:04:31 »
Hoi Woy,

Bedankt voor je reaktie en welkom in de club,
Alhoewel InputString en Split niet in VB5 bekent zijn heb je mij wel op enkele ideetjes gebracht. Ik ga dat eens uitproberen en hopelijk kom ik er wel uit.
Bedankt,
Guido

Offline Woy

  • Nieuw lid
  • Berichten: 4
Re:Lezen van txt-file met VB
« Reactie #5 Gepost op: 14 augustus 2003, 20:05:02 »
Ik ben inderdaad ook niet bekend met VB. Zelf programmeer ik in andere talen zoals C#, Java en C/C++ vandaar dat ik je ook niet zo heel goed kan helpen.

Ik had die functie in de MSDN gevonden. Daar vondt ik dus ook dat hij split op komma's.
Ik heb nog even gekeken. Als je tot de volgende komma of tot de carriage return wil lezen moet je Input gebruiken. Als perse de complete regel wilt lezen moet je gebruik maken van

Line Input #F, stringname

dit zou je probleem op moeten lossen.

Is het trouwens mischien niet slim om over te stappen op VB6? VB5 is ondertussen wel heel erg outdated. ( Nou ben ik zelf zowiezo niet echt een voorstander van VB maar dat terzijde )
SYSTEEM: Win XP Proffesional - AMD Athlon 2000+ - 512 MB DDR 2700 - Geforce 4 TI 4600 - 120 GB serial ata, 80 GB, 60 GB ( allemaal Maxtor ) - Philips DVD brander - Lite-on 16 * cd brander - Logitech Cordless Optical Desktop

guido1

  • Gast
Re:Lezen van txt-file met VB
« Reactie #6 Gepost op: 14 augustus 2003, 21:15:54 »
Hoi Woy,

Bedankt voor je reaktie en het gebruik van Line Input is inderdaad de oplossing. Ik heb altijd gedacht dat Line Input en Input identiek het zelfde was. Een grote vergissing stel ik nu vast.

Ik heb altijd op mainframe geprogrameerd, in Cobol, en die manier van werken is wel totaal anders in vergelijking met werken op een pc. Vandaar mijn problemen met het gebruik van Basic. En van die andere talen, ben al dikwijls willen beginnen maar nog nooit er mee gestart.

Over VB6 heb je natuurlijk overschot van gelijk maar heb je al eens gekeken naar de prijs van zo'n packet?

Bedankt voor de hulp.
Guido

Offline kevin

  • Oplosser
  • ****
  • Berichten: 545
  • while(sleep) sheep++
Re:Lezen van txt-file met VB
« Reactie #7 Gepost op: 24 oktober 2003, 18:27:39 »
Ik heb in vb iets gelijkaardig geschreven, je moet wat aanpassingenmaken, maardat zal wel lukken als je er een beetje mee bezig bent


mvg kevin

zie bijlage
windows XP & Linux - AMD 2000 - 512 MB Ram - geforce 4 TI - IE6 - Opera7

guido1

  • Gast
Re:Lezen van txt-file met VB
« Reactie #8 Gepost op: 24 oktober 2003, 19:06:45 »
Hoi kevin,

Het probleem dat ik had is ondertussen wel al opgelost.
Ik ga jou maniet van werken eens nader bezien. Bij problemen (die zullen er zeker wel zijn) hoor je nog wel van mij.

Bedankt voor je reaktie.
Guido

 


www.combell.com