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


Förändra textfil !

Postades av 2004-09-28 22:49:41 - Jan Disby, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 799 personer

Hejsan !

Har en textfil,som jag vill förändra eller kopiera för att få text,siffror på en bestämd position i filen.
Typ : Artnr position 11-30 Benämning position 31-55 osv...
Vill att det ska vara enkelt att förändra inläsning från olika positioner,och att slutresultat blir den tänkta filen.



Exempel på hur den befintliga filen ser ut :

3632 Skjøt 0000023503500 000000000 700
3831 Skive 00000035303500 000000000 700
9403 Pakning 00001638503500 000000000 700

Och filen jag vill ha ska kanske se ut som nedan

3632 Skjøt 00000235 700

Försöker förklara lite bättre :

Har en textfil som exemplet ovan (1:a) Vill själv bestämma från vilken position inläsning ska ske.
Helst kunna förändra via inboxar,men om ingen förändring ska ske, ett förutbestämt värde.

Utläsning i den nya filen ska vara på förutbestämda positioner Ex : pos 11 ,20 tecken / pos 31 ,25 tecken osv.. Så att resultat blir liknande detta :


3632 Skjøt 00000235 700



Tack på förhand!


Svara

Sv: Förändra textfil !

Postades av 2004-09-28 23:09:44 - Simon Dahlbacka

du bör nog berätta mer om dina förutsättningar, med vilka verktyg och så vidare. Men i princip borde det nog gå i dom flesta språk att använda filer s.k. random access. Håll bara att reda på att du läser och skriver på rätt stället samt att du inte skriver för mycket..

I C så är det seek samt tell (samt naturligtvis read/write) du behöver..

PS. antagligen är det här inlägget inte i helt rätt kategori..


Svara

Sv: Förändra textfil !

Postades av 2004-09-28 23:37:27 - Pelle Johansson

Du kan göra nåt i stil med nedanstående. Dock är inte positioneringarna och dess längd rätt, så det får du ändra själv.

open "textfil.txt" for input as #1
open "nyfil.txt" for output as #2

do while not eof(1)
  line input #1, buffer
  nybuffer = & mid(buffer, 31,15) & mid(buffer,11,20) & mid(buffer, 55,15)
  print #2, nybuffer
loop
close #1
close #2


Svara

Sv: Förändra textfil !

Postades av 2004-10-12 22:04:48 - Jan Disby

Fungerade om man tog bort första tecknet & efter nybuffer ! Tack !

Nu har jag fått inläsningen från filen okey ! Men utmatning ska ske på andra positioner !

Tips ? Tackar på förhand !


Svara

Sv: Förändra textfil !

Postades av 2004-10-13 20:28:54 - Pelle Johansson


<code>
open "textfil.txt" for input as #1
open "nyfil.txt" for output as #2

do while not eof(1)
line input #1, buffer
field1 = mid(buffer, 31,15)
field2 = mid(buffer,11,20)
field3 = mid(buffer, 55,15)

print #2, field3 & " 12345" & field1 & " 999" & field1

loop
close #1
close #2
</code>


Svara

Sv: Förändra textfil !

Postades av 2004-10-13 21:00:02 - Jan Disby

Nästan rätt ! :o) Med detta kan jag lägga till siffror eller bokstäver, vilket inte var helt fel !
Men..

Vill bestämma vart det man läst in ska hamna.
Om man tex läser in "field1" från position 1 och med 15 tecken, och "Field2" från position 25 och 8 tecken så har jag fått infot jag vill ha i "behållaren" buffer ! Bra !
Att tillägga är att filen är "nästan" i tabellform (Tabseparerat?)

När man sen läser ut datat i den nya textfilen, vill jag ha den i "tabellform" alltså bestämda positioner.
Dock ingen fältseparering..
För den filen ska sedan läsas in i ett program och det är DETTA program som bestämmer vart inläsning sker. Se nedanstående exempel, Det är ungefär så jag vill att filen ska se ut.
Och i ASCII format. (formatändelse ex.asc) (Ps Varje rad ska innehålla max 190 tecken)

BO000500001987301001 H4 12V 60/55W, P43 T PIN0H305 000296
BO000500001987301002 H4 PLUS 30 12V 60/55W, P40H305 000250 BO000500001987301003 H1 PLUS 30 12V 55W, P14,50H305 000125

