Ken,
That code you posted here, I really appreciate you did that but all I get are
compile errors (see below)
I did change:
findStr = "eee"
replaceStr = "e"
to:
findstring = CHR$(10)+CHR$(13)
replacestring = CHR$(13)
You said "This was tested in FB^3 Release 5, but should work in all earlier
versions." I have 3.2.0. I don't think the DIM statements are compatible.
Nobody likes my "simple" approch :)
Jeff-
================
/*
'~200,0,Temp Project
'~200,1,22
Error: End of Statement expected here...
in file Temp Project at line 22 in Object Main
•DIM AS •INT @volRefNum%
'~'
'~200,0,Temp Project
'~200,1,22
Error: Variable 'INT' not has not been DIM'ed
in file Temp Project at line 22 in Object Main
DIM AS •INT •@volRefNum%
'~'
'~200,0,Temp Project
'~200,1,22
Error: Unknown Statement: 'INT '
in file Temp Project at line 22 in Object Main
DIM AS •INT •@volRefNum%
'~'
'~200,0,Temp Project
'~200,1,23
Error: Variable 'AS' Re-Defined here!
in file Temp Project at line 23 in Object Main
•DIM AS •HANDLE @textH
'~'
'~200,0,Temp Project
'~200,1,24
Error: Variable 'AS' Re-Defined here!
in file Temp Project at line 24 in Object Main
•DIM AS •LONG offset, size
'~'
'~200,0,Temp Project
'~200,1,25
Error: Variable 'AS' Re-Defined here!
in file Temp Project at line 25 in Object Main
•DIM AS •STR31 oldFileNameStr, newFileNameStr
'~'
'~200,0,Temp Project
'~200,1,26
Error: Variable 'AS' Re-Defined here!
in file Temp Project at line 26 in Object Main
•DIM AS •STR15 findStr, replaceStr
'~'
'~200,0,Temp Project
'~200,1,29
Error: Variable 'TEXTH' not has not been DIM'ed
in file Temp Project at line 29 in Object Main
•textH •= 0
'~'
'~200,0,Temp Project
'~200,1,35
Error: Variable 'OLDFILENAMESTR' not has not been DIM'ed
in file Temp Project at line 35 in Object Main
•oldFileNameStr •= FILES$( fOpen, "TEXT", , volRefNum% )
'~'
'~200,0,Temp Project
'~200,1,35
Error: Variable 'FOPEN' not has not been DIM'ed
in file Temp Project at line 35 in Object Main
•oldFileNameStr = FILES$( fOpen•, "TEXT", , volRefNum% )
'~'
'~200,0,Temp Project
'~200,1,35
Error: Variable 'VOLREFNUM' not has not been DIM'ed
in file Temp Project at line 35 in Object Main
•oldFileNameStr = FILES$( fOpen, "TEXT", , volRefNum% •)
'~'
'~200,0,Temp Project
'~200,1,35
Error: String used when a Number was expected.
in file Temp Project at line 35 in Object Main
•oldFileNameStr = FILES$( fOpen, "TEXT", , volRefNum% )
'~'
'~200,0,Temp Project
'~200,1,39
Error: String Variable Expected here.
in file Temp Project at line 39 in Object Main
•OPEN "I", 1, oldFileNameStr•, , volRefNum%
'~'
'~200,0,Temp Project
'~200,1,41
Error: Variable 'SIZE' not has not been DIM'ed
in file Temp Project at line 41 in Object Main
•size •= LOF( 1, 1 )
'~'
'~200,0,Temp Project
'~200,1,58
Error: Variable 'FINDSTRING' not has not been DIM'ed
in file Temp Project at line 58 in Object Main
•findstring •= CHR$(10)+CHR$(13)
'~'
'~200,0,Temp Project
'~200,1,58
Error: String used when a Number was expected.
in file Temp Project at line 58 in Object Main
•findstring = CHR$(10)+CHR$(13)
'~'
'~200,0,Temp Project
'~200,1,59
Error: Variable 'REPLACESTRING' not has not been DIM'ed
in file Temp Project at line 59 in Object Main
•replacestring •= CHR$(13)
'~'
'~200,0,Temp Project
'~200,1,59
Error: String used when a Number was expected.
in file Temp Project at line 59 in Object Main
•replacestring = CHR$(13)
'~'
'~200,0,Temp Project
'~200,1,64
Error: Variable 'OFFSET' not has not been DIM'ed
in file Temp Project at line 64 in Object Main
•offset •= 0
'~'
'~200,0,Temp Project
'~200,1,66
Error: Variable 'FINDSTR' not has not been DIM'ed
in file Temp Project at line 66 in Object Main
•offset = FN Munger( textH, offset, @findStr•[1], findStr[0],
@replaceStr[1], replaceStr[0] )
'~'
'~200,0,Temp Project
'~200,1,66
Error: Missing End ‘)’ Fix it...
in file Temp Project at line 66 in Object Main
•offset = FN Munger( textH, offset, @findStr[1], •findStr[0], @repl
aceStr[1], replaceStr[0] )
'~'
'~200,0,Temp Project
'~200,1,74
Error: Variable 'NEWFILENAMESTR' not has not been DIM'ed
in file Temp Project at line 74 in Object Main
•newFileNameStr •= oldFileNameStr + " (rev.)"
'~'
'~200,0,Temp Project
'~200,1,74
Error: String used when a Number was expected.
in file Temp Project at line 74 in Object Main
•newFileNameStr = oldFileNameStr + " (rev.)"
'~'
'~200,0,Temp Project
'~200,1,78
Error: String Variable Expected here.
in file Temp Project at line 78 in Object Main
•OPEN "O", 1, newFileNameStr•, , volRefNum%
'~'
********* End of PPC Code Compile *********
************* End of Compile **************
Warnings: 0
Errors: 24
'----- BEGIN FB^3 CODE -------
DIM AS INT @volRefNum%
DIM AS HANDLE @textH
DIM AS LONG offset, size
DIM AS STR31 oldFileNameStr, newFileNameStr
DIM AS STR15 findStr, replaceStr
// Start with a nice, clean, empty text handle
textH = 0
// If you want fancy NavServices, uncomment the next line
// gFBUseNavServices = zTrue
// Open a text file and get its name
oldFileNameStr = FILES$( fOpen, "TEXT", , volRefNum% )
// Read text from the open file into a handle
LONG IF oldFileNameStr[0]
OPEN "I", 1, oldFileNameStr, , volRefNum%
// Determine the size of the data in the file
size = LOF( 1, 1 )
LONG IF size
// Size our text handle to hold the data
textH = FN NewHandle( size )
LONG IF textH
// Read text data into our handle
READ FILE #1, [textH], size
END IF
END IF
// Close the original file-- we're done with it
CLOSE #1
END IF
// Set the characters to find and replace
findStr = "eee"
replaceStr = "e"
// Get the text handle and mung it from the beginning...
LONG IF textH
//... this is the beginning
offset = 0
DO
offset = FN Munger( textH, offset, @findStr[1],¬
findStr[0], @replaceStr[1], replaceStr[0] )
UNTIL offset = -1
END IF
// Measure the size our of our new munged text handle
size = FN GETHANDLESIZE( textH )
// Adjust the name of our new file
newFileNameStr = oldFileNameStr + " (rev.)"
// Open a nice new file with our new name
DEF OPEN "TEXT"
OPEN "O", 1, newFileNameStr, , volRefNum%
// Put our munged text into the file
WRITE FILE #1, [textH], size
// Be kind of mother and empty the trash
CALL DisposeHandle( textH )
// Close the new file
CLOSE #1
' -------- END CODE -----------