Ga naar inhoud

Text bestand aanpassen automatisch


anoniem

Aanbevolen berichten

Hey Medeleden, Heb een heleboel .txt bestanden die allemaal dezelfde handelingen nog moeten ondergaan. Onderstaand is een gedeelte van z'n bestand. [b:21c4d9b74f][TEIL][/b:21c4d9b74f] LFDNR=1 KOM.NAME= BEZEICH=Rm OD4 (1 van 1) POSNR=A FELDNR=[b:21c4d9b74f]06[/b:21c4d9b74f] HOLZART=00 RLAENGE=761 FLAENGE=751 FHOHE=57 RHOHE=57 FBREITE=80 RBREITE=82 TEILID=1282 FARBTEXT=[b:21c4d9b74f]Creme[/b:21c4d9b74f] ; lprof1: ; lprof2: [LP] LPROF1= FALZBREITE1=0 FALZHOHE1=0 NUTBREITE1=0 FALZBREITE1_2=0 FALZHOHE1_2=0 NUTBREITE1_2=0 LRADIUS1=0.0 LPROF2= FALZBREITE2=0 FALZHOHE2=0 NUTBREITE2=0 FALZBREITE2_2=0 FALZHOHE2_2=0 NUTBREITE2_2=0 LRADIUS2=0.0 [b:21c4d9b74f][DRUCK][/b:21c4d9b74f] ; [EP] ENDE=1 EPROF= EP1X= EP2X= EP1Y= EP2Y= ESAEG=21 FALZBREITE=0 FALZHOHE=0 NUTBREITE=0 FALZBREITE_2=0 FALZHOHE_2=0 NUTBREITE_2=0 En nu komt het: Onder [DRUCK] moet eigenlijk bij komen te staan. TEXT1= TEXT2= Dus dan krijg je dit [DRUCK] TEXT1= TEXT2= Nu moet er wat achter ''FELDNR='' staat nu toevallig ''06'' Dit moet achter ''TEXT1='' komen te staan. En wat achter ''FARBTEXT='' staat nu toevallig ''Creme''. Dit moet dan achter ''TEXT2='' komen te staan. Dus krijg je uiteindelijk: [DRUCK] TEXT1=06 TEXT2=Creme En dit zou dan om ongeveer 3000 bestanden per jaar gaan, dus wel de moeite waard om proberen dit te programmeren. Maar wat het misschien nog moeilijker maakt, dit komt meerdere keren per bestand voor. Maar iedere nieuwe onderdeel begint altijd met [TEIL], dus misschien dat daar eerst op gezocht moet worden binnen het bestand. Iemand hier een oplossing voor hoe je dit kan programmeren, en ook waarmee. Dank u
Link naar reactie
Het is dus eigenlijk het volgende wat je wilt: 1: kijk of je feldnr, of farbtext tegenkomt, en ondhoud de tekst erachter. 2 Zodra je [druck] tegenkomt, voeg die data toe als tekst. In VB kan dit vrij simpel: [code:1:f62c04b1df] invoer = Command$ uitvoer = "c:\uitvoer.txt" NRin = FreeFile Open invoer For Input As NRin NRuit = FreeFile Open uitvoer For Input As NRuit While Not EOF(NRin) Line Input #NRin, regel If InStr(regel, "FELDNR=") > 0 Then feldnr = Right(regel, Len(regel) - 7) If InStr(regel, "FARBTEXT=") > 0 Then farb = Right(regel, Len(regel) - 9) Print #NRuit, regel If InStr(regel, "[DRUCK]") > 0 Then Print #NRuit, "TEXT1=" + feldnr Print #NRuit, "TEXT2=" + farb End If List1.AddItem regel Wend List1.AddItem " - KLAAR! - " Close FileCopy invoer, invoer + ".orig" FileCopy uitvoer, invoer tijd = Timer Do DoEvents Loop Until Timer > tijd + 5 End [/code:1:f62c04b1df] Je dropped de file gewoon op het programma, Het programma leest het bestand in, regel voor regel, en kijkt of de keywords erin staan.als ze in de regel straan ondhoudt hij de waardes erachter. Zodra hij druck tegenkomt voegt hij die twee regels toe. Zodra hij klaar is, maakt hij een kopie van het origineel, Waarna hij het originele bestand overschrijft met de aangepaste versie. Daarna sluit hij af. En als je dat compileert krijg je het vogende: http://natuurpics.nl/zooi/aanpassen.exe
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...