<script language = "VBscript" runat = "Server"> function dbug(ss) Response.Clear() Response.Write(ss) Response.End() end function '--dbug </script> <script language = "jscript" runat = "server"> /*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--* * DESCRIPTION: Converts patterns in text files to other patterns. * STATUS: working- tested 40% * DOCUMENTATION: c:\MJBlibrary\AspScripts\Documentation\Generalconversion.doc * DEPENDENCIES: fnErrorMessage [fnErrorMessage.asp] *--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*/ function fnGeneralConversion( sConversionTable, sPatternField, sReplacementField, sObjectFile, sTargetFile) { //-->-->-->-->-->-->-->-->--> //*** open the database connection var adoCon; //***The connection to the database var adoRs; //***General ADO Recordset variable var sQ; //***General Query String Variable var rePattern; //***A Regular Expression var bFoundA = new Boolean(); var bFoundA = new Boolean(); var fsoFile; //***FileScriptingObject var fsoObject; //***The object file var fsoTarget; //***The target file var strFileContents; //***Holds the contents of the object file var sReplacement; //***Holds the replacement string adoCon = Server.CreateObject("ADODB.connection"); adoCon.Open("DRIVER={SQL Server};SERVER=203.62.157.199", "mjb", "mjb"); adoCon.DefaultDatabase = "MJBdata"; adoRs = Server.CreateObject("ADODB.recordset"); adoRs.ActiveConnection = adoCon; //--<--<--<--<--<--<--<--<--< //--*--*--*--*--*--*--*--*--*--*--*--* //START OF ERROR CHECKING //--*--*--*--*--*--*--*--*--*--*--*--* if ((sConversionTable == null) || (sPatternField == null) || (sReplacementField == null)) { fnErrorMessage( "fnGeneralConversion", "?", "A required parameter was omitted from the function."); } /* if */ sQ = "sp_tables @table_name = '" + sConversionTable + "' "; adoRs.Open(sQ); if (adoRs.EOF) { fnErrorMessage( "fnGeneralConversion", "sConversionTable ('" + sConversionTable + "') ", "There is no such table in the database"); } /* if no records */ adoRs.Close(); sQ = "SELECT * " + "FROM " + sConversionTable + " ORDER BY priority "; adoRs.Open(sQ); if (adoRs.EOF) { fnErrorMessage( "fnGeneralConversion", "sConversionTable ('" + sConversionTable + "') ", "There is no data in the Conversion table."); } /* if */ for (var ii = 0; ii < adoRs.Fields.Count; ii++) { if (sPatternField == adoRs.Fields(ii).Name) {bFoundA = true;} if (sPatternField == adoRs.Fields(ii).Name) {bFoundB = true;} } /* for */ if (bFoundA == false) { fnErrorMessage( "fnGeneralConversion", "sPatternField ('" + sPatternField + "') ", "There is no such field in the table"); } /* if */ if (bFoundA == false) { fnErrorMessage( "fnGeneralConversion", "sReplacementField ('" + sReplacementField + "') ", "There is no such field in the table"); } /* if */ if (sObjectFile == null) { fnErrorMessage( "fnGeneralConversion", "sObjectFile", "The 'sObjectFile' parameter was omitted. This parameter is required"); } //***Note '\' is an escape character var Pattern = /^(\\)(\\)^(\\)/gi; Pattern = /\\/gi; path = sObjectFile.replace(Pattern, "\\\\"); //dbug(path) // Const ForReading = 1, ForWriting = 2, ForAppending = 8 fsoFile = Server.CreateObject("Scripting.FileSystemObject"); if (fsoFile.FileExists(path)) { fsoObject = fsoFile.OpenTextFile(path); sContents = fsoObject.ReadAll(); } else { fnErrorMessage( "fnGeneralConversion", "sObjectFile ('" + sObjectFile + "') ", "The file could not be found,<br> " + "please check the name and path "); } /* if else */ //***Note '\' is an escape character if (sTargetFile == null) { fnErrorMessage( "fnGeneralConversion", "sTargetFile", "The 'sTargetFile' parameter was omitted. This parameter is required"); } var Pattern = /^(\\)(\\)^(\\)/gi; Pattern = /\\/gi; path = sTargetFile.replace(Pattern, "\\\\"); //--*--*--*--*--*--*--*--*--*--*--*--* //END OF ERROR CHECKING //--*--*--*--*--*--*--*--*--*--*--*--* //***Convert the file contents fsoFileB = Server.CreateObject("Scripting.FileSystemObject"); while (!adoRs.EOF) { rePattern = new RegExp(adoRs.Fields.Item(sPatternField).Value, "gi"); sReplacement = adoRs(sReplacementField); sContents = sContents.replace(rePattern, sReplacement); adoRs.MoveNext(); } /* while */ //***Save the changes fsoTarget = fsoFileB.OpenTextFile(sTargetFile, 2, true); fsoTarget.Write(sContents); //*** clean up //fsoObject.Close(); fsoObject = null; //fsoTarget.Close(); fsoTarget = null; fsoFile = null; adoRs.Close(); adoRs = null; adoCon.Close(); adoCon = null; } /* fnGeneralConversion */ //--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--* </script>