notsure Posted June 16, 2016 Posted June 16, 2016 Hi. I'm trying to compare 2 texts with eachother but im struggling a little. I have 1 file for today ($array) and 1 file from yesterday ($filecontents), those should be compared to see whats being added today. Todays file example: 12345 23456 34567 Yesterdays file example: 12345 23456 34567 45678 I tried something like this, it works but its ugly, besides, i only have to see whats being added. $file = fileopen ("test.txt") $filecontents = readfile ($file) for $x = 1 to ubound($array) - 1 if stringinstr($filecontents, $array[$x]) > 0 then stringreplace($filecontents, $array[$x], "") endif next this shows whats "left" after replacing the whole array with nothing... but there should be a better way to do this i guess? Any thoughts? Thanks
water Posted June 16, 2016 Posted June 16, 2016 IIRC there are some threads on the forum about file comparison scripts. Maybe you could grab some ideas/code from those? My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
mikell Posted June 16, 2016 Posted June 16, 2016 If the newly added part is just an addition to the old file text, this should work $res = StringReplace(FileRead("today.txt"), FileRead("yesterday.txt"), "") Msgbox(0,"", $res)
notsure Posted June 16, 2016 Author Posted June 16, 2016 I can't test this here, but what would $res return? If it returns "45678" you're my man.
mikell Posted June 16, 2016 Posted June 16, 2016 ... assuming of course that there was a typo in post #1 and that "45678" was added in today.txt file, not in yesterday
notsure Posted June 16, 2016 Author Posted June 16, 2016 (edited) 12 hours ago, mikell said: Its also purpose that addition may occur in the middle of the data... so this wouldnt work for that ;( Edited June 17, 2016 by notsure
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now