XBase++
XBase++ es un lenguaje de programación desarrollado por Alaska Software Inc., una empresa germano-americana, totalmente compatible con Clipper 5.2, soportando la programación orientada a objetos, la herencia múltiple y el polimorfismo. Soporta todos los tipos nativos de xBase, incluyendo los Codeblocks. Permite generar aplicaciones Windows 10/ 7/ NT / 2000 / XP (32 bits) y 95 / 98 / ME.
XBase++ | ||
---|---|---|
Información general | ||
Tipo de programa | lenguaje de programación | |
Lanzamiento inicial | 1997 | |
Enlaces | ||
Soporte de Clipper
XBase++ soporta tanto las viejas sentencias @SAY/GET para definir formularios como dispone de un editor gráfico de formularios similar al de Visual Foxpro. Cuenta asimismo con un entorno de desarrollo visual, soporte de ficheros OEM (formato DOS) y ANSI (Windows), un depurador integrado y un compilador de recursos para poder añadir iconos y gráficos a la aplicación. Puede generar ficheros EXE o DLL.
RDD
Xbase++ soporta los Replaceable Database Drivers (RDD, que permiten el soporte de múltiples formatos de base de datos, pudiendo ser desarrollados por terceros) de Clipper mediante sus DatabaseEngines (DBEs). El paquete incluye soporte para DBF, FOX, NTX, CDX, SDF y DEL. Soporta CORBA 2.0, los formatos de Visual FoxPro 3.0 a 5.0, y acceso a servidores SQL.
Nacimiento
XBase++ nació tras la decisión de Computer Associates de abandonar Clipper para volcarse en Visual Objects. El fracaso de V.O. como sustituto de Clipper provoca que comiencen a desarrollarse primero bibliotecas de terceros para dotarlo de soporte Windows, y luego de compiladores alternativos como XBase++ que soporten la sintaxis de Clipper 5.2 (la versión más popular), expandiendo el soporte a aplicaciones de 32 bits.
Ejemplos de código
#include "Common.ch"
#include "class.ch"
//
// Este programa imprime:
//
// Michifuz Miau!
// DonGato Miau!
// Rin Tin Tin Guau!
// Press any key to continue...
//
/////////////////////////////
//
PROCEDURE Main()
//
/////////////////////////////
LOCAL aAnimales := Array(3)
LOCAL i
aAnimales[1] := Gato():New("Michifuz")
aAnimales[2] := Gato():New("DonGato")
aAnimales[3] := Perro():New("Rin Tin Tin")
FOR i:=1 TO LEN(aAnimales)
? aAnimales[i]:Nombre + " " + aAnimales[i]:Hablar()
NEXT i
WAIT
RETURN
/////////////////////////////
//
// Clase abstracta Animal
// se difiere la implementación
// del método Hablar.
//
CLASS Animal
//
/////////////////////////////
EXPORTED:
VAR Nombre READONLY
METHOD Init
DEFERRED CLASS METHOD Hablar
ENDCLASS
METHOD Animal:Init( cNombre )
::Nombre := cNombre
RETURN Self
/////////////////////////////
//
// Clase concreta Perro
// Implementa Hablar, diferida en la
// clase Animal.
//
CLASS Perro FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Hablar
ENDCLASS
METHOD Perro:Hablar()
RETURN "Guau!"
/////////////////////////////
//
// Clase concreta Gato
// Implementa Hablar, diferida en la
// clase Animal.
//
CLASS Gato FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Hablar
ENDCLASS
METHOD Gato:Hablar()
RETURN "Miau!"
Enlaces externos
- XBase++ web page Alaska Software
- SQLExpress for Xbase++ Object-Oriented ODBC and SQL interface for Xbase++ | www.sqlexpress.net
- Xb2.NET Xbase++ web server & Internet development tool (TCP/IP, HTTP, SOAP, FTP, SSL, XML) | www.xb2.net
- ot4xb Open Source Tools para Xbase++ ( ot4xb.dll ) www.xbwin.com
- The Oasis comunidad de soporte a desarrolladores focalizada en Clipper, FoxPro y xBase++
- Dialectos xBase
- ODBC DBE
- Diario Clarín Xbase++: un puente hacia Windows