ProgrammingIndexHomeMaker Add Me!
 

Site Map
Algorithms
Dutch
Fun
Medical
Music
Myself
Pictures
Problems
Search
NL:Index
Ziekten
Index of programming
Programming languages
C / C++
Citect
Java
Pascal
Basic
VeraStream

Databases
Oracle
PostgreSQL
MySQL
Items
Comparison between languages
Abbreviations

Markup languages
HTML
XML

Scripting languages
Javascript
PHP
Perl

Tools for programming
UML

Available own software
BTag text conversion
RTF to HTML conversion
 
 
Upstairs  Index  Contact
 
 
Programming languages
C / C++
What is C / C++?
C is a programming language to make low level programs with maximum speed with less overhead
C++ is object-oriented C and more automated inclusion of code More

Inside links:
Download sources now: contact me
To get: Block text searcher, searching of lines and/or more lines that can be expressed by coding in a file.
Difficulty to learn for C: **** +++
Difficulty to learn for C++: ***** +++
List of Codes

More about differences in C++ for C programmers

C++ is an Object Oriented language that means it has the 3 OOP properties
  • Encapsulation by using public, protected and private See below
  • Inheritance and overloading
  • Polyformism, more functions with the same name can exist in the same class but with different properties
For the use of OOP C++ uses the new element class. (Java uses the element Class)
A class can have functions and properties.
There are several versions of C++ and finals versions have also:
  • Templates, functions can have type-independent properties
  • Operator overloading
  • A different kind of language than C would use expressions
C++ is a more 4 GL code. Much code cannot directly compiled to machine code (like C) and some code (pointers / calls) are changed during run-time.
 
 
Upstairs  Index  Contact
 
 
Citect
What is Citect?
Citect is a non object oriented programming language to use for an application which will run under MicroSoft Windows platforms and the application is able to use several databases by ODBC.
The code is held in its own datastructures (kind of tables).
Citect can be a beginners language.
Citect is a SCADA platform, it can connect to several communication protocols.
See also: Citect.com
List of Codes

Special functions
When Citect is running it has tables in memory which can accessed by the following functions:
RdbOpen : Opens a memory device and returns a handle to it
RdbClose : Closes a memory device
RdbFirstRec / RdbNextRec / RdbPrevRec / RdbLastRec : Moves through the records
RdbNoRec : Gives the recordnumber
RdbSizeRec : Gives the amount of records

