anoniem Geplaatst: 23 augustus 2012 Delen Geplaatst: 23 augustus 2012 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 Quote Link naar reactie
anoniem Geplaatst: 23 augustus 2012 Auteur Delen Geplaatst: 23 augustus 2012 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 Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen