XBase ++ - XBase++

Visual Xbase ++ con animales de muestra

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

  1. ^ "Hogar del software de Alaska" . www.alaska-software.com . Consultado el 7 de noviembre de 2019 .

enlaces externos