RosettaCodeData/Task/Globally-replace-text-in-several-files/FutureBasic/globally-replace-text-in-several-files.basic
2023-09-16 17:28:03 -07:00

37 lines
1.5 KiB
Text

include "NSLog.incl"
void local fn GloballyCreateAndReplaceFileText
NSUInteger i
CFURLRef url
CFMutableArrayRef mutURL = fn MutableArrayNew
CFArrayRef fileNames = @[@"file1", @"file2", @"file3"]
CFStringRef fileContentStr
CFStringRef originalText = @"Goodbye London!"
CFStringRef replacementText = @"Hello New York!"
for i = 0 to len(fileNames) - 1
CFURLRef desktopURL = fn FileManagerURLForDirectory( NSDesktopDirectory, NSUserDomainMask )
url = fn URLByAppendingPathComponent( desktopURL, fileNames[i] )
url = fn URLByAppendingPathExtension( url, @"txt" )
CFStringRef fullText = fn StringWithFormat( @"%@ What an interesting city.", originalText )
fn StringWriteToURL( fullText, url, YES, NSUTF8StringEncoding, NULL )
MutableArrayAddObject( mutURL, url )
next
NSLog( @"Original text:" )
for i = 0 to len(mutURL) - 1
fileContentStr = fn StringWithContentsOfURL( mutURL[i], NSUTF8StringEncoding, NULL )
NSLog( @"Contents at: %@ = %@", fn URLPath( mutURL[i] ), fileContentStr )
CFStringRef modifiedText = fn StringByReplacingOccurrencesOfString( fileContentStr, originalText, replacementText )
fn StringWriteToURL( modifiedText, mutURL[i], YES, NSUTF8StringEncoding, NULL )
next
NSLog( @"\nReplacement text:" )
for i = 0 to len(mutURL) - 1
fileContentStr = fn StringWithContentsOfURL( mutURL[i], NSUTF8StringEncoding, NULL )
NSLog( @"Contents at: %@ = %@", fn URLPath( mutURL[i] ), fileContentStr )
next
end fn
fn GloballyCreateAndReplaceFileText
HandleEvents