XBase++
Atención: Este artigo ou apartado precisa dun traballo de revisión.
Cando os problemas se resolvan, retire esta mensaxe, pero non quite esta mensaxe ata que estea todo solucionado. De ser posible, sería mellor substituír este marcador por outro máis específico. (Desde decembro de 2018) |
XBase++ é unha linguaxe de programación desenvolto por Alaska Software, compatible con Clipper 5.2, soportando a programación orientada a obxectos, a herdanza múltiple e o polimorfismo. Soporta todos os tipos nativos de xBase, incluíndo os Codeblocks. Permite xerar aplicacións Windows NT / 2000 / XP (32 bits) e 95 / 98 / ME.
Historia
[editar | editar a fonte]XBase++ naceu tras a decisión de Computer Associates de abandonar Clipper para envorcarse en Visual Objects. O fracaso de V.Ou. como substituto de Clipper provoca que comecen a desenvolverse primeiro bibliotecas de terceiros para dotalo de soporte Windows, e logo de compiladores alternativos como XBase++ que soporten a síntaxis de Clipper 5.2 (a versión máis popular), expandindo o soporte a aplicacións de 32 bits.
Soporte de Clipper
[editar | editar a fonte]XBase++ soporta tanto as vellas sentenzas @\SAY/GET para definir formularios como dispón dun editor gráfico de formularios similar ao de Visual Foxpro. Conta así mesmo cunha contorna de desenvolvemento visual, soporte de ficheiros OEM (formato DOUS) e ANSI (Windows), un depurador integrado e un compilador de recursos para poder engadir iconas e gráficos á aplicación. Pode xerar ficheiros EXE ou DLL.
RDD
[editar | editar a fonte]Xbase++ soporta os Replaceable Database Drivers (RDD, que permiten o soporte de múltiples formatos de base de datos, podendo ser desenvolvidos por terceiros) de Clipper mediante os seus DatabaseEngines (DBEs). O paquete inclúe soporte para DBF, FOX, NTX, CDX, SDF e DO. Soporta CORBA 2.0, os formatos de Visual FoxPro 3.0 a 5.0, e acceso a servidores SQL.
Exemplos de Código
[editar | editar a fonte]#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] := Can():New("Rin Tin Tin")
FOR i:=1 TO LEN(aAnimales)
? aAnimales[i]:Nome + " " + aAnimales[i]:Falar()
NEXT i
WAIT
RETURN
/////////////////////////////
//
CLASS Animal
//
/////////////////////////////
EXPORTED:
VAR Nome READONLY
METHOD Init
DEFERRED CLASS METHOD Falar
ENDCLASS
METHOD Animal:Init( cNombre )
::Nome := cNombre
RETURN Self
/////////////////////////////
//
CLASS Can FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Falar
ENDCLASS
METHOD Dog:Falar()
RETURN "Guau!"
/////////////////////////////
//
CLASS Gato FROM Animal
//
/////////////////////////////
EXPORTED:
METHOD Falar
ENDCLASS
METHOD Gato:Falar()
RETURN "Miau!"
Véxase tamén
[editar | editar a fonte]Ligazóns externas
[editar | editar a fonte]- Alaska Software (en inglés).
- SQLExpress for Xbase++ Object-Oriented ODBC and SQL interface for Xbase++ sqlexpress.net (en inglés).
- Xb2.NET Xbase++ web server & Internet development tool (TCP/IP, HTTP, SOAP, FTP, SSL, XML) (en inglés).
- ot4xb Open Source Tools para Xbase++ xbwin.com (en inglés).
- The Oasis comunidade de soporte a desenvolvedorres focalizada en Clipper, FoxPro e xBase++ (en inglés).
- Dialectos xBase Arquivado 16 de abril de 2008 en Wayback Machine. (en castelán).