Something quick to get you going ..
This will let you write text in different colors as well as BOLD , ITALICS, UNDERLINE
The example shows a simple HTML-generated file.
After clicking the NOTIFY button a modified version is shown.
I have used Blitz forum codes for text formatting.
See the ParseLine() function and example text.
The basics:
The source:
This will let you write text in different colors as well as BOLD , ITALICS, UNDERLINE
The example shows a simple HTML-generated file.
After clicking the NOTIFY button a modified version is shown.
I have used Blitz forum codes for text formatting.
See the ParseLine() function and example text.
The basics:
htm:HTML_Type Methods/Functions ------------------------------------------------------------ htm.Clear - clears the text (and creates a header) htm.AddText t$ - adds an entry htm.AddLink url$,desc$ - adds a link to url/file etc.. htm.Change f$,r$ - searches for f$ and replaces with r$ htm.Show htmviewgadget - show results into a view gadget htm.Cleanup - removes temporary htm file and text
The source:
' Basic HTML source generator ' Jim Brown ' v0.01 Type HTML_Type Global htmlsource:TList=New TList Global templist:TList=New TList ' add text entry Method New() Clear End Method ' add a line if text Method AddText(t$,LineBreak%=True) Local lb$="" If LineBreak lb$="<br>" htmlsource.AddLast t$+lb$ End Method ' add a link to a url/file etc .. Method AddLink(url$,desc$,lb%=False) AddText "<a href=~q" + url$ + "~q>" + desc$ + "</a>" , lb End Method ' create top header file for results.htm file Method Clear() htmlsource.Clear AddText "<html>",False AddText "<head>",False AddText "<title>HTML Generated Text</title>",False AddText "</head>",False AddText "<body bgcolor=~q#FFFFFF~q>",False End Method ' search for and change a text entry Method Change(f$,r$) For Local l$=EachIn htmlsource l$=l.Replace(f$,r$) templist.AddLast l$ Next htmlsource.Clear SwapLists htmlsource,templist templist.clear End Method ' convert tags to HTML compatible tags Function ParseLine:String(a:String) a$=a.Replace("<i>","<em>") ' ITALICS ON a$=a.Replace("</i>","</em>") ' ITALICS OFF a$=a.Replace("<b>","<strong>") ' BOLD ON a$=a.Replace("</b>","</strong>") ' BOLD OFF a$=a.Replace("<u>","<u>") ' UNDERLINE ON a$=a.Replace("</u>","</u>") ' UNDERLINE OFF a$=a.Replace("[rgb]","<font color=~q#") ' COLOR ON a$=a.Replace("[/rgb]","~q>") ' COLOR OFF a$=a.Replace("[bar]","<hr>") ' HORIZONAL BAR 't$=t.Replace("~q" , Chr$(34)) Return a$ End Function ' show the resulting text into a HTML view gadget Method Show(htmviewgadget:TGadget) AddText "</body>",False AddText "</html>",False Local file:TStream=WriteFile("temp.htm") If file ' write the file For Local t$=EachIn htmlsource WriteLine file,ParseLine(t$) Next CloseFile file ' open the file for viewing Local htmfile$=AppDir$+"/temp.htm" htmfile$=htmfile.Replace("//","/") HtmlViewGo htmviewgadget,htmfile$ Else Notify "HTML file error." EndIf End Method ' remove text and temporary file Method Cleanup() htmlsource.Clear If FileSize("temp.htm")>-1 DeleteFile "temp.htm" End Method End Type ' ********************************************************* ' basic GUI frontend for viewing generated page Global htmlview:TGadget Const winW%=660 , WinH%=460 Const winflags%=WINDOW_RESIZABLE|WINDOW_TITLEBAR|WINDOW_STATUS Global win:TGadget = CreateWindow("HTML Example",180,70,winW,winH,Null,winflags) htmlview=CreateHTMLView(8,40,ClientWidth(win)-16,ClientHeight(win)-48,win) SetGadgetLayout htmlview,1,1,1,1 ' ********************************************************* ' create a simple HTML test page ' Note: newly created pages are automatically ' initiallised with a header Global htm:HTML_Type=New HTML_Type htm.AddText "Hello World!" htm.AddText "[rgb]8080ff[/rgb]This text should be in blue." htm.AddText "[rgb]ee0000[/rgb]This line color will change shortly!!" htm.AddText "[rgb]000000[/rgb]Black (default)" htm.AddText "Example of <i>Italics</i> and <b>bold</b> too." htm.AddText "[bar]" htm.AddText "After clicking the NOTIFY button the RED text should change" htm.AddText "to GREEN and the new results displayed." ' show the generated page into the htmlview gadget htm.Show htmlview Notify "Click me after reading the HTML code" ' search for and change the RED to GREEN htm.Change "[rgb]ee0000[/rgb]","[rgb]00ff00[/rgb]" htm.Change "will change shortly","has changed" ' show new results htm.Show htmlview Notify "Finally, how to clear the page and start again .." htm.Clear htm.AddText "Game over .. " htm.AddText "Or, you might want to vist the ",False ' (False=suspend line break) htm.AddLink "http://www.blitzmax.com","BlitzMax" htm.AddText "site!!" htm.Show htmlview ' ********************************************************* Repeat Local event%=WaitEvent() DebugLog CurrentEvent.ToString() Select event ' closed via [X] or other shutdown method Case EVENT_WINDOWCLOSE , EVENT_APPTERMINATE Exit End Select Forever htm.Cleanup End