Actually this was quite trivial [Smile]

(Gawd ! I don't want to post this as 1.0.3.3 [Mad] )

This will start in last screen position (see it as 'private build' [Razz] ) :

; UBB PostPrep 1.0.3.2 (Engine 1.1.0 beta 3) 
; ----------------------------------------------------------------------------------------------
; MINIMUM REQUIREMENTS
;
; KIXTART 4.20 (WKiX32)
; KIXFORMS 2.3.0 Beta 3 (build 41)
; ----------------------------------------------------------------------------------------------
; AUTHORs
; Jochen Polster - Form, Controls, Design, Codestarter
; Jooel Nieminen - Conversion Engine !
; ----------------------------------------------------------------------------------------------
; ACKNOWLEDGEMENTS
; Shawn Tassie (for Kixforms of course!)
; Richard Howarth (for pointing out the <br>-tag Issue)
; All KiXtart Enthusiasts for which we wrote this
; ----------------------------------------------------------------------------------------------
; VERSION HISTORY
;
; 1.0.3.2 - 09/25/2003 Form now remembers last size (somehow lost in 1.0.3.1)
; http://www.kixtart.org/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=13&t=000687

; 1.0.3.1 - 09/25/2003 Fixed to reflect changed Anchor Properties, new engine added
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000686
;
; 1.0.3 - 03/17/2003 Form now resizable
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000568
;
; 1.0.2 - 03/10/2003 replaced Buttons with ToolButtons
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000562
;
; 1.0.1 - 01/28/2003 bug-fixes to conversion engine, optional WordWrap added
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000512
;
; 1.0 - 01/27/2003 Initial worthwhile release
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000510
;
; 0.9 A - different very buggy Alpha releases not worth to mention
;
; 0.9 P - Preview Version(s) discussed on kixtart.org Bulletin board
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000426
; ----------------------------------------------------------------------------------------------

break on
$ = setascii("on")

$ReqForms = 41
$Version = "1.0.3.2"
$Wordfile = @scriptdir + '\Wordfile.ini'
$Kix = substr(@kix,1,4)

if $Kix < "4.20"
$ = messagebox('This Script requires at least KiXtart 4.20 ','Version Check',4112)
quit()
endif

Global $SourceText[0], $TargetText[0], $Colors[7], $PathOpen, $PathSave, $ShowStatistics, $wrap
$Sections = "Comments","Strings","Numbers","Commands","Functions","Macros","Operators","Variables"

if exist($Wordfile)
for $i = 0 to 7
$Colors[$i] = readprofilestring($Wordfile,$Sections[$i],"Color")
next
$CTable = split(readprofilestring($Wordfile,"ColorTable","Colors"),',')
$Commands = split(readprofilestring($Wordfile,"Commands", "words"),',')
$Functions = split(readprofilestring($Wordfile,"Functions", "words"),',')
$PathOpen = readprofilestring($Wordfile,"Global","PathOpen")
$PathSave = readprofilestring($Wordfile,"Global","PathSave")
$ShowStatistics = val(readprofilestring($Wordfile,"Global","ShowStats"))
$wrap = val(readprofilestring($Wordfile,"Global","WordWrap"))
$LastSize = split(readprofilestring($Wordfile,"Global","FormSize"),',')
$LastLocation = split(readprofilestring($Wordfile,"Global","FormLocation"),',')
if not ubound($Commands)
or not ubound($Functions)
or not ubound($Colors)
$ = messagebox('This Script requires a consistent wordfile','File check',4112)
quit()
endif
else
$ = messagebox('This Script requires a wordfile ','File missing',4112)
quit()
endif

$frm = createobject("Kixtart.Form")

if val($frm.Build) < $ReqForms
$ = messagebox('This Script requires Kixforms build ' + $ReqForms,'Version check',4112)
quit()
endif

$frm.Size = 810,620
$frm.Caption = "UBB Postprep " + $Version
$frm.Icon = @scriptdir + "\Kix.ico"
$frm.Resizable = 1
$frm.MaxButton = 1
$frm.MinimumSize = 700,620
$frm.SizeGripStyle = 1
$frm.ClipChildren = 1

$lblPowered = $frm.Label("Powered by", $frm.ClientWidth-98,$frm.ClientHeight-115,90,20)
$lblPowered.FontName = "Comic sans MS"
$lblPowered.FontBold = 1
$lblPowered.FontSize = 11
$lblPowered.ForeColor = Kixtart
$lblPowered.Anchor = 2+8

$lblBuild = $frm.Label(" KiXtart " + $kix + @crlf
+ " and" + @crlf + " KiXforms build " + $frm.Build,
$frm.ClientWidth-98,$frm.ClientHeight-90,90,40)
$lblBuild.FontName = "Comic sans MS"
$lblBuild.FontBold = 1
$lblBuild.FontSize = 7
$lblBuild.ForeColor = Kixtart
$lblBuild.Anchor = 2+8

$hypBoard = $frm.HyperLink("Bulletin Board",$frm.ClientWidth-87, $frm.ClientHeight-45, 100, 25)
$hypBoard.Value = "http://www.kixtart.org/cgi-bin/ultimatebb.cgi?Category=1"
$hypBoard.ToolTip = $hypBoard.Value
$hypBoard.Anchor = 2+8

$txtSource = $frm.TextBox(,3,5)
$txtSource.Right = $frm.ClientWidth-110
$txtSource.Bottom = $frm.ClientHeight/2-3
$txtSource.ScrollBars = 3
$txtSource.AcceptsTab = 1
$txtSource.FontName = "Courier New"
$txtSource.FontSize = 8
$txtSource.MultiLine = 1
$txtSource.Anchor = 1+2+4+8
$txtSource.OnChange = "TextSource_Change()"

$txtTarget = $frm.TextBox(,3,5 + $txtSource.Bottom)
$txtTarget.Right = $frm.ClientWidth - 110
$txtTarget.Bottom = $frm.ClientHeight - 20
$txtTarget.ScrollBars = 3
$txtTarget.FontName = "Courier New"
$txtTarget.FontSize = 8
$txtTarget.MultiLine = 1
$txtTarget.Anchor = 2+4+8

$lblStatus1 = $frm.Label("",3,$frm.ClientHeight-17,$frm.ClientWidth/3*2,16)
$lblStatus1.BorderStyle = 5
$lblStatus1.Anchor = 2+4+8

$lblStatus2 = $frm.Label("",$lblStatus1.Right+3,$frm.ClientHeight-17,$frm.ClientWidth/3-6,16)
$lblStatus2.BorderStyle = 5
$lblStatus2.Anchor = 2+8

$prg = $lblStatus2.ProgressBar
$prg.Size = $frm.ClientWidth/3-8,13
$prg.Style = 1
$prg.BorderStyle = 0
$prg.Value = 0
$prg.ForeColor = DarkBlue
$prg.Visible = 0

$btnOpen = btn_Create($frm,"Open...",$txtTarget.Right+9,5,92,25,1,5,"btnOpen_Click()",1,"1+8")
$btnClear = btn_Create($frm,"Clear",$txtTarget.Right+9,$btnOpen.Bottom,92,25,44,5,"btnClear_Click()",0,"1+8")
$btnKeyWords = btn_Create($frm,"Keywords...",$txtTarget.Right+9,$btnClear.Bottom,92,25,41,5,"btnKeyWords_Click()",1,"1+8")
$btnColor = btn_Create($frm,"Set Colors...",$txtTarget.Right+9,$btnKeyWords.Bottom,92,25,17,5,"btnColor_Click()",1,"1+8")
$fraFormat = $frm.GroupBox("Convert:",$txtTarget.Right+9,$btnColor.Bottom+5,92,239)
$fraFormat.Anchor = 1+8

dim $Top
$Top = 17
for $i = 0 to ubound($Sections)
$ = execute("$$txtFormat$i = $$fraFormat.TextBox($$Sections[$i],6,$Top,80,20)")
$ = execute("$$txtFormat$i.Caption = $$Sections[$i]")
$ = execute("$$txtFormat$i.ForeColor = &"+readprofilestring($Wordfile,$Sections[$i],'Color'))
$ = execute("$$txtFormat$i.FontBold = -"+val(readprofilestring($Wordfile,$Sections[$i],'Bold')))
$ = execute("$$txtFormat$i.Locked = 2")
$ = execute("$$txtFormat$i.TabStop = 0")
$ = execute("$$Top = $$txtFormat$i.Bottom + 3")
next

$chkShowStats = $fraFormat.CheckBox("Statistics",6, $txtFormat7.Bottom+4,80,15)
$chkShowStats.Value = $ShowStatistics
$chkShowStats.onclick = "chkShowStats_CLick($$chkShowStats.Value)"

$chkWordWrap = $fraFormat.CheckBox("Borders",6, $chkShowStats.Bottom+2,80,15)
$chkWordWrap.Value = $wrap
$chkWordWrap.onclick = "chkWordWrap_CLick($$chkWordWrap.Value)"

$btnConvert = btn_Create($frm,"Convert",$txtTarget.Right+9,$fraFormat.Bottom+10,92,25,36,5,"btnConvert_Click()",0,"1+8")
$btnPreview = btn_Create($frm,"Preview",$txtTarget.Right+9,$btnConvert.Bottom,92,25,43,5,"btnPreview_Click($$txtTarget.text)",0,"1+8")
$btnCopy = btn_Create($frm,"Copy All",$txtTarget.Right+9,$btnPreview.Bottom,92,25,7,5,"btnCopy_Click()",0,"1+8")
$btnSave = btn_Create($frm,"Save As...",$txtTarget.Right+9,$btnCopy.Bottom,92,25,3,5,"btnSave_Click()",0,"1+8")

if vartype($LastSize) > 8192 and ubound($LastSize) > 0
if val($LastSize[0]) > 810 and val($LastSize[1]) > 620
$frm.Size = val($LastSize[0]),val($LastSize[1])
endif
endif
$txtSource.SetFocus
if vartype($LastLocation) > 8192 and ubound($LastLocation) > 0
$frm.Location = val($LastLocation[0]),val($LastLocation[1])
else
$frm.Center
endif

$frm.Show
while $frm.Visible
$ = execute($frm.DoEvents)
loop

$ = writeprofilestring($Wordfile,"Global","FormSize","" + $frm.ClientWidth + "," + $frm.ClientHeight)
$ = writeprofilestring($Wordfile,"Global","FormLocation","" + $frm.Left + "," + $frm.Top)

function btn_Create($ob,$z1,$z2,$z3,$z4,$z5,$z6,$z7,$z8,$z9,$z10)
dim $,$!
$ = "$$"
$! = execute('$$btn_Create=$$ob.ToolButton("$z1",$z2,$z3,$z4,$z5)
$$btn_Create.Icon=$z6
$$btn_Create.BorderStyle=$z7
$$btn_Create.onclick="$$z8"
$$btn_Create.Enabled=$z9
$$btn_Create.Anchor=$z10
'
)
endfunction

function btnAdd_Click()
$frmAdd = createobject("Kixtart.Form")
$frmAdd.Caption = "Add " + $cboSel.Text
$frmAdd.Size = 200,100
$frmAdd.Location = $frm.Right-400,$frm.Top+142
$frmAdd.SysMenu = 0

$txtAdd = $frmAdd.TextBox("",13,10,150,20)
$txtAdd.OnChange = "if $$txtAdd.Text <> '' and ascan($$"+$cboSel.Text+",$$txtAdd.Text)=-1 $$btnOk.Enabled=1 else $$btnOk.Enabled=0 endif"

$btnOk = $frmAdd.Button("OK",$frmAdd.ClientWidth/2-83,$frmAdd.ClientHeight-30,80,25)
$btnOk.BorderStyle = 5
$btnOk.Enabled = 0
$btnOk.onclick = "$$=$$lvw.Items.Add($$txtAdd.Text)
redim $$"
+$cboSel.Text+"[0]
for $$i=1 to $$lvw.Items.Count redim preserve $$"
+$cboSel.Text+"[$$i-1] $$"+$cboSel.Text+"[$$i-1]=$$lvw.Items($$i-1).Text next
$$=writeprofilestring($$Wordfile,$$cboSel.Text,'Words',join($$"
+$cboSel.Text+",','))
for each $$item in $$lvw.SelectedItems $$Item.Selected = 0 next
$$txtAdd.SetFocus $$txtAdd.Text=''"


$btnEx = $frmAdd.Button("Exit",$frmAdd.CLientWidth/2+3,$frmAdd.ClientHeight-30,80,25)
$btnEx.BorderStyle = 5
$btnEx.Cancel = 1
$btnEx.onclick = "$$frmAdd=0"

$frmAdd.Show
$txtAdd.SetFocus
while $frmAdd.Visible
$ = execute($frmAdd.DoEvents)
loop
endfunction

function btnClear_Click()
$txtSource.Text = ''
$txtTarget.Text = ''
$lblStatus1.Text = ''
$btnSave.Enabled = 0
$btnCopy.Enabled = 0
$btnClear.Enabled = 0
$btnConvert.Enabled = 0
$btnPreview.Enabled = 0
endfunction

function btnColor_Click()
dim $Left, $Top, $index
$index = 0 $Left = 7 $Top = 19

$frmDialog1 = createobject("Kixtart.Form")
$frmDialog1.Size = 245,233
$frmDialog1.Caption = "Set Colors"
$frmDialog1.Location = $frm.Right - $frmDialog1.ClientWidth - 120 , $frm.Top + $btnColor.Bottom - 2
$frmDialog1.ForeColor = MediumBlue
$frmDialog1.DrawWidth = 2
$frmDialog1.SysMenu = 0

$cboStrings = $frmDialog1.ComboBox
$cboStrings.List = $Sections
$cboStrings.Location = 5,8
$cboStrings.ListIndex = 0
$cboStrings.Style = 1
$cboStrings.Default = 1
$cboStrings.onclick = "$$index = cboStrings_CLick($$Index,$$cboStrings.ListIndex)"

$chkBold = $frmDialog1.CheckBox("Bold",112,11,50,15)
$chkBold.onclick = "chkBold_Click($$index)"
$chkBold.Value = val(readprofilestring($Wordfile,$Sections[0],"Bold"))

$btnClose1 = $frmDialog1.Button("Close",$frmDialog1.ClientWidth-75,7,70,25)
$btnClose1.BorderStyle = 5
$btnClose1.Cancel = 1
$btnClose1.onclick = "$$frmDialog1=0"

$fraColor = $frmDialog1.Frame("Colors:",5,40,230,163)

for $i = 0 to ubound($CTable)
$ = execute("$$lblColor$i = $$fraColor.Label('',$Left,$Top,20,18)")
$ = execute("$$lblColor$i.BorderStyle = 2")
$ = execute("$$lblColor$i.BackColor = &" + $CTable[$i])
$ = execute("$$lblColor$i.onclick = 'Color_Change($$$$index,$i)'")
$Left = $Left + 28
if $Left = 231
$Left = 7
$Top = $Top + 24
endif
next

$e = ascan($CTable, $Colors[$index])
$ = execute("$$frmDialog1.Rectangle($$lblColor$e.Left+3,$$lblColor$e.Top+38,24,22)")

$frm.Enabled = 0
$frmDialog1.Show

while $frmDialog1.Visible
$ = execute($frmDialog1.DoEvents)
loop

$frm.Enabled = 1
endfunction

function btnConvert_Click()
dim $StartTime, $EndTime, $HColors[7], $out, $i,$fb
$txtSource.Locked = 2
$frm.MousePointer = 11
$prg.Visible = 1
$btnOpen.Enabled = 0
$btnKeyWords.Enabled = 0
$btnColor.Enabled = 0
$btnPreview.Enabled = 0
$btnCopy.Enabled = 0
$btnSave.Enabled = 0
$btnClear.Enabled = 0
for $i = 0 to ubound($Colors)
$HColors[$i] = right($Colors[$i],2) + substr($Colors[$i],3,2) + left($Colors[$i],2)
$ = execute("$$fb=''+$$fb+$$txtFormat$i.FontBold+' '")
next
$fb=split(left($fb,len($fb)-1))
$StartTime = @time + ':' + @msecs
$out = kix2htm($txtSource.Text,$HColors,$fb,$Functions,$Commands,$wrap)
$EndTime = @time + ':' + @msecs
$txtTarget.Text = $out[0]
$txtSource.Locked = 0
$frm.MousePointer = 0
$prg.Value = 0
$btnCopy.Enabled = 1
$btnPreview.Enabled = 1
$btnSave.Enabled = 1
$btnClear.Enabled = 1
$btnOpen.Enabled = 1
$btnKeyWords.Enabled = 1
$btnColor.Enabled = 1
$prg.Visible = 0
if $ShowStatistics
$ = ShowStats(DeltaTime($StartTime, $EndTime), $out[3], $out[4], $out[2], $out[1])
endif
endfunction

function btnCopy_Click()
$txtTarget.SelStart = 0
$txtTarget.SelLength = -1
$txtTarget.Copy
endfunction

function btnDel_Click()
dim $
if $lvw.SelectedItems.Count > 0 and $lvw.FocusedItem.Selected
$lvw.SelectedItems.clear
$ = execute("redim $$"+$cboSel.Text+"[0]")
for $i = 1 to $lvw.Items.Count
$=execute("redim preserve $$"+$cboSel.Text+"[$$i-1] $$"+$cboSel.Text+"[$$i-1]=$$lvw.Items($$i-1).Text")
next
$ = execute("$$=writeprofilestring($$Wordfile,$$cboSel.Text,'Words',join($$"+$cboSel.Text+",','))")
endif
endfunction

function btnKeyWords_Click()
dim $frmDialog2
$frm.Enabled = 0
$frmDialog2 = createobject("Kixtart.form")
$frmDialog2.Size = 400,380
$frmDialog2.Caption = "Maintain Keywords"
$frmDialog2.Location = $frm.Right-$frmDialog2.ClientWidth-120,$frm.Top+$btnKeyWords.Bottom-2
$frmDialog2.SysMenu = 0

$cboSel = $frmDialog2.ComboBox
$cboSel.List = "Commands","Functions"
$cboSel.Location = 5,8
$cboSel.ListIndex = 0
$cboSel.Style = 1
$cboSel.onclick = "cboSel_Click()"

$btnAdd = $frmDialog2.Button("Add Keywords...",$cboSel.Right+5,5,95,25)
$btnAdd.BorderStyle = 5
$btnAdd.onclick = "btnAdd_Click()"

$btnDel = $frmDialog2.Button("Delete Selected",$btnAdd.Right+5,5,95,25)
$btnDel.BorderStyle = 5
$btnDel.onclick = "btnDel_Click()"

$btnClose2 = $frmDialog2.Button("Close",$frmDialog2.ClientWidth-75,5,70,25)
$btnClose2.BorderStyle = 5
$btnClose2.Cancel = 1
$btnClose2.onclick = "$$frmDialog2=0"

$lvw = $frmDialog2.ListView()
$lvw.Left = 5
$lvw.Top = 35
$lvw.Right = $frmDialog2.ClientWidth-5
$lvw.Bottom = $frmDialog2.ClientHeight-5
$lvw.View = 3
$lvw.Gridlines = True
$lvw.MultiSelect = True
$lvw.Sorted = 1

for $i = 0 to ubound($Commands)
$ = $lvw.Items.Add($Commands[$i])
next

for each $Item in $lvw.SelectedItems
$Item.Selected = 0
next

$frmDialog2.Show
while $frmDialog2.Visible
$=execute($frmDialog2.DoEvents)
loop
$frm.Enabled = 1
endfunction

function btnOpen_Click()
dim $FileName, $nl
$FileName = $frm.FileOpenDialog("Open",$PathOpen,, "KiX Files|*.kix;*.udf;*.k2k;*.udf|All Files|*.*",1)
if $FileName
$ = open(1,$Filename,2)
if not @error
$PathOpen = substr($FileName,1,instrrev($FileName,'\')-1)
$ = writeprofilestring($Wordfile,"Global","PathOpen",$PathOpen)
$frm.MousePointer = 11
$lblStatus1.Caption = ""
$btnCopy.Enabled = 0
$btnSave.Enabled = 0
$btnClear.Enabled = 1
$txtTarget.Text = ""
$txtSource.Text = ""
$txtSource.BeginUpdate
dim $in
$nl = readline(1)
while @error = 0
$in = $in + $nl + @crlf
$nl = readline(1)
loop
$in = substr($in,1,instrrev($in,@crlf)-1)
$ = close(1)
$txtSource.Text = $in
$txtSource.EndUpdate
$frm.MousePointer = 0
$lblStatus1.Caption = " " + $FileName
if $txtSource.Text
$btnConvert.Enabled = 1
else
$btnConvert.Enabled = 0
endif
endif
endif
endfunction

function btnPreview_Click($data)
dim $ie,$doc,$f,$t,$m
$ie = createobject("internetexplorer.application")
$ie.addressbar=0
$ie.menubar=0
$ie.toolbar=0
$ie.statusbar=0
$ie.navigate("about:blank")
$doc = $ie.document
$doc.write("<html><head><title>PostPrep Preview</title></head>"+join(split($data,@crlf),"<br>")+"</html>")
$ie.visible=1
if $frm.
while setfocus("PostPrep Preview") sleep 0.01 loop
$frm.show(2)
while $ie.visible sleep 0.04 loop
$frm.show(1)
endfunction

function btnSave_Click()
dim $file, $Output
$file = $frm.FileSaveDialog("Save As",$PathSave,, "HTML Files|*.html",0)
if $file
$PathSave = substr($File,1,instrrev($File,'\')-1)
$ = writeprofilestring($Wordfile,"Global","PathSave",$PathSave)
if not right($file,5) = '.html'
$file = $file + '.html'
endif
if exist($file)
del $file
endif
$Output = join(split($txtTarget.Text,@crlf),"<br>")
$ = open(1,$file,5)
$ = writeline(1,$Output)
$ = close(1)
endif
endfunction

function cboSel_Click()
$lvw.BeginUpdate
for each $item in $lvw.Items
$item.Remove
next
$ = execute("for each $$item in $$"+$cboSel.Text+" $$ = $$lvw.Items.Add($$item) next")
for
_________________________