Javascript is either disabled or not supported by this browser. This page may not appear properly.
Other Interesting Items
Smaller Executable
I like Dialect because it can make a standalone executable (exe).
I Don't care for the size of the exe, minimum of ~750k.

However, if you use this reduced size Dialect Standard v1.15 PC version interpreter you can have a significantly smaller executable.  A "hello world" program that used to be 750k in size is now ~250k.

Download "Dialect_small.zip", un-zip, and then run "Dialect115_small.exe"
Load in your source code and Make your exe.  It will be "small".
Change Icon -- 'Icon Collector Graphics Editor'
Want to change the Aristar "A" icon to something of your choosing?  Then this program is for you.
(Links to offsite shareware location)
Using the Registered version, just "inject" new 32x32 and 16x16 icons into your exe with icons that you want.  See the program's help file for more details.
Here is a Dialect Script that I wrote.  It takes an URL address and then downloads the HTML code for that webpage.  You have the option of saving the downloaded info as a HTML file.
HTML Ripper
Here is a Dialect Script that I wrote. You input your SMTP Host name, a Fake From name and address, and a real To name and address and message and you can send an e-mail to someone. (see example in picture)  Good for a laugh.
Fake E-mail
Port Scanner
Checks which ports are open on a Host computer.
Update your Gui - undocumented feature
The problem:  you try to use an edit box, a listbox, or some other control to display rapidly changing data...You can't see it.  Try the code below to see for yourself.  The code runs but you have to wait for several seconds before you see only the end result.
import "gui"
import "system" as *

w = gui.window("Test", [20,20, 436, 384])

eb = gui.Edit(w, "---", [224, 70, 284, 90])

For x = 1 to 100
          eb.text = x
          sleep(100)
next x

