Fine, Shawn, but don't forget to update also the changelog. :) MLL
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of > [EMAIL PROTECTED] > Sent: Saturday, August 30, 2003 10:55 PM > To: [EMAIL PROTECTED] > Subject: [DQSD-CVS] dqsd/searches qscb.xml,NONE,1.1 rh2t.xml,NONE,1.1 > vbsx.xml,NONE,1.1 wrp.xml,NONE,1.1 xrl.xml,NONE,1.1 > > > View the DQSD CVS repository here: > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/ > > Update of /cvsroot/dqsd/dqsd/searches > In directory sc8-pr-cvs1:/tmp/cvs-serv11643/searches > > Added Files: > qscb.xml rh2t.xml vbsx.xml wrp.xml xrl.xml > Log Message: > 5 searches - it's my first CVS commit, so please don't kill me! > > --- NEW FILE: qscb.xml --- > <search function="qscb"> > <name>VB Script - QuickSort Clipboard</name> > <description> > QuickSorts every line of text on the clipboard and > places it back onto the clipboard.<br /> > <div class="helpboxDescLabels">Usage:</div> > <table class="helpboxDescTable"> > <tr><td>qscb <strong>[/trim]</strong></td></tr> > </table> > <div class="helpboxDescLabels">Switches:</div> > <table class="helpboxDescTable"> > <tr><td>/trim</td><td> - </td><td>Trim each line before > sort</td></tr> > <tr><td>/1</td><td> - </td><td>Include any specific > line only once</td></tr> > </table> > <div class="helpboxDescLabels">Example:</div> > <table class="helpboxDescTable"> > <tr><td>qscb</td></tr> > <tr><td>qscb /trim</td></tr> > </table> > </description> > <category>Functions</category> > <link>http://www.ReliableAnswers.com/</link> > <contributor>Shawn K. Hall</contributor> > > <form name="qscbf" > action="http://reliableanswers.com/x/" > method="post"> > <input type="hidden" name="q" value="" /> > <textarea name="vbscode" style="display: none;"><![CDATA[ > > Dim q, qbTrim, qbSingle > q = document.qscbf.q.value > If InStr( 1, q, "/trim", 1) > 0 Then > qbTrim = True > Else > qbTrim = False > End If > If InStr( 1, q, "/1", 1) > 0 Then > qbSingle = True > Else > qbSingle = False > End If > Call QuickSortClipboard( qbTrim, qbSingle ) > > Sub QuickSortClipboard( bTrim, bSingle ) > Dim a, s, lIter > a = Split( ClipBoardGetText, vbCrLf ) > If bTrim Then > For lIter = LBound( a ) To UBound( a ) > a(lIter) = Trim( a(lIter) ) > Next > End If > Call QuickSortA( a, LBound( a ), UBound( a ) ) > s = Join(a, vbCrLf) > If bSingle Then > s = SortSingle( s ) > End If > Call ClipBoardSetText( s ) > Erase a > End Sub > Public Function SortSingle(sValues) > Dim sBuild, lIter, sLine, Values, Min, Max > Values = Split(sValues, vbCrLf) > Min = LBound(Values) > Max = UBound(Values) > sLine = "" > For lIter = Min To Max > If sLine = Values(lIter) Then > Values(lIter) = "" > Else > sLine = Values(lIter) > End If > Next > sBuild = Join(Values, vbCrLf) > While InStr(1, sBuild, vbCrLf & vbCrLf, 1) > sBuild = Replace(sBuild, vbCrLf & vbCrLf, vbCrLf) > Wend > SortSingle = sBuild > End Function > Sub QuickSortA( ByRef Values, ByVal Min, ByVal Max ) > Dim sMed, sMedL, lHi, lLo, lIter > If Min >= Max Then Exit Sub > lIter = Min + Int( Rnd( Max - Min + 1 ) ) > sMed = Values( lIter ) > sMedL = LCase( Values( lIter ) ) > Values( lIter ) = Values( Min ) > lLo = Min > lHi = Max > Do > Do While LCase( Values( lHi ) ) >= sMedL > lHi = lHi - 1 > If lHi <= lLo Then Exit Do > Loop > If lHi <= lLo Then > Values( lLo ) = sMed > Exit Do > End If > Values( lLo ) = Values( lHi ) > lLo = lLo + 1 > Do While LCase( Values( lLo ) ) < sMedL > lLo = lLo + 1 > If lLo >= lHi Then Exit Do > Loop > If lLo >= lHi Then > lLo = lHi > Values( lHi ) = sMed > Exit Do > End If > Values( lHi ) = Values( lLo ) > Loop > Call QuickSortA ( Values, Min, lLo - 1 ) > Call QuickSortA ( Values, lLo + 1, Max ) > End Sub > Function ClipBoardSetText( sText ) > ClipBoardSetText = window.clipboardData.SetData( "Text", sText ) > End Function > Function ClipBoardGetText() > ClipBoardGetText = window.clipboardData.GetData( "Text" ) > End Function > > ]]></textarea> > </form> > > <script><![CDATA[ > > function qscb (q) > { > document.qscbf.q.value = q; > > //get the vbs code > var qscbt = ""; > qscbt = document.qscbf.vbscode.value; > > //remove CDATA prefix and trailer > qscbt = qscbt.replace( /(\<\!\[CDATA\[)/g, '' ).replace( > /(\]\]\>)/g, '' ); > > //trim it > qscbt = qscbt.replace(/^\s+/g, '' ).replace(/\s+$/g, '' ); > > //run the script > window.execScript( qscbt, "vbscript" ); > > //return > return ( true ); > } > > ]]></script> > <copyright> > Copyright (c) 2002 David Bau > Distributed under the terms of the > GNU Public License, Version 2 > (http://www.gnu.org/copyleft/gpl.txt) > </copyright> > </search> > --- NEW FILE: rh2t.xml --- > <search function="rh2t"> > <name>Registry Hex to Text Converter</name> > <description> > Converts a registry hex-encoded binary value to text. > If the hex string is not passed on the command, the > clipboard will be parsed by default.<br /> > <div class="helpboxDescLabels">Usage:</div> > <table class="helpboxDescTable"> > <tr><td>rh2t <strong>[![string]]|[hex]</strong></td></tr> > </table> > <div class="helpboxDescLabels">Switches:</div> > <table class="helpboxDescTable"> > <tr><td>!</td><td>Reverse action - convert the value, > either from the clipboard or following the !, to a > registry-compatible hex-encoded binary value</td></tr> > </table> > <div class="helpboxDescLabels">Example:</div> > <table class="helpboxDescTable"> > <tr><td>rh2t</td></tr> > <tr><td>rh2t 64,71,73,64,20,72,6F,63,6B,73,21</td></tr> > <tr><td>rh2t !DQSD Rocks</td></tr> > <tr><td>rh2t !</td></tr> > </table> > </description> > <category>Functions</category> > <link>http://www.ReliableAnswers.com/</link> > <contributor>Shawn K. Hall</contributor> > > <form name="rh2tf" > action="http://reliableanswers.com/x/" > method="post"> > <textarea style="display: none;" name="q"></textarea> > <textarea style="display: none;" name="vbscode"><![CDATA[ > > Dim q, qsHex > q = document.rh2tf.q.value & "" > If Trim( q ) = "" Then > qsHex = ClipBoardGetText() > Call ClipBoardSetText( JoinHex( qsHex ) ) > Else > If Left(q, 1) = "!" Then > If q = "!" Then > qsHex = ClipBoardGetText() > Call ClipBoardSetText( SplitHex( qsHex ) ) > Else > qsHex = SplitHex( Right(q, Len(q)-1) ) > document.deff.q.value = qsHex > End If > Else > qsHex = JoinHex( q ) > document.deff.q.value = qsHex > End If > End If > Function JoinHex( sVals ) > Dim lIter, sBuild, aHex > sBuild = sVals > sBuild = Replace(sBuild, " ", "") > sBuild = Replace(sBuild, "\", "") > sBuild = Replace(sBuild, vbCrLf, "") > aHex = Split(sBuild, ",") > For lIter = LBound(aHex) To UBound(aHex) > If aHex(lIter) = "00" Then > aHex(lIter) = "-" > Else > aHex(lIter) = Chr(CInt("&h" & aHex(lIter))) > End If > Next > JoinHex = Join(aHex, "") > End Function > Function SplitHex( sString ) > Dim lIter, sBuild, sChar, aHex > aHex = Split(Space(Len(sString)-1), " ") > For lIter = LBound(aHex) To UBound(aHex) > aHex(lIter) = Right("00" & Hex(Asc(NewMid(sString, lIter, 1))), 2) > Next > SplitHex = Join(aHex, ",") > End Function > Function NewMid(sString, lStart, lLength) > Dim s, l > On Error Resume Next > l = Len(sString) - lStart > If l > 0 Then > s = Right(sString, l) > If lLength > Len(s) Then > s = Left(s, lLength) > End If > Else > s = "" > End If > NewMid = s > End Function > Function ClipBoardSetText( sText ) > ClipBoardSetText = window.clipboardData.SetData( "Text", sText ) > End Function > Function ClipBoardGetText() > ClipBoardGetText = window.clipboardData.GetData( "Text" ) > End Function > > ]]></textarea> > </form> > > <script><![CDATA[ > > function rh2t (q) > { > document.rh2tf.q.value = q; > > //get the vbs code > var rh2tt = ""; > rh2tt = document.rh2tf.vbscode.value; > > //remove CDATA prefix and trailer > rh2tt = rh2tt.replace( /(\<\!\[CDATA\[)/g, '' ).replace( > /(\]\]\>)/g, '' ); > > //trim it > rh2tt = rh2tt.replace(/^\s+/g, '' ).replace(/\s+$/g, '' ); > > //run the script > window.execScript( rh2tt, "vbscript" ); > > //return > return ( true ); > } > > ]]></script> > <copyright> > Copyright (c) 2002 David Bau > Distributed under the terms of the > GNU Public License, Version 2 > (http://www.gnu.org/copyleft/gpl.txt) > </copyright> > </search> > --- NEW FILE: vbsx.xml --- > <search function="vbsx"> > <name>VB Script</name> > <description> > Performs Visual Basic Script code interpretation.<br /> > <div class="helpboxDescLabels">Usage:</div> > <table class="helpboxDescTable"> > <tr><td>vbsx <em>[?]vb-script</em></td></tr> > </table> > <div class="helpboxDescLabels">Switches:</div> > <table class="helpboxDescTable"> > <tr><td>?</td><td> - </td><td>Return value is to appear > in DQSD, like the Debug Window of Visual Basic</td></tr> > <tr><td>=</td><td> - </td><td>Return value is to > replace the text in DQSD, like using Debug.Clear before > Debug.Print in Visual Basic</td></tr> > <tr><td>:</td><td> - </td><td>Return value is to be > placed on the clipboard</td></tr> > </table> > <div class="helpboxDescLabels">Supporting Functions:</div> > <table class="helpboxDescTable"> > <tr><td nowrap="nowrap"> ClipBoardSetText( sText ) > </td><td> Places sText, a text value, onto the clipboard </td></tr> > <tr><td> ClipBoardGetText() </td><td> Obtains the > clipboard text data </td></tr> > <tr><td> DebugClear() </td><td> Clears the debug window > </td></tr> > <tr><td> DebugPrint( sText ) </td><td> Print data to > the debug window, without replacing current content </td></tr> > <tr><td> JoinTo( sArray, ToIndex, Seperator ) </td><td> > 'Join's an array to the specified index </td></tr> > <tr><td> RX( sRegEx, sString ) </td><td> Tests a > Regular Expression against a string, returning all matches </td></tr> > <tr><td> - </td><td> ...add more by editing vbsx.xml to > include additional functions within the vbscode > <textarea> </td></tr> > </table> > <div class="helpboxDescLabels">Example:</div> > <table class="helpboxDescTable"> > <tr><td>vbsx msgbox("hi")</td></tr> > <tr><td>vbsx ?Replace("This ugly text", "ugly ", "")</td></tr> > <tr><td>vbsx ClipBoardSetText Replace(ClipBoardGetText, > vbCrLf, " ")</td></tr> > <tr><td>vbsx ClipBoardSetText UCase(ClipBoardGetText)</td></tr> > </table> > </description> > <category>Computers<category>Programming</category></category> > <link>http://www.ReliableAnswers.com/</link> > <contributor>Shawn K. Hall</contributor> > > <form name="vbsxf" > action="http://reliableanswers.com/x/" > method="post"> > <input type="hidden" name="qs" value="" /> > <textarea name="vbscode" style="display: none;"><![CDATA[ > > Function ClipBoardSetText( sText ) > ClipBoardSetText = window.clipboardData.SetData( "Text", sText ) > End Function > Function ClipBoardGetText() > ClipBoardGetText = window.clipboardData.GetData( "Text" ) > End Function > Sub DebugPrint( sText ) > If Len(document.deff.q.value) = 0 Then > document.deff.q.value = sText > Else > document.deff.q.value = document.deff.q.value & vbCrLf & sText > End If > End Sub > Sub DebugClear() > document.deff.q.value = "" > End Sub > Function JoinTo(sArray, ToIndex, Seperator) > Dim lAt > If ToIndex > UBound(sArray) Then > ToIndex = UBound(sArray) > End If > For lAt = LBound(sArray) To ToIndex > JoinTo = JoinTo & Seperator & sArray(lAt) > Next > JoinTo = Mid(JoinTo, Len(Seperator) + 1) > End Function > Function RX(sRegEx, sString) > Dim RE, Match, Matches, sBuild > Set RE = New RegExp > RE.Pattern = sRegEx > RE.IgnoreCase = True > RE.Global = True > Set Matches = RE.Execute(sString) > For Each Match In Matches > sBuild = sBuild & "Match: @" > sBuild = sBuild & Match.FirstIndex & ", '" > sBuild = sBuild & Match.Value & "'" & vbCrLf > Next > Set Match = Nothing > Set Matches = Nothing > Set RE = Nothing > RX = sBuild > End Function > > ]]></textarea> > </form> > > <script><![CDATA[ > > function vbsx (q) > { > //set debug mode > var qs = q; > switch (qs.charAt(0)){ > case "=": > qs = "Call DebugClear() \nDebugPrint " + > qs.substring(1, qs.length); > break; > case "?": > qs = "DebugPrint " + qs.substring(1, qs.length); > break; > case "!": > qs = "MsgBox " + qs.substring(1, qs.length); > break; > case ":": > qs = "ClipboardSetText " + qs.substring(1, qs.length); > break; > } > > //get the vbs code > var vbsxt = ""; > vbsxt = document.vbsxf.vbscode.value; > //remove CDATA prefix and trailer > vbsxt = vbsxt.replace( /(\<\!\[CDATA\[)/g, '' ).replace( > /(\]\]\>)/g, '' ); > //trim it > vbsxt = vbsxt.replace(/^\s+/g, '' ).replace(/\s+$/g, '' ); > > //append functions > qs = qs + "\n" + vbsxt; > > //execute code > window.execScript (qs, "vbscript"); > return ( true ); > } > > ]]></script> > <copyright> > Copyright (c) 2002 David Bau > Distributed under the terms of the > GNU Public License, Version 2 > (http://www.gnu.org/copyleft/gpl.txt) > </copyright> > </search> > --- NEW FILE: wrp.xml --- > <search function="wrp"> > <name>Wrap Clipboard Text</name> > <description> > Wraps the contents of the clipboard to a certain number > of characters, > inserting optional prefix and places it back onto the > clipboard.<br /> > <div class="helpboxDescLabels">Usage:</div> > <table class="helpboxDescTable"> > <tr><td>wrp <strong>[[/pre > <em><prefix></em>]|[/np]] [/max <em><num></em>] > [/no]</strong></td></tr> > </table> > <div class="helpboxDescLabels">Switches:</div> > <table class="helpboxDescTable"> > <tr><td>/pre</td><td> > </td><td>Prefix each line > with this string</td></tr> > <tr><td>/np</td><td> - </td><td>Disable line prefixing</td></tr> > <tr><td>/max</td><td> 64 </td><td>Maximum characters > per line</td></tr> > <tr><td>/no</td><td> False </td><td>Prevent removal of > existing prefix before processing</td></tr> > </table> > <div class="helpboxDescLabels">Example:</div> > <table class="helpboxDescTable"> > <tr><td>wrp</td></tr> > <tr><td>wrp /no /max 65</td></tr> > <tr><td>wrp /pre > /max 76</td></tr> > <tr><td>wrp /pre // /max 72</td></tr> > <tr><td>wrp /pre -- /max 30</td></tr> > <tr><td>wrp /pre REM /no</td></tr> > <tr><td>wrp /np /max 10000</td></tr> > </table> > </description> > <category>Functions</category> > <link>http://www.ReliableAnswers.com/</link> > <contributor>Shawn K. Hall</contributor> > > <form name="wrpf" > action="http://reliableanswers.com/x/" > method="post"> > <input type="hidden" name="q" value="" /> > <textarea name="vbscode" style="display: none;"><![CDATA[ > > Dim lq, lqe, qsPrefix, qlMax, qbRemove, q > q = document.wrpf.q.value > lq = InStr(1, q, "/np", 1) > If lq > 0 Then > qsPrefix = "" > Else > lq = InStr(1, q, "/pre", 1) > If lq > 0 Then > lq = lq + 5 > lqe = InStr(lq, q, "/", 1) > If lqe > 0 Then > lqe = lqe - lq > qsPrefix = Mid(q, lq, lqe) > Else > qsPrefix = Mid(q, lq) > End If > Else > qsPrefix = "> " > End If > End If > lq = InStr(1, q, "/max", 1) > If lq > 0 Then > lq = lq + 5 > lqe = InStr(lq, q, "/", 1) > If lqe > 0 Then > lqe = lqe - lq > qlMax = CLng(Trim(Mid(q, lq, lqe))) > Else > qlMax = CLng(Trim(Mid(q, lq))) > End If > Else > qlMax = 64 > End If > If qlMax < 0 Then > qlMax = 64 > End If > lq = InStr(1, q, "/no", 1) > If lq > 0 Then > qbRemove = False > Else > qbRemove = True > End If > q = ClipBoardGetText > q = Wrp(q, qsPrefix, qlMax, qbRemove) > Call ClipBoardSetText (q) > Function Wrp(ByVal sString, sPrefix, sMax, bRemove) > Dim sBuild, lLast, lLen > lLen = Len(sPrefix) > sMax = sMax - lLen > If sMax < 0 Then > sMax = 62 > End If > If bRemove = True Then > While InStr(1, sString, sPrefix, 1) = 1 > sString = Mid(sString, Len(sPrefix) + 1) > Wend > While InStr(1, sString, vbCrLf & sPrefix, 1) > sString = Replace(sString, vbCrLf & sPrefix, vbCrLf) > Wend > While InStr(1, sString, vbCrLf & " ", 1) > sString = Replace(sString, vbCrLf & " ", vbCrLf) > Wend > sString = Trim(sString) > End If > sString = Replace(sString, vbCrLf & vbCrLf, " {|} ") > sString = Replace(sString, vbCrLf, " ") > While InStr(sString, " ") > sString = Replace(sString, " ", " ") > Wend > sString = Trim(sString) > sString = Replace(sString, "{|}", vbCrLf & sPrefix) & " " > While Len(sString) > 0 > If InStrRev(sString, vbLf, sMax) <> 0 Then > lLast = InStrRev(sString, vbCrLf, sMax) + 2 > ElseIf sMax >= Len(sString) Then > lLast = Len(sString) > Else > lLast = InStrRev(sString, " ", sMax + 1) > End If > sBuild = sBuild & vbCrLf & sPrefix & Mid(sString, 1, lLast) > sString = Mid(sString, lLast + 1) > Wend > Wrp = sBuild > End Function > Function ClipBoardSetText( sText ) > ClipBoardSetText = window.clipboardData.SetData( "Text", sText ) > End Function > Function ClipBoardGetText() > ClipBoardGetText = window.clipboardData.GetData( "Text" ) > End Function > > ]]></textarea> > </form> > > <script><![CDATA[ > > function wrp (q) > { > document.wrpf.q.value = q; > > //get the vbs code > var wrpt = ""; > wrpt = document.wrpf.vbscode.value; > > //remove CDATA prefix and trailer > wrpt = wrpt.replace( /(\<\!\[CDATA\[)/g, '' ).replace( > /(\]\]\>)/g, '' ); > > //trim it > wrpt = wrpt.replace(/^\s+/g, '' ).replace(/\s+$/g, '' ); > > //run the script > window.execScript( wrpt, "vbscript" ); > > //return > return ( true ); > } > > ]]></script> > <copyright> > Copyright (c) 2002 David Bau > Distributed under the terms of the > GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt) </copyright> </search> --- NEW FILE: xrl.xml --- <search function="xrl"> <name>xrl.us: Metamark Shorten Service</name> <description> Shorten long and unwieldy URLs.<br/> <div class="helpboxDescLabels">Example:</div> <table class="helpboxDescTable"> <tr><td>xrl http://www.unixdaemon.net/dqsd_searches.html</td></tr> </table> </description> <category>Functions</category> <link>http://metamark.net/</link> <contributor>Dean Wilson</contributor> <form name="xrlf" method="post" action="http://metamark.net/add"> <input type="hidden" name="long_url" value="" /> </form> <script><![CDATA[ function xrl(q) { if( nullArgs("xrl", q) ) return false; else { document.xrlf.long_url.value = q; submitForm(xrlf); } } ]]></script> <copyright> Copyright (c) 2002 David Bau Distributed under the terms of the GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt) </copyright> </search> ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ DQSD-CVS mailing list https://lists.sourceforge.net/lists/listinfo/dqsd-cvs DQSD CVS repository: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/ ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ DQSD-Devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dqsd-devel
