From rwe-sse at osnanet.de Wed Jun 1 10:25:58 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Wed, 1 Jun 2022 10:25:58 +0200 Subject: [Gambas-user] Gambas and qt6 In-Reply-To: References: Message-ID: <6d61e99f-c37e-ff31-1187-e49bd23ea6ca@osnanet.de> Am 31.05.22 um 10:15 schrieb Bruce Steers: > > > On Tue, 31 May 2022 at 08:13, Rolf-Werner Eilert > wrote: > > Just read that the guys of other projects are preparing their babies > for > qt6. > > Is that a topic for Gambas, too? > > No idea what it could mean, I am only curious. > > > Lots and lots of work for Benoit I should think. > Probably a similar amount of work involved as there was to make gb.qt5 > from gb.qt4. (however long that took?) > > qt6 is on very few distros at present and being new it's probably best > to continue to use qt5 till they've worked out some of the bugs in 6. > > There's no rush :) > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Yes, that is somewhat the kind of answer I expected :) Thank you Bruce Regards Rolf From rwe-sse at osnanet.de Wed Jun 1 10:28:51 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Wed, 1 Jun 2022 10:28:51 +0200 Subject: [Gambas-user] Webform project doesn't start Message-ID: Until about 10 days ago I had an older version of Gambas. When I started a webform project there, it would immediately call a new tab on Firefox where the project was running. After updating to the current version, when I press on Play the IDE starts and immediately stops. Maybe I have overseen some change in handling? Regards Rolf From bagoneo at libero.it Wed Jun 1 11:38:35 2022 From: bagoneo at libero.it (gian) Date: Wed, 1 Jun 2022 11:38:35 +0200 Subject: [Gambas-user] Webform project doesn't start In-Reply-To: References: Message-ID: Il 01/06/22 10:28, Rolf-Werner Eilert ha scritto: > Maybe I have overseen some change in handling? Yes :-) Menu Debug > Configuration... > Use embedded HTTP sever on True Regards Gianluigi From bsteers4 at gmail.com Wed Jun 1 12:18:41 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 1 Jun 2022 11:18:41 +0100 Subject: [Gambas-user] Bugtracker files corrupt Message-ID: When on the bugtracker site if I try to load an attached image/video or download a submitted code example. I can see the pictures but videos and archives are corrupted. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From rwe-sse at osnanet.de Wed Jun 1 13:00:31 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Wed, 1 Jun 2022 13:00:31 +0200 Subject: [Gambas-user] Webform project doesn't start In-Reply-To: References: Message-ID: <6e660602-359d-a7e8-85d4-93463ae055b4@osnanet.de> Am 01.06.22 um 11:38 schrieb gian via User: > Il 01/06/22 10:28, Rolf-Werner Eilert ha scritto: >> Maybe I have overseen some change in handling? > > Yes :-) > > Menu Debug > Configuration... > Use embedded HTTP sever on True > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Ahhh thank you very much! Regards Rolf From bagoneo at libero.it Wed Jun 1 15:47:01 2022 From: bagoneo at libero.it (gian) Date: Wed, 1 Jun 2022 15:47:01 +0200 Subject: [Gambas-user] Bugtracker files corrupt In-Reply-To: References: Message-ID: <22b178c1-75b2-d691-f059-85852c24363c@libero.it> Il 01/06/22 12:18, Bruce Steers ha scritto: > When on the bugtracker site if I try to load an attached image/video or > download a submitted code example. I can see the pictures but videos and > archives are corrupted. Video (and compressed) files should be saved in a folder before opening them. Some more professional videos can also be viewed directly from the bugtraker but not those created with Kazam and co. Right-click and from the popup menu 'Save Target As...' Regards Gianluigi From alarch at alarch.pw Wed Jun 1 20:13:34 2022 From: alarch at alarch.pw (alarch at alarch.pw) Date: Wed, 1 Jun 2022 20:13:34 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui Message-ID: <20220601201334.016392c1@marc-ThinkCentre-M92P> Hi, I have a problem with the gb-web-gui component. I wanted to test this component so I made a small cgi application and I installed it on a web server configured with apache, in the cgi directory. As it didn't work I thought that may app had a proble, so I compiled the hello word page provided by the IDE when you choose a web application with a form. Still no display. So I decided to make a simple command line project which just includes : ' Gambas module file Public Sub Main() Print "Content-type: text/html;charset=utf-8" Print "Content-Length: 383" Print "" Print "" Print "" Print " " Print "" Print "

Une simple page

" Print "

avec un pauvre petit texte

" Print "" End I compiled it in test.gambas, and there with curl or my browser the html is displayed. Same with a perl or bash script. In the apache logs I see for the other projects (depending on whether the gb-signal module is installed or not) errors like this: End of script output before headers: or AH01220: Timeout waiting for output from CGI script or Script timed out before returning headers: This reminds me of errors in php when we leave for example a space at the beginning of the script before the References: <22b178c1-75b2-d691-f059-85852c24363c@libero.it> Message-ID: On Wed, 1 Jun 2022 at 14:48, gian via User wrote: > Il 01/06/22 12:18, Bruce Steers ha scritto: > > When on the bugtracker site if I try to load an attached image/video or > > download a submitted code example. I can see the pictures but videos and > > archives are corrupted. > > Video (and compressed) files should be saved in a folder before opening > them. > Some more professional videos can also be viewed directly from the > bugtraker but not those created with Kazam and co. > Right-click and from the popup menu 'Save Target As...' > > Regards > Gianluigi > aah yes thanks Gian right click and save works BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From alarch at alarch.pw Wed Jun 1 22:02:26 2022 From: alarch at alarch.pw (Marc Guillaume) Date: Wed, 1 Jun 2022 22:02:26 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: <20220601201334.016392c1@marc-ThinkCentre-M92P> References: <20220601201334.016392c1@marc-ThinkCentre-M92P> Message-ID: <20220601220226.2cf01b41@marc-ThinkCentre-M92P> Le Wed, 1 Jun 2022 20:13:34 +0200, alarch at alarch.pw a ?crit : > Hi, > > I have a problem with the gb-web-gui component. I wanted to test this > component so I made a small cgi application and I installed it on a > web server configured with apache, in the cgi directory. As it didn't > work I thought that may app had a proble, so I compiled the hello > word page provided by the IDE when you choose a web application with > a form. Still no display. I removed web-gui and installed web-form and it works... What is the difference and the problem with weg-gui? From bagoneo at libero.it Wed Jun 1 22:20:32 2022 From: bagoneo at libero.it (gian) Date: Wed, 1 Jun 2022 22:20:32 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: <20220601201334.016392c1@marc-ThinkCentre-M92P> References: <20220601201334.016392c1@marc-ThinkCentre-M92P> Message-ID: Il 01/06/22 20:13, alarch at alarch.pw ha scritto: > As it didn't work > I thought that may app had a proble, so I compiled the hello word page > provided by the IDE when you choose a web application with a form. > Still no display. Try menu Debug > Configuration... > Use embedded HTTP server on True Regards Gianluigi From alarch at alarch.pw Wed Jun 1 22:44:11 2022 From: alarch at alarch.pw (Marc Guillaume) Date: Wed, 1 Jun 2022 22:44:11 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: References: <20220601201334.016392c1@marc-ThinkCentre-M92P> Message-ID: <20220601224411.105b24ea@marc-ThinkCentre-M92P> Le Wed, 1 Jun 2022 22:20:32 +0200, gian via User a ?crit : > Il 01/06/22 20:13, alarch at alarch.pw ha scritto: > > As it didn't work > > I thought that may app had a proble, so I compiled the hello word > > page provided by the IDE when you choose a web application with a > > form. Still no display. > > Try menu Debug > Configuration... > Use embedded HTTP server on True > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's enabled, but I want tu use it on a real server, not in the IDE. I need access tu mysql, and some resources only presents on the real server. My question is why it works with the old web-form and not with web-gui which seems more up to date ? I thought it was an CGI problem, but it's not as it works compiled with web-form ? Strange no ? From bagoneo at libero.it Wed Jun 1 22:52:28 2022 From: bagoneo at libero.it (gian) Date: Wed, 1 Jun 2022 22:52:28 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: <20220601224411.105b24ea@marc-ThinkCentre-M92P> References: <20220601201334.016392c1@marc-ThinkCentre-M92P> <20220601224411.105b24ea@marc-ThinkCentre-M92P> Message-ID: Il 01/06/22 22:44, Marc Guillaume ha scritto: > Le Wed, 1 Jun 2022 22:20:32 +0200, > gian via User a ?crit : > >> Il 01/06/22 20:13, alarch at alarch.pw ha scritto: >>> As it didn't work >>> I thought that may app had a proble, so I compiled the hello word >>> page provided by the IDE when you choose a web application with a >>> form. Still no display. >> >> Try menu Debug > Configuration... > Use embedded HTTP server on True >> >> Regards >> Gianluigi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > It's enabled, but I want tu use it on a real server, not in the IDE. I > need access tu mysql, and some resources only presents on the real > server. > > My question is why it works with the old web-form and not with web-gui > which seems more up to date ? > > I thought it was an CGI problem, but it's not as it works compiled with > web-form ? > > Strange no ? > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Yes, I suppose so. But I am ignorant on the subject and cannot help you :-( From benoit.minisini at gambas-basic.org Thu Jun 2 09:51:29 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 09:51:29 +0200 Subject: [Gambas-user] Gambas and qt6 In-Reply-To: <6d61e99f-c37e-ff31-1187-e49bd23ea6ca@osnanet.de> References: <6d61e99f-c37e-ff31-1187-e49bd23ea6ca@osnanet.de> Message-ID: <63b1f505-5947-2464-d56a-8dd5f6793745@gambas-basic.org> Le 01/06/2022 ? 10:25, Rolf-Werner Eilert a ?crit?: > Am 31.05.22 um 10:15 schrieb Bruce Steers: >> >> >> On Tue, 31 May 2022 at 08:13, Rolf-Werner Eilert > > wrote: >> >> ??? Just read that the guys of other projects are preparing their babies >> ??? for >> ??? qt6. >> >> ??? Is that a topic for Gambas, too? >> >> ??? No idea what it could mean, I am only curious. >> >> >> Lots and lots of work for Benoit I should think. >> Probably a similar amount of work involved as there was to make gb.qt5 >> from gb.qt4. (however long that took?) >> >> qt6 is on very few distros at present and being new it's probably best >> to continue to use qt5 till they've worked out some of the bugs in 6. >> >> There's no rush :) >> BruceS >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Yes, that is somewhat the kind of answer I expected :) > > Thank you Bruce > > Regards > Rolf > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I usually wait a bit, to let others dealing with the problems first. I don't think gb.qt6 will be a lot of job, as what I use in Qt seems to not have change a lot. We'll see. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Thu Jun 2 09:52:17 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 09:52:17 +0200 Subject: [Gambas-user] Gambas and qt6 In-Reply-To: <63b1f505-5947-2464-d56a-8dd5f6793745@gambas-basic.org> References: <6d61e99f-c37e-ff31-1187-e49bd23ea6ca@osnanet.de> <63b1f505-5947-2464-d56a-8dd5f6793745@gambas-basic.org> Message-ID: Le 02/06/2022 ? 09:51, Benoit Minisini a ?crit?: > > I usually wait a bit, to let others dealing with the problems first. I > don't think gb.qt6 will be a lot of job, as what I use in Qt seems to > not have change a lot. We'll see. > In other words, you should not see any difference between Qt5 and Qt6 with Gambas, except (I hope) with Wayland. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Thu Jun 2 09:53:03 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 09:53:03 +0200 Subject: [Gambas-user] Bugtracker files corrupt In-Reply-To: References: <22b178c1-75b2-d691-f059-85852c24363c@libero.it> Message-ID: <3eaf94ae-850e-0997-fc4a-93a6c0dd88b9@gambas-basic.org> Le 01/06/2022 ? 21:01, Bruce Steers a ?crit?: > > > On Wed, 1 Jun 2022 at 14:48, gian via User > wrote: > > Il 01/06/22 12:18, Bruce Steers ha scritto: > > When on the bugtracker site if I try to load an attached > image/video or > > download a submitted code example. I can see the pictures but > videos and > > archives are corrupted. > > Video (and compressed) files should be saved in a folder before opening > them. > Some more professional videos can also be viewed directly from the > bugtraker but not those created with Kazam and co. > Right-click and from the popup menu 'Save Target As...' > > Regards > Gianluigi > > > aah yes thanks Gian right click and save works > BruceS > I still have no idea why it behaves like that at the moment. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Thu Jun 2 10:00:15 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 10:00:15 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: <20220601201334.016392c1@marc-ThinkCentre-M92P> References: <20220601201334.016392c1@marc-ThinkCentre-M92P> Message-ID: Le 01/06/2022 ? 20:13, alarch at alarch.pw a ?crit?: > Hi, > > I have a problem with the gb-web-gui component. I wanted to test this > component so I made a small cgi application and I installed it on a web > server configured with apache, in the cgi directory. As it didn't work > I thought that may app had a proble, so I compiled the hello word page > provided by the IDE when you choose a web application with a form. > Still no display. > > So I decided to make a simple command line project which just includes > : > > ' Gambas module file > > Public Sub Main() > > Print "Content-type: text/html;charset=utf-8" > Print "Content-Length: 383" > Print "" > Print " \"http://www.w3.org/TR/html4/strict.dtd\">" Print " xmlns=\"http://www.w3.org/1999/xhtml\" > xmlns:v=\"urn:schemas-microsoft-com:vml\">" > > Print " charset=utf-8\"> content=\"IE=edge\">" > > Print "" > Print "

Une simple page

" > Print "

avec un pauvre petit texte

" > Print "" > > End > It's 'gb.web' that is "PHP like". The 'gb.web.gui' component is another beast, even if it's still a CGI script for the HTTP server: it handle sessions with sub-processes, so you must be sure that the CGI script is run under a user that can do all that. I don't know the default configuration of Apache enough, so I can't tell you more at the moment. Regards, -- Beno?t Minisini. From bagoneo at libero.it Thu Jun 2 10:16:30 2022 From: bagoneo at libero.it (gian) Date: Thu, 2 Jun 2022 10:16:30 +0200 Subject: [Gambas-user] Bugtracker files corrupt In-Reply-To: <3eaf94ae-850e-0997-fc4a-93a6c0dd88b9@gambas-basic.org> References: <22b178c1-75b2-d691-f059-85852c24363c@libero.it> <3eaf94ae-850e-0997-fc4a-93a6c0dd88b9@gambas-basic.org> Message-ID: <2760f881-931b-f3d9-2101-b33099a55f2c@libero.it> Il 02/06/22 09:53, Benoit Minisini ha scritto: > I still have no idea why it behaves like that at the moment. I don't think it's Gambas bugtracker's fault if I send GMail the video attached here: http://gambaswiki.org/bugtracker/edit?object=BUG.2563&from=L21haW4- and try to view it directly from GMail I get this error, see attached image. Regards Gianluigi -------------- next part -------------- A non-text attachment was scrubbed... Name: videoErr.png Type: image/png Size: 41026 bytes Desc: not available URL: From rwe-sse at osnanet.de Thu Jun 2 11:02:22 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 2 Jun 2022 11:02:22 +0200 Subject: [Gambas-user] Gambas and qt6 In-Reply-To: References: <6d61e99f-c37e-ff31-1187-e49bd23ea6ca@osnanet.de> <63b1f505-5947-2464-d56a-8dd5f6793745@gambas-basic.org> Message-ID: Am 02.06.22 um 09:52 schrieb Benoit Minisini: > Le 02/06/2022 ? 09:51, Benoit Minisini a ?crit?: >> >> I usually wait a bit, to let others dealing with the problems first. I >> don't think gb.qt6 will be a lot of job, as what I use in Qt seems to >> not have change a lot. We'll see. >> > > In other words, you should not see any difference between Qt5 and Qt6 > with Gambas, except (I hope) with Wayland. > Ah ok, Benoit, thank you for that insight. Wayland... oh oh... :) Does Kubuntu 20 use Wayland? If so, I would have it on my laptop, and Gambas applications run flawlessly there. Regards Rolf From rwe-sse at osnanet.de Thu Jun 2 11:10:48 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 2 Jun 2022 11:10:48 +0200 Subject: [Gambas-user] Webform styles Message-ID: Experimenting with webforms, I wonder if I can brush up the look of the pages by using a CSS file or at least any HTML attributes. Or do I have to achieve all this by using the properties and an arrangement of containers? Can someone give me a hint? Regards Rolf From benoit.minisini at gambas-basic.org Thu Jun 2 11:19:30 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 11:19:30 +0200 Subject: [Gambas-user] Webform styles In-Reply-To: References: Message-ID: <1b8b5e86-1cfa-c5fd-f5fa-8b6c0b55bddb@gambas-basic.org> Le 02/06/2022 ? 11:10, Rolf-Werner Eilert a ?crit?: > Experimenting with webforms, I wonder if I can brush up the look of the > pages by using a CSS file or at least any HTML attributes. > > Or do I have to achieve all this by using the properties and an > arrangement of containers? > > Can someone give me a hint? > > Regards > Rolf > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- You mean 'gb.web.gui'? If your project includes a 'style.css' file in the 'Public' directory, it will be automatically used. -- Beno?t Minisini. From rwe-sse at osnanet.de Thu Jun 2 11:36:28 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 2 Jun 2022 11:36:28 +0200 Subject: [Gambas-user] Webform styles In-Reply-To: <1b8b5e86-1cfa-c5fd-f5fa-8b6c0b55bddb@gambas-basic.org> References: <1b8b5e86-1cfa-c5fd-f5fa-8b6c0b55bddb@gambas-basic.org> Message-ID: <2b693c28-a5d3-24c2-61b4-d2d17edb63f3@osnanet.de> Am 02.06.22 um 11:19 schrieb Benoit Minisini: > Le 02/06/2022 ? 11:10, Rolf-Werner Eilert a ?crit?: >> Experimenting with webforms, I wonder if I can brush up the look of >> the pages by using a CSS file or at least any HTML attributes. >> >> Or do I have to achieve all this by using the properties and an >> arrangement of containers? >> >> Can someone give me a hint? >> >> Regards >> Rolf >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > You mean 'gb.web.gui'? > > If your project includes a 'style.css' file in the 'Public' directory, > it will be automatically used. > Yes, that is what I wanted to know. My intention is to get an application-like look, i. e. to copy another Gambas application's style of handling. As far as I could see up to now, I can do that with the properties and some containers. But it is good to know I can use a CSS if necessary. Thank you! Rolf From benoit.minisini at gambas-basic.org Thu Jun 2 11:49:31 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 2 Jun 2022 11:49:31 +0200 Subject: [Gambas-user] Webform styles In-Reply-To: <2b693c28-a5d3-24c2-61b4-d2d17edb63f3@osnanet.de> References: <1b8b5e86-1cfa-c5fd-f5fa-8b6c0b55bddb@gambas-basic.org> <2b693c28-a5d3-24c2-61b4-d2d17edb63f3@osnanet.de> Message-ID: Le 02/06/2022 ? 11:36, Rolf-Werner Eilert a ?crit?: > Am 02.06.22 um 11:19 schrieb Benoit Minisini: >> Le 02/06/2022 ? 11:10, Rolf-Werner Eilert a ?crit?: >>> Experimenting with webforms, I wonder if I can brush up the look of >>> the pages by using a CSS file or at least any HTML attributes. >>> >>> Or do I have to achieve all this by using the properties and an >>> arrangement of containers? >>> >>> Can someone give me a hint? >>> >>> Regards >>> Rolf >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> You mean 'gb.web.gui'? >> >> If your project includes a 'style.css' file in the 'Public' directory, >> it will be automatically used. >> > > Yes, that is what I wanted to know. > > My intention is to get an application-like look, i. e. to copy another > Gambas application's style of handling. As far as I could see up to now, > I can do that with the properties and some containers. But it is good to > know I can use a CSS if necessary. > > Thank you! > > Rolf > The different "HTML controls" follow a not yet documented naming scheme. For example, if the class of a control is "WebDateBox", then the outer element implementing the control will have a class named "gw-datebox". Look at the 'style.css' file located in the 'gb.web.gui' source code. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Thu Jun 2 14:54:03 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 2 Jun 2022 13:54:03 +0100 Subject: [Gambas-user] Gambas Version swapper (WIP) In-Reply-To: <7b316c7f-4762-55c6-ac28-327f6e02a86f@gambas-basic.org> References: <35a4eeff-4142-b5b9-c4bc-6375cd579d80@gambas-basic.org> <7b316c7f-4762-55c6-ac28-327f6e02a86f@gambas-basic.org> Message-ID: On Mon, 30 May 2022 at 18:11, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 30/05/2022 ? 18:55, Bruce Steers a ?crit : > > > > hmm, because i've never really used links so don't really have a clue > > what to do. > > > > do you mean something like simply rename the folders and make things > > like /usr/lib/gambas3 a link to the folder, and the program just change > > the links? > > Yes. It's what I use to have a permanent updated install of the current > development version on my system. > > > I'll have to investigate this new symbolic link territory.. > > > > Yes, you have to, you must! > > Symbolic links are a gift, I can't count the number of problems you can > simply solve with them. > > -- > Beno?t Minisini. > I'm not convinced links the best way to go. my issue is that if i have the gambas folders linked to other locations then installing an updated version will overwrite the linked files unless the links are removed first. this overly complicates things I think. It will work if i add it as a feature of my GambasLatestUpdate app as i can manage the links when updating, otherwise the user will have to be sure to unlink before updating. (you just can't trust the "user" to do it right all the time ;) ) As it stands i'm thinking simply making backup copies and restoring them could be best, the data from /usr/bin /usr/lib and /usr/share is pretty small, the only real big item is the $HOME/.local/share/gambas3 folder but by default that is not backed up/restored. Unless anyone has a sure fire method? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From alarch at alarch.pw Thu Jun 2 16:18:54 2022 From: alarch at alarch.pw (Alarch) Date: Thu, 2 Jun 2022 16:18:54 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: References: <20220601201334.016392c1@marc-ThinkCentre-M92P> Message-ID: <20220602161854.3f4c48d7@TOU-MGE-1812-05.itsense.local> Le Thu, 2 Jun 2022 10:00:15 +0200, Benoit Minisini a ?crit : > Le 01/06/2022 ? 20:13, alarch at alarch.pw a ?crit?: > > Hi, > > > > I have a problem with the gb-web-gui component. I wanted to test > > this component so I made a small cgi application and I installed it > > on a web server configured with apache, in the cgi directory. As it > > didn't work I thought that may app had a proble, so I compiled the > > hello word page provided by the IDE when you choose a web > > application with a form. Still no display. > > > > So I decided to make a simple command line project which just > > includes : > > > > ' Gambas module file > > > > Public Sub Main() > > > > Print "Content-type: text/html;charset=utf-8" > > Print "Content-Length: 383" > > Print "" > > Print " > \"http://www.w3.org/TR/html4/strict.dtd\">" Print " > xmlns=\"http://www.w3.org/1999/xhtml\" > > xmlns:v=\"urn:schemas-microsoft-com:vml\">" > > > > Print " > content=\"text/html; charset=utf-8\"> > http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">" > > > > Print "" > > Print "

Une simple page

" > > Print "

avec un pauvre petit texte