Om man sen kan förändra inläsningsparametrarna via textbox så vore det ännu bättre !


Är det någon som förstår vad jag menar ?

Tack på förhand !


Svara

Sv: Förändra textfil !

Postades av 2004-10-14 17:25:53 - Sven Åke Persson

Tycker att det är väldigt "luddigt" vad du egentligen vill göra men !

Vad gäller placeringen av de olika kolumnerna så är det Tab(column i pixel) som gäller.
Du kan använda Tab() tillsammans med Print# i en Form, PictureBox eller Printer.
Använd Print# och Tab() när du skriver till din fil.

Använd ScaleMod = 3 Pixel (underlättar betydligt) .


Svara

Sv: Förändra textfil !

Postades av 2004-10-14 21:16:06 - Jan Disby

Hej igen !

Har skrivit om lite i mina frågor,kanske någon inte tycker att det är så luddigt nu då ?
Annars är det bara att fråga !! Kanske lättare med en dialog?
Eftersom jag inte riktigt hur jag ska utföra detta,
så vore det bra med exempel, typ Pelles svar ovan !

Tackar på förhand !

Mvh Janne


Svara

Sv: Förändra textfil !

Postades av 2004-10-14 22:30:43 - Pelle Johansson

Ja, jag förstår precis vad du menar. Att bygga om filstrukturer bygger på det exempel jag gav dig och ovan och du får alltså ta och hämta ut datat precis som du vill ha det till alla variabler. Sedan när du skriver det måste du också hålla reda på vilken position det skall börja samt längden.

För att kunna leverera en färdig rutin behövs således spec på källfil och målfil för att få dig i mål.

Ex:

Pos 1-5, kundnummer
Pos 6-11, orgnr

Sen i den nya filen
Pos 1,11 orgnr
Pos 12,5 kundnummer





Svara

Sv: Förändra textfil !

Postades av 2004-10-15 00:14:46 - Jan Disby

Någonting ditåt... Men för att förklara problemet jag har så vill jag inte mata in uppgifterna på position 1.
Utan att jag kanske vill börja på position 11.. och vidare,
positioner är ALLTID på bestämd plats i den nya filen !

Pos 1-5 KundNr
Pos 6-11 OrgNr

Nya filen

Pos 11-15 KundNr
Pos 31-42 OrgNr

Alltså utan tecken på de första 10 positionerna

Postbeskrivning enlig nedan : Obs ! Använder strecket bara för att visa var positioner börjar och slutar och antal tecken.

00|0000|0000|00000000000000000000|0000000000000000000000000|

Så fortsätter textfilen till änden på första raden. Tills den är uppe på slutet dvs 190 tecken sen börjar nästa 190 tecken på nästa rad !

Tack än en gång


Svara

Sv: Förändra textfil !

Postades av 2004-10-16 16:36:43 - Jan Disby

Löste det så här :

Private Sub Command8_Click()

'Bestämmer hur många tecken respektive "tabell" får.
'Med början från position 1


Dim FtgKod As String * 2 ' Företagskod
Dim ProdGr As String * 4 ' Produktgrupp
Dim Vrg As String * 4 ' Varugrupp
Dim ArtNr As String * 20 ' Artikelnummer
Dim Benamn As String * 25 ' Benämning
Dim AltBenamn As String * 23 ' Alternativ benämning
Dim CaPris As String * 8 ' Ca pris

'Hämta filen

Open "D:\Test\test1.txt" For Input As #1

'Öppna filen eller gör en ny !


Open "D:\Test\Nyfil1Dim.Txt" For Output As #2

Do While Not EOF(1)
Line Input #1, buffer
Field1 = Mid(buffer, 1, 15)
Field2 = Mid(buffer, 16, 25)
Field3 = Mid(buffer, 47, 8)
Field4 = Mid(buffer, 56, 2)
Field5 = Mid(buffer, 60, 15)
Field6 = Mid(buffer, 76, 8)
Field7 = Mid(buffer, 85, 3)



'Välj Field(X) eller ""

FtgKod = "DM"
ProdGr = ""
Vrg = Field7
ArtNr = Field1
Benamn = Field2
AltBenamn = Field5
CaPris = Field3


Print #2, FtgKod & ProdGr & Vrg & ArtNr & Benamn & CaPris

Loop
Close #1
Close #2

End Sub


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 718
27 958
271 751
3 277
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