gui.enter()
Solution:  insert the undocumented (at least I couldn't find it) command "gui.pump(true)".
Now here is that same code with this statement added.  See how you can now see every update in the edit box.  Neat huh.
import "gui"
import "system" as *

w = gui.window("Test", [20,20, 436, 384])

eb = gui.Edit(w, "---", [224, 70, 284, 90])

For x = 1 to 100
          eb.text = x
          gui.pump(true)
          sleep(100)
next x

gui.enter()
Speech
A starting point for speech synthesis in your programs.
Make a folder for the files, unzip to folder, double click either "speech.d"  for a quick demo, or double click on "edit_speech.d" to add words or modify the way current ones are said.  View the "readme.txt" for more info.
Center your Form - handy routine
Here is a handy routine to center your form on any resolution screen.  Just pass the name of the window you want centered into a function call ex. center(w)
import "gui"

w = gui.window("Center Test", [0, 0, 400, 400])
b1 = gui.button(w, "center form", [150, 160, 220, 200])

b1.onclick = func()

          center(w)

endfunc

center = func(win)
          s = gui.screenrect()
          sh = s[4]
          sw = s[3]
          f = win.rect
          fh = f[4] - f[2]
          fw = f[3] - f[1]
          ft = (sh-fh)/2
          fl = (sw-fw)/2
          win.rect = [fl, ft, fl+fw, ft+fh]
endfunc

gui.enter()
SMS program written in Dialect
This links to another site where a gentleman has coded a program for using SMS.  He also has more info on SMS standards than you might care to know.
Icon Incorporator - put icon info right in your Dialect program
Again, I like Dialect but I don't like having to send a seperate bitmap file along with my exe if I use a graphic in my program.  So...with this program you load from a file the 16x16 or 32x32 bitmap (*.bmp)  It then reads the pixel info of the icon and generates a data array.  Copy the array to the Clipboard and paste it in your (*.d) Dialect script.  See the example script on how to generate the picture from the data.
Above:  this program is JUST a Dialect Script.   No external graphic file needed.

This is the program that automatically creates the data array.  See the Dialect sample for how to use this data.  
VPrint - draw color text
This module allows you to draw text of any color, of any size, at any angle on a pane.of any color background.  Read text file in download for further information.
3D BOX- rotate a 3D wire frame box
Hang Man- game
Always on Top - undocumented feature
This feature allows a window to stay on top of all other windows.
Code below also demonstrates "ontimer".
import "gui"

# undocumented command "topmost" keeps the particular window on top!
w = gui.window("I'm always on Top", [50,50,300,150], {topmost:true})

id = 1
interval = 1000                     # 1,000 msec = 1 sec
w.StartTimer(id, interval)

l = gui.label(w,"",[50,20,200,200], {font:{name:"Courier New", size:185}})
l.text = time$()

w.ontimer = func(id)          # This timer routine gets run every 'interval'
          l.text = time$()          # in this case every second
endfunc

gui.enter()
Titlebar - undocumented feature
You would think by the name of this feature it would have something to do with the Titlebar of a window...but it really is a window style function.  Basically, if you disable this feature you get a flat window vs. the standard 3D style window. Try the code below and look at the edge of the windows.
import "gui"

# undocumented command "titlebar" changes window style

w = gui.window("I'm 3D", [50,50,300,150], {titlebar:true})

ww = gui.window("I'm flat", [150,150,400,250], {titlebar:false})

gui.enter()
Bitmap - undocumented feature
This useful but undocumented gui class allows you to scale your bitmaps.
It can also tell you the size of your Bitmap!  (thanks AHAB)

WaitCursor - undocumented feature
This useful but undocumented gui feature allows you to display your systems wait (busy) cursor, typically the hourglass, while your script is performing a long task.

import "gui"
import "system"

w = gui.window ("Wait Cursor", [100,100,600,500])

wc = gui.waitcursor()          # activate the wait cursor

system.sleep(4000)            # pause 4 seconds so you can see it

wc = nil                                  # return to normal cursor

gui.enter()
Graphic - draw primitives easily
This MODULE lets you draw elipses, circles, rectagles, squares, and points.
Read text file in download for further information
'Good'? example of line drawing and how to handle key presses.
Dialect has no INKEY$  :-(
Note:  A label will always show the WHOLE bitmap, regardless of scale.  A button displays a bitmap centered in itself and only as much as can be, as defined by the size of the button.
example command line:
graphic.box (100,100,200,200)

this statement creates (guess what)
A BOX.

(formerly "GuiText")
Crypt - an encryption example
Progress Bar - a way to implement a progress bar in Dialect
Starz - a starfield, a smoooooth star field, in Dialect believe it or not
Doomalect - walk through a 3D maze -- Version 1.0
Kinda slow due to Dialect's limitations, but an excellent example of how to do RayCasting, that is, just drawing what is in the line of sight of the player, not drawing the whole map.     REQUIRES the latest version of "GRAPHIC" module (see above).
import "gui"

w = gui.window(" ~~~~~ This is a Scrolling Demo ", [80, 45, 420, 225])

id = 1
interval = 75 # interval in milliseconds
w.StartTimer(id, interval)

w.onTimer = func(id) # function is executed every 'interval'

          String2 = Left$(w.text, 1)
      String1 = Right$(w.text, Len(w.text) - 1)
          w.text = String1 ~ String2

endfunc

gui.enter()
Scrolling Caption - Scrolls the window AND taskbar caption for a program
NumtoWord - Converts a number to its word equivelant
example: 
send the function :   1111164
and it returns: one million one hundred and eleven thousand one hundred and sixty four

Works well in conjunction with "Speech" (see above).
Analog Clock - 'old' fashioned round clock
REQUIRES  "GRAPHIC"  module (see above).
Programing Technique Comparison - a helpful learning tool
Compares three different methods of coding the exact same function and the impact your coding style can have on program execution speed.
(includes useful timing function)
Extractr -- view functions in *.dc files -- V0.7
This executable will extract all user functions in a 'compiled' *.dc file.  This way you can see what this file is going to do with your computer before you run it.  Also view the functions to learn how something is done.
NEW
MouseOver  and StatusBar
An implementation to add mouseover events to any control.  Also demonstrates how to use mouseover events to display helpful information based upon which control the mouse is currently positioned over.
NEW
import "sockets" as *
for x = 1 to 10
          print ping("www.aristar.com"), cr
endfor
Ping -- Undocumented function
Ping will check the round trip response time of a server.
The function ping will return either the time in ms OR False if the function failed.
Thanks to AHAB for finding this one.
Example:
Shell -- additional shell capabilities
Allows you to shell out from your program to:  My Printer, My Computer, My Network, My Recycle Bin, and My Control Panel
Import "gui"

w = gui.window("Scale Bitmap Demo", [100, 100, 615, 480])
# Bitmap revisited

# leaving these value zero let us find the actual width and height of the bitmap
bmx = 0
bmy = 0
bitmapfile = "C:\main.bmp" # "C:\Windows\Clouds.bmp"

# change path and or fileanme in line below to point to a bitmap on your system
b = gui.bitmap( bmx, bmy, bitmapfile )

print "The width of  ", bitmapfile , " : ", b.width(), cr
print "The height of ", bitmapfile , " : ", b.height(), cr

#Now change values for bmx and bmy to scale the image
bmx = int(  3 *( b.height() / 9))
bmy = int( 4 *( b.height() / 16))

b = gui.bitmap( bmx, bmy, bitmapfile )
print "After scaling:", cr
print "The width of  ", bitmapfile , " : ", b.width(), cr
print "The height of ", bitmapfile , " : ", b.height(), cr

# don't bother with second set of coordinates, Dialect always shows
# the whole bitmap automatically  in a label  :-(
lb2 = gui.Label(w, "", [53, 78, 0, 0], { bitmap:b})

gui.enter()
print "And now the program... "
abortProgram()

print "...has ended", cr
# the above line never gets executed
AbortProgram -- Undocumented function
This function allows the immediate stop and exit of a running script
Thanks to AHAB for finding this one.
Example:
Example program of a large Dialect database
This links to an offsite webpage.
There is no source code, but you might want to see what someone has done with Dialect.