" > > Print "" > > > > End > > > > It's 'gb.web' that is "PHP like". > > The 'gb.web.gui' component is another beast, even if it's still a CGI > script for the HTTP server: it handle sessions with sub-processes, so > you must be sure that the CGI script is run under a user that can do > all that. > > I don't know the default configuration of Apache enough, so I can't > tell you more at the moment. > > Regards, > Thanks for your answer, I don't want to do php like ! My goal is to try to get rid of php... :-) I compiled a .gambas executable with web-gui, which did not work. I did the same thing with the old web-form and it works. The machine on which the application should run is running with suexec (I'm not sure if the client accepts a site without suexec). suexec is a module that makes a site not run on the apache user but under the name of a system user (present in /etc/passwd). Maybe this causes some limitations that I don't know about. I'll look into it. I know that in the suexec logs I got error messages because it wants a cgi program with 700 rights, if you leave a more permissive right it blocks. Are there any fundamental differences in the way web-form and web-gui work? In particular with regard to sub-processes? Maybe web-form doesn't do things that web-gui tries to do and is blocked by suexec. I will also try to do a test on a machine of mine that does not use suexec to find out. I'll let you know if I find any information about the special configuration of gambas with apache2. From isafiur at gmail.com Fri Jun 3 04:38:35 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Fri, 3 Jun 2022 08:23:35 +0545 Subject: [Gambas-user] Error 500 with web app gb-web-gui Message-ID: Hi In Ubuntu the only configuration required for running gb.web.gui app is sudo a2enmod cgid So most probably there is some permission problem. -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Fri Jun 3 08:33:41 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Fri, 3 Jun 2022 12:18:41 +0545 Subject: [Gambas-user] Bug with last commit in gambas3-gb-web-gui Message-ID: Hi Beno?t I am getting following error in opening many of modal forms in gb.web.gui with last commit related to Focus Frame. "Maximum call stack size exceeded at String.startWith at Object.OnFocus" For example There is a webTable in main form and when i open a modal form with WebTable then I get this error. I will also file issue in bugtracker -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: focus.zip Type: application/zip Size: 15518 bytes Desc: not available URL: From bsteers4 at gmail.com Fri Jun 3 09:14:37 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 3 Jun 2022 08:14:37 +0100 Subject: [Gambas-user] Any possible way to level up? Message-ID: Is there ANY possible way to get a gambas program to raise it's su privilages after launch? I have a program doing some copy/move/delete commands that may or may not be in root only accessible locations. I don't want to force the app to be run as root but would be handy if it could get su privileges once run if needed. My currently used option is to gather any commands that need to be run as root into a temporary bash script then run the script via Desktop.RunAsRoot (pkexec) but this will ask for password each time i run a command, Option i'm working on (it's a bit hacky but it works).. I have a hidden TerminalView object that runs bash through pkexec so a one time password request activates the hidden su bash terminal and then I can run commands through it at will without having to authorize again. Problems are output text comes with all the terminal escape chars/codes and needs filtering and i'm limited to only using shell commands not gambas internal ones. anyone ever worked on having a gambas app raise it's privileges? Ideally i'd like to up the level then use gambas internal copy/move methods rather than shell commands. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Jun 3 10:10:33 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 3 Jun 2022 09:10:33 +0100 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: Message-ID: On Fri, 3 Jun 2022 at 08:14, Bruce Steers wrote: > Is there ANY possible way to get a gambas program to raise it's su > privilages after launch? > > I have a program doing some copy/move/delete commands that may or may not > be in root only accessible locations. > > I don't want to force the app to be run as root but would be handy if it > could get su privileges once run if needed. > > My currently used option is to gather any commands that need to be run as > root into a temporary bash script then run the script via Desktop.RunAsRoot > (pkexec) but this will ask for password each time i run a command, > > Option i'm working on (it's a bit hacky but it works).. > I have a hidden TerminalView object that runs bash through pkexec so a one > time password request activates the hidden su bash terminal and then I can > run commands through it at will without having to authorize again. > > Problems are output text comes with all the terminal escape chars/codes > and needs filtering and i'm limited to only using shell commands not gambas > internal ones. > > anyone ever worked on having a gambas app raise it's privileges? > Ideally i'd like to up the level then use gambas internal copy/move > methods rather than shell commands. > > Respects > BruceS > Attached is a rough tester for what i have so far. it's simply a textbox with some buttons and a textarea. enter the command you want to run in the textbox and press a button to run it, output goes in the textarea you can run a command as root and it will ask for password, then running further commands does not as it goes through the hidden TerminalView with superuser bash. Anyone got a better solution? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 8Ig3AKAAAA== From adamnt42 at gmail.com Fri Jun 3 11:19:18 2022 From: adamnt42 at gmail.com (bb) Date: Fri, 03 Jun 2022 18:49:18 +0930 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: Message-ID: On Fri, 2022-06-03 at 09:10 +0100, Bruce Steers wrote: > On Fri, 3 Jun 2022 at 08:14, Bruce Steers wrote: > > > Is there ANY possible way to get a gambas program to raise it's su > > privilages after launch? > > > > I have a program doing some copy/move/delete commands that may or > > may not > > be in root only accessible locations. > > > > I don't want to force the app to be run as root but would be handy > > if it > > could get su privileges once run if needed. > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- Ah grasshopper, The sheer idea of a (any) program being able to up itself into the priveleged regime conflicts with the general truths imposed by the universe itsef. Only through self recognition and self denial shall thou discover the way. b (p.s. I've been reading a lot of zen Bhuddism lately... What is the sound of one program crapping?) From bsteers4 at gmail.com Fri Jun 3 11:48:25 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 3 Jun 2022 10:48:25 +0100 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: Message-ID: On Fri, 3 Jun 2022 at 10:20, bb wrote: > On Fri, 2022-06-03 at 09:10 +0100, Bruce Steers wrote: > > On Fri, 3 Jun 2022 at 08:14, Bruce Steers wrote: > > > > > Is there ANY possible way to get a gambas program to raise it's su > > > privilages after launch? > > > > > > I have a program doing some copy/move/delete commands that may or > > > may not > > > be in root only accessible locations. > > > > > > I don't want to force the app to be run as root but would be handy > > > if it > > > could get su privileges once run if needed. > > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Ah grasshopper, > The sheer idea of a (any) program being able to up itself into the > priveleged regime conflicts with the general truths imposed by the > universe itsef. > Only through self recognition and self denial shall thou discover the > way. > b > (p.s. I've been reading a lot of zen Bhuddism lately... What is the > sound of one program crapping?) > haha :) aah but the universe does indeed work this way. Many programs, for example mint update shows available updates and only when i press "Install updates" does it ask for su elevation. This is the way. (ps. i've been watching the Mandalorian ;) ) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Jun 3 15:42:24 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 3 Jun 2022 09:42:24 -0400 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: Message-ID: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> On 6/3/22 05:48, Bruce Steers wrote: > Many programs, for example mint update shows available updates and only when i press "Install updates" does it ask for su elevation. > I could be wrong since I have tried Debian-flavored distros only twice: once out of curiosity and once out of necessity. However, I am fairly certain that it does not escalate its own privileges but calls an install script with the su privileges through sudo. -- Lee From mati86dl at gmail.com Fri Jun 3 16:01:22 2022 From: mati86dl at gmail.com (Matias De lellis) Date: Fri, 3 Jun 2022 11:01:22 -0300 Subject: [Gambas-user] Gambas built-in server dont accept gzip encoding (Gambas 3.17.2 and fedora 35) Message-ID: Hi all, It's been a long time since I noticed this, but I'm coming back now because I want to make a project with gb.web.gui. Step to reproduce. 1. Generate any project with gb.web.gui (os gb.web.form), 2. Enable the buit-in http server. 3. Run the project on Firefox (I don't know if it's relevant, because I don't have another browser installed to test). What do I hope to see? The gb.web.form example with the correct styles What I see? The app is partially working but it doesn't look good. Well, After a very little investigation with the browser inspector, I notice that the downloaded css is empty, and playing with the terminal I notice that the only parameter that bothers is gzip How to test? > [matias at bangho-mdl ~]$ curl 'http://localhost:8080/style:0.0.1.css' -H > 'Accept-Encoding: gzip, deflate, br' > [matias at bangho-mdl ~]$ curl 'http://localhost:8080/style:0.0.1.css' -H > 'Accept-Encoding: deflate, br' > HTML, BODY { > margin: 0; > padding: 0; > height: 100%; > width: 100%; > font-family: sans-serif; > } > ...... > I don't know if I can contribute anything else but I hope to help. Regards, Matias -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Captura de pantalla 2022-06-03 - 10.48.41.png Type: image/png Size: 25393 bytes Desc: not available URL: From rwe-sse at osnanet.de Fri Jun 3 16:08:15 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Fri, 3 Jun 2022 16:08:15 +0200 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> References: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> Message-ID: <25d4bf35-4233-3696-81ff-6126728fe324@osnanet.de> Am 03.06.22 um 15:42 schrieb T Lee Davidson: > On 6/3/22 05:48, Bruce Steers wrote: >> Many programs, for example mint update shows available updates and >> only when i press "Install updates" does it ask for su elevation. >> > > I could be wrong since I have tried Debian-flavored distros only twice: > once out of curiosity and once out of necessity. However, I am fairly > certain that it does not escalate its own privileges but calls an > install script with the su privileges through sudo. > > I think there is a one-program-calls-second-one mechanism. I know it from Ubuntu, but it seems as if the password thing calls another process which is in the sudo list and uses the password given to call sudo (and sudo is only that it may be called from a non-sudo user). Or something like that... Regards Rolf From mati86dl at gmail.com Fri Jun 3 16:19:12 2022 From: mati86dl at gmail.com (Matias De lellis) Date: Fri, 3 Jun 2022 11:19:12 -0300 Subject: [Gambas-user] Gambas built-in server dont accept gzip encoding (Gambas 3.17.2 and fedora 35) In-Reply-To: References: Message-ID: Dismiss last email. Reviewing the installed packages, I noticed several missing packages. Among many, it seems that installing gambas3-gb-compress-zlib solves all problems. So I guess Fedora package dependencies need to be checked. Thanks for all, And sorry for any spam.. Regards, Matias El vie, 3 jun 2022 a las 11:01, Matias De lellis () escribi?: > Hi all, > It's been a long time since I noticed this, but I'm coming back now > because I want to make a project with gb.web.gui. > > Step to reproduce. > 1. Generate any project with gb.web.gui (os gb.web.form), > 2. Enable the buit-in http server. > 3. Run the project on Firefox (I don't know if it's relevant, because I > don't have another browser installed to test). > > What do I hope to see? > The gb.web.form example with the correct styles > > What I see? > The app is partially working but it doesn't look good. > > Well, > After a very little investigation with the browser inspector, I notice > that the downloaded css is empty, and playing with the terminal I notice > that the only parameter that bothers is gzip > > How to test? > >> [matias at bangho-mdl ~]$ curl 'http://localhost:8080/style:0.0.1.css' -H >> 'Accept-Encoding: gzip, deflate, br' >> [matias at bangho-mdl ~]$ curl 'http://localhost:8080/style:0.0.1.css' -H >> 'Accept-Encoding: deflate, br' >> HTML, BODY { >> margin: 0; >> padding: 0; >> height: 100%; >> width: 100%; >> font-family: sans-serif; >> } >> ...... >> > > I don't know if I can contribute anything else but I hope to help. > Regards, > Matias > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Jun 3 16:33:02 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 3 Jun 2022 15:33:02 +0100 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: <25d4bf35-4233-3696-81ff-6126728fe324@osnanet.de> References: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> <25d4bf35-4233-3696-81ff-6126728fe324@osnanet.de> Message-ID: On Fri, 3 Jun 2022 at 15:09, Rolf-Werner Eilert wrote: > Am 03.06.22 um 15:42 schrieb T Lee Davidson: > > On 6/3/22 05:48, Bruce Steers wrote: > >> Many programs, for example mint update shows available updates and > >> only when i press "Install updates" does it ask for su elevation. > >> > > > > I could be wrong since I have tried Debian-flavored distros only twice: > > once out of curiosity and once out of necessity. However, I am fairly > > certain that it does not escalate its own privileges but calls an > > install script with the su privileges through sudo. > > > > > > I think there is a one-program-calls-second-one mechanism. I know it > from Ubuntu, but it seems as if the password thing calls another process > which is in the sudo list and uses the password given to call sudo (and > sudo is only that it may be called from a non-sudo user). > > Or something like that... > Right i think i get it. I think my method could be considered sound if there was a .Begin() and .End() method. The downfall i'm experiencing in my software is that i have to bunch all the root commands up into a temporary script to run them all at once as Desktop.RunAsRoot() is a one hit wonder, then the user only has to enter password once for all the commands. With the RootShell.class i could .Begin() (set up the term with pkexec bash) then allow the program to issue various commands as needed, then .End() (kill the terminal when done) the Process_Read() function sucks though. it misses things/truncates :( Useful for commands that do not give output like cp / mv / rm downside is the process running in the terminalview is bash. so the Process.State does not represent the command bash is running just that bash is running. Cheers all BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From alarch at alarch.pw Fri Jun 3 18:09:05 2022 From: alarch at alarch.pw (Alarch) Date: Fri, 3 Jun 2022 18:09:05 +0200 Subject: [Gambas-user] Error 500 with web app gb-web-gui In-Reply-To: References: Message-ID: <20220603180905.03f3f4c7@TOU-MGE-1812-05.itsense.local> Le Fri, 3 Jun 2022 08:23:35 +0545, Safiur Rahman a ?crit : > Hi > In Ubuntu the only configuration required for running gb.web.gui app > is sudo a2enmod cgid > So most probably there is some permission problem. > > Hi, Maybe, but if it was a simple permission problem I don't see why web-form could execute his code without problem and not web-gui... As said Benoit it's possibly a probem of su-process, I will see all that this WE... From hans at gambas-buch.de Fri Jun 3 19:46:50 2022 From: hans at gambas-buch.de (Hans Lehmann) Date: Fri, 3 Jun 2022 19:46:50 +0200 Subject: [Gambas-user] Bash-Script In-Reply-To: References: <32740580-86a0-aae3-dad1-9a27aef61461@gmail.com> Message-ID: <47efc8c0-b94b-4f7f-4599-be2fac6169e3@gambas-buch.de> An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Jun 3 20:58:38 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 3 Jun 2022 20:58:38 +0200 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> <25d4bf35-4233-3696-81ff-6126728fe324@osnanet.de> Message-ID: Le 03/06/2022 ? 16:33, Bruce Steers a ?crit?: > > the Process_Read() function sucks though. it misses things/truncates :( > Useful for commands that do not give output like cp / mv / rm Do you have any example of Process_Read() truncating anything? -- Beno?t Minisini. From bagoneo at libero.it Fri Jun 3 22:43:17 2022 From: bagoneo at libero.it (gian) Date: Fri, 3 Jun 2022 22:43:17 +0200 Subject: [Gambas-user] ComboBox.List font size Message-ID: <64be7c64-46d3-2840-3fa4-c944b5d03985@libero.it> Hi, In your opinion, should the ComboBox list take into account the font size or should it not? See attached images -------------- next part -------------- A non-text attachment was scrubbed... Name: combo-list-1.png Type: image/png Size: 18910 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: combo-list-2.jpg Type: image/jpeg Size: 33456 bytes Desc: not available URL: From t.lee.davidson at gmail.com Sat Jun 4 03:40:35 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 3 Jun 2022 21:40:35 -0400 Subject: [Gambas-user] Bash-Script In-Reply-To: <47efc8c0-b94b-4f7f-4599-be2fac6169e3@gambas-buch.de> References: <32740580-86a0-aae3-dad1-9a27aef61461@gmail.com> <47efc8c0-b94b-4f7f-4599-be2fac6169e3@gambas-buch.de> Message-ID: On 6/3/22 13:46, Hans Lehmann wrote: > Hello. > > For a Gambas project I need (obviously) a special variant of the cp command in a bash script. > > The batch file cpwp2wo.sh is necessary to copy the folder with the generated website - described with HTML+CSS+GAMBAS (WebPage) > - into the folder where the web server looks for websites. In addition, the bash script takes care of the correct ownership of > folders and files, because the web server runs under the rights of the web user www-data as well as the appropriate rights. But > that is secondary here. > > In a folder ws_sample there are the three folders a, b and c as well as the batch file cpwp2wo.sh. Only all three folders are to > be copied to $HOME/public_html/cgi-bin - without the file cpwp2wo.sh. I am currently copying with this command. The batch file > is also copied. > > cp -r -u -v $HOME/WS/ws_sample/ $HOME/public_html/cgi-bin/ > > Any hint will be gladly read. > > With kind regards > > Hans Is there a problem with having the script file in the cgi-bin directory? Security reasons perhaps? Could you create a dummy cpwp2wo.sh file with zero content and use the --no-clobber option? Or would that contradict the --update option? -- Lee From t.lee.davidson at gmail.com Sat Jun 4 18:08:58 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 4 Jun 2022 12:08:58 -0400 Subject: [Gambas-user] Bash-Script In-Reply-To: References: <32740580-86a0-aae3-dad1-9a27aef61461@gmail.com> <47efc8c0-b94b-4f7f-4599-be2fac6169e3@gambas-buch.de> Message-ID: On 6/3/22 21:40, T Lee Davidson wrote: > On 6/3/22 13:46, Hans Lehmann wrote: >> Hello. >> >> For a Gambas project I need (obviously) a special variant of the cp command in a bash script. >> >> The batch file cpwp2wo.sh is necessary to copy the folder with the generated website - described with HTML+CSS+GAMBAS >> (WebPage) - into the folder where the web server looks for websites. In addition, the bash script takes care of the correct >> ownership of folders and files, because the web server runs under the rights of the web user www-data as well as the >> appropriate rights. But that is secondary here. >> >> In a folder ws_sample there are the three folders a, b and c as well as the batch file cpwp2wo.sh. Only all three folders are >> to be copied to $HOME/public_html/cgi-bin - without the file cpwp2wo.sh. I am currently copying with this command. The batch >> file is also copied. >> >> cp -r -u -v $HOME/WS/ws_sample/ $HOME/public_html/cgi-bin/ >> >> Any hint will be gladly read. >> >> With kind regards >> >> Hans > > Is there a problem with having the script file in the cgi-bin directory? Security reasons perhaps? > > Could you create a dummy cpwp2wo.sh file with zero content and use the --no-clobber option? Or would that contradict the > --update option? I originally assumed that there is a specific reason why your executable script is located within your data file directories. I also assumed there is a specific reason why you must issue only one copy command. But, after thinking about it, I have to question those assumptions. Can the script be located other than with your data files? Is there any reason you cannot simply issue three copy commands like this? cp -r -u -v $HOME/WS/ws_sample/a $HOME/public_html/cgi-bin/a cp -r -u -v $HOME/WS/ws_sample/b $HOME/public_html/cgi-bin/b cp -r -u -v $HOME/WS/ws_sample/c $HOME/public_html/cgi-bin/c -- Lee From bsteers4 at gmail.com Sat Jun 4 18:11:58 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 4 Jun 2022 17:11:58 +0100 Subject: [Gambas-user] Any possible way to level up? In-Reply-To: References: <3ebcdabb-57f5-9190-1fbe-990435eabf3f@gmail.com> <25d4bf35-4233-3696-81ff-6126728fe324@osnanet.de> Message-ID: On Fri, 3 Jun 2022, 19:59 Benoit Minisini, wrote: > Le 03/06/2022 ? 16:33, Bruce Steers a ?crit : > > > > the Process_Read() function sucks though. it misses things/truncates :( > > Useful for commands that do not give output like cp / mv / rm > > Do you have any example of Process_Read() truncating anything? > It was terrible coding on my part i think. I was dealing with a lot of escape chars/color codes but then used bash --norc arg. I've cleaned it up a lot, used a trick to emulate (poorly) the Process.State and Process.Value for the commands run inside bash. added an .End() method that kills the terminal I posted an update on gambasone forum... https://forum.gambas.one/viewtopic.php?f=4&t=1333 -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Jun 4 18:48:18 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 4 Jun 2022 12:48:18 -0400 Subject: [Gambas-user] Bash-Script In-Reply-To: References: <32740580-86a0-aae3-dad1-9a27aef61461@gmail.com> <47efc8c0-b94b-4f7f-4599-be2fac6169e3@gambas-buch.de> Message-ID: <4477917a-2fa5-2f3e-9513-bc5763648c07@gmail.com> On 6/4/22 12:08, T Lee Davidson wrote: > On 6/3/22 21:40, T Lee Davidson wrote: >> On 6/3/22 13:46, Hans Lehmann wrote: >>> Hello. >>> >>> For a Gambas project I need (obviously) a special variant of the cp command in a bash script. >>> >>> The batch file cpwp2wo.sh is necessary to copy the folder with the generated website - described with HTML+CSS+GAMBAS >>> (WebPage) - into the folder where the web server looks for websites. In addition, the bash script takes care of the correct >>> ownership of folders and files, because the web server runs under the rights of the web user www-data as well as the >>> appropriate rights. But that is secondary here. >>> >>> In a folder ws_sample there are the three folders a, b and c as well as the batch file cpwp2wo.sh. Only all three folders are >>> to be copied to $HOME/public_html/cgi-bin - without the file cpwp2wo.sh. I am currently copying with this command. The batch >>> file is also copied. >>> >>> cp -r -u -v $HOME/WS/ws_sample/ $HOME/public_html/cgi-bin/ >>> >>> Any hint will be gladly read. >>> >>> With kind regards >>> >>> Hans >> >> Is there a problem with having the script file in the cgi-bin directory? Security reasons perhaps? >> >> Could you create a dummy cpwp2wo.sh file with zero content and use the --no-clobber option? Or would that contradict the >> --update option? > > I originally assumed that there is a specific reason why your executable script is located within your data file directories. I > also assumed there is a specific reason why you must issue only one copy command. But, after thinking about it, I have to > question those assumptions. > > Can the script be located other than with your data files? > Is there any reason you cannot simply issue three copy commands like this? > cp -r -u -v $HOME/WS/ws_sample/a $HOME/public_html/cgi-bin/a > cp -r -u -v $HOME/WS/ws_sample/b $HOME/public_html/cgi-bin/b > cp -r -u -v $HOME/WS/ws_sample/c $HOME/public_html/cgi-bin/c Another question is, does it have to be strictly a copy command? Or, can you use a `for` loop? for d in $(find ws_sample/* -type d); do cp -ruv $d cgi-bin/; done -- Lee From t.lee.davidson at gmail.com Sun Jun 5 19:41:57 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 5 Jun 2022 13:41:57 -0400 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage Message-ID: I am using the Example (with Main.webpage and Page.webpage) at http://gambaswiki.org/wiki/doc/webpage Issue #1: The server is unreliable, behaving inconsistently when sending the page to the browser. Sometimes the page loads in the browser; sometimes not. When it does not, the browser says, "Waiting for localhost" virtually indefinitely. Clicking the Stop button in either the browser or the IDE will result in the page being rendered in the browser (albeit with a "not fully loaded" error in the Firefox console). I've tried three different browsers, and they all experience this issue. BTW, whether it works as expected or not, the IDE Console *always* says, "gb.httpd: bind 0.0.0.0 - Address already in use" Issue #2: The server does not correctly load the project's stylesheet, "style.css". I created the stylesheet with: right-click on Project > New > Style sheet... Firefox refuses to load the stylesheet saying: The stylesheet localhost:8080/style.css was not loaded because its MIME type, ?text/html?, is not ?text/css?. SeaMonkey shows it has loaded a style.css file, but the content is the exact same as the page source (and, of course, that mime type would be ?text/html?). I understand this can happen with some browsers when the stylesheet is linked with an empty string given for 'href', ie. Are my expectations wrong? Does the Example need to be corrected? Or, are these potential bugs? -- Lee From benoit.minisini at gambas-basic.org Mon Jun 6 00:20:46 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 6 Jun 2022 00:20:46 +0200 Subject: [Gambas-user] Saving content of webcontrol as file in server side In-Reply-To: References: Message-ID: <070d15de-f3f4-40e3-7fc6-6b8811051648@gambas-basic.org> Le 29/05/2022 ? 14:45, Safiur Rahman a ?crit?: > Hi Beno?t > > How can I save the content of a webControl displayed on the browser side > as a file on the server side or send to the database? > > Eg. There is an image displayed on canvas captured through a webcam > (using WebRTC). I want to save it as an image file, copy it to another > folder and save it to the database. > > Attached a project to reproduce my problem. Please rename main.txt to > main.js > > -- > Regards > Safiur Rahman > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's not really possible at the moment, this needs support for the 'gb.web.gui' framework. There is file upload management, but manually in association with a button (the WebFileButton control). Regards, -- Beno?t Minisini. From ub2 at gmx.ch Mon Jun 6 07:49:30 2022 From: ub2 at gmx.ch (ub2 at gmx.ch) Date: Mon, 6 Jun 2022 07:49:30 +0200 Subject: [Gambas-user] ComboBox.List font size, property In-Reply-To: <64be7c64-46d3-2840-3fa4-c944b5d03985@libero.it> References: <64be7c64-46d3-2840-3fa4-c944b5d03985@libero.it> Message-ID: <6d974098-49ff-40bb-684a-81054d2f1366@gmx.ch> Morning Gianluigi Having it in a property would allow us to adapt the combobox in the code before showing it to the user. Regarding combobox.list."font size": - Selecting with a mouse we most likely will keep font size small - For tapping on a touchpad with "fat fingers" we need to blow it up Similar with sth like combobox.list."list-width" See also: https://lists.gambas-basic.org/pipermail/user/2022-May/076160.html Just (one/my) opinion. Have a good day ub2 Am 03.06.22 um 22:43 schrieb gian via User: > Hi, > > In your opinion, should the ComboBox list take into account the font > size or should it not? > See attached images > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 495 bytes Desc: OpenPGP digital signature URL: From peter.kostrz at cofex.ch Mon Jun 6 11:38:29 2022 From: peter.kostrz at cofex.ch (Peter Kostrz) Date: Mon, 6 Jun 2022 11:38:29 +0200 Subject: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 Message-ID: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> Hello When loading the required modules I have the message "forbitten access" (see attachment) and the load to the system fails. Thanks for a help on that Peter -- Peter Kostrz / CEO Cofex AG Besuchen Sie unserer Webseite unter http://www.cofex.ch Cofex AG -- Computing for Experts Bahnstrasse 24 Postfach 600 CH-8603 Schwerzenbach Phone: +41 (0)44 806 50 50 Fax: +41 (0)44 887 19 59 Infobox: info at cofex.ch Web: www.cofex.ch ********* LEGAL DESCLAIMER: This electronic message contains information from Cofex AG, which may be privileged or confidential. The information is intended for use only by the individual(s) or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this electronic message in error, please notify me by telephone or email (to the number or email address above) immediately. Any views expressed in this message are those of the individual sender. This message is for information purposes only. All liability of Cofex AG for any damages resulting from e-mail use is excluded. Communications using this system will also be monitored and may be recorded to secure effective operation and for other lawful business purposes. Cofex AG ********* -------------- next part -------------- sudo apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git > module_load.txt 2>&1 Fehl:1 http://ppa.launchpad.net/gambas-daily/ubuntu focal InRelease 403 Forbidden [IP: 185.125.190.52 80] OK:2 http://archive.ubuntu.com/ubuntu focal InRelease OK:3 http://archive.ubuntu.com/ubuntu focal-security InRelease OK:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease Paketlisten werden gelesen... Fertig E: Fehlschlag beim Holen von http://ppa.launchpad.net/gambas-daily/ubuntu/dists/focal/InRelease 403 Forbidden [IP: 185.125.190.52 80] E: Das Depot ?http://ppa.launchpad.net/gambas-daily/ubuntu focal InRelease? ist nicht signiert. N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgef?hrt werden, daher ist es standardm??ig deaktiviert. N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8). -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 6161 bytes Desc: S/MIME Cryptographic Signature URL: From bsteers4 at gmail.com Mon Jun 6 21:53:39 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 6 Jun 2022 20:53:39 +0100 Subject: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 In-Reply-To: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> References: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> Message-ID: i do not get the "Forbidden" error here , it works as expected. It's possibly a problem unique to you? BruceS On Mon, 6 Jun 2022 at 10:49, Peter Kostrz wrote: > Hello > > When loading the required modules I have the message "forbitten access" > (see attachment) and the load to the system fails. > > Thanks for a help on that > > Peter > > > -- > Peter Kostrz / CEO Cofex AG > > > Besuchen Sie unserer Webseite unter http://www.cofex.ch > > Cofex AG -- Computing for Experts > Bahnstrasse 24 > Postfach 600 > CH-8603 Schwerzenbach > Phone: +41 (0)44 806 50 50 > Fax: +41 (0)44 887 19 59 > Infobox: info at cofex.ch > Web: www.cofex.ch > ********* > LEGAL DESCLAIMER: > This electronic message contains information from Cofex AG, which may be > privileged or confidential. > The information is intended for use only by the individual(s) or entity > named above. If you are not > the intended recipient, be aware that any disclosure, copying, > distribution or use of the contents > of this information is strictly prohibited. If you have received this > electronic message in error, > please notify me by telephone or email (to the number or email address > above) immediately. Any views > expressed in this message are those of the individual sender. This message > is for information purposes > only. All liability of Cofex AG for any damages resulting from e-mail use > is excluded. Communications > using this system will also be monitored and may be recorded to secure > effective operation and for > other lawful business purposes. > > Cofex AG > ********* > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Jun 6 21:57:47 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 6 Jun 2022 20:57:47 +0100 Subject: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 In-Reply-To: References: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> Message-ID: PS. if you are installing all the dependencies from the wiki page http://gambaswiki.org/wiki/install because you are going to compile install (autotools) gambas and not use apt then remove the PPA to remove the error. sudo add-apt-repository -r ppa:gambas-team/gambas-daily BruceS On Mon, 6 Jun 2022 at 20:53, Bruce Steers wrote: > i do not get the "Forbidden" error here , it works as expected. > It's possibly a problem unique to you? > > BruceS > > > > On Mon, 6 Jun 2022 at 10:49, Peter Kostrz wrote: > >> Hello >> >> When loading the required modules I have the message "forbitten access" >> (see attachment) and the load to the system fails. >> >> Thanks for a help on that >> >> Peter >> >> >> -- >> Peter Kostrz / CEO Cofex AG >> >> >> Besuchen Sie unserer Webseite unter http://www.cofex.ch >> >> Cofex AG -- Computing for Experts >> Bahnstrasse 24 >> Postfach 600 >> CH-8603 Schwerzenbach >> Phone: +41 (0)44 806 50 50 >> Fax: +41 (0)44 887 19 59 >> Infobox: info at cofex.ch >> Web: www.cofex.ch >> ********* >> LEGAL DESCLAIMER: >> This electronic message contains information from Cofex AG, which may be >> privileged or confidential. >> The information is intended for use only by the individual(s) or entity >> named above. If you are not >> the intended recipient, be aware that any disclosure, copying, >> distribution or use of the contents >> of this information is strictly prohibited. If you have received this >> electronic message in error, >> please notify me by telephone or email (to the number or email address >> above) immediately. Any views >> expressed in this message are those of the individual sender. This >> message is for information purposes >> only. All liability of Cofex AG for any damages resulting from e-mail use >> is excluded. Communications >> using this system will also be monitored and may be recorded to secure >> effective operation and for >> other lawful business purposes. >> >> Cofex AG >> ********* >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Jun 6 22:10:24 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 6 Jun 2022 21:10:24 +0100 Subject: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 In-Reply-To: References: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> Message-ID: PPS. if you "are" wanting to just use the PPA and apt 1. You do not need to add the dependencies from the wiki page they are just for compiling gambas. ubuntu package installer will install all needed dependencies for you. 2. Have you tried removing and re-adding the PPA to update the certificate? goto ubuntu software sources manager and remove gambas ppa and the launchpad Signature key. then re-add with.. sudo add-apt-repository ppa:gambas-team/gambas-daily BruceS On Mon, 6 Jun 2022 at 20:57, Bruce Steers wrote: > PS. > if you are installing all the dependencies from the wiki page > http://gambaswiki.org/wiki/install because you are going to compile > install (autotools) gambas and not use apt then remove the PPA to remove > the error. > > sudo add-apt-repository -r ppa:gambas-team/gambas-daily > > BruceS > > > On Mon, 6 Jun 2022 at 20:53, Bruce Steers wrote: > >> i do not get the "Forbidden" error here , it works as expected. >> It's possibly a problem unique to you? >> >> BruceS >> >> >> >> On Mon, 6 Jun 2022 at 10:49, Peter Kostrz wrote: >> >>> Hello >>> >>> When loading the required modules I have the message "forbitten access" >>> (see attachment) and the load to the system fails. >>> >>> Thanks for a help on that >>> >>> Peter >>> >>> >>> -- >>> Peter Kostrz / CEO Cofex AG >>> >>> >>> Besuchen Sie unserer Webseite unter http://www.cofex.ch >>> >>> Cofex AG -- Computing for Experts >>> Bahnstrasse 24 >>> Postfach 600 >>> CH-8603 Schwerzenbach >>> Phone: +41 (0)44 806 50 50 >>> Fax: +41 (0)44 887 19 59 >>> Infobox: info at cofex.ch >>> Web: www.cofex.ch >>> ********* >>> LEGAL DESCLAIMER: >>> This electronic message contains information from Cofex AG, which may be >>> privileged or confidential. >>> The information is intended for use only by the individual(s) or entity >>> named above. If you are not >>> the intended recipient, be aware that any disclosure, copying, >>> distribution or use of the contents >>> of this information is strictly prohibited. If you have received this >>> electronic message in error, >>> please notify me by telephone or email (to the number or email address >>> above) immediately. Any views >>> expressed in this message are those of the individual sender. This >>> message is for information purposes >>> only. All liability of Cofex AG for any damages resulting from e-mail >>> use is excluded. Communications >>> using this system will also be monitored and may be recorded to secure >>> effective operation and for >>> other lawful business purposes. >>> >>> Cofex AG >>> ********* >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Jun 6 23:00:38 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 6 Jun 2022 23:00:38 +0200 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: References: Message-ID: Le 05/06/2022 ? 19:41, T Lee Davidson a ?crit?: > I am using the Example (with Main.webpage and Page.webpage) at > http://gambaswiki.org/wiki/doc/webpage This is not a working example, it's just to show what the syntax is. > > > Issue #1: The server is unreliable, behaving inconsistently when sending > the page to the browser. > > Sometimes the page loads in the browser; sometimes not. When it does > not, the browser says, "Waiting for localhost" virtually indefinitely. > Clicking the Stop button in either the browser or the IDE will result in > the page being rendered in the browser (albeit with a "not fully loaded" > error in the Firefox console). I've tried three different browsers, and > they all experience this issue. Please post a full project. > > BTW, whether it works as expected or not, the IDE Console *always* says, > "gb.httpd: bind 0.0.0.0 - Address already in use" This warning is normal. -- Beno?t Minisini. From t.lee.davidson at gmail.com Tue Jun 7 03:21:50 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 6 Jun 2022 21:21:50 -0400 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: References: Message-ID: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> On 6/6/22 17:00, Benoit Minisini wrote: > Le 05/06/2022 ? 19:41, T Lee Davidson a ?crit?: >> I am using the Example (with Main.webpage and Page.webpage) at http://gambaswiki.org/wiki/doc/webpage > > This is not a working example, it's just to show what the syntax is. Hmm. It actually does work ... when the server does :-) >> Issue #1: The server is unreliable, behaving inconsistently when sending the page to the browser. >> >> Sometimes the page loads in the browser; sometimes not. When it does not, the browser says, "Waiting for localhost" virtually >> indefinitely. Clicking the Stop button in either the browser or the IDE will result in the page being rendered in the browser >> (albeit with a "not fully loaded" error in the Firefox console). I've tried three different browsers, and they all experience >> this issue. > > Please post a full project. The attached project is simply that very example with an added style.css file. -- Lee -------------- next part -------------- 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 8X8e/gvV0cn/AKAAAA== From peter.kostrz at cofex.ch Tue Jun 7 08:48:45 2022 From: peter.kostrz at cofex.ch (Peter Kostrz) Date: Tue, 7 Jun 2022 08:48:45 +0200 Subject: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 In-Reply-To: References: <1d542271-c01d-7160-6c1a-b16f0f4952d7@cofex.ch> Message-ID: <55073915-6625-46a7-bc1c-097209008fdf@cofex.ch> Hi Bruce, Thanks, it worked. I removed everything and just did it using APT. Then detached/attached the ppa and run upgrade as you proposed. All runs fine now. Thank you for your support and have a nice day Peter Mit freundlichen Gr?ssen aus Schwerzenbach Peter Kostrz / CEO Cofex AG Besuchen Sie unserer Webseite unter http://www.cofex.ch Cofex AG -- Computing for Experts Bahnstrasse 24 Postfach 600 CH-8603 Schwerzenbach Phone: +41 (0)44 806 50 50 Fax: +41 (0)44 887 19 59 Infobox: info at cofex.ch Web: www.cofex.ch ********* LEGAL DESCLAIMER: This electronic message contains information from Cofex AG, which may be privileged or confidential. The information is intended for use only by the individual(s) or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this electronic message in error, please notify me by telephone or email (to the number or email address above) immediately. Any views expressed in this message are those of the individual sender. This message is for information purposes only. All liability of Cofex AG for any damages resulting from e-mail use is excluded. Communications using this system will also be monitored and may be recorded to secure effective operation and for other lawful business purposes. Cofex AG ********* Von: User Im Auftrag von Bruce Steers Gesendet: Montag, 6. Juni 2022 22:10 An: Gambas Mailing List Betreff: Re: [Gambas-user] Problem loading modules for gambas after migration from ubuntu 18.04 to 20.04 PPS. if you "are" wanting to just use the PPA and apt 1. You do not need to add the dependencies from the wiki page they are just for compiling gambas. ubuntu package installer will install all needed dependencies for you. 2. Have you tried removing and re-adding the PPA to update the certificate? goto ubuntu software sources manager and remove gambas ppa and the launchpad Signature key. then re-add with.. sudo add-apt-repository ppa:gambas-team/gambas-dailyBruceS On Mon, 6 Jun 2022 at 20:57, Bruce Steers wrote: PS. if you are installing all the dependencies from the wiki page http://gambaswiki.org/wiki/install because you are going to compile install (autotools) gambas and not use apt then remove the PPA to remove the error. sudo add-apt-repository -r ppa:gambas-team/gambas-dailyBruceS On Mon, 6 Jun 2022 at 20:53, Bruce Steers wrote: i do not get the "Forbidden" error here , it works as expected. It's possibly a problem unique to you? BruceS On Mon, 6 Jun 2022 at 10:49, Peter Kostrz wrote: Hello When loading the required modules I have the message "forbitten access" (see attachment) and the load to the system fails. Thanks for a help on that Peter -- Peter Kostrz / CEO Cofex AG Besuchen Sie unserer Webseite unter http://www.cofex.ch Cofex AG -- Computing for Experts Bahnstrasse 24 Postfach 600 CH-8603 Schwerzenbach Phone: +41 (0)44 806 50 50 Fax: +41 (0)44 887 19 59 Infobox: info at cofex.ch Web: www.cofex.ch ********* LEGAL DESCLAIMER: This electronic message contains information from Cofex AG, which may be privileged or confidential. The information is intended for use only by the individual(s) or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this electronic message in error, please notify me by telephone or email (to the number or email address above) immediately. Any views expressed in this message are those of the individual sender. This message is for information purposes only. All liability of Cofex AG for any damages resulting from e-mail use is excluded. Communications using this system will also be monitored and may be recorded to secure effective operation and for other lawful business purposes. Cofex AG ********* ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 6161 bytes Desc: S/MIME Cryptographic Signature URL: From benoit.minisini at gambas-basic.org Tue Jun 7 14:45:50 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 7 Jun 2022 14:45:50 +0200 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> References: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> Message-ID: Le 07/06/2022 ? 03:21, T Lee Davidson a ?crit?: > On 6/6/22 17:00, Benoit Minisini wrote: >> Le 05/06/2022 ? 19:41, T Lee Davidson a ?crit?: >>> I am using the Example (with Main.webpage and Page.webpage) at >>> http://gambaswiki.org/wiki/doc/webpage >> >> This is not a working example, it's just to show what the syntax is. > > Hmm. It actually does work ... when the server does :-) > > >>> Issue #1: The server is unreliable, behaving inconsistently when >>> sending the page to the browser. >>> >>> Sometimes the page loads in the browser; sometimes not. When it does >>> not, the browser says, "Waiting for localhost" virtually >>> indefinitely. Clicking the Stop button in either the browser or the >>> IDE will result in the page being rendered in the browser (albeit >>> with a "not fully loaded" error in the Firefox console). I've tried >>> three different browsers, and they all experience this issue. >> >> Please post a full project. > > The attached project is simply that very example with an added style.css > file. > The 'style.css' must be in the 'Public' directory. Files located in that directory are shared through HTTP. Other project files aren't. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Tue Jun 7 16:00:26 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Jun 2022 10:00:26 -0400 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: References: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> Message-ID: On 6/7/22 08:45, Benoit Minisini wrote: > Le 07/06/2022 ? 03:21, T Lee Davidson a ?crit?: >> On 6/6/22 17:00, Benoit Minisini wrote: >>> Le 05/06/2022 ? 19:41, T Lee Davidson a ?crit?: >>>> I am using the Example (with Main.webpage and Page.webpage) at http://gambaswiki.org/wiki/doc/webpage >>> >>> This is not a working example, it's just to show what the syntax is. >> >> Hmm. It actually does work ... when the server does :-) >> >> >>>> Issue #1: The server is unreliable, behaving inconsistently when sending the page to the browser. >>>> >>>> Sometimes the page loads in the browser; sometimes not. When it does not, the browser says, "Waiting for localhost" >>>> virtually indefinitely. Clicking the Stop button in either the browser or the IDE will result in the page being rendered in >>>> the browser (albeit with a "not fully loaded" error in the Firefox console). I've tried three different browsers, and they >>>> all experience this issue. >>> >>> Please post a full project. >> >> The attached project is simply that very example with an added style.css file. >> > > The 'style.css' must be in the 'Public' directory. Files located in that directory are shared through HTTP. Other project files > aren't. Okay. That explains why the stylesheet wasn't being loaded correctly. Thank you. But, then why does the 'Project' directory's context-sensitive menu offer the very same options as the 'Public' directory (eg. to create a New style sheet among others) if those types of files should be in 'Public' instead of '.hidden'? And, do you have any idea why thttpd is behaving inconsistently? For example, I just fixed the style.css file location and executed the app to verify. It initially loaded in the browser as expected. Then I clicked the browser's reload button. The server responded correctly on the first two reloads, but on the third and subsequent reload attempts it failed to respond. I tried looking at the code, but it is a bit difficult for me to comprehend. I may have seen a connection limit or similar. Perhaps there is a security feature intended to prevent a D.O.S. attack. -- Lee From bsteers4 at gmail.com Tue Jun 7 22:19:26 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 7 Jun 2022 21:19:26 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text Message-ID: Has anyone made a routine to strip xterm escape codes from a terminal text? I'm looking at having to have a close study of the TerminalFilter_VT100.class and try to account for all possible code combinations to strip them. I thought before i spent hours doing it i'd ask if anyone already has and could share the code. Or if there is already a way either an existing function somewhere or possibly in gb.form.terminal or some other class a function that could do it. I'm looking at TerminalFilter_VT100.class and the function OutputTo() looks like it could do it , it seems to do all the right processing but for other reasons. maybe by printing to a stream i could get plain text but i do not know how to do that :( Any thoughts/suggestions? Many thanks All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Jun 8 00:23:08 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 8 Jun 2022 00:23:08 +0200 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: Message-ID: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> Le 07/06/2022 ? 22:19, Bruce Steers a ?crit?: > Has anyone made a routine to strip xterm escape codes from a terminal text? > > I'm looking at having to have a close study of the > TerminalFilter_VT100.class and try to account for all possible code > combinations to strip them. > > I thought before i spent hours doing it i'd ask if anyone already has > and could share the code. > > Or if there is already a way either an existing function somewhere or > possibly in gb.form.terminal or some other class a function that could > do it. > > I'm looking at TerminalFilter_VT100.class and the function OutputTo() > looks like it could do it , it seems to do all the right processing but > for other reasons. maybe by printing to a stream i could get plain text > but i do not know how to do that :( > > Any thoughts/suggestions? > Many thanks > All the best > BruceS > Why do you want to do that? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Jun 8 00:32:09 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 8 Jun 2022 00:32:09 +0200 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: References: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> Message-ID: <03dfb20f-c4d8-d2b8-b4a2-54e677e22123@gambas-basic.org> Le 07/06/2022 ? 16:00, T Lee Davidson a ?crit?: >> >> The 'style.css' must be in the 'Public' directory. Files located in >> that directory are shared through HTTP. Other project files aren't. > > Okay. That explains why the stylesheet wasn't being loaded correctly. > Thank you. > > But, then why does the 'Project' directory's context-sensitive menu > offer the very same options as the 'Public' directory (eg. to create a > New style sheet among others) if those types of files should be in > 'Public' instead of '.hidden'? The 'Project' directory contains any file you need for the development of your project, but that is not needed for running it. Why wouldn't you need to create a style sheet file there? > > > And, do you have any idea why thttpd is behaving inconsistently? For > example, I just fixed the style.css file location and executed the app > to verify. It initially loaded in the browser as expected. Then I > clicked the browser's reload button. The server responded correctly on > the first two reloads, but on the third and subsequent reload attempts > it failed to respond. Strange, I don't remember having such a problem. Which browser do you use? > > I tried looking at the code, but it is a bit difficult for me to > comprehend. I may have seen a connection limit or similar. Perhaps there > is a security feature intended to prevent a D.O.S. attack. > The embedded HTTP server is made with the source code of 'thttpd' that I modified so that it serves only one CGI request at once, so that debugging is easier. Maybe this behaviour is related to your problem? -- Beno?t Minisini. From bsteers4 at gmail.com Wed Jun 8 00:37:02 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 7 Jun 2022 23:37:02 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> References: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> Message-ID: On Tue, 7 Jun 2022, 23:24 Benoit Minisini, wrote: > Le 07/06/2022 ? 22:19, Bruce Steers a ?crit : > > Has anyone made a routine to strip xterm escape codes from a terminal > text? > > > > I'm looking at having to have a close study of the > > TerminalFilter_VT100.class and try to account for all possible code > > combinations to strip them. > > > > I thought before i spent hours doing it i'd ask if anyone already has > > and could share the code. > > > > Or if there is already a way either an existing function somewhere or > > possibly in gb.form.terminal or some other class a function that could > > do it. > > > > I'm looking at TerminalFilter_VT100.class and the function OutputTo() > > looks like it could do it , it seems to do all the right processing but > > for other reasons. maybe by printing to a stream i could get plain text > > but i do not know how to do that :( > > > > Any thoughts/suggestions? > > Many thanks > > All the best > > BruceS > > > > Why do you want to do that? > Because I can us the Process_Read() of the terminal process to control things inside a terminalview running a shell like bash or dash. I have working a routine that can "Wait" and get return codes/text from commands running inside the bash terminal but it reeds to read the terminal text that has a lot of hidden codes to process out. I know there is terminalview.text but reading each bit as I t comes and not all the text is preferred. Cheers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 8 00:58:33 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 7 Jun 2022 23:58:33 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> Message-ID: On Tue, 7 Jun 2022, 23:37 Bruce Steers, wrote: > > > On Tue, 7 Jun 2022, 23:24 Benoit Minisini, < > benoit.minisini at gambas-basic.org> wrote: > >> Le 07/06/2022 ? 22:19, Bruce Steers a ?crit : >> > Has anyone made a routine to strip xterm escape codes from a terminal >> text? >> > >> > I'm looking at having to have a close study of the >> > TerminalFilter_VT100.class and try to account for all possible code >> > combinations to strip them. >> > >> > I thought before i spent hours doing it i'd ask if anyone already has >> > and could share the code. >> > >> > Or if there is already a way either an existing function somewhere or >> > possibly in gb.form.terminal or some other class a function that could >> > do it. >> > >> > I'm looking at TerminalFilter_VT100.class and the function OutputTo() >> > looks like it could do it , it seems to do all the right processing but >> > for other reasons. maybe by printing to a stream i could get plain text >> > but i do not know how to do that :( >> > >> > Any thoughts/suggestions? >> > Many thanks >> > All the best >> > BruceS >> > >> >> Why do you want to do that? >> > > Because I can us the Process_Read() of the terminal process to control > things inside a terminalview running a shell like bash or dash. > > I have working a routine that can "Wait" and get return codes/text from > commands running inside the bash terminal but it reeds to read the terminal > text that has a lot of hidden codes to process out. > I know there is terminalview.text but reading each bit as I t comes and > not all the text is preferred. > Cheers > I have that RootShell thing I've been working on uploaded here for an example of what I currently need it for... https://forum.gambas.one/viewtopic.php?f=4&t=1333 Possibly a controversial use but this could be used for various other things like easily piping out a copy/log of running shell terminal output. Other functionality with a terminal running processes within processes. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Jun 8 03:49:03 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 7 Jun 2022 21:49:03 -0400 Subject: [Gambas-user] Issues using embedded HTTP server with gb.web WebPage In-Reply-To: <03dfb20f-c4d8-d2b8-b4a2-54e677e22123@gambas-basic.org> References: <63bdc604-3449-31ef-09d6-e367b59cf092@gmail.com> <03dfb20f-c4d8-d2b8-b4a2-54e677e22123@gambas-basic.org> Message-ID: On 6/7/22 18:32, Benoit Minisini wrote: > Le 07/06/2022 ? 16:00, T Lee Davidson a ?crit?: [snip] >> But, then why does the 'Project' directory's context-sensitive menu offer the very same options as the 'Public' directory (eg. >> to create a New style sheet among others) if those types of files should be in 'Public' instead of '.hidden'? > > The 'Project' directory contains any file you need for the development of your project, but that is not needed for running it. > > Why wouldn't you need to create a style sheet file there? I wouldn't need to create a style sheet there. I was trying to figure out how to add a style sheet and so started right-clicking on the project's directories starting at the top. I brought up the context-sensitive menu for the Project' directory and saw that I could select "New > Style sheet..." So, I thought that is how it is supposed to be done. Thinking I had found my answer, I did not look any further at the other directory's context-sensitive menus. I was simply ignorant and am now confused as to why the option to create a new style sheet is in the 'Project' directory's context-sensitive menu if it doesn't belong there. >> And, do you have any idea why thttpd is behaving inconsistently? For example, I just fixed the style.css file location and >> executed the app to verify. It initially loaded in the browser as expected. Then I clicked the browser's reload button. The >> server responded correctly on the first two reloads, but on the third and subsequent reload attempts it failed to respond. > > Strange, I don't remember having such a problem. Which browser do you use? My default browser is Firefox, but I experience the issue with Chromium and Seamonkey as well. >> I tried looking at the code, but it is a bit difficult for me to comprehend. I may have seen a connection limit or similar. >> Perhaps there is a security feature intended to prevent a D.O.S. attack. >> > > The embedded HTTP server is made with the source code of 'thttpd' that I modified so that it serves only one CGI request at > once, so that debugging is easier. Maybe this behaviour is related to your problem? Perhaps. If the server does not realize it has finished sending the response so that it will allow another request, then, yes, that would be consistent with the behavior I am seeing. Would it be possible to set a debug flag (maybe in Debug > Configuration) on the server so that requests would be printed in the Console? Or, simply issue a 503 Service Unavailable response? -- Lee From brian at westwoodsvcs.com Wed Jun 8 05:49:25 2022 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Wed, 08 Jun 2022 06:49:25 +0300 Subject: [Gambas-user] =?utf-8?q?removing_xterm_escape_codes_from_termina?= =?utf-8?q?l_text?= In-Reply-To: References: Message-ID: <1654660165.534590243@f30.my.com> I think there is, I will check it in the morning -- Thanks Brian G Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers bsteers4 at gmail.com : >Has anyone made a routine to strip xterm escape codes from a terminal text? > >I'm looking at having to have a close study of the TerminalFilter_VT100.class and try to account for all possible code combinations to strip them. > >I thought before i spent hours doing it i'd ask if anyone already has and could share the code. > >Or if there is already a way either an existing function somewhere or possibly in gb.form.terminal or some other class a function that could do it. > >I'm looking at TerminalFilter_VT100.class and the function OutputTo() looks like it could do it , it seems to do all the right processing but for other reasons. maybe by printing to a stream i could get plain text but i do not know how to do that :( > >Any thoughts/suggestions? >Many thanks >All the best >BruceS > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 8 14:19:23 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 8 Jun 2022 13:19:23 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: <1654660165.534590243@f30.my.com> References: <1654660165.534590243@f30.my.com> Message-ID: On Wed, 8 Jun 2022 at 05:06, Brian G wrote: > I think there is, I will check it in the morning > > -- > Thanks > Brian G > Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers bsteers4 at gmail.com > : > > Has anyone made a routine to strip xterm escape codes from a terminal text? > > I'm looking at having to have a close study of the > TerminalFilter_VT100.class and try to account for all possible code > combinations to strip them. > > I thought before i spent hours doing it i'd ask if anyone already has and > could share the code. > > Or if there is already a way either an existing function somewhere or > possibly in gb.form.terminal or some other class a function that could do > it. > > I'm looking at TerminalFilter_VT100.class and the function OutputTo() > looks like it could do it , it seems to do all the right processing but for > other reasons. maybe by printing to a stream i could get plain text but i > do not know how to do that :( > > Any thoughts/suggestions? > Many thanks > All the best > BruceS > > Cheers Brian. I have managed this so far but it seems bulky. I added it to TerminalView.class , Bulky because it makes a whole new hidden form/terminalview and uses it's OutputTo() to print text to it then uses TerminalView.Text, trouble is OutputTo() needs a terminalview object in it's arguments. Could be easier to just use the normal TerminalView.Text and process all the text not one line at a time as it's output. :-/ Or maybe I should copy the OutputTo() and Escape() methods and edit them to not print text to a TerminalView stream but return it instead. but the following works at least, this is the output (263 = actual output, 264 = CleanText() output) RootShell.Process_Read.263: "\x1B]0;root at bonus-G33M-DS2R: ~\x07root at bonus-G33M-DS2R:~# *|com-ready|*" RootShell.Process_Read.264: "root at bonus-G33M-DS2R:~# *|com-ready|*" RootShell.Process_Read.263: " \x1B[0m\x1B[01;36mbin\x1B[0m \x1B[01;36mlib32\x1B[0m \x1B[01;34mroot\x1B[0m" RootShell.Process_Read.264: " bin lib32 root" *Public Sub CleanText(Text As String) As String Dim w As Window, tv As TerminalView, p As Process w = New Form w.Width = Screen.Width w.Height = 100 w.Arrangement = Arrange.Fill tv = New TerminalView(w) tv.ReadOnly = True 'w.Show Wait p = tv.Shell("bash")While p.State <> Process.Running Wait Wend $hFilter.OutputTo(tv, tv._GetCurrentScreen(), p, Text)Dim sText As String = tv.TextTry p.CloseTry tv.KillReturn sTextEnd* -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 8 15:53:23 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 8 Jun 2022 14:53:23 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: <1654660165.534590243@f30.my.com> Message-ID: On Wed, 8 Jun 2022 at 13:19, Bruce Steers wrote: > > > On Wed, 8 Jun 2022 at 05:06, Brian G wrote: > >> I think there is, I will check it in the morning >> >> -- >> Thanks >> Brian G >> Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers >> bsteers4 at gmail.com: >> >> Has anyone made a routine to strip xterm escape codes from a terminal >> text? >> >> I'm looking at having to have a close study of the >> TerminalFilter_VT100.class and try to account for all possible code >> combinations to strip them. >> >> I thought before i spent hours doing it i'd ask if anyone already has and >> could share the code. >> >> Or if there is already a way either an existing function somewhere or >> possibly in gb.form.terminal or some other class a function that could do >> it. >> >> I'm looking at TerminalFilter_VT100.class and the function OutputTo() >> looks like it could do it , it seems to do all the right processing but for >> other reasons. maybe by printing to a stream i could get plain text but i >> do not know how to do that :( >> >> Any thoughts/suggestions? >> Many thanks >> All the best >> BruceS >> >> > Cheers Brian. > > I have managed this so far but it seems bulky. > I added it to TerminalView.class , > Bulky because it makes a whole new hidden form/terminalview and uses it's > OutputTo() to print text to it then uses TerminalView.Text, > trouble is OutputTo() needs a terminalview object in it's arguments. > > Could be easier to just use the normal TerminalView.Text and process all > the text not one line at a time as it's output. :-/ > > Or maybe I should copy the OutputTo() and Escape() methods and edit them > to not print text to a TerminalView stream but return it instead. > I did the above mentioned, copied OutputTo() and Escape() from TerminalFilter_VT100.class and removed all functionality and made all Print statements assign to a return string instead. I'll attach the project in case anyone is interested. (feel free to optimize/improve the code ;) ) the aim of the project is to enable/disable a private root shell inside an application for issuing multiple commands with only one authorization request. Easy enough to to with a TerminalView and bash but not so easy to get some kind of "Wait" ability and getting return values and text from inside the bash shell. It relies on monitoring the process text output, is starts bash and echos a "shell-ready" then after the command completes it echos "com-done:$?" giving the return value. Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- H4sIAAAAAAAAA+19BVxU2/ro0DggIChgskFSR5ihDWIICelQkRyGAYaYwQkklDYQFVvEwA4UERHE AhQRsbAQFQMBxQbEAKm39p4G9Nz7f+ee+/u/xzrHiZXf+vr71tqMB5XK8AwnRUXpof5jBQuKiYkJ 8g7K0HfkM85Q3wiL0zc01NdHYXE4Q2MTFGT0nwOJV5h0BoEGQSgaQMSf+v1V+//S4sGlvy6ByCBT Kf8BPvjX6I/DYg2NsEZY0A9ngAVsMEr/f6Dw0T+ETCMRGVRa/N+9xl/S3xDHkX+sMc4Ipr+hCaA/ 9u8GZKTy/zn9fW1I9EgGNQaypTBo8f5oByKVYqarp0sG77oxlDD0fxvA0fIfLXzyH0aIDibQ/2v6 X9/QBP5ngMg/Fjdq//+Rwkf/cHJICOm/Zv8NTIwMsQaGBkb6LPqP2v9/pPDRn6Py//Y1/kx/fWOc ifFQ+6+vP2r//5GS6eZiNxY9CTbzYx3sbTxQKCEU/E9SHLz50Y6FgjdRupWDlyQoyyVD1qBQEMrB Bu8Vt/vzHoeoEIeEV4PjqHe27Xy+1v9F/QvvF2YPXzzcux2jZzBdZBV0RV/UVx+q/PGivDukuykd Nbn8iVaVRG9IZXlvkGT5M4keTZ/p4fOLvwf4+9eXxDjob7n9+fM482tZO/S2OOifb7Uqb5dQtw8t X66n39Pc2CL1Q3agukIYL1edoZeIEsVjZOVRou5B9ig5m1RVIUs5sVWiKPx45f9sJa4wMS15/MCi 88lqZyrGGg/McR0M3WJBr3EyD+u4f2KdiMexvF85D9uCD/7suh9vKnJo3oq+VqPZEhluFlqBddlZ RbX00+9r2k5paVROnNxbqRA4zrSuQru+jaC/bN4t8zrbk9GXv1MHHxZX/GzXM98MUSqFn0Qpl52L 7SQf2t2909xids9Eopz+T3Ocf/i6vJn9K/M6E76EDSxbYa46fwtmMEBn6dpb8wpXZmdkbP2w//rc gZ7vkR6Olme+dX9bTjPU7b+8RqehAXsjucvuVX+nyu4Vovh1ZeOULKVSi89aYF8I5xj3HC3PXh/5 2rNNdHKx3FeLuoS6J0aVld3vfarvnqcE9GZbWPRf+NC+uzrm8UeFXItk6bCIr3lhY6acK2d+uHNn sFNlWn9c76eDklZLo4WgQwknCyc+OZntsuxla4PTEpEt7Z5UD4kbmT+d1MRQm+ZSvjJn68Z8XbLY ykrSSSP5RV9JSak5sy9jG8444Pgrk4Ff7+LG6Dyo2zzVIsGMKrT7Z0fCns1RjwcZv7TU1owzmSTq F2hwuuS63u6+LUu8ydaxEV8NZIx8joQ3Z/UN9nV6bOhL3J6IS55t3um8e8IJZbO6mpLvE3MtLFzG xDuecJ0me6zuTus7a1ec8d034YM6Ees/Lxt8YWfR074jUcvd8NQs1NclTo773A1OB7QQC9uSQxUM fp4zXl8ifutl4qqFC/Vcfk1GHZmS1/N6dqR17+BOlaQZF7BL+7a2rRy/07UwT+WcnGZ23dTEu/FC 268L0drkjla0dU2rSpIYOL3rZHR5Z532NMvdNX4PUu5cSF3/aOqNyE9FtXU1WsnG+yb2JU/VqDub PKdHqwW1paEucLoR5u73weJXWncPrrzZ+qRkJXZn/I0Ndck5z+PtaoofPk6f9k5jdtz3EoKy5qSP jcl9duNlobtN12eh+hef2JBhGXtyoPZru4pz+fErBWRzi11x+vV9z4KVu9q1zupXZWzb9GvQA2u/ SUV58q3xTnXaN4o6RW4Ej5mRVlf/anNYwyTb3octXbkqB9v1eqeGJde0mT2TeKXmEFz25oI7xW1e Ss5dP6nUx/niud7mGs+Sk1oDVehf6i61F77aUtfSVni4BbWkqzjzJ2l7xu2B7Rs9iROP1tScqagR WT9FXlh6yrrsXs05Mht9VD0xmR/VbNNaHtNRlpcdOlHBc+jFqK/bLYtv2pkPPjkUTJz07VJf7EDC nEUyu43lDin3/Py15ODy5V/Knie+uebDOE15sFk5+11X0bwVP3JbP5T4WQbrPys0P+HR7ljl+miM H77FNXHKpYRc/+xmoWuGih5ov0Ll8EfXZwmZ9TC/WeS9Ml/w8cRPl+7BXz1ngzfSjY7fffDSs3ic wtKU5RovH8VZ5b+YveuG6LvCLZn3Xzmtu2yRNzZHcoxTwawymZeWYiJCKfCkQEY3GphFkDaUoOv6 mJtckr73dmfseUs1mGoaJO/Z1R5/J1un/OwUM4tZpzZmC71zvORumOR3S0pHX3WfeeCk8zv0V+ia hf26uEHiXV3B3cPq9d2mYb26el2mgKz7LaZXi6xxACs0GVhEkBQijfZGvLuvXn5jsC1oo9MR96XG oQ4h7Q6r9Z2JHyNDhJjGp/qLW7ROoq4vTjATT0k3kNGJz++xyzNTqQtqcuy6dT89dWaWXQxWOcXw QdHh9rDi5NU7VrwL2reqWchm7/kalKZK/ebjmNQxoZ2DqteNOstUsouiLLf3KkU4OraelMzEDVpk CUnK6CjntPpcS6Kt21l5w9/P7uPKeb3WkvuNBsvy8gZXTMs2lffBull3oqyKt76prN+cuSR+fL9F 3WDd2cGJ25ZifhpkiShPP5dKb32pV5yuVYw6eMMiPSR4PFH5xKuwoJ7xrTZ797p2vnZtEDtd1KCI N1eWBJymvPTzm8o27cv042WakPy35TijwUKt9SmiO46uTNk6vThgQRHuTp6aB7MO9eaowfGrkiny ou9ni4malq11tpep3SZ3b9Kuw2n2ofrqOxZuRLXRbgsri82psXCNNb/u9eKqcIZlRaJ08hPn57QV 86adfjuok/LzrYVwsPf5UlSZzLYzQjGZqUe1qt+VFGNSancnvcy4vy3dck6RZ15A4vvNtfeXL9Cq cJR1jOlwZ+zNxqCY78pqsT5zbvfEqXUeeG5+S0kIs+ZFWOBEWYvu9UVtHz42tg+0vTK/cEBSa2Fq co/W5IYLWafahW98NJuxITP/1lHXAUPaqRXLND0VVMKcBhjzdhbqKecE+azcVyr8bfa2VTXdrRKV 6otqDte0Wnw8XltYculRw9uDjH3lik+6e76mZomZPSvoDILwKJPXwk63jvtv3nxLdee1e3mmDRkV ew5/fXKj3yVw0s63yw01tx/p/LoUVdt6Qy3lNiblE3Xd7dj+JeWhqoPxzD4rHw3M577p0IP9YSvt E+a9X3rUcaeS5WZUTUHbkyfxZR2RCiduffdP0Zndc8Kt1Bm7M0gZfSOjStmzfbaFeb/ngpTjWWHY B48O/jyEt5s94+XEh9fPNx/45KfjcbOTmGqooU1faJOA8ZBKy/TycAg5fsupS+/ej7qi3m9jxqCC 1x0WEzr6+pn4IdF5kupLJN9dVdGsWbv8W+sOtwp6weGlS6punnVfs7YjknB1ftfs9WPtM3H4fVmp W9+q7DesWKsgqfkA0hCBvGZsyjTctibqq96MpmXT0vFKFgNbBkue4+VMbltUPL64Y5Lo7vm17rb6 SSlFtbJOOl8dSmaE9Xx99pB0NeFrNnngk81B4en9L5drEp7R3tz2Dpphnfrom11+j4/unKV7NC6L 4qgLbwrfM90upKMgvcKYJkZbiFr9+MeSLW3i+z1XzB5bRys8rqJv8vp7mDJpUsbt8yKb8XqfXmOc FdJOfAuJXf/otgSqoGfTEm01ar7ctbF05+ozNMWU6yVjsZLdm+zvvHve6pq+rCUr9kzfKxs01Sqr TWvQJiL7zdmLCRuynQfuz7jy3INgnJA87YjGrQP5KySb0ScPie0rmmX0Ps1+Vpm7VRADnzkmOcDu V/Gr+CWXptulBZ2cXNt9c15Bz7bquxC0r0H0htetsMcrbSJ+ZAcmt3ZteaulWOlfgjLcQEJ5QOtq dtSHVrg+7HvfWlcjo1mQUqu5pyXXYnDS5HOTzkSuef5d62D/oZ7MxiuOvqhJjR6pKdDmm+gbbe+7 emKnVtfNelU/IX3jwTc1CTsLB3z36BX22C1MzUBlrBU5lqa6TjPRfMs+o+QE3Qd916KbHn8aG+47 5ZTZpqMNk5ZZWbf1M6am5B3+/Pj44xfv4+vPM4qzdXZmGNy1kztxt+A0yvDI/mcxK4uUbb/t70/a OaHnncPunm9OoSJ3Pgh9tV31vtXb2XHjHqVgda9DSwJyfvUpbK9c29ozpvnMyeXSQfK3vHJN177J 0avDBbw2CVDad+ODEM3px9jb+lJHlyet+LJbY2Nhx8Fa1+dWlG1i+3BjS8ZZjp/e9caVJIpdYpuj EmyeVamcLtcS2fc9nuGf8qjQeaGsS0TS155M3xsFxSjDm1M32tN2/dqT3zH3zdFs16Q9S7ySs/OS zxwyzfoR1i5BTmp+TJ85C7WejEVNWbrZ+P3tHS1vPwrtaxFTrv8RWa3bJZOm5qua47tYXUsz+cd5 hy6Fczm+kULhTtbO70xrG5pdC8cqG3VPCXuunxMXnftWa83cqwWlKMPdS5X9jmxPCaBbUMQs383r L5uMai1ANW3VgOKXJFZej5CTbNaN+QiWvbJt7kZ1U5JYq29mZOgZ0UM4Y4CXU0tFFCs/PLm2G2ev qyqat+bxAvvZ5TbLTsqgbgbfy1uZml0t6XU2z70yu4z+PNex0gdnmn6la4t/geqUfrOkS3v7DlbU VMiv/aGwbOfccSI5GbgUurjqg+iLDFJliFjQQo2cQFHDpGms9jChcFPiwV8rnHyksEZ1eYl7DM3d UV8Ay9Y6Jmqkb20JLf8y9tjA3jN7B3PzFthnJjYy++6+Crj4MlOyecqAzkDdkz2/XAfa2wMcmS98 pCyrnsaJp7x5LH2soq5O0U9xTCY2c9xNyYr+9N6GuRPxt3fOjRZqvb9pxc7Yztq9Itc/ip4qyteT x6Wpp46vtOi7XCGiKUsJ/yaKU/niNLXSdt32niPJr5ryzVXF+rTxuy9MVEn+phvw6gzUW8tc7SxH P4xVtJy/RBZ7eYus7tTPspuV3TeHUBujHnfusvhlpL5HT4duf3LeyiKUIfFzVcz38GQMsdtdX1Mv qqqyfXCAKlQkoSneMEkLj0lr9kEp+MX2eQjj5Ulvy1cJdfdW9FqXbRB7+urieSH5a1N0dottbDtz J9EaR/nS1jNg19683iT2UXyVTP3YceeEz6BClZPV6/Z2V95ol0BNnIJHowfGnUu38kUpqWrIrX34 Nmnv7XbXYnRwnOgSU8vnimjgLNuu6yox3/izd883ZxFooi5oWjp9oxj2CkYh8GDfgHtJ3jfZNhNs Wo5IgyKqSr0sc+nzOcaTmH1vswcSvkwUmhi73XhaWhk6RMhPqBHbIZHc4Uu0tX5AtdYMq0FLBk84 35WVSsm93X5uT1Gb2M7Ba7MyRCs1WHA3aC3sARr4SJPK0t6ys1IdFoMdMWrmP7KpEZhzijDcE86g TkkpyA3cP2OHl1uUlpbSYJMQnRKcfG3WSkxKpNUVi2ZjOlkKIvczprVAksFj/Jagnt+/GZimrd4q zAnJ3n71SZn7VqRvaXfhDjPR4My+/f0qO8wyDlspCoZq5600oJKLal/kq8vzpFRE1dEuV9rDaEKS ByrvBe+jn8ZI1UdMKI3WS9S+NkGySq4/ScV9/KxE7ZlSY1LoxxaeiPv5YllReXn5p/1yi/a9oLR0 ttS8Yxxb1OKzEWUq0VgKmjbs2bOHJLuyTC3k8h5ZMaHMYM+O3p0LReRXHnn304AEr7MRBa0RthZO gdDSnHYMKk0bq44SbBwDV24Vg9Y6AwjPwI1uC7AHmsb3JmlKwe0F4upo5/vtYWhh+eojTT8NmKIX xCR1Nklm2tt3LxW2UJQMTsWOs3/QID/G/viX0OvK0uLKu68ESZdeeZ0z5VTt61xxzN2gGPG7CxsH nTNsciQldYrraJOvr9gFCcVI2WdkKElN6R3345fQj14hGXGhOUnSeo6PpiuuUdBAOaXvD6FtxYho 3LJ8WBJTGNwSUH/lcn76kcgrRrPLip4p6DiJPgvIsJfcOktE42HZhJZy542oxfiz12XlUwPkWq5l L21daaqc0SaF2oRGJZWinhyf8wTTGL4dc/K84ocNmZtrFzkWo3XGSWVuUHp94qBQsGrnwqqV3qEb x58rd7dHnYQyN3YQU/vxKYUbxLsvmF0z2aO6pEouYOsFlMMHYcmdF4RSnKY+s8FeswpS1sCaVt3H XutSkKXMGP94geLLYxfjHp1sSi+Y8aVhytZZRJJhJEZ9lXuakr9K8oAV81vB3F1PZsxdMO3pi/S0 lJk2GNG+xftadDwH3xet1pPpjXswsblRQUUrybClQW+T+oejarUBBFR+aWo6fg3RYpWK1jtx0vPC 8+Hbt0YGfX0T7qOjkSGagF8XpjXNnPy9o+c1asKtFCWtoCgZn960V3UhQiflkjCnG2Q73rxGJfd8 EHWdYw0QDgYQtj6/cXmGUFxR5Ym92QBhPZmrlz2e2b3rZ0PHnjvoL95TvT6/kUSpbntVAQa31WV3 Fl/WjU00fxmxtXJfWu7M5sPPJwI0oQhqWEmFTz9WLI83rNSSMOsLrsja4a9StNHk1KFg1fuyCtJX RVdXyaVrp9ZOtFIdpyk/11tiQmNKNGa+nP1x8xZoXVGjbIfPiWxXmQSw8WC563LyTU4kocVXZv6k TJJHzayEnDoOGVwLK5iWdCYxjTrHmnEpTneLRXaGvHgBfk1FXPy6KsKaAOWWqoIZ04xvnl4gJY9C ZWwMH2vdVy11uCdvmZm01fep4Z9dFSvvWAsHZYbnJZ9rbyleKGvxqv11VpXQkvQYwqnjotg18tIH Rd3VgmhGVY5HhG4F0dePOUSS6lBLPUhYAzNAPV42cNrYe53TbazSiu+3thn2UKeghXU7j9xcPnBQ CAZNT0bCdEzz4eXV8pUOci1b0qcFq7oXOz8R35XoZCn8rnvcQERhVt7n42V2NdlymsK7hRTbTo+V MXD29JDrCFWVChrzbl5yTVbHm/1feyreSxce7ulSaMlvc5uwShVDXHPnzNhdBqbiqyNjOiafVLg3 ISsJA0CZZz6paUev//IkU8tI5avZYijvuqacKRuuEE7XH/csWwCEQXhOHUy8HYUuHVn9unNe1htZ pKM344zRxzJn7nUSfhc3LulCYpqNfdTCKMO3brOPGQ3W/bzQ3ROglFfy68nnnqetEqh0HaHWHEeU nIlsgbifMB5z+pVsx51OOdc5VZhnFlK7hTZccS9y3jrLu7EOJZq5VgtgEY+RkxJS3SR259Du/mST dfKXPv069kxz77REIHqfvKZ6Fe6ccC/3VZbYs4A1NXbWfcsLs1x9V3z6IfKtKuRT3N2NpwKbchaR re7Dumi7pd66zmqCSt45r9ORj8MrfmQ2LDB+6aPXgn9RfTlXxD7onFITqa7m1qnsUqVgZaHMrT5u rnrK8l+bZ77/VFmk8rqrynzG9tS1pH0RgYOx4+RNJ63qfk9RqnjuapRsUYl1dJkaGa6Ugkk5j5+a qrjmR392v3L2XMfen6GSv5Ye6Xt9gdgcUH1lV6TGpXPuV0KfriLFfLtqGjaQnZFZPTFiw5gtXVGk F9DacRpAg43x3vTzkJlNVVHHMZ/roT5+5DspsQsuaV/ZpPT6FmCPoryIgb3Jjl2R0tcfJYg/zDmI 0v7R7+STIjYw+D2/fLretWKibJ3rvDhPw1fqmmHHnmoCVu6+kq750rcw6HLIa/U1nYsuanXnm1We CEjZoHQ1y6Y0o/RtzpNTpsfmah4SvYDPeLH3WqZbtZFS/8zV7mlt/iofNaSi9a59LEo8vDhlrYP9 lLHT+0J+ilY8aX/dtVDlYv/SvGT5dAPSiifi6+LfoNqf9S93uCG2GHKPWHhOXFVmteoFg4jB3Ohm 9+J17a9OtLQkMi8tpAOm1Us0B2Ts/up2Xj5B32f3/ohdcQUfmvvvzCidaYzaZyS97fC977g18hm1 PYuyM65lquw3kl6KlV76ye6JduPpdU/NC+0jeyUIJw0HX6MsXn1sBtT5caS7b0sOmGnysWfz396U MwH2T6y5ZgxsD34JXZoY0bvtfd3Swg9NElTDzk6XqdRH/jZWTbvuyuWV/opLaibF051r9TsSXlSv 9jXqe4dXkH3sh6rsOiVh6XwTKCF3WhHqQaTEt7KZpalf18lb2k/oeP5ZovvWDq3u1n2raz4Dhd7k d6cQN9u6Hude4iyPoqeJVgp3Pnw3mJRcOiZo8hSARuqpbbA6nGZ8S9t3SmGCeblZZ8chs8pNSnvn 7IidCDY+7eT5uCeYsMIV3tP2fckxNZwddwNqre5EWbg8KpMQCii8qLRhrqI8HhMjb2P6bnV387Hs vM/MzjKzyvvYDJOqMAmvyuLQXcdma54UK1igPUkdpWgvJzVF2ssgGzofJ+8VLZKdS4L5b+HT+U89 1s+9tHjnICDDpfDS2q2rD78pOSJkU3tM/Wff0tVgcsnQnEtgIVNpeHrXwD1NgPdie4VcNDHbsu6l nZyvWPl8H9QkPEYhlah3vUilznDcze2pJg2OcRfdr+bOfZB2wXth4y7z/QdsDky+ZqosCiO4zsKi 896kY0/S8+cG5bxRmaQhXBOQQbSwMnyTMOfi6xrhy9jrV6Br52oCjvQEMrxP6+1UFdtZY+ilaE3S 15Y0lb0hvBjYUWUbnDhhXciqqyoNhjEVb5uT7qyM3ND3xca+e1OKinOeV8BJdPzZpRX101DywGB3 H6qvouhZ5thLquo9GkjRfy/hnobfCu39ukr9c1MxUGfV91GBU8cCKlwDhqvF0HT2gv4r6optjqgn mic1jHTOfwSaD8r0IltS50e/U54ymSQ1WUPqrsbypsX2jCrld/mHzxrZ9e+6iF+3iCxe2Txvlkr5 Ykl1j6sLFkmvyvzanm4DrfHWuxogd/DzyriX3zurX0MnKJ/EO28T71btu53c0HrsCL7m/GEhKRnA qpsPuXdCimU3RILcNDvOziu7MtEvq6rEdLPb3uP+q4sqs07lnZdxP5AhG/ahHwXdjU82pqSevP0k W56RrmxXJdebjip88KEKcGoBYc0WaL6FU2g+1VRqiwHwaIxqbJ7qN+Xs3i5cN0YeJWVz5AXF+317 tSIqTHr7FcLE5ScDHEgSUSd3RNk4pNg75UUVbXy3csxXMyGhCb7hZYooyKl1Z3uD5PF8ycYqyTwV mZjdsTov22cKnW701Lka8Oxy24UccesXRkVvc8gWwrn9XcAZnrlWNMXQVouelYCqP9my/kJWf1IK RY4Y4xD9MXfKXO96wrldPyZfCsdkbox7+r2zQkWl0mj9Jim5zKjizbty+lLkY+5sXhlam5vsewa4 HWcnxaRirwfRvq+prh7XfZtknxGxdhM6dW10U8H8MVP1rg5AlhbrHn591VVYtzPXb+yigi8L1Dsw OzRMZYX2Tb7+rrTwbUOg+C76yYs3r+48h9L+1e+kWymMUz5TH71JjvzxS3FmhuOJ72nKkafGbDnh ZFlv3PElQYyA8Tp9J7vGMbXuqrFp7vvW5IIPV7O2LBBTUlqpm7IkMEPMLcYehZG7row5NS1q1ZTl QM6OfBT/Vp6UkgvtApJu4tj9MnZCyowusynzO5pFCbq3grDija3aO8WNbylOe7TgyfHZMbOSiOa9 zi05U3aRJu/SSNQQe+QP6wyCm1VK0dMLjQmw9pVtnDB58vuFAb/m7TaI8p4C66Wfkbrmkd87mWFr dpipfCbkeEtux2z4fmZ9w0fdl+TtnVdCJ4iHdc+587C3s/7g966rONPSGcalM9RRb8eKCSlZ7j5V 3fAed9nvp9qqTZXnasyNHY1fRm29p+1zumyGRKhbUcpmH6unxsDdXr955Z5T6aUmqihHR9Ql92Wd QQUZP9x8JhQmDJQ8YJqsp8R5lKxntFspPL50bubM7n4nxUphSQXvyRWvZO/9UJO+GnJEMShd+0qx gqx3TWXi5AlRW6NOntdcZ6i4b1bqqsjmi7u8L7nr6ShBLwzk3IxESvf7oa5v9e7Mb2t5XwQiRf+c YknMXfdlTkY9DyehZqBy9cAG1nxJNZEkzjP74XXr49mkZMVqBY2IvEolLXNzi09VONOXlO2nN82v KdFoyhX3e1gZGv8r/tuHS+n4lLCaaeWmk45dWhFj0Lj+xfjSK6cDSk/7lLoXSS8RKkMd03iyexNq Q79yxbP25h0SZrtFiykdsz8cogPd16JU804MlxF19UkQkATH5aXMngTmy0V2In1Pu2QAFe7/CFWp ORDjJPJzhgzwck3frvO3O+VcBPsbb+3V1YGmulyerbVHNWB3nJLiCyc1oW9VonUbzOyP53f3LW4q yU0PrZ1f6zU5bPH1Y4sC1dQPeH1MXJoG3ETg3eed+9V9sr4m61S2/ckN7wvvizkCb/eUw7PkcRtR OdMvHH255a6chEhJ+8uTnyu6JI9vf1b+qacjT6P7gsG1qvkTZR87xl1+G3Qw6uBb5RhpmTHe516N DT4rrhoQ69218WiN9acfwoxLkpvKzudf3nUoZFJcwdvmktysBydX1KyJxPukzNZfJz/POXFw5qvB iMC9GUs2NYwN/mbl/Y3+6QTzZ2LbmJT98qjCC+XPZPrSpi2/ZWU36N1AnLyLJPXj0sHBXCRSuL0p SbllaeIaYBl/vb6z9Z7j8ViFpKTm1zFyzbcOPhK7UfLRpbVMqsmu1tG2V6vI1A7oD/dS8L/7svD+ wQOQEFZCXnWcVKqCxXVKXd55iaaTNlZq6OaZhecCjaZsIV48sHzwAnGDkYXqW6nMp7PlpEhpy+aR 8utyf+rNIN2qTL+QJRH55fbU1Zm7UheK3E2F3HcFnV2l+ouQtkZzcCdWW6hj/pLji88ontiydiBv P9Q05cbPwcDqJb3eqXjvGY+jrEmGH3Qds4wHpZIsPKWDZESLgFO8z0gyNOKgvxfG2nbg3EwZYK1z dWcN+ht+i65LzXoWq4B+8aMP6KP1jK+e7weDgRcuc83qzSe7/p+ZZK8oEaAQ4i76zL+DI7+uk4eQ xmC5Iyu+OaCcVuKZxglPMC3AQ0LbDu4QFhNqs9y8/UsAyWS3WtDh6IpzN2UCCs8/OfUkZrt3b2BH sqwPim7pWF+n53jNaW77+LGXEzt918sb31S8qRg9eBmjLY6VOCSa4dZIrFND7TacJCP+LU0ZP8+3 IsWWCFRQUH4R+Vm2JVXopWzLzg9Tz74fBF7m3I9vqs8OaN7NEK3cfa+/L2z/l5zumIvo68rl8z4d NJJ8eMd6ocT1R7QXoQ5Gn2BAnEXc1e4BB/iCmU1N9l0LCYbEdKl2qnfnQKiY0S7KFZLVq4EpQU4l KJMnUZ81b5LzgAN49bWT0Y9vat+sSjaGuW/LSPDeSzpmHFy63/AykVZ25Nkx+sEQotmLs9MV5S9e RtkFGHpu8WxsWkx3fl54MY5ekLEnf8HHgR3SADcoYkTizIdBQWN0++5OSSde/KRdXOZznWJRebRg 2l7GvJJ1JjnJvZTtlEkedCfDKQp3Nn+wueRTWuRTVOS9sF9y5vbjCVLXhV3n5Bc2mdRYS4cufij/ +CoKJa0D3wWI8HNwHvz5eOaTGSdCNRe49k/oSzqyPYieYrCd7KLnki7UVrnvLPUFrjPoTrVLPb7W a2531I7oKfGqq94r+uExjyIqbSBF+cytYXsD8hqapMWJ2O7wMLWC9wVeDxvF7ar13ZY5GfopODdc n/8sz1Uqde3hSVmllyU//5Dr7Uf1itS/89rdNZFZS31Y0vFyvlh7tNe9mIIJ73sWferd6ZcyO0h/ 29sZvuK/8GlNaS3MN0Ema4oCznQsuWNbb9wJuteUf/hU3Phz6b1Fny/NTcpQsJhvse51tfCmnL3R Te9dbE6R923dcDR44rFn4o+nKESe0n8z+dTKVZEHgk/cMd2z2w2oiLkrXKzyde20pg18apRJir9n Gyln5SdXiDW1fupxeaDiovuVix9JXtE3ewuFgUGWASb/Dg4EpWd7elJxKMkHls9eY6+lGy263IAr mhXVXQRCJkJhWxP0QuNYi+174+fHUfZel/EBkjFHSp/GrhsjFOQqiWqwmv75SqC+95wNrqbfHC4c 7CxSaWlUkAV6+PXDhbJ1Gy7vnDPlY31S+8kTxqG7SImkB0m2FXm1wjkiPZc/xyYqvU+uvxp5ro14 7m1TelmuWd3E9Mj89WY3yV/m2YseCHkuds93Q5YXWLBZVpNocBGlGOazq9PhkXELbu802c6jdXPg QPzi5aAjYx0mphyJbG6I/dD9veHxmdqKSQ/zYAU0JT2svAszgZIEB6pFjZ6NKySKUna62N9VdtpA n0ySnG2LOtReIQMAv79JiZQ7CGzH8ocTj3hvaKt41Szt3Vj58bt8+UWf6oNn3yY/uAptlyAJva0k Nfp+LO9P7Eettq43KwutKzddhd/Z67FhQ8UYKd8azfI5k5oGzdqbQDwTm5h/+SnGd9fxanPS8mXF aSaeD5PfrE1CJ1lsEcNKRKUTD0YRTzQf+1yg7PmsZ12LwvG0SOD6UedYGy5QBDHf05Dz9gT97bmP GnZ/S1juDmdWzooLwTHXofqaQpmEuKQDyweyDC1cPdf6kia3UxcC6Z3QOGHXsxUFELC1KaRj418m 1FrNWn8y8CzWXtj0h1rf8gqp6QXbfekFh7tv9ruVGAxeqq+p+3EBTjKFK99p7RKJ+GriL0U1cuyO O7pKtjQ//9HOxbPfVehLSF8HJvmxnxSwYL4TJkukd1z1TxV3Tzs6Vda78Vrjev380p2xtXsKn56M lZfvUEvdAl2/tTdbT6a3GywAxFpG/LWTQmD9VCyQ5/ZTOzpfLxwru4sUtSjqa++i8SDSUvNtLw+Y 35iNXbNZSswyR5LRJwmMbB+tQiodt/y098rIZ/SpkVtjcUn3v3fW4lWyG0Xmzf0Rg3XD1/qckGM+ hi1fxfcEEZX2R0U+C7fkHRmMsMJXzt63bc+S7wuvgtDftsG6Jmvjbk/D6YduSgI7Yj73U9jEFPut Rdt/3Gpz6ulrwIeN7WNMCGzMgnNjzmFrXH1XAC8FBE+v/YNVrL1rw5uS7lRL+HpfqvCu3hWpUaYZ GP05EM6hpsz2KJKeF7X1/tjg5bR7VQF6KUpZUhdF309dCQJ+aO3SVtvu8Iur9uQfLBWreLt8bbHz AuvlL6Y1fdzwrDyqUKXpWjYcIu8ID81PT/qZL5PUvS8ze9mHskBPqRXda8f3yT1UFcLaYaxn5V0O pHf+WDLxM8Hw4bQV7mr3O9WuZVpujvigvQko1626N3BNrbFixjn5SvfWLnS0tFIbd/NStkKmm2RG 5gePR7KPBtL0EoXKKWBvNVVdp1afUgl0VP1QIm5Uc82l/srP0sjudwFj20/uAO5ajoJOBVb6fvvP catevym/MfMB5ZxSbEEjekzK7APpwc4NV3+WnujYItqP3Ru/xUVPMe7+9/tjFQA1OpfUX0k3Uvr5 0HjJR9LkyA2ZZ0ghaSg3zSR19Uv2+5SuvzuyK3NagiqS2FVdko6qKX8WxZDT7DjQ+uDx6YBIOBK0 k83tjvwZEfdEO+/8ucCKVzUtNdn3Kef04g+f2C8ms9QYdiDv1i2KVgBRsPQBUWBmrF/g29IyLsy4 4n3H1jddLnEFiJ1SXgSkfM5f//1BBsr+TrSqh5CcFLCfL6AJKGsN1LeEtBMU5fxFP+unKhTWT1lO PbGq/dWJ15fXoz9sGNO27o7ZVazNxRfXBwYGtp1a8HzeeFE/1Bz9LzXCBfg1No7zKCdmVYXh7UN2 rV9VKwcUT6twq+OqGj+UzqYbY5SgaK/8xwp+KyqEp0d/6AG+tkr5/Uq7RqNL9do6xYOlnz/4Ijl5 XdStptPSGqLmz/NVHRtX2R13NV/wMUa1Pv8KNM70Og0Q8YFh4PT1kcvLfKpr5jLnReTnrjzM/HFZ HNacYoshQLJeX2+s+O7ucQdsgs6p7LMgOgU9LdOsia2+Dpz0vvUNk7vvzhebO0HCu9Fv55vL197s 22ApZVMoL72LdNZswp5S6b3o1Cyi8K0UvNiviA2ZiRMksnM1lm/81Ud95L94udizBP+sxnk/Plor VqYRUI8XKCa1DOSim88rmkd/152gsHh8wrbXCbVXlxl7K72SPRcR57bsPsbntOnnN8sagR8mfB9/ wSN3TvFYGR3SMyj9dU/maopcVbZCydHKzdfJS1d5PFM5/X5J3Om3zf0FM8qL3a8cDJ14Z/MM5/IC el6m5Hbpyk3jB5I0pYIcsMc096lEebu7LpJJ2q5b/vTjiejqHW/GbY0Wkf2g+9KnsCn9zoyXEcdK +iJPZX6Y+q6FWoti3k+bvvrWtJsPzvcP3vFdc+rNMmeRU8dP/Nr6mOm0AUQQzwIytjDG3T95K6bQ UPGYfsALvdPBk4EzBPit5cV3NFD0V1zqU4lfG3c077KMHMh/t2/np/2YxFvTHjxQFTotvNWp3rD4 Sw6cHrl1Krtwg3jc82nNu+7K2QXklPZdePoxQqUCtBa7X21cLz/N6FZZIB1EKPdjZj2asu2l73sx M4MDRskGT6vmf5UnPfX/sXG7zJiUCZYNY7yiFRonSAAFbuR77rNx0StZ3Bqv86dUpESL8j9mZ9gc SBTau5Qiftlz0weFY40ZO2aJaGw5GDLxCaYxju48BnU5KdBb6SVlfeHOR33ORdn5nyo1lFJEK2fs N6JVlXQAe1DY4N/3y2VqtIVVpFxzkFxQodI+I+niFaLi+2PHuUgJXX+0RHRmtGzAMqeo7dGfHk2Z d2zHaU/m6b2lonq+R2hCGJEvMz49oac7RQyAqTcrLYvUFd4qtlj127PUzYd/dRfumCV5PF88+9K7 syj7HV/E3+fjXxzzdF7OLO8Srbycv/5I5P6QiccPxyzTNMPadmn1HkM/6Iu/IbyY8C3i6hlSZZM0 UBMS3+XT1JlC8m+Er50vbUoRDWtZkDHRQ6lSOXq8R+n8KzUXjT7b7X7Ql2Y4qK6OWqgcPa6DIZL9 YeKeKxlORCEUaoy4MXN13gHL3ORYe9RzoW9fn5/NLNNv2zHnwBsrUBdu1DQValTa1wR2MP9M9tp3 IWIWjPa9q9JSru1RfdhX9KBvwoM+JStd1NKPEx/2ddp3balLxqmj1vjKkgdOWAunlJVsfFthDldI kQc+WuMtmx/jvLu0DvUUCpeITqdM3S7t5irjvdciKXOt6SoN63uX4+NviEGUsUe7+hKPrSE+6GtI EUUtjVRu6NPzuONqPsiEhGJkErQmN4eWfQhYcainTUJMqA7fTgprDDt5VVW32vvnh1uGyU65g0dU pZqmHNC2OvrQ5wcWveBIj8LUz1p3kh9uREELFR/0da1eKCI/c/Xjvm2H0udfWl0SIkta6nTi11uU D+razf1GyemGg89VhSxPSm/JzVs+0GPtgwommR7uUQAjV2HA5yb91Oni2pnTHA/Y5SYLjQ9A9QX0 VmASJUWLDL9cf6wnivcbg5xeakvay4mtGnpSOOsKfC4ot5F1HggqcNwOfs/Eurt2tIrKXfNPTUsB MwB0sM8Wbx/2TxlU7PPPF1VbM1fY55+/MMs6sh0UmVv97E387oAH8K1jB1vgWlsFpf0XLz6PFqTw 3f+PIlDC/iNPAf+Lz3/icMZGRjjk+U/4OaDR5z/+icJH/xgaNYJE/A9s8q/ob4A1HvL8twHOEDv6 /Mc/UaZDdshjf5Abi/rQfHIUCTLQxaI9AV4YzBiz+V4kOoPLJuiFJBqdTKWY4XRxoJM1NTqGSiFR GGZhwbrkaEIYSbAqjEkWrAil0qIFaxikoTVwH6SaTCFEob0IwZ7kBJKZPtoJKCgmWMKMRAn09kS7 EYiR4BvNDDf6kOr/uPDLPzM4ikz87z3/Z2yoD1SBkSHy/J/BqP7/R8pw+gfTmPTwwBACLfLvehjw r+iP0zdCnv80NjYw0DcwBvQ3MsGO6v9/pAx//g8lCf+DnwJEfWKka4I3YYaHiycKFbvljin4JgNn /CUbiNphZbdSMoS0u8XciVpL/OD+o279/7ryO/mPIoeFM/4mBfDvy78x1th4VP7/ifI/l/93QW7B lldRiu+Ej982mWUJ9x+V//915XfyH00KITOj/x4F8D+Qf30Dk1H5/yfK/1z+F1fL3QT2X9VGpH+X 5NfNcP9R+f9fV/jkn077TwR/qH/r7//BCSA4/2dgYDga//0TZQj9BZM9usQoAp3+f73GX9DfEGtg xPr7T8YmWH1DI0T/m4zGf/9I0eLk/xBSQ6HkKBIa7UYjxxIYJEg9HGEDCE+HeAlAbqMXOZpEg9uQ D2gwDHEgIE9mMDSfSosOdI0hUbR10GiI09cMciEtg7jj1JBPamgtCHIiBJOi8ExGuK4XIQz086Ix SchANgSskVwgkNGe9rZOarw+ut50khWBHs4ZDUGLCDQKPAR8RNtSQoYDaB1FpZPYELInWUAGW4Qg h1A2zLq2FEJwFCkE8gonUTh1ngxqDHrYlG40KpFEpwd6kAghrEkXhcPJVBcqA7Klhmo7EegMHVAL QTbkaIjuRYpjwPvwZNDIFHjPcLsuPNiJTIGhgnvCnfA0EgGn60Chk2gMbdYwTUjNj6I2tIsHKZRG oofDC5Ng2IYCCCMs0JXJiGEy4EHaghAgEI+0pGdMFJnVGQOpQWrgRQu8wDhmveroOlLJFG3QpCMA 2IiQCVTbUuhMGmkhmU4GKGY1DgPaislgUCk4QCsyMZKFVhYLeAVT43C6yB4AMSEHCtgWxNodwh5s cqgNxwNrSts4EtGDf1oeXNZRJAINPfIGYM5g8wry6qHNA4SNDxavjEw/NTwAPZRMIdPDSSEYCNYq 0DJY/AgUIpiNFMJGn20UnfSvzUBiMGkUKJYQxSQBJlIDJAD01ObAaE2NDlwIt/HTBiCEHAoJ7nko LbjCMwx9nBaERdEsbnagwzUw3q2oVIA9CgCFAwIs1lQaOYEUAjqzcG9DQmSdI1tm7PEsDuTTBTBx QWOoNqsdsB5vMpgRYdHiq0HICAjEhgYmAzIjqIJ7/lGiCTQGP9r/WgFALArzgWtFIEaG0ahMCrwj a2oUlaZrQwolMKMYQ3uylNx8Amc1viYupyFEGoZ8ZP1A5JWD/98A4ABrHL4FMYIgcb56khj4qJhw gjbrqwfMU/r6WB0d9IhQDdsEjFiBut/JGz4khF/aODTh8Wk0gRJCBx+YFBbpRhBILkuFhLAH8Emf DnpEaQkJQYSCT11wBOE3gHowKX9WC1z5h7Xs3yihOn8UO2QDgXgiAzG/LNiGabLf7YklcPzb4izP akEEaNjy/23nZLT8x8uf/X/4JPb/fo2/9P+x+mz/3xiHxeFg/x++BjLq//8DhXv+DzvEvMN/dCK7 Aj6uhyBnaizJk0gAZlAbi8FijE0xRgawtrKhATvI9bddYwhEMiMeVMw2Al/xNBqBEkaKJlFgI87+ prsQaEgymAr24+D+lDDeBM4EWhiZwvueyLIsBqw3xFLyQaIPQ6KPMWB5m/OpyDLwm6+aFTUqBDPT UM2f3UQjcc2ipj0WO38+FquJNAHdR/Ug0YHy460KaqPIYRQO3PBnXWvwhUTjOmSgXluNF40wgNCA QAYGZAUPbH2k64ig4zCGGGMDDM6IBbsbISSEhQgc9g9gWVFpIUgUxfqg6xZFIFMEYbKFwQTwgK9E loGEGFSIxqQgMNLnBdPM/Sha84LNScBmQBQqRGfO0ws214K70CGAewqVwnJK6YgCGDJAoHcsmQCx /mYwFBPJboY41zb4RoLNwUBEkekM1uhgJjkqhA4RkCoOfASARzbIdGgZmREOwWPhFu5A1pQIdDEg WF0GsACR6cC+LmXCBAiBqJSoeHg+YHoZZDBhPDIz4O5wNjhufMMYsItBAXNRSKQQMJgQBrCpy45d /sgBi2iEGD73jUVyNwIFJrm9FTVuKLWNMPpYjJEJxpA19zC253IMjo/Rh/ALFjObw+m/Yw8+NmA7 R3PYu1nBXgRxIZBeHCgFV4ElSt+Yt45tXAwBEZqR1oiiQ3pD5uf6gb/bhyGsPXA43go8ztf/4944 KyBYNmC9DZ/eyAiDg//jQcWiDUwUgxFJYwDv18j4j6RhR6Ds95GJg9P/N6jDk70h+ONz536/mhFY zvTfXW3YUggGcb9DpL4hBlZRuJHAgx3q3wGnPxvGBfbfgI5POYyIDOCM/3Y1hJv+HVRwtMmIK7Ec 4d8vZgoWM/k3FrMhzYInVBvKjKrceIEbOQznSgNgHwAjs1ebzvbn+RYSMHfewSBmYoIZKFTMTBzb 6g0XXji35AqrSG7dCvSKUSf//+syxP//u1P/SPmz/29ggDU0GnL+YwRfCR71//+BMmL+X4sv0x4c D1nRmEQS5MkgkWh0tBZoxbN7A8UN+sRAJAKdDNQKmU5nkqBoZhSDHAPiCMSD5Pl0YA3EdQulUaPB HATY1ZyF1BBiYoB2I8C/PsXy/BA/jkohQQR2agJp00XWtqcug8gMCHhxkXRIm0EihlPgcAIKIdGJ NHIM3FFHVxf0hRyADwyUK3B8Ia6jCq9Jhh05+MeuYklcdxWCVSWTDrqyXVmwNfbidHgnEJWG+JHA taSTQ0gAAngFlyGzIbvhbphIoLCczGASCzXA0oWDMCQsHK5mO9gsfPJvExkHhsBJI9inDQ1luaYA PNg1gYfyJ220daBoEvgcwprKKxy4tuD/GBo5mkCDqQIQA/xXMBMI5iFyKBRPZdJAMzWMRohGfF+E jnRydAzoHA2MkB6RGhOvF0KKIjFICEMAfzycRCPBRBMAdBkZ5g8S4oCTaaQQNoRurp4Oi3loiI7V I8bo0aJ1EeiYdLBmGBjP3goMADdEAd85gAFuoTNjSDRAE5ouGhlKoEQioFqRKNSqUwzIGc6wgX8I 7eYTgskA1VbUEAKNtVV4Ni82eReSScsgajBywR2JiUAbmJNIBaR0gMIJgHZg02QWKHQG4CMIsBMh hoR0oSM8iwyiIucLCEDeFHiLICqAtzKfACIZ4PIC5mRxZjCTgQQXMCQhpGBmWBjcLYZJi6ECLkNr wQPQ8B17EAxDnHQdzBF0OIkucNjl6887kaPDO4LteDz72Ij/AEltxnIA0iwa3Lx8hhpvEDscsAEi 9fthIaAVHoXWAnsDTI+wO7wFeN8hrKQxYFowKxXQBYT5nPM2XtKfdzYYPEIjwBlCcUI0wGMo+EwW PFZkT+sCt3Ph401JH9IAw+kF5mOf83DIS6RSKOCdRUp4Pe6DBNwVYPwhw+DZ2MPRQ5p5pwqCW9CC YJohGwAsS4ExyOZ0DEQCugtE355eeC/bQA9vFxcHFztYcbAqHGycbIcsAqd+WdOBNRyAIgkDESZ3 w+SRmgG9ZuEQODz408oAnCiYBdmwgHbwvwuVQdKF5R2QjcqMQhQcghK1RQQyQw0i0MKYSIwLRrMO s4AyAViLQYAE2oDVH5CJLU6clEI0IZ4lNBSWvouBVUWIrh8Mlm0Y6z06nudLsOamR8dbc1CFnJMh /cB2AQRq/LuZozZ3LpIi55+DlyYfAYlIw++ROKwZ4R3YUWfJM0u+/3cjkG87I+KPdUIyHHWCh8B8 Z//037aELwLWCM9KGfLVwqoJuQ7Ap3T5mocKHBcUztEPby2g8Xhg8DfDenGELqxTX4YgvLxmJ1Lo bxoAxa3DCbSRGoPhUQ50BwpgSbKgEmCra1sKM5oj2y4OXhg+OccIKgHurKwh1niXQBdXD2e8E4b1 xcvBCxkDf/a09Qq0tsd7gHc02jYW5q4/HdkDBoADcgIEm94oEn/Wj5dfI8HTMJGEGGyumRxfAj7A 0tbhPy3iP1gTWAoDuSK+FXCVHCghpDg+aWIdJ3HpBB/OsW8LID0552wcSClAbGiA/4HMcH2E/2to 6drsD3hkbj5OQqDD8zxMXRsCKRoJ8PlAZh/c8c/BB7YH2zfhdPf1Z8EK5zEZLI+VD28CELJh5j/v ROQAOd90oJAZnBsFcK0uS9nPM+fIiK4H28QM6c6biD3EbOQRtjQafKRLAD6stpo3co7Nlx4ls408 kqGAr1DYEojhEJ8YghX5kMRKkLGuPNDZCoiVDiUgcLkAkgtgFUAFuy4cLEbC3iKBQkGSsogzxAIZ ds8Bw7L9TRjPXMc7ZIgu4eFVwAH+DXpZJgU+l0A8A+A0M8AGtVldkMNiWjxbbekit0fgXBmZ4Udh varxuiCYRi4LIf0E65EbQ8iBKrK0GeTCRK4QsWdmXyhif7NBdsn9zt8bKFVd63ByVAiNRGEfNQtw IIEr2/y+MQZJRI3okrNy4vAAGikaDiAIPJ+GSYmCfSaeebCF+RQOHMCkbEPkSWIgtOWZOdijAmSH 35fBDbBzywGKbcWQOE1AAlgcw2aKERVKIrzKCj4VqyNgq1k3TMgIMw+35BDHUgFHVu1vFTQ2X/+t 8oYEfQhnwcDweXhmfNaDfdVkhFaOPYEE+ZaDXE0Y43TAx5AfxY8CgdiYCmlp4uZoqVsAfsaMEAjo cISHTQPulRnW1TV+GAC2+BxZVrKTnyhmHBQhX9kdwMz8fbjTw0Xw5gGrWIHgJZJz+oBcgGF9ZtOC fbON04aGOF4w3yLDr0AEUkjLtLncpg3HETpD7r2xiYyEGAj2kU+ApbgSwrm2McQpY19Y0UH4kD0I fuPeU2PZQ2dEV7I8J9ZdRvbJKkvuF5FDGPDFRUMslltnT4IfwULOBHmVbvDT10CukeQvO4nLahn5 tHU+Wzk5EyJJMMPAytKawCDCN3ls4LCUzbPsezFhwbpOoeCdVQlfJ2LQCEQS+4If/6UZtkMDo5d/ bkAg2BzytBt835NPh2sjwOqwbn/CFWqs80ugTnWHp6chaAhmQMUQtIAafBQI8SgAGk8ijUSi8A9H 5vUMpy5zIlMiBW5cIbVgADUqyopA42sC20P2wFO+DmzxTSDx8jbwUSn8hZ1W4qWR+FQzPwvCc7Dw I8j1XOWC4AvhPA46YcqOpCCAq8lvbdiKAD400o6JhN9YbK3t4BCqzY3DMZAaYurBO2zwdXS4U+ha RVGJkaxMAAcHiL6F75i5su5S8mJPIxjnbN3wZ1WK5og/Z555EJa1QZ6MI9YFq4tDs9QBkdsZzbnC yoWStUlYofHA5G+aH0VdZk2lMABB+XposbvARpbNhsAmcjMfrG5Dtaka5OaJM9PSYrsAbO8Bz+Dz HjCQMwnDu2KqM2wOjh7mqGAtlv4dkr1hkwEZx2/xh6SFYBUG+yQsBuJ6auG8fBEvXQtctqEaCsEu uzPHHeFW8DwQxH+DNeowBce+9ja0gTN0uL4NBXLIAjYRXm8FR5YgxIdiu3t0QKt42NmnxYMQGQ69 eDOwhnE9Oz5bjsD+O4fu9y6d2rBmLiK4puV3vt5wb49nm3gtPETyFhlah7h48NT8Nb9F4/D75L93 ctEjXioHHIeHGV+wzpYaCqYkhg9JbQ25rs7ugubI8Z+dFZZMI3053piHF40czSYO37V29jVzePt8 gHCdB1DHWRExQmzHir8nfJeeQ3PBFUkxUcBase7IA/H0o8H6Tk0H6AHYBabGghDO488jGGrIHXf+ IQxCMB3N1lCwwXRnUhnsEToCk8FyQmHF6vzNw0exL6CyJtWCwLaIkYgvzVUPSA4azpAD5zGMQqXB MhMPAiZSLJnKpHOz0H8iDTAT/O4W6MaC0xaOzIalkQUcsz97nkNdM1jrkilsg8v1y7jMylqVb362 u65pxkLCnyfR+g3eh6GOz7PlIA9WMyweYuVI4e90ENPQkY3BqA0B7E4OheDMty4XaAcK7OaxOWIE j1lgL78RCoFmjnsM3tnPUnDYbY6aji/OX+cvcMCVYYAyJ0SoRmAjHlZH6sKRKJ4YCUotx9iCPh6w e6Wtzh7PIhI7IOEwOpwZY/fAQLNwOvwDOcAKDuVugT2Y850zHAmZ+PNc3Gl47iorz8lzV+fO/Rfc VJ42FfCNhkWjOvwpI642hUcIHpWwTgfV2B0I1tEhQwey2d4zHnjpsFsGvHVtZCKdEWLEGCoALz4S eEFarJm1uAdg8EMhrAMkJiVEleViIOuZQb7IfIB/SJRYNX8Bn4BuS4kVTOD4qtk4eLo54X1gzbYY 7+1l7+rh4IV8s7Hy9gz0tPX0dHB1CYQ/421sPMBXuG0R3scJ72ITyBnsz+UhSqwvvIo/azswSEiE g6wM2M0MDpS4nXTQ3MQQ0lPgkSJuMpv1VJEfUNU6fDEdPGBIuDGfSSEieQ5Y+7MNo8AhDncwy0D8 bjgnRcU3BT8NOXPwcl/Dox7uFItoZKCXuIkJgbyjQDJMIDodASKWHuEDiS/HwYGIp2/+NBGy0r8w 0V9CBMvZMBwJYMgL8RpHnoEde/BNwOdscGbgRCgjoJgzfgiGOUkiBMHBvKf+/rgbOCb/805YUfsw IJCBI9KYTWF20P/H1XmniSMj47eOHTeS+VdzV0OGsb+yHqdkO+H/o5P0UBAoU5exjjvh+w8QjRwT w04vEkIimHCuUZd1PDrs9JyVgkQAISLPhiEnNciZWxwcOfPCZ7hBl19rC/hUNgQGYUSVzc0RulHp /PzOq9Ufodoa3sjwaucRq+kCqp5TCb4JQiFwFsXJSGpxoLClEeicLIWgWHKsBjKRrgN9IXzoxNox 2+FA9C+s55FNwnaUwmm3oS6jeFEhHM/Vw9OJrEYM0l0HMjeDcLP1h8bfnJCPFaiz5sUOjSsgzgma GeCTEHWBeVnNQ47KeE/vAt8FoRnH6vNGQrMg9uVSjpuIdBy2NAcoNJrPJbKhsoGmEJEOvK768HNv LP+NtZZ1OE1dW99Ehx9e9l71uZvlOqZ8tNP83W4h/nNDMw7F2M4PQg92Nx6a+f1Z7uLmbG4FssFB vvkwJkHwEc76oos4QNpDocKw55vFgnHIFtmr/Bu7HDLfX+75X4KHDwNsiiKdRqAiDxd8DC4A/m94 UZ8DKvfYZ2g0MhxSHOKl+qrxSdhQeHjc9q9A969BOATKIZAiSEJ0k9kwORYABOkDBNvYkMtFSNU8 IOv6xsPi8pH25kSFH2QfSiFn1uK2iA4X2AE0E8JxBZi9Jy7Z2MN4J9ojo5W9w99Kq6Cw/l5c/1Iv DUOzAJIR3f3X7M8HLg9a8AL81blqQ0AU2C/EMhkc1YcMEdR87JHsbmpYNciVxl+hz6mAVStiKbTh pmEMp8XOEWCgaCqdERUPLUZyT/QYEpEcCuwokf8AF8ED97Fjfkyo+cOeO/yFr82OivhArl6BDs5u TrbOti5etjYjc63Al2FSDgnyB+v6A5v1ADjDGIjvGsQf2ei3k/LpXFb+AMg5CBk5ytSaGsWMpoAK tTn81XCOCjA55yvrzYsao60Dd/VHzDlHaLieI0+hotFDUDUHMVxIEkJt6F+2nQNiPBrsuc1BAj34 AiZyfEMKmQOYi5PvAPTQ4S7G9eFYsgnR4WNeCpGEXEKgMll39djHjZC+CUQECptAZCBXKPmdWn7R 5k8NDnGgQIWTgKsy0sEsAU8LEwig2L6RQDXHuWJXDvGtBN2oP/phLsOrHIYA9XvJBpth/QEJUhR8 VdAaGFqeeLJlHamEbYIWZO3pgEEwCssV8FcRZDM4nMg/Cdv882bhzRQNzwQfpRMYYHvBTEABbc5U GIhORR7Mg280h5JpdAbfcI7w2QFJwHvYefI1AGFBsD5EEbD8QweWoqQiXXSdCXECPSAWYcyQVl+y /5BGLV4mAe7mQEH6oYf0gpO3ZNY01gDx2nBfnSF9BBO43NzWkF78SIRnHNLMRqKB6bB6ZAFtZIvR hDigVB0QJ1efYwqR7TnA9sof1m1GasORxZ0Imsl7/Iy/cBSTNgeT3GUMf7OM/l8tYzjSMnzJ1CEb N/zjxp3/n9j4sAaBv5nB35nNLQIN7OTSb6ZkiaAlnF3Cwy9W8Is1kvuCX5zgF2f4xQ1+QRJfXkie TG1kObR29XbxGjq9HTzCHn4JhV8WwC9E+AX5EyWOv5kKEekhM4UL9IVdAViVWZHCyBQ60EkW7Gwq UrRsbK0hjk5HdCVQMgKoYetB7hkHy2uxYJ+JaHGON4B+sxAY91u1g7DF74oWrONgOP7FuUYiVNT/ 4v3/LQgI/iPfCaCGLyJjZ+cF4zqWMVXXdsHwdeUzLxwpE3Ak+ZZmUIe5fTxHjyOJfBZTG8arDvwy A36Zyd3J79w6/sHA9dQyhwvk6mk94kAkoOAcwwlArvVHgAWB5dwWQsiE5mIW8dJc4DslaAS3SHAH G3MQ6LGTJrDJc+HYO5ZrgfCTPnKEwZe2Zk0LE3sO+nezIZATWAaUlQofNiN8OjRX8C9BsQewT5SH 3ID6T3meo38H5v/twv/8J+sHP/7+Nf7y7//ieM9/Ghmwfv/FRH/0+c9/ogz5dRc0FvzH+mkXNPcX Xdi/48L59RbOb7YM+6WWUT0xWkbLaBkto2W0jJbRMlpGy2gZLaNltIyW0TJaRstoGS2jZbSMltEy WkbLaBkto2W0jJbR8s+X/wP5BiYVAMgAAA== From bsteers4 at gmail.com Wed Jun 8 22:33:42 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 8 Jun 2022 21:33:42 +0100 Subject: [Gambas-user] not getting bugtracker notifications with gmail. Message-ID: So for some time now i have been having to go to the bugtracker site and look for replies as I have not been getting notification emails.. I just found 1 bugtracker message in my gmail spam folder :-\ they delete after 30 days so i'm guessing that's where they have been going. Have hopefully removed the bugtracker address from the spam list now. Just FYI n all. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Thu Jun 9 01:01:58 2022 From: brian at westwoodsvcs.com (Brian G) Date: Wed, 8 Jun 2022 16:01:58 -0700 (PDT) Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: <1654660165.534590243@f30.my.com> Message-ID: <580664075.53999.1654729318094.JavaMail.zimbra@westwoodsvcs.com> "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G ----- On Jun 8, 2022, at 1:53 PM, Bruce Steers wrote: > On Wed, 8 Jun 2022 at 13:19, Bruce Steers < [ mailto:bsteers4 at gmail.com | > bsteers4 at gmail.com ] > wrote: >> On Wed, 8 Jun 2022 at 05:06, Brian G < [ mailto:brian at westwoodsvcs.com | >> brian at westwoodsvcs.com ] > wrote: >>> I think there is, I will check it in the morning >>> -- >>> Thanks >>> Brian G >>> Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers [ >>> mailto:bsteers4 at gmail.com | bsteers4 at gmail.com ] : >>>> Has anyone made a routine to strip xterm escape codes from a terminal text? >>>> I'm looking at having to have a close study of the TerminalFilter_VT100.class >>>> and try to account for all possible code combinations to strip them. >>>> I thought before i spent hours doing it i'd ask if anyone already has and could >>>> share the code. >>>> Or if there is already a way either an existing function somewhere or possibly >>>> in gb.form.terminal or some other class a function that could do it. >>>> I'm looking at TerminalFilter_VT100.class and the function OutputTo() looks like >>>> it could do it , it seems to do all the right processing but for other reasons. >>>> maybe by printing to a stream i could get plain text but i do not know how to >>>> do that :( >>>> Any thoughts/suggestions? >>>> Many thanks >>>> All the best >>>> BruceS >> Cheers Brian. >> I have managed this so far but it seems bulky. >> I added it to TerminalView.class , >> Bulky because it makes a whole new hidden form/terminalview and uses it's >> OutputTo() to print text to it then uses TerminalView.Text, >> trouble is OutputTo() needs a terminalview object in it's arguments. >> Could be easier to just use the normal TerminalView.Text and process all the >> text not one line at a time as it's output. :-/ >> Or maybe I should copy the OutputTo() and Escape() methods and edit them to not >> print text to a TerminalView stream but return it instead. > I did the above mentioned, copied OutputTo() and Escape() from > TerminalFilter_VT100.class and removed all functionality and made all Print > statements assign to a return string instead. > I'll attach the project in case anyone is interested. (feel free to > optimize/improve the code ;) ) > the aim of the project is to enable/disable a private root shell inside an > application for issuing multiple commands with only one authorization request. > Easy enough to to with a TerminalView and bash but not so easy to get some kind > of "Wait" ability and getting return values and text from inside the bash > shell. > It relies on monitoring the process text output, is starts bash and echos a > "shell-ready" then after the command completes it echos "com-done:$?" giving > the return value. > Wishing well > BruceS I seem to remember there was a callback style thing to allow filtering, checking could be a dream! > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Jun 9 12:47:34 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 9 Jun 2022 11:47:34 +0100 Subject: [Gambas-user] Error.Raise an error with a code other than -1 Message-ID: Something like this would be handy Ben... https://gitlab.com/bsteers4/gambas/-/commit/14d5e172d50e75c8388acd85e36f730f0a049bfc There I simply added a new method to Error class. Error.RaiseCode(sMsg As String, iCode As Integer) Works the same as Error.Raise(sMsg As String) but also sets a code other than -1. I was just playing with a bit of c But in all seriousness the Error.Raise() method would be extra useful if you can have an optional code parameter to set a value other than just the -1 Error.Raise() gives at present. using a code could make for better handling in the Catch. Unless it's already possible to set an error code? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Jun 9 12:59:29 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 9 Jun 2022 12:59:29 +0200 Subject: [Gambas-user] Error.Raise an error with a code other than -1 In-Reply-To: References: Message-ID: Le 09/06/2022 ? 12:47, Bruce Steers a ?crit?: > > Something like this would be handy Ben... > https://gitlab.com/bsteers4/gambas/-/commit/14d5e172d50e75c8388acd85e36f730f0a049bfc > > > There I simply added a new method to Error class. > Error.RaiseCode(sMsg As String, iCode As Integer) > > Works the same as Error.Raise(sMsg As String) but also sets a code other > than -1. > > I was just playing with a bit of c > > But in all seriousness the Error.Raise() method would be extra useful if > you can have an optional code parameter to set a value other than just > the -1 Error.Raise() gives at present. > using a code could make for better handling in the Catch. > > Unless it's already possible to set an error code? > > Respects > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- At the moment it's not really possible. I have the project to create a true non-global error object so that we can do: Catch Print .Text;; .Code ... If I succeed, it will be possible to add some user property to this object (a tag for example), so that you can add your own information to the error. Regards, -- Beno?t Minisini. From brian at westwoodsvcs.com Thu Jun 9 16:26:38 2022 From: brian at westwoodsvcs.com (Brian G) Date: Thu, 9 Jun 2022 07:26:38 -0700 (PDT) Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: <580664075.53999.1654729318094.JavaMail.zimbra@westwoodsvcs.com> References: <1654660165.534590243@f30.my.com> <580664075.53999.1654729318094.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <642643159.54050.1654784798855.JavaMail.zimbra@westwoodsvcs.com> > "Failure is the key to success; > each mistake teaches us something" .. Morihei Ueshiba > Brian G > ----- On Jun 8, 2022, at 1:53 PM, Bruce Steers wrote: >> On Wed, 8 Jun 2022 at 13:19, Bruce Steers < [ mailto:bsteers4 at gmail.com | >> bsteers4 at gmail.com ] > wrote: >>> On Wed, 8 Jun 2022 at 05:06, Brian G < [ mailto:brian at westwoodsvcs.com | >>> brian at westwoodsvcs.com ] > wrote: >>>> I think there is, I will check it in the morning >>>> -- >>>> Thanks >>>> Brian G >>>> Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers [ >>>> mailto:bsteers4 at gmail.com | bsteers4 at gmail.com ] : >>>>> Has anyone made a routine to strip xterm escape codes from a terminal text? >>>>> I'm looking at having to have a close study of the TerminalFilter_VT100.class >>>>> and try to account for all possible code combinations to strip them. >>>>> I thought before i spent hours doing it i'd ask if anyone already has and could >>>>> share the code. >>>>> Or if there is already a way either an existing function somewhere or possibly >>>>> in gb.form.terminal or some other class a function that could do it. >>>>> I'm looking at TerminalFilter_VT100.class and the function OutputTo() looks like >>>>> it could do it , it seems to do all the right processing but for other reasons. >>>>> maybe by printing to a stream i could get plain text but i do not know how to >>>>> do that :( >>>>> Any thoughts/suggestions? >>>>> Many thanks >>>>> All the best >>>>> BruceS >>> Cheers Brian. >>> I have managed this so far but it seems bulky. >>> I added it to TerminalView.class , >>> Bulky because it makes a whole new hidden form/terminalview and uses it's >>> OutputTo() to print text to it then uses TerminalView.Text, >>> trouble is OutputTo() needs a terminalview object in it's arguments. >>> Could be easier to just use the normal TerminalView.Text and process all the >>> text not one line at a time as it's output. :-/ >>> Or maybe I should copy the OutputTo() and Escape() methods and edit them to not >>> print text to a TerminalView stream but return it instead. >> I did the above mentioned, copied OutputTo() and Escape() from >> TerminalFilter_VT100.class and removed all functionality and made all Print >> statements assign to a return string instead. >> I'll attach the project in case anyone is interested. (feel free to >> optimize/improve the code ;) ) >> the aim of the project is to enable/disable a private root shell inside an >> application for issuing multiple commands with only one authorization request. >> Easy enough to to with a TerminalView and bash but not so easy to get some kind >> of "Wait" ability and getting return values and text from inside the bash >> shell. >> It relies on monitoring the process text output, is starts bash and echos a >> "shell-ready" then after the command completes it echos "com-done:$?" giving >> the return value. >> Wishing well >> BruceS > I seem to remember there was a callback style thing to allow filtering, checking > could be a dream! >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Bruce, Did you look at the ConnectTo to method in the terminal view, It allows to filter IO ' allow a connection to a filter or other task ' Output is the Pipe on which the connect Task or process will receive input ' the input stream I the one this process will use to receive input ' if a callBack is passed then the preprocess method is executed before recieved data is handled by the terminal ' Preprocess may return true to have the terminal process the data, or false to have the terminal ignore the data ' This allows the implementation of a state machine or filter to hande extended terminal functions on the stream Maybe this can help -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Thu Jun 9 16:47:59 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 9 Jun 2022 20:32:59 +0545 Subject: [Gambas-user] SSL handshake failed, QtNetwork Error 6 with WebView (gb.qt5.webkit) Message-ID: Hi What can be the reason WebView (gb.qt5.webkit) shows SSL handshake failed Failed to URL QtNetwork Error 6 eg. https://demoimis.ssf.gov.np/ loads perfect in firefox and chrome but fails to load in WebView of gb.qt5.webkit. I am using following settings: WebSettings[WebSettings.JavascriptCanAccessClipboard] = True WebSettings[WebSettings.JavascriptEnabled] = True Are there some more settings I missed? -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Jun 9 17:18:36 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 9 Jun 2022 17:18:36 +0200 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> Message-ID: <0ef08326-ede1-24d3-2711-26d51d036a56@gambas-basic.org> Le 08/06/2022 ? 00:37, Bruce Steers a ?crit?: > Why do you want to do that? > > > Because I can us the Process_Read() of the terminal process to control > things inside a terminalview running a shell like bash or dash. > > I have working a routine that can "Wait" and get return codes/text from > commands running inside the bash terminal but it reeds to read the > terminal text that has a lot of hidden codes to process out. > I know there is terminalview.text but reading each bit as I t comes and > not all the text is preferred. > Cheers > Why don't you clear the "TERM" environmental variable while running your sub-processes? If there is no TERM, programs are supposed to not emit any xterm (or any other terminal) escape codes. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Thu Jun 9 17:33:27 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 9 Jun 2022 17:33:27 +0200 Subject: [Gambas-user] SSL handshake failed, QtNetwork Error 6 with WebView (gb.qt5.webkit) In-Reply-To: References: Message-ID: <39936c55-3ca3-75e9-6d03-1d7e8a54a114@gambas-basic.org> Le 09/06/2022 ? 16:47, Safiur Rahman a ?crit?: > Hi > > What can be the reason WebView (gb.qt5.webkit) shows > > SSL handshake failed > Failed to URL > QtNetwork Error 6 > > eg. https://demoimis.ssf.gov.np/ loads > perfect in firefox and chrome but fails to load in WebView of gb.qt5.webkit. > > I am using following settings: > WebSettings[WebSettings.JavascriptCanAccessClipboard] = True > WebSettings[WebSettings.JavascriptEnabled] = True > > Are there some more settings I missed? > > -- > Regards > Safiur Rahman > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Some bug inside Qt5 Webkit? Can you try with gb.gtk3.webkit? Do you use the latest version of Qt5? -- Beno?t Minisini. From bsteers4 at gmail.com Thu Jun 9 18:05:17 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 9 Jun 2022 17:05:17 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: <0ef08326-ede1-24d3-2711-26d51d036a56@gambas-basic.org> References: <20631531-910a-4213-afb3-078c53ac9d84@gambas-basic.org> <0ef08326-ede1-24d3-2711-26d51d036a56@gambas-basic.org> Message-ID: On Thu, 9 Jun 2022 at 16:19, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 08/06/2022 ? 00:37, Bruce Steers a ?crit : > > Why do you want to do that? > > > > > > Because I can us the Process_Read() of the terminal process to control > > things inside a terminalview running a shell like bash or dash. > > > > I have working a routine that can "Wait" and get return codes/text from > > commands running inside the bash terminal but it reeds to read the > > terminal text that has a lot of hidden codes to process out. > > I know there is terminalview.text but reading each bit as I t comes and > > not all the text is preferred. > > Cheers > > > > Why don't you clear the "TERM" environmental variable while running your > sub-processes? If there is no TERM, programs are supposed to not emit > any xterm (or any other terminal) escape codes. > aaah perfect. Cheers Ben That works a treat.. hTerminalView.Exec(aCommand, ["TERM="]) Problem all gone away :) Many thanks BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Jun 9 18:07:47 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 9 Jun 2022 17:07:47 +0100 Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: <642643159.54050.1654784798855.JavaMail.zimbra@westwoodsvcs.com> References: <1654660165.534590243@f30.my.com> <580664075.53999.1654729318094.JavaMail.zimbra@westwoodsvcs.com> <642643159.54050.1654784798855.JavaMail.zimbra@westwoodsvcs.com> Message-ID: On Thu, 9 Jun 2022 at 15:43, Brian G wrote: > > > > "Failure is the key to success; > each mistake teaches us something" .. Morihei Ueshiba > Brian G > > ----- On Jun 8, 2022, at 1:53 PM, Bruce Steers wrote: > > > > On Wed, 8 Jun 2022 at 13:19, Bruce Steers wrote: > >> >> >> On Wed, 8 Jun 2022 at 05:06, Brian G wrote: >> >>> I think there is, I will check it in the morning >>> >>> -- >>> Thanks >>> Brian G >>> Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers >>> bsteers4 at gmail.com: >>> >>> Has anyone made a routine to strip xterm escape codes from a terminal >>> text? >>> >>> I'm looking at having to have a close study of the >>> TerminalFilter_VT100.class and try to account for all possible code >>> combinations to strip them. >>> >>> I thought before i spent hours doing it i'd ask if anyone already has >>> and could share the code. >>> >>> Or if there is already a way either an existing function somewhere or >>> possibly in gb.form.terminal or some other class a function that could do >>> it. >>> >>> I'm looking at TerminalFilter_VT100.class and the function OutputTo() >>> looks like it could do it , it seems to do all the right processing but for >>> other reasons. maybe by printing to a stream i could get plain text but i >>> do not know how to do that :( >>> >>> Any thoughts/suggestions? >>> Many thanks >>> All the best >>> BruceS >>> >>> >> Cheers Brian. >> >> I have managed this so far but it seems bulky. >> I added it to TerminalView.class , >> Bulky because it makes a whole new hidden form/terminalview and uses it's >> OutputTo() to print text to it then uses TerminalView.Text, >> trouble is OutputTo() needs a terminalview object in it's arguments. >> >> Could be easier to just use the normal TerminalView.Text and process all >> the text not one line at a time as it's output. :-/ >> >> Or maybe I should copy the OutputTo() and Escape() methods and edit them >> to not print text to a TerminalView stream but return it instead. >> > > I did the above mentioned, copied OutputTo() and Escape() from > TerminalFilter_VT100.class and removed all functionality and made all Print > statements assign to a return string instead. > > I'll attach the project in case anyone is interested. (feel free to > optimize/improve the code ;) ) > > the aim of the project is to enable/disable a private root shell inside an > application for issuing multiple commands with only one authorization > request. > Easy enough to to with a TerminalView and bash but not so easy to get some > kind of "Wait" ability and getting return values and text from inside the > bash shell. > > It relies on monitoring the process text output, is starts bash and echos > a "shell-ready" then after the command completes it echos "com-done:$?" > giving the return value. > > Wishing well > BruceS > > I seem to remember there was a callback style thing to allow filtering, > checking could be a dream! > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Bruce, > > Did you look at the ConnectTo to method in the terminal view, It allows > to filter IO > > ' allow a connection to a filter or other task > ' Output is the Pipe on which the connect Task or process will receive > input > ' the input stream I the one this process will use to receive input > ' if a callBack is passed then the preprocess method is executed before > recieved data is handled by the terminal > ' Preprocess may return true to have the terminal process the data, or > false to have the terminal ignore the data > ' This allows the implementation of a state machine or filter to hande > extended terminal functions on the stream > > Maybe this can help > Cheers Brian but Benoit just came up with an OUTRAGEOUSLY simple solution lol :) Thanks for looking though :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From yves.cloutier at gmail.com Thu Jun 9 19:04:53 2022 From: yves.cloutier at gmail.com (Yves Cloutier) Date: Thu, 9 Jun 2022 12:04:53 -0500 Subject: [Gambas-user] Webform - changes to form not updated in browser Message-ID: Hello, i'm trying the webform. But if i make changes, nothing happens when i run the program and the browser is launched. For example, i have a label with text "hello world". I run, browser opens and i see hello world. If i change the text to bye world, and run again, browser opens, but still says hello world rather than bye world. I suspect something really simple but need some tips. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rwe-sse at osnanet.de Thu Jun 9 19:20:01 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 9 Jun 2022 19:20:01 +0200 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: References: Message-ID: <9d18d2ce-fd2e-6ed0-30c5-048bdd49fc85@osnanet.de> Am 09.06.22 um 19:04 schrieb Yves Cloutier: > Hello, i'm trying the webform. But if i make changes, nothing happens > when i run the program and the browser is launched. > > For example, i have a label with text "hello world". > > I run, browser opens and i see hello world. > > If i change the text to bye world, and run again, browser opens, but > still says hello world rather than bye world. > > I suspect something really simple but need some tips. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I don't have a solution, but I had the same problem here. Purely by coincidence I found that when an error occurs and you stop the program, close the tab and start over, then the new form will appear. Regards Rolf From isafiur at gmail.com Thu Jun 9 19:31:55 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 9 Jun 2022 23:16:55 +0545 Subject: [Gambas-user] Webform - changes to form not updated in browser Message-ID: Hi Delete files in gambas.1009 folder of Temp and run again. -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Thu Jun 9 19:35:26 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 9 Jun 2022 23:20:26 +0545 Subject: [Gambas-user] SSL handshake failed, QtNetwork Error 6 with WebView (gb.qt5.webkit) In-Reply-To: References: Message-ID: Hi I am using qt5 provided by Ubuntu 20.04. On Thu, 9 Jun 2022, 20:32 Safiur Rahman, wrote: > Hi > > What can be the reason WebView (gb.qt5.webkit) shows > > SSL handshake failed > Failed to URL > QtNetwork Error 6 > > eg. https://demoimis.ssf.gov.np/ loads perfect in firefox and chrome but > fails to load in WebView of gb.qt5.webkit. > > I am using following settings: > WebSettings[WebSettings.JavascriptCanAccessClipboard] = True > WebSettings[WebSettings.JavascriptEnabled] = True > > Are there some more settings I missed? > > -- > Regards > Safiur Rahman > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Jun 9 22:37:52 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 9 Jun 2022 22:37:52 +0200 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: <9d18d2ce-fd2e-6ed0-30c5-048bdd49fc85@osnanet.de> References: <9d18d2ce-fd2e-6ed0-30c5-048bdd49fc85@osnanet.de> Message-ID: <8822bf0f-7886-a747-255c-b5098e932659@gambas-basic.org> Le 09/06/2022 ? 19:20, Rolf-Werner Eilert a ?crit?: > Am 09.06.22 um 19:04 schrieb Yves Cloutier: >> Hello, i'm trying the webform. But if i make changes, nothing happens >> when i run the program and the browser is launched. >> >> For example, i have a label with text "hello world". >> >> I run, browser opens and i see hello world. >> >> If i change the text to bye world, and run again, browser opens, but >> still says hello world rather than bye world. >> >> I suspect something really simple but need some tips. >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I don't have a solution, but I had the same problem here. Purely by > coincidence I found that when an error occurs and you stop the program, > close the tab and start over, then the new form will appear. > > Regards > Rolf > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- With 'gb.web.gui', each session is a process, and is identified by a cookie on the browser. If you don't remove the cookie by hand on the browser, or the cookie "database" on the server (located in a temporary directory inside '/tmp'), the application won't update. I usually close all browser windows and tabs before running a project again after something have been modified. The solution would be creating a custom browser with a WebView control just for debugging the 'gb.web.gui' programs. I will think about that. Regards, -- Beno?t Minisini. From yves.cloutier at gmail.com Thu Jun 9 22:39:55 2022 From: yves.cloutier at gmail.com (Yves Cloutier) Date: Thu, 9 Jun 2022 15:39:55 -0500 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: References: Message-ID: Hmmm where do i find this folder and will i need to delete everytime i run? I am on linux manjaro On Thu, Jun 9, 2022, 12:33 Safiur Rahman wrote: > Hi > Delete files in gambas.1009 folder of Temp and run again. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alarch at alarch.pw Thu Jun 9 22:55:17 2022 From: alarch at alarch.pw (Marc Guillaume) Date: Thu, 9 Jun 2022 22:55:17 +0200 Subject: [Gambas-user] Error.Raise an error with a code other than -1 In-Reply-To: References: Message-ID: <20220609225517.3e7216a7@marc-ThinkCentre-M92P> Le Thu, 9 Jun 2022 12:59:29 +0200, Benoit Minisini a ?crit : > Le 09/06/2022 ? 12:47, Bruce Steers a ?crit?: > > > > Something like this would be handy Ben... > > https://gitlab.com/bsteers4/gambas/-/commit/14d5e172d50e75c8388acd85e36f730f0a049bfc > > > > > > There I simply added a new method to Error class. > > Error.RaiseCode(sMsg As String, iCode As Integer) > > > > Works the same as Error.Raise(sMsg As String) but also sets a code > > other than -1. > > > > I was just playing with a bit of c > > > > But in all seriousness the Error.Raise() method would be extra > > useful if you can have an optional code parameter to set a value > > other than just the -1 Error.Raise() gives at present. > > using a code could make for better handling in the Catch. > > > > Unless it's already possible to set an error code? > > > > Respects > > BruceS > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > At the moment it's not really possible. > > I have the project to create a true non-global error object so that > we can do: > > Catch > > Print .Text;; .Code > ... > > If I succeed, it will be possible to add some user property to this > object (a tag for example), so that you can add your own information > to the error. Is the fact that the mysql code numbers are not retrieved during an error due to the same problem? It would be useful to have these codes to make decisions, some codes being informative. From yves.cloutier at gmail.com Thu Jun 9 22:55:27 2022 From: yves.cloutier at gmail.com (Yves Cloutier) Date: Thu, 9 Jun 2022 15:55:27 -0500 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: <8822bf0f-7886-a747-255c-b5098e932659@gambas-basic.org> References: <9d18d2ce-fd2e-6ed0-30c5-048bdd49fc85@osnanet.de> <8822bf0f-7886-a747-255c-b5098e932659@gambas-basic.org> Message-ID: Ah ok je comprend. Found it and yes deleting session/gb.web.gui solves it. Merci On Thu, Jun 9, 2022, 15:38 Benoit Minisini wrote: > Le 09/06/2022 ? 19:20, Rolf-Werner Eilert a ?crit : > > Am 09.06.22 um 19:04 schrieb Yves Cloutier: > >> Hello, i'm trying the webform. But if i make changes, nothing happens > >> when i run the program and the browser is launched. > >> > >> For example, i have a label with text "hello world". > >> > >> I run, browser opens and i see hello world. > >> > >> If i change the text to bye world, and run again, browser opens, but > >> still says hello world rather than bye world. > >> > >> I suspect something really simple but need some tips. > >> > >> > >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > I don't have a solution, but I had the same problem here. Purely by > > coincidence I found that when an error occurs and you stop the program, > > close the tab and start over, then the new form will appear. > > > > Regards > > Rolf > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > With 'gb.web.gui', each session is a process, and is identified by a > cookie on the browser. > > If you don't remove the cookie by hand on the browser, or the cookie > "database" on the server (located in a temporary directory inside > '/tmp'), the application won't update. > > I usually close all browser windows and tabs before running a project > again after something have been modified. > > The solution would be creating a custom browser with a WebView control > just for debugging the 'gb.web.gui' programs. I will think about that. > > Regards, > > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri Jun 10 00:41:59 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 9 Jun 2022 18:41:59 -0400 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: References: Message-ID: <36f9e5c0-0025-53b9-8674-a3351fa01f18@gmail.com> On 6/9/22 16:39, Yves Cloutier wrote: > Hmmm where do i find this folder and will i need to delete everytime i run? > > I am on linux manjaro > > On Thu, Jun 9, 2022, 12:33 Safiur Rahman > wrote: > > Hi > Delete files in gambas.1009 folder of Temp and run again. You will find the temporary Gambas files in /tmp . The extension number of the gambas directory will be your Linux user ID number. -- Lee From brian at westwoodsvcs.com Fri Jun 10 01:25:31 2022 From: brian at westwoodsvcs.com (Brian G) Date: Thu, 9 Jun 2022 16:25:31 -0700 (PDT) Subject: [Gambas-user] removing xterm escape codes from terminal text In-Reply-To: References: <1654660165.534590243@f30.my.com> <580664075.53999.1654729318094.JavaMail.zimbra@westwoodsvcs.com> <642643159.54050.1654784798855.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <141399306.54377.1654817131598.JavaMail.zimbra@westwoodsvcs.com> > Cheers Brian but Benoit just came up with an OUTRAGEOUSLY simple solution lol :) > Thanks for looking though :) > BruceS > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Don't know if this helps, from my archives, Runs a background server executing SUDO level commands etc. I added the filter regexp.remove( source,"\x1B\[.*[mnupsHJKABCDEFG]","") to the responses... LOL little to late I guess. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: PowerShell-1.0.1.tar.gz.gmail.txt URL: From bsteers4 at gmail.com Sat Jun 11 14:04:03 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 11 Jun 2022 13:04:03 +0100 Subject: [Gambas-user] wiki edit issue Message-ID: I just tried to edit http://gambaswiki.org/edit/comp/gb.qt4.ext/textedit/insert To add something to say that TextEdit.Insert() will only insert plain text and not process html codes and to use TextEdit.RichText instead. The page shows a default text. if i click edit it shows my edits, if i click preview it shows the edited page, then click save and it goes back to the original text ? Even after clearing web cache Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat Jun 11 19:05:45 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sat, 11 Jun 2022 19:05:45 +0200 Subject: [Gambas-user] wiki edit issue In-Reply-To: References: Message-ID: <90c7ed39-edbe-f0db-8db7-40beb209a99a@gambas-basic.org> Le 11/06/2022 ? 14:04, Bruce Steers a ?crit?: > I just tried to edit > http://gambaswiki.org/edit/comp/gb.qt4.ext/textedit/insert > > > To add something to say that TextEdit.Insert() will only insert plain > text and not process html codes and to use TextEdit.RichText? instead. > > The page shows a default text. if i click edit it shows my edits, if i > click preview it shows the edited page, then click save and it goes back > to the original text ? > > Even after clearing web cache > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's CloudFlare. You will see your changes in 24 hours. It's practical, as it gives you some time, if you make some errors, to fix them, before being visible. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sun Jun 12 11:11:12 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 12 Jun 2022 10:11:12 +0100 Subject: [Gambas-user] wiki edit issue In-Reply-To: <90c7ed39-edbe-f0db-8db7-40beb209a99a@gambas-basic.org> References: <90c7ed39-edbe-f0db-8db7-40beb209a99a@gambas-basic.org> Message-ID: On Sat, 11 Jun 2022 at 18:06, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 11/06/2022 ? 14:04, Bruce Steers a ?crit : > > I just tried to edit > > http://gambaswiki.org/edit/comp/gb.qt4.ext/textedit/insert > > > > > > To add something to say that TextEdit.Insert() will only insert plain > > text and not process html codes and to use TextEdit.RichText instead. > > > > The page shows a default text. if i click edit it shows my edits, if i > > click preview it shows the edited page, then click save and it goes back > > to the original text ? > > > > Even after clearing web cache > > > > Respects > > BruceS > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > It's CloudFlare. You will see your changes in 24 hours. It's practical, > as it gives you some time, if you make some errors, to fix them, before > being visible. > > Regards, > > -- > Beno?t Minisini > Aaah i see, thank you. I just edited it again as i discovered the TextEdit.Selection.RichText alternative. Finding that took a little research though, An InsertRichText() method would be much more obvious. In fact it was such a simple edit i've submitted a merge request adding TextEdit.InsertRichText() method to TextEdit.cpp I've tested it, it works a treat :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Jun 12 18:30:45 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 12 Jun 2022 17:30:45 +0100 Subject: [Gambas-user] Test running app from IDE as root... Message-ID: What do you think of this? https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a (main commit) https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 (sanity check) I've added an option on the Debugging/Arguments page to Run As Root using pkexec. prefixes gbx with the same method Desktop.RunAsRoot() uses. Good idea? terrible idea? Seems to work Respects Bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Jun 12 18:37:59 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 12 Jun 2022 17:37:59 +0100 Subject: [Gambas-user] Test running app from IDE as root... In-Reply-To: References: Message-ID: On Sun, 12 Jun 2022 at 17:30, Bruce Steers wrote: > What do you think of this? > > https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a > (main commit) > > https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 > (sanity check) > > I've added an option on the Debugging/Arguments page to Run As Root using > pkexec. > prefixes gbx with the same method Desktop.RunAsRoot() uses. > > Good idea? terrible idea? > Seems to work > > Respects > Bruce > PS. not 100% sure i have put the pkexec insertion in the best place in the code, line 1291 seemed right to me but there are other things i do not use like Test and valgrind so do not know of effects on these. All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Jun 12 21:08:38 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sun, 12 Jun 2022 21:08:38 +0200 Subject: [Gambas-user] Test running app from IDE as root... In-Reply-To: References: Message-ID: <470c59e2-40c6-3623-6831-826783d87c41@gambas-basic.org> Le 12/06/2022 ? 18:37, Bruce Steers a ?crit?: > > > On Sun, 12 Jun 2022 at 17:30, Bruce Steers > wrote: > > What do you think of this? > https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a > > (main commit) > https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 > > (sanity check) > > I've added an option on the Debugging/Arguments page to Run As Root > using pkexec. > prefixes gbx with the same method Desktop.RunAsRoot() uses. > > Good idea? terrible idea? > Seems to work > > Respects > Bruce > > > PS. not 100% sure i have put the pkexec insertion in the best place in > the code, line 1291 seemed right to me but there are other things i do > not use like Test and valgrind so do not know of effects on these. > All the best > BruceS > If it's useful, it's a good idea. Then it depends if it is correctly implemented. Running a project from the IDE now has many paths: - Running in the IDE terminal or in an external terminal. - Debugging an already running process. - Debugging through ssh. - Running through the embedded server. - Running a project test suite. For some of these paths, running with pkexec has sense, for the others it does not. Is your implementation correct? -- Beno?t Minisini. From bsteers4 at gmail.com Sun Jun 12 21:57:31 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 12 Jun 2022 20:57:31 +0100 Subject: [Gambas-user] Test running app from IDE as root... In-Reply-To: <470c59e2-40c6-3623-6831-826783d87c41@gambas-basic.org> References: <470c59e2-40c6-3623-6831-826783d87c41@gambas-basic.org> Message-ID: On Sun, 12 Jun 2022, 20:09 Benoit Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 12/06/2022 ? 18:37, Bruce Steers a ?crit : > > > > > > On Sun, 12 Jun 2022 at 17:30, Bruce Steers > > wrote: > > > > What do you think of this? > > > https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a > > < > https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a > > > > (main commit) > > > https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 > > < > https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 > > > > (sanity check) > > > > I've added an option on the Debugging/Arguments page to Run As Root > > using pkexec. > > prefixes gbx with the same method Desktop.RunAsRoot() uses. > > > > Good idea? terrible idea? > > Seems to work > > > > Respects > > Bruce > > > > > > PS. not 100% sure i have put the pkexec insertion in the best place in > > the code, line 1291 seemed right to me but there are other things i do > > not use like Test and valgrind so do not know of effects on these. > > All the best > > BruceS > > > > If it's useful, it's a good idea. Then it depends if it is correctly > implemented. > > Running a project from the IDE now has many paths: > > - Running in the IDE terminal or in an external terminal. > - Debugging an already running process. > - Debugging through ssh. > - Running through the embedded server. > - Running a project test suite. > > For some of these paths, running with pkexec has sense, for the others > it does not. > > Is your implementation correct? > > -- > Beno?t Minisini. > Like I said I am not sure, I do not use any of the above mentioned paths so do not know how/what to test or if it makes sense to use it in such cases. But then I should think the programmer would know if to enable it or not makes sense. I could merge request and let you modify conditions if you concur it's useful. As for being useful. I think very useful. I have many root applications that would be handy to test as root but I don't really want the ide run as root (I'd have to configure settings, I never run ide as root) Regardless of "should it be used with some paths or not?" I think it's placement is correct. It inserts the pkexec prefix text just before any Exec command I could see in the Design.class Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sun Jun 12 22:11:31 2022 From: brian at westwoodsvcs.com (=?UTF-8?B?QnJpYW4gRw==?=) Date: Sun, 12 Jun 2022 23:11:31 +0300 Subject: [Gambas-user] =?utf-8?q?Test_running_app_from_IDE_as_root=2E=2E?= =?utf-8?q?=2E?= In-Reply-To: References: Message-ID: <1655064691.12211339@f10.my.com> If we can debug a running task already, can we not jus sudo the app then debug it? -- Thanks Brian G Sunday, 12 June 2022, 09:39AM -07:00 from Bruce Steers bsteers4 at gmail.com : > > >On Sun, 12 Jun 2022 at 17:30, Bruce Steers < bsteers4 at gmail.com> wrote: >>What do you think of this? >>https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a (main commit) >>https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 (sanity check) >> >>I've added an option on the Debugging/Arguments page to Run As Root using pkexec. >>prefixes gbx with the same method Desktop.RunAsRoot() uses. >> >>Good idea? terrible idea? >>Seems to work >> >>Respects >>Bruce > >PS. not 100% sure i have put the pkexec insertion in the best place in the code, line 1291 seemed right to me but there are other things i do not use like Test and valgrind so do not know of effects on these. >All the best >BruceS > > >----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Jun 13 14:13:32 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 13 Jun 2022 13:13:32 +0100 Subject: [Gambas-user] Test running app from IDE as root... In-Reply-To: References: <470c59e2-40c6-3623-6831-826783d87c41@gambas-basic.org> Message-ID: On Sun, 12 Jun 2022 at 20:57, Bruce Steers wrote: > > > On Sun, 12 Jun 2022, 20:09 Benoit Minisini, < > benoit.minisini at gambas-basic.org> wrote: > >> Le 12/06/2022 ? 18:37, Bruce Steers a ?crit : >> > >> > >> > On Sun, 12 Jun 2022 at 17:30, Bruce Steers > > > wrote: >> > >> > What do you think of this? >> > >> https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a >> > < >> https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a >> > >> > (main commit) >> > >> https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 >> > < >> https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 >> > >> > (sanity check) >> > >> > I've added an option on the Debugging/Arguments page to Run As Root >> > using pkexec. >> > prefixes gbx with the same method Desktop.RunAsRoot() uses. >> > >> > Good idea? terrible idea? >> > Seems to work >> > >> > Respects >> > Bruce >> > >> > >> > PS. not 100% sure i have put the pkexec insertion in the best place in >> > the code, line 1291 seemed right to me but there are other things i do >> > not use like Test and valgrind so do not know of effects on these. >> > All the best >> > BruceS >> > >> >> If it's useful, it's a good idea. Then it depends if it is correctly >> implemented. >> >> Running a project from the IDE now has many paths: >> >> - Running in the IDE terminal or in an external terminal. >> - Debugging an already running process. >> - Debugging through ssh. >> - Running through the embedded server. >> - Running a project test suite. >> >> For some of these paths, running with pkexec has sense, for the others >> it does not. >> >> Is your implementation correct? >> >> -- >> Beno?t Minisini. >> > > Like I said I am not sure, I do not use any of the above mentioned paths > so do not know how/what to test or if it makes sense to use it in such > cases. But then I should think the programmer would know if to enable it or > not makes sense. I could merge request and let you modify conditions if you > concur it's useful. > > As for being useful. I think very useful. > I have many root applications that would be handy to test as root but I > don't really want the ide run as root (I'd have to configure settings, I > never run ide as root) > > Regardless of "should it be used with some paths or not?" I think it's > placement is correct. It inserts the pkexec prefix text just before any > Exec command I could see in the Design.class > Darn it, yesterday i had an error message, in Design.class Process_Read() , never seen that before and i was using the RunAsRoot option :( BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Mon Jun 13 15:24:54 2022 From: mbelmonte at belmotek.net (Martin) Date: Mon, 13 Jun 2022 15:24:54 +0200 Subject: [Gambas-user] Debian bullseye backport of gambas3 is needed Message-ID: Hi, Does anyone have contact with who packages gambas3 for debian? I think it could be useful to have gambas3 as a backport for the current debian stable version (11 bullseye). This would allow to install it with apt without having to install it from source. Regards. From benoit.minisini at gambas-basic.org Mon Jun 13 18:13:39 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 13 Jun 2022 18:13:39 +0200 Subject: [Gambas-user] Debian bullseye backport of gambas3 is needed In-Reply-To: References: Message-ID: <0e9bb01d-59fd-977c-4870-313c76af4e17@gambas-basic.org> Le 13/06/2022 ? 15:24, Martin a ?crit?: > Hi, > > Does anyone have contact with who packages gambas3 for debian? > I think it could be useful to have gambas3 as a backport for the current > debian stable version (11 bullseye). > This would allow to install it with apt without having to install it > from source. > > Regards. > Aren't contacts written in the package, or on the debian package web site? -- Beno?t Minisini. From mbelmonte at belmotek.net Mon Jun 13 21:18:26 2022 From: mbelmonte at belmotek.net (Martin) Date: Mon, 13 Jun 2022 21:18:26 +0200 Subject: [Gambas-user] Debian bullseye backport of gambas3 is needed In-Reply-To: <0e9bb01d-59fd-977c-4870-313c76af4e17@gambas-basic.org> References: <0e9bb01d-59fd-977c-4870-313c76af4e17@gambas-basic.org> Message-ID: <9d9db11c-2900-f364-3dc2-97d3750b5a3b@belmotek.net> El 13/6/22 a las 18:13, Benoit Minisini escribi?: > Aren't contacts written in the package, or on the debian package web site? Yes, there in the package site [1] are 4 email addresses. Debian Gambas Team (QA Page) Ian Haywood (QA Page) Bastian Germann (QA Page) Jos? L. Redrejo Rodr?guez (QA Page) ok, so if no one on the list has contact with any of the debian package maintainers I will write to them and see if I have any luck. It's just that if in the stable branch there was a backport of gambas3 from the testing branch (12 Bookworm) that would mean we could install from the repositories all the gambas packages and the native components and we could also install the deb packages generated with the IDE of our own programs, without getting errors when trying to install component packages. This message is motivated because when trying to deploy a web application, made with webforms in IDE 3.17.2, on a stable debian server (11 Bullseye) this is not possible by installing the web application package, maybe it is possible by installing gambas3 from the sources (3.17.2) on the server and then copying the .gambas executable in the /var/www/webapplication directory or wherever it needs to go. Webforms is in Gambas3 version 3.17.2 but that version is not in debian 11 which is where a web page would be deployed in practice right? seems like the uncertainty principle. I am trying to gather all the information needed to create and deploy a web app (webforms) with gambas but I am not succeeding at the moment. Everything is in the spanish forum [2] if anyone wants to take a look or comment something. [1] https://packages.debian.org/stable/gambas3 [2] https://gambas-es.org/showthread.php?tid=605 Sorry for the long mail :-). Regards, Mart?n. From mbelmonte at belmotek.net Tue Jun 14 00:04:57 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 14 Jun 2022 00:04:57 +0200 Subject: [Gambas-user] Debian bullseye backport of gambas3 is needed In-Reply-To: <9d9db11c-2900-f364-3dc2-97d3750b5a3b@belmotek.net> References: <0e9bb01d-59fd-977c-4870-313c76af4e17@gambas-basic.org> <9d9db11c-2900-f364-3dc2-97d3750b5a3b@belmotek.net> Message-ID: ok, I sent email to the gambas3 debian package maintainers asking for help. Anyway i found a tutorial in Debian web site about how to make a backpor. https://wiki.debian.org/SimpleBackportCreation I follow this: dget -x http://deb.debian.org/debian/pool/main/g/gambas3/gambas3_3.17.2-1.dsc cd gambas3-3.17.2 sudo mk-build-deps --install --remove dch --local ~bpo11+ --distribution bullseye-backports "Rebuild for bullseye-backports." fakeroot debian/rules binary dpkg-buildpackage -us -uc Note: In step "fakeroot debian/rules binary", there were errors and the process was aborted. But doesn't work. Here is the info for become a backport mantainer https://backports.debian.org/Contribute/ Regards From mbelmonte at belmotek.net Tue Jun 14 10:34:39 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 14 Jun 2022 10:34:39 +0200 Subject: [Gambas-user] Web app questions Message-ID: <28d8a361-368c-eeb3-7852-734a2c9006ac@belmotek.net> Hi, In the following scenario mywebapp.gambas in a Apache server directory. When User1 request the page from internet, ?mywebapp.gambas is executed in a process, for example 123456 with its connection to database. Then if User2 from other place request to the same server Ocurr a new execution of mywebapp.gambas in other process diferent and so on? Regards. From chrisml at deganius.de Tue Jun 14 10:57:07 2022 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 14 Jun 2022 10:57:07 +0200 Subject: [Gambas-user] Web app questions In-Reply-To: <28d8a361-368c-eeb3-7852-734a2c9006ac@belmotek.net> References: <28d8a361-368c-eeb3-7852-734a2c9006ac@belmotek.net> Message-ID: <9047093d-8a4f-57f4-1fac-8ff82bc831f5@deganius.de> Am 14.06.22 um 10:34 schrieb Martin: > In the following scenario mywebapp.gambas in a Apache server directory. > When User1 request the page from internet, ?mywebapp.gambas is executed > in a process, for example 123456 with its connection to database. > > Then if User2 from other place request to the same server > Ocurr a new execution of mywebapp.gambas in other process diferent and > so on? Yes. It's CGI. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From bsteers4 at gmail.com Tue Jun 14 11:36:29 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 14 Jun 2022 10:36:29 +0100 Subject: [Gambas-user] Test running app from IDE as root... In-Reply-To: References: <470c59e2-40c6-3623-6831-826783d87c41@gambas-basic.org> Message-ID: On Mon, 13 Jun 2022 at 13:13, Bruce Steers wrote: > > > On Sun, 12 Jun 2022 at 20:57, Bruce Steers wrote: > >> >> >> On Sun, 12 Jun 2022, 20:09 Benoit Minisini, < >> benoit.minisini at gambas-basic.org> wrote: >> >>> Le 12/06/2022 ? 18:37, Bruce Steers a ?crit : >>> > >>> > >>> > On Sun, 12 Jun 2022 at 17:30, Bruce Steers >> > > wrote: >>> > >>> > What do you think of this? >>> > >>> https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a >>> > < >>> https://gitlab.com/bsteers4/gambas/-/commit/242afc06b7c791c3280d5c09112797a81c85243a >>> > >>> > (main commit) >>> > >>> https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 >>> > < >>> https://gitlab.com/bsteers4/gambas/-/commit/ef3939d39cc8666cd6e8fe48608c4b5ffde53b73 >>> > >>> > (sanity check) >>> > >>> > I've added an option on the Debugging/Arguments page to Run As Root >>> > using pkexec. >>> > prefixes gbx with the same method Desktop.RunAsRoot() uses. >>> > >>> > Good idea? terrible idea? >>> > Seems to work >>> > >>> > Respects >>> > Bruce >>> > >>> > >>> > PS. not 100% sure i have put the pkexec insertion in the best place in >>> > the code, line 1291 seemed right to me but there are other things i do >>> > not use like Test and valgrind so do not know of effects on these. >>> > All the best >>> > BruceS >>> > >>> >>> If it's useful, it's a good idea. Then it depends if it is correctly >>> implemented. >>> >>> Running a project from the IDE now has many paths: >>> >>> - Running in the IDE terminal or in an external terminal. >>> - Debugging an already running process. >>> - Debugging through ssh. >>> - Running through the embedded server. >>> - Running a project test suite. >>> >>> For some of these paths, running with pkexec has sense, for the others >>> it does not. >>> >>> Is your implementation correct? >>> >>> -- >>> Beno?t Minisini. >>> >> >> Like I said I am not sure, I do not use any of the above mentioned paths >> so do not know how/what to test or if it makes sense to use it in such >> cases. But then I should think the programmer would know if to enable it or >> not makes sense. I could merge request and let you modify conditions if you >> concur it's useful. >> >> As for being useful. I think very useful. >> I have many root applications that would be handy to test as root but I >> don't really want the ide run as root (I'd have to configure settings, I >> never run ide as root) >> >> Regardless of "should it be used with some paths or not?" I think it's >> placement is correct. It inserts the pkexec prefix text just before any >> Exec command I could see in the Design.class >> > > Darn it, yesterday i had an error message, in Design.class Process_Read() > , never seen that before and i was using the RunAsRoot option :( > Hmm, I was also testing a program for someone and had not noticed they had menus and one was named "File" and the other named "Process" giving a global declaration hidden error msg. Could the Process_Error message be from that or is it most likely from having the IDE use pkexec to debug? (only had the error once and not had it since) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonlebon54 at yahoo.com Wed Jun 15 00:26:21 2022 From: simonlebon54 at yahoo.com (Steve) Date: Tue, 14 Jun 2022 14:26:21 -0800 Subject: [Gambas-user] Label control In-Reply-To: References: Message-ID: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> I am attempting to populate a label control. The text on the control will vary. The size of the control does not. Is there a way to detect when the text Will overflow the control so that I can split the text up properly to display? This would be in the case where there is sufficient vertical room but not horizontal. Also the font size will vary. ?Get TypeApp for Android ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 15 01:00:30 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 15 Jun 2022 00:00:30 +0100 Subject: [Gambas-user] Label control In-Reply-To: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> Message-ID: Have a look at Paint.TrimText https://gambaswiki.org/wiki/comp/gb.qt4/paint/trimtext Works something like this (may need a tweak)... Public TrimText(ctrl as control, txt as string, length as integer) As String Dim sOut As string Dim iPos As integer = 1 While sOut <> txt sOut &= Mid(txt, iPos, 1) If ctrl.Font.TextWidth(sOut & "...") > length Then Return sOut &"..." Inc iPos Wend Return sOut End BruceS On Tue, 14 Jun 2022, 23:27 Steve via User, wrote: > I am attempting to populate a label control. The text on the control will > vary. The size of the control does not. Is there a way to detect when the > text Will overflow the control so that I can split the text up properly to > display? This would be in the case where there is sufficient vertical room > but not horizontal. Also the font size will vary. > > Get TypeApp for Android > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 15 05:01:05 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 15 Jun 2022 04:01:05 +0100 Subject: [Gambas-user] Label control In-Reply-To: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> Message-ID: On Tue, 14 Jun 2022 at 23:27, Steve via User wrote: > I am attempting to populate a label control. The text on the control will > vary. The size of the control does not. Is there a way to detect when the > text Will overflow the control so that I can split the text up properly to > display? This would be in the case where there is sufficient vertical room > but not horizontal. Also the font size will vary > Forget the code in that last post, Paint.TrimText() does a lot more than those few lines i typed from memory at work (must have been a different function). Try this function, it can return the trimmed text using Paint.TrimText and/or update the label... Public Sub TrimLabelText(hLabel As Label, Optional UpdadeLabel As Boolean) As String Dim sText As String Dim i As New Image(5, 5) ' make a dummy image to use Paint.class on Paint.Begin(i) Paint.Font = hLabel.Font sText = Paint.TrimText(hLabel.Text, hLabel.Width, hLabel.Height) Paint.End i = Null If UpdadeLabel And If sText <> hLabel.Text Then hLabel.Text = sText Return sText End BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Wed Jun 15 09:13:28 2022 From: mbelmonte at belmotek.net (Martin) Date: Wed, 15 Jun 2022 09:13:28 +0200 Subject: [Gambas-user] Label control In-Reply-To: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> Message-ID: <570a3f68-0034-af83-d510-5f966e9ec3f7@belmotek.net> El 15/6/22 a las 0:26, Steve via User escribi?: > Is there a way to detect when the text Will overflow the control so that > I can split the text up properly to display? Hi, I suggest this function to know the size in pixels, then wit this information you decide what to do. '' Returns the value in pixels of a text string, regarding the typography Public Function TextWidth(str As String, sFont As String, zSize As Integer) As Integer Dim fnt As New Font fnt.Name = sFont fnt.Size = zSize Return fnt.TextWidth(str) End Then in form use some like this. If Object.Type(o) = "CheckBox" Then o.W = dsk.TextWidth(o.Text, Me.Font.Name, Me.Font.Size) + 32 Endif Best regards. From mbelmonte at belmotek.net Wed Jun 15 10:31:52 2022 From: mbelmonte at belmotek.net (Martin) Date: Wed, 15 Jun 2022 10:31:52 +0200 Subject: [Gambas-user] Minimal components to runn Gambas3 WebForms in a server Message-ID: <6e985d62-103e-c18a-f539-537178584661@belmotek.net> Hi, Which components are necessary just to run a web app in a server, the server is no graphical environment available. I will install on a ubuntu server (with gambas ppa) until the backport for debian 11 will be ready. Best regards. Martin. From hans at gambas-buch.de Wed Jun 15 11:38:45 2022 From: hans at gambas-buch.de (Hans Lehmann) Date: Wed, 15 Jun 2022 11:38:45 +0200 Subject: [Gambas-user] Webpage and function Message-ID: Hello, I am currently developing a website based on the class Webpage. Among other things, there is a web page ab_inc.webpage and the corresponding class ab_inc.class. Question: How do I insert the function value of a function do_what(arg1 as type) into ab_inc.webpage. I ask it because this webpage ab_inc.webpage is to be inserted into a (parent) webpage master.webpage. But the main problem is how I pass the argument arg1 to the function. With kind regards Hans From benoit.minisini at gambas-basic.org Wed Jun 15 11:52:52 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 15 Jun 2022 11:52:52 +0200 Subject: [Gambas-user] Error.Raise an error with a code other than -1 In-Reply-To: <20220609225517.3e7216a7@marc-ThinkCentre-M92P> References: <20220609225517.3e7216a7@marc-ThinkCentre-M92P> Message-ID: Le 09/06/2022 ? 22:55, Marc Guillaume a ?crit?: >> >> At the moment it's not really possible. >> >> I have the project to create a true non-global error object so that >> we can do: >> >> Catch >> >> Print .Text;; .Code >> ... >> >> If I succeed, it will be possible to add some user property to this >> object (a tag for example), so that you can add your own information >> to the error. > > Is the fact that the mysql code numbers are not retrieved during an > error due to the same problem? > > It would be useful to have these codes to make decisions, some codes > being informative. > You retrieve the MySQL error code from the Error property of the Connection object. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Wed Jun 15 13:35:15 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 15 Jun 2022 12:35:15 +0100 Subject: [Gambas-user] TextEdit could do with RichTextPos Message-ID: Been playing with Textedit from qt5.ext trying to make a simple RichText editor. It would be REALLY useful if there was a way to get the cursor position relevant to the RichText property too. Ie.. If i set my RichText to *"This message is red" *and i position the cursor on the m of the word message then Pos is 5 and TextEdit1.Text is just "This message is red" But the RichText property will now be this...

This message is green

And the cursor Pos there is not 5 it is 529 If i want to do anything fancy with modifying the Richtext or detecting styles/colors at cursor pos having a way to get a Richtext position relative to the cursor would be very useful. Or having a way to get some info about the text at cursor Ie. TextEdit1.GetAttribs(Pos) could get info like font/size/color/etc I feel i could write it myself but not without finding where the cursor is in the Richtext. Or is this all just not possible? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagoneo at libero.it Wed Jun 15 14:52:07 2022 From: bagoneo at libero.it (gian) Date: Wed, 15 Jun 2022 14:52:07 +0200 Subject: [Gambas-user] Label control In-Reply-To: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> Message-ID: Il 15/06/22 00:26, Steve via User ha scritto: > I am attempting to populate a label control. The text on the control > will vary. The size of the control does not. Is there a way to detect > when the text Will overflow the control so that I can split the text up > properly to display? This would be in the case where there is sufficient > vertical room but not horizontal. Also the font size will vary. The TextLabel has Autoresize and Wrap properties that, if i undestand, you should need. Why can't you use them? Regards Gianluigi From isafiur at gmail.com Wed Jun 15 16:58:42 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 15 Jun 2022 20:43:42 +0545 Subject: [Gambas-user] Moving WebForm in one direction only Message-ID: Hi Beno?t I want to move a modal WebForm to top centre from its actual centre position. Is it possible to use WebForm.Move in one dimension only (with retaining the coordinate of other dimension) Sub Move ( X As String, Y As String ) It would be easier if both X and Y values are optional -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Jun 15 22:48:12 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 15 Jun 2022 16:48:12 -0400 Subject: [Gambas-user] Webpage and function In-Reply-To: References: Message-ID: <1f734490-c2a2-7559-014a-0fc231a6d2d3@gmail.com> On 6/15/22 05:38, Hans Lehmann wrote: > Hello, > > I am currently developing a website based on the class Webpage. Among other things, there is a web page ab_inc.webpage and the > corresponding class ab_inc.class. Question: How do I insert the function value of a function do_what(arg1 as type) into > ab_inc.webpage. I ask it because this webpage ab_inc.webpage is to be inserted into a (parent) webpage master.webpage. But the > main problem is how I pass the argument arg1 to the function. > > With kind regards > > Hans Not sure what you're asking. Do you mean, how do you pass the value of a WebPage argument, passed from master.webpage to ab_inc.webpage, to a function of ab_inc.class? If so, then it seems it is not possible. I've tried every way I can think of to access the value of a passed argument, and the only syntax I've found to work is <%!arg%>. But, that syntax apparently cannot be used within a <%Code%> block or the code of a class. -- Lee From bsteers4 at gmail.com Thu Jun 16 09:56:49 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 16 Jun 2022 08:56:49 +0100 Subject: [Gambas-user] TextEdit could do with RichTextPos In-Reply-To: References: Message-ID: On Wed, 15 Jun 2022 at 12:35, Bruce Steers wrote: > Been playing with Textedit from qt5.ext trying to make a simple RichText > editor. > > It would be REALLY useful if there was a way to get the cursor position > relevant to the RichText property too. > > Ie.. > If i set my RichText to *"This message is red" *and > i position the cursor on the m of the word message > then Pos is 5 and TextEdit1.Text is just "This message is red" > > But the RichText property will now be this... > http://www.w3.org/TR/REC-html40/strict.dtd"> > http-equiv="Content-Type" content="text/html; charset=utf-8" /> >

