Entry
sub6b: Using version 2.0 of TSE, is there a way to copy and paste to Windows applications?
Nov 8th, 2001 16:24
Knud van Eeden,
mailuserGS = FNStringConcatS( dirmainGS, mailuserGS )
programaspGS = FNStringConcatS( dirmainGS, programaspGS )
programbasicGS = FNStringConcatS( dirmainGS, programbasicGS )
programbatGS = FNStringConcatS( dirmainGS, programbatGS )
programcGS = FNStringConcatS( dirmainGS, programcGS )
programcppGS = FNStringConcatS( dirmainGS, programcppGS )
programdelphiGS = FNStringConcatS( dirmainGS, programdelphiGS )
programdokGS = FNStringConcatS( dirmainGS, programdokGS )
programhtmlGS = FNStringConcatS( dirmainGS, programhtmlGS )
programjavaGS = FNStringConcatS( dirmainGS, programjavaGS )
programjavascriptGS = FNStringConcatS( dirmainGS,
programjavascriptGS )
programjspGS = FNStringConcatS( dirmainGS, programjspGS )
programlotusscriptGS = FNStringConcatS( dirmainGS,
programlotusscriptGS )
programmapleGS = FNStringConcatS( dirmainGS, programmapleGS )
programpascalGS = FNStringConcatS( dirmainGS, programpascalGS )
programperlGS = FNStringConcatS( dirmainGS, programperlGS )
programphpGS = FNStringConcatS( dirmainGS, programphpGS )
programpostscriptGS = FNStringConcatS( dirmainGS,
programpostscriptGS )
programpythonGS = FNStringConcatS( dirmainGS, programpythonGS )
programsqlGS = FNStringConcatS( dirmainGS, programsqlGS )
programtexGS = FNStringConcatS( dirmainGS, programtexGS )
programtseGS = FNStringConcatS( dirmainGS, programtseGS )
programumlGS = FNStringConcatS( dirmainGS, programumlGS )
programxmlGS = FNStringConcatS( dirmainGS, programxmlGS )
programwshGS = FNStringConcatS( dirmainGS, programwshGS )
programmssdkGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, programmssdkGS )
projectbookawetaGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, projectbookawetaGS )
searchQdirectoryoutputGS = FNStringConcatS( dirmainGS,
searchQdirectoryoutputGS )
searchQfileoutputnumberGS = "0"
searchQinputGS = FNStringConcatS( dirmainGS, searchQinputGS )
searchQoutputGS = FNStringConcatS( dirmainGS, searchQoutputGS )
#IFDEF WIN32
videomaxrowGT = 60
videomaxcolGT = 128
#ELSE
videomaxrowGT = 50
#ENDIF
#ENDIF
//
#IF computerjobcompaqdeskpro
computerGS = "computerjobcompaqdeskpro"
dirmainGS = "c:\kee\"
driveGS = "c:\"
drivetexGS = networkdrivenametoshibalibretto110ctGS
backupstorepathGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, backupstorepathGS )
backuptemppathGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, backuptemppathGS )
filenameaddressextraGS = ""
filenameaddressGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenameaddressGS )
filenamebookextraGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamebookextraGS )
filenamebookGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamebookGS )
filenamedatabaseGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamedatabaseGS )
filenamedefnotfoundGS = FNStringConcatS( dirmainGS,
filenamedefnotfoundGS )
filenamedoGS = FNStringConcatS( dirmainGS, "temp\addcompp.dok" )
filenamedoibmthinkpad380GS = FNStringConcatS( dirmainGS,
filenamedoibmthinkpad380GS )
filenamedotoshibalibretto110ctGS = FNStringConcatS( dirmainGS,
filenamedotoshibalibretto110ctGS )
filenamedotoshiba_libretto50ctGS = FNStringConcatS( dirmainGS,
filenamedotoshiba_libretto50ctGS )
filenamedodelllatitudeGS = FNStringConcatS( dirmainGS,
filenamedodelllatitudeGS )
filenamedocompaqdeskproGS = FNStringConcatS( dirmainGS,
filenamedocompaqdeskproGS )
filenameerrorGS = FNStringConcatS( dirmainGS, filenameerrorGS )
filenameeventGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenameeventGS )
filenamefilesGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamefilesGS )
filenamelogGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamelogGS )
filenamemapGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamemapGS )
filenameoutputGS = FNStringConcatS( dirmainGS, filenameoutputGS )
filenameresultGS = FNStringConcatS( dirmainGS, filenameresultGS )
filenamestoreGS = FNStringConcatS( dirmainGS, filenamestoreGS )
filenamevocabularyGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, filenamevocabularyGS )
internetbrowserexplorerexeGS = FNStringConcatS( "c:\",
internetbrowserexplorerexeGS )
internetbrowsercompuserveexeGS = FNStringConcatS( "c:\",
internetbrowsercompuserveexeGS )
internetbrowsernetscapeexeGS = FNStringConcatS( "c:\",
internetbrowsernetscapeexeGS )
internetbrowseroperaexeGS = FNStringConcatS( "d:\",
internetbrowseroperaexeGS )
internetcablemodemexeGS = FNStringConcatS( "d:\",
internetcablemodemexeGS )
keywordbasicGS = FNStringConcatS( dirmainGS, keywordbasicGS )
keywordbatGS = FNStringConcatS( dirmainGS, keywordbatGS )
keywordcGS = FNStringConcatS( dirmainGS, keywordcGS )
keywordcppGS = FNStringConcatS( dirmainGS, keywordcppGS )
keyworddokGS = FNStringConcatS( dirmainGS, keyworddokGS )
keywordjavaGS = FNStringConcatS( dirmainGS, keywordjavaGS )
keywordjavascriptGS = FNStringConcatS( dirmainGS,
keywordjavascriptGS )
keywordlotusscriptGS = FNStringConcatS( dirmainGS,
keywordlotusscriptGS )
keywordmapleGS = FNStringConcatS( dirmainGS, keywordmapleGS )
keywordpascalGS = FNStringConcatS( dirmainGS, keywordpascalGS )
keywordphpGS = FNStringConcatS( dirmainGS, keywordphpGS )
keywordtseGS = FNStringConcatS( dirmainGS, keywordtseGS )
libraryaspGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryaspGS )
librarybasicGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarybasicGS )
librarybatGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarybatGS )
librarycGS = FNStringConcatS( networkdrivenametoshibalibretto110ctGS,
librarycGS )
librarycppGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarycppGS )
librarydelphiGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarydelphiGS )
librarydokGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarydokGS )
libraryhtmlGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryhtmlGS )
libraryjavaGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryjavaGS )
libraryjavascriptGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryjavascriptGS )
libraryjspGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryjspGS )
librarylotusscriptGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarylotusscriptGS )
librarymapleGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarymapleGS )
librarypascalGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarypascalGS )
libraryperlGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryperlGS )
libraryphpGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryphpGS )
librarypostscriptGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarypostscriptGS )
librarypythonGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarypythonGS )
librarysqlGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarysqlGS )
librarytexGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarytexGS )
librarytseGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarytseGS )
libraryumlGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryumlGS )
librarywshGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, librarywshGS )
libraryxmlGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, libraryxmlGS )
mailsupportGS = FNStringConcatS( dirmainGS, mailsupportGS )
mailuserGS = FNStringConcatS( dirmainGS, mailuserGS )
programaspGS = FNStringConcatS( dirmainGS, programaspGS )
programbasicGS = FNStringConcatS( dirmainGS, programbasicGS )
programbatGS = FNStringConcatS( dirmainGS, programbatGS )
programcGS = FNStringConcatS( dirmainGS, programcGS )
programcppGS = FNStringConcatS( dirmainGS, programcppGS )
programdelphiGS = FNStringConcatS( dirmainGS, programdelphiGS )
programdokGS = FNStringConcatS( dirmainGS, programdokGS )
programhtmlGS = FNStringConcatS( dirmainGS, programhtmlGS )
programjavaGS = FNStringConcatS( dirmainGS, programjavaGS )
programjavascriptGS = FNStringConcatS( dirmainGS,
programjavascriptGS )
programjspGS = FNStringConcatS( dirmainGS, programjspGS )
programlotusscriptGS = FNStringConcatS( dirmainGS,
programlotusscriptGS )
programmapleGS = FNStringConcatS( dirmainGS, programmapleGS )
programpascalGS = FNStringConcatS( dirmainGS, programpascalGS )
programperlGS = FNStringConcatS( dirmainGS, programperlGS )
programphpGS = FNStringConcatS( dirmainGS, programphpGS )
programsqlGS = FNStringConcatS( dirmainGS, programsqlGS )
programtexGS = FNStringConcatS( dirmainGS, programtexGS )
programtseGS = FNStringConcatS( dirmainGS, programtseGS )
programumlGS = FNStringConcatS( dirmainGS, programumlGS )
programwshGS = FNStringConcatS( dirmainGS, programwshGS )
programxmlGS = FNStringConcatS( dirmainGS, programxmlGS )
programmssdkGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, programmssdkGS )
projectbookawetaGS = FNStringConcatS(
networkdrivenametoshibalibretto110ctGS, projectbookawetaGS )
searchQdirectoryoutputGS = FNStringConcatS( "c:\",
searchQdirectoryoutputGS )
searchQfileoutputnumberGS = "0"
searchQinputGS = FNStringConcatS( dirmainGS, searchQinputGS )
searchQoutputGS = FNStringConcatS( dirmainGS, searchQoutputGS )
#IFDEF WIN32
videomaxrowGT = 36
videomaxcolGT = 110
#ELSE
videomaxrowGT = 50
#ENDIF
#ENDIF
//
PROCIntegerGlobalSet( "videomaxrowGT", videomaxrowGT )
PROCIntegerGlobalSet( "videomaxcolGT", videomaxcolGT )
PROCStringGlobalSet( "backupstorepathGS", backupstorepathGS )
PROCStringGlobalSet( "backuptemppathGS", backuptemppathGS )
PROCStringGlobalSet( "computerGS", computerGS )
PROCStringGlobalSet( "computerhomeibmthinkpad380dGS",
computerhomeibmthinkpad380dGS )
PROCStringGlobalSet( "computerhometoshibalibretto110ctGS",
computerhometoshibalibretto110ctGS )
PROCStringGlobalSet( "computerjobtoshibalibretto110ctGS",
computerjobtoshibalibretto110ctGS )
PROCStringGlobalSet( "computerhometoshibalibretto50ctGS",
computerhometoshibalibretto50ctGS )
PROCStringGlobalSet( "computerjobcompaqdeskproGS",
computerjobcompaqdeskproGS )
PROCStringGlobalSet( "computerhomedelllatitudec600GS",
computerhomedelllatitudec600GS )
PROCStringGlobalSet( "computerjobdelllatitudec600GS",
computerjobdelllatitudec600GS )
PROCStringGlobalSet( "dirGS", dirmainGS )
PROCStringGlobalSet( "driveGS", dirmainGS )
PROCStringGlobalSet( "drivetexGS", drivetexGS )
PROCStringGlobalSet( "filenameaddressextraGS", filenameaddressextraGS )
PROCStringGlobalSet( "filenameaddressGS", filenameaddressGS )
PROCStringGlobalSet( "filenamebookextraGS", filenamebookextraGS )
PROCStringGlobalSet( "filenamebookGS", filenamebookGS )
PROCStringGlobalSet( "filenamedatabaseGS", filenamedatabaseGS )
PROCStringGlobalSet( "filenamedefnotfoundGS", filenamedefnotfoundGS )
PROCStringGlobalSet( "filenamedoGS", filenamedoGS )
PROCStringGlobalSet( "filenamedoibmthinkpad380GS",
filenamedoibmthinkpad380GS )
PROCStringGlobalSet( "filenamedotoshibalibretto110ctGS",
filenamedotoshibalibretto110ctGS )
PROCStringGlobalSet( "filenamedotoshiba_libretto50ctGS",
filenamedotoshiba_libretto50ctGS )
PROCStringGlobalSet( "filenamedodelllatitudeGS",
filenamedodelllatitudeGS )
PROCStringGlobalSet( "filenamedocompaqdeskproGS",
filenamedocompaqdeskproGS )
PROCStringGlobalSet( "filenameerrorGS", filenameerrorGS )
PROCStringGlobalSet( "filenameeventGS", filenameeventGS )
PROCStringGlobalSet( "filenamefilesGS", filenamefilesGS )
PROCStringGlobalSet( "filenamelogGS", filenamelogGS )
PROCStringGlobalSet( "filenamemapGS", filenamemapGS )
PROCStringGlobalSet( "filenameoutputGS", filenameoutputGS )
PROCStringGlobalSet( "filenameresultGS", filenameresultGS )
PROCStringGlobalSet( "filenamestoreGS", filenamestoreGS )
PROCStringGlobalSet( "filenamevocabularyGS", filenamevocabularyGS )
PROCStringGlobalSet( "internetbrowserexplorerexeGS",
internetbrowserexplorerexeGS )
PROCStringGlobalSet( "internetbrowsernetscapeexeGS",
internetbrowsernetscapeexeGS )
PROCStringGlobalSet( "internetbrowseroperaexeGS",
internetbrowseroperaexeGS )
PROCStringGlobalSet( "internetbrowsercompuserveexeGS",
internetbrowsercompuserveexeGS )
PROCStringGlobalSet( "internetcablemodemexeGS",
internetcablemodemexeGS )
PROCStringGlobalSet( "keywordbasicGS", keywordbasicGS )
PROCStringGlobalSet( "keywordbatGS", keywordbatGS )
PROCStringGlobalSet( "keywordcGS", keywordcGS )
PROCStringGlobalSet( "keywordcppGS", keywordcppGS )
PROCStringGlobalSet( "keyworddokGS", keyworddokGS )
PROCStringGlobalSet( "keywordjavaGS", keywordjavaGS )
PROCStringGlobalSet( "keywordjavascriptGS", keywordjavascriptGS )
PROCStringGlobalSet( "keywordlotusscriptGS", keywordlotusscriptGS )
PROCStringGlobalSet( "keywordmapleGS", keywordmapleGS )
PROCStringGlobalSet( "keywordpascalGS", keywordpascalGS )
PROCStringGlobalSet( "keywordphpGS", keywordphpGS )
PROCStringGlobalSet( "keywordtseGS", keywordtseGS )
PROCStringGlobalSet( "libraryaspGS", libraryaspGS )
PROCStringGlobalSet( "librarybasicGS", librarybasicGS )
PROCStringGlobalSet( "librarybatGS", librarybatGS )
PROCStringGlobalSet( "librarycGS", librarycGS )
PROCStringGlobalSet( "librarycppGS", librarycppGS )
PROCStringGlobalSet( "librarydelphiGS", librarydelphiGS )
PROCStringGlobalSet( "librarydokGS", librarydokGS )
PROCStringGlobalSet( "libraryhtmlGS", libraryhtmlGS )
PROCStringGlobalSet( "libraryjavaGS", libraryjavaGS )
PROCStringGlobalSet( "libraryjavascriptGS", libraryjavascriptGS )
PROCStringGlobalSet( "libraryjspGS", libraryjspGS )
PROCStringGlobalSet( "librarylotusscriptGS", librarylotusscriptGS )
PROCStringGlobalSet( "librarymapleGS", librarymapleGS )
PROCStringGlobalSet( "librarypascalGS", librarypascalGS )
PROCStringGlobalSet( "libraryperlGS", libraryperlGS )
PROCStringGlobalSet( "libraryphpGS", libraryphpGS )
PROCStringGlobalSet( "librarypythonGS", librarypythonGS )
PROCStringGlobalSet( "librarypostscriptGS", librarypostscriptGS )
PROCStringGlobalSet( "librarysqlGS", librarysqlGS )
PROCStringGlobalSet( "librarytexGS", librarytexGS )
PROCStringGlobalSet( "librarytseGS", librarytseGS )
PROCStringGlobalSet( "libraryumlGS", libraryumlGS )
PROCStringGlobalSet( "librarywshGS", librarywshGS )
PROCStringGlobalSet( "libraryxmlGS", libraryxmlGS )
PROCStringGlobalSet( "mailsupportGS", mailsupportGS )
PROCStringGlobalSet( "mailuserGS", mailuserGS )
PROCStringGlobalSet( "networkdrivenametoshibalibretto50ctGS",
networkdrivenametoshibalibretto50ctGS )
PROCStringGlobalSet( "networkdrivenameibmthinkpad380dGS",
networkdrivenameibmthinkpad380dGS )
PROCStringGlobalSet( "networkdrivenametoshibalibretto110ctGS",
networkdrivenametoshibalibretto110ctGS )
PROCStringGlobalSet( "networkdrivenamedelllatitudec600GS",
networkdrivenamedelllatitudec600GS )
PROCStringGlobalSet( "networkdrivenamecompaqdeskproGS",
networkdrivenamecompaqdeskproGS )
PROCStringGlobalSet( "programaspGS", programaspGS )
PROCStringGlobalSet( "programbasicGS", programbasicGS )
PROCStringGlobalSet( "programbatGS", programbatGS )
PROCStringGlobalSet( "programcGS", programcGS )
PROCStringGlobalSet( "programcppGS", programcppGS )
PROCStringGlobalSet( "programdelphiGS", programdelphiGS )
PROCStringGlobalSet( "programdokGS", programdokGS )
PROCStringGlobalSet( "programhtmlGS", programhtmlGS )
PROCStringGlobalSet( "programjavaGS", programjavaGS )
PROCStringGlobalSet( "programjavascriptGS", programjavascriptGS )
PROCStringGlobalSet( "programjspGS", programjspGS )
PROCStringGlobalSet( "programlotusscriptGS", programlotusscriptGS )
PROCStringGlobalSet( "programmapleGS", programmapleGS )
PROCStringGlobalSet( "programpascalGS", programpascalGS )
PROCStringGlobalSet( "programperlGS", programperlGS )
PROCStringGlobalSet( "programphpGS", programphpGS )
PROCStringGlobalSet( "programpostscriptGS", programpostscriptGS )
PROCStringGlobalSet( "programpythonGS", programpythonGS )
PROCStringGlobalSet( "programsqlGS", programsqlGS )
PROCStringGlobalSet( "programtexGS", programtexGS )
PROCStringGlobalSet( "programtseGS", programtseGS )
PROCStringGlobalSet( "programumlGS", programumlGS )
PROCStringGlobalSet( "programwshGS", programwshGS )
PROCStringGlobalSet( "programxmlGS", programxmlGS )
PROCStringGlobalSet( "programmssdkGS", programmssdkGS )
PROCStringGlobalSet( "projectbookawetaGS", projectbookawetaGS )
PROCStringGlobalSet( "searchQdirectoryoutputGS",
searchQdirectoryoutputGS )
PROCStringGlobalSet( "searchQfileoutputnumberGS",
searchQfileoutputnumberGS )
PROCStringGlobalSet( "searchQinputGS", searchQinputGS )
PROCStringGlobalSet( "searchQoutputGS", searchQoutputGS )
PROCFilenameFavoriteInitialize()
IF NOT FNComputerNameEqualB( dirmainGS + "bbc\computer.bbc" )
PROCWarn( "initglob.s compiled for " + computerGS + ", recompile for
current computer " + FNComputerNameCurrentS( dirmainGS
+ "bbc\computer.bbc" ) )
RETURN()
ENDIF
PROCFileInitGlobalCopy( "initglob.mac", FNStringConcatS(
driveGS, "i.m" ) )
END
// library: string: initialize [kn, ri, mo, 09-07-2001 12:00:07]
STRING PROC FNInitializeNewStringS()
RETURN( FNStringEmptyS() )
END
// library: quote: path: if a string contains spaces, put quotes ""
around it [kn, zoe, tu, 13-03-2001 13:07:34]// library: string:
character: token: get: all: get all the characters in the string [kn,
ni, wo, 28-07-1999 03:22:12]
STRING PROC FNQuotePathS( STRING inS )
// e.g. <F12> PROCMessage( FNQuotePathS( "c:\program files" ) ) //
gives "c:\program files"
STRING s[255] = inS
IF FNStringFoundB( " ", s )
s = FNStringConcat3S( '"', s, '"' )
ENDIF
RETURN( s )
END
// library: string: concatenation: concatenation 2 words tot 1 word
[kn, zoe, th, 01-02-2001 19:32:49]
STRING PROC FNStringConcatS( STRING s1, STRING s2 ) // version with
test if string empty
RETURN( FNStringConcatSeparatorS( s1, s2, "" ) )
END
// library: integer: global: set: set a global integer [kn, zoe, th, 21-
12-2000 17:05:25]
PROC PROCIntegerGlobalSet( STRING stringglobalnameS, INTEGER
integerglobalvalueI )
IF NOT FNIntegerGlobalSetB( stringglobalnameS, integerglobalvalueI )
PROCWarn( stringglobalnameS + ": global integer could not be
created" )
ENDIF
END
// library: string: global: set: set a global string [kn, zoe, fr, 13-
10-2000 18:57:50]
PROC PROCStringGlobalSet( STRING stringglobalnameS, STRING
stringglobalvalueS )
IF NOT FNStringGlobalSetB( stringglobalnameS, stringglobalvalueS )
PROCWarn( stringglobalnameS + ": global string could not be created" )
ENDIF
END
// library: file: favorite: initialize [kn, ri, su, 04-03-2001 02:51:02]
PROC PROCFilenameFavoriteInitialize()
INTEGER T = 1
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalAddressS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalBookS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDatabaseS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDoMainS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDoS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDoThinkpad380dS() )
T = FNFilenameFavoriteCreateI( T,
FNFilenameGlobalDoToshibaLibretto110CtS() )
T = FNFilenameFavoriteCreateI( T,
FNFilenameGlobalDoToshiba_Libretto50CtS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDoDellLatitudeC600S
() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalDoCompaqDeskProS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalEventS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalFileS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryAspS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryBasicS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryBatS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryCS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryCppS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryDelphiS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryDokS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryHtmlS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryJavaS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryJavaScriptS
() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryJspS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryLotusScriptS
() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryMapleS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryPascalS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryPerlS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryPhpS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryPostScriptS
() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryPythonS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibrarySqlS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryTexS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryTseS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryUmlS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryWshS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLibraryXmlS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalLogS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalMapS() )
T = FNFilenameFavoriteCreateI( T, FNFilenameGlobalVocabularyS() )
PROCIntegerGlobalSet( "filenamefavoriteGT", T - 1 ) // total amount of
favorite files
END
// library: computer: name: equal? [kn, zoe, fr, 27-10-2000 02:00:47]
INTEGER PROC FNComputerNameEqualB( STRING filenameS )
// e.g. <F12> PROCMessage( FNComputerNameEqualB( filenameS ) ) //
gives ...
RETURN( FNStringEqualB( FNComputerNameCurrentS( filenameS ),
FNNameGlobalComputerS() ) )
END
// library: error: warning: give a warning message [kn, zoe, wo, 09-06-
1999 22:11:07]
PROC PROCWarn( STRING s )
// e.g. <F12> PROCWarn( "you have forgotten to input a value" )
Warn( s )
END
// library: computer: name: current computer [kn, ri, fr, 27-10-2000
02:13:52]
STRING PROC FNComputerNameCurrentS( STRING filenameS )
RETURN( FNComputerNameBbcToTseS( FNpath( filenameS ) ) )
END
// library: file: initialize: global: copy to directory (where it is
not deleted) [kn, ri, su, 29-07-2001 23:57:20]
PROC PROCFileInitGlobalCopy( STRING filenamefromS, STRING filenametoS )
// PROCMessageCons3( "remember to copy updated", filenamefromS,
filenametoS )
IF FNFileDifferentB( filenamefromS, filenametoS )
PROCFileCopyYesNoCancel( filenamefromS, filenametoS )
ENDIF
END
// library: string: empty: return an empty string [kn, ri, za, 20-05-
2000 20:11:03]
STRING PROC FNStringEmptyS()
RETURN( "" )
END
// library: string: search/find: indicate if found [kn, ni, do, 06-08-
1998 16:23:33]
INTEGER PROC FNStringFoundB( STRING searchS, STRING containS )
// e.g. PROC Main() Message( IIF( FNStringFoundB( ",", "This line
contains a ','" ), "Found", "Not Found" ) ) END
RETURN( FNInStrFoundB( FNInStrI( containS, searchS ) ) )
// variation: RETURN( Pos( searchS, containS ) <> 0 )
END
// library: string: concatenation: 3 strings [kn, zoe, th, 01-02-2001
19:32:54]
STRING PROC FNStringConcat3S( STRING s1, STRING s2, STRING s3 )
RETURN( FNStringConcatS( FNStringConcatS( s1, s2 ), s3 ) )
END
// library: string: concatenation: concatenate 2 words to 1 word,
separated by separator S [kn, zoe, do, 01-07-1999 01:33:18]
STRING PROC FNStringConcatSeparatorS( STRING s1, STRING s2, STRING
separatorS )
IF FNStringEmptyB( s1 ) RETURN( s2 ) ENDIF
IF FNStringEmptyB( s2 ) RETURN( s1 ) ENDIF
RETURN( s1 + separatorS + s2 )
END
// library: integer: global: set a global integer [kn, zoe, fr, 13-10-
2000 18:55:44]
INTEGER PROC FNIntegerGlobalSetB( STRING stringglobalnameS, INTEGER
integerglobalvalueI )
RETURN( SetGlobalInt( stringglobalnameS, integerglobalvalueI ) )
END
// library: string: global: set a global string [kn, zoe, fr, 13-10-
2000 18:55:44]
INTEGER PROC FNStringGlobalSetB( STRING stringglobalnameS, STRING
stringglobalvalueS )
RETURN( SetGlobalStr( stringglobalnameS, stringglobalvalueS ) )
END
// library: file: favorite: create and increase the counter [kn, ri,
su, 04-03-2001 02:51:02]
INTEGER PROC FNFilenameFavoriteCreateI( INTEGER T, STRING s )
PROCArraySetString( "filename", "GS", T, s )
T = T + 1
RETURN( T )
END
// library: file: do: return name of current address file [kn, ri, su,
18-02-2001 08:00:34]
STRING PROC FNFilenameGlobalAddressS()
RETURN( FNStringGlobalGetS( "filenameaddressGS" ) )
END
// library: file: do: return name of book file [kn, ri, tu, 20-02-2001
04:28:15]
STRING PROC FNFilenameGlobalBookS()
RETURN( FNStringGlobalGetS( "filenamebookGS" ) )
END
// library: file: do: return name of current database file [kn, ri, su,
18-02-2001 08:02:58]
STRING PROC FNFilenameGlobalDatabaseS()
RETURN( FNStringGlobalGetS( "filenamedatabaseGS" ) )
END
// library: file: do: return name of main do file
(..\doen\kndo1001.dok) [kn, zoe, mo, 23-10-2000 18:55:46]
STRING PROC FNFilenameGlobalDoMainS()
RETURN( FNStringGlobalGetS( "filenamebookextraGS" ) )
END
// library: file: do: return name of current do file [kn, zoe, fr, 20-
10-2000 23:34:48]
STRING PROC FNFilenameGlobalDoS()
RETURN( FNStringGlobalGetS( "filenamedoGS" ) )
END
// library: file: do: return name of current do file [kn, zoe, fr, 20-
10-2000 23:34:48]
STRING PROC FNFilenameGlobalDoThinkpad380dS()
RETURN( FNStringGlobalGetS( "filenamedoibmthinkpad380GS" ) )
END
// library: file: do: return name of current do file [kn, zoe, fr, 20-
10-2000 23:34:48]
STRING PROC FNFilenameGlobalDoToshibaLibretto110CtS()
RETURN( FNStringGlobalGetS( "filenamedotoshibalibretto110ctGS" ) )
END
// library: file: do: return name of current do file [kn, zoe, fr, 20-
10-2000 23:34:48]
STRING PROC FNFilenameGlobalDoToshiba_Libretto50CtS()
RETURN( FNStringGlobalGetS( "filenamedotoshiba_libretto50ctGS" ) )
END
// library: file: do: return name of current do file [kn, zoe, fr, 20-
10-2000 23:34:48]
STRING PROC FNFilenameGlobalDoDellLatitudeC600S()
RETURN( FNStringGlobalGetS( "filenamedodelllatitudeGS" ) )
END
// library: file: do: return name of current do file [kn, ri, th, 02-08-
2001 21:58:48]
STRING PROC FNFilenameGlobalDoCompaqDeskProS()
RETURN( FNStringGlobalGetS( "filenamedocompaqdeskproGS" ) )
END
// library: file: do: return name of event file [kn, ri, tu, 20-02-2001
05:46:35]
STRING PROC FNFilenameGlobalEventS()
RETURN( FNStringGlobalGetS( "filenameeventGS" ) )
END
// library: file: do: return name of files file [kn, ri, tu, 20-02-2001
04:17:06]
STRING PROC FNFilenameGlobalFileS()
RETURN( FNStringGlobalGetS( "filenamefilesGS" ) )
END
// library: file: do: return name of current library file [kn, ri, we,
30-05-2001 13:42:06]
STRING PROC FNFilenameGlobalLibraryAspS()
RETURN( FNStringGlobalGetS( "libraryaspGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryBasicS()
RETURN( FNStringGlobalGetS( "librarybasicGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryBatS()
RETURN( FNStringGlobalGetS( "librarybatGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryCS()
RETURN( FNStringGlobalGetS( "librarycGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryCppS()
RETURN( FNStringGlobalGetS( "librarycppGS" ) )
END
// library: file: do: return name of current library file [kn, ri, su,
04-03-2001 02:42:45]
STRING PROC FNFilenameGlobalLibraryDelphiS()
RETURN( FNStringGlobalGetS( "librarydelphiGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryDokS()
RETURN( FNStringGlobalGetS( "librarydokGS" ) )
END
// library: file: do: return name of current library file [kn, ri, tu,
20-02-2001 05:34:36]
STRING PROC FNFilenameGlobalLibraryHtmlS()
RETURN( FNStringGlobalGetS( "libraryhtmlGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryJavaS()
RETURN( FNStringGlobalGetS( "libraryjavaGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryJavaScriptS()
RETURN( FNStringGlobalGetS( "libraryjavascriptGS" ) )
END
// library: file: do: return name of current library file [kn, ri, we,
30-05-2001 13:41:55]
STRING PROC FNFilenameGlobalLibraryJspS()
RETURN( FNStringGlobalGetS( "libraryjspGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryLotusScriptS()
RETURN( FNStringGlobalGetS( "librarylotusscriptGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, th,
07-12-2000 21:59:54]
STRING PROC FNFilenameGlobalLibraryMapleS()
RETURN( FNStringGlobalGetS( "librarymapleGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryPascalS()
RETURN( FNStringGlobalGetS( "librarypascalGS" ) )
END
// library: file: do: return name of current library file [kn, ri, su,
04-03-2001 02:43:34]
STRING PROC FNFilenameGlobalLibraryPerlS()
RETURN( FNStringGlobalGetS( "libraryperlGS" ) )
END
// library: file: do: return name of current library file [kn, ri, fr,
03-08-2001 10:53:29]
STRING PROC FNFilenameGlobalLibraryPhpS()
RETURN( FNStringGlobalGetS( "libraryphpGS" ) )
END
// library: file: do: return name of current library file [kn, ri, fr,
03-08-2001 10:53:29]
STRING PROC FNFilenameGlobalLibraryPostScriptS()
RETURN( FNStringGlobalGetS( "librarypostscriptGS" ) )
END
// library: file: do: return name of current library file [kn, ri, fr,
03-08-2001 10:53:29]
STRING PROC FNFilenameGlobalLibraryPythonS()
RETURN( FNStringGlobalGetS( "librarypythonGS" ) )
END
// library: file: do: return name of current library file [kn, ri, fr,
03-08-2001 12:26:05]
STRING PROC FNFilenameGlobalLibrarySqlS()
RETURN( FNStringGlobalGetS( "librarysqlGS" ) )
END
// library: file: do: return name of current library file [kn, ri, su,
04-03-2001 02:44:03]
STRING PROC FNFilenameGlobalLibraryTexS()
RETURN( FNStringGlobalGetS( "librarytexGS" ) )
END
// library: file: do: return name of current library file [kn, zoe, fr,
20-10-2000 23:34:48]
STRING PROC FNFilenameGlobalLibraryTseS()
RETURN( FNStringGlobalGetS( "librarytseGS" ) )
END
// library: file: do: return name of current library file [kn, ri, fr,
03-08-2001 10:51:05]
STRING PROC FNFilenameGlobalLibraryUmlS()
RETURN( FNStringGlobalGetS( "libraryumlGS" ) )
END
// library: file: do: return name of current library file [kn, ri, su,
05-08-2001 22:18:51]
STRING PROC FNFilenameGlobalLibraryWshS()
RETURN( FNStringGlobalGetS( "librarywshGS" ) )
END
// library: file: do: return name of current library file [kn, ri, we,
30-05-2001 13:41:45]
STRING PROC FNFilenameGlobalLibraryXmlS()
RETURN( FNStringGlobalGetS( "libraryxmlGS" ) )
END
// library: file: do: return name of log file [kn, ri, tu, 20-02-2001
04:18:38]
STRING PROC FNFilenameGlobalLogS()
RETURN( FNStringGlobalGetS( "filenamelogGS" ) )
END
// library: file: do: return name of map file [kn, ri, tu, 20-02-2001
04:15:09]
STRING PROC FNFilenameGlobalMapS()
RETURN( FNStringGlobalGetS( "filenamemapGS" ) )
END
STRING PROC FNFilenameGlobalVocabularyS()
RETURN( FNStringGlobalGetS( "filenamevocabularyGS" ) )
END
// library: string: equal: Are two given strings equal? [kn, zoe, wo,
04-10-2000 18:23:27]
INTEGER PROC FNStringEqualB( STRING s1, STRING s2 )
// e.g. <F12> PROCMessage( FNStringEqualB( "knud", "knud" ) ) // gives
TRUE
// e.g. <F12> PROCMessage( FNStringEqualB( "knud", "van" ) ) // gives
FALSE
RETURN( s1 == s2 )
END
// library: file: do: return name of current computer [kn, zoe, we, 25-
10-2000 19:15:15]
STRING PROC FNNameGlobalComputerS()
RETURN( FNStringGlobalGetS( "computerGS" ) )
END
// library: computer: name: bbc computer name to tse computer name [kn,
zoe, fr, 27-10-2000 02:00:49]
STRING PROC FNComputerNameBbcToTseS( STRING computernamebbcS )
STRING s[255] = FNInitializeNewStringS()
CASE computernamebbcS
WHEN "toshiba libretto 110ct"
s = "computerhometoshibalibretto110ct"
WHEN "toshiba libretto 50ct"
s = "computerhometoshibalibretto50ct"
WHEN "ibm os2 machine"
s = "computeribmos2"
WHEN "ibm windows95 machine"
s = "computeribmwindows95"
WHEN "ibm thinkpad 380d"
s = "computerhomeibmthinkpad380d"
WHEN "ibm thinkpad 570"
s = "computeribm570rijswijk"
WHEN "dell latitude c600"
s = "computerhomedelllatitudec600"
WHEN "compaq deskpro"
s = "computerjobcompaqdeskpro"
OTHERWISE
PROCErrorCaseNotFound( "", "FNComputerNameBbcToTseS(",
computernamebbcS + ": not defined yet. Please check this" )
RETURN( FNErrorS() )
ENDCASE
RETURN( s )
END
// library: computer: get the computer [kn, zoe, fr, 27-10-2000
01:37:48]
STRING PROC FNpath( STRING filenameS )
// e.g. <F12> PROCMessage( FNpath( "c:\kee\bbc\computer.bbc" ) ) //
gives ...
STRING s[255] = FNInitializeNewStringS()
PROCSituationOldStore()
IF NOT FNFileOpenB( filenameS )
PROCWarn( "File: " + filenameS + " could not be opened" )
RETURN( FNErrorS() )
ENDIF
s = FNFileLineFirstGetS( filenameS )
IF FNStringEmptyB( FNCarS( s ) )
PROCWarn( "File: " + filenameS + " did not contain any information.
Empty" )
RETURN( FNErrorS() )
ENDIF
PROCFileClose( filenameS )
PROCSituationOldRestore()
RETURN( s )
END
// library: file: size: disk: return true if the total amount of bytes
the 2 files takes on disk are not equal [kn, ri, tu, 02-01-2001
03:32:03]
INTEGER PROC FNFileDifferentB( STRING filename1S, STRING filename2S )
RETURN( FNFileSizeDiskEqualNotB( filename1S, filename2S ) )
END
// library: copy file1 to file2, with asking yes/no/cancel [kn, zoe,
we, 03-01-2001 01:12:30]
PROC PROCFileCopyYesNoCancel( STRING filename1S, STRING filename2S )
IF FNInputYesNoCancelB( "Copy " + filename1S + " to " + filename2S
+ " ?" )
IF FNInputYesNoCancelB( "SURE copy " + filename1S + " to " +
filename2S + " ?" )
PROCFileCopy( filename1S, filename2S, TRUE )
ENDIF
ENDIF
END
// library: string: search/find: found [kn, ri, zo, 19-12-1999 23:13:29]
INTEGER PROC FNInStrFoundB( INTEGER T )
// e.g. <F12> PROCMessage( FNInStrFoundB( FNInStrI
( "knud", "n" ) ) ) // gives TRUE
RETURN( FNMathLogicNotB( FNMathNumberEqualB( T, 0 ) ) ) // can also
be -1 e.g. in JavaScript, so keep this instead of using FNMathEqualZeroB
()
END
// library: string: search/find: find the first position of a string
you search, in a given string / Returns Starting Position of One String
Within Another) R Pos(STRING needle, STRING haystack)* [kn, ri, za,
12-12-1998 20:08:55]
INTEGER PROC FNInStrI( STRING s, STRING searchS )
// e.g. PROC Main() Message( IIF( FNInStrI( "This line contains
a ','", "," ) <> 0, "Found", "Not Found" ) ) END
RETURN( Pos( searchS, s ) )
END
// library: string: empty: is given string empty? [kn, ri, za, 20-05-
2000 20:11:08]
INTEGER PROC FNStringEmptyB( STRING s )
RETURN( FNStringEqualB( s, "" ) )
END
// library: array: set: string [kn, ri, sa, 03-03-2001 01:55:13]
PROC PROCArraySetString( STRING arraybeginS, STRING arrayendS, INTEGER
T, STRING valueS )
PROCStringGlobalSet( FNArrayNameS( arraybeginS, arrayendS, T ),
valueS )
END
// library: string: global: get: get a global string [kn, zoe, ma, 14-
06-1999 20:54:18]
STRING PROC FNStringGlobalGetS( STRING stringglobalnameS )
// e.g. <F12> PROCMessage( FNStringGlobalGetS( "dirGS" ) ) // e.g.
gives "c:\"
// e.g. <F12> PROCMessage( FNStringGlobalGetS( "dir1GS" ) ) //
indicates first that this string does not exist, and returns the
result '<VARIABLE NOT KNOWN>'.
STRING s[255] = FNInitializeNewStringS()
IF NOT ExistGlobalVar( stringglobalnameS )
PROCWarnCons5( "file", FNFilenameCurrentS(), ":",
stringglobalnameS, ": this string is not known to this macro
(suggestion: execute 'initglobal.mac' (or 'i.m') for this macro)" )
RETURN( FNErrorS() )
ENDIF
s = GetGlobalStr( stringglobalnameS )
RETURN( s )
END
// library: error: case: not: found [kn, ri, we, 28-02-2001 23:08:10]
PROC PROCErrorCaseNotFound( STRING infoS, STRING procfnnameS, STRING
caseS )
PROCError( FNCons5S( procfnnameS, infoS, ": case: ", caseS, " not
found / unknown option" ) )
END
// library: error: general output string to recognize an error (e.g. in
another routine). Central routine, only one occurrence of this constant
string [kn, ri, za, 05-12-1998 20:58:17]
STRING PROC FNErrorS()
// e.g. <F12> PROCMessage( FNErrorS() ) // gives "<ERROR>"
RETURN( "<ERROR>" )
END
// library: push/pop: situation: store (blockpush, positionpush) [kn,
zoe, di, 18-07-2000 14:21:42]
PROC PROCSituationOldStore()
// e.g. <F11> PROCSituationOldstore()
// e.g. <F12> PROCSituationOldRestore()
PROCBlockPush()
PROCPositionPush()
END
// library: file: edit: open: open file and give error message if file
does not exist [kn, ri, zo, 16-05-1999 19:58:27]
INTEGER PROC FNFileOpenB( STRING filenameS )
// e.g. <F12> PROCMessage( FNFileOpenB( "ddd.bbc" ) ) // gives TRUE
IF NOT FNFileEditB( filenameS )
PROCErrorFileNotFound( filenameS )
RETURN( FALSE )
ENDIF
RETURN( TRUE )
END
// library: file: line: first: get the first line in the file [kn, zoe,
fr, 27-10-2000 01:42:17]
STRING PROC FNFileLineFirstGetS( STRING filenameS )
STRING s[255] = FNInitializeNewStringS()
PROCSituationOldStore()
IF NOT FNFileOpenB( filenameS )
PROCWarn( "File: " + filenameS + " could not be opened" )
RETURN( FNErrorS() )
ENDIF
PROCFileGotoBegin()
s = FNLineGetS()
PROCFileClose( filenameS )
PROCSituationOldRestore()
RETURN( s )
END
// library: string: word: token: get: first: FNCarS(): Get the first
word of a string (words delimited by a space " "). [kn, ni, zo, 02-08-
98 15:54:17]
STRING PROC FNCarS( STRING s )
// E.g. Message( FNCarS( "Knud is the best" ) ) gives "Knud"
// variation: RETURN( FNStringTokenFirstS( s, " " ) )
RETURN( GetToken( s, " ", 1 ) ) // faster, but not central
END
// library: file: quit: abandon: abandon the given file (without
saving) [kn, ni, ma, 10-08-1998 06:06:57]
PROC PROCFileClose( STRING filenameS )
// e.g. <F12> PROCFileClose( "myfile" )
PROCSituationOldStore()
PROCMessageCons( "closing file:", filenameS )
IF NOT FNFileEditB( filenameS )
PROCError( "not currently editing file: " + filenameS )
PROCSituationOldRestore()
RETURN()
ENDIF
IF NOT FNFileWriteBlockB()
PROCError( "error saving file: " + filenameS )
ENDIF
PROCFileAbandonWithoutAsking( filenameS )
PROCSituationOldRestore()
END
// library: push/pop: situation: store (blockpush, positionpush) [kn,
zoe, di, 18-07-2000 14:21:42]
PROC PROCSituationOldRestore()
// e.g. <F11> PROCSituationOldstore()
// e.g. <F12> PROCSituationOldRestore()
PROCPositionPop()
PROCBlockPop()
END
// library: file: size: disk: return true if the total amount of bytes
the 2 files takes on disk are not equal [kn, ri, tu, 02-01-2001
03:32:03]
INTEGER PROC FNFileSizeDiskEqualNotB( STRING filename1S, STRING
filename2S )
RETURN( FNMathLogicNotB( FNFileSizeDiskEqualB( filename1S,
filename2S ) ) )
END
// library: input: input yes or no or cancel box. Only Yes gives TRUE
[kn, ri, do, 01-04-1999 22:15:03]
INTEGER PROC FNInputYesNoCancelB( STRING infoS )
// e.g. <F12> PROCMessage( FNInputYesNoCancelB( "Do you want to delete
the block?" ) ) // asks yes/no/cancel
CASE FNInputYesNoCancelI( infoS )
WHEN 0 RETURN( FALSE ) // <Escape> or <Cancel>
WHEN 1 RETURN( TRUE ) // Yes selected
WHEN 2 RETURN( FALSE ) // No selected
OTHERWISE
// do nothing
ENDCASE
RETURN( FALSE ) // everything else false
END
// library: file: copy: copy file1 to file2 [kn, zoe, th, 02-11-2000
18:00:15]
PROC PROCFileCopy( STRING filename1S, STRING filename2S, INTEGER
keypressB )
IF keypressB
PROCFileCopyKeypressYes( filename1S, filename2S )
ELSE
PROCFileCopyKeypressNo( filename1S, filename2S )
ENDIF
END
// library: math: logic: not [kn, ri, tu, 15-05-2001 16:54:21]
INTEGER PROC FNMathLogicNotB( INTEGER B )
RETURN( NOT B )
END
// library: math: number: number1 EQUAL TO number2? [kn, ri, th, 03-05-
2001 12:51:27]
INTEGER PROC FNMathNumberEqualB( INTEGER x1, INTEGER x2 )
RETURN( x1 == x2 )
END
// library: array: name: string [kn, ri, sa, 03-03-2001 01:57:58]
STRING PROC FNArrayNameS( STRING arraybeginS, STRING arrayendS, INTEGER
T )
RETURN( FNStringConcat3S( arraybeginS, FNIntegerToStringS( T ),
arrayendS ) )
END
// library: error: warning: give a warning message via 5 strings [kn,
ri, su, 29-07-2001 18:57:23]
PROC PROCWarnCons5( STRING s1, STRING s2, STRING s3, STRING s4, STRING
s5 )
PROCWarn( FNCons5S( s1, s2, s3, s4, s5 ) )
END
// library: file: filename: get: current: return current filename (as a
string containing the complete path) (Get Full Name of Current Buffer)
[kn, ni, za, 08-08-1998 00:02:37] [FNfilenamecurrent]
STRING PROC FNFileNameCurrentS()
// e.g. <F12> PROCMessage( "Current filename = ",
FNFilenameCurrentS ) // gives e.g. c:\temp\ddd.dok
RETURN( CurrFilename() )
END
// library: error: central routine [kn, ni, ma, 03-08-98 13:08:12]
// INTEGER ErrorGB = FALSE
PROC PROCError( STRING s )
// e.g. <F12> PROCError( "this is an error" )
PROCPositionPush()
// Alarm()
// PROCWarn( s )
// Message( s )
// PROCWarn( "Linenr ", FNLineNumberCurrentT(), ": ", s )
Message( "Linenr ", FNLineNumberCurrentT(), ": ", s )
// only when seriously: PROCFileTextInsertEnd( "line " + STR(
FNLineNumberCurrentT() ) + ": " + s, filenameerrorGS, TRUE )
// errorGB = TRUE
PROCPositionPop()
END
// library: string: concatenation: 5 strings [kn, zoe, fr, 17-11-2000
13:55:03]
STRING PROC FNCons5S( STRING s1, STRING s2, STRING s3, STRING s4,
STRING s5 )
RETURN( FNConsS( FNCons4S( s1, s2, s3, s4 ), s5 ) )
END
// library: push/pop: block: push: use this when you want to restore
your old block position: store old (Saves Current Block Status on
Marked Block Stack) [kn, zoe, vr, 04-06-1999 22:22:42]
PROC PROCBlockPush()
// e.g. <F12> PROCBlockPush()
PushBlock()
END
// library: push/pop: position: store: push [kn, zoe, vr, 04-06-1999
23:01:00]
PROC PROCPositionPush()
// e.g. <F12> PROCPositionPush()
PushPosition()
// pushpopGT = pushpopGT + 1 // for checking purposes on the end of
your routines. This must give 0 (as there as as many +1 as -1 in the OK
case)
END
// library: file: edit: edit a file, with test of problems [kn, ni, ma,
03-08-98 13:08:39]
INTEGER PROC FNFileEditB( STRING filenameS )
// e.g. <F12> PROCMessage( FNFileEditB( "myfile" ) ) // gives TRUE
IF NOT EditFile( filenameS )
PROCErrorFileNotFound( filenameS )
RETURN( FALSE )
ENDIF
RETURN( TRUE )
END
// library: error: file: not: found [kn, ri, we, 28-02-2001 23:02:12]
PROC PROCErrorFileNotFound( STRING filenameS )
PROCError( FNCons3S( "file: ", filenameS, " not found / path does not
exist" ) )
END
// library: file: movement: goto begin of file [kn, ri, zo, 28-03-1999
01:08:06]
PROC PROCFileGotoBegin()
// e.g. <F12> PROCFileGotoBegin()
IF NOT FNFileGotoBeginB()
// PROCWarn( "cursor was already in begin file else error: could no
go to begin of file" )
ENDIF
END
// library: input: line: get current line [kn, ri, za, 05-12-1998
22:27:51]
STRING PROC FNLineGetS()
// e.g. <F12> PROCMessage( FNLineGetS() ) // get text of current line
STRING s[255] = FNInitializeNewStringS()
PROCPositionPush()
PROCBlockPush()
PROCBlockUnMark()
PROCLineMark() // variation: PROCLineGotoBegin() PROCCharacterMark()
PROCLineGotoEnd() PROCCharacterMark() // variation: PROCLineGotoBegin
() MarkColumn() PROCLineGotoEnd()
s = FNTextMarkGetS()
PROCBlockPop()
PROCPositionPop()
RETURN( s )
END
// library: message: via 2 strings [kn, ri, su, 29-07-2001 18:24:52]
PROC PROCMessageCons( STRING s1, STRING s2 )
PROCMessage( FNConsS( s1, s2 ) )
END
// library: file: block: write/save (Saves Current File to Disk Under
its Current Name) N * [kn, zoe, fr, 20-10-2000 20:19:03]
INTEGER PROC FNFileWriteBlockB()
RETURN( FNFileSaveB() )
END
// library: file: quit: abandon the given file (without saving). You
must give the full path, or else it will not work [kn, ni, ma, 10-08-
1998 06:06:57]
PROC PROCFileAbandonWithoutAsking( STRING filenameS )
// e.g. <F12> PROCFileAbandonWithoutAsking( "myfile" )
// Message( 'abandoning file: ', filenameS )
// IF NOT FNFileInRingB( filenameS ) RETURN() ENDIF // put '//' in
front [kn, ri, we, 04-07-2001 12:18:15]
PROCFileEdit( filenameS ) // make the involved file the current file
FNFileAbandonB()
END
// library: push/pop: position: restore: pop [kn, zoe, vr, 04-06-1999
23:01:00]
PROC PROCPositionPop()
// e.g. <F12> PROCPositionPop()
PopPosition()
// pushpopGT = pushpopGT - 1 // for checking purposes on the end of
your routines. This must give 0 (as there as as many +1 as -1 in the OK
case)
END
// library: push/pop: block: pop: use this when you want to restore
your old block position: get old (Unmarks Current Block and Marks Block
From Stack) [kn, zoe, vr, 04-06-1999 22:22:42]
PROC PROCBlockPop()
// e.g. <F12> PROCBlockPop()
PopBlock()
END
// library: file: size: disk: return true if the total amount of bytes
the 2 files takes on disk are equal [kn, ri, tu, 02-01-2001 03:32:03]
INTEGER PROC FNFileSizeDiskEqualB( STRING filename1S, STRING
filename2S )
// e.g. <F12> Message( FNFileSizeDiskEqualB
( "c:\bbc\taal\initglob.mac", "c:\i.m" ) ) // gives TRUE if both
filesizes is equal
RETURN( FNMathNumberEqualB( FNFileSizeDiskI( filename1S ),
FNFileSizeDiskI( filename2S ) ) )
END
// library: (Displays Pop-Up Menu on Screen and Prompts User) R YesNo
(STRING title)* [kn, zoe, wo, 16-06-1999 01:07:13]
INTEGER PROC FNInputYesNoCancelI( STRING infoS )
RETURN( YesNo( infoS ) )
END
// library: file: copy: copy file1 to file2: wait for keypress [kn,
zoe, th, 02-11-2000 18:00:15]
PROC PROCFileCopyKeypressYes( STRING filename1S, STRING filename2S )
PROCFileCopyCentral( filename1S, filename2S, _DEFAULT_ )
END
// library: file: copy: copy file1 to file2: do not wait for keypress
[kn, zoe, th, 02-11-2000 18:00:15]
PROC PROCFileCopyKeypressNo( STRING filename1S, STRING filename2S )
PROCFileCopyCentral( filename1S, filename2S, _DONT_PROMPT_ )
END
// library: string: convert an integer to a string [kn, ni, ma, 03-08-
98 00:34:05] / [number to string]
STRING PROC FNIntegerToStringS( INTEGER i )
RETURN( Str( i ) )
END
// library: line: position: linenumber: return the current linenumber
(Get the Number of Current Line) [kn, ni, ma, 02-08-1999 00:46:42]
INTEGER PROC FNLineNumberCurrentT()
RETURN( CurrLine() )
END
// library: string: concatenation: concatenation 2 words tot 1 word
(separated by a comma) [kn, ri, wo, 25-11-1998 20:15:03]
STRING PROC FNConsS( STRING s1, STRING s2 ) // version with test if
string empty
// e.g. <F12> PROCMessage( FNConsS( "knud", "van" ) )
RETURN( FNStringConcatSeparatorS( s1, s2, " " ) )
END
// library: string: concatenation: 4 strings [kn, zoe, fr, 17-11-2000
13:54:56]
STRING PROC FNCons4S( STRING s1, STRING s2, STRING s3, STRING s4 )
RETURN( FNConsS( FNCons3S( s1, s2, s3 ), s4 ) )
END
// library: string: concatenation: 3 strings [kn, zoe, fr, 17-11-2000
13:52:07]
STRING PROC FNCons3S( STRING s1, STRING s2, STRING s3 )
RETURN( FNConsS( FNConsS( s1, s2 ), s3 ) )
END
// library: file: movement: begin: move cursor to row 1, column 1 of
current file. Zero is returned if the cursor position does not change.
For example, if the cursor is already at the beginning of the first
line of the file, zero is returned. If a column block is currently open
(it is still in the process of being marked), the cursor goes to the
first line of the file, without changing the current cursor column. See
also: EndFile() [kn, zoe, wo, 16-06-1999 01:06:30]
INTEGER PROC FNFileGotoBeginB()
// e.g. <F12> PROCMessage( FNFileGotoBeginB() )
RETURN( BegFile() )
END
// library: block: mark: unmark: (Unmarks Marked Block) N * [kn,
zoe, wo, 16-06-1999 01:07:12]
PROC PROCBlockUnMark()
// e.g. <F12> PROCBlockUnMark()
UnMarkBlock()
END
// library: line: mark: mark all the characters in the current line
(e.g. 2040 characters) [kn, zoe, ma, 14-06-1999 22:07:35]
PROC PROCLineMark()
// e.g. <F12> PROCLineMark()
PROCBlockUnMark() // unmark any existing block, as it is overruled by
the current marking anyhow
IF NOT FNLineMarkB()
PROCWarn( "Marking the line was not successful" )
ENDIF
END
// library: line: movement: begin: goto begin of line (=column 1 of the
current line). If the cursor is already at the beginning of the current
line, zero is returned. See also: EndLine() [kn, zoe, do, 17-06-1999
00:12:52]
PROC PROCLineGotoBegin()
IF NOT FNLineGotoBeginB()
// PROCWarn( "Could not go to the beginning of the current line" )
ENDIF
END
// library: string: character: current: mark: mark the current
character [kn, zoe, ma, 11-09-2000 17:54:36]
PROC PROCCharacterMark()
// e.g. <F12> PROCCharacterMark()
IF NOT FNCharacterMarkB()
PROCWarn( "current character could not be marked" )
RETURN()
ENDIF
END
// library: movement: line: goto the end of the line [kn, ni, ma, 03-08-
98 13:36:32]
PROC PROCLineGotoEnd()
// Message( "Goto the end of the line" )
IF NOT FNLineGotoEndB()
// PROCWarn( "could not go to the end of the line" )
ENDIF
END
// library: text: mark: get: (Copies Marked Block into String) N *
[kn, zoe, wo, 16-06-1999 01:06:55]
STRING PROC FNTextMarkGetS()
// e.g. <F12> PROCMessage( FNTextMarkGetS() ) // gives the currently
marked text
RETURN( GetMarkedText() )
END
// library: (Write Specified Expression(s) on Editor Status Line) R
Message(expr [, expr2]...)* [kn, zoe, wo, 16-06-1999 01:07:07]
PROC PROCMessage( STRING s )
Message( s )
END
// library: file: save [kn, zoe, mo, 20-11-2000 14:47:50]
INTEGER PROC FNFileSaveB()
RETURN( SaveFile() )
END
// library: file: edit: edit a file, with test of problems [kn, ri, za,
02-01-1999 19:28:37]
PROC PROCFileEdit( STRING filenameS )
// e.g. <F12> PROCFileEdit( "myfile" )
// variation: IF NOT FNFileEditB( "" ) // opens a prompt box for a
filename
// variation: IF NOT FNFileEditB( "*.*" ) // opens a prompt box with
filename to choose from
// variation: IF NOT FNFileEditB( filenameS, _DONT_PROMPT_ ) // does
not display any warnings
// variation: IF NOT FNFileEditB( filenameS, _DONT_LOAD_ )
IF NOT FNFileEditB( filenameS )
PROCErrorFileNotFound( filenameS )
ENDIF
END
// library: file: quit: abandon: (Exit File--No Save. Removes the
current or specified buffer from the editor, without any prompt,
discarding all unsaved changes). Syntax: AbandonFile( [ INTEGER
buffer_id ] ). See also: FileChanged(), QuitFile(), SaveAndQuitFile(),
EmptyBuffer() [kn, zoe, wo, 16-06-1999 01:06:25]
INTEGER PROC FNFileAbandonB()
// e.g. <F12> PROCMessage( FNFileAbandonB() ) // gives non zero number
if successful, zero (FALSE) on failure
RETURN( AbandonFile() )
END
// library: file: size: disk: return the total amount of bytes the file
takes on disk / TSE for DOS only [kn, ri, tu, 02-01-2001 03:32:03]
INTEGER PROC FNFileSizeDiskI( STRING filenameS )
#IFDEF WIN32
RETURN( FNFileSizeDiskWindowsI( filenameS ) )
#ELSE
RETURN( FNFileSizeDiskDosI( filenameS ) )
#ENDIF
END
// library: file: copy: copy file1 to file2: central [kn, ri, th, 01-03-
2001 00:56:33]
PROC PROCFileCopyCentral( STRING filename1S, STRING filename2S, INTEGER
flagB )
PROCDos( FNCons3S( "copy", filename1S, filename2S ), flagB )
END
// library: line: mark: mark the current line [kn, zoe, ma, 14-06-1999
22:07:35]
INTEGER PROC FNLineMarkB()
// e.g. <F12> PROCMessage( FNLineMarkB() ) // gives e.g. TRUE, and
marks
RETURN( MarkLine() )
END
// library: movement: line: goto the beginning of the line [kn, ni, ma,
03-08-98 13:36:31]
INTEGER PROC FNLineGotoBeginB() // version not central
// Message( "Goto the beginning of the line" )
RETURN( BegLine() )
END
// library: string: character: current: mark: mark the current
character [kn, zoe, ma, 11-09-2000 17:54:36]
INTEGER PROC FNCharacterMarkB()
// e.g. <F12> PROCMessage( FNCharacterMarkB() ) // gives ...
RETURN( FNBlockMarkStreamB() )
END
// library: movement: line: goto the beginning of the line [kn, ni, zo,
09-08-1998 18:00:41]
INTEGER PROC FNLineGotoEndB()
// Message( "Goto the end of the line" )
RETURN( EndLine() )
END
// library: file: size: disk: return the total amount of bytes the file
takes on disk / TSE for DOS only [kn, ri, tu, 02-01-2001 03:32:03]
INTEGER PROC FNFileSizeDiskDosI( STRING filenameS )
STRING dtaS[80] = FNInitializeNewStringS()
STRING s[50] = FNInitializeNewStringS()
SetDTA( dtaS )
IF NOT FindFirst( filenameS, _READONLY_ | _HIDDEN_ | _SYSTEM_)
PROCErrorFileNotFound( filenameS )
RETURN( 0 )
ENDIF
s = DecodeDTA( dtaS )
RETURN( FNStringToIntegerI( Trim( s[16:9] ) ) )
END
// library: file: size: disk: return the total amount of bytes the file
takes on disk / TSE for Windows only [kn, ri, we, 29-08-2001 01:59:13]
INTEGER PROC FNFileSizeDiskWindowsI( STRING filenameS )
// e.g. PROC Main()
// e.g. Message( FNFileSizeDiskWindowsI( "c:\autoexec.nt" ) ) //
gives ...
// e.g. END
// e.g.
// e.g. <F12> Main()
#IFDEF WIN32
INTEGER filesizeI = FNInitializeNewIntegerI()
IF FindThisFile( filenameS, _HIDDEN_ | _SYSTEM_ | _READONLY_ )
filesizeI = FFSize()
ELSE
PROCWarnCons3( "total size of filename", filenameS, "could not be
determined" )
filesizeI = 0
ENDIF
RETURN( filesizeI )
#ELSE
// do nothing
#ENDIF
END
// library: system: operating system: dos: passes a command to the
operating system [kn, zoe, wo, 16-06-1999 01:06:53]
PROC PROCDos( STRING s, INTEGER optionT )
// e.g. <F12> PROCDos( "dir", _DONT_PROMPT_ )
// e.g. <F12> PROCDos( "dir", _DEFAULT_ )
// e.g. <F12> PROCDos( "dir", _DONT_CLEAR_ )
// e.g. <F12> PROCDos( "dir", _TEE_OUTPUT_ )
// e.g. <F12> PROCDos( "dir", _RETURN_CODE )
IF NOT FNDosB( s, optionT )
PROCWarn( "DOS: child process: not succesful" )
ENDIF
PROCVideoResizeCheckWindows2000()
END
// library: block: mark: stream [kn, zoe, fr, 24-11-2000 19:08:32]
INTEGER PROC FNBlockMarkStreamB()
// e.g. <F12> PROCMessage( FNBlockMarkStreamB() ) // gives ...
RETURN( MarkStream() )
END
// library: error: warning: give a warning message via 3 strings [kn,
ri, su, 29-07-2001 18:24:52]
PROC PROCWarnCons3( STRING s1, STRING s2, STRING s3 )
PROCWarn( FNCons3S( s1, s2, s3 ) )
END
// library: string: convert a string to an integer [kn, ni, ma, 03-08-
98 00:32:54] [string to number]
INTEGER PROC FNStringToIntegerI( STRING s )
RETURN( Val( s ) )
END
// library: system: operating system: dos: passes a command to the
operating system [kn, zoe, wo, 16-06-1999 01:06:53]
INTEGER PROC FNDosB( STRING inS, INTEGER optionS )
STRING s[255] = inS
STRING dosS[255] = FNProgramRun4DosS() // default: run 4nt in
Windows2000
STRING exitS[255] = FNWordExitPipeS() // default: pipe '<exit' file in
the input stream, to stop waiting for your key press input, and further
automating
IF FNNameGlobalComputerWindows2000B() // variation #IFDEF WINNT2000XP
IF FNProgramRun4DosNotB( s )
s = FNCdrS( s ) // remove first word
dosS = FNStringEmptyS()
ENDIF
IF FNWordExitPipeNotB( s )
s = FNCdrS( s ) // remove first word
exitS = FNStringEmptyS() // no exit string
ENDIF
s = FNCons3S( dosS, s, exitS ) // make sure 4DOS or 4NT is your
command processor, instead of MSDOS
ENDIF
RETURN( Dos( s, optionS ) )
END
// library: system: operating system: Windows2000: dos: when returning
from a DOS session you have to manually reset the video screen size
[kn, ri, sa, 07-07-2001 20:19:21]
PROC PROCVideoResizeCheckWindows2000()
// e.g. <F12> PROCVideoResizeCheckWindows2000()
IF FNNameGlobalComputerWindows2000B() // variation #IFDEF WINNT2000XP
PROCVideoSizeDefault()
ENDIF
END
// library: system: operating system: Windows2000: When going to the
DOS command line in the TSE v2.5 for DOS version, the system waits
anyhow until the user types 'exit'. Here the word 'exit' is piped from
a file [kn, ri, we, 22-08-2001 23:35:36]
STRING PROC FNProgramRun4DosS()
RETURN( "c:\4dos\4nt.exe" )
END
// library: system: operating system: Windows2000: When going to the
DOS command line in the TSE v2.5 for DOS version, the system waits
anyhow until the user types 'exit'. Here the word 'exit' is piped from
a file [kn, ri, we, 22-08-2001 23:35:36]
STRING PROC FNWordExitPipeS()
RETURN( "<keybexit.bat" )
END
// library: file: do: is the name of the current computer the Dell
Latitude C600? [kn, ri, sa, 07-07-2001 19:57:14]
INTEGER PROC FNNameGlobalComputerWindows2000B()
RETURN( FNNameGlobalComputerDell_LatitudeC600B() )
END
// library: system: operating system: Windows2000: When going to the
DOS command line in the TSE v2.5 for DOS version, the system waits
anyhow until the user types 'exit'. Here the word 'exit' is piped from
a file [kn, ri, we, 22-08-2001 23:35:36]
INTEGER PROC FNProgramRun4DosNotB( STRING s )
RETURN( FNWordFrontEqualB( s, FNProgramRun4DosNotS() ) )
END
// library: string: word: token: get: rest: FNCdr(): Get a string,
without the first word (words delimited by a space " "). E.g. Message(
FNCarS( "Knud is the best" ) ) gives "Knud" // [kn, ni, zo, 02-08-98
15:54:17]
STRING PROC FNCdrS( STRING s )
RETURN( LTrim( FNStringWordDeleteFrontS( LTrim( s ), FNCarS(
s ) ) ) ) // Remove trailing spaces, determine the First word. Delete
the first word (=FNCarS), and finally remove the trailing spaces from
the result
END
// library: system: operating system: Windows2000: When going to the
DOS command line in the TSE v2.5 for DOS version, the system waits
anyhow until the user types 'exit'. Here the word 'exit' is piped from
a file [kn, ri, we, 22-08-2001 23:35:36]
INTEGER PROC FNWordExitPipeNotB( STRING s )
RETURN( FNWordFrontEqualB( s, FNWordExitPipeNotS() ) )
END
// library: video: screen: lines: default [kn, ri, su, 25-03-2001
03:52:20]
PROC PROCVideoSizeDefault()
// e.g. <F12> PROCVideoSizeDefault()
#IFDEF WIN32
PROCVideoLinesCentral( "-1,-1" ) // video.mac wants no spaces between
rows and columns
// PROCVideoLinesCentral( "35,110" ) // video.mac wants no spaces
between rows and columns
// PROCVideoLinesCentral( FNIntegerToStringS( FNIntegerGlobalGetI
( "videomaxrowGT" ) ) + "," + FNIntegerToStringS( FNIntegerGlobalGetI
( "videomaxcolGT" ) ) ) // video.mac wants no spaces between rows and
columns
#ELSE
PROCVideoLinesCentral( FNIntegerToStringS( FNIntegerGlobalGetI
( "videomaxrowGT" ) ) )
#ENDIF
END
// library: file: do: is the name of the current computer the Dell
Latitude C600? [kn, ri, sa, 07-07-2001 19:57:14]
INTEGER PROC FNNameGlobalComputerDell_LatitudeC600B()
// e.g. <F12> Message( FNNameGlobalComputerDell_LatitudeC600B() ) //
gives TRUE when running Dell Latitude
RETURN( FNNameGlobalComputerCentralB( FNComputerDellLatitudeC600S() ) )
END
// library: string: token: word: get: first: get the first word of a
string (separated by spaces) and test if equal to given string)
INTEGER PROC FNWordFrontEqualB( STRING s, STRING firstS )
// e.g. PROC Main()
// e.g. Message( FNWordFrontEqualB( "Knud van Eeden" , "Knud" ) ) //
gives TRUE
// e.g. END
// e.g.
// e.g. <F12> Main()
RETURN( FNStringEqualB( FNCarS( s ), firstS ) )
END
// library: system: operating system: Windows2000: When going to the
DOS command line in the TSE v2.5 for DOS version, the system waits
anyhow until the user types 'exit'. Here the word 'exit' is piped from
a file [kn, ri, we, 22-08-2001 23:35:36]
STRING PROC FNProgramRun4DosNotS()
RETURN( FNStringConcatS( "no", FNProgramRun4DosS() ) )
END
// library: string: word: token: delete: first: delete 1 occurence of a
given other string in front of a given string. E.g.
StringWordDeleteFront( "00001234567", "0" ) gives "0001234567".
Possible application: deleting the '0' in front of a phonenumber (e.g.
when dialling internationally). [kn, ni, zo, 02-08-98 16:30:45]
STRING PROC FNStringWordDeleteFrontS( STRING s, STRING deleteS )
// e.g. <F12> PROCMessage( FNStringWordDeleteFrontS( "this
is", "this" ) ) // gives " is"
// e.g. <F12> PROCMessage( FNStringWordDeleteFrontS( "the
girl", "the" ) ) // gives " girl"
// STRING PROC FNStringWordDeleteFirstS( STRING s, STRING deleteS )
INTEGER lengthdeleteI = FNStringLengthI( deleteS )
RETURN( SubStr( s, lengthdeleteI + 1, FNStringLengthI( s ) -
lengthdeleteI ) )
END
http://www.faqts.com/knowledge_base/view.phtml/aid/12673/fid/900