FlagShip

Last updated
FlagShipLogoByMultisoft.png

FlagShip is both an object oriented and procedural programming language, based on the xBase language dialect and conventions. FlagShip is available for and is cross-compatible to different computer platforms, such as Linux, Unix and Microsoft Windows. As a true compiler, it translates xBase source code to native 32-bit or 64-bit executables, using the same source-code and databases.

Contents

Recent history

The first FlagShip version was introduced by multisoft Datentechnik GmbH in 1992 to port Clipper, dBASE III+, FoxBase and FoxPro applications to different operating systems, i.e. OpenServer, AIX, Solaris, HP-UX, SINIX and many other Unix systems. In 1995 also Linux ports became available. In 2002, Visual FlagShip(abbreviated as VFS) was announced for Linux, and in 2004 additionally for 32/64-bit based Windows operating systems. The current VFS product line covers all common 32-bit and 64-bit operating systems (Windows NT, 2000, XP, Vista, 7, Server 2008).

Programming

FlagShip environment:
Executing an application,
including the embedded
source-code debugger FlagShip environment 800px.png
FlagShip environment:
Executing an application, including the embedded source-code debugger

FlagShip is a programming and development tool designed mainly for professional software developers.

Visual FlagShip makes a GUI-based application from textual xBase code which can then be modified using object-oriented programming or procedural programming. [1] The same source and the same application supports GUI, textual and stream mode (e.g. for Web or background). The i/o mode is either detected automatically from the current environment (heterogenal application), or can be specified at compile time or at run-time using command-line switch.

Example

For example, these few statements, stored in text file address.prg

USE address ALIAS adr SHARED NEW SET COLOR TO "W+/B,GR+/R,W/B,W/B,GR+/BG"SET GUICOLOR OFF 
cls  @  1, 0 SAY "Id No. " GET adr->IdNum   PICT "999999" VALID IdNum > 0 @  3, 0 SAY "Company" GET adr->Company @  3,35 SAY "Branch"  GET adr->Branch  WHEN  !empty(adr->Company) @  4, 0 SAY "Name   " GET adr->Name    VALID !empty(adr->Name) @  4,35 SAY "First "  GET adr->First @  6, 0 SAY "Country" GET adr->Country PICTURE "!" + repli("x",24) @  8, 0 SAY "Zip    " GET adr->Zip     PICT "@!" VALID !empty(adr->Zip) @  9, 0 SAY "City   " GET adr->City @ 10, 0 SAY "Street " GET adr->Street  @  6,35,11.4,47 GET adr->Type RADIOGROUP {"Male","Female","Company","None"} @  7,50   GET  adr->Interest  CHECKBOX  CAPTION "Interested party" @  8,50   GET  adr->Customer  CHECKBOX  CAPTION "Customer" @  9,50   GET  adr->Reseller  CHECKBOX  CAPTION "Reseller" @ 10,50   GET  adr->Distrib   CHECKBOX  CAPTION "Distributor" READ 

are compiled by:

>FlagShip address.prg -o address

which creates an executable (i.e. address.exe in Windows)

Screenshot of Visual FlagShip Address800px.jpg
Screenshot of Visual FlagShip

See also

Related Research Articles

Cygwin Unix subsystem for Windows machines

Cygwin is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.

Executable and Linkable Format Standard file format for executables, object code, shared libraries, and core dumps.

In computing, the Executable and Linkable Format, is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

Wine (software) Windows compatibility software

Wine is a free and open-source compatibility layer that aims to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, named Winelib, against which developers can compile Windows applications to help port them to Unix-like systems.

The Portable Executable (PE) format is a file format for executables, object code, DLLs and others used in 32-bit and 64-bit versions of Windows operating systems. The PE format is a data structure that encapsulates the information necessary for the Windows OS loader to manage the wrapped executable code. This includes dynamic library references for linking, API export and import tables, resource management data and thread-local storage (TLS) data. On NT operating systems, the PE format is used for EXE, DLL, SYS, MUI and other file types. The Unified Extensible Firmware Interface (UEFI) specification states that PE is the standard executable format in EFI environments.

