home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / Phader_Exa184832242005.psc / MonkEFade.bas < prev    next >
BASIC Source File  |  2005-02-04  |  41KB  |  1,200 lines

  1. Attribute VB_Name = "MonkEFade"
  2. 'òMONKEFADE.BASò
  3. 'by monk-e-god (e-mail: monkegod@hotmail.com)
  4. 'and
  5. 'aDRaMoLEk (e-mail: adramolek@angelfire.com)
  6.  
  7. 'version: 3
  8. 'updates: The fade preview sub was
  9. 'highly improved by aDRaMoLEk.  It no
  10. 'longer requires a richtext box or an
  11. 'invisible textbox.  It simply requires
  12. 'a picture box.  You can now also preview
  13. 'wavy fades and the sub automatically
  14. 'interprets bold, italic, underline and
  15. 'strikethru!  I also added a function
  16. 'called MultiFade where you give it an
  17. 'array of colors and you can fade as many
  18. 'different colors as you want in one
  19. 'function!  I also added a FormFade sub
  20. 'where you choose the colors to fade.
  21.  
  22. 'This is the best fader bas available
  23. 'with tons of unique and cool features.
  24. 'This bas isn't jam packed with every
  25. 'color combination in its own function
  26. 'taking up tons of space, however this
  27. 'bas allows you more combinations than
  28. 'ever before.  You get to choose to fade
  29. 'by color or by Red Green and Blue
  30. 'values.  With as many colors as you want
  31. 'per fade the combinations are endless.
  32. 'This bas also contains unique fade
  33. 'preview subs that allows you to view
  34. 'fades in a picture or RichText box.
  35.  
  36. 'Please do not steal our subs and functions,
  37. 'there is no reason to add them to your
  38. 'bas, why not just use my bas too instead
  39. 'of being a code thief.  And also please
  40. 'add me to your greets, especially if
  41. 'your prog is just a fader, I mean with
  42. 'this bas you could make a really leet
  43. 'fader very very easily.
  44. 'ò monk-e-god ò
  45.  
  46. '-FADE FUNCTIONS-
  47. 'Some subs in this bas may not be
  48. 'self-explanatory at first because
  49. 'they require you to type in the red,
  50. 'green and blue values of each color.
  51. 'Some of you might not know the RGB
  52. 'values of certain colors so here are
  53. 'a few:
  54.  
  55. 'Red = R: 255, G: 0, B:0
  56. 'Green = R: 0, G: 255, B:0
  57. 'Blue = R: 0, G: 0, B: 255
  58. 'Yellow = R: 255, G: 255, B: 0
  59. 'White = R: 255, G: 255, B: 255
  60. 'Black = R: 0, G: 0, B: 0
  61.  
  62. 'So to fade from Blue to Black to
  63. 'Blue you would do:
  64. 'FadedText$ = FadeThreeColor(0, 0, 255, 0, 0, 0, 0, 0, 255, Text2Fade$, False)
  65. 'Or you could use the easier subs by
  66. 'doing:
  67. 'FadedText$ = FadeByColor3(FADE_BLUE, FADE_BLACK, FADE_BLUE, Text2Fade$, False)
  68. 'To make the text wavy all you have
  69. 'to do is set the last parameter(Wavy)
  70. 'to True.
  71.  
  72. '-MULTIFADE-
  73. 'To use this you need to declare an array
  74. 'and fill it with the colors to fade.
  75. 'Example:
  76.  
  77. 'Dim ColorArray(4)
  78. 'ColorArray(1) = FADE_RED
  79. 'ColorArray(2) = FADE_BLACK
  80. 'ColorArray(3) = FADE_BLUE
  81. 'ColorArray(4) = FADE_BLACK
  82. 'FadedText$ = MultiFade(4, ColorArray, "The Text You Want To Fade", False)
  83.  
  84. Declare Function sendmessagebynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
  85. Public Declare Function findwindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  86. Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  87. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  88. Public Declare Function SendMessageLong& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
  89. Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
  90. Public Declare Function ReleaseCapture Lib "user32" () As Long
  91. Public Const FADE_RED = &HFF&
  92. Public Const FADE_GREEN = &HFF00&
  93. Public Const FADE_BLUE = &HFF0000
  94. Public Const FADE_YELLOW = &HFFFF&
  95. Public Const FADE_WHITE = &HFFFFFF
  96. Public Const FADE_BLACK = &H0&
  97. Public Const FADE_PURPLE = &HFF00FF
  98. Public Const FADE_GREY = &HC0C0C0
  99. Public Const FADE_PINK = &HFF80FF
  100. Public Const FADE_TURQUOISE = &HC0C000
  101.  
  102. Type COLORRGB
  103.   Red As Long
  104.   Green As Long
  105.   Blue As Long
  106. End Type
  107. Sub FormFade(FormX As Form, Color1, Color2)
  108. 'by monk-e-god (modified from a sub by MaRZ)
  109.     B1 = GetRGB(Colr1).Blue
  110.     G1 = GetRGB(Colr1).Green
  111.     R1 = GetRGB(Colr1).Red
  112.     B2 = GetRGB(Colr2).Blue
  113.     G2 = GetRGB(Colr2).Green
  114.     R2 = GetRGB(Colr2).Red
  115.     
  116.     On Error Resume Next
  117.     Dim intLoop As Integer
  118.     FormX.DrawStyle = vbInsideSolid
  119.     FormX.DrawMode = vbCopyPen
  120.     FormX.ScaleMode = vbPixels
  121.     FormX.DrawWidth = 2
  122.     FormX.ScaleHeight = 256
  123.     For intLoop = 0 To 255
  124.         FormX.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(((R2 - R1) / 255 * intLoop) + R1, ((G2 - G1) / 255 * intLoop) + G1, ((B2 - B1) / 255 * intLoop) + B1), B
  125.     Next intLoop
  126. End Sub
  127.  
  128. Sub FadeForm(FormX As Form, Colr1, Colr2)
  129. 'by monk-e-god (modified from a sub by MaRZ)
  130.     B1 = GetRGB(Colr1).Blue
  131.     G1 = GetRGB(Colr1).Green
  132.     R1 = GetRGB(Colr1).Red
  133.     B2 = GetRGB(Colr2).Blue
  134.     G2 = GetRGB(Colr2).Green
  135.     R2 = GetRGB(Colr2).Red
  136.     
  137.     On Error Resume Next
  138.     Dim intLoop As Integer
  139.     FormX.DrawStyle = vbInsideSolid
  140.     FormX.DrawMode = vbCopyPen
  141.     FormX.ScaleMode = vbPixels
  142.     FormX.DrawWidth = 2
  143.     FormX.ScaleHeight = 256
  144.     For intLoop = 0 To 255
  145.         FormX.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(((R2 - R1) / 255 * intLoop) + R1, ((G2 - G1) / 255 * intLoop) + G1, ((B2 - B1) / 255 * intLoop) + B1), B
  146.     Next intLoop
  147. End Sub
  148. Sub FadePreview(PicB As PictureBox, ByVal FadedText As String)
  149. 'by aDRaMoLEk
  150. FadedText$ = Replacer(FadedText$, Chr(13), "+chr13+")
  151. OSM = PicB.ScaleMode
  152. PicB.ScaleMode = 3
  153. TextOffX = 0: TextOffY = 0
  154. StartX = 2: StartY = 0
  155. PicB.Font = "Arial": PicB.FontSize = 10
  156. PicB.FontBold = False: PicB.FontItalic = False: PicB.FontUnderline = False: PicB.FontStrikethru = False
  157. PicB.AutoRedraw = True: PicB.ForeColor = 0&: PicB.Cls
  158. For X = 1 To Len(FadedText$)
  159.   c$ = Mid$(FadedText$, X, 1)
  160.   If c$ = "<" Then
  161.     TagStart = X + 1
  162.     TagEnd = InStr(X + 1, FadedText$, ">") - 1
  163.     T$ = LCase$(Mid$(FadedText$, TagStart, (TagEnd - TagStart) + 1))
  164.     X = TagEnd + 1
  165.     Select Case T$
  166.       Case "u"
  167.         PicB.FontUnderline = True
  168.       Case "/u"
  169.         PicB.FontUnderline = False
  170.       Case "s"
  171.         PicB.FontStrikethru = True
  172.       Case "/s"
  173.         PicB.FontStrikethru = False
  174.       Case "b"    'start bold
  175.         PicB.FontBold = True
  176.       Case "/b"   'stop bold
  177.         PicB.FontBold = False
  178.       Case "i"    'start italic
  179.         PicB.FontItalic = True
  180.       Case "/i"   'stop italic
  181.         PicB.FontItalic = False
  182.       Case "sup"  'start superscript
  183.         TextOffY = -1
  184.       Case "/sup" 'end superscript
  185.         TextOffY = 0
  186.       Case "sub"  'start subscript
  187.         TextOffY = 1
  188.       Case "/sub" 'end subscript
  189.         TextOffY = 0
  190.       Case Else
  191.         If Left$(T$, 10) = "font color" Then 'change font color
  192.           ColorStart = InStr(T$, "#")
  193.           ColorString$ = Mid$(T$, ColorStart + 1, 6)
  194.           RedString$ = Left$(ColorString$, 2)
  195.           GreenString$ = Mid$(ColorString$, 3, 2)
  196.           BlueString$ = Right$(ColorString$, 2)
  197.           RV = Hex2Dec!(RedString$)
  198.           GV = Hex2Dec!(GreenString$)
  199.           BV = Hex2Dec!(BlueString$)
  200.           PicB.ForeColor = RGB(RV, GV, BV)
  201.         End If
  202.         If Left$(T$, 9) = "font face" Then 'added by monk-e-god
  203.            Dim Y
  204.            Y = Y + 1
  205.             End If
  206.     End Select
  207.   Else  'normal text
  208.     If c$ = "+" And Mid(FadedText$, X, 7) = "+chr13+" Then ' added by monk-e-god
  209.         StartY = StartY + 16
  210.         TextOffX = 0
  211.         X = X + 6
  212.     Else
  213.         PicB.CurrentY = StartY + TextOffY
  214.         PicB.CurrentX = StartX + TextOffX
  215.         PicB.Print c$
  216.         TextOffX = TextOffX + PicB.TextWidth(c$)
  217.     End If
  218.   End If
  219. Next X
  220. PicB.ScaleMode = OSM
  221. End Sub
  222.  
  223. Function GetRGB(ByVal CVal As Long) As COLORRGB
  224.   GetRGB.Blue = Int(CVal / 65536)
  225.   GetRGB.Green = Int((CVal - (65536 * GetRGB.Blue)) / 256)
  226.   GetRGB.Red = CVal - (65536 * GetRGB.Blue + 256 * GetRGB.Green)
  227. End Function
  228. Sub FadePreview2(RichTB As Control, ByVal FadedText As String)
  229. 'Modified by monk-e-god for use in a RichTextBox
  230.  
  231. 'NOTE: RichTB must be a RichTextBox.
  232. 'NOTE: You cannot preview wavy fades with this sub.
  233. Dim StartPlace%
  234. StartPlace% = 0
  235. RichTB.SelStart = StartPlace%
  236. RichTB.Font = "Tahoma": RichTB.SelFontSize = 10
  237. RichTB.SelBold = False: RichTB.SelItalic = False: RichTB.SelUnderline = False: RichTB.SelStrikeThru = False
  238. RichTB.SelColor = 0&: RichTB.Text = ""
  239. For X = 1 To Len(FadedText$)
  240.   c$ = Mid$(FadedText$, X, 1)
  241.   RichTB.SelStart = StartPlace%
  242.   RichTB.SelLength = 1
  243.   If c$ = "<" Then
  244.     TagStart = X + 1
  245.     TagEnd = InStr(X + 1, FadedText$, ">") - 1
  246.     T$ = LCase$(Mid$(FadedText$, TagStart, (TagEnd - TagStart) + 1))
  247.     X = TagEnd + 1
  248.     RichTB.SelStart = StartPlace%
  249.     RichTB.SelLength = 1
  250.     Select Case T$
  251.       Case "u"
  252.         RichTB.SelUnderline = True
  253.       Case "/u"
  254.         RichTB.SelUnderline = False
  255.       Case "s"
  256.         RichTB.SelStrikeThru = True
  257.       Case "/s"
  258.         RichTB.SelStrikeThru = False
  259.       Case "b"    'start bold
  260.         RichTB.SelBold = True
  261.       Case "/b"   'stop bold
  262.         RichTB.SelBold = False
  263.       Case "i"    'start italic
  264.         RichTB.SelItalic = True
  265.       Case "/i"   'stop italic
  266.         RichTB.SelItalic = False
  267.       
  268.       Case Else
  269.         If Left$(T$, 10) = "font color" Then 'change font color
  270.           ColorStart = InStr(T$, "#")
  271.           ColorString$ = Mid$(T$, ColorStart + 1, 6)
  272.           RedString$ = Left$(ColorString$, 2)
  273.           GreenString$ = Mid$(ColorString$, 3, 2)
  274.           BlueString$ = Right$(ColorString$, 2)
  275.           RV = Hex2Dec!(RedString$)
  276.           GV = Hex2Dec!(GreenString$)
  277.           BV = Hex2Dec!(BlueString$)
  278.           RichTB.SelStart = StartPlace%
  279.           RichTB.SelColor = RGB(RV, GV, BV)
  280.         End If
  281.         If Left$(T$, 9) = "font face" Then
  282.             fontstart% = InStr(T$, Chr(34))
  283.             dafont$ = Right(T$, Len(T$) - fontstart%)
  284.             RichTB.SelStart = StartPlace%
  285.             RichTB.SelFontName = dafont$
  286.         End If
  287.     End Select
  288.   Else  'normal text
  289.     RichTB.SelText = RichTB.SelText + c$
  290.     StartPlace% = StartPlace% + 1
  291.     RichTB.SelStart = StartPlace%
  292.   End If
  293. Next X
  294. End Sub
  295.  
  296. Function Hex2Dec!(ByVal strHex$)
  297. 'by aDRaMoLEk
  298.   If Len(strHex$) > 8 Then strHex$ = Right$(strHex$, 8)
  299.   Hex2Dec = 0
  300.   For X = Len(strHex$) To 1 Step -1
  301.     CurCharVal = GETVAL(Mid$(UCase$(strHex$), X, 1))
  302.     Hex2Dec = Hex2Dec + CurCharVal * 16 ^ (Len(strHex$) - X)
  303.   Next X
  304. End Function
  305.  
  306. Function GETVAL%(ByVal strLetter$)
  307. 'by aDRaMoLEk
  308.   Select Case strLetter$
  309.     Case "0"
  310.       GETVAL = 0
  311.     Case "1"
  312.       GETVAL = 1
  313.     Case "2"
  314.       GETVAL = 2
  315.     Case "3"
  316.       GETVAL = 3
  317.     Case "4"
  318.       GETVAL = 4
  319.     Case "5"
  320.       GETVAL = 5
  321.     Case "6"
  322.       GETVAL = 6
  323.     Case "7"
  324.       GETVAL = 7
  325.     Case "8"
  326.       GETVAL = 8
  327.     Case "9"
  328.       GETVAL = 9
  329.     Case "A"
  330.       GETVAL = 10
  331.     Case "B"
  332.       GETVAL = 11
  333.     Case "C"
  334.       GETVAL = 12
  335.     Case "D"
  336.       GETVAL = 13
  337.     Case "E"
  338.       GETVAL = 14
  339.     Case "F"
  340.       GETVAL = 15
  341.   End Select
  342. End Function
  343.  
  344. Function CLRBars(RedBar As Control, GreenBar As Control, BlueBar As Control)
  345. 'This gets a color from 3 scroll bars
  346. CLRBars = RGB(RedBar.Value, GreenBar.Value, BlueBar.Value)
  347.  
  348. 'Put this in the scroll event of the
  349. '3 scroll bars RedScroll1, GreenScroll1,
  350. '& BlueScroll1.  It changes the backcolor
  351. 'of ColorLbl when you scroll the bars
  352. 'ColorLbl.BackColor = CLRBars(RedScroll1, GreenScroll1, BlueScroll1)
  353.  
  354. End Function
  355.  
  356. Function FadeByColor10(Colr1, Colr2, Colr3, Colr4, Colr5, Colr6, Colr7, Colr8, Colr9, Colr10, TheText$, Wavy As Boolean)
  357. 'by monk-e-god
  358. DaColor1$ = RGBtoHEX(Colr1)
  359. DaColor2$ = RGBtoHEX(Colr2)
  360. DaColor3$ = RGBtoHEX(Colr3)
  361. dacolor4$ = RGBtoHEX(Colr4)
  362. dacolor5$ = RGBtoHEX(Colr5)
  363. dacolor6$ = RGBtoHEX(Colr6)
  364. dacolor7$ = RGBtoHEX(Colr7)
  365. dacolor8$ = RGBtoHEX(Colr8)
  366. dacolor9$ = RGBtoHEX(Colr9)
  367. dacolor10$ = RGBtoHEX(Colr10)
  368.  
  369. RedNum1% = Val("&H" + Right(DaColor1$, 2))
  370. GreenNum1% = Val("&H" + Mid(DaColor1$, 3, 2))
  371. BlueNum1% = Val("&H" + Left(DaColor1$, 2))
  372. RedNum2% = Val("&H" + Right(DaColor2$, 2))
  373. GreenNum2% = Val("&H" + Mid(DaColor2$, 3, 2))
  374. BlueNum2% = Val("&H" + Left(DaColor2$, 2))
  375. RedNum3% = Val("&H" + Right(DaColor3$, 2))
  376. GreenNum3% = Val("&H" + Mid(DaColor3$, 3, 2))
  377. BlueNum3% = Val("&H" + Left(DaColor3$, 2))
  378. rednum4% = Val("&H" + Right(dacolor4$, 2))
  379. greennum4% = Val("&H" + Mid(dacolor4$, 3, 2))
  380. bluenum4% = Val("&H" + Left(dacolor4$, 2))
  381. rednum5% = Val("&H" + Right(dacolor5$, 2))
  382. greennum5% = Val("&H" + Mid(dacolor5$, 3, 2))
  383. bluenum5% = Val("&H" + Left(dacolor5$, 2))
  384. rednum6% = Val("&H" + Right(dacolor6$, 2))
  385. greennum6% = Val("&H" + Mid(dacolor6$, 3, 2))
  386. bluenum6% = Val("&H" + Left(dacolor6$, 2))
  387. rednum7% = Val("&H" + Right(dacolor7$, 2))
  388. greennum7% = Val("&H" + Mid(dacolor7$, 3, 2))
  389. bluenum7% = Val("&H" + Left(dacolor7$, 2))
  390. rednum8% = Val("&H" + Right(dacolor8$, 2))
  391. greennum8% = Val("&H" + Mid(dacolor8$, 3, 2))
  392. bluenum8% = Val("&H" + Left(dacolor8$, 2))
  393. rednum9% = Val("&H" + Right(dacolor9$, 2))
  394. greennum9% = Val("&H" + Mid(dacolor9$, 3, 2))
  395. bluenum9% = Val("&H" + Left(dacolor9$, 2))
  396. rednum10% = Val("&H" + Right(dacolor10$, 2))
  397. greennum10% = Val("&H" + Mid(dacolor10$, 3, 2))
  398. bluenum10% = Val("&H" + Left(dacolor10$, 2))
  399.  
  400.  
  401. FadeByColor10 = FadeTenColor(RedNum1%, GreenNum1%, BlueNum1%, RedNum2%, GreenNum2%, BlueNum2%, RedNum3%, GreenNum3%, BlueNum3%, rednum4%, greennum4%, bluenum4%, rednum5%, greennum5%, bluenum5%, rednum6%, greennum6%, bluenum6%, rednum7%, greennum7%, bluenum7%, rednum8%, greennum8%, bluenum8%, rednum9%, greennum9%, bluenum9%, rednum10%, greennum10%, bluenum10%, TheText, Wavy)
  402.  
  403. End Function
  404.  
  405. Sub FadeFormGreen(vForm As Form)
  406.     On Error Resume Next
  407.     Dim intLoop As Integer
  408.     vForm.DrawStyle = vbInsideSolid
  409.     vForm.DrawMode = vbCopyPen
  410.     vForm.ScaleMode = vbPixels
  411.     vForm.DrawWidth = 2
  412.     vForm.ScaleHeight = 256
  413.     For intLoop = 0 To 255
  414.         vForm.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(0, 255 - intLoop, 0), B
  415.     Next intLoop
  416. End Sub
  417.  
  418. Function FadeByColor2(Colr1, Colr2, TheText$, Wavy As Boolean)
  419. 'by monk-e-god
  420. DaColor1$ = RGBtoHEX(Colr1)
  421. DaColor2$ = RGBtoHEX(Colr2)
  422.  
  423. RedNum1% = Val("&H" + Right(DaColor1$, 2))
  424. GreenNum1% = Val("&H" + Mid(DaColor1$, 3, 2))
  425. BlueNum1% = Val("&H" + Left(DaColor1$, 2))
  426. RedNum2% = Val("&H" + Right(DaColor2$, 2))
  427. GreenNum2% = Val("&H" + Mid(DaColor2$, 3, 2))
  428. BlueNum2% = Val("&H" + Left(DaColor2$, 2))
  429.  
  430. FadeByColor2 = FadeTwoColor(RedNum1%, GreenNum1%, BlueNum1%, RedNum2%, GreenNum2%, BlueNum2%, TheText, Wavy)
  431.  
  432. End Function
  433. Function GreenBlackGreen(Text1)
  434.     a = Len(Text1)
  435.     For B = 1 To a
  436.         c = Left(Text1, B)
  437.         D = Right(c, 1)
  438.         E = 510 / a
  439.         F = E * B
  440.         If F > 255 Then F = (255 - (F - 255))
  441.         G = RGB(0, 255 - F, 0)
  442.         H = RGBtoHEX(G)
  443.         Msg = Msg & "<Font Color=#" & H & ">" & D
  444.     Next B
  445.     GreenBlackGreen = Msg
  446. End Function
  447.  
  448. Public Sub ChatSend(Chat As String)
  449.     Dim room As Long, AORich As Long, AORich2 As Long
  450.     room& = FindRoom&
  451.     AORich& = FindWindowEx(room, 0&, "RICHCNTL", vbNullString)
  452.     AORich2& = FindWindowEx(room, AORich, "RICHCNTL", vbNullString)
  453.     Call SendMessageByString(AORich2, WM_SETTEXT, 0&, Chat$)
  454.     Call SendMessageLong(AORich2, WM_CHAR, ENTER_KEY, 0&)
  455. End Sub
  456. Public Sub MoveForm(frm As Form)
  457. ReleaseCapture
  458. Dim X
  459. X = SendMessage(frm.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  460. 'Put in a Label or Picbox in MouseDown:
  461. 'MoveForm me
  462.  
  463. End Sub
  464. Sub FadeFormBlue(vForm As Form)
  465.     On Error Resume Next
  466.     Dim intLoop As Integer
  467.     vForm.DrawStyle = vbInsideSolid
  468.     vForm.DrawMode = vbCopyPen
  469.     vForm.ScaleMode = vbPixels
  470.     vForm.DrawWidth = 2
  471.     vForm.ScaleHeight = 256
  472.     For intLoop = 0 To 255
  473.         vForm.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(0, 0, 255 - intLoop), B
  474.     Next intLoop
  475. End Sub
  476.  
  477. Public Function FadeByColor3(Colr1, Colr2, Colr3, TheText$, Wavy As Boolean)
  478. 'by monk-e-god
  479. DaColor1$ = RGBtoHEX(Colr1)
  480. DaColor2$ = RGBtoHEX(Colr2)
  481. DaColor3$ = RGBtoHEX(Colr3)
  482.  
  483. RedNum1% = Val("&H" + Right(DaColor1$, 2))
  484. GreenNum1% = Val("&H" + Mid(DaColor1$, 3, 2))
  485. BlueNum1% = Val("&H" + Left(DaColor1$, 2))
  486. RedNum2% = Val("&H" + Right(DaColor2$, 2))
  487. GreenNum2% = Val("&H" + Mid(DaColor2$, 3, 2))
  488. BlueNum2% = Val("&H" + Left(DaColor2$, 2))
  489. RedNum3% = Val("&H" + Right(DaColor3$, 2))
  490. GreenNum3% = Val("&H" + Mid(DaColor3$, 3, 2))
  491. BlueNum3% = Val("&H" + Left(DaColor3$, 2))
  492.  
  493. FadeByColor3 = FadeThreeColor(TheText, RedNum1%, GreenNum1%, BlueNum1%, RedNum2%, GreenNum2%, BlueNum2%, RedNum3%, GreenNum3%, BlueNum3%, Wavy)
  494.  
  495. End Function
  496.  
  497. Function FadeByColor4(Colr1, Colr2, Colr3, Colr4, TheText$, Wavy As Boolean)
  498. 'by monk-e-god
  499. DaColor1$ = RGBtoHEX(Colr1)
  500. DaColor2$ = RGBtoHEX(Colr2)
  501. DaColor3$ = RGBtoHEX(Colr3)
  502. dacolor4$ = RGBtoHEX(Colr4)
  503.  
  504. RedNum1% = Val("&H" + Right(DaColor1$, 2))
  505. GreenNum1% = Val("&H" + Mid(DaColor1$, 3, 2))
  506. BlueNum1% = Val("&H" + Left(DaColor1$, 2))
  507. RedNum2% = Val("&H" + Right(DaColor2$, 2))
  508. GreenNum2% = Val("&H" + Mid(DaColor2$, 3, 2))
  509. BlueNum2% = Val("&H" + Left(DaColor2$, 2))
  510. RedNum3% = Val("&H" + Right(DaColor3$, 2))
  511. GreenNum3% = Val("&H" + Mid(DaColor3$, 3, 2))
  512. BlueNum3% = Val("&H" + Left(DaColor3$, 2))
  513. rednum4% = Val("&H" + Right(dacolor4$, 2))
  514. greennum4% = Val("&H" + Mid(dacolor4$, 3, 2))
  515. bluenum4% = Val("&H" + Left(dacolor4$, 2))
  516.  
  517. FadeByColor4 = FadeFourColor(RedNum1%, GreenNum1%, BlueNum1%, RedNum2%, GreenNum2%, BlueNum2%, RedNum3%, GreenNum3%, BlueNum3%, rednum4%, greennum4%, bluenum4%, TheText, Wavy)
  518.  
  519. End Function
  520.  
  521. Function FadeByColor5(Colr1, Colr2, Colr3, Colr4, Colr5, TheText$, Wavy As Boolean)
  522. 'by monk-e-god
  523. DaColor1$ = RGBtoHEX(Colr1)
  524. DaColor2$ = RGBtoHEX(Colr2)
  525. DaColor3$ = RGBtoHEX(Colr3)
  526. dacolor4$ = RGBtoHEX(Colr4)
  527. dacolor5$ = RGBtoHEX(Colr5)
  528.  
  529. RedNum1% = Val("&H" + Right(DaColor1$, 2))
  530. GreenNum1% = Val("&H" + Mid(DaColor1$, 3, 2))
  531. BlueNum1% = Val("&H" + Left(DaColor1$, 2))
  532. RedNum2% = Val("&H" + Right(DaColor2$, 2))
  533. GreenNum2% = Val("&H" + Mid(DaColor2$, 3, 2))
  534. BlueNum2% = Val("&H" + Left(DaColor2$, 2))
  535. RedNum3% = Val("&H" + Right(DaColor3$, 2))
  536. GreenNum3% = Val("&H" + Mid(DaColor3$, 3, 2))
  537. BlueNum3% = Val("&H" + Left(DaColor3$, 2))
  538. rednum4% = Val("&H" + Right(dacolor4$, 2))
  539. greennum4% = Val("&H" + Mid(dacolor4$, 3, 2))
  540. bluenum4% = Val("&H" + Left(dacolor4$, 2))
  541. rednum5% = Val("&H" + Right(dacolor5$, 2))
  542. greennum5% = Val("&H" + Mid(dacolor5$, 3, 2))
  543. bluenum5% = Val("&H" + Left(dacolor5$, 2))
  544.  
  545. FadeByColor5 = FadeFiveColor(RedNum1%, GreenNum1%, BlueNum1%, RedNum2%, GreenNum2%, BlueNum2%, RedNum3%, GreenNum3%, BlueNum3%, rednum4%, greennum4%, bluenum4%, rednum5%, greennum5%, bluenum5%, TheText, Wavy)
  546.  
  547. End Function
  548.  
  549. Function FadeFiveColor(R1%, G1%, B1%, R2%, G2%, B2%, R3%, G3%, B3%, R4%, G4%, B4%, R5%, G5%, B5%, TheText$, Wavy As Boolean)
  550. 'by monk-e-god
  551.     Dim WaveState%
  552.     Dim WaveHTML$
  553.     WaveState = 0
  554.     
  555.     textlen% = Len(TheText)
  556.     
  557.     Do: DoEvents
  558.     fstlen% = fstlen% + 1: textlen% = textlen% - 1
  559.     If textlen% < 1 Then Exit Do
  560.     seclen% = seclen% + 1: textlen% = textlen% - 1
  561.     If textlen% < 1 Then Exit Do
  562.     thrdlen% = thrdlen% + 1: textlen% = textlen% - 1
  563.     If textlen% < 1 Then Exit Do
  564.     frthlen% = frthlen% + 1: textlen% = textlen% - 1
  565.     If textlen% < 1 Then Exit Do
  566.     Loop Until textlen% < 1
  567.     
  568.     part1$ = Left(TheText, fstlen%)
  569.     part2$ = Mid(TheText, fstlen% + 1, seclen%)
  570.     part3$ = Mid(TheText, fstlen% + seclen% + 1, thrdlen%)
  571.     part4$ = Right(TheText, frthlen%)
  572.     
  573.     'part1
  574.     textlen% = Len(part1$)
  575.     For i = 1 To textlen%
  576.         TextDone$ = Left(part1$, i)
  577.         LastChr$ = Right(TextDone$, 1)
  578.         ColorX = RGB(((B2 - B1) / textlen% * i) + B1, ((G2 - G1) / textlen% * i) + G1, ((R2 - R1) / textlen% * i) + R1)
  579.         colorx2 = RGBtoHEX(ColorX)
  580.         
  581.         If Wavy = True Then
  582.         WaveState = WaveState + 1
  583.         If WaveState > 4 Then WaveState = 1
  584.         If WaveState = 1 Then WaveHTML = "<sup>"
  585.         If WaveState = 2 Then WaveHTML = "</sup>"
  586.         If WaveState = 3 Then WaveHTML = "<sub>"
  587.         If WaveState = 4 Then WaveHTML = "</sub>"
  588.         Else
  589.         WaveHTML = ""
  590.         End If
  591.         
  592.         Faded1$ = Faded1$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  593.     Next i
  594.     'part2
  595.     textlen% = Len(part2$)
  596.     For i = 1 To textlen%
  597.         TextDone$ = Left(part2$, i)
  598.         LastChr$ = Right(TextDone$, 1)
  599.         ColorX = RGB(((B3 - B2) / textlen% * i) + B2, ((G3 - G2) / textlen% * i) + G2, ((R3 - R2) / textlen% * i) + R2)
  600.         colorx2 = RGBtoHEX(ColorX)
  601.         
  602.         If Wavy = True Then
  603.         WaveState = WaveState + 1
  604.         If WaveState > 4 Then WaveState = 1
  605.         If WaveState = 1 Then WaveHTML = "<sup>"
  606.         If WaveState = 2 Then WaveHTML = "</sup>"
  607.         If WaveState = 3 Then WaveHTML = "<sub>"
  608.         If WaveState = 4 Then WaveHTML = "</sub>"
  609.         Else
  610.         WaveHTML = ""
  611.         End If
  612.         
  613.         Faded2$ = Faded2$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  614.     Next i
  615.     
  616.     'part3
  617.     textlen% = Len(part3$)
  618.     For i = 1 To textlen%
  619.         TextDone$ = Left(part3$, i)
  620.         LastChr$ = Right(TextDone$, 1)
  621.         ColorX = RGB(((B4 - B3) / textlen% * i) + B3, ((G4 - G3) / textlen% * i) + G3, ((R4 - R3) / textlen% * i) + R3)
  622.         colorx2 = RGBtoHEX(ColorX)
  623.         
  624.         If Wavy = True Then
  625.         WaveState = WaveState + 1
  626.         If WaveState > 4 Then WaveState = 1
  627.         If WaveState = 1 Then WaveHTML = "<sup>"
  628.         If WaveState = 2 Then WaveHTML = "</sup>"
  629.         If WaveState = 3 Then WaveHTML = "<sub>"
  630.         If WaveState = 4 Then WaveHTML = "</sub>"
  631.         Else
  632.         WaveHTML = ""
  633.         End If
  634.         
  635.         Faded3$ = Faded3$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  636.     Next i
  637.     
  638.     'part4
  639.     textlen% = Len(part4$)
  640.     For i = 1 To textlen%
  641.         TextDone$ = Left(part4$, i)
  642.         LastChr$ = Right(TextDone$, 1)
  643.         ColorX = RGB(((B5 - B4) / textlen% * i) + B4, ((G5 - G4) / textlen% * i) + G4, ((R5 - R4) / textlen% * i) + R4)
  644.         colorx2 = RGBtoHEX(ColorX)
  645.         
  646.         If Wavy = True Then
  647.         WaveState = WaveState + 1
  648.         If WaveState > 4 Then WaveState = 1
  649.         If WaveState = 1 Then WaveHTML = "<sup>"
  650.         If WaveState = 2 Then WaveHTML = "</sup>"
  651.         If WaveState = 3 Then WaveHTML = "<sub>"
  652.         If WaveState = 4 Then WaveHTML = "</sub>"
  653.         Else
  654.         WaveHTML = ""
  655.         End If
  656.         
  657.         Faded4$ = Faded4$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  658.     Next i
  659.     
  660.     FadeFiveColor = Faded1$ + Faded2$ + Faded3$ + Faded4$
  661. End Function
  662. Function FadeTenColor(R1%, G1%, B1%, R2%, G2%, B2%, R3%, G3%, B3%, R4%, G4%, B4%, R5%, G5%, B5%, R6%, G6%, B6%, R7%, G7%, B7%, R8%, G8%, B8%, R9%, G9%, B9%, R10%, G10%, B10%, TheText$, Wavy As Boolean)
  663. 'by monk-e-god
  664.     Dim WaveState%
  665.     Dim WaveHTML$
  666.     WaveState = 0
  667.     
  668.     textlen% = Len(TheText)
  669.     
  670.     Do: DoEvents
  671.     fstlen% = fstlen% + 1: textlen% = textlen% - 1
  672.     If textlen% < 1 Then Exit Do
  673.     seclen% = seclen% + 1: textlen% = textlen% - 1
  674.     If textlen% < 1 Then Exit Do
  675.     thrdlen% = thrdlen% + 1: textlen% = textlen% - 1
  676.     If textlen% < 1 Then Exit Do
  677.     frthlen% = frthlen% + 1: textlen% = textlen% - 1
  678.     If textlen% < 1 Then Exit Do
  679.     fithlen% = fithlen% + 1: textlen% = textlen% - 1
  680.     If textlen% < 1 Then Exit Do
  681.     sixlen% = sixlen% + 1: textlen% = textlen% - 1
  682.     If textlen% < 1 Then Exit Do
  683.     seclen% = seclen% + 1: textlen% = textlen% - 1
  684.     If textlen% < 1 Then Exit Do
  685.     eightlen% = eightlen% + 1: textlen% = textlen% - 1
  686.     If textlen% < 1 Then Exit Do
  687.     ninelen% = ninelen% + 1: textlen% = textlen% - 1
  688.     If textlen% < 1 Then Exit Do
  689.     Loop Until textlen% < 1
  690.     
  691.     part1$ = Left(TheText, fstlen%)
  692.     part2$ = Mid(TheText, fstlen% + 1, seclen%)
  693.     part3$ = Mid(TheText, fstlen% + seclen% + 1, thrdlen%)
  694.     part4$ = Mid(TheText, fstlen% + seclen% + thrdlen% + 1, frthlen%)
  695.     part5$ = Mid(TheText, fstlen% + seclen% + thrdlen% + frthlen% + 1, fithlen%)
  696.     part6$ = Mid(TheText, fstlen% + seclen% + thrdlen% + frthlen% + fithlen% + 1, sixlen%)
  697.     part7$ = Mid(TheText, fstlen% + seclen% + thrdlen% + frthlen% + fithlen% + sixlen% + 1, sevlen%)
  698.     part8$ = Mid(TheText, fstlen% + seclen% + thrdlen% + frthlen% + fithlen% + sixlen% + sevlen% + 1, eightlen%)
  699.     part9$ = Right(TheText, ninelen%)
  700.     
  701.     'part1
  702.     textlen% = Len(part1$)
  703.     For i = 1 To textlen%
  704.         TextDone$ = Left(part1$, i)
  705.         LastChr$ = Right(TextDone$, 1)
  706.         ColorX = RGB(((B2 - B1) / textlen% * i) + B1, ((G2 - G1) / textlen% * i) + G1, ((R2 - R1) / textlen% * i) + R1)
  707.         colorx2 = RGBtoHEX(ColorX)
  708.         
  709.         If Wavy = True Then
  710.         WaveState = WaveState + 1
  711.         If WaveState > 4 Then WaveState = 1
  712.         If WaveState = 1 Then WaveHTML = "<sup>"
  713.         If WaveState = 2 Then WaveHTML = "</sup>"
  714.         If WaveState = 3 Then WaveHTML = "<sub>"
  715.         If WaveState = 4 Then WaveHTML = "</sub>"
  716.         Else
  717.         WaveHTML = ""
  718.         End If
  719.         
  720.         Faded1$ = Faded1$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  721.     Next i
  722.     'part2
  723.     textlen% = Len(part2$)
  724.     For i = 1 To textlen%
  725.         TextDone$ = Left(part2$, i)
  726.         LastChr$ = Right(TextDone$, 1)
  727.         ColorX = RGB(((B3 - B2) / textlen% * i) + B2, ((G3 - G2) / textlen% * i) + G2, ((R3 - R2) / textlen% * i) + R2)
  728.         colorx2 = RGBtoHEX(ColorX)
  729.         
  730.         If Wavy = True Then
  731.         WaveState = WaveState + 1
  732.         If WaveState > 4 Then WaveState = 1
  733.         If WaveState = 1 Then WaveHTML = "<sup>"
  734.         If WaveState = 2 Then WaveHTML = "</sup>"
  735.         If WaveState = 3 Then WaveHTML = "<sub>"
  736.         If WaveState = 4 Then WaveHTML = "</sub>"
  737.         Else
  738.         WaveHTML = ""
  739.         End If
  740.         
  741.         Faded2$ = Faded2$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  742.     Next i
  743.     
  744.     'part3
  745.     textlen% = Len(part3$)
  746.     For i = 1 To textlen%
  747.         TextDone$ = Left(part3$, i)
  748.         LastChr$ = Right(TextDone$, 1)
  749.         ColorX = RGB(((B4 - B3) / textlen% * i) + B3, ((G4 - G3) / textlen% * i) + G3, ((R4 - R3) / textlen% * i) + R3)
  750.         colorx2 = RGBtoHEX(ColorX)
  751.         
  752.         If Wavy = True Then
  753.         WaveState = WaveState + 1
  754.         If WaveState > 4 Then WaveState = 1
  755.         If WaveState = 1 Then WaveHTML = "<sup>"
  756.         If WaveState = 2 Then WaveHTML = "</sup>"
  757.         If WaveState = 3 Then WaveHTML = "<sub>"
  758.         If WaveState = 4 Then WaveHTML = "</sub>"
  759.         Else
  760.         WaveHTML = ""
  761.         End If
  762.         
  763.         Faded3$ = Faded3$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  764.     Next i
  765.     
  766.     'part4
  767.     textlen% = Len(part4$)
  768.     For i = 1 To textlen%
  769.         TextDone$ = Left(part4$, i)
  770.         LastChr$ = Right(TextDone$, 1)
  771.         ColorX = RGB(((B5 - B4) / textlen% * i) + B4, ((G5 - G4) / textlen% * i) + G4, ((R5 - R4) / textlen% * i) + R4)
  772.         colorx2 = RGBtoHEX(ColorX)
  773.         
  774.         If Wavy = True Then
  775.         WaveState = WaveState + 1
  776.         If WaveState > 4 Then WaveState = 1
  777.         If WaveState = 1 Then WaveHTML = "<sup>"
  778.         If WaveState = 2 Then WaveHTML = "</sup>"
  779.         If WaveState = 3 Then WaveHTML = "<sub>"
  780.         If WaveState = 4 Then WaveHTML = "</sub>"
  781.         Else
  782.         WaveHTML = ""
  783.         End If
  784.         
  785.         Faded4$ = Faded4$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  786.     Next i
  787.     
  788.     'part5
  789.     textlen% = Len(part5$)
  790.     For i = 1 To textlen%
  791.         TextDone$ = Left(part5$, i)
  792.         LastChr$ = Right(TextDone$, 1)
  793.         ColorX = RGB(((B6 - B5) / textlen% * i) + B5, ((G6 - G5) / textlen% * i) + G5, ((R6 - R5) / textlen% * i) + R5)
  794.         colorx2 = RGBtoHEX(ColorX)
  795.         
  796.         If Wavy = True Then
  797.         WaveState = WaveState + 1
  798.         If WaveState > 4 Then WaveState = 1
  799.         If WaveState = 1 Then WaveHTML = "<sup>"
  800.         If WaveState = 2 Then WaveHTML = "</sup>"
  801.         If WaveState = 3 Then WaveHTML = "<sub>"
  802.         If WaveState = 4 Then WaveHTML = "</sub>"
  803.         Else
  804.         WaveHTML = ""
  805.         End If
  806.         
  807.         Faded5$ = Faded5$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  808.     Next i
  809.     
  810.     'part6
  811.     textlen% = Len(part6$)
  812.     For i = 1 To textlen%
  813.         TextDone$ = Left(part6$, i)
  814.         LastChr$ = Right(TextDone$, 1)
  815.         ColorX = RGB(((B7 - B6) / textlen% * i) + B6, ((G7 - G6) / textlen% * i) + G6, ((R7 - R6) / textlen% * i) + R6)
  816.         colorx2 = RGBtoHEX(ColorX)
  817.         
  818.         If Wavy = True Then
  819.         WaveState = WaveState + 1
  820.         If WaveState > 4 Then WaveState = 1
  821.         If WaveState = 1 Then WaveHTML = "<sup>"
  822.         If WaveState = 2 Then WaveHTML = "</sup>"
  823.         If WaveState = 3 Then WaveHTML = "<sub>"
  824.         If WaveState = 4 Then WaveHTML = "</sub>"
  825.         Else
  826.         WaveHTML = ""
  827.         End If
  828.         
  829.         Faded6$ = Faded6$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  830.     Next i
  831.     
  832.     'part7
  833.     textlen% = Len(part7$)
  834.     For i = 1 To textlen%
  835.         TextDone$ = Left(part7$, i)
  836.         LastChr$ = Right(TextDone$, 1)
  837.         ColorX = RGB(((B8 - B7) / textlen% * i) + B7, ((G8 - G7) / textlen% * i) + G7, ((R8 - R7) / textlen% * i) + R7)
  838.         colorx2 = RGBtoHEX(ColorX)
  839.         
  840.         If Wavy = True Then
  841.         WaveState = WaveState + 1
  842.         If WaveState > 4 Then WaveState = 1
  843.         If WaveState = 1 Then WaveHTML = "<sup>"
  844.         If WaveState = 2 Then WaveHTML = "</sup>"
  845.         If WaveState = 3 Then WaveHTML = "<sub>"
  846.         If WaveState = 4 Then WaveHTML = "</sub>"
  847.         Else
  848.         WaveHTML = ""
  849.         End If
  850.         
  851.         Faded7$ = Faded7$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  852.     Next i
  853.     
  854.     'part8
  855.     textlen% = Len(part8$)
  856.     For i = 1 To textlen%
  857.         TextDone$ = Left(part8$, i)
  858.         LastChr$ = Right(TextDone$, 1)
  859.         ColorX = RGB(((B9 - B8) / textlen% * i) + B8, ((G9 - G8) / textlen% * i) + G8, ((R9 - R8) / textlen% * i) + R8)
  860.         colorx2 = RGBtoHEX(ColorX)
  861.         
  862.         If Wavy = True Then
  863.         WaveState = WaveState + 1
  864.         If WaveState > 4 Then WaveState = 1
  865.         If WaveState = 1 Then WaveHTML = "<sup>"
  866.         If WaveState = 2 Then WaveHTML = "</sup>"
  867.         If WaveState = 3 Then WaveHTML = "<sub>"
  868.         If WaveState = 4 Then WaveHTML = "</sub>"
  869.         Else
  870.         WaveHTML = ""
  871.         End If
  872.         
  873.         Faded8$ = Faded8$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  874.     Next i
  875.     
  876.     'part9
  877.     textlen% = Len(part9$)
  878.     For i = 1 To textlen%
  879.         TextDone$ = Left(part9$, i)
  880.         LastChr$ = Right(TextDone$, 1)
  881.         ColorX = RGB(((B10 - B9) / textlen% * i) + B9, ((G10 - G9) / textlen% * i) + G9, ((R10 - R9) / textlen% * i) + R9)
  882.         colorx2 = RGBtoHEX(ColorX)
  883.         
  884.         If Wavy = True Then
  885.         WaveState = WaveState + 1
  886.         If WaveState > 4 Then WaveState = 1
  887.         If WaveState = 1 Then WaveHTML = "<sup>"
  888.         If WaveState = 2 Then WaveHTML = "</sup>"
  889.         If WaveState = 3 Then WaveHTML = "<sub>"
  890.         If WaveState = 4 Then WaveHTML = "</sub>"
  891.         Else
  892.         WaveHTML = ""
  893.         End If
  894.         
  895.         Faded9$ = Faded9$ + "<Font Color=#" & colorx2 & ">" + TheHTML + LastChr$
  896.     Next i
  897.     
  898.     FadeTenColor = Faded1$ + Faded2$ + Faded3$ + Faded4$ + Faded5$ + Faded6$ + Faded7$ + Faded8$ + Faded9$
  899. End Function
  900.  
  901.  
  902. Function InverseColor(OldColor)
  903. 'by monk-e-god
  904. dacolor$ = RGBtoHEX(OldColor)
  905. RedX% = Val("&H" + Right(dacolor$, 2))
  906. GreenX% = Val("&H" + Mid(dacolor$, 3, 2))
  907. BlueX% = Val("&H" + Left(dacolor$, 2))
  908. newred% = 255 - RedX%
  909. newgreen% = 255 - GreenX%
  910. newblue% = 255 - BlueX%
  911. InverseColor = RGB(newred%, newgreen%, newblue%)
  912.  
  913. End Function
  914.  
  915.  
  916. Function Replacer(TheStr As String, This As String, WithThis As String)
  917. 'by monk-e-god
  918. Dim STRwo13s As String
  919. STRwo13s = TheStr
  920. Do While InStr(1, STRwo13s, This)
  921. DoEvents
  922. thepos% = InStr(1, STRwo13s, This)
  923. STRwo13s = Left(STRwo13s, (thepos% - 1)) + WithThis + Right(STRwo13s, Len(STRwo13s) - (thepos% + Len(This) - 1))
  924. Loop
  925.  
  926. Replacer = STRwo13s
  927. End Function
  928. Function RGBtoHEX(RGB)
  929. 'heh, I didnt make this one...
  930.     a$ = Hex(RGB)
  931.     B% = Len(a$)
  932.     If B% = 5 Then a$ = "0" & a$
  933.     If B% = 4 Then a$ = "00" & a$
  934.     If B% = 3 Then a$ = "000" & a$
  935.     If B% = 2 Then a$ = "0000" & a$
  936.     If B% = 1 Then a$ = "00000" & a$
  937.     RGBtoHEX = a$
  938. End Function
  939.  
  940. Function Rich2HTML(RichTXT As Control, StartPos%, EndPos%)
  941. 'by monk-e-god
  942. Dim Bolded As Boolean
  943. Dim Undered As Boolean
  944. Dim Striked As Boolean
  945. Dim Italiced As Boolean
  946. Dim LastCRL As Long
  947. Dim LastFont As String
  948. Dim HTMLString As String
  949.  
  950. For posi% = StartPos To EndPos
  951. RichTXT.SelStart = posi%
  952. RichTXT.SelLength = 1
  953.  
  954. If Bolded <> RichTXT.SelBold Or posi% = StartPos Then
  955. If RichTXT.SelBold = True Then
  956. HTMLString = HTMLString + "<b>"
  957. Bolded = True
  958. Else
  959. HTMLString = HTMLString + "</b>"
  960. Bolded = False
  961. End If
  962. End If
  963.  
  964. If Undered <> RichTXT.SelUnderline Or posi% = StartPos Then
  965. If RichTXT.SelUnderline = True Then
  966. HTMLString = HTMLString + "<u>"
  967. Undered = True
  968. Else
  969. HTMLString = HTMLString + "</u>"
  970. Undered = False
  971. End If
  972. End If
  973.  
  974. If Striked <> RichTXT.SelStrikeThru Or posi% = StartPos Then
  975. If RichTXT.SelStrikeThru = True Then
  976. HTMLString = HTMLString + "<s>"
  977. Striked = True
  978. Else
  979. HTMLString = HTMLString + "</s>"
  980. Striked = False
  981. End If
  982. End If
  983.  
  984. If Italiced <> RichTXT.SelItalic Or posi% = StartPos Then
  985. If RichTXT.SelItalic = True Then
  986. HTMLString = HTMLString + "<i>"
  987. Italiced = True
  988. Else
  989. HTMLString = HTMLString + "</i>"
  990. Italiced = False
  991. End If
  992. End If
  993.  
  994. If LastCRL <> RichTXT.SelColor Or posi% = StartPos Then
  995. ColorX = RGB(GetRGB(RichTXT.SelColor).Blue, GetRGB(RichTXT.SelColor).Green, GetRGB(RichTXT.SelColor).Red)
  996. colorhex = RGBtoHEX(ColorX)
  997. HTMLString = HTMLString + "<Font Color=#" & colorhex & ">"
  998. LastCRL = RichTXT.SelColor
  999. End If
  1000.  
  1001. If LastFont <> RichTXT.SelFontName Then
  1002. HTMLString = HTMLString + "<font face=" + Chr(34) + RichTXT.SelFontName + Chr(34) + ">"
  1003. LastFont = RichTXT.SelFontName
  1004. End If
  1005.  
  1006. HTMLString = HTMLString + RichTXT.SelText
  1007. Next posi%
  1008.  
  1009. Rich2HTML = HTMLString
  1010.  
  1011. End Function
  1012.  
  1013. Function HTMLtoRGB(TheHTML$)
  1014. 'by monk-e-god
  1015. 'converts HTML such as 0000FF to an
  1016. 'RGB value like &HFF0000 so you can
  1017. 'use it in the FadeByColor functions
  1018. If Left(TheHTML$, 1) = "#" Then TheHTML$ = Right(TheHTML$, 6)
  1019.  
  1020. RedX$ = Left(TheHTML$, 2)
  1021. GreenX$ = Mid(TheHTML$, 3, 2)
  1022. BlueX$ = Right(TheHTML$, 2)
  1023. rgbhex$ = "&H00" + BlueX$ + GreenX$ + RedX$ + "&"
  1024. HTMLtoRGB = Val(rgbhex$)
  1025. End Function
  1026. Function FadeFourColor(R1%, G1%, B1%, R2%, G2%, B2%, R3%, G3%, B3%, R4%, G4%, B4%, TheText$, Wavy As Boolean)
  1027. 'by monk-e-god
  1028.     Dim WaveState%
  1029.     Dim WaveHTML$
  1030.     WaveState = 0
  1031.     
  1032.     textlen% = Len(TheText)
  1033.     
  1034.     Do: DoEvents
  1035.     fstlen% = fstlen% + 1: textlen% = textlen% - 1
  1036.     If textlen% < 1 Then Exit Do
  1037.     seclen% = seclen% + 1: textlen% = textlen% - 1
  1038.     If textlen% < 1 Then Exit Do
  1039.     thrdlen% = thrdlen% + 1: textlen% = textlen% - 1
  1040.     If textlen% < 1 Then Exit Do
  1041.     Loop Until textlen% < 1
  1042.     
  1043.     part1$ = Left(TheText, fstlen%)
  1044.     part2$ = Mid(TheText, fstlen% + 1, seclen%)
  1045.     part3$ = Right(TheText, thrdlen%)
  1046.     
  1047.     'part1
  1048.     textlen% = Len(part1$)
  1049.     For i = 1 To textlen%
  1050.         TextDone$ = Left(part1$, i)
  1051.         LastChr$ = Right(TextDone$, 1)
  1052.         ColorX = RGB(((B2 - B1) / textlen% * i) + B1, ((G2 - G1) / textlen% * i) + G1, ((R2 - R1) / textlen% * i) + R1)
  1053.         colorx2 = RGBtoHEX(ColorX)
  1054.         
  1055.         If Wavy = True Then
  1056.         WaveState = WaveState + 1
  1057.         If WaveState > 4 Then WaveState = 1
  1058.         If WaveState = 1 Then WaveHTML = "<sup>"
  1059.         If WaveState = 2 Then WaveHTML = "</sup>"
  1060.         If WaveState = 3 Then WaveHTML = "<sub>"
  1061.         If WaveState = 4 Then WaveHTML = "</sub>"
  1062.         Else
  1063.         WaveHTML = ""
  1064.         End If
  1065.         
  1066.         Faded1$ = Faded1$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1067.     Next i
  1068.     'part2
  1069.     textlen% = Len(part2$)
  1070.     For i = 1 To textlen%
  1071.         TextDone$ = Left(part2$, i)
  1072.         LastChr$ = Right(TextDone$, 1)
  1073.         ColorX = RGB(((B3 - B2) / textlen% * i) + B2, ((G3 - G2) / textlen% * i) + G2, ((R3 - R2) / textlen% * i) + R2)
  1074.         colorx2 = RGBtoHEX(ColorX)
  1075.         
  1076.         If Wavy = True Then
  1077.         WaveState = WaveState + 1
  1078.         If WaveState > 4 Then WaveState = 1
  1079.         If WaveState = 1 Then WaveHTML = "<sup>"
  1080.         If WaveState = 2 Then WaveHTML = "</sup>"
  1081.         If WaveState = 3 Then WaveHTML = "<sub>"
  1082.         If WaveState = 4 Then WaveHTML = "</sub>"
  1083.         Else
  1084.         WaveHTML = ""
  1085.         End If
  1086.         
  1087.         Faded2$ = Faded2$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1088.     Next i
  1089.     
  1090.     'part3
  1091.     textlen% = Len(part3$)
  1092.     For i = 1 To textlen%
  1093.         TextDone$ = Left(part3$, i)
  1094.         LastChr$ = Right(TextDone$, 1)
  1095.         ColorX = RGB(((B4 - B3) / textlen% * i) + B3, ((G4 - G3) / textlen% * i) + G3, ((R4 - R3) / textlen% * i) + R3)
  1096.         colorx2 = RGBtoHEX(ColorX)
  1097.         
  1098.         If Wavy = True Then
  1099.         WaveState = WaveState + 1
  1100.         If WaveState > 4 Then WaveState = 1
  1101.         If WaveState = 1 Then WaveHTML = "<sup>"
  1102.         If WaveState = 2 Then WaveHTML = "</sup>"
  1103.         If WaveState = 3 Then WaveHTML = "<sub>"
  1104.         If WaveState = 4 Then WaveHTML = "</sub>"
  1105.         Else
  1106.         WaveHTML = ""
  1107.         End If
  1108.         
  1109.         Faded3$ = Faded3$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1110.     Next i
  1111.     
  1112.     FadeFourColor = Faded1$ + Faded2$ + Faded3$
  1113. End Function
  1114.  
  1115. Function FadeThreeColor(TheText$, R1%, G1%, B1%, R2%, G2%, B2%, R3%, G3%, B3%, Wavy As Boolean)
  1116. 'by monk-e-god
  1117.     Dim WaveState%
  1118.     Dim WaveHTML$
  1119.     WaveState = 0
  1120.     
  1121.     textlen% = Len(TheText)
  1122.     fstlen% = (Int(textlen%) / 2)
  1123.     part1$ = Left(TheText, fstlen%)
  1124.     part2$ = Right(TheText, textlen% - fstlen%)
  1125.     'part1
  1126.     textlen% = Len(part1$)
  1127.     For i = 1 To textlen%
  1128.         TextDone$ = Left(part1$, i)
  1129.         LastChr$ = Right(TextDone$, 1)
  1130.         ColorX = RGB(((B2 - B1) / textlen% * i) + B1, ((G2 - G1) / textlen% * i) + G1, ((R2 - R1) / textlen% * i) + R1)
  1131.         colorx2 = RGBtoHEX(ColorX)
  1132.         
  1133.         If Wavy = True Then
  1134.         WaveState = WaveState + 1
  1135.         If WaveState > 4 Then WaveState = 1
  1136.         If WaveState = 1 Then WaveHTML = "<sup>"
  1137.         If WaveState = 2 Then WaveHTML = "</sup>"
  1138.         If WaveState = 3 Then WaveHTML = "<sub>"
  1139.         If WaveState = 4 Then WaveHTML = "</sub>"
  1140.         Else
  1141.         WaveHTML = ""
  1142.         End If
  1143.         
  1144.         Faded1$ = Faded1$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1145.     Next i
  1146.     'part2
  1147.     textlen% = Len(part2$)
  1148.     For i = 1 To textlen%
  1149.         TextDone$ = Left(part2$, i)
  1150.         LastChr$ = Right(TextDone$, 1)
  1151.         ColorX = RGB(((B3 - B2) / textlen% * i) + B2, ((G3 - G2) / textlen% * i) + G2, ((R3 - R2) / textlen% * i) + R2)
  1152.         colorx2 = RGBtoHEX(ColorX)
  1153.         
  1154.         If Wavy = True Then
  1155.         WaveState = WaveState + 1
  1156.         If WaveState > 4 Then WaveState = 1
  1157.         If WaveState = 1 Then WaveHTML = "<sup>"
  1158.         If WaveState = 2 Then WaveHTML = "</sup>"
  1159.         If WaveState = 3 Then WaveHTML = "<sub>"
  1160.         If WaveState = 4 Then WaveHTML = "</sub>"
  1161.         Else
  1162.         WaveHTML = ""
  1163.         End If
  1164.         
  1165.         Faded2$ = Faded2$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1166.     Next i
  1167.     
  1168.     
  1169.     FadeThreeColor = Faded1$ + Faded2$
  1170. End Function
  1171.  
  1172. Function FadeTwoColor(R1%, G1%, B1%, R2%, G2%, B2%, TheText$, Wavy As Boolean)
  1173. 'by monk-e-god
  1174.     Dim WaveState%
  1175.     Dim WaveHTML$
  1176.     WaveState = 0
  1177.     
  1178.     textlen$ = Len(TheText)
  1179.     For i = 1 To textlen$
  1180.         TextDone$ = Left(TheText, i)
  1181.         LastChr$ = Right(TextDone$, 1)
  1182.         ColorX = RGB(((B2 - B1) / textlen$ * i) + B1, ((G2 - G1) / textlen$ * i) + G1, ((R2 - R1) / textlen$ * i) + R1)
  1183.         colorx2 = RGBtoHEX(ColorX)
  1184.         
  1185.         If Wavy = True Then
  1186.         WaveState = WaveState + 1
  1187.         If WaveState > 4 Then WaveState = 1
  1188.         If WaveState = 1 Then WaveHTML = "<sup>"
  1189.         If WaveState = 2 Then WaveHTML = "</sup>"
  1190.         If WaveState = 3 Then WaveHTML = "<sub>"
  1191.         If WaveState = 4 Then WaveHTML = "</sub>"
  1192.         Else
  1193.         WaveHTML = ""
  1194.         End If
  1195.         
  1196.         Faded$ = Faded$ + "<Font Color=#" & colorx2 & ">" + WaveHTML + LastChr$
  1197.     Next i
  1198.     FadeTwoColor = Faded$
  1199. End Function
  1200.