Xbase++
Xbase++ – zorientowany obiektowo język programowania, obsługujący wielokrotne dziedziczenie i polimorfizm. Jest oparty na języku Xbase oraz jest w stu procentach kompatybilny z językiem programowania Clipper. Xbase++ obsługuje typy danych z języka Xbase, również te, które znajdują się w IDE Codeblocks. W języku Xbase++ można stworzyć aplikacje dla systemów z rodziny Windows: NT i nowszych.
Narodziny
[edytuj | edytuj kod]Xbase++ powstał po decyzji CA Technologies o zaprzestaniu prac nad językiem Clipper, aby rozwijać język Visual Objects. Niepowodzenie Visual Objects, jako następcy języka Clipper doprowadziło do stworzenia nowych bibliotek oraz kompilatorów zgodnych ze składnią języka Clipper.
Obsługa Clippera
[edytuj | edytuj kod]Język Xbase++ obsługuje stare komendy @SAY/GET z języka Clipper, służące do definicji formularzy. Visual Xbase++ - IDE języka Xbase++ posiada edytor graficzny do tworzenia formularzy podobnych do Visual FoxPro, obsługuje pliki OEM (format DOS) i ANSI (Windows). Ma zintegrowany debugger oraz kompilator zasobów do dodawania ikon i grafik do aplikacji. Program potrafi wygenerować pliki EXE lub DLL.
RDD
[edytuj | edytuj kod]Xbase++ obsługuje RDD (z ang. Replaceable Database Drivers - sterowniki, które zapewniają dostęp do wielu formatów baz danych) poprzez DatabaseEngines z języka Clipper. Podstawowy pakiet zawiera obsługę DBF, FOX, NTX, CDX, SDF i DEL. Ponadto wspiera standard Common COBRA 2.0, obsługuje formaty baz danych z Visual FoxPro od wersji 3.0 do 5.0 i oferuje dostęp do serwera SQL.
Przykładowy program
[edytuj | edytuj kod]#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!"
Zobacz też
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- Oficjalna strona Xbase++. alaska-software.com. [zarchiwizowane z tego adresu (2008-04-08)].