XBase ++ - XBase++
Xbase ++ es un lenguaje de programación orientado a objetos que tiene herencia múltiple y polimorfismo . Se basa en el dialecto y las convenciones del lenguaje XBase . Es un lenguaje 100% compatible con Clipper que admite herencia múltiple, polimorfismo y programación orientada a objetos . Es compatible con los tipos de datos xBase, incluidos los bloques de código. Con Xbase ++ es posible generar aplicaciones para Windows NT, 95, 98, Me, 2000, XP, VISTA y Windows 7, 8, 10.
Soporte Clipper
Xbase ++ admite los antiguos comandos @ SAY / GET para definir formularios de entrada de datos, así como un editor gráfico para crear formularios de entrada de datos similares a Visual FoxPro . También cuenta con un entorno de desarrollo visual , soporte para archivos OEM (formato DOS) y ANSI (Windows), un depurador integrado y un compilador de recursos para agregar iconos y gráficos a la aplicación. Puede generar archivos EXE o DLL.
RDD
Xbase ++ admite los controladores de bases de datos reemplazables (RDD, que brindan acceso a múltiples formatos de bases de datos) de Clipper a través de DatabaseEngines (DBEs). El paquete básico incluye soporte para DBF, FOX, NTX, CDX, SDF y DEL (delimitado). También es compatible con los formatos de base de datos CORBA 2.0, Visual FoxPro 3.0 a 5.0 y el acceso a servidores SQL.
Nacimiento
Xbase ++ nació después de la decisión de Computer Associates de abandonar Clipper para desarrollar Visual Objects . El fracaso de Visual Objects como sustituto de Clipper permitió la creación de bibliotecas de terceros y la creación de compiladores de sintaxis de Clipper.
Ejemplo de código fuente
#include "class.ch"
//
// This program prints:
//
// Missy Meow!
// Mr. Bojangles Meow!
// Lassie Bark!
// Press any key to continue...
//
/////////////////////////////
//
PROCEDURE Main()
//
/////////////////////////////
LOCAL aAnimals := Array(3)
LOCAL i
aAnimals[1] := Cat():New("Missy")
aAnimals[2] := Cat():New("Mr. Bojangles")
aAnimals[3] := Dog():New("Lassie")
FOR i:=1 TO LEN(aAnimals)
? aAnimals[i]:Name + " " + aAnimals[i]:Talk()
NEXT i
WAIT
RETURN
/////////////////////////////
//
CLASS Animal
//
/////////////////////////////
EXPORTED:
VAR Name READONLY
METHOD Init
DEFERRED CLASS METHOD Talk
ENDCLASS
METHOD Animal:Init( cName )
::Name := cName
RETURN Self
/////////////////////////////
//
CLASS Dog FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Talk
ENDCLASS
METHOD Dog:Talk()
RETURN "Bark!"
/////////////////////////////
//
CLASS Cat FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Talk
ENDCLASS
METHOD Cat:Talk()
RETURN "Meow!"
Referencias
- ^ "Hogar del software de Alaska" . www.alaska-software.com . Consultado el 7 de noviembre de 2019 .