help files
Z505 | PasWiki | FUQ | Search | Main Docs | API Guide



(#powtils_main)

Reference for package 'powtils_main'

This is the Powtils API/Reference guide. Thousands of utilities are available and most are documented with examples. If you find the selection of units overwhelming, see the Main Docs and Simple Examples and Demos of some web applications.

Units

pwumain

- main web unit

dynpwu

- dynamic DLL/DSO emulating pwumain

base64enc

- base 64 encoding/decoding

fileshare

- file sharing/locking

fileutil

- later renamed to pwufileutil

http

- connect to other servers using HTTP

md5crypt

- md5 encryption/decryption

mimetypes

- common mime type functions

pwuconfig

-

pwuenvvar

- easy access to server environment variables

pwuerrors

- common error constants used within Powtils

pwutypes

- common types used within Powtils

sdsmain

- SDS (simple data storage) text database

sendmail_unix

- send emails easily using sendmail

smtp

- send mails using SMTP

sqlutils

substrings

- substring searching

urlenc

- url friendly encoding/decoding functions

arrayfuncs

- array related (i.e. copying)

capstr

- ansistring with capacitance and performance

capwstr

- widestring with capacitance and performance

compactstrutils   

- compact footprint version of strutils.pas

compactsysutils   

- compact footprint version of sysutils.pas

compactutils

- KOL structures ported to the web

csvutil

- CSV/Tab delimited file utilities

dirutils

- subfolder or directory content utilities

fasthtmlparser

- parse HTML using simple events

gzip

- compress or decompress using gzip

hostname

- can use with http unit

htmlutil

- can use with FastHtmlParser

htmtool

- can use with FastHtmlParser

htmw

- develop widgets with records & objects

mysqlutils

- wrappers around mysql API

pcharutils

pwubuffer

pwufileutil

regexp

- regular expression utils (not PCRE)

strwrap1

Useful units

There are many units that are not specific to web programming included with your freepascal download which you will find useful with Powtils. You can use the below units in desktop or console applications too. We have uploaded these docs into LUFDOC so they are all in one easy to access place, instead of you having to use several different websites to read documentation. The lufind tool works with these below docs too.

RTL Units

BaseUnix

  

Basic unix functionality

Classes

  

Basic classes for RTL

Crt

  

CRT - Turbo Pascal screen and keyboard handling unit

dateutils

  

Date/Time manipulation routines.

Dos

  

DOS - Turbo Pascal MS-DOS interface

dxeload

  

Load DXE file in to memory

dynlibs

  

Cross-platform support for dynamically loadable libraries

emu387

  

Load coprocessor emulation support

getopts

  

GNU compatible access to command-line options.

go32

  

GO32 - acces to the 32-bit DOS extender

gpm

  

Interface to GPM (General Purpose Mouse) library

Graph

  

TP compatible unit to handle screen graphics.

heaptrc

  

Heap debugging functionality.

ipc

  

Unix Inter Process Communication functionality.

keyboard

  

Access to low-level keyboard functions

Linux

  

Linux-specific operating system calls.

math

  

Additional mathematical routines.

matrix

  

Two, three, four dimensional matrix unit

mmx

  

Access to MMX processor functionality

Mouse

  

Mouse event handling unit

Objects

  

TP-Compatible basic Objects.

objpas

  

Objpas - Delphi and objfpc mode system overrides

oldlinux

  

1.0.X version of the Linux unit - for compatibility only.

ports

  

Access to hardware ports

printer

  

Provide access to the printer.

Sockets

  

TCP/IP Sockets functionality unit

strings

  

Null-terminated string (PChar) routines.

strutils

  

Various string handling routines

System

  

The system unit

sysutils

  

Various system utilities.

typinfo

  

Access Run-Time Type Information (RTTI)

Unix

  

Extended Unix functionality.

unixtype

  

Basic unix types

unixutil

  

Unix utility routines.

video

  

Screen handling unit

x86

  

Intel X86 specific routines for unix platforms.

FCL Units

base64

  

Unit implementing base64 encoding

bufstream

  

Buffered stream

CacheCls

  

Unit implementing cache class

contnrs

  

Various general purpose classes: stack, queue, objectlists

dbugintf

  

Unit to send commands to a debug server process

dbugmsg

  

Auxiliary unit for the dbugintf unit.

eventlog

  

Unit implementing system log class

gettext

  

Unit implementing resource string translation using gettext files

idea

  

The IDEA unit provides IDEA encryption support

inicol

  

Collection which can write itself to inifile.

iostream

  

Implement streams for handling standard input, output and stderr

Pipes

  

Unit implementing pipe streams.

pooledmm

  

Pooled memory manager implementation

process

  

Unit implementing the TProcess component.

streamcoll

  

Collection which can stream itself

streamex

  

Stream extensions

StreamIO

  

Streams for standard text files.

zstream

  

Support for compression streams

BlowFish

  

CustApp

  

IniFiles

  

Classes for ini file access

simpleipc

  

Interprocess communication made easy

syncobjs

  

sqldb

  

Database access using classes (like dbexpress)

FPC Website

You can also see mirrors of the above docs at the freepascal website, however they do not contain any additional LUFDOC notes at the bottom if there are any posted here.

Some Internal Powtils Units

(You do not necessarily need to know about the below units since they are used to power some of the core API. However you may wish to use them for custom work, and we can't make assumptions that you won't find these units useful too!)

zlib_adler (compression related)

zlib_gzcrc

zlib_gzio

zlib_infblock

zlib_infcodes

zlib_inffast

zlib_inftrees

zlib_infutil

zlib_paszlib

zlib_trees

zlib_zbase

zlib_zcompres

zlib_zdeflate

zlib_zinflate

zlib_zuncompr

zlib_zutil

native_out (fast writeln)

regexp_tregexpr

socketsext

smartbuff (buffer that grows in chunks)

objbuff (another buffer that grows in chunks)

Notes

Above are unit references or an api reference. Each page contains information on source units included with the Powerful Web Utils package.

To see the general documentation and introduction, see the General Index

Not all the extra units, third party add-ons, or latest features added to SVN have been documented yet.

More docs

More Units and External Sites

The fpc contributed units page, torry.net, delphi3000, delphipages, delphi basics, and many other freepascal/delphi related websites have extra source code, tips, and information about modern pascal programming.

Find Documentation

See the lufind help page

Database API

See the Database Help Page

Wrappers and Extensions

We welcome wrappers and extensions around this API. For many simple and straightforward operations the API can be used directly, but nothing stops one from wrapping the above units into higher level constructs. The API and units are designed to be elegant to use as-is, but also designed to be extensible.






lufdoc, Powtils, fpc, freepascal, delphi, kylix, c/c++, mysql, cgi web framework docs, Z505