Page 1 of 1
PBFastLib
Posted: Fri Mar 11, 2011 4:31 pm
by Droopy
Hello,
PBFastLib help creating Purebasic library.
Regards
prerequisites :
MSHelpCompiler (cf MSHelpCompiler.zip)
Source Code of your library with comments & tags included
Purebasic
Tailbite
PBFastLib will generate and make :
Help file (.chm) including :
Folder for function organization / Tips included
Function documentation
Function Source Code (Syntax Highlighting)
Tips
Pictures
Examples for folders, functions, tips (Syntax Highlighting)
Optional parameters *
Automatic function renaming of functions calling function wich return strings *
Library compiled with TB
7z archive including library & pictures
Library installer
* Functions library calling another function library with optional parameters, must set all optional parameters
===============================================================
TAG LIST TAG LIST TAG LIST TAG LIST TAG LIST TAG LIST TAG LIST
===============================================================
#LIBRARY_VERSION="xxx" Set Library version
-- Emplacement -------------------------------------
;/>GROUP Description
Make a folder in CHM
may used several times for multiline description
This tag set the path of next functions/Tips
Group example can be added if inserted just after this tag
-- TIPS--- -----------------------------------------
;{//TipsName
;}
-- Functions ---------------------------------------
ProcedureDll.type FunctionName(Parametres) ; Description
EndProcedure
* To hide the source code in the chm use the tag ;/NoSource
-- Documentation -----------------------------------
;// xxxxx
Documentation of tips and functions
Picture insertion ;//<CENTER><IMG SRC="Droopy.gif"></CENTER> *
Line break <BR>
Bold <B>Sample :</B>
* Picture must be in the folder 'include'
-- Resident ----------------------------------------
;//Resident
This tag must be added at the end of the line fon constants & structures
-- Example -----------------------------------------
;{/* Description / fin par ;}
The example is added @ the previous group/function/tip
-- Include -----------------------------------------
This folder is included in the temporary path
This folder can include :
Pictures
.nfo : Add this file to the help (The name must be the same as tip/function)
TipName.cod car add external source code to the help (Syntax Highlighted)
Re: PBFastLib
Posted: Wed Mar 16, 2011 1:28 am
by idle
Thanks this looks really useful
Re: PBFastLib
Posted: Wed Mar 16, 2011 1:47 pm
by Vera
Hi Droopy,
Thanks for sharing
but unfortuantely I can't test your PBFastLib because it assigns the wrong paths to PB and Tailbite and one can't set/correct it manually.
As your program already uses an ini-file couldn't you apply these two settings in there as well?
Still I found something going wrong with your Sample.chm.
While opening it I get 3 error messages [XP SP1]:
HTML Help Author Message wrote:The file mk:@MSITStore:D:\....\Sample.chm::/Sample.hhc contains an invalid HTML tag.
I found out that it concerns the three directories
(Tips/Functions/Time_Measuring) which are
(also) miss-leveled in the Sample.hhc. They are sub-leveled with <ul>... although they are toplevel entries. Only their contents needs to be separately subleveled. The complete index is only enclosed by one single <ul></ul> pair
but not each item.
To give you a qick access to the difference I'll post the original and corrected HHCs right here until you grabbed them:
Code: Select all
<!-- Sample-original.hcc -->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><HTML><HEAD>
<META NAME="GENERATOR" CONTENT="PureHelpMaker"><!-- Sitemap 1.0 -->
</HEAD><BODY><OBJECT TYPE="text/site properties">
<PARAM NAME="Window Styles" VALUE="0x800025"></OBJECT>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Index">
<PARAM NAME="Local" VALUE="Index.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Changelog">
<PARAM NAME="Local" VALUE="Changelog.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Compilation">
<PARAM NAME="Local" VALUE="Compilation.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Tips">
<PARAM NAME="Local" VALUE="Tips.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT></UL>
<UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MessageRequester">
<PARAM NAME="Local" VALUE="MessageRequester.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="xy">
<PARAM NAME="Local" VALUE="xy.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Include">
<PARAM NAME="Local" VALUE="Include.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
</UL>
</UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Functions">
<PARAM NAME="Local" VALUE="Functions.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT></UL>
<UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="LibVersion">
<PARAM NAME="Local" VALUE="LibVersion.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="SuperLibVersion">
<PARAM NAME="Local" VALUE="SuperLibVersion.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MsgBox">
<PARAM NAME="Local" VALUE="MsgBox.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="SuperMsgBox">
<PARAM NAME="Local" VALUE="SuperMsgBox.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="ButtonSized">
<PARAM NAME="Local" VALUE="ButtonSized.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
</UL>
</UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Time_Measuring">
<PARAM NAME="Local" VALUE="Time_Measuring.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT></UL>
<UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MeasureIntervalStart">
<PARAM NAME="Local" VALUE="MeasureIntervalStart.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MeasureIntervalStop">
<PARAM NAME="Local" VALUE="MeasureIntervalStop.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
</UL>
</UL>
</BODY></HTML>
Code: Select all
<!-- Sample-corrected.hcc -->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><HTML><HEAD>
<META NAME="GENERATOR" CONTENT="PureHelpMaker"><!-- Sitemap 1.0 -->
</HEAD><BODY><OBJECT TYPE="text/site properties">
<PARAM NAME="Window Styles" VALUE="0x800025"></OBJECT>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Index">
<PARAM NAME="Local" VALUE="Index.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Changelog">
<PARAM NAME="Local" VALUE="Changelog.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Compilation">
<PARAM NAME="Local" VALUE="Compilation.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Tips">
<PARAM NAME="Local" VALUE="Tips.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MessageRequester">
<PARAM NAME="Local" VALUE="MessageRequester.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="xy">
<PARAM NAME="Local" VALUE="xy.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Include">
<PARAM NAME="Local" VALUE="Include.html">
<PARAM NAME="ImageNumber" VALUE="17">
</OBJECT></UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Functions">
<PARAM NAME="Local" VALUE="Functions.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="LibVersion">
<PARAM NAME="Local" VALUE="LibVersion.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="SuperLibVersion">
<PARAM NAME="Local" VALUE="SuperLibVersion.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MsgBox">
<PARAM NAME="Local" VALUE="MsgBox.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="SuperMsgBox">
<PARAM NAME="Local" VALUE="SuperMsgBox.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="ButtonSized">
<PARAM NAME="Local" VALUE="ButtonSized.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="Time_Measuring">
<PARAM NAME="Local" VALUE="Time_Measuring.html">
<PARAM NAME="ImageNumber" VALUE="1">
</OBJECT>
<UL>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MeasureIntervalStart">
<PARAM NAME="Local" VALUE="MeasureIntervalStart.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT>
<LI> <OBJECT TYPE="text/sitemap">
<PARAM NAME="Name" VALUE="MeasureIntervalStop">
<PARAM NAME="Local" VALUE="MeasureIntervalStop.html">
<PARAM NAME="ImageNumber" VALUE="11">
</OBJECT></UL>
</UL>
</BODY></HTML>
About the MsHelpCompiler.zip - are you sure these 4 files are enough to substitute the installation of MS HTML Help Workshop ?
Besides these DLLs are not in WIN\System but in WIN\System32 on my OS.
greetings ~ Vera
Re: PBFastLib
Posted: Wed Mar 16, 2011 10:38 pm
by Droopy
Hello,
New version avalaible :
- PBPath can be set (for vera

)
- Removed some </UL> in .hhc (bug)
- PBFastLib.chm added (put in the help folder of Purebasic)
About the MsHelpCompiler.zip - are you sure these 4 files are enough to substitute the installation of MS HTML Help Workshop ? Besides these DLLs are not in WIN\System but in WIN\System32 on my OS.
The dll must be registered.
hhc.exe must be accessible thu path
Re: PBFastLib
Posted: Tue Jun 26, 2012 1:07 pm
by Droopy
Version 2.0 avalaible
This version can compile for PureBasic x64
Re: PBFastLib
Posted: Sun Sep 30, 2012 3:59 pm
by Droopy
Hello, version 6 avalaible
-- 6 --------------------------------------------
Launch PureBasic only if version <> version associated with .pb
Fixed : Exemples are now indented
-- 5 --------------------------------------------
Title = PBFastLib + version
Button = LAUNCH COMPILATION
-- 4 --------------------------------------------
Installer Request Administrator mode for Windows Vista
-- 3 --------------------------------------------
PureBasic.exe is launched / User is invited to close
--> Just for association of .pb