This message is green

> > And the cursor Pos there is not 5 it is 529 > > If i want to do anything fancy with modifying the Richtext or detecting > styles/colors at cursor pos having a way to get a Richtext position > relative to the cursor would be very useful. > > Or having a way to get some info about the text at cursor Ie. > TextEdit1.GetAttribs(Pos) could get info like font/size/color/etc > I feel i could write it myself but not without finding where the cursor is > in the Richtext. > > Or is this all just not possible? > Respects > BruceS > If anyone wants the same thing I wrote this function... *'' Get the position of the TextEdit.RichText from TextEdit.Pos* *Public Sub GetRTPos(Editor As TextEdit, Optional Pos As Integer) As Integer If Not Pos Then Pos = Editor.Pos If Not Editor.RichText Then Editor.RichText = Editor.Text Dim sRT As String = Editor.RichText sRT = Replace(sRT, ">", ">") sRT = Replace(sRT, "<", "<") Dim sRTLines As String[] = Split(sRT, "\n") Dim iPos As Integer = 1 Dim iLPos As Integer Dim iChars As Integer Dim sChar As String Dim bInside As Boolean iPos = Len(sRTLines[0]) + Len(sRTLines[1]) + Len(sRTLines[2]) + Len(sRTLines[3]) + 3 For cLine As Integer = 4 To sRTLines.Max Inc iPos ' newline char sRT = sRTLines[cLine] iLPos = 1 While iLPos < sRT.Len sChar = Mid(sRT, iLPos, 1) Select sChar Case "<" bInside = True If Mid(sRT, iLPos, 6) = "
" Then Inc iChars Case ">" bInside = False End Select If Not bInside And If sChar <> ">" Then Inc iChars If iChars = Pos + 1 Then Return iPos Inc iPos Inc iLPos Wend Next Return -1End* -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Thu Jun 16 12:00:25 2022 From: mbelmonte at belmotek.net (Martin) Date: Thu, 16 Jun 2022 12:00:25 +0200 Subject: [Gambas-user] Gambas3 package backported to debian stable Message-ID: Hi, Few days ago the Debian Gambas team made a backport for the stable version of Debian (11) now is possible install 3.17.2 in debian stable whit the APT command. apt -t bullseye-backports install gambas3 Best regards From peter.kostrz at cofex.ch Thu Jun 16 13:57:00 2022 From: peter.kostrz at cofex.ch (Peter Kostrz) Date: Thu, 16 Jun 2022 13:57:00 +0200 Subject: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 Message-ID: Hello Made a mistake and added ambas PPA in UBUNTU 20.04 - after an update nothing worked anymore. Then I saw that I have not to use ppa update in 20.04 Uninstall does not work It fails when calling gambas3-runtime (new 3.17.90 searched, but 3.14.3 found). fix broken does not work, remove and clean does not as well udo apt remove gambas3 Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: gambas3-dev : Depends: gambas3-dev-tools but it is not going to be installed gambas3-gb-args : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-chart : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-db : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-db-form : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-dbus : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-desktop : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-eval-highlight : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-dialog : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-editor : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-htmlview : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-mdi : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-print : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-stock : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-form-terminal : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-logging : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-map : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-markdown : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-media-form : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-memcached : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-mysql : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-net-pop3 : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-net-smtp : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-report : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-report2 : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-scanner : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-settings : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-term : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-term-form : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-util : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-util-web : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-web : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-web-feed : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-web-form : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-web-gui : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-xml : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed gambas3-gb-xml-rpc : Depends: gambas3-runtime (>= 3.17.90+git202206140024.b9ec608cd+build31~ubuntu20.04.1) but 3.14.3-2ubuntu3.1 is to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). What can I do do clean up ? Thanks for feedback Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 6161 bytes Desc: S/MIME Cryptographic Signature URL: From bsteers4 at gmail.com Thu Jun 16 15:35:44 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 16 Jun 2022 14:35:44 +0100 Subject: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 In-Reply-To: References: Message-ID: On Thu, 16 Jun 2022 at 12:58, Peter Kostrz wrote: > Hello > > Made a mistake and added ambas PPA in UBUNTU 20.04 - after an update nothing worked anymore. Then I saw that I have not to use ppa update in 20.04 > Uninstall does not work It fails when calling gambas3-runtime (new 3.17.90 searched, but 3.14.3 found). fix broken does not work, remove and clean does not as well > > udo apt remove gambas3 > Reading package lists... Done > Building dependency tree > Reading state information... Done > You might want to run 'apt --fix-broken install' to correct these. > The following packages have unmet dependencies: > gambas3-dev : Depends: gambas3-dev-tools but it is not going to be installed > > I would try the following... # remove PPAs sudo add-apt-repository --remove ppa:gambas-team/gambas-daily sudo add-apt-repository --remove ppa:gambas-team/gambas3 # Purge all of gambas3 sudo apt-get purge --fix-broken gambas3* # update apt and reinstall sudo apt-get update sudo apt-get install gambas3* # you might want to run apt-get update before using purge command BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Jun 16 15:42:29 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 16 Jun 2022 14:42:29 +0100 Subject: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 In-Reply-To: References: Message-ID: On Thu, 16 Jun 2022 at 14:35, Bruce Steers wrote: > > > On Thu, 16 Jun 2022 at 12:58, Peter Kostrz wrote: > >> Hello >> >> Made a mistake and added ambas PPA in UBUNTU 20.04 - after an update nothing worked anymore. Then I saw that I have not to use ppa update in 20.04 >> Uninstall does not work It fails when calling gambas3-runtime (new 3.17.90 searched, but 3.14.3 found). fix broken does not work, remove and clean does not as well >> >> udo apt remove gambas3 >> Reading package lists... Done >> Building dependency tree >> Reading state information... Done >> You might want to run 'apt --fix-broken install' to correct these. >> The following packages have unmet dependencies: >> gambas3-dev : Depends: gambas3-dev-tools but it is not going to be installed >> >> > I would try the following... > > # remove PPAs > > sudo add-apt-repository --remove ppa:gambas-team/gambas-daily > sudo add-apt-repository --remove ppa:gambas-team/gambas3 > > # Purge all of gambas3 > > sudo apt-get purge --fix-broken gambas3* > > # update apt and reinstall > > sudo apt-get update > sudo apt-get install gambas3* > > Correction: use quotes when purging/installing all of gambas3* using the asterix *. Eg. apt-get purge --fix-broken "gambas3*" apt-get-install "gambas3*" -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter.kostrz at cofex.ch Thu Jun 16 16:12:52 2022 From: peter.kostrz at cofex.ch (Peter Kostrz) Date: Thu, 16 Jun 2022 16:12:52 +0200 Subject: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 In-Reply-To: References: Message-ID: <6999375a-02d1-4fe3-a453-6be3fc48be53@cofex.ch> Hi Bruce Thanks a lot. It worked perfect. Back on 3.14.3 One Question: gb.qt4.ext and gb.qt4.webkit are not available which I needed in a project ?. How can I load dem separately ? Thanks Peter Peter Kostrz / CEO Cofex AG Besuchen Sie unserer Webseite unter http://www.cofex.ch Cofex AG -- Computing for Experts Bahnstrasse 24 Postfach 600 CH-8603 Schwerzenbach Phone: +41 (0)44 806 50 50 Fax: +41 (0)44 887 19 59 Infobox: info at cofex.ch Web: www.cofex.ch ********* LEGAL DESCLAIMER: This electronic message contains information from Cofex AG, which may be privileged or confidential. The information is intended for use only by the individual(s) or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this electronic message in error, please notify me by telephone or email (to the number or email address above) immediately. Any views expressed in this message are those of the individual sender. This message is for information purposes only. All liability of Cofex AG for any damages resulting from e-mail use is excluded. Communications using this system will also be monitored and may be recorded to secure effective operation and for other lawful business purposes. Cofex AG ********* Von: User Im Auftrag von Bruce Steers Gesendet: Donnerstag, 16. Juni 2022 15:42 An: Gambas Mailing List Betreff: Re: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 On Thu, 16 Jun 2022 at 14:35, Bruce Steers wrote: On Thu, 16 Jun 2022 at 12:58, Peter Kostrz wrote: Hello Made a mistake and added ambas PPA in UBUNTU 20.04 - after an update nothing worked anymore. Then I saw that I have not to use ppa update in 20.04Uninstall does not work It fails when calling gambas3-runtime (new 3.17.90 searched, but 3.14.3 found). fix broken does not work, remove and clean does not as well udo apt remove gambas3Reading package lists... DoneBuilding dependency tree?????? Reading state information... DoneYou might want to run 'apt --fix-broken install' to correct these.The following packages have unmet dependencies: gambas3-dev : Depends: gambas3-dev-tools but it is not going to be installed I would try the following... # remove PPAssudo add-apt-repository --remove ppa:gambas-team/gambas-daily sudo add-apt-repository --remove ppa:gambas-team/gambas3# Purge all of gambas3sudo apt-get purge --fix-broken gambas3*# update apt and reinstallsudo apt-get update sudo apt-get install gambas3* Correction: use quotes when purging/installing all of gambas3* using the asterix *. Eg. apt-get purge --fix-broken "gambas3*" apt-get-install "gambas3*" -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 6161 bytes Desc: S/MIME Cryptographic Signature URL: From bsteers4 at gmail.com Thu Jun 16 16:17:17 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 16 Jun 2022 15:17:17 +0100 Subject: [Gambas-user] TextEdit could do with RichTextPos In-Reply-To: References: Message-ID: My GetRTPos() function is flawed :( have tried many a thing but cannot seem to perfect it :'( It seems to work unless the cursor is at the end of a line. I have attached a WIP richtext editor i have started. the function GetRTPos() is in the _TextEdit_Styles.class If anyone feels they could improve on what i am doing here please feel free (especially Ben ;) ) my objective is to be able to detect attributes to richtext text from the standard text cursor position. the GetRTPos() function gives the richtext position relative to the text position by skipping any html code apart from
and incrementing a char position pointer when reading a standard character. the Detect() function then backsteps from richtext position to find the code (using defaults if it finds before ) Something like this is sorely needed with TextEdit Ben. the control is more like a richtext "writer" than an "editor" when it comes to coding. writing html code to the control is easy enough but there is no easy way to get attribs. Just a way to accurately (more than me) get the Richtext position relative to text position would open the doors for some of my sketchy code to detect attribs at pos. but if you think you could easily enough implement somethinjg like this I think it would greatly enhance the control. Respects BruceS On Thu, 16 Jun 2022 at 08:56, Bruce Steers wrote: > > > On Wed, 15 Jun 2022 at 12:35, Bruce Steers wrote: > >> Been playing with Textedit from qt5.ext trying to make a simple RichText >> editor. >> >> It would be REALLY useful if there was a way to get the cursor position >> relevant to the RichText property too. >> >> Ie.. >> If i set my RichText to *"This message is red" *and >> i position the cursor on the m of the word message >> then Pos is 5 and TextEdit1.Text is just "This message is red" >> >> But the RichText property will now be this... >> > http://www.w3.org/TR/REC-html40/strict.dtd"> >> > http-equiv="Content-Type" content="text/html; charset=utf-8" /> >>