Example:
FUNCTION UsersToTrace()
  INT hRDB;
  INT iRec;
  hRDB = RdbOpen("_Users");
  iRec = RdbFirstRec(hRdb);
  WHILE iRec <> -1 DO
    TraceMsg(IntToStr(iRec)+":"+RdbGet(hRdb,"Name");
    iRec = RdbNextRec(hRdb);
  END
  RdbClose(hRdb);
END
This tables are READONLY
Uses in product: AquaConnect
 
 
Upstairs  Index  Contact
 
 
Java
What is Java?
Java is a object oriented programming language to use for an application which will run under several platforms and the application is able to use several databases.
The code is held in its own datastructures (kind of tables) so it is multi-platform.
Java is not meant for a beginners language, because of its multiple words and notations.
Difficulty to learn: ***** ++
Links to java sites
 
 
Upstairs  Index  Contact
 
 
SuperNova / VeraStream
What is Super Nova / VeraStream?
SuperNova now named VeraStream is a programming language for making three tiered application which will run under several platforms with several databases.
The code is held in its own datastructures (kind of tables) so it is multi-platform.
And YES, it is a simple coding language which easily can be distributed.
The language is object oriented although encapsulation is held in a different way. Polyformism is now called dynamic inheritance.
To get: Templates for Rapid Application Development or for less coding
SuperNova's new name is VeraStream since WRQ bought it.
Difficulty to learn: ** +++
 
 
Upstairs  Index  Contact
 
 
Visual Basic
A programming language from MicroSoft.
The first programlanguage ever made is BASIC, that's the language Bill Gates has invented and started his company MicroSoft.
Later on comes GW-BASIC and Quick-Basic.
When MS-Windows appears Visual Basic is developed.
Used to make Applications and works in other applications like Word, Excell, Access. That is called VBA.
Best to learn with VB for applications like Excell.
Difficulty to learn: *** ++
List of Codes
 
 
Upstairs  Index  Contact
 
 
Other languages
Pascal
A language nowadays being replace by other languages. The language is good for learning programming. This was my second 3rd generation language I 've learned with the famous sheffield editor.
Difficulty to learn: *** ++
Basic
A beginners language nowadays only used for specific controls as:
  • Microcontrollers based on the MCS8051
  • Some favourite old games
This was my first 3rd generation language I 've learned on a 256 kB system with MS-DOS.
Difficulty to learn: ** ++
List of Codes
 
 
Upstairs  Index  Contact
 
 
Generations of program languages
First generation: Programming by coding in binary or hexadecimal numbers.
Second generation: Programming by assembly, the computer will replace the assemblycode with the binary code.
Third generation: Programming by a language, which the computer will replace to finally binary code. The language will at last produce an executable, and the computer can only run from that executable.
Fourth generation: Programming by a language, but the language have to be compiled and the computer needs another program to run the program. (Half interpreted) Source code is compiled to a kind of tables. In java it is called unicode. This kind of compilation makes a program platform independant.
Interpreter: A program which runs source code directly
 
 
Upstairs  Index  Contact
 
 
Comparison of program languages
If we look at the following code:
I like to go internet webbing.
Suppose we only interested the words after internet how can we program it
In VeraStream: with regular expressions
FIELD string char(30)
FIELD string2 char(30)
...
SET string 'I like to go internet webbing.'
SET string2 substring(find(string,"internet.*"),length('internet'),-1)
In C++: with strstr
char[30] string;
char *string2;
string="I like to go internet webbing.";
string2=strstr(string,"internet")+strlen("internet");
or in case of copying:
declare string2 as char[30] and program:
strcpy(string2,strstr(string,"internet")+strlen("internet"));
In Citect: with StrSearch and StrRight
STRING sString1 = "I like to go internet webbing.";
STRING sString2;
INT iPos;
iPos = StrSearch(0,sString1,"internet");
sString2 = StrRight(sString1,iPos,StrLength(sString1 - iPos));
In Java: with indexOf and substring
String string;
String string2;
String sstring;
string="I like to go internet webbing.";
sstring="internet";
int Index;
Index=string.indexOf(sstring);
if (Index!=-1)
{
  string2=string.substring(Index+sstring.length(),string.length());
}
 
 
Upstairs  Index  Contact
 
 
Explanation of difficulty
* = the difficulty for the first step (normal period 1 to 3 months)
+ = the difficulty to learn the language more complete (normal period 3 to 6 months)
 
 
Upstairs  Index  Contact
 
 
Links for programmers
Interrupts
My favourite interrupt list
 
 
Upstairs  Index  Contact
 
 


Software and books
InterdataMensysIdgbooks
Links of Java
Links of Javascript
Javascript newsgroup
news:comp.lang.javascript
 
 
Upstairs  Index  Contact
 
 

SuperNova/VeraStream
Homesite of makers for VeraStream
Visual Basic
Homesite Robin McKay
Citect
Citect Australia (headquarters)
 
 
Upstairs  Index  Contact
 
 
Network
Mostly networking is accomplished by TCP-IP.
TCP-IP is a protocol for sending and receiving blocks of data.
Each side (sender and receiver) has its own datareach. If a block with a number fits in this reach, then that block can be stored. When the first block of the reach is get correctly than the whole shift one further.
There are 5 types of hosting addresses used by TCP-IP
Class A: 1-7 NW,8-31 HOST, first bit is 0
Class B: 2-15 NW, 16-31 HOST, first bit is 1 and second bit is 0
Class C: 3-23 NW, 24-31 Host, first bits 110
Class D: is for multicasting, first bits 1110
Class E: is reserved for future, first bits 0000
 
 
Upstairs  Index  Contact
 
 
Virtual class in C++
A virtual class or function can be used where in the OO environment more than 1 of the same class or function does exist in the inheritance path.
virtual means: take the first one (top level)
 
 
Upstairs  Index  Contact
 
 
Markup languages
HTML
This pages are written in HTML version 4xxx
In html we can use style sheets called CascadeStyleSheets
An abbreviation of this is CSS2 (version 2)
Links for HTML reference and tutors
A favourite link for dutch and South African is: Johannes Kruger
A site for learning html:Lycos webmonkey
Links voor HTML checkers
Links voor CSS checkers
Help fix my pc
HTML uses the SGML protocol with pre-defined DTD.

XML
XML stands for Extensible Markup Language.
It can be used to make pages and transport data.
Difficulty to learn XML: ****** +++
XML uses the SGML protocol with flexible DTD.
 
 
Upstairs  Index  Contact
 
 
Scripting languages

Javascript
Javascript can be sent in HTML pages and runs on the client side.
The script is interpreted by the browser, so to make pages more flexible.
Difficulty to learn Javascript: **** +++

PHP
PHP stands for the pre-processor for HTML Pages
The pre-processor runs at the server side, while javascript runs at the client side.
It is a language that looks like javascript / C++ and can Object Oriented programming is also supported.
Difficulty to learn PHP: ***** +++
List of Codes

Perl
Perl is an scripting language which also can produce executable code
It is a language that looks like javascript / C++ and can Object Oriented programming is also supported.
Difficulty to learn Perl: ***** +++
List of Codes
 
 
Upstairs  Index  Contact
 
 
Text conversion in C++
Frequently used functions in C
File functions
fopen to open a file
fclose to close a file
fscanf to read from a file
fgets to read lines from a file
fprintf to write to a file
You better not use function to read characters, because of some systems that sometimes would fail.
String functions
strcmp compare strings
strcat concatenate strings
strstr search in strings
Memory functions
malloc to allocate memory (in C++ also done with new)
free to free memory (in C++ also done with delete)
Algorithms for text conversions
A strong recommendation to use C for text conversion is its strong use pointers.
A pointer points to a memory location where something is located.
Examples for pointers in textconversions
s = &s+4 cuts 4 characters from s
Keep always the original pointer. When s is large and you use malloc, s has to been freed at the same address.
 
 
Upstairs  Index  Contact
 
 
BTAG 1.01
BTag becomes a tool for creating text files and can be used for filtering text from files.
See: Btag in the future
 
 
Upstairs  Index  Contact
 
 
RTF to HTML conversion
Version 1.0.1 is available
it converts RTF Text to HTML
with:
BOLD,ITALIC,UNDERLINE conversion
TABLE conversion
Works with standard RTF and RTF made with WORD

Contact me by email if you want know more Click here
 
 
Upstairs  Index  Contact
 
 
Oracle
Here is something about Oracle which I worked with together with VeraStream.
Oracle seems to exist with forward pointed linked lists. (See C language)
With this problem it is difficult to query (pure SQL) around and then want to have the last record or the previous records.
This problem can be solved with several options.
How to create a user?
Create User x1 IDENTIFIES BY x2
x1 = Name, x2 = Password

How to set rights to a user:
(GRANT/REVOKE) x1 (FROM/TO) x2
x1 = rights to set, x2 = users

How to deal with contraints on a table?
ALTER TABLE x1 (DISABLE/ENABLE) (PRIMAIRY KEY "Cascade" / Constraint x2)
x1 = Name of the table, x2 = Name of the constraint
 
 
Upstairs  Index  Contact
 
 
PostgreSQL
PostgreSQL is an easier FREEWARE database program.
The userinterface (pgadmin) is graphical like MicroSofts SQL server.
A runner up in the land of databases
 
 
Upstairs  Index  Contact
 
 
MySQL
MySQL is a database program which can freely run or with a licence
The userinterface (pgadmin) is graphical like MicroSofts SQL server.
Now Worlds most famous database
 
 
Upstairs  Index  Contact
 
 
MySQL
MySQL is an easier FREEWARE database program, used mostly by web servers.
 
 
Upstairs  Index  Contact
 
 
Query languages
SQL
SQL stands for Structured Query Language and can be used to query though a database.
The basic query is in its form:
SELECT ... FROM ... WHERE ...
Behind the SELECT statement forms the output
Behind the FROM statement stands where the information must come from
Behind the WHERE statement comes the conditions (expressions)

Outerjoin: List all elements inclusive elements assigned as null. In SQL the (+) sign is used for that purposes.
Regular expressions
With regular expresions you can query throught text
Simple text search is mostly done by searching a word, with regular expressions you can search for more words or sentences or else.
 
 
Upstairs  Index  Contact
 
 
Expressions
Comparison
C like used by: C, C++, java, javascript, php
SQL like used by: SQL
Basic like used by: Visual Basic, 8051-basic, Citect
Table of operators used to compare expressions
...C likeSQL likeBasic like
Equal=====
Not equal!=!= or =<>
Greater then>>>
Greater or equal then>=>=>=
Lesser then<<<
Lesser or equal then<=<=<=
Logical AND&&&& or ANDOR
Logical OR|||| or ORAND
 
 
Upstairs  Index  Contact
 
 
Statements
Comparison
C like used by: C, C++, java, javascript, php
Basic: 8051-basic, GW-Basic, Citect
Table of operators used to compare expressions
...C likeBASICVeraStreamMS-DOS batchC-shell
PRINT to stdoutprintfPRINTxechoecho
SET variablesby =LET or by =SETSETby =
ASK variablesscanfINPUTx1xx

x = not implemented
x1 = through GUI
 
 
Upstairs  Index  Contact
 
 
Reserved words
C and C++
Extra words for C++ are in boldface
asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthiswchar_t
continueforpublicthrowwhile
defaultfriendregistertrue 
deletegotoreinterpret_casttry 
Further C and C++ has a lot of inside functions
Basic
ABSANDASCATN
AUTOBAUDBYECALL
CDBLCHAINCHR$CINT
CLEARCLOADCLOSECOMMON
CONTCOSCSAVECSNG
CURSORCVDCVICVS
DATADEFDEFDBLDEFINT
DEFSNGDEFSTRDELETEDIM
EDITELSEENDEOF
ERASEERSERRERROR
EXPFIELDFILESFIX
FNFORFREGET
GO TOGOSUBGOTOHEX$
IFIMPINKEY$INP
INPUTINSTRINTKILL
LEFT$LENLETLINE
LISTLLISTLOADLOC
LOFLOGLPOSLPRINT
LSETMERGEMID$MKD$
MKI$MKS$MODNAME
NEWNEXTNOTNULL
OKT$ONOPENOPTION
OROUTPEEKPOKE
READREMRENUMRESET
RESTORERESUMERETURNRIGHT$
RNDRSETRUNSAVE
SERIALSGNSINSPACE$
SPC()SQRSTEPSTOP
STR$STRING$SWAPSYSTEM
TAB()TANTHENTO
TROFFTRONUSINGUSR
VALVARPTRWAITWEND
WHILEWIDTHWRITEXOR
Citect
ANDDOFORWHILE
IFTHENELSESELECT
CASEENDFUNCTIONPRIVATE
INTREALSTRINGMODULE
GLOBALORBITANDBITOR
Further Citect has a lot of inside functions
Javascript
abstractbooleanbreakbytecase
catchcharclassconstcontinue
debuggerdefaultdeletedodouble
elseenumexportextendsfalse
finalfinallyfloatforfunction
gotoifimplementsimportin
instanceofintinterfacelongnative
newnullpackageprivateprotected
publicreturnshortstaticsuper
switchsynchronizedthisthrowthrows
transienttruetrytypeofvar
voidvolatilewhilewith 
Further Javascript has a lot of inside functions
PHP
andbreakcaseclasscontinue
defaultdoelseelseifempty()
endforendifendswitchendwhileE_ALL
E_PARSEE_ERRORE_WARNINGextendsFALSE
forforeachfunctionifinclude()
include_once()globallist()newnot
orPHP_OSPHP_VERSIONrequire()require_once()
returnstaticswitchthisTRUE
varxorvirtual()while__FILE__
__LINE__    
Further PHP has a lot of inside functions
 
 
Upstairs  Index  Contact
 
 
Place for homepages
Angelfire
AOL hometown
Fortune City
Freewebz
Geocities
Moerstaal (dutch)
Dutch tripod
 
 
Upstairs  Index  Contact
 
 
Abbreviations
I have made a abbreviations list of Computer terms.
Most of them are related to Internet.
See: Abbreviations list
 
 
Upstairs  Index  Contact
 
 
Free programming software
C compilers for Windows
Use: Digital Mars compiler (Stable)
Use: LCC compiler (not commercial use, Stable)
Use: Dev C++
Use: Open Watcom (GNU)
Use: GCC compiler together with Cygwin or Mingw or Scons

For C compiling only you need a compiler
For Visual Express C++ you need the build-in compiler or scons (scons-2.2.0-setup.exe)
With GCC and Scons together you can crosscompile to other environments
Crosscompiling to 8051 can be done with SDCC (sdcc-3.2.0a-setup.exe)
C# compilers for Windows
Download .NET from MicroSoft
Use: Sharpdeveloper
Java compilers for Windows
Download java kit from Sun Microsystems
Use: Eclipse
Database
Use: HSQL
Use: PostgreSQL
Use: MySQL
WebServer
Use: Lighttpd
Use: Apache
Use: IIS (windows included)
Today there are much small http servers, checkit on the web
My favourite is now lighttpd - with such a small footprint, probably I made the biggest mod ever for lighttpd.
 
 
Upstairs  Index  Contact
 
 
UML
UML
UML is a graphical language which describes the behaviour of something
Something could be; hardware, software and many more
A favourite place to discover is ArgoUML which runs under Java
 
 
Upstairs  Index  Contact
 
 
GTK
GTK
GTK stands for GIMP Tool Kit
You can program GTK with Visual Express C++ as descripted below
--- WIP ---
1. Install GTK RunTime, otherwise you cannot run the program, I used: gtk2-runtime-2.24.8-2011-12-03-ash.exe
2. Install GTK Development package, I used: gtk-dev-2.12.9-win32-2.exe
3. Make a new console project with Visual Express C++
4. Project - Change properties

Changing the project properties

1. Common Properties - References: C:\GTK\Win32\lib

2. Configuration Properties - C++ - Additional Include Directories: "C:\GTK\include\gtk-2.0";"C:\GTK\include\glib-2.0";"C:\GTK\lib\glib-2.0\include";"C:\GTK\lib\gtk-2.0\include";C:\GTK\include\cairo;"C:\GTK\include\pango-1.0";"C:\GTK\include\atk-1.0"

3. CP - Code Generation: Align 8 bit

4. CP - Code Generation: Precompiled headers: no

5. CP - Advanced: Compiled as C code

6. Linker - General - Enabled Incremental Linking: Default
7. Linker - General - Additional Library Directories: C:\GTK\lib
8. Linker - General - Used Dependency Inputs: Yes

9. Linker - Input - Additional Dependencies: kernel32.lib glib-2.0.lib gtk-win32-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib $(NOINHERIT)

10. Linker - System - Subsystem: Console
11. Linker - Advanced - Entry Point: main

Command line looks like:
/OUT:"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\gtk_test01\Debug\gtk_test01.exe" /NOLOGO /LIBPATH:"C:\GTK\lib" /MANIFEST /MANIFESTFILE:"Debug\gtk_test01.exe.intermediate.manifest" /DEBUG /ASSEMBLYDEBUG /PDB:"c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\gtk_test01\debug\gtk_test01.pdb" /SUBSYSTEM:CONSOLE /ENTRY:"main" /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib glib-2.0.lib gtk-win32-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib

Example program with some comment:
// gtk_test01.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"

#include 
#include 


gint eindeapp(GtkWidget *widget,gpointer data)
{
	g_message("ended\n");
	gtk_main_quit();
	return (FALSE);
}
// int _tmain(int argc, _TCHAR* argv[]) - as console
int main(int argc,char *argv[])
{
	/* *1
	g_message("Here is a message\n");
	*/
	

	GtkWidget *window;
	gtk_disable_setlocale (); 
	argc = 1; // Helps to avoid below function ends - Windows makes an error
	if (gtk_init_check(&argc,(char ***)&argv)==FALSE)
	{
		g_message("Cannot open display\n");
		getchar();
		return 0;
	}
	// gtk_init_abi_check (&argc, &argv, 1, sizeof (GtkWindow), sizeof (GtkBox));
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window), "test window");
	gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(eindeapp),NULL);
	gtk_widget_show(window);
	gtk_main();
	return 0;
}
 
 
Upstairs  Index  Contact
 
 
Included software
 
End of document       Contact