Hejsan För varje rad i Text1 måste du sekventiellt läsa genom alla rader i Text2 och titta på varje rad och dess fält och se om där finns nån skillnad. Du kan t.ex. använda Split funktionen för att göra om en semikolon-sträng till en array. Detta kommer att bli **väldigt långsamt** om du har lite större filer. En bättre lösning är att du skapar eller redan har en Access-databas lokalt som du importerar filerna till, sätt index på de kolumner som du vill matcha. Nu kan du lätt ta fram de rader som du vill lägga på din Utfil med SQL-frågor. Som Ola nämnde så riskerar en direkt jämförelse rad för rad att bli långsam om filerna är stora. Om man sorterar filerna först borde det ju gå snabbt att hitta ändrade och saknade rader.Jämföra två textfiler
Jag ska försöka göra ett program som jämför två textfiler. Det jag har kvar att göra är själva jämförelsen. Med andra ord har jag inte kommit så långt. Förstår inte riktigt hur man ska gå till väga.
Det är tänkt att fungera så här.
Man har två textfiler, Text1 och Text2. Dessa filer innehåller flera rader. En rad innehåller text, siffror och semikolon. T ex 123456;000;98659865;Olle Berg;Sven Ingvar;. Fält 3 i raden är ett unikt ID-nummer.
Jämförelsen kan gå till så här:
Om rad1 i Text 1 finns i Text2 är allt OK, finns den inte i Text2 Skrivs den till en ny textfil (Textfinnsej.txt)Är raden i Text2 modifierad på något sätt (förutom fält 3) ska raden från Text2 skrivas till en ny textfil(Textradändrad.txt). Sedan kollar man rad2 från Text 1 osv. Hoppas ni förstår.
Finns det något sätt att göra detta?
JesperSv: Jämföra två textfiler
Kolla på detta:
How To Open Delimited Text Files Using the Jet Provider's Text IIsam
http://support.microsoft.com/kb/q262537/Sv: Jämföra två textfiler
Men om det är måttlig storlek så kan det bli acceptabelt.
Du behöver ju inte jämföra alla rader i fil2 för varje i fil1. Eftersom de har ett unikt ID är det ju onödigt jämföra en rad från fil1 med rader i fil2 som redan fått en hit. Därför minskar antalet jämförelser efterhand.Sv:Jämföra två textfiler