This message is green

>> >> And the cursor Pos there is not 5 it is 529 >> >> If i want to do anything fancy with modifying the Richtext or detecting >> styles/colors at cursor pos having a way to get a Richtext position >> relative to the cursor would be very useful. >> >> Or having a way to get some info about the text at cursor Ie. >> TextEdit1.GetAttribs(Pos) could get info like font/size/color/etc >> I feel i could write it myself but not without finding where the cursor >> is in the Richtext. >> >> Or is this all just not possible? >> Respects >> BruceS >> > > If anyone wants the same thing I wrote this function... > > > *'' Get the position of the TextEdit.RichText from TextEdit.Pos* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *Public Sub GetRTPos(Editor As TextEdit, Optional Pos As Integer) As > Integer If Not Pos Then Pos = Editor.Pos If Not Editor.RichText Then > Editor.RichText = Editor.Text Dim sRT As String = Editor.RichText sRT = > Replace(sRT, ">", ">") sRT = Replace(sRT, "<", "<") Dim sRTLines As > String[] = Split(sRT, "\n") Dim iPos As Integer = 1 Dim iLPos As Integer > Dim iChars As Integer Dim sChar As String Dim bInside As Boolean iPos = > Len(sRTLines[0]) + Len(sRTLines[1]) + Len(sRTLines[2]) + Len(sRTLines[3]) + > 3 For cLine As Integer = 4 To sRTLines.Max Inc iPos ' newline char > sRT = sRTLines[cLine] iLPos = 1 While iLPos < sRT.Len sChar = > Mid(sRT, iLPos, 1) Select sChar Case "<" bInside = > True If Mid(sRT, iLPos, 6) = "
" Then Inc iChars Case > ">" bInside = False End Select If Not bInside And If > sChar <> ">" Then Inc iChars If iChars = Pos + 1 Then Return iPos > Inc iPos Inc iLPos Wend Next Return -1End* > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 8i+V/wVFoexlAKAAAA== From bagoneo at libero.it Thu Jun 16 16:08:55 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 16:08:55 +0200 Subject: [Gambas-user] Label control In-Reply-To: References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> Message-ID: <5f624f4c-0af2-5e51-81aa-c53ddbfb560a@libero.it> Il 15/06/22 14:52, gian via User ha scritto: > Il 15/06/22 00:26, Steve via User ha scritto: >> I am attempting to populate a label control. The text on the control >> will vary. The size of the control does not. Is there a way to detect >> when the text Will overflow the control so that I can split the text >> up properly to display? This would be in the case where there is >> sufficient vertical room but not horizontal. Also the font size will >> vary. > > The TextLabel has Autoresize and Wrap properties that, if i undestand, > you should need. > Why can't you use them? > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- OK, I didn't understand :-) Then try this code in a new graphic project: '------------------------------------------------------------------- Public Sub Form_Open() Dim s As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." Dim iRows, iHeight, iNew As Integer Dim iFontHeight As Integer Dim fProp As Float Dim hFont As Font Dim hTextLabel As TextLabel With hTextLabel = New TextLabel(Me) As "TextLabel1" .X = 50 .Y = 50 .W = 100 .H = 100 .AutoResize = False .Wrap = True .Text = s .Border = 1 hFont = .Font End With iRows = Rows(hTextLabel.Text, hTextLabel.Width, hFont) While (iRows * hFont.Height) > hTextLabel.Height hFont.Size -= 0.5 iRows = Rows(hTextLabel.Text, hTextLabel.Width, hFont) Wend End Private Function Rows(value As String, iWidth As Integer, hFont As Font) As Integer Dim i As Integer Dim ss As String[] Dim sRow As String If hFont.TextWidth(value) < iWidth Then Return 1 ss = Split(value, " ") For Each s As String In ss sRow &= " " & s If hFont.TextWidth(sRow) > iWidth Then sRow = s Inc i Endif Next Return i + 1 End '-------------------------------------------------- Regards Gianluigi From bagoneo at libero.it Thu Jun 16 16:24:48 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 16:24:48 +0200 Subject: [Gambas-user] Label control In-Reply-To: <5f624f4c-0af2-5e51-81aa-c53ddbfb560a@libero.it> References: <988a7dc7-3269-42d3-aa6b-9ca656411a81@yahoo.com> <5f624f4c-0af2-5e51-81aa-c53ddbfb560a@libero.it> Message-ID: Il 16/06/22 16:08, gian via User ha scritto: > Il 15/06/22 14:52, gian via User ha scritto: >> Il 15/06/22 00:26, Steve via User ha scritto: >>> I am attempting to populate a label control. The text on the control >>> will vary. The size of the control does not. Is there a way to detect >>> when the text Will overflow the control so that I can split the text >>> up properly to display? This would be in the case where there is >>> sufficient vertical room but not horizontal. Also the font size will >>> vary. >> >> The TextLabel has Autoresize and Wrap properties that, if i undestand, >> you should need. >> Why can't you use them? >> >> Regards >> Gianluigi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > OK, I didn't understand :-) > > Then try this code in a new graphic project: > > '------------------------------------------------------------------- > Public Sub Form_Open() > > ? Dim s As String = "Lorem ipsum dolor sit amet, consectetur > adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore > magna aliqua." > ? Dim iRows, iHeight, iNew As Integer > ? Dim iFontHeight As Integer > ? Dim fProp As Float > ? Dim hFont As Font > ? Dim hTextLabel As TextLabel > ... Hi, don't mind the variables iHeight, iNew, iFontHeight, fProp, I only do the cleaning on Saturdays. Regads Gianluigi From bsteers4 at gmail.com Thu Jun 16 16:27:59 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 16 Jun 2022 15:27:59 +0100 Subject: [Gambas-user] Problem: can not uninstall/purge GAMBAS on Ubuntu 20.04 In-Reply-To: <6999375a-02d1-4fe3-a453-6be3fc48be53@cofex.ch> References: <6999375a-02d1-4fe3-a453-6be3fc48be53@cofex.ch> Message-ID: You're welcome. you should have the qt5 versions on ubuntu anything qt4 is not installed. if you still want to upgrade gambas there is compilation/autotools method. run the following commands in a terminal..... git clone --depth=1 https://gitlab.com/gambas/gambas.git --branch=stable $HOME/gambas-stable cd $HOME/gambas-stable apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential g++ automake autoconf libtool libbz2-dev libzstd-dev libmysqlclient-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-private-dev libpoppler-glib-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-2.6-dev llvm-dev llvm libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libssl-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git ./reconf-all ./configure -C -q --disable-keyring --disable-qt4 make -j$(nproc) # If all has gone well uninstall old gambas and install update sudo apt-get remove "gambas3*" sudo make install On Thu, 16 Jun 2022 at 15:13, Peter Kostrz wrote: > Hi Bruce > > Thanks a lot. It worked perfect. Back on 3.14.3 One Question: gb.qt4.ext > and gb.qt4.webkit are not available which I needed in a project ?. How can > I load dem separately ? > > Thanks > > Peter > > > > Peter Kostrz / CEO Cofex AG > > > > > > *Besuchen Sie unserer Webseite unter* http://www.cofex.ch > > *Cofex AG -- Computing for Experts* > Bahnstrasse 24 > Postfach 600 > CH-8603 Schwerzenbach > Phone: +41 (0)44 806 50 50 > Fax: +41 (0)44 887 19 59 > Infobox: info at cofex.ch > Web: www.cofex.ch > ********* > LEGAL DESCLAIMER: > > > > *This electronic message contains information from Cofex AG, which may be > privileged or confidential. The information is intended for use only by > the individual(s) or entity named above. If you are not the intended > recipient, be aware that any disclosure, copying, distribution or use of > the contents of this information is strictly prohibited. If you have > received this electronic message in error, please notify me by telephone or > email (to the number or email address above) immediately. Any views > expressed in this message are those of the individual sender. This message > is for information purposes only. All liability of Cofex AG for any damages > resulting from e-mail use is excluded. Communications using this system > will also be monitored and may be recorded to secure effective operation > and for other lawful business purposes. * > *Cofex AG********** > > > > *Von:* User *Im Auftrag von *Bruce > Steers > *Gesendet:* Donnerstag, 16. Juni 2022 15:42 > *An:* Gambas Mailing List > *Betreff:* Re: [Gambas-user] Problem: can not uninstall/purge GAMBAS on > Ubuntu 20.04 > > > > > > > > On Thu, 16 Jun 2022 at 14:35, Bruce Steers wrote: > > > > > > On Thu, 16 Jun 2022 at 12:58, Peter Kostrz wrote: > > Hello > > Made a mistake and added ambas PPA in UBUNTU 20.04 - after an update nothing worked anymore. Then I saw that I have not to use ppa update in 20.04 > > Uninstall does not work It fails when calling gambas3-runtime (new 3.17.90 searched, but 3.14.3 found). fix broken does not work, remove and clean does not as well > > > > udo apt remove gambas3 > > Reading package lists... Done > > Building dependency tree > > Reading state information... Done > > You might want to run 'apt --fix-broken install' to correct these. > > The following packages have unmet dependencies: > > gambas3-dev : Depends: gambas3-dev-tools but it is not going to be installed > > > > I would try the following... > > # remove PPAs > > sudo add-apt-repository --remove ppa:gambas-team/gambas-daily > sudo add-apt-repository --remove ppa:gambas-team/gambas3 > > # Purge all of gambas3 > > sudo apt-get purge --fix-broken gambas3* > > # update apt and reinstall > > sudo apt-get update > sudo apt-get install gambas3* > > > > Correction: > > use quotes when purging/installing all of gambas3* using the asterix *. > > Eg. > > apt-get purge --fix-broken "gambas3*" > > apt-get-install "gambas3*" > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagoneo at libero.it Thu Jun 16 16:55:01 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 16:55:01 +0200 Subject: [Gambas-user] Mailing list malfunction? Message-ID: Hi Christof, if I follow the discussion by clicking on next message(by thread) the second two of my replies (see image) disappear. What could be the reason for this? Thank you Gianluigi -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas-list.png Type: image/png Size: 39719 bytes Desc: not available URL: From mike.crean at y7mail.com Thu Jun 16 17:37:05 2022 From: mike.crean at y7mail.com (Mike Crean) Date: Thu, 16 Jun 2022 15:37:05 +0000 (UTC) Subject: [Gambas-user] TextEdit could do with RichTextPos In-Reply-To: References: Message-ID: <789449974.4656521.1655393825427@mail.yahoo.com> Hey Bruce, its a good idea if you explicitly declare a veritable to declare them all as some of our micro controller friends go off with the pixies from time to time. eg?Dim iLPos As Integer = 0 or?? Dim sChar As Stringr = "" On Thursday, 16 June 2022, 10:18:05 pm AWST, Bruce Steers wrote: My GetRTPos() function is flawed :(have tried many a thing but cannot seem to perfect it :'( It seems to work unless the cursor is at the end of a line. I have attached a WIP richtext editor i have started.the function GetRTPos() is in the _TextEdit_Styles.class If anyone feels they could improve on what i am doing here please feel free (especially Ben ;) ) my objective is to be able to detect attributes to richtext text from the standard text cursor position.the GetRTPos() function gives the richtext position relative to the text position by skipping any html code apart from
and incrementing a char position pointer when reading a standard character. the Detect() function then backsteps from richtext position to find the code (using defaults if it finds before ) Something like this is sorely needed with TextEdit Ben.the control is more like a richtext "writer" than an "editor" when it comes to coding. writing html code to the control is easy enough but there is no easy way to get attribs. Just a way to accurately (more than me) get the Richtext position relative to text position would open the doors for some of my sketchy code to detect attribs at pos.but if you think you could easily enough implement somethinjg like this I think it would greatly enhance the control. RespectsBruceS On Thu, 16 Jun 2022 at 08:56, Bruce Steers wrote: On Wed, 15 Jun 2022 at 12:35, Bruce Steers wrote: Been playing with Textedit from qt5.ext trying to make a simple RichText editor. It would be REALLY useful if there was a way to get the cursor position relevant to the RichText property too. Ie..If i set my RichText to "This message is red" and i position the cursor on the m of the word message then Pos is 5 and TextEdit1.Text is just "This message is red" But the RichText property will now be this...

