Proteus |
|
|
Proteus is a new programming language
developed by SZP to solve many problems by using scripts; this language is powerful,
flexible and very useful to write system utilities and batch programs. Proteus is also an
excellent tool in the auto-id field,
as a software for doing keyboard emulation, to create console applications to be used
through a Telnet Server or to write smart print servers and other services to be
run in the background. |
Proteus stands for PROcessor for Text
Easy to USe; actually, one of the fundamental point of
strength of the language is being very easy to use; as opposed to other text processors,
the syntax of a Proteus program is linear and easy to comprehend - even if you don't know
the language, you can understand what the program is supposed to do and follow execution.
Moreover, besides being useful for text processing Proteus can be used as well for
manipulating binary files and solve thousands of other problems.
The main features of this language are:
- interpreted language: Proteus is an
interpreter which pseudo-compiles the scripts to memory, checking their syntax and
subsequently executing them against the input;
- no data types: all variables can be used as
integer numbers, floating point numbers or strings; variables are interpreted according to
the functions being applied - Proteus keeps different representations of their values
between calls, to decrease execution time in case of frequent conversions between one type
and the other;
- no pre-allocated structures: all data used by
Proteus are dynamically allocated at execution time; there are no limits on: recursion,
maximum data size, number of variables, etc.;
- no operators: Proteus is a completely
functional language - there are no operators; thus, there is no ambiguity when evaluating
expressions and parenthesis are not needed;
- large library of predefined functions:
Proteus is not a toy-language, it comes with hundreds of library functions ready to be
used for working on strings, dates, numbers, for sorting, searching and so on;
- advanced data access (DAO), pipes, Windows
sockets, serial ports: in the Windows version, Proteus includes hundreds of
system calls which are operating system-specific;
- clear and comprehensible syntax: the names of
the library functions resamble those of corresponding functions in C,
Clipper/Flagship and Assembly; by using medium-length keywords, Proteus
programs are very easy to understand;
- native support for high-level data structures:
arrays, queues (single or double), stacks, bit maps, sets, AVL trees are already available
in Proteus and do not require additional code or libraries to be used;
- ISAPI DLL and Windows Service versions:
Proteus is available as a Windows service or as an ISAPI DLL (for using together
with Microsoft® Internet Information Server);
- user libraries: it is possible to write user
defined functions (UDF) in separate files, and include them (even conditionally and
recursively) inside new programs; UDFs can be referenced before or after the definition;
- native support for Ms-Dos/Windows,
Macintosh and Unix text files (all versions);
- three models for dates (english, american,
japanese), with functions to check them and to do calculations according to gregorian
calendar;
- epoch setting for 2-digit-year dates;
- support for time in 12 and 24 hour format;
- supporto for simple (Dos-like) and extended (Unix-like) regular
expressions, in all versions; debug function to verify variable status during
execution;
- and much more.
Proteus, thanks to its powerful syntax,
versatility and user-friendliness, is especially useful in fields like Auto-ID, where
efficiency, productivity and flexibility are at a premium.
There are many different problems that Proteus can solve - a
few examples:
- keyboard wedge: by using the functions for
stuffing keys in the keyboard buffer and the interpreter running as a service, in a few
minutes the user can connect serial and network devices (see scanner.prt and cb1000.prt),
without the need of buying expensive, dedicated and less versatile hardware; it is easy
writing new protocols in Proteus, thus replacing existing devices, or modifying how data
are acquired, adding preambles, postambles and delays as necessary; many examples are
shipped with Proteus, that allow to use the following communication protocols: Datalogic®
DTP, Ack-Nak PC32, Sysnet, Wedge (F64/F67 protocol), Special Protocol, Eavesdrop;
serial with or without hardware/software flowcontrol; socket; by using these examples you
can connect, among others, the following devices:
- Datalogic®: F630, F660, F732, F734, F725, 7400, 8600
Kyman, 9600 Viper®; Proteus can replace the keyboard emulators DPS-8000, F64 and
F67;
- Symbol®: CB1000;
- Intermec®: Microbar
- all industrial scanners that transmit data using only
hardware/software flowcontrol;
Take a look at
Proteus AllWedge for a ready-to-use solution;
- background data acquisition: when running as
a service, Proteus can capture data coming from different sources (files, network and
serial devices, sockets and named pipes), process and save them or re-transmit acquired
data in several ways (see cb1000db.prt);
- intelligent print server: when using
dedicated printers (e.g. thermal transfer or direct thermal) for creating labels, the user
frequently needs to integrate into his system sequences of instructions in the language of
the printer; many times problems arise, because not all the hosts can easily send strings
to printers without adding control characters; moreover, every modification to a label
layout requires to recompile the programs on the host, which is not trouble-free if many
people are using the system at the same time. By writing a Proteus program that acquires a
file created by the host, containing only the variable data, it is very easy to send the
spool for printing the labels to one or more devices, even with different languages;
layout modifications can take place even when the users are working, without
interruptions, and is very immediate, being Proteus one of the most versatile languages
when dealing with strings (see send.prt, sendlpt.prt);
- console programs: one of the easier and less
expensive real-time solutions when using radio terminals is installing a Telnet Server;
Proteus allows to quickly write console programs which can be used through a VT client;
when comparing this solution to the possible alternatives:
- developing 16-bit programs, written through vintage Dos
compilers (which slow down the server a lot);
- developing in Visual C++ (which misses a lot of high level
functions);
it is clear that Proteus allows to decrease development time
and obtain full 32 bit applications that use Microsoft® Data Access Components and all
Windows features, consuming very little resources (see codqt.prt);
- managing line devices and label-stickers:
when writing applications that do not require user interaction, the best way to go is
writing a service; in this way, the computer can remain at the login screen
(username/password request), while in background the application does what is supposed to
do; many problems "in the field" are caused by operators that interfere with the
management program; writing a service in Proteus is very easy and does not require
specific knowledge of the operating system;
- conversion programs: auto-id devices very
often deliver data in different ways, which must be properly formatted before being
processed; Proteus allows to write simple conversion procedures that, with very few lines
of code, adapt input to what is expected by the system, without using complex or limited
languages.
The Proteus language is distributed with an integrated
development environment (Proteus Center),
through which the user can develop new programs written in the languages Proteus and
Proteus Plus. The use of this interface simplifies the task of writing scripts by offering
these facilities:
- editor with syntax highlighting, supporting
multi-file editing;
- call tips for library functions and values
for predefined constants displayed while typing;
- context sensitive inline help;
- advanced search functions on the manual;
- easy installation and maintenance on Proteus services;
- automatic conversion of Proteus Plus programs when they are
executed;
- easy maintenance of scripts (duplicate, rename, delete, syntax
check, HTML preview with syntax highlighting, execution with user defined parameters, stop
processes hung, protection).
Download |
|
Download the Proteus installer by
following the link below.
Prices
and licences |
|
The demo version of Proteus, which can be freely
downloaded from this page, allow to run scripts for at most 3 minutes;
this time is more than enough for many applications and will allow you to fully evaluate
the product.
If you are interested in writing services, or console
applications to be used through a Telnet Server, you can buy the registered
version of Proteus, which is priced at 350,00 Euro + VAT
(enquire for discounts when buying multiple licences). The registered version allows to:
- run scripts and services for unlimited time;
- protect your programs with a digital signature, which is
unique to each protection dongle (parallel or USB).
Frequently
Asked Questions (FAQ) |
|
Information
Request |
|
For further information, write to szp@zanella-hifi.com or fill in the form
below; additional useful answers can be found on the Frequently
Asked Questions page.