System call Mechanism used by an application program to request service from the kernel of the operating system

In computing, a system call is the programmatic way in which a computer program requests a service from the kernel of the operating system on which it is executed. This may include hardware-related services, creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.

In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64-bit (8-octet) wide. Also, 64-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on processor registers, address buses, or data buses of that size. 64-bit microcomputers are computers in which 64-bit microprocessors are the norm. From the software perspective, 64-bit computing means the use of machine code with 64-bit virtual memory addresses. However, not all 64-bit instruction sets support full 64-bit virtual memory addresses; x86-64 and ARMv8, for example, support only 48 bits of virtual address, with the remaining 16 bits of the virtual address required to be all 0's or all 1's, and several 64-bit instruction sets support fewer than 64 bits of physical memory address.

Clipper is an xBase compiler that implements a variant of the xBase computer programming language. It is used to create or extend software programs that originally operated primarily under MS-DOS. Although it is a powerful general-purpose programming language, it was primarily used to create database/business programs.

Virtual file system Abstract layer on top of a more concrete file system

A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing.

Caldera International Defunct American software company

Caldera International, earlier Caldera Systems, was an American software company that existed from 1998 to 2002 and developed and sold Linux- and Unix-based operating system products.

In computing, mmap(2) is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped file I/O. It implements demand paging because file contents are not read from disk directly and initially do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed, it is important to munmap(2) the pointers to it. Protection information can be managed using mprotect(2), and special treatment can be enforced using madvise(2).

POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of work is referred to as a thread, and creation and control over these flows is achieved by making calls to the POSIX Threads API. POSIX Threads is an API defined by the standard POSIX.1c, Threads extensions .

netstat Command line network statistics tool

In computing, netstat is a command-line network utility that displays network connections for Transmission Control Protocol, routing tables, and a number of network interface and network protocol statistics. It is available on Unix, Plan 9, Inferno, and Unix-like operating systems including macOS, Linux, Solaris and BSD. It is also available on IBM OS/2 and on Microsoft Windows NT-based operating systems including Windows XP, Windows Vista, Windows 7, Windows 8 and Windows 10.

ZipSlack was a specially compiled release of the Slackware Linux distribution which was designed to be lightweight and portable. It was distributed in a ZIP archive along with the Slackware release.

Harbour is a computer programming language, primarily used to create database/business programs. It is a modernized, open sourced and cross-platform version of the older Clipper system, which in turn developed from the dBase database market of the 1980s and 1990s.

In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preemptive scheduler usually runs in the most privileged protection ring, meaning that interruption and resuming are considered highly secure actions. Such a change in the currently executing task of a processor is known as context switching.

In computer programming, the term hooking covers a range of techniques used to alter or augment the behaviour of an operating system, of applications, or of other software components by intercepting function calls or messages or events passed between software components. Code that handles such intercepted function calls, events or messages is called a hook.

Caldera OpenLinux (COL) is a defunct Linux distribution. Caldera originally introduced it in 1997 based on the German LST Power Linux distribution, and then taken over and further developed by Caldera Systems since 1998. A successor to the Caldera Network Desktop put together by Caldera since 1995, OpenLinux was an early "business-oriented distribution" and foreshadowed the direction of developments that came to most other distributions and the Linux community generally.

In computer science, the event loop is a programming construct or design pattern that waits for and dispatches events or messages in a program. The event loop works by making a request to some internal or external "event provider", then calls the relevant event handler. The event loop is also sometimes referred to as the message dispatcher, message loop, message pump, or run loop.

Absoft Fortran Compilers are set of Fortran compilers for Microsoft Windows, Apple Macintosh, and Linux produced by Absoft Corporation. The compilers are source code compatible across platforms.

References

  1. "Visual FlagShip: Overview". flagship.de. Retrieved 2022-04-12.