This message is green

And the cursor Pos there is not 5 it is 529 If i want to do anything fancy with modifying the Richtext or detecting styles/colors at cursor pos having a way to get a Richtext position relative to the cursor would be very useful. Or having a way to get some info about the text at cursor Ie. TextEdit1.GetAttribs(Pos) could get info like font/size/color/etc I feel i could write it myself but not without finding where the cursor is in the Richtext. Or is this all just not possible? RespectsBruceS If anyone wants the same thing I wrote this function... '' Get the position of the TextEdit.RichText from TextEdit.Pos Public Sub GetRTPos(Editor As TextEdit, Optional Pos As Integer) As Integer ? If Not Pos Then Pos = Editor.Pos ? If Not Editor.RichText Then Editor.RichText = Editor.Text ? Dim sRT As String = Editor.RichText ? sRT = Replace(sRT, ">", ">") ? sRT = Replace(sRT, "<", "<") ? Dim sRTLines As String[] = Split(sRT, "\n") ? Dim iPos As Integer = 1 ? Dim iLPos As Integer ? Dim iChars As Integer ? Dim sChar As String ? Dim bInside As Boolean ? iPos = Len(sRTLines[0]) + Len(sRTLines[1]) + Len(sRTLines[2]) + Len(sRTLines[3]) + 3 ? For cLine As Integer = 4 To sRTLines.Max ? ? Inc iPos ' newline char ? ? sRT = sRTLines[cLine] ? ? iLPos = 1 ? ? While iLPos < sRT.Len ? ? ? sChar = Mid(sRT, iLPos, 1) ? ? ? Select sChar ? ? ? ? Case "<" ? ? ? ? ? bInside = True ? ? ? ? ? If Mid(sRT, iLPos, 6) = "
" Then Inc iChars ? ? ? ? Case ">" ? ? ? ? ? bInside = False ? ? ? End Select ? ? ? If Not bInside And If sChar <> ">" Then Inc iChars ? ? ? If iChars = Pos + 1 Then Return iPos ? ? ? Inc iPos ? ? ? Inc iLPos ? ? Wend ? Next ? Return -1 End ? ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike.crean at y7mail.com Thu Jun 16 17:39:18 2022 From: mike.crean at y7mail.com (Mike Crean) Date: Thu, 16 Jun 2022 15:39:18 +0000 (UTC) Subject: [Gambas-user] TextEdit could do with RichTextPos In-Reply-To: <789449974.4656521.1655393825427@mail.yahoo.com> References: <789449974.4656521.1655393825427@mail.yahoo.com> Message-ID: <449266855.4685741.1655393958652@mail.yahoo.com> Opps?veritable = variable On Thursday, 16 June 2022, 11:37:05 pm AWST, Mike Crean wrote: Hey Bruce, its a good idea if you explicitly declare a veritable to declare them all as some of our micro controller friends go off with the pixies from time to time. eg?Dim iLPos As Integer = 0 or?? Dim sChar As Stringr = "" On Thursday, 16 June 2022, 10:18:05 pm AWST, Bruce Steers wrote: My GetRTPos() function is flawed :(have tried many a thing but cannot seem to perfect it :'( It seems to work unless the cursor is at the end of a line. I have attached a WIP richtext editor i have started.the function GetRTPos() is in the _TextEdit_Styles.class If anyone feels they could improve on what i am doing here please feel free (especially Ben ;) ) my objective is to be able to detect attributes to richtext text from the standard text cursor position.the GetRTPos() function gives the richtext position relative to the text position by skipping any html code apart from
and incrementing a char position pointer when reading a standard character. the Detect() function then backsteps from richtext position to find the code (using defaults if it finds before ) Something like this is sorely needed with TextEdit Ben.the control is more like a richtext "writer" than an "editor" when it comes to coding. writing html code to the control is easy enough but there is no easy way to get attribs. Just a way to accurately (more than me) get the Richtext position relative to text position would open the doors for some of my sketchy code to detect attribs at pos.but if you think you could easily enough implement somethinjg like this I think it would greatly enhance the control. RespectsBruceS On Thu, 16 Jun 2022 at 08:56, Bruce Steers wrote: On Wed, 15 Jun 2022 at 12:35, Bruce Steers wrote: Been playing with Textedit from qt5.ext trying to make a simple RichText editor. It would be REALLY useful if there was a way to get the cursor position relevant to the RichText property too. Ie..If i set my RichText to "This message is red" and i position the cursor on the m of the word message then Pos is 5 and TextEdit1.Text is just "This message is red" But the RichText property will now be this...

This message is green

