Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


2 filer till 1

Postades av 2002-02-01 09:57:33 - Håkan Nilsson, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 467 personer

Hej,

Mitt case är:
Jag läser från 2 olika filer med samma struktur och skall skriva till en 3:e
Så här ser filerna ut:

1 Namn
2 co
3 Adress
4 Posnr
5 Telnr
1 Namn
2 co
3 Adress
4 Posnr
5 Telnr

Posterna innehåller/startar alltid rad1. Det är inte alltid 2-5 förekommer.
Nu vill jag läsa en post från Fil1 skriva till utfil, sedan läsa en post från fil2 skriva till samma utfil tills filerna är slut.

Nu är jag redan tunnhårig...så jag kan inte slita så mycket mer. Finns det någon som har något tips?

/hani


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 10:43:22 - Jens Kangosjärvi

Förstår inte riktigt vad du menar, men koden nedanför läser in 5 rader från fil1 och 5 rader från fil2 tills filerna nått slutet
<code>
Dim fso As New Scripting.FileSystemObject
Dim oUtStream As Scripting.TextStream
Dim oReadStream1 As Scripting.TextStream
Dim oReadStream2 As Scripting.TextStream
Dim i As Integer
Dim bEof1 As Boolean
Dim bEof2 As Boolean

Set oUtStream = fso.OpenTextFile("C:/Utfil.txt", ForWriting, True)
Set oReadStream1 = fso.OpenTextFile("C:/Infil1.txt", ForReading)
Set oReadStream2 = fso.OpenTextFile("C:/Infil2.txt", ForReading)

Do Until oReadStream1.AtEndOfStream And oReadStream2.AtEndOfStream
If Not oReadStream1.AtEndOfStream Then
For i = 1 To 5
oUtStream.WriteLine oReadStream1.ReadLine
If oReadStream1.AtEndOfStream Then Exit For
Next
End If
If Not oReadStream2.AtEndOfStream Then
For i = 1 To 5
oUtStream.WriteLine oReadStream2.ReadLine
If oReadStream2.AtEndOfStream Then Exit For
Next
End If


Loop


oReadStream1.Close
oReadStream2.Close
oUtStream.Close
Set fso = Nothing
</code>


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 11:31:38 - Emma Magnusson

Och om du kan ha ett antal olika filer och inte vet hur många
kan du skapa referens till katalogen och sedan loopa igenom alla
objekt i den och läsa de som uppfyller dina krav (tex namngivna på ett
visst sätt).

/Emma


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 11:40:41 - Johan Bovin

om du vill läsa alla filer i en folder kan du loopa igenom dem så hä:

Dim fso As New Scripting.FileSystemObject
Dim tmpFile As Scripting.file
Dim tmpfld As Scripting.Folder

Set tmpfld = fso.GetFolder(app.Path & "\bin")

For Each tmpFile In tmpfld.Files
...
...
...
...
next tmpFile

set fso=nothing

inne i loopen kan du nog använda koden ovan...

hoppas det hjälpte lite iallafall

Johan


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 12:42:34 - Håkan Nilsson

Hej,
Det är ungefär så här jag har gjort men problemet är att det inte alltid är 5 rader per post.
Helgen blir lång...

/hani


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 13:56:33 - Emma Magnusson

Hmm... hur ser det ut om det inte är 5 rader?

är fältet tomt efter co: eller är raden helt blank?
Finns de "nyckelord" som du skrev i ditt exempel i filen?
Då kan du alltid kolla om raden innehåller ett av de giltiga nyckelorden
och om det gör det kan du tom göra olika saker beroende på vad som
står.

Du kan till exempel använda instr(helaRaden, nyckelord) <> 0
(dvs nyckelordet finns på raden)

/Emma


Svara

Sv: 2 filer till 1

Postades av 2002-02-01 13:59:59 - Jens Kangosjärvi

Då får du läsa in varje rad i en sträng först, det finns väl någonting i strängen som talar om att en ny post börjar, eller en post slutar?





Svara

Sv: 2 filer till 1

Postades av 2002-02-01 15:01:58 - Jens Kangosjärvi

Är det så här du tänkt dig det ?

<code>
Dim fso As New Scripting.FileSystemObject
Dim oUtStream As Scripting.TextStream
Dim oReadStream(2) As Scripting.TextStream
Dim i As Integer
Dim j As Integer
Dim strPost(2) As String
Dim strNyPost As String
Dim bRead(2) As Boolean

Dim bFirst As Boolean
bRead(0) = True
bRead(1) = True

Set oUtStream = fso.OpenTextFile("C:/Utfil.txt", ForWriting, True)
Set oReadStream(0) = fso.OpenTextFile("C:/Infil1.txt", ForReading)
Set oReadStream(1) = fso.OpenTextFile("C:/Infil2.txt", ForReading)

'Indikator som anger ny Post
strNyPost = "1"
Do Until oReadStream(0).AtEndOfStream And oReadStream(1).AtEndOfStream

For j = 0 To 1
bFirst = True
If Not oReadStream(j).AtEndOfStream Then
Do Until oReadStream(j).AtEndOfStream
If bRead(j) = True Then
strPost(j) = oReadStream(j).ReadLine
Else
bRead(j) = True
End If
'Jämför första tecknet med indikatorn
If Left$(strPost(j), 1) = strNyPost And bFirst = False Then
'Hittar ny post, hoppar ut ur loopen
bRead(j) = False
Exit Do
End If
bFirst = False
oUtStream.WriteLine strPost(j)
If oReadStream(j).AtEndOfStream Then Exit For
Loop
End If

Next


Loop


oReadStream(0).Close
oReadStream(1).Close
oUtStream.Close
Set fso = Nothing
</code>

/JensaK


Svara

Sv: 2 filer till 1

Postades av 2002-02-02 10:11:42 - Håkan Nilsson

Tack så mycket för er respons! jag har kommit lite längre, dock inte helt löst det. Det är ibland svårt och beskriva vad man egentligen vill att koden skall göra.
Jag lade upp en skiss på min utmaning(problem) för den intresserade:

http://hem.fyristorg.com/hanii/LasaFiler.htm

/hani


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 864
27 962
271 767
162
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies