What Java library or dll can be used to develop a WEB GUI in Xbase++?

Xbase++ 2.0 Build 554 or later
Message
Author
Diego Euri Almanzar
Posts: 155
Joined: Thu Nov 05, 2020 10:51 am
Location: DOMINICAN REPUBLIC

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#21 Post by Diego Euri Almanzar »

Thank you very much,

Roger, RDONNAY.

skiman
Posts: 1183
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#22 Post by skiman »

Hi Diego,

I looked to your sample. The code looks rather easy and straightforward. Wondering how the result looks like?

Code: Select all

...
DBOPEN("FOXCDX",{{{"supplier"},{"supplier","id"}}},,,.T.)
DBEVAL({|| AADD(aData, {supplier_i,company_na,contact_na,phone})})
**
html = HAPAGEBGN({"files/powerweb.css"},{"files/powerweb.js"},,,"Table Demo") +;
"<H1>Table Demo</H1>" + chrCRLF +;
HTABLE({10,,"R"},aData,aCols,,"Suppliers",,,,,,.T.) +;
...
How is the navigation in a table. I see a dbeval(), which can only be used for a small database. If you have a table of 20.000 records, you can't use this structure in an application. This will be too slow to create the array, and this array will be very large and will take too much bandwidth.

On the website I saw that you can use Ajax with Powerweb. I suppose this can be used to have some paging in a table? So you can load 'blocks/pages' of data. Otherwise this will be difficult to use in a real business application.
Best regards,

Chris.
www.aboservice.be

Diego Euri Almanzar
Posts: 155
Joined: Thu Nov 05, 2020 10:51 am
Location: DOMINICAN REPUBLIC

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#23 Post by Diego Euri Almanzar »

Hi Skiman!

Since 2018 I search for a GUI for Xbase++ on the Web. I have worked day and night in that search, and I have found it. They are two libraries from the same company: PowerCom and PowerWeb. If you just want to buy PowerWeb, you'll have to use Apache for browsing, and use some CXP commands, or WAA. I spent years trying to configure the issue with WAA, CXP, and APACHE, and never found a way. Therefore, buy both libraries: PowerCom and PowerWEb. PowerCom eliminates the use of APACHE, and PowerWeb is the GUI.

I was able to set everything up in a couple of hours, everything was successful. Regarding your question about the number of records: I have already done tests with a database of thousands of records, and there is no problem. The DBEVAL is just one example of the thousands of examples that exist. In this message I will send you another example, where the DBEVAL statement does not exist. The most important thing about PowerWeb is that it is a library that is included in any Alaska Xbase++ program, just like Express. Therefore, no changes need to be made to the source code, except the part that is displayed in the browser, browse, buttons, radio buttons, list box, etc.

In all these years, I was also at the point of buying the Néfele 4 framework. But, this library must be compiled with Xailer, and I don't want to change my XBase++ compiler. I feel confident with Xbase++ And I'm already tired of switching between Xbase.

I was also studying Mod_Harbour. It is an Apache Mod, that is, a "backpack" that has been added to the Apache web server to allow it to understand the Harbor programming language, and be able to interpret the instructions that are inside the .PRG

I don't know how Harbor managed to get a backpack to be added to HTML text, and for it to be interpreted by a web browser. Anyway, tired of studying options, I decided on PowerWeb, because you don't have to change anything in the source code, only the GUI that is sent to the browser.

Next, I leave you the example that I promised you. And remember, there are no data limits, you can use any DBE engine, even PGDBE. Anything you use in Alaska Xbase++, you can continue to use, no change. The DBFOPEN function is just an example. I don't particularly use DBFOPEN, that came with the example.

Code: Select all

FUNCTION Cars(oSrv)
**
LOCAL aCaps,aCols,aCData,html
**
SETCFG(HASSNGET(oSrv,"Lang"),,pwReg)
SET PATH TO (HASSNGET(oSrv,"Path"))
DBOPEN("DBFNTX",{{{"Cars"},{"Cars"}}},,,.T.)

IF(EMPTY(HASSNGET(oSrv,"Lang")),SetLang(oSrv),.T.)
HACKISET(oSrv,"lang",HASSNGET(oSrv,"Lang"))
HASSNSET(oSrv,"Page",PROCNAME())
HASSNSET(oSrv,"Path",HAPATH(oSrv) + "data")
aCaps = HASSNGET(oSrv,"aCaps")
**
aCols = {{"car_id",aCaps[ChdId],,70},;
         {"TRIM(car_brand) + ' ' + TRIM(car_model)",aCaps[ChdName],,250},;
         {"car_year",aCaps[ChdYear],,70,"C"},;
         {"car_price",aCaps[ChdPrice],,70,"R"}}
aCData = {{aCaps[CarBrand],"&nbsp;"},;
          {aCaps[CarModel],"&nbsp;"},;
          {aCaps[CarYear],"&nbsp;"},;
          {aCaps[CarVol],"&nbsp;"},;
          {aCaps[CarPower],"&nbsp;"},;
          {aCaps[CarFuel],"&nbsp;"},;
          {aCaps[CarBody],"&nbsp;"},;
          {aCaps[CarDesc],"&nbsp;"},;
          {aCaps[CarPrice],"&nbsp;"},;
          {aCaps[CarCont],"&nbsp;"}}
**

**
html = HAPAGEBGN({"files/style.css","files/powerweb.css"},;
                 {"files/script.js","files/powerweb.js","files/powerbrw.js"},,,;
                 aCaps[TtlHome],'onload="SetLang();"') +;
       PageBgn(oSrv,aCaps,HASSNGET(oSrv,"Page")) +;
       '<DIV STYLE="margin-left:10px">' + chrCRLF +;
       '<H1 STYLE="color:mediumblue">' + aCaps[PhdHome]  + "</H1>" + chrCRLF +;
       HBRWPGN(,,,aCols,,10,,,,{"CarInfoShow"}) +;
       HDIVBGN({,10},{480,570},{,{,clrIvory},{2,clrDRed,10}},{"CarInfo"},;
               "z-index:100; display:none") +;
       '<P STYLE="margin-top:0px"><SPAN STYLE="float:right; margin-right:10px; ' +;
       'font-size:16pt; font-weight:bold; color:#800080; cursor:pointer" ' +;
       'onclick="CarInfoHide()">&times;</SPAN></P>' + chrCRLF +;
       HIMAGE({10,20},{350,240},,,{"CarImg"}) +;
       HTABLE({10,270},aCData,;
              {{,,,155,"LT"},{,,,300}},,,,{{,,.F.},{,,{,clrIvory}}},{"CarTbl"}) +;
       "</DIV></DIV>" + chrCRLF +;
       HAPAGEEND(PageEnd())
CLOSE
RETURN html
 

skiman
Posts: 1183
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#24 Post by skiman »

Hi Diego,

Thanks for the info. I was looking if there is a demo to see the result in an online application. It seems as there isn't a way to see how this looks, and how this performs.

I hope it fullfils your needs and I wish you a lot of success with it. If you have a demo of a working table with edit possibilities maybe you can possibly post the URL here?
Best regards,

Chris.
www.aboservice.be

Diego Euri Almanzar
Posts: 155
Joined: Thu Nov 05, 2020 10:51 am
Location: DOMINICAN REPUBLIC

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#25 Post by Diego Euri Almanzar »

Hi Skiman!

In this link you can download the demos.

https://www.sd-softdesign.com/download.htm

Of all the demos, you will only need to download PowerCom, and PowerWeb

In addition, I am going to attach a complete demo, which they sent me by email.
Attachments
PowerWeb20Demo.zip
(8.84 MiB) Downloaded 199 times

User avatar
Tom
Posts: 1165
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#26 Post by Tom »

Hi, Chris.

Several guys from the german forum are interested in a presentation, maybe using Zoom (I have a prof. account) or the Jitsi-server the german forum owns. Could you send me some date suggestions (PM) in later may (from 9th on)? If guys from this forum are interested, they may join. This would be in english anyway, right?
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

skiman
Posts: 1183
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#27 Post by skiman »

Hi Tom,

Nice to hear there is some interest.

I suppose it would be best in the evening, this way users on this forum can also join as you proposed. For me it can be on 9,10,11 or 12 may, start at 18.00 or 19.00 Brussels time. I expect this will take an hour to explain the way it works.

I checked Jitsi.org and this looks quite powerfull. When I tried a moderated meeting, there was no option to save a recording. I would be interested to have it recorded. I don't know if you can record it with Zoom or the Jitsi version on the server?

And yes, I will be in English. I can order a beer in German, but that's it. :-)
Best regards,

Chris.
www.aboservice.be

skiman
Posts: 1183
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#28 Post by skiman »

Hi Diego,

I checked the demo and looked further to the source code.

Basically, it is creating HTML pages with the needed functionality. I don't know if you ever checked the 'dcread HTML' from Roger which is integrated in eXPress? This does about the same.

In 2005 I have build a system based on HTML pages which were used as templates. I had bought Xb2Net to use as server for it, and it was working. The cxp pages are more powerfull, but are still based on this kind of architecture. I had an online version of my application customers could use, but it had very limited possibilities. In 2019 I started with a new system with the goal to have a system to create an online version of my Windows application, without knowing anything of html, css, javascript, ... While building it I realised this could be used by other programmers in any language. BOA was born and is the front-end a developer can use, still using the language he/she prefers.

This is the big difference with Powerweb. If you aren't a css-guru, it will be rather difficult to create a modern front-end.

Both systems has pro and con's. With BOA you can't change the look and feel, we decided it and it is based on Bootstrap and a theme we have choosen. With Powerweb you can change it, if you have the knowledge to create beautifull html pages with css. I suppose it would even be possible to integrate more modern themes in it.
Best regards,

Chris.
www.aboservice.be

User avatar
Tom
Posts: 1165
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#29 Post by Tom »

Hi, Chris.

I started a survey about the presentation date and will tell you the selected date on May 3rd. Thanks in advance!
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

skiman
Posts: 1183
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: What Java library or dll can be used to develop a WEB GUI in Xbase++?

#30 Post by skiman »

Thanks Tom,

If some people on the eXPress++ forum would be interested, they can also join.

The presentation will be at 6PM Brussels time, I suppose this will work for some of you? If possible it will be recorded, so I can post the link afterwards. It will be on 9,10,11 or 12 May. Once the date is known, I will post it.
Best regards,

Chris.
www.aboservice.be

Post Reply