And the cursor Pos there is not 5 it is 529 If i want to do anything fancy with modifying the Richtext or detecting styles/colors at cursor pos having a way to get a Richtext position relative to the cursor would be very useful. Or having a way to get some info about the text at cursor Ie. TextEdit1.GetAttribs(Pos) could get info like font/size/color/etc I feel i could write it myself but not without finding where the cursor is in the Richtext. Or is this all just not possible? RespectsBruceS If anyone wants the same thing I wrote this function... '' Get the position of the TextEdit.RichText from TextEdit.Pos Public Sub GetRTPos(Editor As TextEdit, Optional Pos As Integer) As Integer ? If Not Pos Then Pos = Editor.Pos ? If Not Editor.RichText Then Editor.RichText = Editor.Text ? Dim sRT As String = Editor.RichText ? sRT = Replace(sRT, ">", ">") ? sRT = Replace(sRT, "<", "<") ? Dim sRTLines As String[] = Split(sRT, "\n") ? Dim iPos As Integer = 1 ? Dim iLPos As Integer ? Dim iChars As Integer ? Dim sChar As String ? Dim bInside As Boolean ? iPos = Len(sRTLines[0]) + Len(sRTLines[1]) + Len(sRTLines[2]) + Len(sRTLines[3]) + 3 ? For cLine As Integer = 4 To sRTLines.Max ? ? Inc iPos ' newline char ? ? sRT = sRTLines[cLine] ? ? iLPos = 1 ? ? While iLPos < sRT.Len ? ? ? sChar = Mid(sRT, iLPos, 1) ? ? ? Select sChar ? ? ? ? Case "<" ? ? ? ? ? bInside = True ? ? ? ? ? If Mid(sRT, iLPos, 6) = "
" Then Inc iChars ? ? ? ? Case ">" ? ? ? ? ? bInside = False ? ? ? End Select ? ? ? If Not bInside And If sChar <> ">" Then Inc iChars ? ? ? If iChars = Pos + 1 Then Return iPos ? ? ? Inc iPos ? ? ? Inc iLPos ? ? Wend ? Next ? Return -1 End ? ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonlebon54 at yahoo.com Thu Jun 16 18:15:48 2022 From: simonlebon54 at yahoo.com (Steve) Date: Thu, 16 Jun 2022 08:15:48 -0800 Subject: [Gambas-user] label control In-Reply-To: References: Message-ID: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> Il 15/06/22 00:26, Steve via User ha scritto: I am attempting to populate a label control. The text on the control will vary. The size of the control does not. Is there a way to detect when the text Will overflow the control so that I can split the text up properly to display? This would be in the case where there is sufficient vertical room but not horizontal. Also the font size will vary. The TextLabel has Autoresize and Wrap properties that, if i undestand, you should need. Why can't you use them? Regards Gianluigi I did not see a wrap option on the label command. And the auto resize is not going to do the job when only the contents are changed. Auto resize with fire when things are resized. This label control will be dynamically display information. Bruce had a beautiful solution I don't understand half of the programming he used but it works flawlessly. ?Get TypeApp for Android ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagoneo at libero.it Thu Jun 16 18:51:45 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 18:51:45 +0200 Subject: [Gambas-user] label control In-Reply-To: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> References: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> Message-ID: <53ea077c-00f0-397f-bb49-e95806df0d82@libero.it> Il 16/06/22 18:15, Steve via User ha scritto: > I did not see a wrap option on the label command. And the auto resize is > not going to do the job when only the contents are changed. Auto resize > with fire when things are resized. This label control will be > dynamically display information. Bruce had a beautiful solution I don't > understand half of the programming he used but it works flawlessly. I don't know if you received this code: https://lists.gambas-basic.org/pipermail/user/2022-June/076286.html It seems that the ML is not working properly However this code of mine uses a TextLabel and not a Label. I think with the label it is not possible or it is more complicated :-/ Regards Gianluigi From bagoneo at libero.it Thu Jun 16 18:56:52 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 18:56:52 +0200 Subject: [Gambas-user] label control In-Reply-To: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> References: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> Message-ID: Il 16/06/22 18:15, Steve via User ha scritto: > Bruce had a beautiful solution I don't understand half of the > programming he used but it works flawlessly. Can you please point me to the code? I don't think I received it, thank you Regards Gianluigi From simonlebon54 at yahoo.com Thu Jun 16 22:17:59 2022 From: simonlebon54 at yahoo.com (Steve) Date: Thu, 16 Jun 2022 12:17:59 -0800 Subject: [Gambas-user] Media view control In-Reply-To: References: Message-ID: Hopefully this is a simple question. I am using mediaview control to watch an IP camera. Is there an easy way to save still shots and or video from that control? ?Get TypeApp for Android ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Jun 16 22:32:28 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 16 Jun 2022 22:32:28 +0200 Subject: [Gambas-user] Media view control In-Reply-To: References: Message-ID: Le 16/06/2022 ? 22:17, Steve via User a ?crit?: > Hopefully this is a simple question. I am using mediaview control to > watch an IP camera. Is there an easy way to save still shots and or > video from that control? > It's one hundred lines of code in C to do that. Hopefully, I have already done it for you. :-) Use the 'MediaControl.LastImage' property to retrieve the last image generated by the GStreamer control. The code is for "video" media controls. I didn't tested for other control that generate images. I think it will work too. If you want to save the video, I think you have to link controls to do that (it's the GStreamer's goal after all), but I didn't do it for you! Regards, -- Beno?t Minisini. From mbelmonte at belmotek.net Thu Jun 16 22:40:03 2022 From: mbelmonte at belmotek.net (Martin) Date: Thu, 16 Jun 2022 22:40:03 +0200 Subject: [Gambas-user] Debian bullseye backport of gambas3 is needed In-Reply-To: References: <0e9bb01d-59fd-977c-4870-313c76af4e17@gambas-basic.org> <9d9db11c-2900-f364-3dc2-97d3750b5a3b@belmotek.net> Message-ID: <99b4a2bf-43ba-731e-8874-a25a6944b31c@belmotek.net> I just tested and it is already possible to install gambas3 v3.17.2 on debian stable thanks to the backport packages. So in theory it would be possible to install gambas3 3.17.2 on a stable Debian server (11) and run a web, console or desktop application there. It would also be possible to install the 3.17.2 IDE and work with the modern components to create applications. This milestone opens the door to being able to use Debian at all stages of gambas software development and distribution. Best regards From bagoneo at libero.it Thu Jun 16 22:47:18 2022 From: bagoneo at libero.it (gian) Date: Thu, 16 Jun 2022 22:47:18 +0200 Subject: [Gambas-user] label control In-Reply-To: References: <50fd11f8-234f-4c7f-abfc-718cced192e2@yahoo.com> Message-ID: Il 16/06/22 18:56, gian via User ha scritto: > Il 16/06/22 18:15, Steve via User ha scritto: >> Bruce had a beautiful solution I don't understand half of the >> programming he used but it works flawlessly. > > Can you please point me to the code? > I don't think I received it, thank you > > Regards > Gianluigi Kindly Bruce Steers answered me privately and posted the code. So I could see that I didn't understand even on the second reading :-) I thought you wanted to reduce the Font so that the string would all fit inside the label and instead you wanted to truncate it. I finally realized... that I didn't understand ;-D Greetings Gianluigi From simonlebon54 at yahoo.com Thu Jun 16 23:03:52 2022 From: simonlebon54 at yahoo.com (Steve) Date: Thu, 16 Jun 2022 13:03:52 -0800 Subject: [Gambas-user] Mediaview control In-Reply-To: References: Message-ID: <6a84cc98-5e93-4b50-aaa6-5968367b1700@yahoo.com> Currently the media view control is what's being used to see the camera. I located the media control but no idea how to link the two or change to use the media control to display the camera. Or perhaps I just asked the wrong question. Thanks for helping Le 16/06/2022 ? 22:17, Steve via User a ?crit?: Hopefully this is a simple question. I am using mediaview control to watch an IP camera. Is there an easy way to save still shots and or video from that control? It's one hundred lines of code in C to do that. Hopefully, I have already done it for you. :-) Use the 'MediaControl.LastImage' property to retrieve the last image generated by the GStreamer control. The code is for "video" media controls. I didn't tested for other control that generate images. I think it will work too. If you want to save the video, I think you have to link controls to do that (it's the GStreamer's goal after all), but I didn't do it for you! Regards, -- Beno?t Minisini. ?Get TypeApp for Android ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Thu Jun 16 23:04:28 2022 From: mbelmonte at belmotek.net (Martin) Date: Thu, 16 Jun 2022 23:04:28 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to Message-ID: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> Hi, My web app doesn't work. - Apache server is running - Gambas app is ok - I run a test console app in the server (print Helow world) its works. Server: /usr/lib/cgi-bin/myapp.gambas cat /etc/apache2/conf-available/serve-cgi-bin.conf Define ENABLE_USR_LIB_CGI_BIN Define ENABLE_USR_LIB_CGI_BIN ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch AddHandler cgi-script .cgi .py .sh .pl .gb .gbs .gambas Require all granted Browser: http://nnn.nnn.nnn.nnn/cgi-bin/myapp.gambas Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster at localhost to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.53 (Debian) Server at nnn.nnn.nnn.nnn Port 80 ?What I'm doing wrong? Best regards From t.lee.davidson at gmail.com Fri Jun 17 00:50:58 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 16 Jun 2022 18:50:58 -0400 Subject: [Gambas-user] Mailing list malfunction? In-Reply-To: References: Message-ID: <3d609395-df3b-0f40-bf6c-2ae8e2eb15de@gmail.com> On 6/16/22 10:55, gian via User wrote: > Hi Christof, > > if I follow the discussion by clicking on next message(by thread) the second two of my replies (see image) disappear. > > What could be the reason for this? > > Thank you > > Gianluigi Just FYI: They seem to be there for me, Gianluigi. You have six replies total in that thread, and all of them are viewable by clicking the "Next message (by thread)" link. -- Lee From t.lee.davidson at gmail.com Fri Jun 17 04:42:53 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 16 Jun 2022 22:42:53 -0400 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> Message-ID: <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> There are a number of reasons why it is not working. A bit more information might be helpful. On 6/16/22 17:04, Martin wrote: > Hi, > My web app doesn't work. > > - Apache server is running > - Gambas app is ok What Gambas app? Your web app? How do you know it is ok? > - I run a test console app in the server (print Helow world) its works. How did you execute the console app - from the command line? Using what command? > More information about this error may be available in the server error log. What does the server error log say about the error? What code is your web app running? Can you provide a small project that reproduces the error? -- Lee From bagoneo at libero.it Fri Jun 17 09:23:31 2022 From: bagoneo at libero.it (gian) Date: Fri, 17 Jun 2022 09:23:31 +0200 Subject: [Gambas-user] Mailing list malfunction? In-Reply-To: <3d609395-df3b-0f40-bf6c-2ae8e2eb15de@gmail.com> References: <3d609395-df3b-0f40-bf6c-2ae8e2eb15de@gmail.com> Message-ID: Il 17/06/22 00:50, T Lee Davidson ha scritto: > On 6/16/22 10:55, gian via User wrote: >> Hi Christof, >> >> if I follow the discussion by clicking on next message(by thread) the >> second two of my replies (see image) disappear. >> >> What could be the reason for this? >> >> Thank you >> >> Gianluigi > > Just FYI: > They seem to be there for me, Gianluigi. You have six replies total in > that thread, and all of them are viewable by clicking the "Next message > (by thread)" link. > > Hi Lee, everything is working here today. Probably some malfunction on my side. I thank you and greetings Gianluigi From james at lixce.com Fri Jun 17 01:50:14 2022 From: james at lixce.com (james at lixce.com) Date: Thu, 16 Jun 2022 23:50:14 GMT Subject: [Gambas-user] MediaPlayer WebCam Message-ID: The MediaPlayer needs a URL myPlayer.URL = "v4l2:///dev/video0" Works for me Regards, -j From james at lixce.com Fri Jun 17 02:49:32 2022 From: james at lixce.com (james at lixce.com) Date: Fri, 17 Jun 2022 00:49:32 GMT Subject: [Gambas-user] TextEdit as RichText Editor Message-ID: Some text attributes can be read and changed directly from the TextEdit control using for Example: If TextEdit1.Format.Font.Bold Then TextEdit1.Format.Font.Bold = False This applies to the selected text or the entire paragraph if no text is selected. For more complex formatting you will have to analyze the RichText. You can pull the RichText for the paragraph by converting the TextEdit.Pos to a paragraph number then setting the position to the begining of the paragraph and selecting the text to the beginning of the next paragraph. inPara = TextEdit1.ToParagraph(TextEdit1.Pos) Textedit1.Select(TextEdit1.ToPos(inPara, 0), (TextEdit1.ToPos(inPara + 1, 0) - 1) stRicTxt = TextEdit1.Selection.RichText You will always get that funky header that you have to strip off and the dig through the html -ish RTF. Advanced formating is NOT trivial my TextEdit based Word Processor is about 7000 lines and still growing for edge cases. I gave up analyzing paragraphs and other elements directly and build an array of every Element (paragraphs, list items, table cells etc.) and literally update it on every keystroke; which, thanks to the amazing speed of Gambas, actually works. Final Note: The TextEdit control stores formatting in a valid, but very ugly, html syntax but it is really good at accepting much more human readable html and displaying it. This allows you to use things like: TextEdit1.Selection.RichText = "

This is a Header

" Which will be converted internally to:

This is a header

Regards, -j From brian at westwoodsvcs.com Fri Jun 17 23:41:22 2022 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 17 Jun 2022 14:41:22 -0700 (PDT) Subject: [Gambas-user] Gambas3 package backported to debian stable In-Reply-To: References: Message-ID: <610004526.55678.1655502082938.JavaMail.zimbra@westwoodsvcs.com> ----- On Jun 16, 2022, at 3:00 AM, Martin mbelmonte at belmotek.net wrote: > Hi, > > Few days ago the Debian Gambas team made a backport for the stable > version of Debian (11) now is possible install 3.17.2 in debian stable > whit the APT command. > apt -t bullseye-backports install gambas3 > > Best regards > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- After testing, it appears this works great on the Raspberry Pi 4 after it is upgraded to the bullseye 64 bit version of PI OS. Add this line to the beginning of /etc/apt/sources.list deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free Then sudo apt update apt -t bullseye-backports install gambas3 "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G From mbelmonte at belmotek.net Sat Jun 18 19:26:27 2022 From: mbelmonte at belmotek.net (Martin) Date: Sat, 18 Jun 2022 19:26:27 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> Message-ID: <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> El 17/6/22 a las 4:42, T Lee Davidson escribi?: > There are a number of reasons why it is not working. A bit more > information might be helpful. I sent an email whit the code but is waiting the moderator ok. Anyway, i solve the problem reading the apache log file, there i see the error, some packages was missing like gb-image, gb-crypt, gb-db, gb-image-io In short, it is my mistake in not having installed all the components. So the issue would be solved, I manage to serve the myweb.gambas application from the Apache2 server. https://imgur.com/n5UEKyz Well, this has just started so there is still a lot of work to do, but I am happy to finally be able to see the form in the browser and with apache. From mbelmonte at belmotek.net Sat Jun 18 22:55:22 2022 From: mbelmonte at belmotek.net (Martin) Date: Sat, 18 Jun 2022 22:55:22 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> Message-ID: What would be the right way to arrange the containers so that they behave the same way in the IDE's embedded http server and in apache? https://imgur.com/7HBRrUH.png Best regards From t.lee.davidson at gmail.com Sun Jun 19 04:39:32 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 18 Jun 2022 22:39:32 -0400 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> Message-ID: On 6/18/22 16:55, Martin wrote: > What would be the right way to arrange the containers so that they behave the same way in the IDE's embedded http server and in > apache? > https://imgur.com/7HBRrUH.png > Best regards Perhaps ... use the same code. ? If it's the same code, why does one use, "Password" and the other, "Clave"? It might not be the containers themselves, whichever ones you may be using, but the location of your style sheet. Does your browser show that it is being loaded? -- Lee From mbelmonte at belmotek.net Mon Jun 20 09:40:34 2022 From: mbelmonte at belmotek.net (Martin) Date: Mon, 20 Jun 2022 09:40:34 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> Message-ID: <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> El 19/6/22 a las 4:39, T Lee Davidson escribi?: > Perhaps ... use the same code. ? If it's the same code, why does one > use, "Password" and the other, "Clave"? it is the same code, The word "Password" has its translation as "Clave" as you could see in the picture bellow. https://imgur.com/RENTzX4.png > It might not be the containers themselves, whichever ones you may be > using, but the location of your style sheet. Does your browser show > that it is being loaded? if you mean the style.css file, there is one in the project, and maybe the embedded server "sees" it but apache doesn't because for apache, the file is inside the .gambas executable, right? Te moderator reject the previous code mail, so if you like to see the code please go to: https://gitlab.com/belmotek/base-web Best regards Martin. From t.lee.davidson at gmail.com Mon Jun 20 15:32:34 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 20 Jun 2022 09:32:34 -0400 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> Message-ID: <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> On 6/20/22 03:40, Martin wrote: > the file?is?inside?the?.gambas?executable,?right? No, it is not that I can see - unless it is encoded in a format other than plain text. -- Lee From bsteers4 at gmail.com Tue Jun 21 10:56:01 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 21 Jun 2022 09:56:01 +0100 Subject: [Gambas-user] TextEdit as RichText Editor In-Reply-To: <20220617145201.BA0D520302E0@h08.hostsharing.net> References: <20220617145201.BA0D520302E0@h08.hostsharing.net> Message-ID: On Fri, 17 Jun 2022 at 15:52, wrote: > Some text attributes can be read and changed directly from the TextEdit > control using > for Example: > > If TextEdit1.Format.Font.Bold Then TextEdit1.Format.Font.Bold = False > > This applies to the selected text or the entire paragraph if no text is > selected. > > For more complex formatting you will have to analyze the RichText. You can > pull the RichText for the paragraph by converting the TextEdit.Pos to a > paragraph number then setting the position to the begining of the paragraph > and selecting the text to the beginning of the next paragraph. > > inPara = TextEdit1.ToParagraph(TextEdit1.Pos) > Textedit1.Select(TextEdit1.ToPos(inPara, 0), (TextEdit1.ToPos(inPara + 1, > 0) - 1) > stRicTxt = TextEdit1.Selection.RichText > > You will always get that funky header that you have to strip off and the > dig through the html -ish RTF. > > Advanced formating is NOT trivial my TextEdit based Word Processor is > about 7000 lines and still growing for edge cases. I gave up analyzing > paragraphs and other elements directly and build an array of every Element > (paragraphs, list items, table cells etc.) and literally update it on every > keystroke; which, thanks to the amazing speed of Gambas, > actually works. > > Final Note: The TextEdit control stores formatting in a valid, but very > ugly, html syntax but it is really good at accepting much more human > readable html and displaying it. This allows you to use things like: > TextEdit1.Selection.RichText = "

This is a Header

" > > Which will be converted internally to: >

This is a header

> > Regards, -j > Thank you James , that's some cool info :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Tue Jun 21 11:33:42 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 21 Jun 2022 11:33:42 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> Message-ID: <79e13962-a44e-f95f-88dc-d078e80f0fcf@belmotek.net> El 20/6/22 a las 15:32, T Lee Davidson escribi?: > No, it is not that I can see - unless it is encoded in a format other > than plain text. In the line 16887 of the baseweb.gambas "style.css" is mentioned, but its content is encoded I gest. .startup.project.action.connection.gambas.info.lang.list.publicdatabase.dblogo.png/3:Connection1.connection/4:MODLOGS/4:MODVAR/4:WEBDATABASE/4:WEBFORMLOGIN/4:WEBFORMMAIN/8:Icons/8:Images/8:style.css/17:1..... ---------------------------------------------------------------------- Then, steel differences between gambas ide hhttp embeded server and Apache2, even whitout the style.css file that I rename to take it from equation. https://imgur.com/LWA8tbh Also the farm sample WebDemo has the same behavior https://imgur.com/md5he8s I share the code in gitlab [1] please if someone has the possibility that run the app in some Apache2 server If someone has the possibility to run the program on an apache2 server, he/she will be able to observe this strange behavior. Honestly I can't find any more documentation and the examples I can find don't tell me how to set everything up to work on apache2. Does anyone know of a website made with Gambas WebForms that is working somewhere ? I'm gathering all the information and problems / solutions I come across on the gambas-es.org forum [2] [1] https://gitlab.com/belmotek/base-web [2] https://gambas-es.org/showthread.php?tid=605 From mbelmonte at belmotek.net Tue Jun 21 11:49:52 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 21 Jun 2022 11:49:52 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> Message-ID: El 20/6/22 a las 15:32, T Lee Davidson escribi?: > No, it is not that I can see - unless it is encoded in a format other > than plain text. in the html generated by baseweb.gambas is referenced the style file like this: From mbelmonte at belmotek.net Tue Jun 21 12:16:54 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 21 Jun 2022 12:16:54 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <79e13962-a44e-f95f-88dc-d078e80f0fcf@belmotek.net> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <79e13962-a44e-f95f-88dc-d078e80f0fcf@belmotek.net> Message-ID: ?It is possible to control the html code generated? https://imgur.com/pvwEMTD If webform is vertical arrangement it ?Why the file style.css is renamed to style:0.2.1.css? I check the content of "style:0.2.1.css" and this is empty ?Why? Is it possible to achieve something like this example? https://www.w3schools.com/html/tryit.asp?filename=tryhtml_responsive_page How does webforms work internally? How is the html codego created? How to apply style.css correctly in Apache2 deployments? Best regadrs From claus.dietrich at freenet.de Tue Jun 21 17:33:41 2022 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Tue, 21 Jun 2022 17:33:41 +0200 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server Message-ID: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> Dear Friends I developed a web-application with gb.web.gui which so far worked well with the embedded web-server. Today I compiled the project to a Gambas executable with 3.17.90 (master) and copied it into a lighttpd server directory, changed the ownership and rights as required and opened the web-app with a browser. The result was a kind of surprise, because everything looked as usual, but one set of icons where missing while another set of icons was displayed. Those icons which were displayed are located in the project directory "Public" and those which are not displayed are located in the project directory "Public/brandlogos/". Why does this happen when I deploy the web-app at a real server and not during development with the embedded web-server? Claus From mbelmonte at belmotek.net Tue Jun 21 18:23:56 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 21 Jun 2022 18:23:56 +0200 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server In-Reply-To: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> References: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> Message-ID: <5640699d-5e6a-92f3-2a89-0ac27a75e46d@belmotek.net> El 21/6/22 a las 17:33, Claus Dietrich escribi?: > > Those icons which were displayed are located in the project directory > "Public" and those which are not displayed are located in the project > directory "Public/brandlogos/". Why does this happen when I deploy the > web-app at a real server and not during development with the embedded > web-server? Hi, I see also some differences between the embedded http server (IDE) and Apache2, but the arrangement. In your case is easy to solve, put all the icons in ./Public directory, but I dont know why this differences exist, sorry. I'm trying to made a basical webapp to learn all the steps needed to deploy some application gambas webforms. https://gitlab.com/belmotek/base-web Any comment or improvement is welcome. Best regards Martin. From benoit.minisini at gambas-basic.org Tue Jun 21 18:24:34 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 21 Jun 2022 18:24:34 +0200 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server In-Reply-To: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> References: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> Message-ID: <5107d303-8913-a32e-2121-12630951d7d1@gambas-basic.org> Le 21/06/2022 ? 17:33, Claus Dietrich a ?crit?: > Dear Friends > > I developed a web-application with gb.web.gui which so far worked well > with the embedded web-server. Today I compiled the project to a Gambas > executable with 3.17.90 (master) and copied it into a lighttpd server > directory, changed the ownership and rights as required and opened the > web-app with a browser. The result was a kind of surprise, because > everything looked as usual, but one set of icons where missing while > another set of icons was displayed. > > Those icons which were displayed are located in the project directory > "Public" and those which are not displayed are located in the project > directory "Public/brandlogos/". Why does this happen when I deploy the > web-app at a real server and not during development with the embedded > web-server? > > Claus > I will check. -- Beno?t Minisini. From t.lee.davidson at gmail.com Tue Jun 21 23:46:56 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 21 Jun 2022 17:46:56 -0400 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server In-Reply-To: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> References: <4ab15fd4-3bcf-ae41-e15d-5673c1eb1ee2@freenet.de> Message-ID: On 6/21/22 11:33, Claus Dietrich wrote: > Dear Friends > > I developed a web-application with gb.web.gui which so far worked well with the embedded web-server. Today I compiled the > project to a Gambas executable with 3.17.90 (master) and copied it into a lighttpd server directory, changed the ownership and > rights as required and opened the web-app with a browser. The result was a kind of surprise, because everything looked as usual, > but one set of icons where missing while another set of icons was displayed. > > Those icons which were displayed are located in the project directory "Public" and those which are not displayed are located in > the project directory "Public/brandlogos/". Why does this happen when I deploy the web-app at a real server and not during > development with the embedded web-server? > > Claus I was just researching this due to an issue Martin is having with loading a style sheet. With the simple Web App created with the New Project option and with an added style sheet, "style.css", and linking the location of the style sheet two different ways on two different servers tested with two different browsers, the following are my results. If I link the style sheet thus: On Apache/2.4.51 and Lighttpd/1.4.64 the result is the content of style.css is the same as the rendered HTML. It's as if the application is not providing the style sheet from it's Public directory, but actually executing itself again. Firefox console states, 'The stylesheet http://localhost/~user/cgi-bin/webapptest/webapptest.gambas/style.css was loaded as CSS even though its MIME type, ?text/html?, is not ?text/css?.' If I copy Public/style.css to the application's main directory and link it thus: Apache chokes on trying to execute it. :-/ If I then move style.css out of the cgi-bin tree and link it appropriately, Apache has no problem loading it correctly. Lighttpd loads the style sheet correctly even if it is within the cgi-bin tree. -- Lee From benoit.minisini at gambas-basic.org Wed Jun 22 01:19:49 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 22 Jun 2022 01:19:49 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> Message-ID: <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> Le 21/06/2022 ? 11:49, Martin a ?crit?: > El 20/6/22 a las 15:32, T Lee Davidson escribi?: >> No, it is not that I can see - unless it is encoded in a format other >> than plain text. > > in the html generated by baseweb.gambas is referenced the style file > like this: > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I confirm there is a problem between 'gb.web.gui' and 'apache'. I'm trying to figure what it is... -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Jun 22 02:41:18 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 22 Jun 2022 02:41:18 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> Message-ID: <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> Le 22/06/2022 ? 01:19, Benoit Minisini a ?crit?: > Le 21/06/2022 ? 11:49, Martin a ?crit?: >> El 20/6/22 a las 15:32, T Lee Davidson escribi?: >>> No, it is not that I can see - unless it is encoded in a format other >>> than plain text. >> >> in the html generated by baseweb.gambas is referenced the style file >> like this: >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I confirm there is a problem between 'gb.web.gui' and 'apache'. I'm > trying to figure what it is... > No, actually there is no problem. :-) BUT... On Ubuntu, and maybe on other systems, apache2 systemd service is configured to use a private /tmp (i.e. what your script see as '/tmp' is actually '/tmp/systemd-private--apache2.service-/tmp'. It may make your program crash, and, alas, at the moment, you won't see the error only inside the 'error.log' file of the 'gb.web.gui' component, and that file is written only if there exists a '/tmp/session.debug' file - and that '/tmp' is the "private tmp"!. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Jun 22 02:42:26 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 22 Jun 2022 02:42:26 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> Message-ID: <0e6ce034-acbf-c4f3-bc8b-75b5a3ce8082@gambas-basic.org> > It may make your program crash, and, alas, at the moment, you won't > see the error only inside the 'error.log' file of the 'gb.web.gui'... -> read "you will see the error only..." -- Beno?t Minisini. From t.lee.davidson at gmail.com Wed Jun 22 03:16:42 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 21 Jun 2022 21:16:42 -0400 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> Message-ID: On 6/21/22 20:41, Benoit Minisini wrote: > On Ubuntu, and maybe on other systems, apache2 systemd service is configured to use a private /tmp (i.e. what your script see as > '/tmp' is actually '/tmp/systemd-private--apache2.service-/tmp'. Yes, on OpenSUSE Leap 15 (and I see others) as well. My /usr/lib/systemd/system/apache2.service file has "PrivateTmp=true", and the tmp dir is: /var/tmp/systemd-private-*-apache2.service-*/tmp -- Lee From t.lee.davidson at gmail.com Wed Jun 22 03:20:39 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 21 Jun 2022 21:20:39 -0400 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> Message-ID: <2ab62bac-becf-8eda-ef42-7e281b2dc22d@gmail.com> On 6/21/22 21:16, T Lee Davidson wrote: > On 6/21/22 20:41, Benoit Minisini wrote: >> On Ubuntu, and maybe on other systems, apache2 systemd service is configured to use a private /tmp (i.e. what your script see >> as '/tmp' is actually '/tmp/systemd-private--apache2.service-/tmp'. > > Yes, on OpenSUSE Leap 15 (and I see others) as well. > > My /usr/lib/systemd/system/apache2.service file has "PrivateTmp=true", and the tmp dir is: > /var/tmp/systemd-private-*-apache2.service-*/tmp I almost forgot to mention that the apache service tmp directory is set with 700 permissions, so it is not even readable by an unprivileged user or group. -- Lee From claus.dietrich at freenet.de Wed Jun 22 17:25:31 2022 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Wed, 22 Jun 2022 17:25:31 +0200 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server In-Reply-To: <4e3745d5-f2a2-1a67-4146-403573ea20d8@t-online.de> References: <4e3745d5-f2a2-1a67-4146-403573ea20d8@t-online.de> Message-ID: >El 21/6/22 a las 17:33, Claus Dietrich escribi?: >> >> Those icons which were displayed are located in the project directory >> "Public" and those which are not displayed are located in the project >> directory "Public/brandlogos/". Why does this happen when I deploy the >> web-app at a real server and not during development with the embedded >> web-server? >Hi, > I see also some differences between the embedded http server (IDE) and > Apache2, but the arrangement. > In your case is easy to solve, put all the icons in ./Public directory, > but I dont know why this differences exist, sorry. > > I'm trying to made a basical webapp to learn all the steps needed to > deploy some application gambas webforms. > > https://gitlab.com/belmotek/base-web > >Any comment or improvement is welcome. > >Best regards >Martin. Hi Martin Thanks for your comments and hint about your project. It seems that we are primarily suffering from the lack of documentation in the area of Gambas web-programming. Hans from the Gambas-Buch is currently working on a complete rewriting of chapter 24.13 which relates (not only) to the deployment of Gambas Web-Apps and I am the lucky one who reviews and edits his texts, tests the web-apps and the installation and configuration of a lighttpd cgi server-environment. The text will be published in German and English. Any exchange of experience and information with the Spanish Gambas-Community in this field would be much appreciated. We will send a note to this circle as soon as the Englisch version of the rewritten chapter is online. Claus From bsteers4 at gmail.com Wed Jun 22 19:46:43 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 22 Jun 2022 18:46:43 +0100 Subject: [Gambas-user] TextEdit.Format.Background glitch Message-ID: There is a problem with the TextEdit.Format.Background property. If you set color to 0 (Color.Black) the background will be black If you set it to -1 (Color.Default) it is transparent so doc background shows. Problem is.. initially, if unset, the Background reports a value of 0 (Color.Black) when it is -1 (Default/transparent) So you cannot tell if Background is black or transparent unless it has been explicitly set. Can the control be made to consider an unset Background as -1 not 0 ? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Wed Jun 22 21:19:43 2022 From: mbelmonte at belmotek.net (Martin) Date: Wed, 22 Jun 2022 21:19:43 +0200 Subject: [Gambas-user] Gambas Web-App doesn't work on a real Web-Server In-Reply-To: References: <4e3745d5-f2a2-1a67-4146-403573ea20d8@t-online.de> Message-ID: <0996aada-74a6-42e1-0703-6deb187ebb69@belmotek.net> El 22/6/22 a las 17:25, Claus Dietrich escribi?: > It seems that we are primarily suffering from the lack of > documentation in the area of Gambas web-programming. > Hans from the Gambas-Buch is currently working on a > complete rewriting of chapter 24.13 which relates > (not only) to the deployment of Gambas Web-Apps > and I am the lucky one who reviews and edits his texts, > tests the web-apps and the installation and configuration > of a lighttpd cgi server-environment. The text will be > published in German and English. > Any exchange of experience and information with the > Spanish Gambas-Community in this field would be > much appreciated. We will send a note to this circle > as soon as the Englisch version of the rewritten > chapter is online. Hi Claus, Thank you for your kind words. If there was more documentation it would be easier, but surely in a few months we will have some more of it. It is very good news about chapter 24.13, I am going to read it. And good luck with the revision of the text. Count on me if you want some collaboration I could test apps on the Apache 2 server. In the spanish forum (yet) there is no ordered and complete information to deploy a web, there are only a few isolated topics so I try to gather everything in one place: https://gambas-es.org/showthread.php?tid=605 But seeing how well ordered is the online manual of yours I would like to collaborate in what I can, as I think it is the best available. Best regards Martin. From rwe-sse at osnanet.de Thu Jun 23 09:31:08 2022 From: rwe-sse at osnanet.de (Rolf-Werner Eilert) Date: Thu, 23 Jun 2022 09:31:08 +0200 Subject: [Gambas-user] Webform - changes to form not updated in browser In-Reply-To: References: <9d18d2ce-fd2e-6ed0-30c5-048bdd49fc85@osnanet.de> <8822bf0f-7886-a747-255c-b5098e932659@gambas-basic.org> Message-ID: <8e10c9ba-3ec0-bb90-7d21-50d62cc3f17b@osnanet.de> Am 09.06.22 um 22:55 schrieb Yves Cloutier: > Ah ok je comprend. Found it and yes deleting session/gb.web.gui solves > it. Merci > If it is that simpel, why couldn't the IDE do it itself? When I click Play, the editor will save the new version anyway and the IDE could delete temporary files at the same time. Regards Rolf From mbelmonte at belmotek.net Thu Jun 23 10:12:07 2022 From: mbelmonte at belmotek.net (Martin) Date: Thu, 23 Jun 2022 10:12:07 +0200 Subject: [Gambas-user] Apache + Gambas Web form how to In-Reply-To: <2ab62bac-becf-8eda-ef42-7e281b2dc22d@gmail.com> References: <3e197f47-b8fd-0232-c193-0c6350e98944@belmotek.net> <738260f2-4d78-9d9e-5817-835a938530d5@gmail.com> <9450a413-b760-3926-a612-a0378b9c1511@belmotek.net> <03e5e8cf-1d88-b8e1-5cb7-c6cd1bbc1bd2@belmotek.net> <5d42b07a-1ffb-fed0-dedb-b50cf0e1365e@gmail.com> <3b6bea4e-4055-f665-9777-7ac9c6f8bd96@gambas-basic.org> <9d89dc22-9dc2-efd4-8eb4-31b227cf6877@gambas-basic.org> <2ab62bac-becf-8eda-ef42-7e281b2dc22d@gmail.com> Message-ID: <0ffc7971-5e47-67d1-faed-86c8d9261d9d@belmotek.net> I made this very simple style.css file -------------------------------------- @media screen and (max-width: 800px) { .only-desktop { width: 1px; display: none; } } -------------------------------------- Then, the behavior is not the same Embedded IDE http server, the ... Login ... style:0.0.31.css has 1093 lines after has added the content in style.css in gambas project. https://imgur.com/xacVS94 Apache 2 server ... ... style:0.0.31.css is empty. Something happen (or not happen) at the moment of creation of this file. https://imgur.com/8bIHdoj Best regards From kicking177 at gmail.com Thu Jun 23 18:35:20 2022 From: kicking177 at gmail.com (KKing) Date: Thu, 23 Jun 2022 17:35:20 +0100 Subject: [Gambas-user] JSON Message-ID: <973f363f-9857-1055-f9ec-586f9c9a27d3@gmail.com> Do I need to add a component in order to use JSON.decode and JSONCollection? If yes what is it called and from what version of Gambas has it been available. From adamnt42 at gmail.com Thu Jun 23 20:46:34 2022 From: adamnt42 at gmail.com (bb) Date: Fri, 24 Jun 2022 04:16:34 +0930 Subject: [Gambas-user] JSON In-Reply-To: <973f363f-9857-1055-f9ec-586f9c9a27d3@gmail.com> References: <973f363f-9857-1055-f9ec-586f9c9a27d3@gmail.com> Message-ID: <6353a4c8e67cf7d864c1d54986a5af8a520850f6.camel@gmail.com> On Thu, 2022-06-23 at 17:35 +0100, KKing wrote: > Do I need to add a component in order to use JSON.decode and > JSONCollection? > If yes what is it called and from what version of Gambas has it been > available. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- AFAIK you need gb.web Available since ? (some long time) b From benoit.minisini at gambas-basic.org Thu Jun 23 22:56:48 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 23 Jun 2022 22:56:48 +0200 Subject: [Gambas-user] JSON In-Reply-To: <973f363f-9857-1055-f9ec-586f9c9a27d3@gmail.com> References: <973f363f-9857-1055-f9ec-586f9c9a27d3@gmail.com> Message-ID: <99709722-868a-674f-eb41-41728739db63@gambas-basic.org> Le 23/06/2022 ? 18:35, KKing a ?crit?: > Do I need to add a component in order to use JSON.decode and > JSONCollection? > If yes what is it called and from what version of Gambas has it been > available. > It's 'gb.util.web'. Regards, -- Beno?t Minisini. From claus.dietrich at freenet.de Fri Jun 24 18:11:59 2022 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 24 Jun 2022 18:11:59 +0200 Subject: [Gambas-user] JSON Message-ID: <5620f188-2f7a-eb67-9ecd-2ebc08a5794e@freenet.de> Hi Benoit Not knowing a) whether a component is needed b) which component is needed for which functionality c) what dependency exists to other components is happening to all Gambassers I guess. Google and the wiki normally provides according hints but wouldn't it be helpful to all, if we had an according table which provides all needed information to work with a class? In the IDE we have a list of all components (about 100!) and for each we can find - a description about its function - a list of classes it supports and - a description of each class. But this doesn't help if you want to know which component is needed for a class. I am thinking of an alphabetic list of classes which - describes, what the class is good for, - what component(s) is(are) needed and - a description of the component's functionality Since all information are in the IDE, can't the IDE provide a kind of "Component-Selection-Help/Guide"? Or can you automatically generate and maintain a separate list? Regards Claus From t.lee.davidson at gmail.com Fri Jun 24 22:34:57 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 24 Jun 2022 16:34:57 -0400 Subject: [Gambas-user] JSON In-Reply-To: <5620f188-2f7a-eb67-9ecd-2ebc08a5794e@freenet.de> References: <5620f188-2f7a-eb67-9ecd-2ebc08a5794e@freenet.de> Message-ID: On 6/24/22 12:11, Claus Dietrich wrote: > Not?knowing > > a)?whether?a?component?is?needed > > b)?which?component?is?needed?for?which?functionality > > c)?what?dependency?exists?to?other?components > > is?happening?to?all?Gambassers?I?guess. > > Google?and?the?wiki?normally?provides?according?hints > > but?wouldn't?it?be?helpful?to?all,?if?we?had?an?according > > table?which?provides?all?needed?information?to?work > > with?a?class? I don't know if this helps any, but ... If you're logged in to the Wiki, there is a handy search box. Searching for "json", for example, produced the result in the attached screenshot. And, it is easy to see which component to which it belongs. -- Lee -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot_20220624_162923.png Type: image/png Size: 94268 bytes Desc: not available URL: From isafiur at gmail.com Sun Jun 26 08:28:00 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 26 Jun 2022 12:13:00 +0545 Subject: [Gambas-user] Placing a Java script at the bottom of WebForm Message-ID: Hi Beno?t How can I place a Java script at the bottom of WebForm before the closing tag. There are some procedures but I couldn't identify exactly -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Sun Jun 26 12:30:06 2022 From: mbelmonte at belmotek.net (Martin) Date: Sun, 26 Jun 2022 12:30:06 +0200 Subject: [Gambas-user] List al the classes and symbols Message-ID: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Hi, I want to list all the Gambas classes for all components. Public Function AllClases() As Collection Dim cClass As New Collection Dim obj As Object = ? ' what object would be here? Dim MyClass As Class = Object.Class(obj) Dim sSymbol As String For Each sSymbol In MyClass.Symbols Print MyClass.Name & ": " & sSymbol Next Return cClass End Best regards. Martin From t.lee.davidson at gmail.com Sun Jun 26 15:04:20 2022 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 26 Jun 2022 09:04:20 -0400 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: <730a78a2-fb1c-bc95-c508-fc20c25c7d52@gmail.com> On 6/26/22 06:30, Martin wrote: > I?want?to?list?all?the?Gambas?classes?for?all?components. You want to list all the classes for every single Gambas component? Hmmm, perhaps try crawling the source code. Or, you want to list all the classes for all the controls used in a particular project? Maybe start with the main form and iterate through its children. -- Lee From charlie at cogier.com Sun Jun 26 16:07:45 2022 From: charlie at cogier.com (Charlie Ogier) Date: Sun, 26 Jun 2022 15:07:45 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: <9ac275cb-b183-2030-9dbe-018ed74e1484@cogier.com> Hi Martin, Have a look at Gambas_Classes on the Farm. Picture of the program is here https://www.cogier.com/gambas/Gambas_classes.png. Charlie. On 26/06/2022 11:30, Martin wrote: > Hi, > I want to list all the Gambas classes for all components. > > Public Function AllClases() As Collection > > ? Dim cClass As New Collection > ? Dim obj As Object = ? ' what object would be here? > ? Dim MyClass As Class = Object.Class(obj) > ? Dim sSymbol As String > > ? For Each sSymbol In MyClass.Symbols > ????? Print MyClass.Name & ": " & sSymbol > ? Next > > ? Return cClass > > End > > Best regards. > Martin > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From mbelmonte at belmotek.net Sun Jun 26 19:00:07 2022 From: mbelmonte at belmotek.net (Martin) Date: Sun, 26 Jun 2022 19:00:07 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <730a78a2-fb1c-bc95-c508-fc20c25c7d52@gmail.com> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <730a78a2-fb1c-bc95-c508-fc20c25c7d52@gmail.com> Message-ID: El 26/6/22 a las 15:04, T Lee Davidson escribi?: > > You want to list all the classes for every single Gambas component? yes From mbelmonte at belmotek.net Sun Jun 26 19:13:37 2022 From: mbelmonte at belmotek.net (Martin) Date: Sun, 26 Jun 2022 19:13:37 +0200 Subject: [Gambas-user] Unnecessary duplication? Message-ID: Hi, Is it really necessary to duplicate classes that do the same thing in different components, like Complex which is in gb.gsl and also in gb.complex? Best regards. Martin From bsteers4 at gmail.com Sun Jun 26 22:16:16 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 26 Jun 2022 21:16:16 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: On Sun, 26 Jun 2022 at 11:30, Martin wrote: > Hi, > I want to list all the Gambas classes for all components. > > Public Function AllClases() As Collection > > Dim cClass As New Collection > Dim obj As Object = ? ' what object would be here? > Dim MyClass As Class = Object.Class(obj) > Dim sSymbol As String > > For Each sSymbol In MyClass.Symbols > Print MyClass.Name & ": " & sSymbol > Next > > Return cClass > > End > > Best regards. > Martin > Any gambas application only knows it's loaded classes, if you want ALL other classes you could probably list the /usr/lib/gambas3 dir and load each component manually with Component.Load(). Something like... Dim sClasses As String[] = Dir("/usr/lib/gambas3", "*.gambas") For Each s As String In sClasses Component.Load(File.BaseName(s)) Next But you cannot load ALL the components as some are incompatible with others so the above code won't work, maybe you can work with that? With components loaded use the Classes array *For Each hClass As Class In Classes* * For Each sSymbol As String In hClass.Symbols Print hClass.Name & ": " & sSymbol Next Next* Maybe you could use a script (or make an exe) to load a component and list its clases/symbols by running it with a component name (comining the above method).... *#!/usr/bin/env gbs3' Gambas script file' *List classes before loading component *Dim sList As New String[]For Each cl As Class In ClassessList.Add(cl.name )Next* *' *load component from arg *Component.Load(Args[1])* *' *List the classes/symbols again and report what's new *For Each cl As Class In ClassesIf Not sList.Exist(cl.name ) Then Print cl.Name For Each sSymbol As String In cl.Symbols Print cl.Name & ": " & sSymbol NextEndifNext* BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Jun 26 22:27:27 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 26 Jun 2022 21:27:27 +0100 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: References: Message-ID: On Sun, 26 Jun 2022 at 18:14, Martin wrote: > Hi, > Is it really necessary to duplicate classes that do the same thing in > different components, like Complex which is in gb.gsl and also in > gb.complex? Why is it a problem for you? gsl complex is a much more advanced class than gb.complex component not a duplicate http://gambaswiki.org/wiki/comp/gb.complex/complex http://gambaswiki.org/wiki/comp/gb.gsl/complex BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Jun 26 22:30:19 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 26 Jun 2022 21:30:19 +0100 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: References: Message-ID: On Sun, 26 Jun 2022 at 21:27, Bruce Steers wrote: > > > On Sun, 26 Jun 2022 at 18:14, Martin wrote: > >> Hi, >> Is it really necessary to duplicate classes that do the same thing in >> different components, like Complex which is in gb.gsl and also in >> gb.complex? > > > Why is it a problem for you? > gsl complex is a much more advanced class than gb.complex component not a > duplicate > > http://gambaswiki.org/wiki/comp/gb.complex/complex > http://gambaswiki.org/wiki/comp/gb.gsl/complex > It's more "complex" than it looks ;) (see what i did there) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Jun 27 01:20:42 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 27 Jun 2022 01:20:42 +0200 Subject: [Gambas-user] Placing a Java script at the bottom of WebForm In-Reply-To: References: Message-ID: <829b6402-6ef6-5a95-f13b-d39399866792@gambas-basic.org> Le 26/06/2022 ? 08:28, Safiur Rahman a ?crit?: > Hi Beno?t > > How can I place a Java script at the bottom of WebForm before the > closing tag. There are some procedures but I couldn't identify > exactly > > -- > Regards > Safiur Rahman > Why "at the bottom"? What do you mean by that? What do you want to do exactly? -- Beno?t Minisini. From bsteers4 at gmail.com Mon Jun 27 05:59:33 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 27 Jun 2022 04:59:33 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <730a78a2-fb1c-bc95-c508-fc20c25c7d52@gmail.com> Message-ID: On Sun, 26 Jun 2022 at 18:01, Martin wrote: > El 26/6/22 a las 15:04, T Lee Davidson escribi?: > > > > You want to list all the classes for every single Gambas component? > yes > this almost works (attached project)... it has a script in the .public folder that it runs to load components and list the classes/symbols some of the components fail to load though. Maybe you can figure it out from there BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 From isafiur at gmail.com Mon Jun 27 11:29:46 2022 From: isafiur at gmail.com (Safiur Rahman) Date: Mon, 27 Jun 2022 15:14:46 +0545 Subject: [Gambas-user] Placing a Java script at the bottom of WebForm In-Reply-To: References: Message-ID: Hi I need to put javascript at bottom because it references some web controls. The controls need to be loaded before executing the code. If it's in the HEAD section, the script will be parsed before any HTML or CSS elements are loaded. Isn't it? On Sun, 26 Jun 2022, 12:13 Safiur Rahman, wrote: > Hi Beno?t > > How can I place a Java script at the bottom of WebForm before the closing > tag. There are some procedures but I couldn't identify exactly > > -- > Regards > Safiur Rahman > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Mon Jun 27 11:43:27 2022 From: mbelmonte at belmotek.net (Martin) Date: Mon, 27 Jun 2022 11:43:27 +0200 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: References: Message-ID: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> El 26/6/22 a las 22:27, Bruce Steers escribi?: > Why is it a problem for you? > gsl complex is a much more advanced class than gb.complex component not a > duplicate Hehe, is not a problem, sorry if it sound hard. I want to know why is there two clases very similar that aims to do the same only this I'm curious, just that. The origin of my question is because I'm trying to organize the available documentation of gambas (in an automatic way) then I found many classes with equal name in different components. If gb.complex and gb.gsl both have the class Complex and then gb.complex/Complex has 2 properties and 7 methods which are also all in the class gb.gsl/Complex I wonder why the component gb.Complex still exists? a) For compatibility b) If it works, don't touch it c) Performance d) Other Best regards. From bsteers4 at gmail.com Mon Jun 27 17:41:27 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 27 Jun 2022 16:41:27 +0100 Subject: [Gambas-user] (no subject) Message-ID: this is the component file for gb.gtk3.x11 *[Component]Author=Beno?t MinisiniRequire=gb.qt5Hidden=True* Is the require=gb.qt5 correct? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Jun 27 21:49:24 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 27 Jun 2022 20:49:24 +0100 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> References: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> Message-ID: On Mon, 27 Jun 2022 at 20:42, Martin wrote: > El 26/6/22 a las 22:27, Bruce Steers escribi?: > > Why is it a problem for you? > > gsl complex is a much more advanced class than gb.complex component not a > > duplicate > Hehe, is not a problem, sorry if it sound hard. > I want to know why is there two clases very similar that aims to do the > same only this I'm curious, just that. > > The origin of my question is because I'm trying to organize the > available documentation of gambas (in an automatic way) then I found > many classes with equal name in different components. > > If gb.complex and gb.gsl both have the class Complex and then > gb.complex/Complex has 2 properties and 7 methods which are also all in > the class gb.gsl/Complex I wonder why the component gb.Complex still > exists? > a) For compatibility > b) If it works, don't touch it > c) Performance > d) Other > > Best regards. > the gsl docs say it is unfinished and only part of gsl library is implemented. probably gb.complex was made before. Like you say is it works don't touch it. some people may be using gb.complex , if it's removed they got to re-write their programs. Benoit tries his best to only make "additions" to gambas and not "change/remove" things so peoples software continues to work. It's rare to actually remove anything. many things are depreciated like for example HSplit and VSplit changed to one single Splitter container but VSplit and HSplit are not gone and still work for programs using it. gb.complex has been around since gambas 3.3 (not sure when gb.gsl was made) so my guess would be for compatibility gb.complex still exists , for performance gb.complex is less of a component than gb.gsl and gb.complex would not require gsl libraries so also advantages there. I guess the Complex name was because gb.complex was based on what gsl library Complex does, Like i jokingly said, the answer is rather "complex" lol :) And for your document thing you're just going to have to work around it. It is what it is. You'll probably going to find more things like this, you can't change it as others may be using these methods , you're just going to have to work with what it is already :) All the best BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Mon Jun 27 21:50:59 2022 From: adamnt42 at gmail.com (bb) Date: Tue, 28 Jun 2022 05:20:59 +0930 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> References: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> Message-ID: <97e86315e932caef0445c5fd8f742b5b764ee292.camel@gmail.com> On Mon, 2022-06-27 at 11:43 +0200, Martin wrote: > El 26/6/22 a las 22:27, Bruce Steers escribi?: > > Why is it a problem for you? > > gsl complex is a much more advanced class than gb.complex component > > not a > > duplicate > Hehe, is not a problem, sorry if it sound hard. > I want to know why is there two clases very similar that aims to do > the > same only this I'm curious, just that. > > The origin of my question is because I'm trying to organize the > available documentation of gambas (in an automatic way) then I found > many classes with equal name in different components. > > If gb.complex and gb.gsl both have the class Complex and then > gb.complex/Complex has 2 properties and 7 methods which are also all > in > the class gb.gsl/Complex I wonder why the component gb.Complex still > exists? > a) For compatibility > b) If it works, don't touch it > c) Performance > d) Other > > Best regards. > > ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- Specifically in the case of gb.gsl, the following is probably missing from the help : gb.gsl is an interface to the GSL libraries. b From adamnt42 at gmail.com Mon Jun 27 21:58:17 2022 From: adamnt42 at gmail.com (bb) Date: Tue, 28 Jun 2022 05:28:17 +0930 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: On Sun, 2022-06-26 at 12:30 +0200, Martin wrote: > Hi, > I want to list all the Gambas classes for all components. > > Public Function AllClases() As Collection > > ?? Dim cClass As New Collection > ?? Dim obj As Object = ? ' what object would be here? > ?? Dim MyClass As Class = Object.Class(obj) > ?? Dim sSymbol As String > > ?? For Each sSymbol In MyClass.Symbols > ?????? Print MyClass.Name & ": " & sSymbol > ?? Next > > ?? Return cClass > > End > > Best regards. > Martin > > ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- I have tried this several times over the years. It has never been a complete success, mainly due to the issues that Bruce S raised. Sitting here at 5:00am having been woken by a bloody great freight train going through the town, I had a thought. The classes and symbols for everything(?) are in the .info files in /usr/share/gambas3/info. Maybe the easiest solution is to parse these files to get your list. b From benoit.minisini at gambas-basic.org Mon Jun 27 22:03:41 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 27 Jun 2022 22:03:41 +0200 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: <97e86315e932caef0445c5fd8f742b5b764ee292.camel@gmail.com> References: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> <97e86315e932caef0445c5fd8f742b5b764ee292.camel@gmail.com> Message-ID: <018ee629-35ac-bad7-1a23-af66814bdb19@gambas-basic.org> Le 27/06/2022 ? 21:50, bb a ?crit?: > On Mon, 2022-06-27 at 11:43 +0200, Martin wrote: >> El 26/6/22 a las 22:27, Bruce Steers escribi?: >>> Why is it a problem for you? >>> gsl complex is a much more advanced class than gb.complex component >>> not a >>> duplicate >> Hehe, is not a problem, sorry if it sound hard. >> I want to know why is there two clases very similar that aims to do >> the >> same only this I'm curious, just that. >> >> The origin of my question is because I'm trying to organize the >> available documentation of gambas (in an automatic way) then I found >> many classes with equal name in different components. >> >> If gb.complex and gb.gsl both have the class Complex and then >> gb.complex/Complex has 2 properties and 7 methods which are also all >> in >> the class gb.gsl/Complex I wonder why the component gb.Complex still >> exists? >> a) For compatibility >> b) If it works, don't touch it >> c) Performance >> d) Other >> >> Best regards. >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- > Specifically in the case of gb.gsl, the following is probably missing > from the help : > > gb.gsl is an interface to the GSL libraries. > > b > > Mmm, yes. I though it was evident. Some libraries provide a lot of feature, so sometimes you may find the same features in two different components. I just try to make them following the same API, so that you can switch from one component to the other without having to adapt the source code. In the case of 'gb.gsl', I decided to implement complex number support in a small component, so that you don't have to use 'gb.gsl' to manipulate them ('gb.gsl' is a big library, and it may not be available on your system). Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Jun 27 22:06:20 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 27 Jun 2022 22:06:20 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: <8f6bd00e-0a80-7301-3d9a-4420629e06ea@gambas-basic.org> Le 27/06/2022 ? 21:58, bb a ?crit?: >> ----[ http://gambaswiki.org/wiki/doc/netiquette?]---- > I have tried this several times over the years. It has never been a > complete success, mainly due to the issues that Bruce S raised. > > Sitting here at 5:00am having been woken by a bloody great freight > train going through the town, I had a thought. > > The classes and symbols for everything(?) are in the .info files in > /usr/share/gambas3/info. Maybe the easiest solution is to parse these > files to get your list. > > b > Exactly. These files were done for that, and are used by the IDE for the same goal. The syntax is not documented, because it's not a public API (I may have to change it unexpectedly for something different or better). But it can easily be guessed. Or maybe the code coud be extract to make it a component. But at the moment I don't know why listing all Gambas classes is needed by Martin. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Jun 27 22:12:38 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Mon, 27 Jun 2022 22:12:38 +0200 Subject: [Gambas-user] Placing a Java script at the bottom of WebForm In-Reply-To: References: Message-ID: <733834d2-1d04-5e05-e264-dca5daa0ad1e@gambas-basic.org> Le 27/06/2022 ? 11:29, Safiur Rahman a ?crit?: > Hi > > I need to put javascript at bottom because it references some web > controls. The controls need to be loaded before executing the code. If > it's in the HEAD section, the script will be parsed before any HTML or > CSS elements are loaded. Isn't it? > The logic of 'gb.web.gui' is based on imbricated controls. So all the javascript is normally associated with the implementation of controls, or sent in the response of an event. In your case, if the javascript code is associated with a specific control, you can use the Render event of that control that is raised after the control HTML has been generated, and then call the WebForm._AddJavascript() function. That javascript will be added (and run) at the end of the page body. Regards, -- Beno?t Minisini. From mbelmonte at belmotek.net Tue Jun 28 09:37:23 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 09:37:23 +0200 Subject: [Gambas-user] Unnecessary duplication? In-Reply-To: <018ee629-35ac-bad7-1a23-af66814bdb19@gambas-basic.org> References: <2ab8ea03-0f30-f75c-5464-bad71f6e49fa@belmotek.net> <97e86315e932caef0445c5fd8f742b5b764ee292.camel@gmail.com> <018ee629-35ac-bad7-1a23-af66814bdb19@gambas-basic.org> Message-ID: <0d891f16-20e6-4a02-8ac7-eaa833da2ea6@belmotek.net> El 27/6/22 a las 22:03, Benoit Minisini escribi?: > I just try to make them following the same API, so that you can switch > from one component to the other without having to adapt the source code. Perfect, now I understand better the idea behind it Best regards From mbelmonte at belmotek.net Tue Jun 28 09:45:55 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 09:45:55 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: <46580b06-99ac-866c-8d66-d707e3ea06c5@belmotek.net> El 27/6/22 a las 21:58, bb escribi?: > The classes and symbols for everything(?) are in the .info files in > /usr/share/gambas3/info. Maybe the easiest solution is to parse these > files to get your list. Yes, is a good idea, is how to solve the problem Cogier in his program and I also use it in other program. From mbelmonte at belmotek.net Tue Jun 28 09:56:16 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 09:56:16 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <8f6bd00e-0a80-7301-3d9a-4420629e06ea@gambas-basic.org> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <8f6bd00e-0a80-7301-3d9a-4420629e06ea@gambas-basic.org> Message-ID: El 27/6/22 a las 22:06, Benoit Minisini escribi?: > The syntax is not documented, because it's not a public API (I may have > to change it unexpectedly for something different or better). > But it can easily be guessed. I use this code for that: Public Function GInfo() As Collection Dim sInfoPath As String = "/usr/share/gambas3/info" Dim sFile As String Dim sComponent As String Dim cData As New Collection Dim aParts As String[] Dim aRaw As String[] Dim aLines As New String[] Dim sClass As String Dim sClass2 As String Dim sClass3 As String Dim i As Integer Dim x As Integer Dim cProp As New Collection Dim cTmp As New Collection Dim sLine As String Dim aRaw2 As String[] Dim sRaw As String aFiles = Dir(sInfoPath, "*.info").Sort() For Each sFile In aFiles sComponent = Left(sFile, -5) aRaw = Split(File.Load(sInfoPath &/ sFile), "\n") For Each sLine In aRaw If Left(sLine) <> "'" Then aLines.Add(sLine) Endif Next sRaw = aLines.Join("\n") aRaw.Clear aParts = Split(sRaw, "#") For i = 0 To aParts.Max If aParts[i] <> "" Then aRaw2 = Split(aParts[i], "\n") aLines.Clear For Each sLine In aRaw2 If Left(sLine) <> "'" Then aLines.Add(sLine) Endif Next sClass = aLines[0] sClass2 = aLines[1] sClass3 = aLines[2] For x = 3 To aLines.Max - 4 Step 4 If aLines[x] <> "" Then cProp.Add(aLines[x], "Name") cProp.Add(aLines[x + 1], "Kind") cProp.Add(aLines[x + 2], "Type") cTmp.Add(cProp.Copy(), aLines[x]) cProp.Clear Endif Next cData.Add(["Name": sClass, "Component": sComponent, "Symbols": cTmp.Copy()], sComponent & "#" & sClass) cTmp.Clear Endif Next Next Return cData End > But at the moment I don't know why listing all Gambas classes is needed > by Martin. I can think of two ways, one is that the loaded components can be "unloaded" and the other is to make a program with minimal components that through an external list and an external log also, load a single component each time it is executed and then finished, cron or another gambas program can run the script every so often. I'm going to try the second idea. Martin. From bsteers4 at gmail.com Tue Jun 28 12:31:05 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 28 Jun 2022 11:31:05 +0100 Subject: [Gambas-user] file browser glitch with rogue .project file in $HOME Message-ID: I was trying to unpakc a gmail.txt archive using the IDE file browser. when going to my home folder the right column showed as an application and not a list of files i could see. every folder i clicked did not show any files just this project was rather odd. I discovered i had a rogue .project file in my $HOME dir probably from extracting some archive. after deleting this file all was okay. to see what i mean put a .project file in $HOME and run the IDE and select Open Project and navigate to your home folder. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Tue Jun 28 13:51:36 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 13:51:36 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <730a78a2-fb1c-bc95-c508-fc20c25c7d52@gmail.com> Message-ID: El 27/6/22 a las 5:59, Bruce Steers escribi?: > this almost works (attached project)... > it has a script in the .public folder that it runs to load components and > list the classes/symbols > some of the components fail to load though. > Maybe you can figure it out from there Thanks Bruce. From bagoneo at libero.it Tue Jun 28 14:19:51 2022 From: bagoneo at libero.it (gian) Date: Tue, 28 Jun 2022 14:19:51 +0200 Subject: [Gambas-user] file browser glitch with rogue .project file in $HOME In-Reply-To: References: Message-ID: <6be3615f-0487-3b90-361c-4c84b7b49af3@libero.it> Il 28/06/22 12:31, Bruce Steers ha scritto: > I was trying to unpakc a gmail.txt archive using the IDE file browser. > > when going to my home folder the right column showed as an application > and not a list of files i could see. > every folder i clicked did not show any files just this project > > was rather odd. > > I discovered i had a rogue .project file in my $HOME dir probably from > extracting some archive. > > after deleting this file all was okay. > > to see what i mean put a .project file in $HOME and run the IDE and > select Open Project and navigate to your home folder. > > Respects > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Yes it happened here too, same thing Regads Gianluigi From mbelmonte at belmotek.net Tue Jun 28 14:55:53 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 14:55:53 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: In some files in /usr/lib/gambas3/ and .component extension Appear different types of values in the flag State. State=stable (gb.data.component) State=NotFinished (gb.dbus.component) State=0 (gb.db.mysql) ?Wich relation are between 0.1.2... and STABLE, NOT-FINISHED ....? Then some Falgs are: Name=MD5/DES crypting component Name[fr]=Chiffrage MD5/DES Name[tr]=MD5/DES ?ifreleme bile?eni (gb.crypt.component) ?This way of translation is correct? if yes, ?how the others are translated? From benoit.minisini at gambas-basic.org Tue Jun 28 15:08:52 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 28 Jun 2022 15:08:52 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> Le 28/06/2022 ? 14:55, Martin a ?crit?: > In some files in /usr/lib/gambas3/ and .component extension Appear > different types of values in the flag State. > > State=stable > (gb.data.component) > > State=NotFinished > (gb.dbus.component) > > State=0 > (gb.db.mysql) > > ?Wich relation are between 0.1.2... and STABLE, NOT-FINISHED ....? > > Then some Falgs are: > Name=MD5/DES crypting component > Name[fr]=Chiffrage MD5/DES > Name[tr]=MD5/DES ?ifreleme bile?eni > (gb.crypt.component) > > ?This way of translation is correct? if yes, ?how the others are > translated? > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Only "State" is relevant now. 0 = Stable, 1 = NotFinished, 2 = Unstable... See the source code of the 'CComponent.class' in the IDE source code for the different possible constants. -- Beno?t Minisini. From bsteers4 at gmail.com Tue Jun 28 16:01:30 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 28 Jun 2022 15:01:30 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: On Tue, 28 Jun 2022 at 13:56, Martin wrote: > In some files in /usr/lib/gambas3/ and .component extension Appear > different types of values in the flag State. > > State=stable > (gb.data.component) > > State=NotFinished > (gb.dbus.component) > > State=0 > (gb.db.mysql) > > ?Wich relation are between 0.1.2... and STABLE, NOT-FINISHED ....? > > Then some Falgs are: > Name=MD5/DES crypting component > Name[fr]=Chiffrage MD5/DES > Name[tr]=MD5/DES ?ifreleme bile?eni > (gb.crypt.component) > > ?This way of translation is correct? if yes, ?how the others are > translated? > that way of translation is exactly the same as a .desktop file. See https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html You can use System.Language to find the current locale and use the relevant Name[] field for the user. PS, check for the string having a _ like my system.Language returns en_GB.UTF-8 so i would use Split(System.Language, "_")[0] to separate the language from the country and char set data giving me just "en" then check for a Name[en] field. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Tue Jun 28 16:08:12 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 16:08:12 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> Message-ID: El 28/6/22 a las 15:08, Benoit Minisini escribi?: > Only "State" is relevant now. 0 = Stable, 1 = NotFinished, 2 = > Unstable... See the source code of the 'CComponent.class' in the IDE > source code for the different possible constants. ok, igot it. Public Const STABLE As Integer = 0 Public Const STABLE_NOT_FINISHED As Integer = 1 Public Const UNSTABLE As Integer = 2 Public Const DEPRECATED As Integer = 3 Public Const UNKNOWN As Integer = 4 Best regards. From benoit.minisini at gambas-basic.org Tue Jun 28 16:08:24 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 28 Jun 2022 16:08:24 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> Message-ID: Le 28/06/2022 ? 16:01, Bruce Steers a ?crit?: > > that way of translation is exactly the same as a .desktop file. See > https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html > > You can use System.Language to find the current locale and use the > relevant Name[] field for the user. > > PS, check for the string having a _ like my system.Language returns > en_GB.UTF-8 so i would use Split(System.Language, "_")[0] to separate > the language from the country and char set data giving me just "en" then > check for a Name[en] field. > > BruceS > > These translations are not used anymore, and should be removed from all '*.component' files. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Tue Jun 28 16:40:41 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 28 Jun 2022 16:40:41 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> Message-ID: <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> Le 28/06/2022 ? 16:08, Martin a ?crit?: > El 28/6/22 a las 15:08, Benoit Minisini escribi?: >> Only "State" is relevant now. 0 = Stable, 1 = NotFinished, 2 = >> Unstable... See the source code of the 'CComponent.class' in the IDE >> source code for the different possible constants. > ok, igot it. > > Public Const STABLE As Integer = 0 > Public Const STABLE_NOT_FINISHED As Integer = 1 > Public Const UNSTABLE As Integer = 2 > Public Const DEPRECATED As Integer = 3 > Public Const UNKNOWN As Integer = 4 > > Best regards. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I strongly suggest that you make a copy of the classes located in the 'Project/Components' folder of the IDE project, and use them to get the class metadata. These are the classes that should be put inside a component. Regards, -- Beno?t Minisini. From mbelmonte at belmotek.net Tue Jun 28 23:04:56 2022 From: mbelmonte at belmotek.net (Martin) Date: Tue, 28 Jun 2022 23:04:56 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> Message-ID: <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> El 28/6/22 a las 16:40, Benoit Minisini escribi?: > I strongly suggest that you make a copy of the classes located in the > 'Project/Components' folder of the IDE project, and use them to get the > class metadata. > These are the classes that should be put inside a component. I've tried to do that but the IDE "never ends up" asking me to add more classes from other directories that are needed, see bellow please. ls -R Component Editor Family Help Project Project.module Util.module ./Component: CClassInfo.class CDocumentation.class CPropertyInfo.class CComponent.class CModule.class CSymbolInfo.class ./Editor: Code Form ./Editor/Code: CSampleCode.class FEditor.class FEditor.form ./Editor/Form: CControl.class FForm.class FForm.form FToolBox.class FToolBox.form ./Family: CFamily.class ./Help: MHelp.module Wiki ./Help/Wiki: Wiki.module ./Project: Library ./Project/Library: CLibraryInfo.class Anyway, I managed to get and sort all the data for each component and the classes they contain. Now I want to add the information that is in the gambas wiki. Could someone tell me if this information is in a text file or similar ? and if so, where is it ? See the pics please, I has marked the zones of interest. 1,2,3 i have but 4 & 5 not. https://imgur.com/DzlnPCK https://imgur.com/lw8DjHl https://imgur.com/qiIKuC4 For example, the collection has an associated text on the wiki page > Collection > This class implements an hash table whose keys are String and values are Variant. Where is this text, in the code, in a separate file? Best regards. Martin. From benoit.minisini at gambas-basic.org Wed Jun 29 00:30:41 2022 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 29 Jun 2022 00:30:41 +0200 Subject: [Gambas-user] file browser glitch with rogue .project file in $HOME In-Reply-To: <6be3615f-0487-3b90-361c-4c84b7b49af3@libero.it> References: <6be3615f-0487-3b90-361c-4c84b7b49af3@libero.it> Message-ID: Le 28/06/2022 ? 14:19, gian via User a ?crit?: > Il 28/06/22 12:31, Bruce Steers ha scritto: >> I was trying to unpakc a gmail.txt archive using the IDE file browser. >> >> when going to my home folder the right column showed as an application >> and not a list of files i could see. >> every folder i clicked did not show any files just this project >> >> was rather odd. >> >> I discovered i had a rogue .project file in my $HOME dir probably from >> extracting some archive. >> >> after deleting this file all was okay. >> >> to see what i mean put a .project file in $HOME and run the IDE and >> select Open Project and navigate to your home folder. >> >> Respects >> BruceS >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > Yes it happened here too, same thing > > Regads > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I added a workaround in the last commit. Regards, -- Beno?t Minisini. From mbelmonte at belmotek.net Wed Jun 29 09:11:38 2022 From: mbelmonte at belmotek.net (Martin) Date: Wed, 29 Jun 2022 09:11:38 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> Message-ID: Here is the codee I made. I also introduce the topic of saving as json and md. it is still very rudimentary, but it could be useful. Best regards. -------------- next part -------------- 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 From bsteers4 at gmail.com Wed Jun 29 10:34:39 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 29 Jun 2022 09:34:39 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> Message-ID: All that is is a "Hello World" app :-\ On Wed, 29 Jun 2022 at 08:12, Martin wrote: > Here is the codee I made. > I also introduce the topic of saving as json and md. it is still very > rudimentary, but it could be useful. > Best regards. > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Jun 29 10:54:20 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 29 Jun 2022 09:54:20 +0100 Subject: [Gambas-user] file browser glitch with rogue .project file in $HOME In-Reply-To: References: <6be3615f-0487-3b90-361c-4c84b7b49af3@libero.it> Message-ID: On Tue, 28 Jun 2022 at 23:32, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 28/06/2022 ? 14:19, gian via User a ?crit : > > Il 28/06/22 12:31, Bruce Steers ha scritto: > >> I was trying to unpakc a gmail.txt archive using the IDE file browser. > >> > >> when going to my home folder the right column showed as an application > >> and not a list of files i could see. > >> every folder i clicked did not show any files just this project > >> > >> was rather odd. > >> > >> I discovered i had a rogue .project file in my $HOME dir probably from > >> extracting some archive. > >> > >> after deleting this file all was okay. > >> > >> to see what i mean put a .project file in $HOME and run the IDE and > >> select Open Project and navigate to your home folder. > >> > >> Respects > >> BruceS > >> > >> > >> > >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > > > Yes it happened here too, same thing > > > > Regads > > Gianluigi > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I added a workaround in the last commit. > > Regards, > Thanks Ben :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From bagoneo at libero.it Wed Jun 29 11:07:14 2022 From: bagoneo at libero.it (gian) Date: Wed, 29 Jun 2022 11:07:14 +0200 Subject: [Gambas-user] file browser glitch with rogue .project file in $HOME In-Reply-To: References: <6be3615f-0487-3b90-361c-4c84b7b49af3@libero.it> Message-ID: Il 29/06/22 00:30, Benoit Minisini ha scritto: > I added a workaround in the last commit. Thank you very much Gianluigi From mbelmonte at belmotek.net Wed Jun 29 11:10:54 2022 From: mbelmonte at belmotek.net (Martin) Date: Wed, 29 Jun 2022 11:10:54 +0200 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> Message-ID: <51dc306c-8c0c-9a0f-dbd5-11335e6fe242@belmotek.net> El 29/6/22 a las 10:34, Bruce Steers escribi?: > All that is is a "Hello World" app :-\ Yes is a very early stage, I share it for more clarity. But the idea is made an app that help the developer to dive into the components, classes and also his own code in home directory. I didn't say it before but I liked your joke: The answer gb.complex is "complex" :-) Best regards. From bsteers4 at gmail.com Wed Jun 29 12:03:58 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 29 Jun 2022 11:03:58 +0100 Subject: [Gambas-user] List al the classes and symbols In-Reply-To: <51dc306c-8c0c-9a0f-dbd5-11335e6fe242@belmotek.net> References: <2c248665-82cf-0b02-6e03-f64acdc57f80@belmotek.net> <5c951672-8bf5-7889-ace2-a3e4a9a527d8@gambas-basic.org> <05a62d10-ef23-1bc7-6bce-9202c05184fe@gambas-basic.org> <61ca1d1d-3e61-056c-2d3d-611a65a6355f@belmotek.net> <51dc306c-8c0c-9a0f-dbd5-11335e6fe242@belmotek.net> Message-ID: But there is nothing to the app. the main class and the only class is just this... *' Gambas module filePublic Sub Main() Print "Hello world"End* that's all there is, that is a VERY VERY early stage lol :) Here's what i've come up with so far... Basically ripped the classes Benoit mentioned and commented out all the IDE stuff. then twiddled and tweaked to get it running :) Needs a full study though to check it's not missing any data. On Wed, 29 Jun 2022 at 10:11, Martin wrote: > El 29/6/22 a las 10:34, Bruce Steers escribi?: > > All that is is a "Hello World" app :-\ > > Yes is a very early stage, I share it for more clarity. > But the idea is made an app that help the developer to dive into the > components, classes and also his own code in home directory. > > I didn't say it before but I liked your joke: The answer gb.complex is > "complex" :-) > > Best regards. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 h8/D5+Hz8Hn4/Nf7/D8bXaLpAFgCAA== From bsteers4 at gmail.com Wed Jun 29 13:51:45 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 29 Jun 2022 12:51:45 +0100 Subject: [Gambas-user] Args help , most other places is -? Message-ID: I just noticed something in the Args.class Help is checked like this.. If Has("h", "help", ("Display this help")) Then I have noticed most other software uses -? not -h as the short name. I've edited gb.args Args.Has to be able to use more than one char for shortname Eg.. Args.Has("?h", "help", "Show this help") will work with either -? or -h What do you think Ben? I've submitted a merge request.. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Jun 29 16:14:27 2022 From: adamnt42 at gmail.com (bb) Date: Wed, 29 Jun 2022 23:44:27 +0930 Subject: [Gambas-user] Args help , most other places is -? In-Reply-To: References: Message-ID: <0bce4e9f9fe9d0fc98b9e381b12c754104632af0.camel@gmail.com> On Wed, 2022-06-29 at 12:51 +0100, Bruce Steers wrote: > I have noticed most other software uses -? not -h as the short name. "most" ??? ??? ??? I'd be a bit careful. Other shells than bash may see ? as a special character. b From bsteers4 at gmail.com Wed Jun 29 17:01:10 2022 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 29 Jun 2022 16:01:10 +0100 Subject: [Gambas-user] Args help , most other places is -? In-Reply-To: <0bce4e9f9fe9d0fc98b9e381b12c754104632af0.camel@gmail.com> References: <0bce4e9f9fe9d0fc98b9e381b12c754104632af0.camel@gmail.com> Message-ID: On Wed, 29 Jun 2022 at 15:15, bb wrote: > On Wed, 2022-06-29 at 12:51 +0100, Bruce Steers wrote: > > I have noticed most other software uses -? not -h as the short name. > "most" ??? ??? ??? > I'd be a bit careful. Other shells than bash may see ? as a special > character. > b > okay yeah that's definitely "some" not "most" after testing some more progs. :-\ dpkg and dpkg-query use -? properly. pluma , gedit give help if -? is used but list -h and gives an error if an unknown char is used. Do you think it's better or useless to be able to use more than one char as the shortname? I think it's useful. Maybe just to me? (maybe i should import and modify my own damn Args.class an leave Benoits the heck alone? !! ;) lol ) I got my scripted args help looking like this now... *bonus:~$ scripted -?* *ScriptED V2.0.4scripted