From adamnt42 at gmail.com Tue Aug 1 00:09:32 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 07:39:32 +0930 Subject: [Gambas-user] TableView: Mark row In-Reply-To: References: <4077a7e1-6b86-2523-e74c-ea9149cade4f@gambas-buch.de> Message-ID: <901b02c6-27c2-52d9-c996-e3c538100f4d@gmail.com> On 1/8/23 1:47 am, Bruce Steers wrote: > they will do the same thing a different way. > > the first way uses a method from the GridView.Rows class that can also > set many rows at once. > http://gambaswiki.org/wiki/comp/gb.qt4/_gridview_rows > > Well, that page awoke the old tester in me. There are "gaps" in the logic expressed for both Start and Length. For Start : If Start is ??? between -Inf and -1 the instruction is silently ignored ??? null or zero the first row is selected, as expected but the zero fact is not expressed (apart from by implication) ??? between 1 and Gridview1.Rows.Max the indicated row is selected, as expected ??? greater than Gridview1.Rows.Max the instruction is silently ignored. That surprised me because I thought the out of range values would raise an error. Perhaps someone could check the Length ranges. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Tue Aug 1 09:58:29 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Tue, 1 Aug 2023 09:58:29 +0200 Subject: [Gambas-user] TableView: Mark row In-Reply-To: <901b02c6-27c2-52d9-c996-e3c538100f4d@gmail.com> References: <4077a7e1-6b86-2523-e74c-ea9149cade4f@gambas-buch.de> <901b02c6-27c2-52d9-c996-e3c538100f4d@gmail.com> Message-ID: <52df8ac9-0ac7-e30d-e0c3-57995fadf65a@gambas-buch.de> Hello, I already checked the ranges before, because I also noticed that if the value is greater than Gridview1.Rows.Max, the statement is silently ignored. Therefore, this statement for navigating through a TableView also works without errors: Public Sub btnNext_Click() ??? If tblView.Row > -1 Then ?????? tblView.Rows.Select(tblView.Row *+ 1*) ' <<<-- ?????? tblView.SetFocus() ??? Endif End Thanks for the explanations says Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Tue Aug 1 10:31:43 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 10:31:43 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro Message-ID: This summer thing is very dangerous: every year I embark on something that later is not always useful for anything. This year it's Manjaro's turn. I have installed Manjaro KDE (first I installed KDE neon, but it was too "ubuntu" and the only new thing to learn was the interface configuration, which didn't motivate me too much). In the Manjaro repositories lives Gambas3 3.18.2, which is the penultimate version. I want the latest stable, that is 3.18.3. No problemo. On the Gambas3 page there are precise instructions that with copy-paste work wonderfully. Gambas3 installed. Okay I try some of my projects from the IDE. Perfect. Now you have to install those of my programs that I always install. The handling of the keys, the Casio screen, the writing novels, the music player, etc. etc... and that's where I crash. Arch has its equivalent of Ubuntu's apt, the pacman. It's super powerful and cool... for managing packages in repositories. The problem is that when installing gambas3 from the source, according to pacman gambas3 is not installed, therefore the packages with my programs do not meet the dependencies and cannot be installed. One of the cool options in pacman is to create your own repository but before I get into that... Is there a way to install my packages in Manjaro without installing Gambas3 from a repository? Has anyone using Arch faced this issue? Best Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 1 10:44:50 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 1 Aug 2023 09:44:50 +0100 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: On Tue, 1 Aug 2023, 09:32 Jorge Carri?n, wrote: > This summer thing is very dangerous: every year I embark on something that > later is not always useful for anything. This year it's Manjaro's turn. > > I have installed Manjaro KDE (first I installed KDE neon, but it was too > "ubuntu" and the only new thing to learn was the interface configuration, > which didn't motivate me too much). > > In the Manjaro repositories lives Gambas3 3.18.2, which is the penultimate > version. I want the latest stable, that is 3.18.3. > No problemo. On the Gambas3 page there are precise instructions that with > copy-paste work wonderfully. Gambas3 installed. Okay > > I try some of my projects from the IDE. Perfect. > > Now you have to install those of my programs that I always install. The > handling of the keys, the Casio screen, the writing novels, the music > player, etc. etc... and that's where I crash. > > Arch has its equivalent of Ubuntu's apt, the pacman. It's super powerful > and cool... for managing packages in repositories. The problem is that when > installing gambas3 from the source, according to pacman gambas3 is not > installed, therefore the packages with my programs do not meet the > dependencies and cannot be installed. > > One of the cool options in pacman is to create your own repository but > before I get into that... > Is there a way to install my packages in Manjaro without installing > Gambas3 from a repository? > > Has anyone using Arch faced this issue? > I never use installer packages I just copy project folder and recompile. Does the packager have gambas options set in the requirements? Like require minimum gambas version, gambas components, etc. If so try removing those options. Another option.. Install gambas via pacman, then install all your programs, then update to autotools gambas after. BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 1 11:06:07 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 1 Aug 2023 11:06:07 +0200 Subject: [Gambas-user] TableView: Mark row In-Reply-To: <52df8ac9-0ac7-e30d-e0c3-57995fadf65a@gambas-buch.de> References: <4077a7e1-6b86-2523-e74c-ea9149cade4f@gambas-buch.de> <901b02c6-27c2-52d9-c996-e3c538100f4d@gmail.com> <52df8ac9-0ac7-e30d-e0c3-57995fadf65a@gambas-buch.de> Message-ID: Il 01/08/23 09:58, Hans Lehmann ha scritto: > Hello, > > I already checked the ranges before, because I also noticed that if > the value is greater than Gridview1.Rows.Max, the statement is > silently ignored. > Therefore, this statement for navigating through a TableView also > works without errors: > > Public Sub btnNext_Click() > > ??? If tblView.Row > -1 Then > ?????? tblView.Rows.Select(tblView.Row *+ 1*) ' <<<-- > ?????? tblView.SetFocus() > ??? Endif > > End > > Thanks for the explanations > says > Hans Right, we struggled to get the DataView according to our wishes, we don't want to void everything. Best regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 1 11:35:13 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 1 Aug 2023 11:35:13 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: Il 01/08/23 10:31, Jorge Carri?n ha scritto: > This summer thing is very dangerous: every year I embark on something > that later is not always useful for anything. This year it's Manjaro's > turn. > > I have installed Manjaro KDE (first I installed KDE neon, but it was > too "ubuntu" and the only new thing to learn was the interface > configuration, which didn't motivate me too much). > > In the Manjaro repositories lives Gambas3 3.18.2, which is the > penultimate version. I want the latest stable, that is 3.18.3. > No problemo. On the Gambas3 page there are precise instructions that > with copy-paste work wonderfully. Gambas3 installed. Okay > > I try some of my projects from the IDE. Perfect. > > Now you have to install those of my programs that I always install. > The handling of the keys, the Casio screen, the writing novels, the > music player, etc. etc... and that's where I crash. > > Arch has its equivalent of Ubuntu's apt, the pacman. It's super > powerful and cool... for managing packages in repositories. The > problem is that when installing gambas3 from the source, according to > pacman gambas3 is not installed, therefore the packages with my > programs do not meet the dependencies and cannot be installed. > > One of the cool options in pacman is to create your own repository but > before I get into that... > Is there a way to install my packages in Manjaro without installing > Gambas3 from a repository? > > Has anyone using Arch faced this issue? > > Best Regards > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Jorge, I'm not sure I understand your exact problem but I'll try to answer anyway. I tried Arch Linux on a virtual machine and compiled Gambas with pacman. You are a member of Gambas-it.org if you go here: https://www.gambas-it.org/smf/index.php?topic=8049.msg49120#msg49120 you can download the pdf of the general process. Here: https://gitlab.com/gambas/gambas/-/blob/master/.gitlab-ci.yml?ref_type=heads there are all the libraries useful to the OS I hope that's what you need Best regards Gianluigi From shordi at gmail.com Tue Aug 1 11:43:28 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 11:43:28 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: *>I never use installer packages I just copy project folder and recompile.* Before retirement I was a Gambas3 analyst and programmer for my company for 15 years. All my programs had to run (and still do) on more than 100 machines, I wouldn't dream of handing out source code. I made myself a repository on our servers and the .deb packages were installed and updated on all machines with no problem (well... ahem, ahem). Since then I like to install my programs on my machine which allows me to see them in system menus, put them in login programs, etc. It is also used to check external dependencies and more. *>Does the packager have gambas options set in the requirements? Like require minimum gambas version, gambas components, etc.* *If so try removing those options.* The problem is that pacman doesn't see the Gambas3 installation from source and needs to check the dependencies. *>Install gambas via pacman, then install all your programs, then update to autotools gambas after.* This may, perhaps, be the solution. I have no idea how to upgrade from 3.18.2 to 3.18.3 from sources... but I'll do some more digging. Thank you very much for the feed back. Best Regards El mar, 1 ago 2023 a las 10:46, Bruce Steers () escribi?: > > > On Tue, 1 Aug 2023, 09:32 Jorge Carri?n, wrote: > >> This summer thing is very dangerous: every year I embark on something >> that later is not always useful for anything. This year it's Manjaro's turn. >> >> I have installed Manjaro KDE (first I installed KDE neon, but it was too >> "ubuntu" and the only new thing to learn was the interface configuration, >> which didn't motivate me too much). >> >> In the Manjaro repositories lives Gambas3 3.18.2, which is the >> penultimate version. I want the latest stable, that is 3.18.3. >> No problemo. On the Gambas3 page there are precise instructions that with >> copy-paste work wonderfully. Gambas3 installed. Okay >> >> I try some of my projects from the IDE. Perfect. >> >> Now you have to install those of my programs that I always install. The >> handling of the keys, the Casio screen, the writing novels, the music >> player, etc. etc... and that's where I crash. >> >> Arch has its equivalent of Ubuntu's apt, the pacman. It's super powerful >> and cool... for managing packages in repositories. The problem is that when >> installing gambas3 from the source, according to pacman gambas3 is not >> installed, therefore the packages with my programs do not meet the >> dependencies and cannot be installed. >> >> One of the cool options in pacman is to create your own repository but >> before I get into that... >> Is there a way to install my packages in Manjaro without installing >> Gambas3 from a repository? >> >> Has anyone using Arch faced this issue? >> > > I never use installer packages I just copy project folder and recompile. > > Does the packager have gambas options set in the requirements? Like > require minimum gambas version, gambas components, etc. > If so try removing those options. > > Another option.. > Install gambas via pacman, then install all your programs, then update to > autotools gambas after. > > BruceS > >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 1 11:49:47 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 1 Aug 2023 11:49:47 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: Il 01/08/23 11:35, Gianluigi ha scritto: > Il 01/08/23 10:31, Jorge Carri?n ha scritto: >> This summer thing is very dangerous: every year I embark on something >> that later is not always useful for anything. This year it's >> Manjaro's turn. >> >> I have installed Manjaro KDE (first I installed KDE neon, but it was >> too "ubuntu" and the only new thing to learn was the interface >> configuration, which didn't motivate me too much). >> >> In the Manjaro repositories lives Gambas3 3.18.2, which is the >> penultimate version. I want the latest stable, that is 3.18.3. >> No problemo. On the Gambas3 page there are precise instructions that >> with copy-paste work wonderfully. Gambas3 installed. Okay >> >> I try some of my projects from the IDE. Perfect. >> >> Now you have to install those of my programs that I always install. >> The handling of the keys, the Casio screen, the writing novels, the >> music player, etc. etc... and that's where I crash. >> >> Arch has its equivalent of Ubuntu's apt, the pacman. It's super >> powerful and cool... for managing packages in repositories. The >> problem is that when installing gambas3 from the source, according to >> pacman gambas3 is not installed, therefore the packages with my >> programs do not meet the dependencies and cannot be installed. >> >> One of the cool options in pacman is to create your own repository >> but before I get into that... >> Is there a way to install my packages in Manjaro without installing >> Gambas3 from a repository? >> >> Has anyone using Arch faced this issue? >> >> Best Regards >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Jorge, > > I'm not sure I understand your exact problem but I'll try to answer > anyway. > I tried Arch Linux on a virtual machine and compiled Gambas with pacman. > You are a member of Gambas-it.org if you go here: > https://www.gambas-it.org/smf/index.php?topic=8049.msg49120#msg49120 > you can download the pdf of the general process. > > Here: > https://gitlab.com/gambas/gambas/-/blob/master/.gitlab-ci.yml?ref_type=heads > > there are all the libraries useful to the OS > > I hope that's what you need > > Best regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I forgot: do not use the commands written in the yaml file but only the names of the libraries and follow my pdf step by step (I still have to update it to better explain this thing). From shordi at gmail.com Tue Aug 1 11:57:08 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 11:57:08 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: Hey Gianluigi: The problem is not installing Gambas3 from the source, that is perfectly explained and solved (at least it didn't give me any problems) on the Gambas3 website. The problem is to create an installation package of one of my projects and install it afterwards. Pacman does not detect that gambas3 is already installed and does not allow my package to be installed. I will continue to investigate the matter. The answer must be somewhere. It can't be that I am the first linuxer-gamber in the world to face that problem. Best Regards El mar, 1 ago 2023 a las 11:36, Gianluigi () escribi?: > Il 01/08/23 10:31, Jorge Carri?n ha scritto: > > This summer thing is very dangerous: every year I embark on something > > that later is not always useful for anything. This year it's Manjaro's > > turn. > > > > I have installed Manjaro KDE (first I installed KDE neon, but it was > > too "ubuntu" and the only new thing to learn was the interface > > configuration, which didn't motivate me too much). > > > > In the Manjaro repositories lives Gambas3 3.18.2, which is the > > penultimate version. I want the latest stable, that is 3.18.3. > > No problemo. On the Gambas3 page there are precise instructions that > > with copy-paste work wonderfully. Gambas3 installed. Okay > > > > I try some of my projects from the IDE. Perfect. > > > > Now you have to install those of my programs that I always install. > > The handling of the keys, the Casio screen, the writing novels, the > > music player, etc. etc... and that's where I crash. > > > > Arch has its equivalent of Ubuntu's apt, the pacman. It's super > > powerful and cool... for managing packages in repositories. The > > problem is that when installing gambas3 from the source, according to > > pacman gambas3 is not installed, therefore the packages with my > > programs do not meet the dependencies and cannot be installed. > > > > One of the cool options in pacman is to create your own repository but > > before I get into that... > > Is there a way to install my packages in Manjaro without installing > > Gambas3 from a repository? > > > > Has anyone using Arch faced this issue? > > > > Best Regards > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Jorge, > > I'm not sure I understand your exact problem but I'll try to answer anyway. > I tried Arch Linux on a virtual machine and compiled Gambas with pacman. > You are a member of Gambas-it.org if you go here: > https://www.gambas-it.org/smf/index.php?topic=8049.msg49120#msg49120 > you can download the pdf of the general process. > > Here: > > https://gitlab.com/gambas/gambas/-/blob/master/.gitlab-ci.yml?ref_type=heads > there are all the libraries useful to the OS > > I hope that's what you need > > Best regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Tue Aug 1 12:02:29 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 12:02:29 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: oh... I have responded after seeing only the first link (pdf) you put. I think the solution may be the second one, the yml. I'll look that way. Thank you so much! Greetings El mar, 1 ago 2023 a las 11:50, Gianluigi () escribi?: > Il 01/08/23 11:35, Gianluigi ha scritto: > > Il 01/08/23 10:31, Jorge Carri?n ha scritto: > >> This summer thing is very dangerous: every year I embark on something > >> that later is not always useful for anything. This year it's > >> Manjaro's turn. > >> > >> I have installed Manjaro KDE (first I installed KDE neon, but it was > >> too "ubuntu" and the only new thing to learn was the interface > >> configuration, which didn't motivate me too much). > >> > >> In the Manjaro repositories lives Gambas3 3.18.2, which is the > >> penultimate version. I want the latest stable, that is 3.18.3. > >> No problemo. On the Gambas3 page there are precise instructions that > >> with copy-paste work wonderfully. Gambas3 installed. Okay > >> > >> I try some of my projects from the IDE. Perfect. > >> > >> Now you have to install those of my programs that I always install. > >> The handling of the keys, the Casio screen, the writing novels, the > >> music player, etc. etc... and that's where I crash. > >> > >> Arch has its equivalent of Ubuntu's apt, the pacman. It's super > >> powerful and cool... for managing packages in repositories. The > >> problem is that when installing gambas3 from the source, according to > >> pacman gambas3 is not installed, therefore the packages with my > >> programs do not meet the dependencies and cannot be installed. > >> > >> One of the cool options in pacman is to create your own repository > >> but before I get into that... > >> Is there a way to install my packages in Manjaro without installing > >> Gambas3 from a repository? > >> > >> Has anyone using Arch faced this issue? > >> > >> Best Regards > >> > >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > Hi Jorge, > > > > I'm not sure I understand your exact problem but I'll try to answer > > anyway. > > I tried Arch Linux on a virtual machine and compiled Gambas with pacman. > > You are a member of Gambas-it.org if you go here: > > https://www.gambas-it.org/smf/index.php?topic=8049.msg49120#msg49120 > > you can download the pdf of the general process. > > > > Here: > > > https://gitlab.com/gambas/gambas/-/blob/master/.gitlab-ci.yml?ref_type=heads > > > > there are all the libraries useful to the OS > > > > I hope that's what you need > > > > Best regards > > > > Gianluigi > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I forgot: do not use the commands written in the yaml file but only the > names of the libraries and follow my pdf step by step (I still have to > update it to better explain this thing). > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Tue Aug 1 12:09:52 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 12:09:52 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: Nope. the yaml is the same that gambas3 web installation. Thank you for you attention. Sorry for the noise. (*Note to self: do not respond until you have read everything correctly.)* Best regards El mar, 1 ago 2023 a las 12:02, Jorge Carri?n () escribi?: > oh... I have responded after seeing only the first link (pdf) you put. I > think the solution may be the second one, the yml. I'll look that way. > Thank you so much! > > Greetings > > El mar, 1 ago 2023 a las 11:50, Gianluigi () > escribi?: > >> Il 01/08/23 11:35, Gianluigi ha scritto: >> > Il 01/08/23 10:31, Jorge Carri?n ha scritto: >> >> This summer thing is very dangerous: every year I embark on something >> >> that later is not always useful for anything. This year it's >> >> Manjaro's turn. >> >> >> >> I have installed Manjaro KDE (first I installed KDE neon, but it was >> >> too "ubuntu" and the only new thing to learn was the interface >> >> configuration, which didn't motivate me too much). >> >> >> >> In the Manjaro repositories lives Gambas3 3.18.2, which is the >> >> penultimate version. I want the latest stable, that is 3.18.3. >> >> No problemo. On the Gambas3 page there are precise instructions that >> >> with copy-paste work wonderfully. Gambas3 installed. Okay >> >> >> >> I try some of my projects from the IDE. Perfect. >> >> >> >> Now you have to install those of my programs that I always install. >> >> The handling of the keys, the Casio screen, the writing novels, the >> >> music player, etc. etc... and that's where I crash. >> >> >> >> Arch has its equivalent of Ubuntu's apt, the pacman. It's super >> >> powerful and cool... for managing packages in repositories. The >> >> problem is that when installing gambas3 from the source, according to >> >> pacman gambas3 is not installed, therefore the packages with my >> >> programs do not meet the dependencies and cannot be installed. >> >> >> >> One of the cool options in pacman is to create your own repository >> >> but before I get into that... >> >> Is there a way to install my packages in Manjaro without installing >> >> Gambas3 from a repository? >> >> >> >> Has anyone using Arch faced this issue? >> >> >> >> Best Regards >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > >> > Hi Jorge, >> > >> > I'm not sure I understand your exact problem but I'll try to answer >> > anyway. >> > I tried Arch Linux on a virtual machine and compiled Gambas with pacman. >> > You are a member of Gambas-it.org if you go here: >> > https://www.gambas-it.org/smf/index.php?topic=8049.msg49120#msg49120 >> > you can download the pdf of the general process. >> > >> > Here: >> > >> https://gitlab.com/gambas/gambas/-/blob/master/.gitlab-ci.yml?ref_type=heads >> > >> > there are all the libraries useful to the OS >> > >> > I hope that's what you need >> > >> > Best regards >> > >> > Gianluigi >> > >> > >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> I forgot: do not use the commands written in the yaml file but only the >> names of the libraries and follow my pdf step by step (I still have to >> update it to better explain this thing). >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 1 12:17:14 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 1 Aug 2023 12:17:14 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: <09e2c175-74a3-e33f-5c67-ca2ae327ca74@gradobag.it> Il 01/08/23 12:09, Jorge Carri?n ha scritto: > Sorry for the noise. (/Note to self: do not respond until you have > read everything correctly.)/ > > Best regards Jorge, I love you ? :-) Best regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 13:24:30 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 14:24:30 +0300 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key Message-ID: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> i wrote a demo code for Action property as follows... i have a Form with a Menu and a Button for "save" Action ------------------------------------------------------------ ' Gambas class file Public Sub Form_Open() ?Me.Center ?Menu1.Action = "save" ?Button1.Action = "save" End Public Sub Action_Activate(key As String) As Boolean ?Select Case key ?Case "save" ?' call save sub at here ? Print "save to a file." ?End Select End ------------------------------------------------------------ i get a warning at line 9, Public Sub Action_Activate(key As String) As Boolean Class name hidden by local declaration: key What does this mean ? From demosthenesk at gmail.com Tue Aug 1 13:26:52 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 14:26:52 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages Message-ID: Hi, in one of my project i had warning message. i would like to be able to copy / paste these messages from Gambas3 ide... is this possible ? From adamnt42 at gmail.com Tue Aug 1 13:39:35 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 21:09:35 +0930 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: On 1/8/23 8:54 pm, Demosthenes Koptsis wrote: > i wrote a demo code for Action property as follows... > > i have a Form with a Menu and a Button for "save" Action > > ------------------------------------------------------------ > > ' Gambas class file > > Public Sub Form_Open() > ?Me.Center > ?Menu1.Action = "save" > ?Button1.Action = "save" > End > > Public Sub Action_Activate(key As String) As Boolean > ?Select Case key > ?Case "save" > ?' call save sub at here > ? Print "save to a file." > ?End Select > End > > ------------------------------------------------------------ > > i get a warning at line 9, Public Sub Action_Activate(key As String) > As Boolean > > Class name hidden by local declaration: key > > > What does this mean ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It means that you have used a, well let's say a, "significant" word as a variable name (in this case a variable described as a parameter name). What does that mean? It means that within the scope of your declaration of that variable you cannot expect to use the native Key class to be operative. So Gambas is telling you essentially that "OK, you want to use one of my special names as your own variable name and instead of it referring to my Key class, then fine I'll just use your string variable. Fine, OK then I guess you know what you're doing." In other words, as long as you don't refer to the native class within the scope of that procedure then everything will work as you expect. b From adamnt42 at gmail.com Tue Aug 1 13:41:26 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 21:11:26 +0930 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: Message-ID: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> On 1/8/23 8:56 pm, Demosthenes Koptsis wrote: > Hi, > > in one of my project i had warning message. > > i would like to be able to copy / paste these messages from Gambas3 > ide... > > is this possible ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Where did you see it? Where do you want to copy it from? Detailed information needed. b From demosthenesk at gmail.com Tue Aug 1 13:45:05 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 14:45:05 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> References: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> Message-ID: In my previous email "Warning: Class name hidden by local declaration: key" i had a warning in gambas3 ide about the reserved word key, as you said i would like to be able to copy the warning message and to paste to the email for user list here instead writing it from the screen. On 8/1/23 14:41, BB wrote: > > On 1/8/23 8:56 pm, Demosthenes Koptsis wrote: >> Hi, >> >> in one of my project i had warning message. >> >> i would like to be able to copy / paste these messages from Gambas3 >> ide... >> >> is this possible ? >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Where did you see it? Where do you want to copy it from? > > Detailed information needed. > > b > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From demosthenesk at gmail.com Tue Aug 1 13:46:35 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 14:46:35 +0300 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: ah it is a reserved word you mean...ok! thanks! On 8/1/23 14:39, BB wrote: > On 1/8/23 8:54 pm, Demosthenes Koptsis wrote: >> i wrote a demo code for Action property as follows... >> >> i have a Form with a Menu and a Button for "save" Action >> >> ------------------------------------------------------------ >> >> ' Gambas class file >> >> Public Sub Form_Open() >> ?Me.Center >> ?Menu1.Action = "save" >> ?Button1.Action = "save" >> End >> >> Public Sub Action_Activate(key As String) As Boolean >> ?Select Case key >> ?Case "save" >> ?' call save sub at here >> ? Print "save to a file." >> ?End Select >> End >> >> ------------------------------------------------------------ >> >> i get a warning at line 9, Public Sub Action_Activate(key As String) >> As Boolean >> >> Class name hidden by local declaration: key >> >> >> What does this mean ? >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > It means that you have used a, well let's say a, "significant" word as > a variable name (in this case a variable described as a parameter name). > > What does that mean? > > It means that within the scope of your declaration of that variable > you cannot expect to use the native Key class to be operative. So > Gambas is telling you essentially that "OK, you want to use one of my > special names as your own variable name and instead of it referring to > my Key class, then fine I'll just use your string variable. Fine, OK > then I guess you know what you're doing." > > In other words, as long as you don't refer to the native class within > the scope of that procedure then everything will work as you expect. > > b > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Tue Aug 1 13:49:05 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 21:19:05 +0930 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> Message-ID: (SWATP) I meant "where in the IDE"? If it is in the console output then it should be easy to copy using the right mouse button. If elsewhere? b On 1/8/23 9:15 pm, Demosthenes Koptsis wrote: > In my previous email "Warning: Class name hidden by local declaration: > key" > > i had a warning in gambas3 ide about the reserved word key, as you said > > i would like to be able to copy the warning message and to paste to > the email for user list here instead writing it from the screen. > > > On 8/1/23 14:41, BB wrote: >> >> On 1/8/23 8:56 pm, Demosthenes Koptsis wrote: >>> Hi, >>> >>> in one of my project i had warning message. >>> >>> i would like to be able to copy / paste these messages from Gambas3 >>> ide... >>> >>> is this possible ? >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> Where did you see it? Where do you want to copy it from? >> >> Detailed information needed. >> >> b >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From demosthenesk at gmail.com Tue Aug 1 13:55:20 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 14:55:20 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> Message-ID: <35bfb769-150c-efbe-536b-91d93727dbbe@gmail.com> See Screenshot, when i press Compile All i get a Warning message which is not clear text to be able to be copied... On 8/1/23 14:49, BB wrote: > (SWATP) > > I meant "where in the IDE"? If it is in the console output then it > should be easy to copy using the right mouse button. If elsewhere? > > b > > On 1/8/23 9:15 pm, Demosthenes Koptsis wrote: >> In my previous email "Warning: Class name hidden by local >> declaration: key" >> >> i had a warning in gambas3 ide about the reserved word key, as you said >> >> i would like to be able to copy the warning message and to paste to >> the email for user list here instead writing it from the screen. >> >> >> On 8/1/23 14:41, BB wrote: >>> >>> On 1/8/23 8:56 pm, Demosthenes Koptsis wrote: >>>> Hi, >>>> >>>> in one of my project i had warning message. >>>> >>>> i would like to be able to copy / paste these messages from Gambas3 >>>> ide... >>>> >>>> is this possible ? >>>> >>>> >>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >>> Where did you see it? Where do you want to copy it from? >>> >>> Detailed information needed. >>> >>> b >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: FMain.class - Project93 0.0.1 ? Gambas 3_001.png Type: image/png Size: 103038 bytes Desc: not available URL: From adamnt42 at gmail.com Tue Aug 1 13:56:18 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 21:26:18 +0930 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: <83f7e4b5-d06e-f4c3-e768-5642a9ed6bcd@gmail.com> Well no, it's not reserved (as in "you cant use it"), Gambas is just telling (warning) you that you are over-ruling it's use of the word. The Gambas reserved words are listed somewhere in the wiki but suffice to say you cant do something like "Public Sub xyxxy(Public as String, Sub as boolean). Got it? b On 1/8/23 9:16 pm, Demosthenes Koptsis wrote: > ah it is a reserved word you mean...ok! > > thanks! > > On 8/1/23 14:39, BB wrote: >> On 1/8/23 8:54 pm, Demosthenes Koptsis wrote: >>> i wrote a demo code for Action property as follows... >>> >>> i have a Form with a Menu and a Button for "save" Action >>> >>> ------------------------------------------------------------ >>> >>> ' Gambas class file >>> >>> Public Sub Form_Open() >>> ?Me.Center >>> ?Menu1.Action = "save" >>> ?Button1.Action = "save" >>> End >>> >>> Public Sub Action_Activate(key As String) As Boolean >>> ?Select Case key >>> ?Case "save" >>> ?' call save sub at here >>> ? Print "save to a file." >>> ?End Select >>> End >>> >>> ------------------------------------------------------------ >>> >>> i get a warning at line 9, Public Sub Action_Activate(key As String) >>> As Boolean >>> >>> Class name hidden by local declaration: key >>> >>> >>> What does this mean ? >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> It means that you have used a, well let's say a, "significant" word >> as a variable name (in this case a variable described as a parameter >> name). >> >> What does that mean? >> >> It means that within the scope of your declaration of that variable >> you cannot expect to use the native Key class to be operative. So >> Gambas is telling you essentially that "OK, you want to use one of my >> special names as your own variable name and instead of it referring >> to my Key class, then fine I'll just use your string variable. Fine, >> OK then I guess you know what you're doing." >> >> In other words, as long as you don't refer to the native class within >> the scope of that procedure then everything will work as you expect. >> >> b >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Tue Aug 1 13:59:32 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 1 Aug 2023 21:29:32 +0930 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: <35bfb769-150c-efbe-536b-91d93727dbbe@gmail.com> References: <99b1832e-5959-4e1b-8d4f-6bb55ce7a077@gmail.com> <35bfb769-150c-efbe-536b-91d93727dbbe@gmail.com> Message-ID: <00c32275-7180-f9b5-ee12-54bea338d896@gmail.com> Aha! It's *in the "Warnings" tab of the IDE after a compile*. OK, now I've got something to work with! I'll get back to you. b On 1/8/23 9:25 pm, Demosthenes Koptsis wrote: > See Screenshot, > > when i press Compile All i get a Warning message which is not clear > text to be able to be copied... > > > > > On 8/1/23 14:49, BB wrote: >> (SWATP) >> >> I meant "where in the IDE"? If it is in the console output then it >> should be easy to copy using the right mouse button. If elsewhere? >> >> b >> >> On 1/8/23 9:15 pm, Demosthenes Koptsis wrote: >>> In my previous email "Warning: Class name hidden by local >>> declaration: key" >>> >>> i had a warning in gambas3 ide about the reserved word key, as you said >>> >>> i would like to be able to copy the warning message and to paste to >>> the email for user list here instead writing it from the screen. >>> >>> >>> On 8/1/23 14:41, BB wrote: >>>> >>>> On 1/8/23 8:56 pm, Demosthenes Koptsis wrote: >>>>> Hi, >>>>> >>>>> in one of my project i had warning message. >>>>> >>>>> i would like to be able to copy / paste these messages from >>>>> Gambas3 ide... >>>>> >>>>> is this possible ? >>>>> >>>>> >>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>> >>>> Where did you see it? Where do you want to copy it from? >>>> >>>> Detailed information needed. >>>> >>>> b >>>> >>>> >>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 1 14:28:30 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 1 Aug 2023 13:28:30 +0100 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: On Tue, 1 Aug 2023, 12:25 Demosthenes Koptsis, wrote: > i wrote a demo code for Action property as follows... > > i have a Form with a Menu and a Button for "save" Action > > ------------------------------------------------------------ > > ' Gambas class file > > Public Sub Form_Open() > Me.Center > Menu1.Action = "save" > Button1.Action = "save" > End > > Public Sub Action_Activate(key As String) As Boolean > Select Case key > Case "save" > ' call save sub at here > Print "save to a file." > End Select > End > > ------------------------------------------------------------ > > i get a warning at line 9, Public Sub Action_Activate(key As String) As > Boolean > > Class name hidden by local declaration: key > > > What does this mean ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Key is a class name, you can use it as a parametername but it must be in parentheses Action_Activate((key) As String) As Boolean It is better to use a different word if you also want to use Key.class in the function. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 1 14:31:21 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 1 Aug 2023 13:31:21 +0100 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: Message-ID: Did you try to right click the text? You can always hit the print screen button on yr keyboard and snapshot it ? On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, wrote: > Hi, > > in one of my project i had warning message. > > i would like to be able to copy / paste these messages from Gambas3 ide... > > is this possible ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 14:33:30 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 15:33:30 +0300 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: ok! On 8/1/23 15:28, Bruce Steers wrote: > > > On Tue, 1 Aug 2023, 12:25 Demosthenes Koptsis, > wrote: > > i wrote a demo code for Action property as follows... > > i have a Form with a Menu and a Button for "save" Action > > ------------------------------------------------------------ > > ' Gambas class file > > Public Sub Form_Open() > ??Me.Center > ??Menu1.Action = "save" > ??Button1.Action = "save" > End > > Public Sub Action_Activate(key As String) As Boolean > ??Select Case key > ??Case "save" > ??' call save sub at here > ?? Print "save to a file." > ??End Select > End > > ------------------------------------------------------------ > > i get a warning at line 9, Public Sub Action_Activate(key As > String) As > Boolean > > Class name hidden by local declaration: key > > > What does this mean ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > Key is a class name, you can use it as a parametername but it must be > in parentheses > > Action_Activate((key) As String) As > Boolean > > It is better to use a different word if you also want to use Key.class > in the function. > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 14:35:50 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 15:35:50 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: Message-ID: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> yes i tried to right click...nothing happens, no pop up menu with copy option i would like to copy it as text not printscreen... On 8/1/23 15:31, Bruce Steers wrote: > Did you try to right click the text? > > You can always hit the print screen button on yr keyboard and snapshot > it ? > > On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, > wrote: > > Hi, > > in one of my project i had warning message. > > i would like to be able to copy / paste these messages from > Gambas3 ide... > > is this possible ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Aug 1 14:43:35 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 1 Aug 2023 14:43:35 +0200 Subject: [Gambas-user] Warning: Class name hidden by local declaration: key In-Reply-To: References: <7a1863ea-67d8-e399-53bc-543772d0d514@gmail.com> Message-ID: Le 01/08/2023 ? 14:28, Bruce Steers a ?crit?: > > > Key is a class name, you can use it as a parametername but it must be in > parentheses > > Action_Activate((key) As String) As > Boolean > > It is better to use a different word if you also want to use Key.class > in the function. > Actually it *must not* be in parenthesis. You put parenthesis to tell the compiler that you know what you are doing by using a class name as a parameter or variable identifier. It just removes the compiler warning. Regards, -- Beno?t Minisini. From demosthenesk at gmail.com Tue Aug 1 14:43:40 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 15:43:40 +0300 Subject: [Gambas-user] Cursor.X, Cursor.Y example Message-ID: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> i had with older versions of Gambas3 the following code working fine... -------------------------------------------------- ' Gambas class file Public Sub Form_MouseMove() ? Label1.Text = "Mouse X:" & Mouse.X ? Label2.Text = "Mouse Y:" & Mouse.Y End -------------------------------------------------- Now for version 3.18.3 i tried the next one -------------------------------------------------- ' Gambas class file Public Sub Form_MouseMove() ? Label1.Text = "Mouse X:" & Cursor.X ? Label2.Text = "Mouse Y:" & Cursor.Y End -------------------------------------------------- But i get error "Cursor.X is not Static" How must i write the example code i want to show inside Labels the position of cursor X,Y Thanks Demosthenes! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: FMain.class - Project105 0.0.1 ? Gambas 3_001.png Type: image/png Size: 89898 bytes Desc: not available URL: From t.lee.davidson at gmail.com Tue Aug 1 17:13:55 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 1 Aug 2023 11:13:55 -0400 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: Message-ID: <80483702-d974-c717-6ecb-f83ed6f55a34@gmail.com> On 8/1/23 04:31, Jorge Carri?n wrote: > Arch has its equivalent of Ubuntu's apt, the pacman. It's super powerful and cool... for managing packages in repositories. The > problem is that when installing gambas3 from the source, according to pacman gambas3 is not installed, therefore the packages > with my programs do not meet the dependencies and cannot be installed. Could you compile Gambas, NOT install it with the `make` command, but then create an Arch package from it that could be installed by Pacman (so Pacman would know it is installed)? -- Lee From t.lee.davidson at gmail.com Tue Aug 1 18:47:10 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 1 Aug 2023 12:47:10 -0400 Subject: [Gambas-user] Cursor.X, Cursor.Y example In-Reply-To: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> References: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> Message-ID: <0ed6b5e0-9871-113b-0c86-52544d02dff1@gmail.com> On 8/1/23 08:43, Demosthenes Koptsis wrote: > But i get error "Cursor.X is not Static" > > How must i write the example code > > i want to show inside Labels the position of cursor X,Y By your last sentence, do you mean you want to show the X and Y coordinates of the *mouse* cursor? Mouse.X and Mouse.Y will give you the coordinates of the mouse cursor relative to the top, left corner of the Form when used in the Form_MouseMove event handler. Mouse.ScreenX and Mouse.ScreenY, available at any time and not just within a MouseMove event, will give you the coordinates of the mouse cursor relative to the top, left corner of the entire screen. The X and Y properties of the Cursor class are dynamic and not static. To use them, you would need to create a new Cursor object from the Cursor class (https://gambaswiki.org/wiki/comp/gb.qt4/cursor/_new). But, I think this is not what you want because those properties represent only the X and Y coordinates of the hot spot of your custom cursor. They do not give the position of the mouse cursor. -- Lee From bsteers4 at gmail.com Tue Aug 1 18:47:08 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 1 Aug 2023 17:47:08 +0100 Subject: [Gambas-user] Cursor.X, Cursor.Y example In-Reply-To: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> References: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> Message-ID: On Tue, 1 Aug 2023, 13:45 Demosthenes Koptsis, wrote: > i had with older versions of Gambas3 the following code working fine... > > -------------------------------------------------- > > ' Gambas class file > > Public Sub Form_MouseMove() > > Label1.Text = "Mouse X:" & Mouse.X > Label2.Text = "Mouse Y:" & Mouse.Y > > End > > -------------------------------------------------- > > > Now for version 3.18.3 i tried the next one > > > -------------------------------------------------- > > ' Gambas class file > > Public Sub Form_MouseMove() > > Label1.Text = "Mouse X:" & Cursor.X > Label2.Text = "Mouse Y:" & Cursor.Y > > End > > -------------------------------------------------- > > > But i get error "Cursor.X is not Static" > > How must i write the example code > > i want to show inside Labels the position of cursor X,Y > > Thanks Demosthenes! > > Cursor class is more about a cursor image. You can see here it's properties, http://gambaswiki.org/wiki/comp/gb.qt4/cursor Cursor.X is for if you define a custom cursor image http://gambaswiki.org/wiki/comp/gb.qt4/cursor/_new then your custom cursor has it's hot-spot point you need Mouse.Class like in the first code sample. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Tue Aug 1 19:07:55 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 19:07:55 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: <80483702-d974-c717-6ecb-f83ed6f55a34@gmail.com> References: <80483702-d974-c717-6ecb-f83ed6f55a34@gmail.com> Message-ID: *Could you compile Gambas, NOT install it with the `make` command, but then create an Arch package from it that could be * * installed by Pacman (so Pacman would know it is installed)?* I don't know how do that. I'm searching information about pacman and arch packages... I will keep reporting here. Best Regards El mar, 1 ago 2023 a las 17:14, T Lee Davidson () escribi?: > On 8/1/23 04:31, Jorge Carri?n wrote: > > Arch has its equivalent of Ubuntu's apt, the pacman. It's super powerful > and cool... for managing packages in repositories. The > > problem is that when installing gambas3 from the source, according to > pacman gambas3 is not installed, therefore the packages > > with my programs do not meet the dependencies and cannot be installed. > > Could you compile Gambas, NOT install it with the `make` command, but then > create an Arch package from it that could be > installed by Pacman (so Pacman would know it is installed)? > > > -- > Lee > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 20:00:57 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 21:00:57 +0300 Subject: [Gambas-user] Cursor.X, Cursor.Y example In-Reply-To: <0ed6b5e0-9871-113b-0c86-52544d02dff1@gmail.com> References: <756d4e15-4b3d-10ba-71ad-d5dd4525ee0b@gmail.com> <0ed6b5e0-9871-113b-0c86-52544d02dff1@gmail.com> Message-ID: <80547ce1-f176-49dc-ec1b-3b368e096a20@gmail.com> ok my mistake, the next code is working fine ---------------------------------------- ' Gambas class file Public Sub Form_MouseMove() ? Label1.Text = "Mouse X:" & Mouse.X ? Label2.Text = "Mouse Y:" & Mouse.Y End ---------------------------------------- On 8/1/23 19:47, T Lee Davidson wrote: > On 8/1/23 08:43, Demosthenes Koptsis wrote: >> But i get error "Cursor.X is not Static" >> >> How must i write the example code >> >> i want to show inside Labels the position of cursor X,Y > > By your last sentence, do you mean you want to show the X and Y > coordinates of the *mouse* cursor? > > Mouse.X and Mouse.Y will give you the coordinates of the mouse cursor > relative to the top, left corner of the Form when used in the > Form_MouseMove event handler. Mouse.ScreenX and Mouse.ScreenY, > available at any time and not just within a MouseMove event, will give > you the coordinates of the mouse cursor relative to the top, left > corner of the entire screen. > > The X and Y properties of the Cursor class are dynamic and not static. > To use them, you would need to create a new Cursor object from the > Cursor class (https://gambaswiki.org/wiki/comp/gb.qt4/cursor/_new). > But, I think this is not what you want because those properties > represent only the X and Y coordinates of the hot spot of your custom > cursor. They do not give the position of the mouse cursor. > > From jussi.lahtinen at gmail.com Tue Aug 1 20:11:25 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 1 Aug 2023 21:11:25 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> Message-ID: Take a screenshot, print it as pdf and then use OCRmyPDF to convert it as text, then copy & paste. Just joking... I think that was implemented at some point, but it doesn't work here either. The IDE needs that feature. Jussi On Tue, Aug 1, 2023 at 3:37?PM Demosthenes Koptsis wrote: > yes i tried to right click...nothing happens, no pop up menu with copy > option > > i would like to copy it as text not printscreen... > On 8/1/23 15:31, Bruce Steers wrote: > > Did you try to right click the text? > > You can always hit the print screen button on yr keyboard and snapshot it > ? > > On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, > wrote: > >> Hi, >> >> in one of my project i had warning message. >> >> i would like to be able to copy / paste these messages from Gambas3 ide... >> >> is this possible ? >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Tue Aug 1 20:13:28 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Tue, 1 Aug 2023 20:13:28 +0200 Subject: [Gambas-user] Gambas packages installation on Manjaro In-Reply-To: References: <80483702-d974-c717-6ecb-f83ed6f55a34@gmail.com> Message-ID: In the end the problem does not exist. Manjaro KDE offers the latest stable version... although the penultimate one appears in the information on the Gambas website and others. I assume they have updated the repositories. In other words, that much typing and bothering for nothing. Sorry about the noise... again (*I think I need a vacation*) El mar, 1 ago 2023 a las 19:07, Jorge Carri?n () escribi?: > > *Could you compile Gambas, NOT install it with the `make` command, but > then create an Arch package from it that could be * > * installed by Pacman (so Pacman would know it is installed)?* > > I don't know how do that. I'm searching information about pacman and arch > packages... I will keep reporting here. > > Best Regards > > El mar, 1 ago 2023 a las 17:14, T Lee Davidson () > escribi?: > >> On 8/1/23 04:31, Jorge Carri?n wrote: >> > Arch has its equivalent of Ubuntu's apt, the pacman. It's super >> powerful and cool... for managing packages in repositories. The >> > problem is that when installing gambas3 from the source, according to >> pacman gambas3 is not installed, therefore the packages >> > with my programs do not meet the dependencies and cannot be installed. >> >> Could you compile Gambas, NOT install it with the `make` command, but >> then create an Arch package from it that could be >> installed by Pacman (so Pacman would know it is installed)? >> >> >> -- >> Lee >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 20:28:55 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 21:28:55 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> Message-ID: <3c80054c-291f-2877-e666-9bd97efb35a4@gmail.com> i think that it needs a Button for Copy Warning Messages if they are more than one. The Button code should transform grid messages/text to Clipboard plain text... On 8/1/23 21:11, Jussi Lahtinen wrote: > Take a screenshot, print it as pdf and then use OCRmyPDF to convert it > as text, then copy & paste. Just joking... I think that was > implemented at some point, but it doesn't work here either. > The IDE needs that feature. > > Jussi > > > On Tue, Aug 1, 2023 at 3:37?PM Demosthenes Koptsis > wrote: > > yes i tried to right click...nothing happens, no pop up menu with > copy option > > i would like to copy it as text not printscreen... > > On 8/1/23 15:31, Bruce Steers wrote: >> Did you try to right click the text? >> >> You can always hit the print screen button on yr keyboard and >> snapshot it ? >> >> On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, >> wrote: >> >> Hi, >> >> in one of my project i had warning message. >> >> i would like to be able to copy / paste these messages from >> Gambas3 ide... >> >> is this possible ? >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Tue Aug 1 20:31:25 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 2 Aug 2023 04:01:25 +0930 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: <3c80054c-291f-2877-e666-9bd97efb35a4@gmail.com> References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> <3c80054c-291f-2877-e666-9bd97efb35a4@gmail.com> Message-ID: You could, of course, compile the project in a terminal. That will let you copy the output. b On 2/8/23 3:58 am, Demosthenes Koptsis wrote: > > i think that it needs a Button for Copy Warning Messages if they are > more than one. > > The Button code should transform grid messages/text to Clipboard plain > text... > > > On 8/1/23 21:11, Jussi Lahtinen wrote: >> Take a screenshot, print it as pdf and then use OCRmyPDF to convert >> it as text, then copy & paste. Just joking... I think that was >> implemented at some point, but it doesn't work here either. >> The IDE needs that feature. >> >> Jussi >> >> >> On Tue, Aug 1, 2023 at 3:37?PM Demosthenes Koptsis >> wrote: >> >> yes i tried to right click...nothing happens, no pop up menu with >> copy option >> >> i would like to copy it as text not printscreen... >> >> On 8/1/23 15:31, Bruce Steers wrote: >>> Did you try to right click the text? >>> >>> You can always hit the print screen button on yr keyboard and >>> snapshot it ? >>> >>> On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, >>> wrote: >>> >>> Hi, >>> >>> in one of my project i had warning message. >>> >>> i would like to be able to copy / paste these messages from >>> Gambas3 ide... >>> >>> is this possible ? >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >>> >>> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Aug 1 20:55:31 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 1 Aug 2023 21:55:31 +0300 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> <3c80054c-291f-2877-e666-9bd97efb35a4@gmail.com> Message-ID: Doesn't work here either. "gbc3 -w" just gives OK, no warning. Jussi On Tue, Aug 1, 2023 at 9:32?PM BB wrote: > You could, of course, compile the project in a terminal. That will let you > copy the output. > > b > On 2/8/23 3:58 am, Demosthenes Koptsis wrote: > > i think that it needs a Button for Copy Warning Messages if they are more > than one. > > The Button code should transform grid messages/text to Clipboard plain > text... > > > On 8/1/23 21:11, Jussi Lahtinen wrote: > > Take a screenshot, print it as pdf and then use OCRmyPDF to convert it as > text, then copy & paste. Just joking... I think that was implemented at > some point, but it doesn't work here either. > The IDE needs that feature. > > Jussi > > > On Tue, Aug 1, 2023 at 3:37?PM Demosthenes Koptsis > wrote: > >> yes i tried to right click...nothing happens, no pop up menu with copy >> option >> >> i would like to copy it as text not printscreen... >> On 8/1/23 15:31, Bruce Steers wrote: >> >> Did you try to right click the text? >> >> You can always hit the print screen button on yr keyboard and snapshot it >> ? >> >> On Tue, 1 Aug 2023, 12:27 Demosthenes Koptsis, >> wrote: >> >>> Hi, >>> >>> in one of my project i had warning message. >>> >>> i would like to be able to copy / paste these messages from Gambas3 >>> ide... >>> >>> is this possible ? >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Tue Aug 1 21:45:39 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Tue, 1 Aug 2023 22:45:39 +0300 Subject: [Gambas-user] Trayicon app, menu not working Message-ID: <6925f18f-87a8-613b-bd6c-894fd9e41970@gmail.com> hello, i have a demo app for the TrayIcon component. i created a menu with Show, Quit options on trayicon. This app in previous versions of Gambas3 and Mate Desktop was working but now on Debian 13 Mate Desktop, is not working any more. Can someone test it in his desktop and tell me if it works or not or if the app has a bug? Thanks -------------- next part -------------- A non-text attachment was scrubbed... Name: Project131.tar.gz Type: application/gzip Size: 112958 bytes Desc: not available URL: From demosthenesk at gmail.com Tue Aug 1 23:15:49 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 00:15:49 +0300 Subject: [Gambas-user] Trayicon app, menu not working In-Reply-To: <6925f18f-87a8-613b-bd6c-894fd9e41970@gmail.com> References: <6925f18f-87a8-613b-bd6c-894fd9e41970@gmail.com> Message-ID: <7f979ca1-ae2a-5596-b857-8f945768f51a@gmail.com> well i changed the code as follows and now it is working ---------------------------------------------------------- ' Gambas class file Private hTrayIcon As TrayIcon Private Mnu As Menu Private Opt1 As Menu Private Opt2 As Menu Public Sub _new() ?'create trayicon ?hTrayIcon = New TrayIcon As "hTrayIcon" ?hTrayIcon.Picture = Picture["app.png"] ?hTrayIcon.Tooltip = "The demo trayicon application" ?hTrayIcon.Show ?InitMenu() End Public Sub Form_Open() ? Me.Center End Public Sub Form_Close() ? ExitApp() End Public Sub InitMenu() ?'setup popup menu ?Mnu = New Menu(Me) ?Mnu.Name = "Mnu" ?'setup option1 ?Opt1 = New Menu(Mnu) As "MenuTray" ?Opt1.Name = "Opt1" ?Opt1.Caption = "Show" ?Opt1.Visible = True ?Opt1.Picture = Picture["show.png"] ?'setup option2 ?Opt2 = New Menu(Mnu) As "MenuTray" ?Opt2.Name = "Opt2" ?Opt2.Caption = "Quit application" ?Opt2.Picture = Picture["exit.png"] ?Opt2.Visible = True End Public Sub MenuTray_Click() ?Select Case Last.name ?? Case "Opt1" ???? Me.Visible = True ???? Me.Minimized = False ?? Case "Opt2" ???? ExitApp() ?End Select End Public Sub hTrayIcon_Click() ?Mnu.Popup End Public Sub ExitApp() ? Quit End Public Sub Timer1_Timer() ?If Me.Minimized = True Then ?? Me.Hide ?Endif End ------------------------------------------------------- On 8/1/23 22:45, Demosthenes Koptsis wrote: > hello, > > i have a demo app for the TrayIcon component. > > i created a menu with Show, Quit options on trayicon. > > This app in previous versions of Gambas3 and Mate Desktop was working > but now on Debian 13 Mate Desktop, is not working any more. > > Can someone test it in his desktop and tell me if it works or not or > if the app has a bug? > > Thanks > From demosthenesk at gmail.com Tue Aug 1 23:26:14 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 00:26:14 +0300 Subject: [Gambas-user] application.return (gb)?, This symbol does not exist. Message-ID: <84a8c3aa-8cb5-b69b-6db6-704d8d297aa0@gmail.com> At https://gambaswiki.org/wiki/comp/gb/application there is |PRINT "Returned value: ";| |Application.Return | |0| This is the value that will be returned by your application to the operating system at exit. but when i click Application.Return i get application.return (gb)? /This symbol does not exist./ -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Aug 2 00:02:15 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 2 Aug 2023 00:02:15 +0200 Subject: [Gambas-user] application.return (gb)?, This symbol does not exist. In-Reply-To: <84a8c3aa-8cb5-b69b-6db6-704d8d297aa0@gmail.com> References: <84a8c3aa-8cb5-b69b-6db6-704d8d297aa0@gmail.com> Message-ID: <231ee2f8-04a3-7290-f20f-c2d30770b04c@gambas-basic.org> Le 01/08/2023 ? 23:26, Demosthenes Koptsis a ?crit?: > At https://gambaswiki.org/wiki/comp/gb/application > > there is > > |PRINT "Returned value: ";| > |Application.Return > | |0| This is > the value that will be returned by your application to the operating > system at exit. > > but when i click Application.Return > i get > > > application.return (gb)? > > /This symbol does not exist./ > This property does not exist. I have fixed the documentation. Regards, -- Beno?t Minisini. From brian at westwoodsvcs.com Wed Aug 2 18:32:56 2023 From: brian at westwoodsvcs.com (Brian G) Date: Wed, 2 Aug 2023 09:32:56 -0700 Subject: [Gambas-user] _free not called when object destroyed Message-ID: <7f3660b5-a05f-1f0a-56ff-bfa793444f89@westwoodsvcs.com> I have a question regarding when an object is destroyed and _free is called. in my code when I do the following then the object free method is called dim a as myobject = new myobject a = new myobject???? ' when I do this then the old object _free method is called But if I a = NULL????????????????? ' The _free method is never called for the object or for any object in an array of objects Maybe I don't understand correctly how this works, but I would expect the objects _free method to be called if there is no other reference. From demosthenesk at gmail.com Wed Aug 2 20:28:44 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 21:28:44 +0300 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working Message-ID: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> Hello, finally i registered and activated my Gambas account for Bugtracker with details: username:??? demosthenesk email:??? ??? ??? dimos.koptsis at yahoo.com but when i try to login at Bugtracker or Wiki i input my login details press LOGIN and nothing happens... Please may someone check what happens ? Thanks Dimos! From demosthenesk at gmail.com Wed Aug 2 21:22:47 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 22:22:47 +0300 Subject: [Gambas-user] _free not called when object destroyed In-Reply-To: <7f3660b5-a05f-1f0a-56ff-bfa793444f89@westwoodsvcs.com> References: <7f3660b5-a05f-1f0a-56ff-bfa793444f89@westwoodsvcs.com> Message-ID: <88aafff5-4c77-2cb6-1e77-ef19ad2fb61e@gmail.com> For example, suppose you have a class Fruit.class and Main.module of a command line project ------- Fruit.class ------------ ' Gambas class file Public Name As String Static Public Sub _init() ? Print "Fruit is created, i am in _init" End Public Sub _free() ? Print "Fruit is freed, i am in _free" End -------------------------------------------------- ---------- Main.module -------------------- ' Gambas module file Public Sub Main() ? 'call CreateFruit ? Print "I am in Main" ? CreateFruit() ? Print "I am back in Main after CreateFruit" End Public Sub CreateFruit() ?? Dim oApple As New Fruit ?? oApple.Name = "Apple" ?? Print "I am in CreateFruit, oApple Name is: " & oApple.Name ?? Print "I am in CreateFruit, before Apple=Null" ?? oApple = Null ?? Print "I am in CreateFruit, after oApple=Null" End --------------------------------------- You can create a Fruit object in a CreateFruit sub but when the code goes out of scope of CreateFruit Sub the object is destroyed or if you set its reference variable to NULL as it shows in Console ----------- Console ------------------- I am in Main Fruit is created, i am in _init I am in CreateFruit, oApple Name is: Apple I am in CreateFruit, before Apple=Null *Fruit is freed, i am in _free** *I am in CreateFruit, after oApple=Null I am back in Main after CreateFruit ------------------------------------------ if you set oApple = Null the object is freed On 8/2/23 19:32, Brian G wrote: > I have a question regarding when an object is destroyed and _free is > called. > > in my code when I do the following then the object free method is called > > dim a as myobject = new myobject > > a = new myobject???? ' when I do this then the old object _free method > is called > > But if I > > a = NULL????????????????? ' The _free method is never called for the > object or for any object in an array of objects > > Maybe I don't understand correctly how this works, but I would expect > the objects _free method to be called if there is no other reference. > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Wed Aug 2 21:25:54 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 22:25:54 +0300 Subject: [Gambas-user] Fwd: _free not called when object destroyed In-Reply-To: <88aafff5-4c77-2cb6-1e77-ef19ad2fb61e@gmail.com> References: <88aafff5-4c77-2cb6-1e77-ef19ad2fb61e@gmail.com> Message-ID: i attache the project -------- Forwarded Message -------- Subject: Re: [Gambas-user] _free not called when object destroyed Date: Wed, 2 Aug 2023 22:22:47 +0300 From: Demosthenes Koptsis To: user at lists.gambas-basic.org For example, suppose you have a class Fruit.class and Main.module of a command line project ------- Fruit.class ------------ ' Gambas class file Public Name As String Static Public Sub _init() ? Print "Fruit is created, i am in _init" End Public Sub _free() ? Print "Fruit is freed, i am in _free" End -------------------------------------------------- ---------- Main.module -------------------- ' Gambas module file Public Sub Main() ? 'call CreateFruit ? Print "I am in Main" ? CreateFruit() ? Print "I am back in Main after CreateFruit" End Public Sub CreateFruit() ?? Dim oApple As New Fruit ?? oApple.Name = "Apple" ?? Print "I am in CreateFruit, oApple Name is: " & oApple.Name ?? Print "I am in CreateFruit, before Apple=Null" ?? oApple = Null ?? Print "I am in CreateFruit, after oApple=Null" End --------------------------------------- You can create a Fruit object in a CreateFruit sub but when the code goes out of scope of CreateFruit Sub the object is destroyed or if you set its reference variable to NULL as it shows in Console ----------- Console ------------------- I am in Main Fruit is created, i am in _init I am in CreateFruit, oApple Name is: Apple I am in CreateFruit, before Apple=Null *Fruit is freed, i am in _free** *I am in CreateFruit, after oApple=Null I am back in Main after CreateFruit ------------------------------------------ if you set oApple = Null the object is freed On 8/2/23 19:32, Brian G wrote: > I have a question regarding when an object is destroyed and _free is > called. > > in my code when I do the following then the object free method is called > > dim a as myobject = new myobject > > a = new myobject???? ' when I do this then the old object _free method > is called > > But if I > > a = NULL????????????????? ' The _free method is never called for the > object or for any object in an array of objects > > Maybe I don't understand correctly how this works, but I would expect > the objects _free method to be called if there is no other reference. > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DestroyObject.tar.gz Type: application/gzip Size: 12921 bytes Desc: not available URL: From demosthenesk at gmail.com Wed Aug 2 21:36:58 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 22:36:58 +0300 Subject: [Gambas-user] Fwd: _free not called when object destroyed In-Reply-To: References: <88aafff5-4c77-2cb6-1e77-ef19ad2fb61e@gmail.com> Message-ID: <7077ef1c-3287-c8c0-325a-244b789a514e@gmail.com> if you try to assign to an object variable twice new objects, _free is called for example: ?? oApple = New Fruit ?? oApple.Name = "Apple2" ?? Print "oApple.Name=" & oApple.Name ?? oApple = New Fruit ?? oApple.Name = "Apple3" ?? Print "oApple.Name=" & oApple.Name -------------------------------------------------------- --------- Console ------------- oApple.Name=Apple2 Fruit is freed, i am in _free oApple.Name=Apple3 ---------------------------------- On 8/2/23 22:25, Demosthenes Koptsis wrote: > > i attache the project > > > > -------- Forwarded Message -------- > Subject: Re: [Gambas-user] _free not called when object destroyed > Date: Wed, 2 Aug 2023 22:22:47 +0300 > From: Demosthenes Koptsis > To: user at lists.gambas-basic.org > > > > For example, suppose you have a class Fruit.class and Main.module of a > command line project > > ------- Fruit.class ------------ > > ' Gambas class file > > Public Name As String > > Static Public Sub _init() > ? Print "Fruit is created, i am in _init" > End > > Public Sub _free() > ? Print "Fruit is freed, i am in _free" > End > -------------------------------------------------- > > ---------- Main.module -------------------- > > ' Gambas module file > > Public Sub Main() > > ? 'call CreateFruit > ? Print "I am in Main" > ? CreateFruit() > ? Print "I am back in Main after CreateFruit" > > End > > Public Sub CreateFruit() > ?? Dim oApple As New Fruit > ?? oApple.Name = "Apple" > ?? Print "I am in CreateFruit, oApple Name is: " & oApple.Name > > ?? Print "I am in CreateFruit, before Apple=Null" > ?? oApple = Null > ?? Print "I am in CreateFruit, after oApple=Null" > End > --------------------------------------- > > You can create a Fruit object in a CreateFruit sub but when the code > goes out of scope of CreateFruit Sub the object is destroyed or if you > set its reference variable to NULL as it shows in Console > > ----------- Console ------------------- > > I am in Main > Fruit is created, i am in _init > I am in CreateFruit, oApple Name is: Apple > I am in CreateFruit, before Apple=Null > *Fruit is freed, i am in _free** > *I am in CreateFruit, after oApple=Null > I am back in Main after CreateFruit > > ------------------------------------------ > > if you set oApple = Null the object is freed > > > > On 8/2/23 19:32, Brian G wrote: >> I have a question regarding when an object is destroyed and _free is >> called. >> >> in my code when I do the following then the object free method is called >> >> dim a as myobject = new myobject >> >> a = new myobject???? ' when I do this then the old object _free >> method is called >> >> But if I >> >> a = NULL????????????????? ' The _free method is never called for the >> object or for any object in an array of objects >> >> Maybe I don't understand correctly how this works, but I would expect >> the objects _free method to be called if there is no other reference. >> >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DestroyObject2.tar.gz Type: application/gzip Size: 13004 bytes Desc: not available URL: From demosthenesk at gmail.com Wed Aug 2 22:19:16 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Wed, 2 Aug 2023 23:19:16 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows Message-ID: i have FMain and a Workspace control on it. i add 2 forms in Workspace and i want the Form1 to be minimized and Form2 Maximized. i have this code but Form1 is not Minimized in Workspace... why ? ------------ FMain.class -------------------------- ' Gambas class file Public Sub Form_Open() ? Workspace1.Add(Form1, True) ? Workspace1.Add(Form2, True) ? Workspace1.Windows[0].Minimized = True End -------------------------------------- From olivier.cruilles at yahoo.fr Wed Aug 2 22:56:21 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Wed, 2 Aug 2023 16:56:21 -0400 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: References: Message-ID: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> Hello, A Workspace is not like a Desktop, you should use the properties .Show or .Hide to for that. Olivier Cruilles > Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis a ?crit : > > i have FMain and a Workspace control on it. > > i add 2 forms in Workspace and i want the Form1 to be minimized and Form2 Maximized. > > i have this code but Form1 is not Minimized in Workspace... why ? > > ------------ FMain.class -------------------------- > > ' Gambas class file > > Public Sub Form_Open() > > Workspace1.Add(Form1, True) > Workspace1.Add(Form2, True) > Workspace1.Windows[0].Minimized = True > > End > > -------------------------------------- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Wed Aug 2 23:10:45 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:10:45 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working Message-ID: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> i test gb.Args component with the following code ---------------------------------- ' Gambas module file Public Sub Main() ? Dim sElement As String ? For Each sElement In Args ??? Print sElement ? Next End ------------------------------------ When i run the Project140.gambas with parameters i get output only for command name ----------- Console ----------- ./Project140.gambas -1 -2 -3 ./Project140.gambas ---------------------------------- the parameters -1 -2 -3 are omitted -------------- next part -------------- A non-text attachment was scrubbed... Name: Project140.tar.gz Type: application/gzip Size: 12655 bytes Desc: not available URL: From adamnt42 at gmail.com Wed Aug 2 23:13:20 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 06:43:20 +0930 Subject: [Gambas-user] _free not called when object destroyed In-Reply-To: <7f3660b5-a05f-1f0a-56ff-bfa793444f89@westwoodsvcs.com> References: <7f3660b5-a05f-1f0a-56ff-bfa793444f89@westwoodsvcs.com> Message-ID: On 3/8/23 2:02 am, Brian G wrote: > I have a question regarding when an object is destroyed and _free is > called. > > in my code when I do the following then the object free method is called > > dim a as myobject = new myobject > > a = new myobject???? ' when I do this then the old object _free method > is called > > But if I > > a = NULL????????????????? ' The _free method is never called for the > object or for any object in an array of objects > > Maybe I don't understand correctly how this works, but I would expect > the objects _free method to be called if there is no other reference. > (These are my thoughts, no testing done.) This is subtle. In the first case you mention "a" references a particular "myobject", then you implicitly destroy that object and its' reference pointer by using the creator again, so the _free event is raised. In the second case you are implicitly destroying the object but not it's reference pointer. Does that make sense? b From adamnt42 at gmail.com Wed Aug 2 23:20:35 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 06:50:35 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> On 3/8/23 6:40 am, Demosthenes Koptsis wrote: > i test gb.Args component with the following code > > ---------------------------------- > > ' Gambas module file > > Public Sub Main() > > ? Dim sElement As String > > ? For Each sElement In Args > ??? Print sElement > ? Next > End > ------------------------------------ > > When i run the Project140.gambas with parameters i get output only for > command name > > ----------- Console ----------- > > ./Project140.gambas -1 -2 -3 > ./Project140.gambas > ---------------------------------- > > the parameters -1 -2 -3 are omitted > > -1, -2 and -3 are *Options* not *Arguments*. Consider this, on the command line, those options are strings, they start with a "-" which indicates that. They are not values. Arguments are values. Try ./Project140.gambas -a -b -c You should get the same i.e. only the command name. Try ./Project140.gambas -a -b -c 'some extra' See the difference? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Aug 2 23:22:27 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 2 Aug 2023 22:22:27 +0100 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: On Wed, 2 Aug 2023, 22:11 Demosthenes Koptsis, wrote: > i test gb.Args component with the following code > > ---------------------------------- > > ' Gambas module file > > Public Sub Main() > > Dim sElement As String > > For Each sElement In Args > Print sElement > Next > End > ------------------------------------ > > When i run the Project140.gambas with parameters i get output only for > command name > > ----------- Console ----------- > > ./Project140.gambas -1 -2 -3 > ./Project140.gambas > ---------------------------------- > > the parameters -1 -2 -3 are omitted > The Args.class itself is not enumerable you must use the All property... For Each sElement In Args.All Print sElement Next BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Aug 2 23:28:12 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 2 Aug 2023 22:28:12 +0100 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: On Wed, 2 Aug 2023, 22:22 Bruce Steers, wrote: > > > On Wed, 2 Aug 2023, 22:11 Demosthenes Koptsis, > wrote: > >> i test gb.Args component with the following code >> >> ---------------------------------- >> >> ' Gambas module file >> >> Public Sub Main() >> >> Dim sElement As String >> >> For Each sElement In Args >> Print sElement >> Next >> End >> ------------------------------------ >> >> When i run the Project140.gambas with parameters i get output only for >> command name >> >> ----------- Console ----------- >> >> ./Project140.gambas -1 -2 -3 >> ./Project140.gambas >> ---------------------------------- >> >> the parameters -1 -2 -3 are omitted >> > > The Args.class itself is not enumerable you must use the All property... > > For Each sElement In Args.All > Print sElement > Next > Oops sorry, the args class IS enumerated ? Ignore me lol ? BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Wed Aug 2 23:32:37 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:32:37 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: yes it is enumerable i tries your example with Args.All and pass arguments as "-3 test" but still i get only the command name no parameters no arguments... ------------------ ' Gambas module file Public Sub Main() ? Dim sElement As String ? For Each sElement In Args.All ??? Print sElement ? Next End ----------------------- ---- Console --------- ./Project140.gambas -1 -2 -3 test ./Project140.gambas -------------------------- On 8/3/23 00:28, Bruce Steers wrote: > > > On Wed, 2 Aug 2023, 22:22 Bruce Steers, wrote: > > > > On Wed, 2 Aug 2023, 22:11 Demosthenes Koptsis, > wrote: > > i test gb.Args component with the following code > > ---------------------------------- > > ' Gambas module file > > Public Sub Main() > > ?? Dim sElement As String > > ?? For Each sElement In Args > ???? Print sElement > ?? Next > End > ------------------------------------ > > When i run the Project140.gambas with parameters i get output > only for > command name > > ----------- Console ----------- > > ./Project140.gambas -1 -2 -3 > ./Project140.gambas > ---------------------------------- > > the parameters -1 -2 -3 are omitted > > > The Args.class itself is not enumerable you must use the All > property... > > For Each sElement In Args.All > ? ? ?Print sElement > Next > > > Oops sorry, the args class IS enumerated ? > > Ignore me lol ? > BruceS > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Wed Aug 2 23:41:46 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:41:46 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> Message-ID: <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> Also ./Project140.gambas -a -b -c 'some extra' not working On 8/3/23 00:20, BB wrote: > > > On 3/8/23 6:40 am, Demosthenes Koptsis wrote: >> i test gb.Args component with the following code >> >> ---------------------------------- >> >> ' Gambas module file >> >> Public Sub Main() >> >> ? Dim sElement As String >> >> ? For Each sElement In Args >> ??? Print sElement >> ? Next >> End >> ------------------------------------ >> >> When i run the Project140.gambas with parameters i get output only >> for command name >> >> ----------- Console ----------- >> >> ./Project140.gambas -1 -2 -3 >> ./Project140.gambas >> ---------------------------------- >> >> the parameters -1 -2 -3 are omitted >> >> > -1, -2 and -3 are *Options* not *Arguments*. Consider this, on the > command line, those options are strings, they start with a "-" which > indicates that. They are not values. Arguments are values. > > Try ./Project140.gambas -a -b -c > > You should get the same i.e. only the command name. > > Try ./Project140.gambas -a -b -c 'some extra' > > See the difference? > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Aug 2 23:45:45 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 2 Aug 2023 23:45:45 +0200 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> Message-ID: <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> Le 02/08/2023 ? 20:28, Demosthenes Koptsis a ?crit?: > Hello, > > finally i registered and activated my Gambas account for Bugtracker with > details: > > username:??? demosthenesk > > email:??? ??? ??? dimos.koptsis at yahoo.com > > but when i try to login at Bugtracker or Wiki i input my login details > press LOGIN and nothing happens... > > Please may someone check what happens ? > > Thanks Dimos! > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Everything seems normal to me. Your user is in the list of bugtracker users. Which URL do you go to when you login? Are you sure that you enter the correct password? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Aug 2 23:48:48 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 2 Aug 2023 23:48:48 +0200 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: Le 02/08/2023 ? 23:10, Demosthenes Koptsis a ?crit?: > i test gb.Args component with the following code > > ---------------------------------- > > ' Gambas module file > > Public Sub Main() > > ? Dim sElement As String > > ? For Each sElement In Args > ??? Print sElement > ? Next > End > ------------------------------------ > > When i run the Project140.gambas with parameters i get output only for > command name > > ----------- Console ----------- > > ./Project140.gambas -1 -2 -3 > ./Project140.gambas > ---------------------------------- > > the parameters -1 -2 -3 are omitted > It works perfectly here. As always, please post a full project when reporting a problem! Regards, -- Beno?t Minisini. From demosthenesk at gmail.com Wed Aug 2 23:52:54 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:52:54 +0300 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> Message-ID: i used the link from main page, where it says Bugtracker and shows the login form for Bugtracker. i input my login details but there is no info about successfull login or not, it just clear the login form and stays in login screen On 8/3/23 00:45, Benoit Minisini wrote: > Le 02/08/2023 ? 20:28, Demosthenes Koptsis a ?crit?: >> Hello, >> >> finally i registered and activated my Gambas account for Bugtracker >> with details: >> >> username:??? demosthenesk >> >> email:??? ??? ??? dimos.koptsis at yahoo.com >> >> but when i try to login at Bugtracker or Wiki i input my login >> details press LOGIN and nothing happens... >> >> Please may someone check what happens ? >> >> Thanks Dimos! >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Everything seems normal to me. Your user is in the list of bugtracker > users. > > Which URL do you go to when you login? Are you sure that you enter the > correct password? > From demosthenesk at gmail.com Wed Aug 2 23:55:13 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:55:13 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: <52c9d37e-2c43-28b9-3e58-7ec949c5d99a@gmail.com> here is the project140 On 8/3/23 00:48, Benoit Minisini wrote: > Le 02/08/2023 ? 23:10, Demosthenes Koptsis a ?crit?: >> i test gb.Args component with the following code >> >> ---------------------------------- >> >> ' Gambas module file >> >> Public Sub Main() >> >> ?? Dim sElement As String >> >> ?? For Each sElement In Args >> ???? Print sElement >> ?? Next >> End >> ------------------------------------ >> >> When i run the Project140.gambas with parameters i get output only >> for command name >> >> ----------- Console ----------- >> >> ./Project140.gambas -1 -2 -3 >> ./Project140.gambas >> ---------------------------------- >> >> the parameters -1 -2 -3 are omitted >> > > It works perfectly here. As always, please post a full project when > reporting a problem! > > Regards, > -------------- next part -------------- A non-text attachment was scrubbed... Name: Project140.tar.gz Type: application/gzip Size: 12709 bytes Desc: not available URL: From adamnt42 at gmail.com Wed Aug 2 23:56:16 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 07:26:16 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> Message-ID: <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> On 3/8/23 7:11 am, Demosthenes Koptsis wrote: > > Also > > ./Project140.gambas -a -b -c 'some extra' > > not working > Ah yes, my send finger was too quick. What that did was use 'some extra' as the value of the -c option. Sorry. try ./Project140.gambas 'some extra' I'm trying to find some bash documentation that explains the difference between Arguments and Options, but most of the stuff on the internet is garbage, only demonstrating that the authors don't understand it and probably contribute greatly to why this concept is not understood by many. Have you read (all) of the gb.args wiki stuff? Even though it too gets the terms mixed up occasionally, it does somewhat illustrate the concept. Somewhere in the gnu pages I read about this a long time ago, maybe 10+ years. It sort of went (AFAICR) The command issued consists of the command name and optional *parameters*. Parameters are either *arguments* or *options*. Options, which may have an associated *value*, are names prefixed with a *"-"*. -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Wed Aug 2 23:58:50 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 00:58:50 +0300 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> Message-ID: <464f70ed-fe34-90bf-5540-f95750b1502a@gmail.com> A note! Remember, i was registered before with username "demosthenesk" with gmail email and now i re-registered as username "demosthenesk" with yahoo.com email... maybe there is a conflict...i suppose...! On 8/3/23 00:45, Benoit Minisini wrote: > Le 02/08/2023 ? 20:28, Demosthenes Koptsis a ?crit?: >> Hello, >> >> finally i registered and activated my Gambas account for Bugtracker >> with details: >> >> username:??? demosthenesk >> >> email:??? ??? ??? dimos.koptsis at yahoo.com >> >> but when i try to login at Bugtracker or Wiki i input my login >> details press LOGIN and nothing happens... >> >> Please may someone check what happens ? >> >> Thanks Dimos! >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Everything seems normal to me. Your user is in the list of bugtracker > users. > > Which URL do you go to when you login? Are you sure that you enter the > correct password? > From demosthenesk at gmail.com Thu Aug 3 00:01:58 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:01:58 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> Message-ID: <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> yes i know that, "-option parameter" pair, this is not the case... The case is there is no option or parameter value with FOR...EACH On 8/3/23 00:56, BB wrote: > > > On 3/8/23 7:11 am, Demosthenes Koptsis wrote: >> >> Also >> >> ./Project140.gambas -a -b -c 'some extra' >> >> not working >> > Ah yes, my send finger was too quick. What that did was use 'some > extra' as the value of the -c option. Sorry. > > try ./Project140.gambas 'some extra' > > I'm trying to find some bash documentation that explains the > difference between Arguments and Options, but most of the stuff on the > internet is garbage, only demonstrating that the authors don't > understand it and probably contribute greatly to why this concept is > not understood by many. Have you read (all) of the gb.args wiki stuff? > Even though it too gets the terms mixed up occasionally, it does > somewhat illustrate the concept. > > Somewhere in the gnu pages I read about this a long time ago, maybe > 10+ years. It sort of went (AFAICR) > > The command issued consists of the command name and optional > *parameters*. Parameters are either *arguments* or *options*. Options, > which may have an associated *value*, are names prefixed with a *"-"*. > > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Aug 3 00:04:53 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 3 Aug 2023 00:04:53 +0200 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> Message-ID: <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> Le 02/08/2023 ? 23:52, Demosthenes Koptsis a ?crit?: > i used the link from main page, where it says Bugtracker and shows the > login form for Bugtracker. > > i input my login details but there is no info about successfull login or > not, it just clear the login form and stays in login screen > Try to go directly to the bugtracker: https://gambaswiki.org/bugtracker/main It does not work when you click on the link of the gambas web site (because it's an embedded frame, it does not work anymore on recent browsers). Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Thu Aug 3 00:07:13 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 07:37:13 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> Message-ID: <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> On 3/8/23 7:31 am, Demosthenes Koptsis wrote: > The case is there is no option or parameter value with FOR...EACH The enumeration only returns arguments not options! From demosthenesk at gmail.com Thu Aug 3 00:08:38 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:08:38 +0300 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> Message-ID: yes this link works i can login at Bugtracker page...thanks! What about Wiki-help login? I use login details from bugtracker to search the wiki but i cant.... On 8/3/23 01:04, Benoit Minisini wrote: > Le 02/08/2023 ? 23:52, Demosthenes Koptsis a ?crit?: >> i used the link from main page, where it says Bugtracker and shows >> the login form for Bugtracker. >> >> i input my login details but there is no info about successfull login >> or not, it just clear the login form and stays in login screen >> > > Try to go directly to the bugtracker: > https://gambaswiki.org/bugtracker/main > > It does not work when you click on the link of the gambas web site > (because it's an embedded frame, it does not work anymore on recent > browsers). > > Regards, > From demosthenesk at gmail.com Thu Aug 3 00:10:34 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:10:34 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: <65897ad2-3877-9e6b-35ce-165bc5005127@gmail.com> i tried only values without options...still not working ./Project140.gambas test ./Project140.gambas "test" ./Project140.gambas 'test' nothing works On 8/3/23 01:07, BB wrote: > > On 3/8/23 7:31 am, Demosthenes Koptsis wrote: >> The case is there is no option or parameter value with FOR...EACH > > > The enumeration only returns arguments not options! > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Thu Aug 3 00:14:26 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 07:44:26 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <65897ad2-3877-9e6b-35ce-165bc5005127@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> <65897ad2-3877-9e6b-35ce-165bc5005127@gmail.com> Message-ID: On 3/8/23 7:40 am, Demosthenes Koptsis wrote: > i tried only values without options...still not working > > ./Project140.gambas test > > ./Project140.gambas "test" > > ./Project140.gambas 'test' > > nothing works > Can't help you then. It works here. From demosthenesk at gmail.com Thu Aug 3 00:28:19 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:28:19 +0300 Subject: [Gambas-user] Login to Bugtracker and Wiki search not working In-Reply-To: <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> Message-ID: <588a1514-16ad-1eef-680a-1b1a5353a3d6@gmail.com> Benoit, it was able to login to this wiki link https://gambaswiki.org/wiki the frame html and login is not working Thanks anyway! On 8/3/23 01:04, Benoit Minisini wrote: > Le 02/08/2023 ? 23:52, Demosthenes Koptsis a ?crit?: >> i used the link from main page, where it says Bugtracker and shows >> the login form for Bugtracker. >> >> i input my login details but there is no info about successfull login >> or not, it just clear the login form and stays in login screen >> > > Try to go directly to the bugtracker: > https://gambaswiki.org/bugtracker/main > > It does not work when you click on the link of the gambas web site > (because it's an embedded frame, it does not work anymore on recent > browsers). > > Regards, > From benoit.minisini at gambas-basic.org Thu Aug 3 00:44:47 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 3 Aug 2023 00:44:47 +0200 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <52c9d37e-2c43-28b9-3e58-7ec949c5d99a@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <52c9d37e-2c43-28b9-3e58-7ec949c5d99a@gmail.com> Message-ID: <1a70b44e-1542-54d1-9364-40be766f4de3@gambas-basic.org> Le 02/08/2023 ? 23:55, Demosthenes Koptsis a ?crit?: > here is the project140 > OK, it's because you are using the deprecated 'gb.option' component. Just remove it, and everything will work! Regards, -- Beno?t Minisini. From demosthenesk at gmail.com Thu Aug 3 00:47:56 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:47:56 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> Message-ID: Well i dont know what it was wrong, but i deleted the Project folder and created a new Project140 and it works! @BB gb.args when enumerated it shows ALL options and arguments Thanks for your time! On 8/3/23 00:48, Benoit Minisini wrote: > Le 02/08/2023 ? 23:10, Demosthenes Koptsis a ?crit?: >> i test gb.Args component with the following code >> >> ---------------------------------- >> >> ' Gambas module file >> >> Public Sub Main() >> >> ?? Dim sElement As String >> >> ?? For Each sElement In Args >> ???? Print sElement >> ?? Next >> End >> ------------------------------------ >> >> When i run the Project140.gambas with parameters i get output only >> for command name >> >> ----------- Console ----------- >> >> ./Project140.gambas -1 -2 -3 >> ./Project140.gambas >> ---------------------------------- >> >> the parameters -1 -2 -3 are omitted >> > > It works perfectly here. As always, please post a full project when > reporting a problem! > > Regards, > From jussi.lahtinen at gmail.com Thu Aug 3 00:48:31 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 3 Aug 2023 01:48:31 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: > > The enumeration only returns arguments not options! > This is not true. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Thu Aug 3 00:52:00 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:52:00 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <1a70b44e-1542-54d1-9364-40be766f4de3@gambas-basic.org> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <52c9d37e-2c43-28b9-3e58-7ec949c5d99a@gmail.com> <1a70b44e-1542-54d1-9364-40be766f4de3@gambas-basic.org> Message-ID: i am writing a book for Gambas3 language in Greek and i was started back in the past when Gambas was 2.9.9. Now i reopened the examples i used and many things were changed. Then, there was gb.option, i know. But i selected from components gb.args. it seems the Project140 was holding the setting also for gb.option and it was not removed. I deleted the Project140 and created a new one which it works fine. Thanks Benoit. On 8/3/23 01:44, Benoit Minisini wrote: > Le 02/08/2023 ? 23:55, Demosthenes Koptsis a ?crit?: >> here is the project140 >> > > OK, it's because you are using the deprecated 'gb.option' component. > Just remove it, and everything will work! > > Regards, > From demosthenesk at gmail.com Thu Aug 3 00:53:09 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 01:53:09 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: <5ef13be7-8d6a-f0a0-96a0-c3356665e8da@gmail.com> Yes i mention that @BB, it enumerates everything after command On 8/3/23 01:48, Jussi Lahtinen wrote: > > The enumeration only returns arguments not options! > > > This is not true. > > Jussi > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Aug 3 01:00:45 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 08:30:45 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: On 3/8/23 8:18 am, Jussi Lahtinen wrote: > > The enumeration only returns arguments not options! > > > This is not true. > > Jussi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Well that is a shame. I'm sure that it used to and was a quick way of getting the actual arguments out of the command line without having to resort to gb.args component. -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Thu Aug 3 01:05:44 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 02:05:44 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> Message-ID: <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> I dont want to .Hide or to .Show the child forms. i want to work with this expression Workspace1.Windows[0].Minimized = True but it does nothing as it seems... On 8/2/23 23:56, Linus via User wrote: > Hello, > > A Workspace is not like a Desktop, you should use the properties .Show > or .Hide to for that. > > > Olivier Cruilles > > > > > >> Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis >> a ?crit : >> >> i have FMain and a Workspace control on it. >> >> i add 2 forms in Workspace and i want the Form1 to be minimized and >> Form2 Maximized. >> >> i have this code but Form1 is not Minimized in Workspace... why ? >> >> ------------ FMain.class -------------------------- >> >> ' Gambas class file >> >> Public Sub Form_Open() >> >> ? Workspace1.Add(Form1, True) >> ? Workspace1.Add(Form2, True) >> ? Workspace1.Windows[0].Minimized = True >> >> End >> >> -------------------------------------- >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Aug 3 01:59:34 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 3 Aug 2023 02:59:34 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: > > Well that is a shame. I'm sure that it used to and was a quick way of > getting the actual arguments out of the command line without having to > resort to gb.args component. > How do you know which value is passed for which option, if you cannot get them? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Aug 3 02:23:21 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 09:53:21 +0930 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> Message-ID: <90aa65d7-ebb8-642e-ffdf-7e57a2b3e7db@gmail.com> On 3/8/23 9:29 am, Jussi Lahtinen wrote: > > Well that is a shame. I'm sure that it used to and was a quick way > of getting the actual arguments out of the command line without > having to resort to gb.args component. > > How do you know which value is passed for which option, if you cannot > get them? > > Jussi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Aaaarrrrggh! Arguments, arguments, arguments. ? Arguments are positional, as in cp . For example, if I want my program to have two mandatory arguments otherwise exit with an error... If Args.Count < 3 then blah blah No need for gb.args just the native Args class. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Aug 3 02:32:39 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 10:02:39 +0930 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> Message-ID: <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> On 3/8/23 8:35 am, Demosthenes Koptsis wrote: > > I dont want to .Hide or to .Show the child forms. > > i want to work with this expression > > Workspace1.Windows[0].Minimized = True > > but it does nothing as it seems... > > > On 8/2/23 23:56, Linus via User wrote: >> Hello, >> >> A Workspace is not like a Desktop, you should use the properties >> .Show or .Hide to for that. >> >> >> Olivier Cruilles >> >> >> >> >> >>> Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis >>> a ?crit : >>> >>> i have FMain and a Workspace control on it. >>> >>> i add 2 forms in Workspace and i want the Form1 to be minimized and >>> Form2 Maximized. >>> >>> i have this code but Form1 is not Minimized in Workspace... why ? >>> >>> ------------ FMain.class -------------------------- >>> >>> ' Gambas class file >>> >>> Public Sub Form_Open() >>> >>> ? Workspace1.Add(Form1, True) >>> ? Workspace1.Add(Form2, True) >>> ? Workspace1.Windows[0].Minimized = True >>> >>> End >>> >>> -------------------------------------- >>> >>> If I understand what you are trying to to do, you need to detach the form, then you can minimise it. You can see this in the IDE with a couple of tabs opened. Right click on one, detach it, then you can minimise the detached window. Does that help? b -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Aug 3 02:34:28 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 3 Aug 2023 10:04:28 +0930 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> Message-ID: <812de4ee-7e97-cb07-3df0-a98aec9c30c5@gmail.com> On 3/8/23 8:35 am, Demosthenes Koptsis wrote: > > I dont want to .Hide or to .Show the child forms. > > i want to work with this expression > > Workspace1.Windows[0].Minimized = True > > but it does nothing as it seems... > > > On 8/2/23 23:56, Linus via User wrote: >> Hello, >> >> A Workspace is not like a Desktop, you should use the properties >> .Show or .Hide to for that. >> >> >> Olivier Cruilles >> >> >> >> >> >>> Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis >>> a ?crit : >>> >>> i have FMain and a Workspace control on it. >>> >>> i add 2 forms in Workspace and i want the Form1 to be minimized and >>> Form2 Maximized. >>> >>> i have this code but Form1 is not Minimized in Workspace... why ? >>> >>> ------------ FMain.class -------------------------- >>> >>> ' Gambas class file >>> >>> Public Sub Form_Open() >>> >>> ? Workspace1.Add(Form1, True) >>> ? Workspace1.Add(Form2, True) >>> ? Workspace1.Windows[0].Minimized = True >>> >>> End >>> >>> -------------------------------------- >>> >>> p.s. a Workspace.Windows[] item does not have a Minimized property. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu Aug 3 02:53:51 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 3 Aug 2023 03:53:51 +0300 Subject: [Gambas-user] gb.Args component, FOR EACH...NEXT not working In-Reply-To: <90aa65d7-ebb8-642e-ffdf-7e57a2b3e7db@gmail.com> References: <7b85d134-3cdc-090c-903d-214890122a77@gmail.com> <043747fd-d9a1-47e3-cbdb-0f6f167ac010@gmail.com> <3182d2ec-2706-61e5-52c9-0df1d1e65a66@gmail.com> <3b5b2fb5-4081-9303-0de3-2fd197c0d41b@gmail.com> <97a63fa7-49ce-8fab-fa41-9ee8c447e4fa@gmail.com> <7bc79e9d-6ee0-04b7-c9c2-ac70940afadf@gmail.com> <90aa65d7-ebb8-642e-ffdf-7e57a2b3e7db@gmail.com> Message-ID: > > Aaaarrrrggh! Arguments, arguments, arguments. ? > > Arguments are positional, as in cp . > > > For example, if I want my program to have two mandatory arguments > otherwise exit with an error... > > If Args.Count < 3 then blah blah > > No need for gb.args just the native Args class. > Of course, but what does the "Well that is a shame ..." part means? You don't need to use gb.args and you can rely on the user knowing the order. Everything works as usual..? No? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Thu Aug 3 13:04:16 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 14:04:16 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <812de4ee-7e97-cb07-3df0-a98aec9c30c5@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <812de4ee-7e97-cb07-3df0-a98aec9c30c5@gmail.com> Message-ID: <1b084a64-e6d2-bab5-4331-5cef5c046ba8@gmail.com> The IDE autocomplete the code f.or Workspace1.Windows[0].Minimized so i think Workspace1.Windows[0]. has Minimized property... Try it for yourself... On 8/3/23 03:34, BB wrote: > > > On 3/8/23 8:35 am, Demosthenes Koptsis wrote: >> >> I dont want to .Hide or to .Show the child forms. >> >> i want to work with this expression >> >> Workspace1.Windows[0].Minimized = True >> >> but it does nothing as it seems... >> >> >> On 8/2/23 23:56, Linus via User wrote: >>> Hello, >>> >>> A Workspace is not like a Desktop, you should use the properties >>> .Show or .Hide to for that. >>> >>> >>> Olivier Cruilles >>> >>> >>> >>> >>> >>>> Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis >>>> a ?crit : >>>> >>>> i have FMain and a Workspace control on it. >>>> >>>> i add 2 forms in Workspace and i want the Form1 to be minimized and >>>> Form2 Maximized. >>>> >>>> i have this code but Form1 is not Minimized in Workspace... why ? >>>> >>>> ------------ FMain.class -------------------------- >>>> >>>> ' Gambas class file >>>> >>>> Public Sub Form_Open() >>>> >>>> ? Workspace1.Add(Form1, True) >>>> ? Workspace1.Add(Form2, True) >>>> ? Workspace1.Windows[0].Minimized = True >>>> >>>> End >>>> >>>> -------------------------------------- >>>> >>>> > p.s. a Workspace.Windows[] item does not have a Minimized property. > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Thu Aug 3 13:11:31 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 14:11:31 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> Message-ID: <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> 1) Well i dont want to detach the form and minimized. i was thinking the VB MDI which forms minimized and maximized inside Workspace... ...but as i suppose Gambas3 Workspace does not provide the same usage with VB MDI. 2) Also VB MDI had scrollbars for forms with larger dimensions, Gambas does not. Gambas Workspace loads forms in maximized state to fill whole workspace, no matter the size of child-form. On 8/3/23 03:32, BB wrote: > > > On 3/8/23 8:35 am, Demosthenes Koptsis wrote: >> >> I dont want to .Hide or to .Show the child forms. >> >> i want to work with this expression >> >> Workspace1.Windows[0].Minimized = True >> >> but it does nothing as it seems... >> >> >> On 8/2/23 23:56, Linus via User wrote: >>> Hello, >>> >>> A Workspace is not like a Desktop, you should use the properties >>> .Show or .Hide to for that. >>> >>> >>> Olivier Cruilles >>> >>> >>> >>> >>> >>>> Le 2 ao?t 2023 ? 16:19, Demosthenes Koptsis >>>> a ?crit : >>>> >>>> i have FMain and a Workspace control on it. >>>> >>>> i add 2 forms in Workspace and i want the Form1 to be minimized and >>>> Form2 Maximized. >>>> >>>> i have this code but Form1 is not Minimized in Workspace... why ? >>>> >>>> ------------ FMain.class -------------------------- >>>> >>>> ' Gambas class file >>>> >>>> Public Sub Form_Open() >>>> >>>> ? Workspace1.Add(Form1, True) >>>> ? Workspace1.Add(Form2, True) >>>> ? Workspace1.Windows[0].Minimized = True >>>> >>>> End >>>> >>>> -------------------------------------- >>>> >>>> > If I understand what you are trying to to do, you need to detach the > form, then you can minimise it. You can see this in the IDE with a > couple of tabs opened. Right click on one, detach it, then you can > minimise the detached window. > > Does that help? > > b > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From demosthenesk at gmail.com Thu Aug 3 14:07:03 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 15:07:03 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <812de4ee-7e97-cb07-3df0-a98aec9c30c5@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <812de4ee-7e97-cb07-3df0-a98aec9c30c5@gmail.com> Message-ID: <889a465f-c7c3-557d-8ced-857cfd6fb5c9@gmail.com> i created a new Feature Request Bug #2771: Implement QMdiArea Qt5 component for Gambas3 From gradobag at gradobag.it Thu Aug 3 16:35:09 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 3 Aug 2023 16:35:09 +0200 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> Message-ID: Il 03/08/23 13:11, Demosthenes Koptsis ha scritto: > > 1) Well i dont want to detach the form and minimized. > > i was thinking the VB MDI which forms minimized and maximized inside > Workspace... > > ...but as i suppose Gambas3 Workspace does not provide the same usage > with VB MDI. > > > 2) Also VB MDI had scrollbars for forms with larger dimensions, Gambas > does not. > > Gambas Workspace loads forms in maximized state to fill whole > workspace, no matter the size of child-form. > > Hi, Before fully understanding Gambas containers, you need patience. You can do this test: In a new graphic project, in addition to the FMain add a new form, Form1. This is the FMain code: Public Sub Form_Open() ? Dim hWork As Workspace ? Me.Arrangement = Arrange.Fill ? With hWork = New Workspace(Me) ??? .Add(Form1) ? End With End This is the code of Form1: Public Sub Form_Open() ? Dim hScrollView As ScrollView ? Dim hButton As Button ? With Me ??? .Arrangement = Arrange.Vertical ??? .Text = "Form 1" ? End With ? With hScrollView = New ScrollView(Me) ??? .Arrangement = Arrange.Vertical ??? .Expand = True ??? .ScrollBar = Scroll.Vertical ? End With ? For i As Integer = 1 To 1000 ??? With hButton = New Button(hScrollView) As "Mybutton" ????? .H = 35 ????? .Text = "Button" & i ??? End With ? Next End Public Sub Mybutton_ClicK() ? Print Last.Text End Regards Gianluigi From demosthenesk at gmail.com Thu Aug 3 17:40:57 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 18:40:57 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> Message-ID: <139fd7ad-4471-a788-5436-d77e8c43ed16@gmail.com> This is not the solution for MDI scrollbars... Workspace should provide scrollbars if Form is bigger than Workspace... in Qt5 there is QMdiArea which works like VB MDI Forms On 8/3/23 17:35, Gianluigi wrote: > Il 03/08/23 13:11, Demosthenes Koptsis ha scritto: >> >> 1) Well i dont want to detach the form and minimized. >> >> i was thinking the VB MDI which forms minimized and maximized inside >> Workspace... >> >> ...but as i suppose Gambas3 Workspace does not provide the same usage >> with VB MDI. >> >> >> 2) Also VB MDI had scrollbars for forms with larger dimensions, >> Gambas does not. >> >> Gambas Workspace loads forms in maximized state to fill whole >> workspace, no matter the size of child-form. >> >> > Hi, > > Before fully understanding Gambas containers, you need patience. > You can do this test: > In a new graphic project, in addition to the FMain add a new form, Form1. > > This is the FMain code: > > Public Sub Form_Open() > > ? Dim hWork As Workspace > > ? Me.Arrangement = Arrange.Fill > > ? With hWork = New Workspace(Me) > ??? .Add(Form1) > ? End With > End > > This is the code of Form1: > > Public Sub Form_Open() > > ? Dim hScrollView As ScrollView > ? Dim hButton As Button > > ? With Me > ??? .Arrangement = Arrange.Vertical > ??? .Text = "Form 1" > ? End With > ? With hScrollView = New ScrollView(Me) > ??? .Arrangement = Arrange.Vertical > ??? .Expand = True > ??? .ScrollBar = Scroll.Vertical > ? End With > ? For i As Integer = 1 To 1000 > ??? With hButton = New Button(hScrollView) As "Mybutton" > ????? .H = 35 > ????? .Text = "Button" & i > ??? End With > ? Next > > End > > Public Sub Mybutton_ClicK() > > ? Print Last.Text > > End > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From demosthenesk at gmail.com Thu Aug 3 18:48:28 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Thu, 3 Aug 2023 19:48:28 +0300 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> Message-ID: Hello, there is no interest to develop a port of QMdiArea which is a window-mdi. All the functionality i wanted were by window-mdi component not TabStrip, but Gambas3 has the TabStrip version. So i am not complaining any more. On 8/3/23 17:35, Gianluigi wrote: > Il 03/08/23 13:11, Demosthenes Koptsis ha scritto: >> >> 1) Well i dont want to detach the form and minimized. >> >> i was thinking the VB MDI which forms minimized and maximized inside >> Workspace... >> >> ...but as i suppose Gambas3 Workspace does not provide the same usage >> with VB MDI. >> >> >> 2) Also VB MDI had scrollbars for forms with larger dimensions, >> Gambas does not. >> >> Gambas Workspace loads forms in maximized state to fill whole >> workspace, no matter the size of child-form. >> >> > Hi, > > Before fully understanding Gambas containers, you need patience. > You can do this test: > In a new graphic project, in addition to the FMain add a new form, Form1. > > This is the FMain code: > > Public Sub Form_Open() > > ? Dim hWork As Workspace > > ? Me.Arrangement = Arrange.Fill > > ? With hWork = New Workspace(Me) > ??? .Add(Form1) > ? End With > End > > This is the code of Form1: > > Public Sub Form_Open() > > ? Dim hScrollView As ScrollView > ? Dim hButton As Button > > ? With Me > ??? .Arrangement = Arrange.Vertical > ??? .Text = "Form 1" > ? End With > ? With hScrollView = New ScrollView(Me) > ??? .Arrangement = Arrange.Vertical > ??? .Expand = True > ??? .ScrollBar = Scroll.Vertical > ? End With > ? For i As Integer = 1 To 1000 > ??? With hButton = New Button(hScrollView) As "Mybutton" > ????? .H = 35 > ????? .Text = "Button" & i > ??? End With > ? Next > > End > > Public Sub Mybutton_ClicK() > > ? Print Last.Text > > End > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From bsteers4 at gmail.com Thu Aug 3 19:27:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 3 Aug 2023 18:27:58 +0100 Subject: [Gambas-user] MDI Form, Workspace and minimized Windows In-Reply-To: References: <28081311-5A85-4E3A-97EF-608699169306@yahoo.fr> <246b6e68-9b9d-9be9-1697-5980476321c3@gmail.com> <5fe474e3-5547-ca36-8e32-94234592e7ca@gmail.com> <86e7e8c5-d754-2528-4e55-b785919a1d3d@gmail.com> Message-ID: On Thu, 3 Aug 2023 at 17:49, Demosthenes Koptsis wrote: > Hello, > > there is no interest to develop a port of QMdiArea which is a window-mdi. > > All the functionality i wanted were by window-mdi component not > TabStrip, but Gambas3 has the TabStrip version. > > So i am not complaining any more. > but what does it take to do a minimize function yourself? I would imagine you can just have a panel and when selecting "minimize" on the workspace it adds a button/icon to the panel and hides the window/form. click button and it Shows form again and removes button. that's pretty much all a minimize function does, It shouldn't be too hard to make that happen. BruceS > > On 8/3/23 17:35, Gianluigi wrote: > > Il 03/08/23 13:11, Demosthenes Koptsis ha scritto: > >> > >> 1) Well i dont want to detach the form and minimized. > >> > >> i was thinking the VB MDI which forms minimized and maximized inside > >> Workspace... > >> > >> ...but as i suppose Gambas3 Workspace does not provide the same usage > >> with VB MDI. > >> > >> > >> 2) Also VB MDI had scrollbars for forms with larger dimensions, > >> Gambas does not. > >> > >> Gambas Workspace loads forms in maximized state to fill whole > >> workspace, no matter the size of child-form. > >> > >> > > Hi, > > > > Before fully understanding Gambas containers, you need patience. > > You can do this test: > > In a new graphic project, in addition to the FMain add a new form, Form1. > > > > This is the FMain code: > > > > Public Sub Form_Open() > > > > Dim hWork As Workspace > > > > Me.Arrangement = Arrange.Fill > > > > With hWork = New Workspace(Me) > > .Add(Form1) > > End With > > End > > > > This is the code of Form1: > > > > Public Sub Form_Open() > > > > Dim hScrollView As ScrollView > > Dim hButton As Button > > > > With Me > > .Arrangement = Arrange.Vertical > > .Text = "Form 1" > > End With > > With hScrollView = New ScrollView(Me) > > .Arrangement = Arrange.Vertical > > .Expand = True > > .ScrollBar = Scroll.Vertical > > End With > > For i As Integer = 1 To 1000 > > With hButton = New Button(hScrollView) As "Mybutton" > > .H = 35 > > .Text = "Button" & i > > End With > > Next > > > > End > > > > Public Sub Mybutton_ClicK() > > > > Print Last.Text > > > > End > > > > Regards > > > > Gianluigi > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Aug 3 23:20:22 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 3 Aug 2023 23:20:22 +0200 Subject: [Gambas-user] [FEATURE REQUEST] Copy Warning Messages In-Reply-To: References: Message-ID: Le 01/08/2023 ? 13:26, Demosthenes Koptsis a ?crit?: > Hi, > > in one of my project i had warning message. > > i would like to be able to copy / paste these messages from Gambas3 ide... > > is this possible ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- https://gitlab.com/gambas/gambas/-/commit/d771aa93eb68b2ae713eb3ba34edda499c815ccb should do the job! Regards, -- Beno?t Minisini. From demosthenesk at gmail.com Fri Aug 4 00:09:02 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Fri, 4 Aug 2023 01:09:02 +0300 Subject: [Gambas-user] The Gambas3 book - Greek version Message-ID: Hello, i have finished my book about Gambas3 in Greek. Benoit, you can add it at Books page Translations are welcomed !!! From demosthenesk at gmail.com Fri Aug 4 00:09:39 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Fri, 4 Aug 2023 01:09:39 +0300 Subject: [Gambas-user] The Gambas3 book - Greek version In-Reply-To: References: Message-ID: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> https://github.com/demosthenesk/the_gambas3_book forgot the link...! On 8/4/23 01:09, Demosthenes Koptsis wrote: > Hello, > > i have finished my book about Gambas3 in Greek. > > Benoit, you can add it at Books page > > Translations are welcomed !!! > From axisdj at world-net.net Fri Aug 4 03:23:05 2023 From: axisdj at world-net.net (Winston Potgieter) Date: Thu, 3 Aug 2023 20:23:05 -0500 Subject: [Gambas-user] unsubscribe In-Reply-To: <588a1514-16ad-1eef-680a-1b1a5353a3d6@gmail.com> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> <588a1514-16ad-1eef-680a-1b1a5353a3d6@gmail.com> Message-ID: <0000BC8A1FDB4FFF8E9B45A7C313870B@axisPC> unsubscribe -----Original Message----- From: Demosthenes Koptsis Sent: Wednesday, August 02, 2023 5:28 PM To: user at lists.gambas-basic.org Subject: Re: [Gambas-user] Login to Bugtracker and Wiki search not working Benoit, it was able to login to this wiki link https://gambaswiki.org/wiki the frame html and login is not working Thanks anyway! On 8/3/23 01:04, Benoit Minisini wrote: > Le 02/08/2023 ? 23:52, Demosthenes Koptsis a ?crit : >> i used the link from main page, where it says Bugtracker and shows the >> login form for Bugtracker. >> >> i input my login details but there is no info about successfull login or >> not, it just clear the login form and stays in login screen >> > > Try to go directly to the bugtracker: > https://gambaswiki.org/bugtracker/main > > It does not work when you click on the link of the gambas web site > (because it's an embedded frame, it does not work anymore on recent > browsers). > > Regards, > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From t.lee.davidson at gmail.com Fri Aug 4 13:19:20 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 4 Aug 2023 07:19:20 -0400 Subject: [Gambas-user] unsubscribe In-Reply-To: <0000BC8A1FDB4FFF8E9B45A7C313870B@axisPC> References: <6a0ec8d1-c812-2e1a-2849-02d20f810009@gmail.com> <6cdb0ff1-8a20-fa87-884c-38ce08f337aa@gambas-basic.org> <36d84d50-6673-0956-a46d-835749deecec@gambas-basic.org> <588a1514-16ad-1eef-680a-1b1a5353a3d6@gmail.com> <0000BC8A1FDB4FFF8E9B45A7C313870B@axisPC> Message-ID: <9d1f0a0a-35f3-6bbd-39d7-a163b3b463a5@gmail.com> On 8/3/23 21:23, Winston Potgieter wrote: > unsubscribe > If you would like unsubscribe from the list, go here: https://lists.gambas-basic.org/listinfo/user -- Lee From gambas at cd-bahia.com Sun Aug 6 17:38:17 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Sun, 6 Aug 2023 17:38:17 +0200 Subject: [Gambas-user] Problem with Text on a chart In-Reply-To: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> Message-ID: <72a3208d-0bfa-ad2c-f551-0482b125ed33@cd-bahia.com> Hi I tried to adjust a chart I found in Gambas_book. Data comes as I want, I wanted to put a headline on the chart, position left upper corner. Should be "Netztbezug" (comes from solar panels on our roof, and means what we take from the grid). It's upside down, as shown in the screenshot. The other data ok, but I can't find where that happens (normal direction of the text), Happy for any help. Regards, Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Bildschirmfoto zu 2023-08-06 17-28-28.png Type: image/png Size: 7027 bytes Desc: not available URL: From ea7dfh at ea7dfh.com Sun Aug 6 18:23:42 2023 From: ea7dfh at ea7dfh.com (Jesus Guardon) Date: Sun, 6 Aug 2023 18:23:42 +0200 Subject: [Gambas-user] The Gambas3 book - Greek version In-Reply-To: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> References: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> Message-ID: <7fd282d6-078d-7ce9-5940-772fa02fcca6@ea7dfh.com> El 04/08/23 a las 00:09, Demosthenes Koptsis escribi?: > https://github.com/demosthenesk/the_gambas3_book > > forgot the link...! > > On 8/4/23 01:09, Demosthenes Koptsis wrote: >> Hello, >> >> i have finished my book about Gambas3 in Greek. >> >> Benoit, you can add it at Books page >> >> Translations are welcomed !!! >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Thanks for your hard work, Demosthenes. I'm sure the Greek community of Gambas programmers would thank you a lot. Unfortunately, I can't read a single word in Greek, so I'm not be able to help you in this regard. But as a forum admin, I will spread the word of your new book, for sure. Congratulations!! ---- Jesus http://gambas-es.org From demosthenesk at gmail.com Sun Aug 6 18:44:20 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Sun, 6 Aug 2023 19:44:20 +0300 Subject: [Gambas-user] The Gambas3 book - Greek version In-Reply-To: <7fd282d6-078d-7ce9-5940-772fa02fcca6@ea7dfh.com> References: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> <7fd282d6-078d-7ce9-5940-772fa02fcca6@ea7dfh.com> Message-ID: <765d663e-4be6-8d69-a2bc-0c0f2424c2f7@gmail.com> Thank you Jesus ! Greek community are a few people right now but i promote Gambas3 in Greece and i hope this book will be a great help for newbies. On 8/6/23 19:23, Jesus Guardon wrote: > El 04/08/23 a las 00:09, Demosthenes Koptsis escribi?: >> https://github.com/demosthenesk/the_gambas3_book >> >> forgot the link...! >> >> On 8/4/23 01:09, Demosthenes Koptsis wrote: >>> Hello, >>> >>> i have finished my book about Gambas3 in Greek. >>> >>> Benoit, you can add it at Books page >>> >>> Translations are welcomed !!! >>> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Thanks for your hard work, Demosthenes. > > I'm sure the Greek community of Gambas programmers would thank you a > lot. Unfortunately, I can't read a single word in Greek, so I'm not be > able to help you in this regard. > > But as a forum admin, I will spread the word of your new book, for sure. > > Congratulations!! > > ---- > > Jesus > > http://gambas-es.org > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From benoit.minisini at gambas-basic.org Sun Aug 6 21:07:54 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sun, 6 Aug 2023 21:07:54 +0200 Subject: [Gambas-user] The Gambas3 book - Greek version In-Reply-To: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> References: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> Message-ID: Le 04/08/2023 ? 00:09, Demosthenes Koptsis a ?crit?: > https://github.com/demosthenesk/the_gambas3_book > > forgot the link...! > > On 8/4/23 01:09, Demosthenes Koptsis wrote: >> Hello, >> >> i have finished my book about Gambas3 in Greek. >> >> Benoit, you can add it at Books page >> >> Translations are welcomed !!! >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Done. -- Beno?t Minisini. From demosthenesk at gmail.com Sun Aug 6 21:13:07 2023 From: demosthenesk at gmail.com (Demosthenes Koptsis) Date: Sun, 6 Aug 2023 22:13:07 +0300 Subject: [Gambas-user] The Gambas3 book - Greek version In-Reply-To: References: <235e3560-41cb-525f-e02f-f3119f20c2e1@gmail.com> Message-ID: <4f568a97-e0f9-5364-6624-1cd409ed4b7a@gmail.com> Merci ! On 8/6/23 22:07, Benoit Minisini wrote: > Le 04/08/2023 ? 00:09, Demosthenes Koptsis a ?crit?: >> https://github.com/demosthenesk/the_gambas3_book >> >> forgot the link...! >> >> On 8/4/23 01:09, Demosthenes Koptsis wrote: >>> Hello, >>> >>> i have finished my book about Gambas3 in Greek. >>> >>> Benoit, you can add it at Books page >>> >>> Translations are welcomed !!! >>> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Done. > From westozscribe at gmail.com Mon Aug 7 05:03:17 2023 From: westozscribe at gmail.com (Ian Roper) Date: Mon, 7 Aug 2023 11:03:17 +0800 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) Message-ID: As per the attached image. What I did was change the location for an existing applications icons - manually. Original : {Project Folder}/Icons16X16 New: {Project Folder}/Images/Icons16X16 Original : {Project Folder}/Icons32X32 New: {Project Folder}/Images/Icons32X32 On editing the application through the GUI, as expected, the icons no longer displayed and the Picture parameter in the form was blank. However, when I try to select a new Picture for my control the application freezes and on trying to? close it, I get a "Force Quit / Wait" dialogue. I tried this on three small projects ( changing the location of the icons ) and it crashed in the same way with the same error message so pretty safe to assume that this is not project specific. On checking the .form file for the applicable form, I noticed that the Picture reference for the controls still pointed to the the old path - which is sort of expected. The error also occurs when you try to change the Icon for the Project in Project Preferences. Cheers, Ian. -------------- next part -------------- A non-text attachment was scrubbed... Name: Selection_001.png Type: image/png Size: 13017 bytes Desc: not available URL: From adamnt42 at gmail.com Mon Aug 7 05:07:16 2023 From: adamnt42 at gmail.com (BB) Date: Mon, 7 Aug 2023 12:37:16 +0930 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: On 7/8/23 12:33 pm, Ian Roper wrote: > As per the attached image. > > What I did was change the location for an existing applications icons > - manually. > > > Original : {Project Folder}/Icons16X16 > > New: {Project Folder}/Images/Icons16X16 > > Original : {Project Folder}/Icons32X32 > > New: {Project Folder}/Images/Icons32X32 > > > On editing the application through the GUI, as expected, the icons no > longer displayed and the Picture parameter in the form was blank. > However, when I try to select a new Picture for my control the > application freezes and on trying to? close it, I get a "Force Quit / > Wait" dialogue. > > I tried this on three small projects ( changing the location of the > icons ) and it crashed in the same way with the same error message so > > pretty safe to assume that this is not project specific. > > On checking the .form file for the applicable form, I noticed that the > Picture reference for the controls still pointed to the the old path - > which is sort of expected. > > > The error also occurs when you try to change the Icon for the Project > in Project Preferences. > > > Cheers, > > Ian. > > > Just to clarify, is this happening after you have reloaded the project > concerned? > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From westozscribe at gmail.com Mon Aug 7 14:59:00 2023 From: westozscribe at gmail.com (Ian Roper) Date: Mon, 7 Aug 2023 20:59:00 +0800 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: Yes - same thing happens after a reload. I also tried editing the .project file and setting the icon= to blank to overcome the inability to set the project icon, and also tried editing the .form file? and removing the Picture line from a component and this had no effect either. Cheers, Ian. On 7/8/23 11:07 am, BB wrote: > > > On 7/8/23 12:33 pm, Ian Roper wrote: >> As per the attached image. >> >> What I did was change the location for an existing applications icons >> - manually. >> >> >> Original : {Project Folder}/Icons16X16 >> >> New: {Project Folder}/Images/Icons16X16 >> >> Original : {Project Folder}/Icons32X32 >> >> New: {Project Folder}/Images/Icons32X32 >> >> >> On editing the application through the GUI, as expected, the icons no >> longer displayed and the Picture parameter in the form was blank. >> However, when I try to select a new Picture for my control the >> application freezes and on trying to? close it, I get a "Force Quit / >> Wait" dialogue. >> >> I tried this on three small projects ( changing the location of the >> icons ) and it crashed in the same way with the same error message so >> >> pretty safe to assume that this is not project specific. >> >> On checking the .form file for the applicable form, I noticed that >> the Picture reference for the controls still pointed to the the old >> path - which is sort of expected. >> >> >> The error also occurs when you try to change the Icon for the Project >> in Project Preferences. >> >> >> Cheers, >> >> Ian. >> >> >> Just to clarify, is this happening after you have reloaded the >> project concerned? >> >> >> >> >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Aug 7 22:39:41 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 7 Aug 2023 21:39:41 +0100 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: Try the "compile all" button after that to rebuild the binaries On Mon, 7 Aug 2023, 14:00 Ian Roper, wrote: > Yes - same thing happens after a reload. > > I also tried editing the .project file and setting the icon= to blank to > overcome the inability to set the project icon, > > and also tried editing the .form file and removing the Picture line from > a component and this had no effect either. > > Cheers, > > Ian. > > > > On 7/8/23 11:07 am, BB wrote: > > > On 7/8/23 12:33 pm, Ian Roper wrote: > > As per the attached image. > > What I did was change the location for an existing applications icons - > manually. > > > Original : {Project Folder}/Icons16X16 > > New: {Project Folder}/Images/Icons16X16 > > Original : {Project Folder}/Icons32X32 > > New: {Project Folder}/Images/Icons32X32 > > > On editing the application through the GUI, as expected, the icons no > longer displayed and the Picture parameter in the form was blank. > However, when I try to select a new Picture for my control the application > freezes and on trying to close it, I get a "Force Quit / Wait" dialogue. > > I tried this on three small projects ( changing the location of the icons > ) and it crashed in the same way with the same error message so > > pretty safe to assume that this is not project specific. > > On checking the .form file for the applicable form, I noticed that the > Picture reference for the controls still pointed to the the old path - > which is sort of expected. > > > The error also occurs when you try to change the Icon for the Project in > Project Preferences. > > > Cheers, > > Ian. > > > Just to clarify, is this happening after you have reloaded the project > concerned? > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From westozscribe at gmail.com Mon Aug 7 23:51:40 2023 From: westozscribe at gmail.com (Ian Roper) Date: Tue, 8 Aug 2023 05:51:40 +0800 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: <576161d0-3af8-01a9-e8ca-376226ce09a4@gmail.com> Tried all the compile/make executable options. The same problem remains. Even deleting the controls that have images and then adding them again will cause a crash as soon as your browse for an image.. I tried recreating the the folder I renamed and the crash still occurs in the same way. This is an issue of my own making and given that it hasn't come up before, it must be a pretty rare bug(?) Cheers, Ian. On 8/8/23 4:39 am, Bruce Steers wrote: > Try the "compile all" button after that to rebuild the binaries > > On Mon, 7 Aug 2023, 14:00 Ian Roper, wrote: > > Yes - same thing happens after a reload. > > I also tried editing the .project file and setting the icon= to > blank to overcome the inability to set the project icon, > > and also tried editing the .form file? and removing the Picture > line from a component and this had no effect either. > > > Cheers, > > Ian. > > > > On 7/8/23 11:07 am, BB wrote: >> >> >> On 7/8/23 12:33 pm, Ian Roper wrote: >>> As per the attached image. >>> >>> What I did was change the location for an existing applications >>> icons - manually. >>> >>> >>> Original : {Project Folder}/Icons16X16 >>> >>> New: {Project Folder}/Images/Icons16X16 >>> >>> Original : {Project Folder}/Icons32X32 >>> >>> New: {Project Folder}/Images/Icons32X32 >>> >>> >>> On editing the application through the GUI, as expected, the >>> icons no longer displayed and the Picture parameter in the form >>> was blank. >>> However, when I try to select a new Picture for my control the >>> application freezes and on trying to? close it, I get a "Force >>> Quit / Wait" dialogue. >>> >>> I tried this on three small projects ( changing the location of >>> the icons ) and it crashed in the same way with the same error >>> message so >>> >>> pretty safe to assume that this is not project specific. >>> >>> On checking the .form file for the applicable form, I noticed >>> that the Picture reference for the controls still pointed to the >>> the old path - which is sort of expected. >>> >>> >>> The error also occurs when you try to change the Icon for the >>> Project in Project Preferences. >>> >>> >>> Cheers, >>> >>> Ian. >>> >>> >>> Just to clarify, is this happening after you have reloaded the >>> project concerned? >>> >>> >>> >>> >>> >>> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Aug 8 00:23:28 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 8 Aug 2023 01:23:28 +0300 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: Can you attach a project that reproduces this problem? Also what is the Gambas version in use? Jussi On Mon, Aug 7, 2023 at 6:04?AM Ian Roper wrote: > As per the attached image. > > What I did was change the location for an existing applications icons - > manually. > > > Original : {Project Folder}/Icons16X16 > > New: {Project Folder}/Images/Icons16X16 > > Original : {Project Folder}/Icons32X32 > > New: {Project Folder}/Images/Icons32X32 > > > On editing the application through the GUI, as expected, the icons no > longer displayed and the Picture parameter in the form was blank. > However, when I try to select a new Picture for my control the > application freezes and on trying to close it, I get a "Force Quit / > Wait" dialogue. > > I tried this on three small projects ( changing the location of the > icons ) and it crashed in the same way with the same error message so > > pretty safe to assume that this is not project specific. > > On checking the .form file for the applicable form, I noticed that the > Picture reference for the controls still pointed to the the old path - > which is sort of expected. > > > The error also occurs when you try to change the Icon for the Project in > Project Preferences. > > > Cheers, > > Ian. > > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Tue Aug 8 01:01:23 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 8 Aug 2023 08:31:23 +0930 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: <576161d0-3af8-01a9-e8ca-376226ce09a4@gmail.com> References: <576161d0-3af8-01a9-e8ca-376226ce09a4@gmail.com> Message-ID: On 8/8/23 7:21 am, Ian Roper wrote: > > Tried all the compile/make executable options. The same problem remains. > > Even deleting the controls that have images and then adding them again > will cause a crash as soon as your browse for an image.. > > I tried recreating the the folder I renamed and the crash still occurs > in the same way. > > This is an issue of my own making and given that it hasn't come up > before, it must be a pretty rare bug(?) > > > Cheers, > > Ian. > > > > > On 8/8/23 4:39 am, Bruce Steers wrote: >> Try the "compile all" button after that to rebuild the binaries >> >> On Mon, 7 Aug 2023, 14:00 Ian Roper, wrote: >> >> Yes - same thing happens after a reload. >> >> I also tried editing the .project file and setting the icon= to >> blank to overcome the inability to set the project icon, >> >> and also tried editing the .form file? and removing the Picture >> line from a component and this had no effect either. >> >> >> Cheers, >> >> Ian. >> >> >> >> On 7/8/23 11:07 am, BB wrote: >>> >>> >>> On 7/8/23 12:33 pm, Ian Roper wrote: >>>> As per the attached image. >>>> >>>> What I did was change the location for an existing applications >>>> icons - manually. >>>> >>>> >>>> Original : {Project Folder}/Icons16X16 >>>> >>>> New: {Project Folder}/Images/Icons16X16 >>>> >>>> Original : {Project Folder}/Icons32X32 >>>> >>>> New: {Project Folder}/Images/Icons32X32 >>>> >>>> >>>> On editing the application through the GUI, as expected, the >>>> icons no longer displayed and the Picture parameter in the form >>>> was blank. >>>> However, when I try to select a new Picture for my control the >>>> application freezes and on trying to close it, I get a "Force >>>> Quit / Wait" dialogue. >>>> >>>> I tried this on three small projects ( changing the location of >>>> the icons ) and it crashed in the same way with the same error >>>> message so >>>> >>>> pretty safe to assume that this is not project specific. >>>> >>>> On checking the .form file for the applicable form, I noticed >>>> that the Picture reference for the controls still pointed to >>>> the the old path - which is sort of expected. >>>> >>>> >>>> The error also occurs when you try to change the Icon for the >>>> Project in Project Preferences. >>>> >>>> >>>> Cheers, >>>> >>>> Ian. >>>> >>>> >>>> Just to clarify, is this happening after you have reloaded the >>>> project concerned? >>>> >>>> One more grasp at a straw. Are you running the IDE under GTK or QT? -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Aug 8 03:25:25 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 8 Aug 2023 04:25:25 +0300 Subject: [Gambas-user] Gambas application freeze on file/image selection (Out of Bounds #21) In-Reply-To: References: Message-ID: Can you attach a project that reproduces this problem? Also what is the Gambas version in use? Jussi On Mon, Aug 7, 2023 at 6:04?AM Ian Roper wrote: > As per the attached image. > > What I did was change the location for an existing applications icons - > manually. > > > Original : {Project Folder}/Icons16X16 > > New: {Project Folder}/Images/Icons16X16 > > Original : {Project Folder}/Icons32X32 > > New: {Project Folder}/Images/Icons32X32 > > > On editing the application through the GUI, as expected, the icons no > longer displayed and the Picture parameter in the form was blank. > However, when I try to select a new Picture for my control the > application freezes and on trying to close it, I get a "Force Quit / > Wait" dialogue. > > I tried this on three small projects ( changing the location of the > icons ) and it crashed in the same way with the same error message so > > pretty safe to assume that this is not project specific. > > On checking the .form file for the applicable form, I noticed that the > Picture reference for the controls still pointed to the the old path - > which is sort of expected. > > > The error also occurs when you try to change the Icon for the Project in > Project Preferences. > > > Cheers, > > Ian. > > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Tue Aug 8 10:49:11 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Tue, 8 Aug 2023 10:49:11 +0200 Subject: [Gambas-user] structure and class Message-ID: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> Hi all, I have a working program that use a class that have only variables. Now I need do dynamic declare the class , is there a way to do so ? I can use structure but I learn that in gambas a structure is simply a class with only variables and the help say it's slow. is there another way to do it or I need to use structure ? thanks in advance, Marco. From adamnt42 at gmail.com Tue Aug 8 11:31:57 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 8 Aug 2023 19:01:57 +0930 Subject: [Gambas-user] structure and class In-Reply-To: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> Message-ID: <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> On 8/8/23 6:19 pm, Marco Ancillotti wrote: > Hi all, > > I have a working program that use a class that have only variables. > > Now I need do dynamic declare the class , is there a way to do so ? > > I can use structure but I learn that in gambas a structure is simply a > class with only variables and the > help say it's slow. is there another way to do it or I need to use > structure ? > > thanks in advance, > Marco. > I am not sure what you mean by "dynamic declare a class". Could you perhaps explain. The following is opinion only. The only time I use structs is to cope with externs or when I need a quick structured variable that will never have cause to have any method added. Whether they are "slow" or not I don't know, I've never noticed anything. However, I have usually found as the project develops that a complex "data only" class eventually results in the addition of some handy methods, whether or not I have seen a need for them at the outset. The only other place I can recall where I have used structs is to create a typed array, in a quick and ugly manner (and it creates poor code structure) but can be effective. On further thought, I seem to recall that I have ended up re-coding the thing as a class. best b From gambas at servinfo.it Tue Aug 8 11:53:43 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Tue, 8 Aug 2023 11:53:43 +0200 Subject: [Gambas-user] structure and class In-Reply-To: <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> Message-ID: <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> Hi BB I need to create the class at runtime , I don't know the variable in the class needed before I run some code. Is there a way to create a new class type and add variables to it by code ? thanks, marco. Il 08/08/23 11:31, BB ha scritto: > > On 8/8/23 6:19 pm, Marco Ancillotti wrote: >> Hi all, >> >> I have a working program that use a class that have only variables. >> >> Now I need do dynamic declare the class , is there a way to do so ? >> >> I can use structure but I learn that in gambas a structure is simply >> a class with only variables and the >> help say it's slow. is there another way to do it or I need to use >> structure ? >> >> thanks in advance, >> Marco. >> > I am not sure what you mean by "dynamic declare a class". Could you > perhaps explain. > > The following is opinion only. The only time I use structs is to cope > with externs or when I need a quick structured variable that will > never have cause to have any method added. Whether they are "slow" or > not I don't know, I've never noticed anything. However, I have usually > found as the project develops that a complex "data only" class > eventually results in the addition of some handy methods, whether or > not I have seen a need for them at the outset. The only other place I > can recall where I have used structs is to create a typed array, in a > quick and ugly manner (and it creates poor code structure) but can be > effective. On further thought, I seem to recall that I have ended up > re-coding the thing as a class. > > best > > b > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Tue Aug 8 12:46:09 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 8 Aug 2023 20:16:09 +0930 Subject: [Gambas-user] structure and class In-Reply-To: <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> Message-ID: <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> On 8/8/23 7:23 pm, Marco Ancillotti wrote: > > Hi BB > > I need to create the class at runtime , I don't know the variable in > the class needed before I run some code. > Is there a way to create a new class type and add variables to it by > code ? > > thanks, > marco. > > Il 08/08/23 11:31, BB ha scritto: >> >> On 8/8/23 6:19 pm, Marco Ancillotti wrote: >>> Hi all, >>> >>> I have a working program that use a class that have only variables. >>> >>> Now I need do dynamic declare the class , is there a way to do so ? >>> >>> I can use structure but I learn that in gambas a structure is simply >>> a class with only variables and the >>> help say it's slow. is there another way to do it or I need to use >>> structure ? >>> >>> thanks in advance, >>> Marco. >>> >> I am not sure what you mean by "dynamic declare a class". Could you >> perhaps explain. >> >> The following is opinion only. The only time I use structs is to cope >> with externs or when I need a quick structured variable that will >> never have cause to have any method added. Whether they are "slow" or >> not I don't know, I've never noticed anything. However, I have >> usually found as the project develops that a complex "data only" >> class eventually results in the addition of some handy methods, >> whether or not I have seen a need for them at the outset. The only >> other place I can recall where I have used structs is to create a >> typed array, in a quick and ugly manner (and it creates poor code >> structure) but can be effective. On further thought, I seem to recall >> that I have ended up re-coding the thing as a class. >> >> best >> >> b >> >> Wow! I love your thinking here. Let me paraphrase it as I see it. Someone hands you a bag. You put your unprotected arm in the bag and try and determine the attributes of the contents. "Hmm, it's scaley and it bites." or "Hmm, its soft and squeezy and has point on the end." To be serious, I think we might need to know a bit more about the "some code" that you are running before you put your arm in, so to speak. To be really serious, I think I have a similar problem that I have not found an answer to. I have an unstructured text file that I need to break up into "paragraphs". The structure is totally in-determinant.? "I" can see the structure but I'll be damned if I can see a way to break it down. Keep me updated! b From gradobag at gradobag.it Tue Aug 8 14:13:53 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 8 Aug 2023 14:13:53 +0200 Subject: [Gambas-user] structure and class In-Reply-To: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> Message-ID: Il 08/08/23 10:49, Marco Ancillotti ha scritto: > Hi all, > > I have a working program that use a class that have only variables. > > Now I need do dynamic declare the class , is there a way to do so ? > > I can use structure but I learn that in gambas a structure is simply a > class with only variables and the > help say it's slow. is there another way to do it or I need to use > structure ? > > thanks in advance, > Marco. > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Probably, as usual, I didn't understand the question, but you could take a look here: https://www.gambas-it.org/wiki/index.php?title=Passare_a_una_funzione_un_numero_imprecisato_di_argomenti https://gambaswiki.org/wiki/lang/special/unknown Regards Gianluigi From t.lee.davidson at gmail.com Tue Aug 8 15:28:44 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 8 Aug 2023 09:28:44 -0400 Subject: [Gambas-user] structure and class In-Reply-To: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> Message-ID: On 8/8/23 04:49, Marco Ancillotti wrote: > Hi all, > > I have a working program that use a class that have only variables. > > Now I need do dynamic declare the class , is there a way to do so ? > > I can use structure but I learn that in gambas a structure is simply a class with only variables and the > help say it's slow. is there another way to do it or I need to use structure ? > > thanks in advance, > Marco. --- > I need to create the class at runtime , I don't know the variable in the class needed before I run some code. > Is there a way to create a new class type and add variables to it by code ? --- I am also unsure what exactly you are trying to accomplish. So, about all I can say is ... If you need a structure to which you can add variables and their values at run-time, why not simply use a Collection? -- Lee From gradobag at gradobag.it Tue Aug 8 15:42:06 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 8 Aug 2023 15:42:06 +0200 Subject: [Gambas-user] Problem with Text on a chart In-Reply-To: <72a3208d-0bfa-ad2c-f551-0482b125ed33@cd-bahia.com> References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> <72a3208d-0bfa-ad2c-f551-0482b125ed33@cd-bahia.com> Message-ID: <8c60fa14-a192-9e2e-48f8-5d6de6b62779@gradobag.it> Il 06/08/23 17:38, Dag JNJ ha scritto: > Hi > I tried to adjust a chart I found in Gambas_book. Data comes as I > want, I wanted to put a headline on the chart, position left upper > corner. Should be "Netztbezug" (comes from solar panels on our roof, > and means what we take from the grid). It's upside down, as shown in > the screenshot. The other data ok, but I can't find where that happens > (normal direction of the text), > Happy for any help. > Regards, Dag > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Sorry I had escaped this email. Not seeing the code, I can only suggest you a trick, try passing the inverted text. Look here: https://lists.gambas-basic.org/pipermail/user/2023-July/079674.html Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Aug 8 18:07:08 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 8 Aug 2023 19:07:08 +0300 Subject: [Gambas-user] structure and class In-Reply-To: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> Message-ID: Use collection like Lee suggested or if the variables/methods can be grouped in some subclasses, then create a base class with an object array / collection and put the subclasses there as needed. Jussi On Tue, Aug 8, 2023 at 11:57?AM Marco Ancillotti wrote: > Hi all, > > I have a working program that use a class that have only variables. > > Now I need do dynamic declare the class , is there a way to do so ? > > I can use structure but I learn that in gambas a structure is simply a > class with only variables and the > help say it's slow. is there another way to do it or I need to use > structure ? > > thanks in advance, > Marco. > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Tue Aug 8 18:53:22 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Tue, 8 Aug 2023 18:53:22 +0200 Subject: [Gambas-user] structure and class In-Reply-To: <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: Il 08/08/23 12:46, BB ha scritto: > Wow! I love your thinking here. Let me paraphrase it as I see it. > Someone hands you a bag. You put your unprotected arm in the bag and > try and determine the attributes of the contents. "Hmm, it's scaley > and it bites." or "Hmm, its soft and squeezy and has point on the end." > > To be serious, I think we might need to know a bit more about the > "some code" that you are running before you put your arm in, so to speak. > > To be really serious, I think I have a similar problem that I have not > found an answer to. I have an unstructured text file that I need to > break up into "paragraphs". The structure is totally in-determinant.? > "I" can see the structure but I'll be damned if I can see a way to > break it down. I have some query to a database , database is m$ sql server , I use odbc to connect and it works... BUT i cannot enumerate the results as there some bug in the odbc driver ( witch I can't change ). Now , I've made a class that is like: Public column1 as integer Public column2 as string Public column3 as Float Public column4 as blablabla I then made an array of that class and push my query result data to that array. It work but it need a lot of code so I would like to dynamic declare the class looking columns in results so I can made a reusable function with different query. Thanks Marco. From jussi.lahtinen at gmail.com Tue Aug 8 20:59:34 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 8 Aug 2023 21:59:34 +0300 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: > > I have some query to a database , database is m$ sql server , I use odbc > to connect and it works... BUT i cannot enumerate the results as there > some bug in the odbc driver ( witch I can't change ). > > Now , I've made a class that is like: > > Public column1 as integer > Public column2 as string > Public column3 as Float > Public column4 as blablabla > > I then made an array of that class and push my query result data to that > array. > > It work but it need a lot of code so I would like to dynamic declare the > class looking columns in results so I can > made a reusable function with different query. > Perhaps you could put all of the result in a string and parse what is needed on fly. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Aug 8 22:49:23 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 8 Aug 2023 16:49:23 -0400 Subject: [Gambas-user] Problem with Text on a chart In-Reply-To: <8c60fa14-a192-9e2e-48f8-5d6de6b62779@gradobag.it> References: <6a9f1804-850c-92e2-c71d-0a318c4f7b65@gmail.com> <72a3208d-0bfa-ad2c-f551-0482b125ed33@cd-bahia.com> <8c60fa14-a192-9e2e-48f8-5d6de6b62779@gradobag.it> Message-ID: On 8/8/23 09:42, Gianluigi wrote: > Il 06/08/23 17:38, Dag JNJ ha scritto: >> Hi >> I tried to adjust a chart I found in Gambas_book. Data comes as I want, I wanted to put a headline on the chart, position left >> upper corner. Should be "Netztbezug" (comes from solar panels on our roof, and means what we take from the grid). It's upside >> down, as shown in the screenshot. The other data ok, but I can't find where that happens (normal direction of the text), >> Happy for any help. >> Regards, Dag >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > Sorry I had escaped this email. > Not seeing the code, I can only suggest you a trick, try passing the inverted text. > Look here: > https://lists.gambas-basic.org/pipermail/user/2023-July/079674.html And here to know how to get the binary attachment enclosed in the tags: https://gambaswiki.org/wiki/howto/opengmailtxt -- Lee From gradobag at gradobag.it Tue Aug 8 22:57:10 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 8 Aug 2023 22:57:10 +0200 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: Il 08/08/23 18:53, Marco Ancillotti ha scritto: > I have some query to a database , database is m$ sql server , I use > odbc to connect and it works... BUT i cannot enumerate the results as > there some bug in the odbc driver ( witch I can't change ). Are you sure that the bug is in ODBC, why don't you report the bug to the bugtraker, maybe Minisini is able to intervene? Regards Gianluigi From t.lee.davidson at gmail.com Tue Aug 8 23:28:22 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 8 Aug 2023 17:28:22 -0400 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: On 8/8/23 12:53, Marco Ancillotti wrote: > Now?,?I've?made?a?class?that?is?like: > > Public?column1?as?integer > Public?column2?as?string > Public?column3?as?Float > Public?column4?as?blablabla > > I then made an array of that class and push my query result data to that array. > > It work but it need a lot of code so I would like to dynamic declare the class?looking?columns?in?results?so?I?can > made?a?reusable?function?with?different?query. > > Thanks > Marco. I still don't understand why you are complicating things by trying to use a class. Could something like the following suit your needs? [code] Public Sub main() Dim hConn As Connection = Connections["Connection1"] Dim hResult As Result Dim hResultField As ResultField Dim cRow As New Collection Dim acRows As New Collection[] Dim Column As Variant hConn.Open hResult = hConn.Exec("select * from `my_table`") For Each hResult For Each hResultField In hResult.Fields cRow[hResultField.Name] = hResult[hResultField.Name] Next acRows.Add(cRow.Copy()) Next hConn.Close For Each cRow In acRows For Each Column In cRow Print Subst("&1: &2, ", cRow.Key, Column); Next Print Next End [/code] -- Lee From gambas at cd-bahia.com Wed Aug 9 00:30:36 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Wed, 9 Aug 2023 00:30:36 +0200 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> Message-ID: <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> Hi, I get so many warnings about Gtk, that it gets hard to find the debug prints I need to check values. Warnings like this: /(solar:43119): Gtk-CRITICAL **: 00:15:58.402: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkRadioButton/ I can't see any errors on my forms, they all work well. I use Gambas 3.18.90 gambas-dayii (though had the same warnings with stable) Is there a workaround? Best regards Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Aug 9 00:39:17 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 9 Aug 2023 08:09:17 +0930 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> Message-ID: <9d26479d-3483-eb31-8a90-6efa2338f32e@gmail.com> On 9/8/23 8:00 am, Dag JNJ wrote: > Hi, > I get so many warnings about Gtk, that it gets hard to find the debug > prints I need to check values. Warnings like this: > > /(solar:43119): Gtk-CRITICAL **: 00:15:58.402: > gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkRadioButton/ > > I can't see any errors on my forms, they all work well. > I use Gambas 3.18.90 gambas-dayii (though had the same warnings with > stable) > Is there a workaround? > Best regards > Dag > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- They are printed directly by gtk, it doesn't only happen with gambas. I see many messages such as these when running things in a console. I dont think there is a solution. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Wed Aug 9 00:50:33 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Wed, 9 Aug 2023 00:50:33 +0200 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: <9d26479d-3483-eb31-8a90-6efa2338f32e@gmail.com> References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> <9d26479d-3483-eb31-8a90-6efa2338f32e@gmail.com> Message-ID: Am 09.08.23 um 00:39 schrieb BB: > > > On 9/8/23 8:00 am, Dag JNJ wrote: >> Hi, >> I get so many warnings about Gtk, that it gets hard to find the debug >> prints I need to check values. Warnings like this: >> >> /(solar:43119): Gtk-CRITICAL **: 00:15:58.402: >> gtk_box_gadget_distribute: assertion 'size >= 0' failed in >> GtkRadioButton/ >> >> I can't see any errors on my forms, they all work well. >> I use Gambas 3.18.90 gambas-dayii (though had the same warnings with >> stable) >> Is there a workaround? >> Best regards >> Dag >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > They are printed directly by gtk, it doesn't only happen with gambas. > I see many messages such as these when running things in a console. > > I dont think there is a solution. > > b > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi thanks I'll try to live with it. But doesn't the creators of Gtk get tons of angry mails? From me, no, wouldn't know where to address. And thinking of it, angry neither. Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Wed Aug 9 08:03:44 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 9 Aug 2023 08:03:44 +0200 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: <224482ae-d24a-2538-b2f4-092382548a05@gradobag.it> Il 08/08/23 23:28, T Lee Davidson ha scritto: > On 8/8/23 12:53, Marco Ancillotti wrote: >> Now?,?I've?made?a?class?that?is?like: >> >> Public?column1?as?integer >> Public?column2?as?string >> Public?column3?as?Float >> Public?column4?as?blablabla >> >> I then made an array of that class and push my query result data to >> that array. >> >> It work but it need a lot of code so I would like to dynamic declare >> the class?looking?columns?in?results?so?I?can >> made?a?reusable?function?with?different?query. >> >> Thanks >> Marco. > > I still don't understand why you are complicating things by trying to > use a class. Could something like the following suit your needs? > ... Hi Lee, I don't think he can query the database with Gambas, he has to pass the result to a class probably to display it in a grid. If so, the answer can be found in this example on the farm ResultByTwoDatabases which uses a class created directly by Benoit. See this thread: https://lists.gambas-basic.org/pipermail/user/2022-December/077816.html Regards Gianluigi From bsteers4 at gmail.com Wed Aug 9 08:57:25 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 9 Aug 2023 07:57:25 +0100 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> Message-ID: On Tue, 8 Aug 2023 at 23:31, Dag JNJ wrote: > Hi, > I get so many warnings about Gtk, that it gets hard to find the debug > prints I need to check values. Warnings like this: > > *(solar:43119): Gtk-CRITICAL **: 00:15:58.402: gtk_box_gadget_distribute: > assertion 'size >= 0' failed in GtkRadioButton* > > I can't see any errors on my forms, they all work well. > I use Gambas 3.18.90 gambas-dayii (though had the same warnings with > stable) > Is there a workaround? > Best regards > Dag > It's often a Checkbox or a Label or something without AutoResize set to True making a sizing glitch. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Wed Aug 9 09:07:51 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 9 Aug 2023 09:07:51 +0200 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: <321c95e5-d223-6dc5-0aa2-54d4383717bc@servinfo.it> Il 08/08/23 22:57, Gianluigi ha scritto: > > Are you sure that the bug is in ODBC, why don't you report the bug to > the bugtraker, maybe Minisini is able to intervene? Yes the bug is in odbc , there is already a patch but I can't use it as this is not my server and the sysadmin don't want to change anythink :-( From adamnt42 at gmail.com Wed Aug 9 09:19:30 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 9 Aug 2023 16:49:30 +0930 Subject: [Gambas-user] structure and class In-Reply-To: <321c95e5-d223-6dc5-0aa2-54d4383717bc@servinfo.it> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> <321c95e5-d223-6dc5-0aa2-54d4383717bc@servinfo.it> Message-ID: <94fbbb4e-2302-59ca-675a-71bbd4998fbb@gmail.com> On 9/8/23 4:37 pm, Marco Ancillotti wrote: > Il 08/08/23 22:57, Gianluigi ha scritto: >> >> Are you sure that the bug is in ODBC, why don't you report the bug to >> the bugtraker, maybe Minisini is able to intervene? > > Yes the bug is in odbc , there is already a patch but I can't use it > as this is not my server and the sysadmin don't want to > change anythink :-( > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Maybe you could use a local ODBC driver, i.e. one on your machine, not the one on the server that the lazy buggers wont maintain. Mind you I have used anything with M$ involved for over a number of years so I have no idea if this is possible. From gambas at servinfo.it Wed Aug 9 09:52:34 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 9 Aug 2023 09:52:34 +0200 Subject: [Gambas-user] structure and class In-Reply-To: <94fbbb4e-2302-59ca-675a-71bbd4998fbb@gmail.com> References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> <321c95e5-d223-6dc5-0aa2-54d4383717bc@servinfo.it> <94fbbb4e-2302-59ca-675a-71bbd4998fbb@gmail.com> Message-ID: Il 09/08/23 09:19, BB ha scritto: > Maybe you could use a local ODBC driver, i.e. one on your machine, not > the one on the server that the lazy buggers wont maintain. Mind you I > have used anything with M$ involved for over a number of years so I > have no idea if this is possible. > I can't , I'm creating a webapp so it run on the server where odbc client is. From gambas at servinfo.it Wed Aug 9 09:56:13 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 9 Aug 2023 09:56:13 +0200 Subject: [Gambas-user] structure and class In-Reply-To: References: <6507918a-8c98-fa2c-8d1c-f803b6ec6a21@servinfo.it> <010304db-4f7b-fa61-a92a-66fc8097c67d@gmail.com> <778fcbde-e491-8e07-69cb-9d1b250cfa85@servinfo.it> <5950ff96-83ba-779a-5124-703d47da4817@gmail.com> Message-ID: Il 08/08/23 23:28, T Lee Davidson ha scritto: > > I still don't understand why you are complicating things by trying to > use a class. Could something like the following suit your needs? > Hi , I'm complicating things simply because I never use collection , when I need a struct or a struct array I use a class. Now I've try collections and I've write a code very similar to your example , for now it seems to work. Thank's a lot to All !! From gambas at cd-bahia.com Wed Aug 9 13:46:57 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Wed, 9 Aug 2023 13:46:57 +0200 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> Message-ID: <2349b08c-a0a2-bfee-9278-18cd86757d05@cd-bahia.com> Am 09.08.23 um 08:57 schrieb Bruce Steers: > > > On Tue, 8 Aug 2023 at 23:31, Dag JNJ wrote: > > Hi, > I get so many warnings about Gtk, that it gets hard to find the > debug prints I need to check values. Warnings like this: > > /(solar:43119): Gtk-CRITICAL **: 00:15:58.402: > gtk_box_gadget_distribute: assertion 'size >= 0' failed in > GtkRadioButton/ > > I can't see any errors on my forms, they all work well. > I use Gambas 3.18.90 gambas-dayii (though had the same warnings > with stable) > Is there a workaround? > Best regards > Dag > > > It's often a Checkbox or a Label or something without AutoResize set > to True making a sizing glitch. > > BruceS > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Tried to set Autoresize = True on Radiobuttons, no change. I think it doesn't pay off to fig deeper. Thanks anyway. Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Thu Aug 10 07:35:12 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 10 Aug 2023 07:35:12 +0200 Subject: [Gambas-user] A question for Lee Message-ID: Hi Lee, I address you because you are the one who first and immediately gave the right suggestion (use collections) on 'structures and classes'. I must apologize to you for not understanding the nice code posted and thank you very much for sharing. I must also apologize for the nonsense I wrote. Although Jussi agreed with your suggestion, I still didn't understand the problem. I just ask you a courtesy, I still don't understand what it means to receive a non-enumerable result, is it possible to have an example? Best regards Gianluigi P.S. I apologize for the delay, but I'm working in the garden and last night I posted to the old address:-( From adamnt42 at gmail.com Thu Aug 10 07:48:32 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 10 Aug 2023 15:18:32 +0930 Subject: [Gambas-user] A question for Lee In-Reply-To: References: Message-ID: On 10/8/23 3:05 pm, Gianluigi wrote: > Hi Lee, > > I address you because you are the one who first and immediately gave > the right suggestion (use collections) on 'structures and classes'. > I must apologize to you for not understanding the nice code posted and > thank you very much for sharing. > I must also apologize for the nonsense I wrote. > Although Jussi agreed with your suggestion, I still didn't understand > the problem. > I just ask you a courtesy, I still don't understand what it means to > receive a non-enumerable result, is it possible to have an example? > > Best regards > > Gianluigi > > P.S. I apologize for the delay, but I'm working in the garden and last > night I posted to the old address:-( > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- (Sorry to butt in here.) Gianluigi, the issue is well described by Marco "database is m$ sql server , I use odbc to connect and it works... BUT i cannot enumerate the results as there some bug in the odbc driver ( witch I can't change )" In other words, the ODBC *driver* (not the Gambas odbc component) has a bug (that he has later stated has been recognized and patched) that the sysadmins wont support. Which is ridiculous but such is politics in the modern organisation! So the driver wont enumerate and therefore the Gambas Result objects wont enumerate. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Thu Aug 10 09:18:46 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Thu, 10 Aug 2023 09:18:46 +0200 Subject: [Gambas-user] A question for Lee In-Reply-To: References: Message-ID: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> Il 10/08/23 07:48, BB ha scritto: > > Gianluigi, the issue is well described by Marco "database is m$ sql > server , I use odbc to connect and it works... BUT i cannot enumerate > the results as there some bug in the odbc driver ( witch I can't change )" > > In other words, the ODBC *driver* (not the Gambas odbc component) has > a bug (that he has later stated has been recognized and patched) that > the sysadmins wont support. Which is ridiculous but such is politics > in the modern organisation! > > So the driver wont enumerate and therefore the Gambas Result objects > wont enumerate. > Hi Gianluigi , the answer from BB is right , I can't enumerate the result so if I read it line by line it works but if I say somethink like "go to the 31st line" it don't work and I get the first line. For that bug for every query I need to read all the result line by line and save it to a collection where I can search without any problem. Bye, Marco. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Thu Aug 10 11:31:46 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 10 Aug 2023 11:31:46 +0200 Subject: [Gambas-user] A question for Lee In-Reply-To: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> References: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> Message-ID: Il 10/08/23 09:18, Marco Ancillotti ha scritto: > Il 10/08/23 07:48, BB ha scritto: >> >> Gianluigi, the issue is well described by Marco "database is m$ sql >> server , I use odbc to connect and it works... BUT i cannot enumerate >> the results as there some bug in the odbc driver ( witch I can't >> change )" >> >> In other words, the ODBC *driver* (not the Gambas odbc component) has >> a bug (that he has later stated has been recognized and patched) that >> the sysadmins wont support. Which is ridiculous but such is politics >> in the modern organisation! >> >> So the driver wont enumerate and therefore the Gambas Result objects >> wont enumerate. >> > Hi Gianluigi , the answer from BB is right , I can't enumerate the > result so if I read it line by line it works but if I say somethink like > "go to the 31st line" it don't work and I get the first line. > > For that bug for every query I need to read all the result line by > line and save it to a collection where I can search without any problem. > > Bye, > > Marco. > Hi Marco & Bruce Thank you very much for the explanations, to make sure I understand the summary: - ODBC is able to return the result with all the tuples of the query. - Unfortunately the result is not enumerated. - If we try to use the result in the traditional ways it will fail. - We need to read the result one tuple at a time and save it as shown by Lee. Another thanks to all of you :-) Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Thu Aug 10 18:52:40 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 10 Aug 2023 18:52:40 +0200 Subject: [Gambas-user] A question for Lee In-Reply-To: References: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> Message-ID: <132cb58e-b2db-9b22-c8fb-f9cc747c939b@gradobag.it> Il 10/08/23 11:31, Gianluigi ha scritto: > Hi Marco & Bruce > > Thank you very much for the explanations, to make sure I understand > the summary: > > - ODBC is able to return the result with all the tuples of the query. > - Unfortunately the result is not enumerated. > - If we try to use the result in the traditional ways it will fail. > - We need to read the result one tuple at a time and save it as shown > by Lee. > > Another thanks to all of you :-) > > Gianluigi Lee, great! Also, instead of using a loop, we can just as well use the sub GridView1_Data. I tried with a million Data Result and it shows within seconds. Regards Gianluigi From t.lee.davidson at gmail.com Thu Aug 10 20:45:00 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 10 Aug 2023 14:45:00 -0400 Subject: [Gambas-user] A question for Lee In-Reply-To: <132cb58e-b2db-9b22-c8fb-f9cc747c939b@gradobag.it> References: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> <132cb58e-b2db-9b22-c8fb-f9cc747c939b@gradobag.it> Message-ID: <0c57df0c-7290-4c6c-b4f4-5bea3e559ae7@gmail.com> On 8/10/23 12:52, Gianluigi wrote: > Also, instead of using a loop, we can just as well use the sub GridView1_Data. And, if using a GridView, the columns can be set up as follows: [code] Public Sub Form_Open() Dim hConn As Connection = Connections["Connection1"] Dim hResult As Result Dim iColNum As Integer hConn.Open hResult = hConn.Exec("select * from `my_table` limit 0") GridView1.Columns.Count = hResult.Fields.Count For Each hField As ResultField In hResult.Fields GridView1.Columns[iColNum].Title = hField.Name Inc iColNum Next End [/code] -- Lee From gradobag at gradobag.it Thu Aug 10 22:51:10 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 10 Aug 2023 22:51:10 +0200 Subject: [Gambas-user] A question for Lee In-Reply-To: <0c57df0c-7290-4c6c-b4f4-5bea3e559ae7@gmail.com> References: <26c01569-f2fb-d234-0980-7b9c63ec7f3c@servinfo.it> <132cb58e-b2db-9b22-c8fb-f9cc747c939b@gradobag.it> <0c57df0c-7290-4c6c-b4f4-5bea3e559ae7@gmail.com> Message-ID: <12fcc4f5-aa88-b6e9-c2ba-743a602352ee@gradobag.it> Il 10/08/23 20:45, T Lee Davidson ha scritto: > On 8/10/23 12:52, Gianluigi wrote: >> Also, instead of using a loop, we can just as well use the sub >> GridView1_Data. > > And, if using a GridView, the columns can be set up as follows: > [code] > Public Sub Form_Open() > > ? Dim hConn As Connection = Connections["Connection1"] > ? Dim hResult As Result > ? Dim iColNum As Integer > > ? hConn.Open > ? hResult = hConn.Exec("select * from `my_table` limit 0") > ? GridView1.Columns.Count = hResult.Fields.Count > ? For Each hField As ResultField In hResult.Fields > ??? GridView1.Columns[iColNum].Title = hField.Name > ??? Inc iColNum > ? Next > > End > [/code] > Hi Lee, nice trick, i wouldn't have thought of that.? Here's one reason not to use the shortened names I like so much :-( (it's night here, I'm going to sleep, tomorrow garden) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From hartmut.w.wagener at t-online.de Mon Aug 14 21:03:34 2023 From: hartmut.w.wagener at t-online.de (Hartmut Wagener) Date: Mon, 14 Aug 2023 21:03:34 +0200 Subject: [Gambas-user] Easy way to create simple graphics Message-ID: <622dd950-1dfb-8e83-ff95-e556e183dc0e@t-online.de> Hi, i am trying to get some easy graphics running. I want to create a program with a rectangualar area that i can use for the output of a graph. I have tried with public hpictre as picture hpicture=new picture(w,h,false) paint.begin(hpicture) . . . paint.end But i need a way to put this on a drawing-area, scroll-are or whatever. This worked somewhen this way Searching for help brings up tons of info about the old way to do drawing before Version3. Where can i find a good explanation on how to do some drawing/painting? Thanks From gambas.fr at gmail.com Mon Aug 14 21:57:45 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 14 Aug 2023 21:57:45 +0200 Subject: [Gambas-user] Easy way to create simple graphics In-Reply-To: <622dd950-1dfb-8e83-ff95-e556e183dc0e@t-online.de> References: <622dd950-1dfb-8e83-ff95-e556e183dc0e@t-online.de> Message-ID: with a drawingarea you have to use the Drawing Event PUBLIC SUB DrawingArea1_Draw() Paint.BackGround = Color.Red Paint.Rect(25,25,10,10) Paint.Stroke() END Le lun. 14 ao?t 2023 ? 21:04, Hartmut Wagener a ?crit : > > Hi, > > i am trying to get some easy graphics running. > > I want to create a program with a rectangualar area that i can use for > the output of a graph. > > I have tried with > > > public hpictre as picture > > hpicture=new picture(w,h,false) > > paint.begin(hpicture) > > . > > . > > . > > paint.end > > > But i need a way to put this on a drawing-area, scroll-are or whatever. > This worked somewhen this way > > Searching for help brings up tons of info about the old way to do > drawing before Version3. > > > Where can i find a good explanation on how to do some drawing/painting? > > > Thanks > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard From gambas.fr at gmail.com Mon Aug 14 22:18:08 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 14 Aug 2023 22:18:08 +0200 Subject: [Gambas-user] About Image.Pixel Message-ID: Hi, Dim hImg As New Image(1, 1, Color.red) dim a as Integer[] a = hImg.Pixels Print a[0] Print hImg[0, 0] result : -65536 16711680 Why ? -- Fabien Bodard From t.lee.davidson at gmail.com Tue Aug 15 00:01:09 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 14 Aug 2023 18:01:09 -0400 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On 8/14/23 16:18, Fabien Bodard wrote: > Hi, > > Dim hImg As New Image(1, 1, Color.red) > dim a as Integer[] > > a = hImg.Pixels > Print a[0] > Print hImg[0, 0] > > result : > -65536 > 16711680 > > > Why ? > I cannot tell you what the actual problem is. But, perhaps it is due to the different formats used by Gambas, Qt, and GTK. [https://gambaswiki.org/wiki/doc/imageconv] With Qt5, I get the same result as you with an image format (Image.Format) of BGRP. With GTK3, I get an image format of RGBA, and: -16776961 16711680 -- Lee From bsteers4 at gmail.com Tue Aug 15 00:37:50 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 14 Aug 2023 23:37:50 +0100 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On Mon, 14 Aug 2023, 21:19 Fabien Bodard, wrote: > Hi, > > Dim hImg As New Image(1, 1, Color.red) > dim a as Integer[] > > a = hImg.Pixels > Print a[0] > Print hImg[0, 0] > > result : > -65536 > 16711680 > > > Why ? > > -- > Fabien Bodard > According to wiki Image[x,y] returns a "colour" Image.pixels[n] will be from an array of "32 bits integers" I don't understand it but seems could be a difference? Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Aug 15 12:37:02 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 15 Aug 2023 12:37:02 +0200 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: <5b787211-266b-1867-8cc4-43827c1a6429@gambas-basic.org> Le 15/08/2023 ? 00:37, Bruce Steers a ?crit?: > > > On Mon, 14 Aug 2023, 21:19 Fabien Bodard, > wrote: > > Hi, > > Dim hImg As New Image(1, 1, Color.red) > dim a as Integer[] > > a = hImg.Pixels > ? Print a[0] > ? Print hImg[0, 0] > > result : > -65536 > 16711680 > > > Why ? > > -- > Fabien Bodard > > > According to wiki Image[x,y] returns a "colour" > Image.pixels[n] will be from an array of "32 bits integers" > > I don't understand it but seems could be a difference? > > > Respects > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Gambas colors use BGRA format with alpha component inverted. A R G B -65536 -> FFFF0000 16711680 -> 00FF0000 The 'Pixels' property returns a copy of the image data, whose format can be (almost) anything (read the 'Format' property of the image), with the alpha component never inverted. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue Aug 15 13:13:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 15 Aug 2023 12:13:55 +0100 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On Mon, 14 Aug 2023 at 23:37, Bruce Steers wrote: > > > On Mon, 14 Aug 2023, 21:19 Fabien Bodard, wrote: > >> Hi, >> >> Dim hImg As New Image(1, 1, Color.red) >> dim a as Integer[] >> >> a = hImg.Pixels >> Print a[0] >> Print hImg[0, 0] >> >> result : >> -65536 >> 16711680 >> >> >> Why ? >> >> -- >> Fabien Bodard >> > > According to wiki Image[x,y] returns a "colour" > Image.pixels[n] will be from an array of "32 bits integers" > > I don't understand it but seems could be a difference? > > > Respects > BruceS > I think i figured it out.. I noticed the warning on the wiki Color page.. http://gambaswiki.org/wiki/comp/gb.qt4/color In Gambas, the alpha color component is inverted in comparison to standard color coding. In other words, an alpha component of zero is fully opaque, and an alpha component of 255 is fully transparent So I used this code that converts to hex values... Public Sub Form_Open() Dim hImg As New Image(1, 1, Color.red) Dim aInt As Integer[] Print "red = "; Color.Red aInt = hImg.Pixels Print aInt[0] Print hImg[0, 0] Dim A, R, G, B As String A = Hex(Lsr(aInt[0], 24) And &HFF, 2) R = Hex(Lsr(aInt[0], 16) And &HFF, 2) G = Hex(Lsr(aInt[0], 8) And &HFF, 2) B = Hex(aInt[0] And &HFF, 2) Print A, R, G, B A = Hex(255 - Lsr(hImg[0, 0], 24) And &HFF, 2) ' Note this line uses 255- as wiki says Alpha values in gambas are reversed R = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) G = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) B = Hex(hImg[0, 0] And &HFF, 2) Print A, R, G, B End results.. red = 16711680 -65536 16711680 FF FF 00 00 FF FF 00 00 Note for the Image[n,n] array i use 255- on the alpha value to reverse it. It seems the Pixels[] array does not reverse the alpha value but the Image[] array does I have no idea how to convert the 1st 32bit alpha part as a color integers all i have is that Hex conversion but i think i found the problem. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 15 13:18:16 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 15 Aug 2023 12:18:16 +0100 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On Tue, 15 Aug 2023 at 12:13, Bruce Steers wrote: > > > On Mon, 14 Aug 2023 at 23:37, Bruce Steers wrote: > >> >> >> On Mon, 14 Aug 2023, 21:19 Fabien Bodard, wrote: >> >>> Hi, >>> >>> Dim hImg As New Image(1, 1, Color.red) >>> dim a as Integer[] >>> >>> a = hImg.Pixels >>> Print a[0] >>> Print hImg[0, 0] >>> >>> result : >>> -65536 >>> 16711680 >>> >>> >>> Why ? >>> >>> -- >>> Fabien Bodard >>> >> >> According to wiki Image[x,y] returns a "colour" >> Image.pixels[n] will be from an array of "32 bits integers" >> >> I don't understand it but seems could be a difference? >> >> >> Respects >> BruceS >> > > > I think i figured it out.. > I noticed the warning on the wiki Color page.. > http://gambaswiki.org/wiki/comp/gb.qt4/color > > In Gambas, the alpha color component is inverted in comparison to standard > color coding. In other words, an alpha component of zero is fully opaque, > and an alpha component of 255 is fully transparent > > > So I used this code that converts to hex values... > > Public Sub Form_Open() > > Dim hImg As New Image(1, 1, Color.red) > > Dim aInt As Integer[] > > Print "red = "; Color.Red > aInt = hImg.Pixels > > Print aInt[0] > Print hImg[0, 0] > > Dim A, R, G, B As String > > A = Hex(Lsr(aInt[0], 24) And &HFF, 2) > R = Hex(Lsr(aInt[0], 16) And &HFF, 2) > G = Hex(Lsr(aInt[0], 8) And &HFF, 2) > B = Hex(aInt[0] And &HFF, 2) > Print A, R, G, B > > A = Hex(255 - Lsr(hImg[0, 0], 24) And &HFF, 2) ' Note this line uses 255- > as wiki says Alpha values in gambas are reversed > R = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) > G = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) > B = Hex(hImg[0, 0] And &HFF, 2) > > Print A, R, G, B > > End > > > results.. > red = 16711680 > -65536 > 16711680 > FF FF 00 00 > FF FF 00 00 > > Note for the Image[n,n] array i use 255- on the alpha value to reverse it. > It seems the Pixels[] array does not reverse the alpha value but the > Image[] array does > > I have no idea how to convert the 1st 32bit alpha part as a color integers > all i have is that Hex conversion but i think i found the problem. > Aah so after Benoits advise i guess we should create image like this... Dim hImg As New Image(1, 1, Color.red) hImg.Format = "BGRA" But that is only a guess ;) Thankfully Benoit is here :) Happy holiday Ben, er Ascention day is it? My IDE started singing this morning lol :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 15 13:24:08 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 15 Aug 2023 12:24:08 +0100 Subject: [Gambas-user] About Image.Pixel References: Message-ID: On Tue, 15 Aug 2023 at 12:18, Bruce Steers wrote: > > > On Tue, 15 Aug 2023 at 12:13, Bruce Steers wrote: > >> >> >> On Mon, 14 Aug 2023 at 23:37, Bruce Steers wrote: >> >>> >>> >>> On Mon, 14 Aug 2023, 21:19 Fabien Bodard, wrote: >>> >>>> Hi, >>>> >>>> Dim hImg As New Image(1, 1, Color.red) >>>> dim a as Integer[] >>>> >>>> a = hImg.Pixels >>>> Print a[0] >>>> Print hImg[0, 0] >>>> >>>> result : >>>> -65536 >>>> 16711680 >>>> >>>> >>>> Why ? >>>> >>>> -- >>>> Fabien Bodard >>>> >>> >>> According to wiki Image[x,y] returns a "colour" >>> Image.pixels[n] will be from an array of "32 bits integers" >>> >>> I don't understand it but seems could be a difference? >>> >>> >>> Respects >>> BruceS >>> >> >> >> I think i figured it out.. >> I noticed the warning on the wiki Color page.. >> http://gambaswiki.org/wiki/comp/gb.qt4/color >> >> In Gambas, the alpha color component is inverted in comparison to >> standard color coding. In other words, an alpha component of zero is fully >> opaque, and an alpha component of 255 is fully transparent >> >> >> So I used this code that converts to hex values... >> >> Public Sub Form_Open() >> >> Dim hImg As New Image(1, 1, Color.red) >> >> Dim aInt As Integer[] >> >> Print "red = "; Color.Red >> aInt = hImg.Pixels >> >> Print aInt[0] >> Print hImg[0, 0] >> >> Dim A, R, G, B As String >> >> A = Hex(Lsr(aInt[0], 24) And &HFF, 2) >> R = Hex(Lsr(aInt[0], 16) And &HFF, 2) >> G = Hex(Lsr(aInt[0], 8) And &HFF, 2) >> B = Hex(aInt[0] And &HFF, 2) >> Print A, R, G, B >> >> A = Hex(255 - Lsr(hImg[0, 0], 24) And &HFF, 2) ' Note this line uses >> 255- as wiki says Alpha values in gambas are reversed >> R = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) >> G = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) >> B = Hex(hImg[0, 0] And &HFF, 2) >> >> Print A, R, G, B >> >> End >> >> >> results.. >> red = 16711680 >> -65536 >> 16711680 >> FF FF 00 00 >> FF FF 00 00 >> >> Note for the Image[n,n] array i use 255- on the alpha value to reverse it. >> It seems the Pixels[] array does not reverse the alpha value but the >> Image[] array does >> >> I have no idea how to convert the 1st 32bit alpha part as a color >> integers all i have is that Hex conversion but i think i found the problem. >> > > Aah so after Benoits advise i guess we should create image like this... > > Dim hImg As New Image(1, 1, Color.red) > hImg.Format = "BGRA" > oops I guess the value order should be read a BGRA too B = Hex(Lsr(aInt[0], 24) And &HFF, 2) G = Hex(Lsr(aInt[0], 16) And &HFF, 2) R = Hex(Lsr(aInt[0], 8) And &HFF, 2) A = Hex(aInt[0] And &HFF, 2) Print a, r, G, B B = Hex(255 - Lsr(hImg[0, 0], 24) And &HFF, 2) G = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) R = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) A = Hex(hImg[0, 0] And &HFF, 2) Print a, r, G, B I'll sit me back down, pretty sure you know what to do to convert anyway now :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Aug 15 13:35:43 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 15 Aug 2023 12:35:43 +0100 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On Tue, 15 Aug 2023 at 12:24, Bruce Steers wrote: > > > On Tue, 15 Aug 2023 at 12:18, Bruce Steers wrote: > >> >> >> On Tue, 15 Aug 2023 at 12:13, Bruce Steers wrote: >> >>> >>> >>> On Mon, 14 Aug 2023 at 23:37, Bruce Steers wrote: >>> >>>> >>>> >>>> On Mon, 14 Aug 2023, 21:19 Fabien Bodard, wrote: >>>> >>>>> Hi, >>>>> >>>>> Dim hImg As New Image(1, 1, Color.red) >>>>> dim a as Integer[] >>>>> >>>>> a = hImg.Pixels >>>>> Print a[0] >>>>> Print hImg[0, 0] >>>>> >>>>> result : >>>>> -65536 >>>>> 16711680 >>>>> >>>>> >>>>> Why ? >>>>> >>>>> -- >>>>> Fabien Bodard >>>>> >>>> >>>> According to wiki Image[x,y] returns a "colour" >>>> Image.pixels[n] will be from an array of "32 bits integers" >>>> >>>> I don't understand it but seems could be a difference? >>>> >>>> >>>> Respects >>>> BruceS >>>> >>> Final post.. I've successfully got the Pixels[] data reading the same as the Image[] data Public Sub Form_Open() Dim hImg As New Image(1, 1, Color.red) hImg.Format = "BGRA" Dim aInt As Integer[] Print "red = "; Color.Red aInt = hImg.Pixels Print aInt[0] Print hImg[0, 0] Print "" Dim A, R, G, B As String B = Hex(255 - Lsr(aInt[0], 24) And &HFF, 2) G = Hex(Lsr(aInt[0], 16) And &HFF, 2) R = Hex(Lsr(aInt[0], 8) And &HFF, 2) A = Hex(aInt[0] And &HFF, 2) Print Val("&h" & b & g & r & a) B = Hex(Lsr(hImg[0, 0], 24) And &HFF, 2) G = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) R = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) A = Hex(hImg[0, 0] And &HFF, 2) Print Val("&h" & b & g & r & a) End Results... red = 16711680 -65536 16711680 16711680 16711680 BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Tue Aug 15 17:45:01 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Tue, 15 Aug 2023 17:45:01 +0200 (CEST) Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: Maybe.... Public Sub Form_Open() ? Dim hImg As New Image(1, 1, Color.Red) ? Print "red = "; Color.Red ? Print hImg.Pixels[0] ? Print ? Print Val("&" & Hex(hImg.Pixels[0], 6) & "&"), Hex(hImg.Pixels[0], 8) ? Print ? Print hImg[0, 0] End ________________ 15 ago 2023, 13:37 da bsteers4 at gmail.com: > > > On Tue, 15 Aug 2023 at 12:24, Bruce Steers <> bsteers4 at gmail.com> > wrote: > >> >> >> On Tue, 15 Aug 2023 at 12:18, Bruce Steers <>> bsteers4 at gmail.com>> > wrote: >> >>> >>> >>> On Tue, 15 Aug 2023 at 12:13, Bruce Steers <>>> bsteers4 at gmail.com>>> > wrote: >>> >>>> >>>> >>>> On Mon, 14 Aug 2023 at 23:37, Bruce Steers <>>>> bsteers4 at gmail.com>>>> > wrote: >>>> >>>>> >>>>> >>>>> On Mon, 14 Aug 2023, 21:19 Fabien Bodard, <>>>>> gambas.fr at gmail.com>>>>> > wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Dim hImg As New Image(1, 1, Color.red) >>>>>> dim a as Integer[] >>>>>> >>>>>> a = hImg.Pixels >>>>>> ? Print a[0] >>>>>> ? Print hImg[0, 0] >>>>>> >>>>>> result : >>>>>> -65536 >>>>>> 16711680 >>>>>> >>>>>> >>>>>> Why ? >>>>>> >>>>>> -- >>>>>> Fabien Bodard >>>>>> >>>>> >>>>> According to wiki Image[x,y] returns a "colour" >>>>> Image.pixels[n] will be from an array of "32 bits integers" >>>>> >>>>> I don't understand it but seems could be a difference? >>>>> >>>>> >>>>> Respects >>>>> BruceS >>>>> > > Final post.. > > I've successfully got the Pixels[] data reading the same as the Image[] data > > > Public Sub Form_Open() > > ? Dim hImg As New Image(1, 1, Color.red) > > ? hImg.Format = "BGRA" > > ? Dim aInt As Integer[] > > ? Print "red = "; Color.Red > ? aInt = hImg.Pixels > > ? Print aInt[0] > ? Print hImg[0, 0] > ? Print "" > > Dim A, R, G, B As String > > B = Hex(255 - Lsr(aInt[0], 24) And &HFF, 2) > G = Hex(Lsr(aInt[0], 16) And &HFF, 2) > R = Hex(Lsr(aInt[0], 8) And &HFF, 2) > A = Hex(aInt[0] And &HFF, 2) > Print Val("&h" & b & g & r & a) > > B = Hex(Lsr(hImg[0, 0], 24) And &HFF, 2) > G = Hex(Lsr(hImg[0, 0], 16) And &HFF, 2) > R = Hex(Lsr(hImg[0, 0], 8) And &HFF, 2) > A = Hex(hImg[0, 0] And &HFF, 2) > > Print Val("&h" & b & g & r & a) > > End > > Results... > red = 16711680 > -65536 > 16711680 > > 16711680 > 16711680 > > BruceS > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Aug 15 18:15:52 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 15 Aug 2023 12:15:52 -0400 Subject: [Gambas-user] Inserting wiki (sans domain name) URLs on the Wiki Message-ID: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> The root path of the Wiki on gambaswiki.org is "/wiki". After logging in, that path part changes to "/edit". So, if I copy the link to the "Image Management In Gambas" page to paste it to a link, it is "/edit/doc/imageconv" but should actually be "/wiki/doc/imageconv". After inserting a link with a URL of "/wiki/doc/imageconv" into a different page and upon preview, the link URL is converted to "/edit/wiki/doc/imageconv". I'm sure that cannot be correct. Or is it? How should that URL be specifed? As "/edit/doc/imageconv"? Or as "/doc/imageconv"? Does the "/edit" part get automatically converted on save to "/wiki"? Or, would it be better to specify a fully relative URL such as "../../../../doc/imageconv" (which seems quite cumbersome)? -- Lee From bsteers4 at gmail.com Tue Aug 15 18:44:41 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 15 Aug 2023 17:44:41 +0100 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: On Tue, 15 Aug 2023 at 16:55, vuott--- via User wrote: > Maybe.... > > > Public Sub Form_Open() > > Dim hImg As New Image(1, 1, Color.Red) > > Print "red = "; Color.Red > > Print hImg.Pixels[0] > Print > Print Val("&" & Hex(hImg.Pixels[0], 6) & "&"), Hex(hImg.Pixels[0], 8) > Print > Print hImg[0, 0] > > End > ________________ > Hehe, yes i was absolutely 100% sure i was not doing it the easiest way, and maybe not even correctly ;) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Aug 15 20:28:27 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 15 Aug 2023 14:28:27 -0400 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: Message-ID: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> On 8/15/23 12:44, Bruce Steers wrote: > > > On Tue, 15 Aug 2023 at 16:55, vuott--- via User > wrote: > > Maybe.... > > > Public Sub Form_Open() > > ? Dim hImg As New Image(1, 1, Color.Red) > > ? Print "red = "; Color.Red > > ? Print hImg.Pixels[0] > ? Print > ? Print Val("&" & Hex(hImg.Pixels[0], 6) & "&"), Hex(hImg.Pixels[0], 8) > ? Print > ? Print hImg[0, 0] > > End > ________________ > > > > Hehe, yes i was absolutely 100% sure i was not doing it the easiest way, and maybe not even correctly ;) > > Respects > BruceS That would work for a color with full opacity, but not necessarily for a color with any transparency. But, when playing around with this, I am getting some weirdness: This code (using Qt5): [code] Public Sub Form_Open() Dim hImg As New Image(1, 1, Color.Red) Print Hex(Color.Red) Print SizeOf(Color.Red) Print Hex(hImg.Pixels[0]) ' Print SizeOf(hImg.Pixels[0]) ' <--- this causes a segmentation fault End [/code] Produces: FF0000 8 FFFFFFFFFFFF0000 !SegFault The size of Color.Red is 8 bytes, 64 bits? Shouldn't it be 4 bytes for 32 bits? Am I missing something, or is my Gambas corrupted? -- Lee From hartmut.w.wagener at t-online.de Tue Aug 15 21:46:13 2023 From: hartmut.w.wagener at t-online.de (Hartmut Wagener) Date: Tue, 15 Aug 2023 21:46:13 +0200 Subject: [Gambas-user] Way to create dynamic Arrays Message-ID: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> I have tried the dynamic arrays. I created an array Public Samples as Short[] Inside the program i used Dim Samples As New Short[countSamples] to add an array-entry. countSamples is incremented each new Sample. The program runs through the readin-phase, but there is no array created with all the samples. What is wrong? From hartmut.w.wagener at t-online.de Tue Aug 15 21:50:57 2023 From: hartmut.w.wagener at t-online.de (Hartmut Wagener) Date: Tue, 15 Aug 2023 21:50:57 +0200 Subject: [Gambas-user] Way to create dynamic Arrays In-Reply-To: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> References: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> Message-ID: I have found it out, by using the .add-thing... Am 15.08.23 um 21:46 schrieb Hartmut Wagener: > I have tried the dynamic arrays. > > I created an array > > > Public Samples as Short[] > > > Inside the program i used > > > Dim Samples As New Short[countSamples] > > > to add an array-entry. > > > countSamples is incremented each new Sample. > > > The program runs through the readin-phase, but there is no array > created with all the samples. > > > What is wrong? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From jussi.lahtinen at gmail.com Tue Aug 15 22:03:43 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 15 Aug 2023 23:03:43 +0300 Subject: [Gambas-user] Way to create dynamic Arrays In-Reply-To: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> References: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> Message-ID: Next time it is better to attach a small project to illustrate your problem. Many times (like this one) the problem is not in the given code. However, you should not use "Samples" as variable name twice, once for public and once for the local. Jussi On Tue, Aug 15, 2023 at 10:47?PM Hartmut Wagener < hartmut.w.wagener at t-online.de> wrote: > I have tried the dynamic arrays. > > I created an array > > > Public Samples as Short[] > > > Inside the program i used > > > Dim Samples As New Short[countSamples] > > > to add an array-entry. > > > countSamples is incremented each new Sample. > > > The program runs through the readin-phase, but there is no array created > with all the samples. > > > What is wrong? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 15 22:44:24 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 15 Aug 2023 22:44:24 +0200 Subject: [Gambas-user] Way to create dynamic Arrays In-Reply-To: References: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> Message-ID: Il 15/08/23 22:03, Jussi Lahtinen ha scritto: > Next time it is better to attach a small project to illustrate your > problem. Many times (like this one) the problem is not in the given code. > However, you should not use "Samples" as variable name twice, once for > public and once for the local. > > Jussi > > On Tue, Aug 15, 2023 at 10:47?PM Hartmut Wagener > wrote: > > I have tried the dynamic arrays. > > I created an array > > > Public Samples as Short[] > > > Inside the program i used > > > Dim Samples As New Short[countSamples] > > > to add an array-entry. > > > countSamples is incremented each new Sample. > > > The program runs through the readin-phase, but there is no array > created > with all the samples. > > > What is wrong? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Can this help? '---------------------- Public Sub Main() ? Dim countSamples As Short = 10 ? Dim Samples As New Short[countSamples] ? For s As Short = 0 To countSamples - 1 ??? Samples[s] = s ??? Print Samples[s] ? Next ? Samples.Clear ? Print "--" ? For s = 0 To countSamples + 10 ??? Samples.Push(s) ??? Print Samples[s] ? Next End '------------------- Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Tue Aug 15 23:04:36 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 16 Aug 2023 00:04:36 +0300 Subject: [Gambas-user] Way to create dynamic Arrays In-Reply-To: References: <380755fc-d514-c47f-fa29-bb756b80e5be@t-online.de> Message-ID: Probably better use Integer instead of Short for the array index. There is no gains in using Short here, but you can, in some cases, avoid bug from possible overflow with Integer. The max for Short is 32767 and because it is an array of Shorts it may be so, because it is very big. Jussi On Tue, Aug 15, 2023 at 11:45?PM Gianluigi wrote: > Il 15/08/23 22:03, Jussi Lahtinen ha scritto: > > Next time it is better to attach a small project to illustrate your > problem. Many times (like this one) the problem is not in the given code. > However, you should not use "Samples" as variable name twice, once for > public and once for the local. > > Jussi > > On Tue, Aug 15, 2023 at 10:47?PM Hartmut Wagener < > hartmut.w.wagener at t-online.de> wrote: > >> I have tried the dynamic arrays. >> >> I created an array >> >> >> Public Samples as Short[] >> >> >> Inside the program i used >> >> >> Dim Samples As New Short[countSamples] >> >> >> to add an array-entry. >> >> >> countSamples is incremented each new Sample. >> >> >> The program runs through the readin-phase, but there is no array created >> with all the samples. >> >> >> What is wrong? >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Can this help? > > '---------------------- > > Public Sub Main() > > Dim countSamples As Short = 10 > Dim Samples As New Short[countSamples] > > For s As Short = 0 To countSamples - 1 > Samples[s] = s > Print Samples[s] > Next > Samples.Clear > Print "--" > For s = 0 To countSamples + 10 > Samples.Push(s) > Print Samples[s] > Next > > End > '------------------- > > Regards > > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Aug 15 23:58:05 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 15 Aug 2023 23:58:05 +0200 Subject: [Gambas-user] Inserting wiki (sans domain name) URLs on the Wiki In-Reply-To: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> References: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> Message-ID: Le 15/08/2023 ? 18:15, T Lee Davidson a ?crit?: > The root path of the Wiki on gambaswiki.org is "/wiki". After logging > in, that path part changes to "/edit". So, if I copy the link to the > "Image Management In Gambas" page to paste it to a link, it is > "/edit/doc/imageconv" but should actually be "/wiki/doc/imageconv". > > After inserting a link with a URL of "/wiki/doc/imageconv" into a > different page and upon preview, the link URL is converted to > "/edit/wiki/doc/imageconv". I'm sure that cannot be correct. Or is it? > > How should that URL be specifed? > As "/edit/doc/imageconv"? > Or as "/doc/imageconv"? > Does the "/edit" part get automatically converted on save to "/wiki"? > > Or, would it be better to specify a fully relative URL such as > "../../../../doc/imageconv" (which seems quite cumbersome)? > > You insert links to a wiki page by using an absolute path between brackets that starts at wiki root. For example: [/doc/imageconv] You must not specify '/wiki' or '/edit'. If you really want an absolute wiki URL, you must use 'https://gambaswiki.org/edit/...', but you should not have any use of that. Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Wed Aug 16 03:23:49 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 16 Aug 2023 10:53:49 +0930 Subject: [Gambas-user] Inserting wiki (sans domain name) URLs on the Wiki In-Reply-To: References: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> Message-ID: <83373fbc-cb5b-18bb-c90e-c6f3ed631178@gmail.com> On 16/8/23 7:28 am, Benoit Minisini wrote: > Le 15/08/2023 ? 18:15, T Lee Davidson a ?crit?: >> The root path of the Wiki on gambaswiki.org is "/wiki". After logging >> in, that path part changes to "/edit". So, if I copy the link to the >> "Image Management In Gambas" page to paste it to a link, it is >> "/edit/doc/imageconv" but should actually be "/wiki/doc/imageconv". >> >> After inserting a link with a URL of "/wiki/doc/imageconv" into a >> different page and upon preview, the link URL is converted to >> "/edit/wiki/doc/imageconv". I'm sure that cannot be correct. Or is it? >> >> How should that URL be specifed? >> As "/edit/doc/imageconv"? >> Or as "/doc/imageconv"? >> Does the "/edit" part get automatically converted on save to "/wiki"? >> >> Or, would it be better to specify a fully relative URL such as >> "../../../../doc/imageconv" (which seems quite cumbersome)? >> >> > > You insert links to a wiki page by using an absolute path between > brackets that starts at wiki root. > > For example: [/doc/imageconv] > > You must not specify '/wiki' or '/edit'. > > If you really want an absolute wiki URL, you must use > 'https://gambaswiki.org/edit/...', but you should not have any use of > that. > > Regards, > Just as an aside. Is there a way to put links in the inline help, for example Dim IntroYear as Integer '' The year in which the vehicle becomes available Dim IntroMonth as Integer '' The month in the_IntroYear_ the vehicle becomes available i.e in the help screen I can jump from IntroMonth to IntroYear. tia bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Aug 16 03:26:32 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 16 Aug 2023 10:56:32 +0930 Subject: [Gambas-user] (local) git repository component Message-ID: Casting a wide net here. Does anyone have a git repository manipulation component sitting around in their shed somewhere? ( I am just trying to be lazy and not have to work out all the git command structures ? ) tia bruce From benoit.minisini at gambas-basic.org Wed Aug 16 13:08:56 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 16 Aug 2023 13:08:56 +0200 Subject: [Gambas-user] About Image.Pixel In-Reply-To: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> References: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> Message-ID: <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> Le 15/08/2023 ? 20:28, T Lee Davidson a ?crit?: > > That would work for a color with full opacity, but not necessarily for a > color with any transparency. > > But, when playing around with this, I am getting some weirdness: > This code (using Qt5): > [code] > Public Sub Form_Open() > > ? Dim hImg As New Image(1, 1, Color.Red) > > ? Print Hex(Color.Red) > ? Print SizeOf(Color.Red) > ? Print Hex(hImg.Pixels[0]) > ? ' Print SizeOf(hImg.Pixels[0]) ' <--- this causes a segmentation fault > > End > [/code] > > Produces: > FF0000 > 8 > FFFFFFFFFFFF0000 > !SegFault > > The size of Color.Red is 8 bytes, 64 bits? Shouldn't it be 4 bytes for > 32 bits? > Am I missing something, or is my Gambas corrupted? > > The crash has been fixed in commit https://gitlab.com/gambas/gambas/-/commit/c10a03cb59f24cca6bed231320f95798d3f660d3. Read the documentation of SizeOf() to understand how to use it. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Wed Aug 16 15:21:42 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 16 Aug 2023 09:21:42 -0400 Subject: [Gambas-user] Inserting wiki (sans domain name) URLs on the Wiki In-Reply-To: References: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> Message-ID: <8e065320-defb-4fdb-ae1e-aa63ec38bbb3@gmail.com> On 8/15/23 17:58, Benoit Minisini wrote: > You insert links to a wiki page by using an absolute path between brackets?that?starts?at?wiki?root. > > For?example:?[/doc/imageconv] > > You?must?not?specify?'/wiki'?or?'/edit'. > > If you really want an absolute wiki URL, you must use 'https://gambaswiki.org/edit/...',?but?you?should?not?have?any?use?of?that. Thank you. -- Lee From t.lee.davidson at gmail.com Wed Aug 16 15:23:12 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 16 Aug 2023 09:23:12 -0400 Subject: [Gambas-user] About Image.Pixel In-Reply-To: <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> References: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> Message-ID: On 8/16/23 07:08, Benoit Minisini wrote: > Read?the?documentation?of?SizeOf()?to?understand?how?to?use?it. Hmm, I did read it ... but then apparently immediately forgot what it said. :-\ -- Lee From gambas.fr at gmail.com Wed Aug 16 15:58:44 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 16 Aug 2023 15:58:44 +0200 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> Message-ID: Thank you for your response :-) Unfortunately I've found my mistake as soon as I've send my mail :-/ I'm currently look at how fast I can fill an image . The actual more fastest is to use a linear integer array :-) and return it to Image.Pixel... I was guessing that using Integer@ on Image.Data pointer will be more fast ... but actually 30X less. I'm playing with raycasting ... I need speed :-D From gambas.fr at gmail.com Wed Aug 16 16:04:45 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 16 Aug 2023 16:04:45 +0200 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> Message-ID: To those who want to play :-) this is a demo that show differences and a small bench screenshot ... the both functions are in fast mode -------------- next part -------------- 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 AAA= -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture d??cran du 2023-08-16 16-01-56.png Type: image/png Size: 21591 bytes Desc: not available URL: From gambas.fr at gmail.com Wed Aug 16 17:07:26 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 16 Aug 2023 17:07:26 +0200 Subject: [Gambas-user] About Image.Pixel In-Reply-To: References: <67d1ebdc-829c-4ea5-b1ba-164f83e2fb80@gmail.com> <21c0ed27-b6c9-5ecb-bcac-b6a35d925df4@gambas-basic.org> Message-ID: this is the conclusion... With the last Revision Using Integer@ in Fast Unsafe Mode Is 2 time faster at less than using array now :-) From bsteers4 at gmail.com Wed Aug 16 20:54:23 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 16 Aug 2023 19:54:23 +0100 Subject: [Gambas-user] Annoiying warnings in the IDE/console In-Reply-To: References: <25f50335-1c0d-e99c-6d1c-4603ea999cb9@gmail.com> <2da2bbe9-be83-27d5-5947-8f033e647597@gmail.com> <5d9547e2-f295-3a24-68ca-2b3ca26657bf@cd-bahia.com> Message-ID: On Wed, 9 Aug 2023 at 07:57, Bruce Steers wrote: > > > On Tue, 8 Aug 2023 at 23:31, Dag JNJ wrote: > >> Hi, >> I get so many warnings about Gtk, that it gets hard to find the debug >> prints I need to check values. Warnings like this: >> >> *(solar:43119): Gtk-CRITICAL **: 00:15:58.402: gtk_box_gadget_distribute: >> assertion 'size >= 0' failed in GtkRadioButton* >> >> I can't see any errors on my forms, they all work well. >> I use Gambas 3.18.90 gambas-dayii (though had the same warnings with >> stable) >> Is there a workaround? >> Best regards >> Dag >> > > It's often a Checkbox or a Label or something without AutoResize set to > True making a sizing glitch. > > BruceS > Aah i missed the gtkRadioButton part of that warning there. So i guess it's a RadioButton that does not have AutoResize Set True or is to small to display correctly without AutoResize. (I think it can also happen if there no AutoResize and the Text property is set in code but Null in the IDE) Best of luck BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Aug 17 12:44:51 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 17 Aug 2023 12:44:51 +0200 Subject: [Gambas-user] Inserting wiki (sans domain name) URLs on the Wiki In-Reply-To: <83373fbc-cb5b-18bb-c90e-c6f3ed631178@gmail.com> References: <7d66558e-df40-4591-a3df-7e329e3bb0f8@gmail.com> <83373fbc-cb5b-18bb-c90e-c6f3ed631178@gmail.com> Message-ID: Le 16/08/2023 ? 03:23, BB a ?crit?: > Just as an aside. Is there a way to put links in the inline help, for > example > > Dim IntroYear as Integer '' The year in which the vehicle becomes available > Dim IntroMonth as Integer '' The month in the_IntroYear_ the vehicle becomes available > > i.e in the help screen I can jump from IntroMonth to IntroYear. > > tia > > bruce > Try: '' The month in the [../introyear] the vehicle becomes available -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Fri Aug 18 01:09:15 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 18 Aug 2023 01:09:15 +0200 Subject: [Gambas-user] Migrating domain name and mail Message-ID: <578f3be7-289c-ddfc-6256-5f94f09019b1@gambas-basic.org> Hi, I'm currently migrating 'gambas-basic.org' domain to a new registrar, and it should take five days. So I guess that my mail 'benoit.minisini at gambas-basic.org' will stop working until next week. :-/ The 'gambaswiki.org' and 'gambsfarm.org' domains will migrate too, but later. So I will be still present on the bugtracker. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Fri Aug 18 03:05:50 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 18 Aug 2023 03:05:50 +0200 Subject: [Gambas-user] Migrating domain name and mail In-Reply-To: <578f3be7-289c-ddfc-6256-5f94f09019b1@gambas-basic.org> References: <578f3be7-289c-ddfc-6256-5f94f09019b1@gambas-basic.org> Message-ID: Le 18/08/2023 ? 01:09, Benoit Minisini a ?crit?: > Hi, > > I'm currently migrating 'gambas-basic.org' domain to a new registrar, > and it should take five days. > > So I guess that my mail 'benoit.minisini at gambas-basic.org' will stop > working until next week. :-/ > > The 'gambaswiki.org' and 'gambsfarm.org' domains will migrate too, but > later. So I will be still present on the bugtracker. > > Regards, > Finally it's faster than they say. Everything should work now. -- Beno?t Minisini. From gradobag at gradobag.it Fri Aug 18 12:24:40 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 18 Aug 2023 12:24:40 +0200 Subject: [Gambas-user] MySql Reconnect warning Message-ID: <4cdd923f-2975-853c-727b-77c1a1075eb3@gradobag.it> Hi Benoit, I don't know MySQL, nevertheless I create a MySQL database with the ORMs made available by Gambas. '---------------- With $hConn ??? .Close() ??? .Type = "mysql" ??? .Host = "localhost" ??? .Login = "login" ??? .Password = "password" ??? .Port = "3306" ??? .Name = "" ??? .Open ??? If Not .Databases.Exist($sNameDB) Then ????? .Databases.Add("databasename") ????? .Close ????? .Name = "databasename" ????? .Open ????? .Begin ????? MakeTable ????? FillTable ????? .Commit ????? Print ("#Database successfully created!") ????? Print ("Database is open = "); .Opened ??? Endif End With '---------------- In console I get this notice: WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. #Database successfully created! Database is open = True Can I avoid it, am I doing something wrong? Best regards Gianluigi From benoit.minisini at gambas-basic.org Fri Aug 18 13:40:40 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 18 Aug 2023 13:40:40 +0200 Subject: [Gambas-user] MySql Reconnect warning In-Reply-To: <4cdd923f-2975-853c-727b-77c1a1075eb3@gradobag.it> References: <4cdd923f-2975-853c-727b-77c1a1075eb3@gradobag.it> Message-ID: <5e529aec-7d58-358d-d41d-d2ffa7a8c074@gambas-basic.org> Le 18/08/2023 ? 12:24, Gianluigi a ?crit?: > Hi Benoit, > > I don't know MySQL, nevertheless I create a MySQL database with the ORMs > made available by Gambas. > '---------------- > With $hConn > ??? .Close() > ??? .Type = "mysql" > ??? .Host = "localhost" > ??? .Login = "login" > ??? .Password = "password" > ??? .Port = "3306" > ??? .Name = "" > ??? .Open > ??? If Not .Databases.Exist($sNameDB) Then > ????? .Databases.Add("databasename") > ????? .Close > ????? .Name = "databasename" > ????? .Open > ????? .Begin > ????? MakeTable > ????? FillTable > ????? .Commit > ????? Print ("#Database successfully created!") > ????? Print ("Database is open = "); .Opened > ??? Endif > End With > '---------------- > In console I get this notice: > > WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a > future version. > WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a > future version. > #Database successfully created! > Database is open = True > > Can I avoid it, am I doing something wrong? > > Best regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Can you try the latest commit? Automatic reconnection is not set anymore when MySQL version is greater or equal than 8.0.34. Regards, -- Beno?t Minisini. From gradobag at gradobag.it Fri Aug 18 14:32:50 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 18 Aug 2023 14:32:50 +0200 Subject: [Gambas-user] MySql Reconnect warning In-Reply-To: <5e529aec-7d58-358d-d41d-d2ffa7a8c074@gambas-basic.org> References: <4cdd923f-2975-853c-727b-77c1a1075eb3@gradobag.it> <5e529aec-7d58-358d-d41d-d2ffa7a8c074@gambas-basic.org> Message-ID: <8ffeaea5-0c51-26ce-3d2d-88fdf2e25224@gradobag.it> Il 18/08/23 13:40, Beno?t Minisini ha scritto: > Le 18/08/2023 ? 12:24, Gianluigi a ?crit?: >> Hi Benoit, >> >> I don't know MySQL, nevertheless I create a MySQL database with the >> ORMs made available by Gambas. >> '---------------- >> With $hConn >> ???? .Close() >> ???? .Type = "mysql" >> ???? .Host = "localhost" >> ???? .Login = "login" >> ???? .Password = "password" >> ???? .Port = "3306" >> ???? .Name = "" >> ???? .Open >> ???? If Not .Databases.Exist($sNameDB) Then >> ?????? .Databases.Add("databasename") >> ?????? .Close >> ?????? .Name = "databasename" >> ?????? .Open >> ?????? .Begin >> ?????? MakeTable >> ?????? FillTable >> ?????? .Commit >> ?????? Print ("#Database successfully created!") >> ?????? Print ("Database is open = "); .Opened >> ???? Endif >> End With >> '---------------- >> In console I get this notice: >> >> WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a >> future version. >> WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a >> future version. >> #Database successfully created! >> Database is open = True >> >> Can I avoid it, am I doing something wrong? >> >> Best regards >> >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Can you try the latest commit? Automatic reconnection is not set > anymore when MySQL version is greater or equal than 8.0.34. > > Regards, > It works very well, you are great! Thank you very much Best regards Gianluigi From gradobag at gradobag.it Sat Aug 19 14:04:54 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 19 Aug 2023 14:04:54 +0200 Subject: [Gambas-user] UCaseFirst Message-ID: Does anyone know what happened to this String Utility? http://gambaswiki.org/wiki/comp/gb/string/ucasefirst?nl From gradobag at gradobag.it Sat Aug 19 14:12:14 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 19 Aug 2023 14:12:14 +0200 Subject: [Gambas-user] UCaseFirst In-Reply-To: References: Message-ID: <64e79566-d75d-fda3-c63f-4f0c45604c56@gradobag.it> Il 19/08/23 14:04, Gianluigi ha scritto: > Does anyone know what happened to this String Utility? > > http://gambaswiki.org/wiki/comp/gb/string/ucasefirst?nl > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi, Sorry too much wine ? Regards Gianluigi From adamnt42 at gmail.com Sun Aug 20 13:24:14 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 20 Aug 2023 20:54:14 +0930 Subject: [Gambas-user] UCaseFirst In-Reply-To: <64e79566-d75d-fda3-c63f-4f0c45604c56@gradobag.it> References: <64e79566-d75d-fda3-c63f-4f0c45604c56@gradobag.it> Message-ID: On 19/8/23 9:42 pm, Gianluigi wrote: > Il 19/08/23 14:04, Gianluigi ha scritto: >> Does anyone know what happened to this String Utility? >> >> http://gambaswiki.org/wiki/comp/gb/string/ucasefirst?nl >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi, > > Sorry too much wine ? > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Impossible! (Unless you are speaking of a warehouse.) ? From gambas.fr at gmail.com Sun Aug 20 16:47:09 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 20 Aug 2023 16:47:09 +0200 Subject: [Gambas-user] SDL2 mouse class Message-ID: Hi Is there anyone that can tell me how the mode Mouse.Relative return the relative values ? -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Aug 20 18:12:49 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 20 Aug 2023 18:12:49 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set Message-ID: Hi, I'm currently doing a Gambas icons set for LibreOffice, based on the new Gambas Thin icon set. Is anyone interested? I can actually make another one based on standard Gambas icon set too. Regards, -- Beno?t Minisini. -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot_20230820_181123.png Type: image/png Size: 149093 bytes Desc: not available URL: From vuott at tutanota.com Sun Aug 20 19:32:41 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 20 Aug 2023 19:32:41 +0200 (CEST) Subject: [Gambas-user] Problem updating gambas Message-ID: Hello, I have updated Gambas with the latest "Master" version. At the end of "Make install" I get this warning: ........................ Installing the development environment... Compiling gambas3... OK gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/critical.png gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/info.png gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/warning.png Installing gambas3... Compiling gbs3... OK ............................ I add that, when I place a graphical Control on the Project Form, the IDE crashes, and I get a warning: ????? File or directory does not exist (#45). ????? MHelp.InitOffline.972 Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Aug 20 19:50:47 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 20 Aug 2023 19:50:47 +0200 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: Message-ID: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Le 20/08/2023 ? 19:32, vuott--- via User a ?crit?: > Hello, > > I have updated Gambas with the latest "Master" version. > > At the end of "Make install" I get this warning: > > ........................ > > Installing the development environment... > Compiling gambas3... > OK > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/critical.png > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/info.png > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/warning.png > Installing gambas3... > Compiling gbs3... > OK > ............................ > > I add that, when I place a graphical Control on the Project Form, the > IDE crashes, and I get a warning: > > ????? File or directory does not exist (#45). > ????? MHelp.InitOffline.972 > > Regards > It should be fixed with last commit. -- Beno?t Minisini. From t.lee.davidson at gmail.com Sun Aug 20 22:29:09 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 20 Aug 2023 16:29:09 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? Message-ID: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> Given numerous text files containing one or more ip addresses, I am trying to extract all matches in a given file not knowing how many there may be. This is the regular expression I am using: hRegExp.Compile("(?:IP address: (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))") I have tried compiling with and without RegExp.DotAll, repeating the non-captured group with "+", adding ".*" at beginning and end, and various other quantifiers and pattern tweaks I can't even remember now. But, no matter what, only the first match is returned. -- Lee From vuott at tutanota.com Sun Aug 20 23:16:32 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 20 Aug 2023 23:16:32 +0200 (CEST) Subject: [Gambas-user] Problem updating gambas In-Reply-To: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: Yes, now it works. regards 20 ago 2023, 19:51 da benoit.minisini at gambas-basic.org: > Le 20/08/2023 ? 19:32, vuott--- via User a ?crit?: > >> Hello, >> >> I have updated Gambas with the latest "Master" version. >> >> At the end of "Make install" I get this warning: >> >> ........................ >> >> Installing the development environment... >> Compiling gambas3... >> OK >> gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/critical.png >> gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/info.png >> gba: warning: cannot stat file: /home/vuott/gambasdevel/app/src/gambas3/help/wiki/warning.png >> Installing gambas3... >> Compiling gbs3... >> OK >> ............................ >> >> I add that, when I place a graphical Control on the Project Form, the IDE crashes, and I get a warning: >> >> ????? File or directory does not exist (#45). >> ????? MHelp.InitOffline.972 >> >> Regards >> > > It should be fixed with last commit. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Aug 20 23:21:10 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 20 Aug 2023 22:21:10 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: Mine does not compile now. I get this error.... Making install in db /usr/bin/mkdir -p '/usr/lib/gambas3' ../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' /usr/bin/mkdir -p '/usr/lib/gambas3' /bin/bash ../../libtool --silent --mode=install ../.././install-sh -c gb.db.la '/usr/lib/gambas3' Compiling 'gb.db' component... OK Installing 'gb.db' component... /bin/bash: line 12: ../.././install-sh: No such file or directory make[5]: *** [Makefile:909: install-data-hook] Error 127 make[4]: *** [Makefile:825: install-data-am] Error 2 make[3]: *** [Makefile:765: install-am] Error 2 make[2]: *** [Makefile:421: install-recursive] Error 1 make[1]: *** [Makefile:469: install-recursive] Error 1 make: *** [Makefile:446: install-recursive] Error 1 Respects BruceS On Sun, 20 Aug 2023 at 22:17, vuott--- via User wrote: > Yes, now it works. > > regards > > > > > > 20 ago 2023, 19:51 da benoit.minisini at gambas-basic.org: > > Le 20/08/2023 ? 19:32, vuott--- via User a ?crit : > > Hello, > > I have updated Gambas with the latest "Master" version. > > At the end of "Make install" I get this warning: > > ........................ > > Installing the development environment... > Compiling gambas3... > OK > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/critical.png > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/info.png > gba: warning: cannot stat file: > /home/vuott/gambasdevel/app/src/gambas3/help/wiki/warning.png > Installing gambas3... > Compiling gbs3... > OK > ............................ > > I add that, when I place a graphical Control on the Project Form, the IDE > crashes, and I get a warning: > > File or directory does not exist (#45). > MHelp.InitOffline.972 > > Regards > > > It should be fixed with last commit. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Aug 21 00:42:50 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 00:42:50 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> Message-ID: <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> Il 20/08/23 22:29, T Lee Davidson ha scritto: > Given numerous text files containing one or more ip addresses, I am > trying to extract all matches in a given file not knowing how many > there may be. > > This is the regular expression I am using: > hRegExp.Compile("(?:IP address: > (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))") > > I have tried compiling with and without RegExp.DotAll, repeating the > non-captured group with "+", adding ".*" at beginning and end, and > various other quantifiers and pattern tweaks I can't even remember now. > > But, no matter what, only the first match is returned. > > Something like that? Public Sub Main() ? Dim sText As String = "abcdefty 192.15.122.38. dertgbjo 192.1.34.1. greantyop 189.1.76.238. zxcvbqerty 12.15.11.1. sawqrtui 255.7.6.138." ? Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" ? Dim sSplit As String[] ? Dim hRegExp As New RegExp ? hRegExp.Compile(sExp) ? Try hRegExp.Exec(sText) ? If Error Then ???? Print ("#ERROR") ???? Return ? Endif ? sSplit = Split(sText, " ", Null, True) ? Stop ? For i As Integer = 0 To sSplit.Max ??? hRegExp.Exec(sSplit[i]) ??? Print hRegExp.Text;; ? Next End Regards Gianluigi From bsteers4 at gmail.com Mon Aug 21 01:59:53 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 21 Aug 2023 00:59:53 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: On Sun, 20 Aug 2023 at 22:21, Bruce Steers wrote: > Mine does not compile now. > > I get this error.... > > > Making install in db > /usr/bin/mkdir -p '/usr/lib/gambas3' > ../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' > /usr/bin/mkdir -p '/usr/lib/gambas3' > /bin/bash ../../libtool --silent --mode=install ../.././install-sh -c > gb.db.la '/usr/lib/gambas3' > > Compiling 'gb.db' component... > OK > Installing 'gb.db' component... > /bin/bash: line 12: ../.././install-sh: No such file or directory > make[5]: *** [Makefile:909: install-data-hook] Error 127 > make[4]: *** [Makefile:825: install-data-am] Error 2 > make[3]: *** [Makefile:765: install-am] Error 2 > make[2]: *** [Makefile:421: install-recursive] Error 1 > make[1]: *** [Makefile:469: install-recursive] Error 1 > make: *** [Makefile:446: install-recursive] Error 1 > > Respects > BruceS > I've attached the output log from compiling.. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasCompilerInstall.log Type: text/x-log Size: 98850 bytes Desc: not available URL: From westozscribe at gmail.com Mon Aug 21 03:52:26 2023 From: westozscribe at gmail.com (Ian Roper) Date: Mon, 21 Aug 2023 09:52:26 +0800 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: References: Message-ID: <362bbb03-989a-6347-cca7-ba3d9cfe5298@gmail.com> This would be appreciated. The current default icons set in LibraOffice is almost invisible. IR On 21/8/23 12:12 am, Beno?t Minisini wrote: > Hi, > > I'm currently doing a Gambas icons set for LibreOffice, based on the > new Gambas Thin icon set. > > Is anyone interested? > > I can actually make another one based on standard Gambas icon set too. > > Regards, > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From t.lee.davidson at gmail.com Mon Aug 21 05:10:38 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 20 Aug 2023 23:10:38 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> Message-ID: <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> On 8/20/23 18:42, Gianluigi wrote: > Something like that? > > Public Sub Main() > > ? Dim sText As String = "abcdefty 192.15.122.38. dertgbjo 192.1.34.1. greantyop 189.1.76.238. zxcvbqerty 12.15.11.1. sawqrtui > 255.7.6.138." > ? Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" > ? Dim sSplit As String[] > ? Dim hRegExp As New RegExp > > ? hRegExp.Compile(sExp) > ? Try hRegExp.Exec(sText) > ? If Error Then > ???? Print ("#ERROR") > ???? Return > ? Endif > > ? sSplit = Split(sText, " ", Null, True) > ? Stop > ? For i As Integer = 0 To sSplit.Max > ??? hRegExp.Exec(sSplit[i]) > ??? Print hRegExp.Text;; > ? Next > > End > > Regards > > Gianluigi Well, not exactly, but I thank you for trying. The text to parse actually looks more like this: A bunch of multi-line text to ignore. IP address: 192.15.122.38 More multi-line text to ignore. IP address: 192.1.34.1 More multi-line blah blah blah. IP address: 189.1.76.238 There are other places in the text where an IP address pattern could occur, but I need only the address on lines that start with "IP address:". That's why I was using the pattern: "(?:IP address: (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))" I have accomplished what I needed by parsing the text line by line and testing if the line Begins with "IP address:". But, it just seems there should be some way to tell Gambas to do a global match, as in other languages, instead of simply returning the first match. Or, perhaps I don't know regular expressions as well as I'd like, and I am missing something in my pattern. I didn't mention it previously, but I did try with the RegExp.MultiLine compile option which also seemed to make no difference. -- Lee From gradobag at gradobag.it Mon Aug 21 09:03:52 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 09:03:52 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> Message-ID: <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> Il 21/08/23 05:10, T Lee Davidson ha scritto: > On 8/20/23 18:42, Gianluigi wrote: >> Something like that? >> >> Public Sub Main() >> >> ?? Dim sText As String = "abcdefty 192.15.122.38. dertgbjo >> 192.1.34.1. greantyop 189.1.76.238. zxcvbqerty 12.15.11.1. sawqrtui >> 255.7.6.138." >> ?? Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" >> ?? Dim sSplit As String[] >> ?? Dim hRegExp As New RegExp >> >> ?? hRegExp.Compile(sExp) >> ?? Try hRegExp.Exec(sText) >> ?? If Error Then >> ????? Print ("#ERROR") >> ????? Return >> ?? Endif >> >> ?? sSplit = Split(sText, " ", Null, True) >> ?? Stop >> ?? For i As Integer = 0 To sSplit.Max >> ???? hRegExp.Exec(sSplit[i]) >> ???? Print hRegExp.Text;; >> ?? Next >> >> End >> >> Regards >> >> Gianluigi > > > Well, not exactly, but I thank you for trying. > > The text to parse actually looks more like this: > A bunch of multi-line text to ignore. > IP address: 192.15.122.38 > More multi-line text to ignore. > IP address: 192.1.34.1 > More multi-line blah blah blah. > IP address: 189.1.76.238 > > There are other places in the text where an IP address pattern could > occur, but I need only the address on lines that start with "IP > address:". That's why I was using the pattern: "(?:IP address: > (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))" > > I have accomplished what I needed by parsing the text line by line and > testing if the line Begins with "IP address:". But, it just seems > there should be some way to tell Gambas to do a global match, as in > other languages, instead of simply returning the first match. Or, > perhaps I don't know regular expressions as well as I'd like, and I am > missing something in my pattern. > > I didn't mention it previously, but I did try with the > RegExp.MultiLine compile option which also seemed to make no difference. > > Then you need to do this (I attach the example): Public Sub Main() ? Dim sText As String = File.Load("./Text1") ? Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" ? Dim sSplit As String[] ? Dim sReturn As String ? Dim hRegExp As New RegExp ? hRegExp.Compile(sExp) ? Try hRegExp.Exec(sText) ? If Error Then ???? Print "#ERROR" ???? Return ? Endif ? sSplit = Split(sText, "\n", Null, True) ? For i As Integer = 0 To sSplit.Max ??? hRegExp.Exec(sSplit[i]) ??? sReturn &= hRegExp.Text & " " ? Next ? sSplit = Split(sReturn, " ", Null, True, True) ? For i = 0 To sSplit.Max ??? Print "IP address: " & sSplit[i] ? Next End Regards Gianluigi -------------- next part -------------- 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 CEc4whH+Xfgv2hN81QB4AAA= From gradobag at gradobag.it Mon Aug 21 09:45:18 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 09:45:18 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> Message-ID: <3aba70a9-c12d-28f3-14e6-5558c436df94@gradobag.it> Il 21/08/23 09:03, Gianluigi ha scritto: > sSplit = Split(sReturn, " ", Null, True, True) I exaggerated with the True, it should be sSplit = Split(sReturn, " ", Null, True) From gradobag at gradobag.it Mon Aug 21 11:12:51 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 11:12:51 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <3aba70a9-c12d-28f3-14e6-5558c436df94@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <3aba70a9-c12d-28f3-14e6-5558c436df94@gradobag.it> Message-ID: Il 21/08/23 09:45, Gianluigi ha scritto: > Il 21/08/23 09:03, Gianluigi ha scritto: >> sSplit = Split(sReturn, " ", Null, True, True) > > I exaggerated with the True, it should be > > sSplit = Split(sReturn, " ", Null, True) > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Lee, My explanation: Compile is for making a template for use with Exec. Exec only works in a loop. Regular expressions are powerful but slow and should be minimized. Gambas is fast. But maybe I just said bullshit :-) Regards Gianluigi From bsteers4 at gmail.com Mon Aug 21 13:19:25 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 21 Aug 2023 12:19:25 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: On Mon, 21 Aug 2023 at 00:59, Bruce Steers wrote: > > > On Sun, 20 Aug 2023 at 22:21, Bruce Steers wrote: > >> Mine does not compile now. >> >> I get this error.... >> >> >> Making install in db >> /usr/bin/mkdir -p '/usr/lib/gambas3' >> ../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' >> /usr/bin/mkdir -p '/usr/lib/gambas3' >> /bin/bash ../../libtool --silent --mode=install ../.././install-sh -c >> gb.db.la '/usr/lib/gambas3' >> >> Compiling 'gb.db' component... >> OK >> Installing 'gb.db' component... >> /bin/bash: line 12: ../.././install-sh: No such file or directory >> make[5]: *** [Makefile:909: install-data-hook] Error 127 >> make[4]: *** [Makefile:825: install-data-am] Error 2 >> make[3]: *** [Makefile:765: install-am] Error 2 >> make[2]: *** [Makefile:421: install-recursive] Error 1 >> make[1]: *** [Makefile:469: install-recursive] Error 1 >> make: *** [Makefile:446: install-recursive] Error 1 >> >> Respects >> BruceS >> > > I've attached the output log from compiling.. > > Respects > BruceS > Never mind I just tried gambas/gambas.git master and got no problems and my branches gitlab CI is okay so clearly a problem with my local folder. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Aug 21 13:51:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 21 Aug 2023 12:51:37 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: On Mon, 21 Aug 2023 at 12:19, Bruce Steers wrote: > > > On Mon, 21 Aug 2023 at 00:59, Bruce Steers wrote: > >> >> >> On Sun, 20 Aug 2023 at 22:21, Bruce Steers wrote: >> >>> Mine does not compile now. >>> >>> I get this error.... >>> >>> >>> Making install in db >>> /usr/bin/mkdir -p '/usr/lib/gambas3' >>> ../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' >>> /usr/bin/mkdir -p '/usr/lib/gambas3' >>> /bin/bash ../../libtool --silent --mode=install ../.././install-sh -c >>> gb.db.la '/usr/lib/gambas3' >>> >>> Compiling 'gb.db' component... >>> OK >>> Installing 'gb.db' component... >>> /bin/bash: line 12: ../.././install-sh: No such file or directory >>> make[5]: *** [Makefile:909: install-data-hook] Error 127 >>> make[4]: *** [Makefile:825: install-data-am] Error 2 >>> make[3]: *** [Makefile:765: install-am] Error 2 >>> make[2]: *** [Makefile:421: install-recursive] Error 1 >>> make[1]: *** [Makefile:469: install-recursive] Error 1 >>> make: *** [Makefile:446: install-recursive] Error 1 >>> >>> Respects >>> BruceS >>> >> >> I've attached the output log from compiling.. >> >> Respects >> BruceS >> > > Never mind I just tried gambas/gambas.git master and got no problems and > my branches gitlab CI is okay so clearly a problem with my local folder. > Well that was just weird. I had to sudo ./configure for it not to give permission errors then "make install" worked okay again. Never had an issue like that before. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Aug 21 14:09:06 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 14:09:06 +0200 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: <03c14b07-74b7-c395-f6d6-90e36e7caa5e@gradobag.it> Il 21/08/23 13:51, Bruce Steers ha scritto: > Well that was just weird. > > I had to sudo ./configure for it not to give permission errors then > "make install" worked okay again. > > Never had an issue like that before Hi Bruce, When I update, to avoid problems, these are my steps (this is also due to my low comprehension of GIT): $ cd gambasdevel? <--- The folder containing the Git Master clone $ sudo make uninstall $ cd $ rm -rf olddevel/ <--- The folder containing the previous clone $ mv gambasdevel olddevel $ git clone --depth=1 https://gitlab.com/gambas/gambas.git gambasdevel $ cd gambasdevel $ ./reconf-all && ./configure -C $ make && LANG="C" sudo make install With these steps, I have never had updated problems. With Best Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Aug 21 14:18:56 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 21 Aug 2023 14:18:56 +0200 Subject: [Gambas-user] Problem updating gambas In-Reply-To: References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> Message-ID: <20749051-cb53-ff2c-d4da-ac6cdbe7619a@gambas-basic.org> Le 21/08/2023 ? 13:19, Bruce Steers a ?crit?: > > Mine does not compile now. > > I get this error.... > > > Making install in db > ?/usr/bin/mkdir -p '/usr/lib/gambas3' > ?../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' > ?/usr/bin/mkdir -p '/usr/lib/gambas3' > ?/bin/bash ../../libtool --silent ?--mode=install > ../.././install-sh -c gb.db.la '/usr/lib/gambas3' > > Compiling 'gb.db' component... > OK > Installing 'gb.db' component... > /bin/bash: line 12: ../.././install-sh: No such file or directory > make[5]: *** [Makefile:909: install-data-hook] Error 127 > make[4]: *** [Makefile:825: install-data-am] Error 2 > make[3]: *** [Makefile:765: install-am] Error 2 > make[2]: *** [Makefile:421: install-recursive] Error 1 > make[1]: *** [Makefile:469: install-recursive] Error 1 > make: *** [Makefile:446: install-recursive] Error 1 > > Respects > BruceS > > > I've attached the output log from compiling.. > > Respects > BruceS > > > Never mind I just tried gambas/gambas.git master and got no problems and > my branches gitlab CI? is okay so clearly a problem with my local folder. > > Respects > BruceS > At each commit, Gambas is entirely recompiled and installed from scratch on fifteen different systems by GitLab Continuous Integration system. So if you go to GitLab and see that all pipelines passed without any error, you are almost sure that the problem is on your own system! Regards, -- Beno?t Minisini. From gradobag at gradobag.it Mon Aug 21 14:27:45 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 14:27:45 +0200 Subject: [Gambas-user] Problem updating gambas In-Reply-To: <03c14b07-74b7-c395-f6d6-90e36e7caa5e@gradobag.it> References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> <03c14b07-74b7-c395-f6d6-90e36e7caa5e@gradobag.it> Message-ID: Il 21/08/23 14:09, Gianluigi ha scritto: > $ rm -rf olddevel/ <--- The folder containing the previous clone > > $ mv gambasdevel olddevel I forgot, this is normal practice, in your case you don't have to save the old Gambas that doesn't work. Instead of rm -rf olddevel/ and mv gambasdevel olddevel, you should give rm -rf gambasdevel/ Regards Gianluigi From bsteers4 at gmail.com Mon Aug 21 14:31:27 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 21 Aug 2023 13:31:27 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: <03c14b07-74b7-c395-f6d6-90e36e7caa5e@gradobag.it> References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> <03c14b07-74b7-c395-f6d6-90e36e7caa5e@gradobag.it> Message-ID: On Mon, 21 Aug 2023 at 13:10, Gianluigi wrote: > Il 21/08/23 13:51, Bruce Steers ha scritto: > > Well that was just weird. > > I had to sudo ./configure for it not to give permission errors then "make > install" worked okay again. > > Never had an issue like that before > > Hi Bruce, > > When I update, to avoid problems, these are my steps (this is also due to > my low comprehension of GIT): > > $ cd gambasdevel <--- The folder containing the Git Master clone > > $ sudo make uninstall > > $ cd > > $ rm -rf olddevel/ <--- The folder containing the previous clone > > $ mv gambasdevel olddevel > > $ git clone --depth=1 https://gitlab.com/gambas/gambas.git gambasdevel > > $ cd gambasdevel > > $ ./reconf-all && ./configure -C > > $ make && LANG="C" sudo make install > > With these steps, I have never had updated problems. > > With Best Regards > > Gianluigi > I think it was because the drive my gambas stuff sits on was mounted at startup and root was the owner and nothing i did changed owner of disk/folders/files from root to me. I found some info online saying about adding the following to fstab in the disk mounting line... umask=007,uid=1000,gid=1000 i used ubuntu disk utility to set it (see pic) Now finally root is not owner of the disk and ./configure works fine. what's odd is i have never had a problem before and didn't really change anything (apart from usual updating with apt). Then all of a sudden yesterday i started getting this permissions error with ./configure. my guess is a linux/mint update changed something in permission giving. Thanks anyway :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 63232 bytes Desc: not available URL: From bsteers4 at gmail.com Mon Aug 21 14:40:28 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 21 Aug 2023 13:40:28 +0100 Subject: [Gambas-user] Problem updating gambas In-Reply-To: <20749051-cb53-ff2c-d4da-ac6cdbe7619a@gambas-basic.org> References: <0f0a8eb8-4337-ba06-8431-ac421a967198@gambas-basic.org> <20749051-cb53-ff2c-d4da-ac6cdbe7619a@gambas-basic.org> Message-ID: On Mon, 21 Aug 2023 at 13:19, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 21/08/2023 ? 13:19, Bruce Steers a ?crit : > > > > Mine does not compile now. > > > > I get this error.... > > > > > > Making install in db > > /usr/bin/mkdir -p '/usr/lib/gambas3' > > ../.././install-sh -c -m 644 gb.db.component '/usr/lib/gambas3' > > /usr/bin/mkdir -p '/usr/lib/gambas3' > > /bin/bash ../../libtool --silent --mode=install > > ../.././install-sh -c gb.db.la > '/usr/lib/gambas3' > > > > Compiling 'gb.db' component... > > OK > > Installing 'gb.db' component... > > /bin/bash: line 12: ../.././install-sh: No such file or directory > > make[5]: *** [Makefile:909: install-data-hook] Error 127 > > make[4]: *** [Makefile:825: install-data-am] Error 2 > > make[3]: *** [Makefile:765: install-am] Error 2 > > make[2]: *** [Makefile:421: install-recursive] Error 1 > > make[1]: *** [Makefile:469: install-recursive] Error 1 > > make: *** [Makefile:446: install-recursive] Error 1 > > > > Respects > > BruceS > > > > > > I've attached the output log from compiling.. > > > > Respects > > BruceS > > > > > > Never mind I just tried gambas/gambas.git master and got no problems and > > my branches gitlab CI is okay so clearly a problem with my local folder. > > > > Respects > > BruceS > > > > At each commit, Gambas is entirely recompiled and installed from scratch > on fifteen different systems by GitLab Continuous Integration system. > > So if you go to GitLab and see that all pipelines passed without any > error, you are almost sure that the problem is on your own system! > > Regards, > > -- > Beno?t Minisini. > Yes sorry Ben i was a bit slow to figure that out :-\ But after i did I found i could compile a folder downloaded into $HOME but not to the disk where the folder usually is. Suddenly i got permission errors from ./configure that i never had before! , but sorted it out by gaining ownership of the disk in question. Respects. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon Aug 21 15:28:11 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 21 Aug 2023 09:28:11 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> Message-ID: <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> On 8/21/23 03:03, Gianluigi wrote: > Then?you?need?to?do?this?(I?attach?the?example): > > Public?Sub?Main() > > ??Dim?sText?As?String?=?File.Load("./Text1") > ??Dim?sExp?As?String?=?"(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" > ??Dim?sSplit?As?String[] > ??Dim?sReturn?As?String > ??Dim?hRegExp?As?New?RegExp > > ??hRegExp.Compile(sExp) > ??Try?hRegExp.Exec(sText) > ??If?Error?Then > ?????Print?"#ERROR" > ?????Return > ??Endif > > ??sSplit?=?Split(sText,?"\n",?Null,?True) > ??For?i?As?Integer?=?0?To?sSplit.Max > ????hRegExp.Exec(sSplit[i]) > ????sReturn?&=?hRegExp.Text?&?"?" > ??Next > > ??sSplit?=?Split(sReturn,?"?",?Null,?True,?True) > ??For?i?=?0?To?sSplit.Max > ????Print?"IP?address:?"?&?sSplit[i] > ??Next > > End > > Regards > > Gianluigi I haven't tried that, but I'm sure it would work. If I have to parse each text file line by line, then I don't even need to use RegExp. I can simply find the lines like, "IP address: x.x.x.x", Split them on the colon and take the second index of the resulting string array (or find the colon with Instr and then use Mid to take the address which is to the right of the colon). That is, in fact, what I have done as I couldn't get RegExp to do what I wanted and didn't want to switch to Python. I was hoping to be able to do a RegExp global match on the entire text without having to parse it line by line. -- Lee From gradobag at gradobag.it Mon Aug 21 17:16:44 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 17:16:44 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> Message-ID: <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> Il 21/08/23 15:28, T Lee Davidson ha scritto: > On 8/21/23 03:03, Gianluigi wrote: >> Then?you?need?to?do?this?(I?attach?the?example): >> >> Public?Sub?Main() >> >> ???Dim?sText?As?String?=?File.Load("./Text1") >> ???Dim?sExp?As?String?=?"(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" >> ???Dim?sSplit?As?String[] >> ???Dim?sReturn?As?String >> ???Dim?hRegExp?As?New?RegExp >> >> ???hRegExp.Compile(sExp) >> ???Try?hRegExp.Exec(sText) >> ???If?Error?Then >> ??????Print?"#ERROR" >> ??????Return >> ???Endif >> >> ???sSplit?=?Split(sText,?"\n",?Null,?True) >> ???For?i?As?Integer?=?0?To?sSplit.Max >> ?????hRegExp.Exec(sSplit[i]) >> ?????sReturn?&=?hRegExp.Text?&?"?" >> ???Next >> >> ???sSplit?=?Split(sReturn,?"?",?Null,?True,?True) >> ???For?i?=?0?To?sSplit.Max >> ?????Print?"IP?address:?"?&?sSplit[i] >> ???Next >> >> End >> >> Regards >> >> Gianluigi > > I haven't tried that, but I'm sure it would work. > > If I have to parse each text file line by line, then I don't even need > to use RegExp. I can simply find the lines like, "IP address: > x.x.x.x", Split them on the colon and take the second index of the > resulting string array (or find the colon with Instr and then use Mid > to take the address which is to the right of the colon). > > That is, in fact, what I have done as I couldn't get RegExp to do what > I wanted and didn't want to switch to Python. > > I was hoping to be able to do a RegExp global match on the entire text > without having to parse it line by line. > > Hi, I don't know what's behind the Python code, probably a loop since that's what C seems to do. I hope Benoit answers this. However that he is already ready or that you do it, believe me that with Gambas it is very fast and probably my code can be improved. I was hoping for once that I was the one useful to the other :-( Regards Gianluigi From ea7dfh at ea7dfh.com Mon Aug 21 18:03:09 2023 From: ea7dfh at ea7dfh.com (Jesus Guardon) Date: Mon, 21 Aug 2023 18:03:09 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> Message-ID: <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> El 21/8/23 a las 15:28, T Lee Davidson escribi?: > > That is, in fact, what I have done as I couldn't get RegExp to do what I > wanted and didn't want to switch to Python. > > I was hoping to be able to do a RegExp global match on the entire text > without having to parse it line by line. > > Hi, Lee This is what I have came up with using a similar approach, but as a raw regexp. You must adapt and escape to gambas language. ((?:[0-9]{1,3}\.){3}[0-9]{1,3}) The external parenthesis makes the group that captures all matches. Don't forget to apply the "/gmi" modifiers, which stands for "global", "multiline" and case "insensitive", if needed. See it working in my example: https://regex101.com/r/41vaTw/1 All matches should be accessible as an array, if I am not mistaken. Please, test it and report back if it worked for you. On the other hand, there are other ways to write the regexp to be more accurate and look for an actual (valid) IPv4, for example: (?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ But I don't think it's worth it for your needs. From gradobag at gradobag.it Mon Aug 21 23:22:13 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 21 Aug 2023 23:22:13 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> Message-ID: <23cce652-f1bb-1856-b454-f5f7b9a04821@gradobag.it> Il 21/08/23 18:03, Jesus Guardon ha scritto: > Hi, Lee > > This is what I have came up with using a similar approach, but as a > raw regexp. You must adapt and escape to gambas language. Do we really need to forget Gambas for regular expressions? Sure 1350 occurrences in the blink of an eye or maybe less is a poor result. Attached profiling and image Regards Gianluigi -------------- next part -------------- [1] (Main. at init 16624 C= ) (1.Main 2 H=DD48F;ED:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D;D:A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A;D:D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D;A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D:D:A:D;D:A:D:D:A:D;D:A:D:D:AB:DB:DB;D;B:DB:DB:D From t.lee.davidson at gmail.com Tue Aug 22 00:29:47 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 21 Aug 2023 18:29:47 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> Message-ID: <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> On 8/21/23 12:03, Jesus Guardon wrote: > The external parenthesis makes the group that captures all matches. Don't forget to apply the "/gmi" modifiers, which stands for > "global", "multiline"?and?case?"insensitive",?if?needed.?See?it?working?in?my?example: > > https://regex101.com/r/41vaTw/1 Thank you for that pattern, Jesus. It is considerably shorter than the one I was using. But, it still doesn't work in Gambas as there is no Global Match compile option - at least not that I have found. -- Lee From t.lee.davidson at gmail.com Tue Aug 22 00:34:19 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 21 Aug 2023 18:34:19 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> Message-ID: <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> On 8/21/23 11:16, Gianluigi wrote: > I don't know what's behind the Python code, probably a loop since that's what?C?seems?to?do. No, Python doesn't use a loop; it has a Findall function. It is quite simple and works as one would expect. [code] import re f = open("file_with_ip_addresses.txt") addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) for ip in addresses: print(ip) [/code] -- Lee From gradobag at gradobag.it Tue Aug 22 08:50:54 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 08:50:54 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> Message-ID: Il 22/08/23 00:34, T Lee Davidson ha scritto: > On 8/21/23 11:16, Gianluigi wrote: >> I don't know what's behind the Python code, probably a loop since >> that's what?C?seems?to?do. > > No, Python doesn't use a loop; it has a Findall function. It is quite > simple and works as one would expect. > > [code] > import re > > f = open("file_with_ip_addresses.txt") > addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) > for ip in addresses: > ??? print(ip) > [/code] > > Dear Lee, I don't want to be right and the last thing I want to do is argue with those who always help me. I love you and admire your many skills as a programmer. Having said this, I remind you that re.findall is a Python *method*, this means that it iterates over the entire string. Gambas provides you with Compile and Exec to make your re.findall method. I'm not able to try, but if you feel like doing it, it would be interesting to know the result on the same text file. I have tried with Gambas on very large files and it is very fast. With sincere regards Gianluigi From benoit.minisini at gambas-basic.org Tue Aug 22 09:14:53 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 22 Aug 2023 09:14:53 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> Message-ID: Le 22/08/2023 ? 00:34, T Lee Davidson a ?crit?: > On 8/21/23 11:16, Gianluigi wrote: >> I don't know what's behind the Python code, probably a loop since >> that's what?C?seems?to?do. > > No, Python doesn't use a loop; it has a Findall function. It is quite > simple and works as one would expect. > > [code] > import re > > f = open("file_with_ip_addresses.txt") > addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) > for ip in addresses: > ??? print(ip) > [/code] > > Maybe a similar method could be added to the RegExp class? -- Beno?t Minisini. From gradobag at gradobag.it Tue Aug 22 09:24:39 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 09:24:39 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> Message-ID: Il 22/08/23 09:14, Beno?t Minisini ha scritto: > Le 22/08/2023 ? 00:34, T Lee Davidson a ?crit?: >> On 8/21/23 11:16, Gianluigi wrote: >>> I don't know what's behind the Python code, probably a loop since >>> that's what?C?seems?to?do. >> >> No, Python doesn't use a loop; it has a Findall function. It is quite >> simple and works as one would expect. >> >> [code] >> import re >> >> f = open("file_with_ip_addresses.txt") >> addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) >> for ip in addresses: >> ???? print(ip) >> [/code] >> >> > > Maybe a similar method could be added to the RegExp class? > Hi Benoit, if you can do it in Gambas it would be a great thing, but it's okay anyway. So they have no more excuses :-) Best regards Gianluigi From gradobag at gradobag.it Tue Aug 22 11:55:57 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 11:55:57 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> Message-ID: Il 22/08/23 00:34, T Lee Davidson ha scritto: > On 8/21/23 11:16, Gianluigi wrote: >> I don't know what's behind the Python code, probably a loop since >> that's what?C?seems?to?do. > > No, Python doesn't use a loop; it has a Findall function. It is quite > simple and works as one would expect. > > [code] > import re > > f = open("file_with_ip_addresses.txt") > addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) > for ip in addresses: > ??? print(ip) > [/code] > Hi Lee, While we wait for Benoit, let me happy and try my simple function and tell me if it is so slow that it is snubbed. I attach the test project (no effort required) :-) Regards Gianluigi Public Sub Main() ? Dim sText As String = File.Load("./Text1") ? ' Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" ? Dim sExp As String = "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})" ? ' Dim sExp As String = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" ? Dim s As String ? For Each s In SimpleFindAll(sExp, sText) ??? Print s ? Next End Private Sub SimpleFindAll(sPattern As String, sText As String) As String[] ? Dim aReturn As New String[] ? Dim aSplit As String[] ? Dim hRegExp As New RegExp ? hRegExp.Compile(sPattern) ? Try hRegExp.Exec(sText) ? If Error Then ??? Print "#ERROR" ??? Return aReturn ? Endif ? aSplit = Split(sText, "\n", Null, True) ? For i As Integer = 0 To aSplit.Max ??? hRegExp.Exec(aSplit[i]) ??? If hRegExp.Text Then aReturn.Push(hRegExp.Text) ? Next ? Return aReturn End From gradobag at gradobag.it Tue Aug 22 12:01:53 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 12:01:53 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <2a23eda4-4003-d752-3803-cf288bf8663b@gradobag.it> <4323ede4-4f3e-4e23-8586-acbea8645894@gmail.com> Message-ID: Il 22/08/23 11:55, Gianluigi ha scritto: > Il 22/08/23 00:34, T Lee Davidson ha scritto: >> On 8/21/23 11:16, Gianluigi wrote: >>> I don't know what's behind the Python code, probably a loop since >>> that's what?C?seems?to?do. >> >> No, Python doesn't use a loop; it has a Findall function. It is quite >> simple and works as one would expect. >> >> [code] >> import re >> >> f = open("file_with_ip_addresses.txt") >> addresses = re.findall( "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})", f.read() ) >> for ip in addresses: >> ??? print(ip) >> [/code] >> > > Hi Lee, > > While we wait for Benoit, let me happy and try my simple function and > tell me if it is so slow that it is snubbed. > > I attach the test project (no effort required) :-) > > Regards > > Gianluigi Sorry, the forgotten project -------------- next part -------------- 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 9It+0S/6Rb/oF/2iX/SLftH/d/RffSv2lADgAQA= From adamnt42 at gmail.com Tue Aug 22 13:08:19 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 22 Aug 2023 20:38:19 +0930 Subject: [Gambas-user] Safety for collections Message-ID: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> There is probably a simple way to do this, damned if I can see how. I have a collection of things (datObjects) that have a property (ObjectName::string) that in UML terms are Unique and ID. What I am trying to do is prevent the _replacement_ of an object in the collection if the ObjectName is already there. Better still, I'd like to warn the user when they enter the ObjectName that it already exists. The input form has a TextBox for the ObjectName and a "save" button. The latter updates the collection, whose key is the ObjectName, either adding or amending the item in the collection. So I kind of need to do this: 1) Are they really trying to add a new item or update an existing one? If adding then prevent them from overwriting one with the same ObjectName, otherwise if amending then only allow changes to the other data and not the ObjectName. 2) Then update the collection accordingly. Is that clear? It isn't to me. Any input would really be appreciated. b p.s. I am trying to avoid having separate Add and Update buttons for reasons. -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Tue Aug 22 13:18:36 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 22 Aug 2023 20:48:36 +0930 Subject: [Gambas-user] Safety for collections In-Reply-To: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: On 22/8/23 8:38 pm, BB wrote: > > There is probably a simple way to do this, damned if I can see how. > > I have a collection of things (datObjects) that have a property > (ObjectName::string) that in UML terms are Unique and ID. What I am > trying to do is prevent the _replacement_ of an object in the > collection if the ObjectName is already there. Better still, I'd like > to warn the user when they enter the ObjectName that it already exists. > > The input form has a TextBox for the ObjectName and a "save" button. > The latter updates the collection, whose key is the ObjectName, either > adding or amending the item in the collection. So I kind of need to do > this: > > 1) Are they really trying to add a new item or update an existing one? > > If adding then prevent them from overwriting one with the same > ObjectName, otherwise if amending then only allow changes to the other > data and not the ObjectName. > > 2) Then update the collection accordingly. > > Is that clear? It isn't to me. Any input would really be appreciated. > > b > > p.s. I am trying to avoid having separate Add and Update buttons for > reasons. > I may have oversimplified. The basic gen is that there is a form with a list of some type on the left and an "editor" panel on the right. The user clicks on an item in the list and the data for that item is loaded in the editor. Now the quick way for them to add a new item is to click on a similar one, give it a new name and change some of the other data as required, then click the save button. BUT the new name they use may already exist. ... ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Aug 22 13:20:55 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Tue, 22 Aug 2023 13:20:55 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> Message-ID: <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> Le 22/08/2023 ? 00:29, T Lee Davidson a ?crit?: > On 8/21/23 12:03, Jesus Guardon wrote: >> The external parenthesis makes the group that captures all matches. >> Don't forget to apply the "/gmi" modifiers, which stands for "global", >> "multiline"?and?case?"insensitive",?if?needed.?See?it?working?in?my?example: >> >> https://regex101.com/r/41vaTw/1 > > Thank you for that pattern, Jesus. It is considerably shorter than the > one I was using. But, it still doesn't work in Gambas as there is no > Global Match compile option - at least not that I have found. > > Hi, The last commit https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 added a RegExp.FindAll() method. You are welcome to try it and tell me if it behaves as you expected. Thanks. -- Beno?t Minisini. From gradobag at gradobag.it Tue Aug 22 13:36:49 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 13:36:49 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> Message-ID: <76277338-cb38-b80e-9967-f72a42429432@gradobag.it> Il 22/08/23 13:20, Beno?t Minisini ha scritto: > Le 22/08/2023 ? 00:29, T Lee Davidson a ?crit?: >> On 8/21/23 12:03, Jesus Guardon wrote: >>> The external parenthesis makes the group that captures all matches. >>> Don't forget to apply the "/gmi" modifiers, which stands for >>> "global", >>> "multiline"?and?case?"insensitive",?if?needed.?See?it?working?in?my?example: >>> >>> https://regex101.com/r/41vaTw/1 >> >> Thank you for that pattern, Jesus. It is considerably shorter than >> the one I was using. But, it still doesn't work in Gambas as there is >> no Global Match compile option - at least not that I have found. >> >> > > Hi, > > The last commit > https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 > added a RegExp.FindAll() method. > > You are welcome to try it and tell me if it behaves as you expected. > > Thanks. > Hi Benoit, compiling i get this error : Making all in gb.pcre Making all in src ? CC?????? gb_pcre_la-main.lo ? CC?????? gb_pcre_la-regexp2.lo regexp2.c:323:10: fatal error: regexp_common.h: File o directory non esistente ? 323 | #include "regexp_common.h" ????? |????????? ^~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [Makefile:514: gb_pcre_la-regexp2.lo] Errore 1 make[3]: *** [Makefile:447: all-recursive] Errore 1 make[2]: *** [Makefile:379: all] Errore 2 make[1]: *** [Makefile:446: all-recursive] Errore 1 make: *** [Makefile:387: all] Errore 2 Regards Gianluigi From bsteers4 at gmail.com Tue Aug 22 13:41:34 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 22 Aug 2023 12:41:34 +0100 Subject: [Gambas-user] Safety for collections In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: On Tue, 22 Aug 2023 at 12:19, BB wrote: > > On 22/8/23 8:38 pm, BB wrote: > > There is probably a simple way to do this, damned if I can see how. > > I have a collection of things (datObjects) that have a property > (ObjectName::string) that in UML terms are Unique and ID. What I am trying > to do is prevent the *replacement* of an object in the collection if the > ObjectName is already there. Better still, I'd like to warn the user when > they enter the ObjectName that it already exists. > > The input form has a TextBox for the ObjectName and a "save" button. The > latter updates the collection, whose key is the ObjectName, either adding > or amending the item in the collection. So I kind of need to do this: > > 1) Are they really trying to add a new item or update an existing one? > > If adding then prevent them from overwriting one with the same ObjectName, > otherwise if amending then only allow changes to the other data and not the > ObjectName. > > 2) Then update the collection accordingly. > > Is that clear? It isn't to me. Any input would really be appreciated. > > b > > p.s. I am trying to avoid having separate Add and Update buttons for > reasons. > > I may have oversimplified. The basic gen is that there is a form with a > list of some type on the left and an "editor" panel on the right. The user > clicks on an item in the list and the data for that item is loaded in the > editor. Now the quick way for them to add a new item is to click on a > similar one, give it a new name and change some of the other data as > required, then click the save button. BUT the new name they use may already > exist. ... ... > I may not be getting the jist as i only have simple code to suggest.. If datObjects.Exist(sName) Then Dim c As Integer = 2 While dat.Objects.Exist(sName & Str(c)) Inc c Wend sName = sName & Str(c) Endif That'll try Name2, Name3 etc till a free name is found. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Tue Aug 22 14:10:30 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 14:10:30 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <76277338-cb38-b80e-9967-f72a42429432@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <76277338-cb38-b80e-9967-f72a42429432@gradobag.it> Message-ID: <35663a61-76c9-f865-cf33-ea3f5efb27f1@gradobag.it> Il 22/08/23 13:36, Gianluigi ha scritto: > Il 22/08/23 13:20, Beno?t Minisini ha scritto: >> Le 22/08/2023 ? 00:29, T Lee Davidson a ?crit?: >>> On 8/21/23 12:03, Jesus Guardon wrote: >>>> The external parenthesis makes the group that captures all matches. >>>> Don't forget to apply the "/gmi" modifiers, which stands for >>>> "global", >>>> "multiline"?and?case?"insensitive",?if?needed.?See?it?working?in?my?example: >>>> >>>> https://regex101.com/r/41vaTw/1 >>> >>> Thank you for that pattern, Jesus. It is considerably shorter than >>> the one I was using. But, it still doesn't work in Gambas as there >>> is no Global Match compile option - at least not that I have found. >>> >>> >> >> Hi, >> >> The last commit >> https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 >> added a RegExp.FindAll() method. >> >> You are welcome to try it and tell me if it behaves as you expected. >> >> Thanks. >> > Hi Benoit, > > compiling i get this error : > > Making all in gb.pcre > Making all in src > ? CC?????? gb_pcre_la-main.lo > ? CC?????? gb_pcre_la-regexp2.lo > regexp2.c:323:10: fatal error: regexp_common.h: File o directory non > esistente > ? 323 | #include "regexp_common.h" > ????? |????????? ^~~~~~~~~~~~~~~~~ > compilation terminated. > make[4]: *** [Makefile:514: gb_pcre_la-regexp2.lo] Errore 1 > make[3]: *** [Makefile:447: all-recursive] Errore 1 > make[2]: *** [Makefile:379: all] Errore 2 > make[1]: *** [Makefile:446: all-recursive] Errore 1 > make: *** [Makefile:387: all] Errore 2 > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Benoit the test here worked, but it's slower (5x) than the private function. Am I doing something wrong? [code] Public Sub Main() ? Dim sText As String = File.Load("./Text1") ? ' Dim sExp As String = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})" ? Dim sExp As String = "((?:[0-9]{1,3}\\.){3}[0-9]{1,3})" ? ' Dim sExp As String = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" ? Dim s As String ? Dim aFind As String[] ? Dim hRegExp As New RegExp ? aFind = hRegExp.FindAll(sText, sexp, 524288, 4) ? For Each s In aFind ??? Print s ? Next End [code] Regards Gianluigi From gradobag at gradobag.it Tue Aug 22 14:23:28 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 22 Aug 2023 14:23:28 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <35663a61-76c9-f865-cf33-ea3f5efb27f1@gradobag.it> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <76277338-cb38-b80e-9967-f72a42429432@gradobag.it> <35663a61-76c9-f865-cf33-ea3f5efb27f1@gradobag.it> Message-ID: <9c0b51b1-13dc-f088-22ca-31b327bf1a9b@gradobag.it> Il 22/08/23 14:10, Gianluigi ha scritto: > Il 22/08/23 13:36, Gianluigi ha scritto: >> Il 22/08/23 13:20, Beno?t Minisini ha scritto: >>> Le 22/08/2023 ? 00:29, T Lee Davidson a ?crit?: >>>> On 8/21/23 12:03, Jesus Guardon wrote: >>>>> The external parenthesis makes the group that captures all >>>>> matches. Don't forget to apply the "/gmi" modifiers, which stands >>>>> for "global", >>>>> "multiline"?and?case?"insensitive",?if?needed.?See?it?working?in?my?example: >>>>> >>>>> https://regex101.com/r/41vaTw/1 >>>> >>>> Thank you for that pattern, Jesus. It is considerably shorter than >>>> the one I was using. But, it still doesn't work in Gambas as there >>>> is no Global Match compile option - at least not that I have found. >>>> >>>> >>> >>> Hi, >>> >>> The last commit >>> https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 >>> added a RegExp.FindAll() method. >>> >>> You are welcome to try it and tell me if it behaves as you expected. >>> >>> Thanks. >>> >> Hi Benoit, >> >> compiling i get this error : >> >> Making all in gb.pcre >> Making all in src >> ? CC?????? gb_pcre_la-main.lo >> ? CC?????? gb_pcre_la-regexp2.lo >> regexp2.c:323:10: fatal error: regexp_common.h: File o directory non >> esistente >> ? 323 | #include "regexp_common.h" >> ????? |????????? ^~~~~~~~~~~~~~~~~ >> compilation terminated. >> make[4]: *** [Makefile:514: gb_pcre_la-regexp2.lo] Errore 1 >> make[3]: *** [Makefile:447: all-recursive] Errore 1 >> make[2]: *** [Makefile:379: all] Errore 2 >> make[1]: *** [Makefile:446: all-recursive] Errore 1 >> make: *** [Makefile:387: all] Errore 2 >> >> Regards >> >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Benoit > > the test here worked, but it's slower (5x) than the private function. > Am I doing something wrong? > ... Hi Benoit, As my usual I said nonsense, it's faster :-) aFind = hRegExp.FindAll(sText, sExp) Regards Gianluigi From adamnt42 at gmail.com Tue Aug 22 14:27:40 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 22 Aug 2023 21:57:40 +0930 Subject: [Gambas-user] Safety for collections In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: <0065d4ce-fc16-4ef7-6182-5ea39aa65f49@gmail.com> On 22/8/23 9:11 pm, Bruce Steers wrote: > > > On Tue, 22 Aug 2023 at 12:19, BB > wrote: > > > On 22/8/23 8:38 pm, BB wrote: >> >> There is probably a simple way to do this, damned if I can see how. >> >> I have a collection of things (datObjects) that have a property >> (ObjectName::string) that in UML terms are Unique and ID. What I >> am trying to do is prevent the _replacement_ of an object in the >> collection if the ObjectName is already there. Better still, I'd >> like to warn the user when they enter the ObjectName that it >> already exists. >> >> The input form has a TextBox for the ObjectName and a "save" >> button. The latter updates the collection, whose key is the >> ObjectName, either adding or amending the item in the collection. >> So I kind of need to do this: >> >> 1) Are they really trying to add a new item or update an existing >> one? >> >> If adding then prevent them from overwriting one with the same >> ObjectName, otherwise if amending then only allow changes to the >> other data and not the ObjectName. >> >> 2) Then update the collection accordingly. >> >> Is that clear? It isn't to me. Any input would really be appreciated. >> >> b >> >> p.s. I am trying to avoid having separate Add and Update buttons >> for reasons. >> > I may have oversimplified. The basic gen is that there is a form > with a list of some type on the left and an "editor" panel on the > right. The user clicks on an item in the list and the data for > that item is loaded in the editor. Now the quick way for them to > add a new item is to click on a similar one, give it a new name > and change some of the other data as required, then click the save > button. BUT the new name they use may already exist. ... ... > > > I may not be getting the jist as i only have simple code to suggest.. > > If datObjects.Exist(sName) Then > > ? Dim c As Integer = 2 > ? While dat.Objects.Exist(sName & Str(c)) > ??? Inc c > ? Wend > ? sName = sName & Str(c) > Endif > > That'll try Name2, Name3 etc till a free name is found. > > Respects > BruceS > OK, you have given me a start. The real issue is that the structured naming convention was invented by a very clever person from a town in a European country that may-or-may-not end in "ermany" (or "eutschland" if you prefer). A name looks like this "ind_cl3_1x2_E0_03_09". Zounds egad! you may exclaim*. That "_03_" is an index (that indicates a color variant), so I can at least use your idea there. I think that I may have to denature that name into some sort of structure somehow, which is a damn problem as the so called structure seems to be an idea rather than a standard and there are many, lets say, "irregularities" in usage. ? txs b * The "full" explanation of that name is "this is an industrial building in climate zone 3 that occupies 2 building blocks (1 wide by 2 long) that can or was only be built in or after "epoch" 0**, color variant 3 and an 09 something (that is yet to be determined). You can see, I believe why users have some kind of difficulty in creating or copying new names. ** Australia is a wonderful place, there are only two epochs "before" and "after" a certain Captain Arthur Phillip arrived. Actually there are really 3 but I wont go into that piece of political prehistory. -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Tue Aug 22 15:59:47 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Tue, 22 Aug 2023 15:59:47 +0200 Subject: [Gambas-user] this application has raised an unexpected error and must abort Message-ID: <33e34a8cff5bc9ff5fc90b65f4ca328f@tiscali.it> hello, gambas 3.18.0-4 installed on debian bookworm on ARM architecture. when i tri ti cliki on a object of my proget often i get this error on a window that popup:: -------------------------------------------------------------------- this application has raised an unexpected error and must abort Null object(#13). FForm.SelectCurrent.1513 -------------------------------------------------------------------- i can click ignore (and i have back control of IDE) ot close (and gamba3 IDE close) why It happen? Is a problem on my code? how to solve? Thanks, Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Aug 22 18:40:41 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 22 Aug 2023 12:40:41 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> Message-ID: <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> On 8/22/23 07:20, Beno?t Minisini wrote: > Hi, > > The last commit https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 added?a?RegExp.FindAll()?method. > > You?are?welcome?to?try?it?and?tell?me?if?it?behaves?as?you?expected. > > Thanks. That is great! Thank you, Beno?t. I prefer to run the Stable branch installed via the package manager. So, I am in the process of setting up a spare machine with a development environment, as I simply must try this new feature. I will report back. -- Lee From t.lee.davidson at gmail.com Tue Aug 22 18:54:03 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 22 Aug 2023 12:54:03 -0400 Subject: [Gambas-user] Safety for collections In-Reply-To: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: <3be156d2-4416-4ec3-91ad-7b103fefe815@gmail.com> On 8/22/23 07:08, BB wrote: > There is probably a simple way to do this, damned if I can see how. > > I have a collection of things (datObjects) that have a property (ObjectName::string) that in UML terms are Unique and ID. What I > am trying to do is prevent the _replacement_ of an object in the collection if the ObjectName is already there. Better still, > I'd like to warn the user when they enter the ObjectName that it already exists. > > The input form has a TextBox for the ObjectName and a "save" button. The latter updates the collection, whose key is the > ObjectName, either adding or amending the item in the collection. So I kind of need to do this: > > 1) Are they really trying to add a new item or update an existing one? > > If adding then prevent them from overwriting one with the same ObjectName, otherwise if amending then only allow changes to the > other data and not the ObjectName. > > 2) Then update the collection accordingly. > > Is that clear? It isn't to me. Any input would really be appreciated. > > b > > p.s. I am trying to avoid having separate Add and Update buttons for reasons. Perhaps use a global boolean as a semaphore to indicate if the ObjectName field has been changed (using, of course, the TextBox's Change event). Upon clicking "Save", if the name has been changed, then logic would say the user is attempting to Add a new name. So then check to see if the new name already exists and, if so, pop up a form listing similar, existing names so they can create a name that does not exist; or simply let them enter a new name and click a "Check" button which would repopulate the form. The form popped up should have a "Cancel" button that would set the semaphore to False. A successful save should also reset the semaphore. -- Lee From t.lee.davidson at gmail.com Tue Aug 22 19:49:00 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 22 Aug 2023 13:49:00 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> Message-ID: <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> On 8/22/23 12:40, T Lee Davidson wrote: > On 8/22/23 07:20, Beno?t Minisini wrote: >> Hi, >> >> The last commit https://gitlab.com/gambas/gambas/-/commit/61bab1771efd4778ae0bccacdbfdede03c7fdb14 >> added?a?RegExp.FindAll()?method. >> >> You?are?welcome?to?try?it?and?tell?me?if?it?behaves?as?you?expected. >> >> Thanks. > > That is great! Thank you, Beno?t. > > I prefer to run the Stable branch installed via the package manager. So, I am in the process of setting up a spare machine with > a development environment, as I simply must try this new feature. > > I will report back. Hmmm, Gambas doesn't want to compile on the laptop. The compiler seems to think there should be a semi-colon in a #define statment: CXX gb_qt5_la-canimation_moc.lo In file included from canimation.h:27:0, from canimation_moc.cpp:10: ../gambas.h:1323:17: error: expected ?;? at end of member declaration #define toupper GB.ToUpper ^ I'll see about spinning up a virtual machine, but I'm going to do a distribution upgrade first. -- Lee From gambas.fr at gmail.com Wed Aug 23 20:05:25 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 23 Aug 2023 20:05:25 +0200 Subject: [Gambas-user] Safety for collections In-Reply-To: <3be156d2-4416-4ec3-91ad-7b103fefe815@gmail.com> References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> <3be156d2-4416-4ec3-91ad-7b103fefe815@gmail.com> Message-ID: I don't if it is what you mean... for the modified flag it can be in a parallel collection that handle a boolean. Le mar. 22 ao?t 2023 ? 18:55, T Lee Davidson a ?crit : > On 8/22/23 07:08, BB wrote: > > There is probably a simple way to do this, damned if I can see how. > > > > I have a collection of things (datObjects) that have a property > (ObjectName::string) that in UML terms are Unique and ID. What I > > am trying to do is prevent the _replacement_ of an object in the > collection if the ObjectName is already there. Better still, > > I'd like to warn the user when they enter the ObjectName that it already > exists. > > > > The input form has a TextBox for the ObjectName and a "save" button. The > latter updates the collection, whose key is the > > ObjectName, either adding or amending the item in the collection. So I > kind of need to do this: > > > > 1) Are they really trying to add a new item or update an existing one? > > > > If adding then prevent them from overwriting one with the same > ObjectName, otherwise if amending then only allow changes to the > > other data and not the ObjectName. > > > > 2) Then update the collection accordingly. > > > > Is that clear? It isn't to me. Any input would really be appreciated. > > > > b > > > > p.s. I am trying to avoid having separate Add and Update buttons for > reasons. > > Perhaps use a global boolean as a semaphore to indicate if the ObjectName > field has been changed (using, of course, the > TextBox's Change event). > > Upon clicking "Save", if the name has been changed, then logic would say > the user is attempting to Add a new name. So then check > to see if the new name already exists and, if so, pop up a form listing > similar, existing names so they can create a name that > does not exist; or simply let them enter a new name and click a "Check" > button which would repopulate the form. > > The form popped up should have a "Cancel" button that would set the > semaphore to False. A successful save should also reset the > semaphore. > > > -- > Lee > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: democollection-0.0.1.tar.gz Type: application/gzip Size: 12190 bytes Desc: not available URL: From gambas.fr at gmail.com Wed Aug 23 20:44:12 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 23 Aug 2023 20:44:12 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: <362bbb03-989a-6347-cca7-ba3d9cfe5298@gmail.com> References: <362bbb03-989a-6347-cca7-ba3d9cfe5298@gmail.com> Message-ID: Le lun. 21 ao?t 2023 ? 03:53, Ian Roper a ?crit : > This would be appreciated. > > The current default icons set in LibraOffice is almost invisible. > Yes I'm agree too -- Fabien -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Aug 23 21:11:49 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 23 Aug 2023 15:11:49 -0400 Subject: [Gambas-user] Safety for collections In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> <3be156d2-4416-4ec3-91ad-7b103fefe815@gmail.com> Message-ID: <08e0c519-4c16-4623-925e-a02dce995220@gmail.com> On 8/23/23 14:05, Fabien Bodard wrote: > I don't if it is what you mean... for the modified flag it can be in a parallel?collection that handle a boolean. > > Le?mar. 22 ao?t 2023 ??18:55, T Lee Davidson > a ?crit?: > [snip] > > Perhaps use a global boolean as a semaphore to indicate if the ObjectName field has been changed (using, of course, the > TextBox's Change event). > > Upon clicking "Save", if the name has been changed, then logic would say the user is attempting to Add a new name. So then > check > to see if the new name already exists and, if so, pop up a form listing similar, existing names so they can create a name that > does not exist; or simply let them enter a new name and click a "Check" button which would repopulate the form. > > The form popped up should have a "Cancel" button that would set the semaphore to False. A successful save should also reset the > semaphore. > > > -- > Lee > > -- > Fabien Bodard No, that's not exactly what I meant. I meant use a (Public or Private) boolean with Class or Module scope, for example: Public bNameChanged as Boolean Then: Public Sub txtObjectName_Change () bNameChanged = True End Then when "Save" button is clicked: Public Sub btnSave_Click() If bNameChanged Then ' Check if name already exists and act accordingly. Endif End And, I think that checking if the object name already exists at *every* Change event might be annoying to the user that hasn't even entered the complete name yet. -- Lee From t.lee.davidson at gmail.com Wed Aug 23 21:25:11 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 23 Aug 2023 15:25:11 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> Message-ID: On 8/22/23 13:49, T Lee Davidson wrote: > Hmmm,?Gambas?doesn't?want?to?compile?on?the?laptop.?The?compiler?seems?to?think?there?should?be?a?semi-colon?in?a?#define?statment: > ??CXX??????gb_qt5_la-canimation_moc.lo > In?file?included?from?canimation.h:27:0, > ?????????????????from?canimation_moc.cpp:10: > ../gambas.h:1323:17:?error:?expected??;??at?end?of?member?declaration > ?#define?toupper?GB.ToUpper > ?????????????????^ > I'll?see?about?spinning?up?a?virtual?machine,?but?I'm?going?to?do?a?distribution?upgrade?first. Gambas also doesn't want to compile on a Virtuabox VM or even my desktop. Beno?t, I am sending you the troubleshooting log privately. -- Lee From benoit.minisini at gambas-basic.org Wed Aug 23 21:31:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 23 Aug 2023 21:31:42 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> Message-ID: Le 23/08/2023 ? 21:25, T Lee Davidson a ?crit?: > On 8/22/23 13:49, T Lee Davidson wrote: >> Hmmm,?Gambas?doesn't?want?to?compile?on?the?laptop.?The?compiler?seems?to?think?there?should?be?a?semi-colon?in?a?#define?statment: >> ???CXX??????gb_qt5_la-canimation_moc.lo >> In?file?included?from?canimation.h:27:0, >> ??????????????????from?canimation_moc.cpp:10: >> ../gambas.h:1323:17:?error:?expected??;??at?end?of?member?declaration >> ??#define?toupper?GB.ToUpper >> ??????????????????^ >> I'll?see?about?spinning?up?a?virtual?machine,?but?I'm?going?to?do?a?distribution?upgrade?first. > > Gambas also doesn't want to compile on a Virtuabox VM or even my desktop. > > Beno?t, I am sending you the troubleshooting log privately. > If you use one of the fifteen systems checked by GitLab Continuous Integration, you should have no problem. Regards, -- Beno?t Minisini. From gradobag at gradobag.it Wed Aug 23 23:39:58 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 23 Aug 2023 23:39:58 +0200 Subject: [Gambas-user] DataSource Save and DataBrowser Find malfunktions Message-ID: Hi Benoit, aren't you the one who wants separate reports for each malfunction? Are you interested or not in having the Gambas OMR Working? Watch this video and, if you like, try to fix it: https://paste.c-net.org/ShoveRawley Good night and Regards Gianluigi From benoit.minisini at gambas-basic.org Wed Aug 23 23:44:45 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 23 Aug 2023 23:44:45 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: References: Message-ID: Le 20/08/2023 ? 18:12, Beno?t Minisini a ?crit?: > Hi, > > I'm currently doing a Gambas icons set for LibreOffice, based on the new > Gambas Thin icon set. > > Is anyone interested? > > I can actually make another one based on standard Gambas icon set too. > > Regards, > Here is my work in progress. https://we.tl/t-dK40VPbkDf Install the extension by clicking on "Extension manager..." in the "Tools" menu. It's far from being finished. The most complete part is LibreOffice Writer. Enjoy! -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Aug 23 23:54:20 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 23 Aug 2023 23:54:20 +0200 Subject: [Gambas-user] DataSource Save and DataBrowser Find malfunktions In-Reply-To: References: Message-ID: <7196f46d-857d-1289-8db9-4d70b5a735f5@gambas-basic.org> Le 23/08/2023 ? 23:39, Gianluigi a ?crit?: > Hi Benoit, > > aren't you the one who wants separate reports for each malfunction? > > Are you interested or not in having the Gambas OMR Working? I marked the bug as duplicate, because this is the same error that occurs from two different paths. > > Watch this video and, if you like, try to fix it: > > https://paste.c-net.org/ShoveRawley > > Good night and Regards > > Gianluigi > Thanks for the video. Can you try by setting 'DB.Debug = True' at program start? I need that only for the MySQL case. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Aug 23 23:57:00 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 23 Aug 2023 23:57:00 +0200 Subject: [Gambas-user] DataSource Save and DataBrowser Find malfunktions In-Reply-To: <7196f46d-857d-1289-8db9-4d70b5a735f5@gambas-basic.org> References: <7196f46d-857d-1289-8db9-4d70b5a735f5@gambas-basic.org> Message-ID: > > Thanks for the video. Can you try by setting 'DB.Debug = True' at > program start? I need that only for the MySQL case. > Can you try 'DB.Debug = True' with PostgreSQL too? Only when you save the date and you get the "Type mismatch error". Note that I don't have any error on my PostgreSQL here, strange! Regards, -- Beno?t Minisini. From gradobag at gradobag.it Thu Aug 24 00:46:25 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 24 Aug 2023 00:46:25 +0200 Subject: [Gambas-user] DataSource Save and DataBrowser Find malfunktions In-Reply-To: References: <7196f46d-857d-1289-8db9-4d70b5a735f5@gambas-basic.org> Message-ID: <4e76f080-2ad7-491e-d575-347fd980fa79@gradobag.it> Il 23/08/23 23:57, Beno?t Minisini ha scritto: >> >> Thanks for the video. Can you try by setting 'DB.Debug = True' at >> program start? I need that only for the MySQL case. >> > > Can you try 'DB.Debug = True' with PostgreSQL too? Only when you save > the date and you get the "Type mismatch error". > > Note that I don't have any error on my PostgreSQL here, strange! > > Regards, > Hi Benoit, In addition to the mysql output, I also send you the postgres output, see attachments. The test user was created as follows: CREATE ROLE test WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'test'; Since I'm doing the tests on a newly installed virtual machine, in addition to the console output, I'm also attaching the bash history(*) Now I'm going to sleep if we need more proof we'll update tomorrow Good night Gianluigi (*) tester at tester-VirtualBox:~$ history ??? 1? sudo install dkms linux-headers-$(uname -r) build-essential ??? 2? sudo adduser tester vboxsf ??? 3? reboot ??? 4? sudo adduser tester vboxsf ??? 5? sudo apt install 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-3.0-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 ??? 6? git clone --depth=1 https://gitlab.com/gambas/gambas.git gambasdevel ??? 7? cd gambasdevel ??? 8? ./reconf-all && ./configure -C ??? 9? make && LANG="C" sudo make install ?? 10? sudo apt-get install postgresql postgresql-contrib ?? 11? cd /etc/postgresql/14/main ?? 12? sudo -u postgres vi pg_hba.conf ?? 13? sudo service postgresql reload ?? 14? psql -U postgres -d template1 ?? 15? sudo -u postgres vi pg_hba.conf ?? 16? sudo service postgresql reload ?? 17? psql -U postgres -d template1 ?? 18? sudo -u postgres vi pg_hba.conf (cambiato su md5) ?? 19? sudo service postgresql reload ?? 20? psql -U postgres -d template1 ?? 21? cd ?? 22? sudo apt-get update ?? 23? sudo apt-get upgrade ?? 24? sudo apt-get install mysql-server ?? 25? systemctl status mysql | grep 'Status' (Status: "Server is operational") ?? 26? sudo mysql ?? 27? mysql -u root -p ?? 28? cd gambasdevel ?? 29? sudo make uninstall ?? 30? cd ?? 31? rm -rf olddevel/ ?? 32? mv gambasdevel olddevel ?? 33? git clone --depth=1 https://gitlab.com/gambas/gambas.git gambasdevel ?? 34? cd gambasdevel ?? 35? ./reconf-all && ./configure -C ?? 36? make && LANG="C" sudo make install ?? 37? cd gambasdevel ?? 38? sudo make uninstall ?? 39? cd ?? 40? rm -rf olddevel/ ?? 41? mv gambasdevel olddevel ?? 42? git clone --depth=1 https://gitlab.com/gambas/gambas.git gambasdevel ?? 43? cd gambasdevel ?? 44? ./reconf-all && ./configure -C ?? 45? make && LANG="C" sudo make install ?? 46? history -------------- next part -------------- Output della console: 2023-08-24 00:01:31.473 gb.db.mysql: 0x557fab135fe0: select version() 2023-08-24 00:01:31.478 gb.db.mysql: 0x557fab135fe0: set names 'utf8' 2023-08-24 00:01:31.479 gb.db.mysql: 0x557fab135fe0: show variables like 'character_set_client' 2023-08-24 00:01:31.489 gb.db.mysql: 0x557fab135fe0: drop database `dbflowers` 2023-08-24 00:01:31.539 gb.db.mysql: 0x557fab135fe0: create database `dbflowers` 2023-08-24 00:01:31.562 gb.db.mysql: 0x557fab138da0: select version() 2023-08-24 00:01:31.562 gb.db.mysql: 0x557fab138da0: set names 'utf8' 2023-08-24 00:01:31.562 gb.db.mysql: 0x557fab138da0: show variables like 'character_set_client' 2023-08-24 00:01:31.567 gb.db.mysql: 0x557fab138da0: START TRANSACTION 2023-08-24 00:01:31.567 gb.db.mysql: 0x557fab138da0: show tables 2023-08-24 00:01:31.570 gb.db.mysql: 0x557fab138da0: CREATE TABLE `t_flowers` ( `id_flower` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(32), `date` DATETIME, PRIMARY KEY (`id_flower`) ) 2023-08-24 00:01:31.645 gb.db.mysql: 0x557fab138da0: show full columns from `t_flowers` 2023-08-24 00:01:31.648 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Akelei', '2019-06-04 00:00:00' ) 2023-08-24 00:01:31.662 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Augentrost', '1997-06-16 00:00:00' ) 2023-08-24 00:01:31.678 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Blutstroepfle', '2020-06-03 00:00:00' ) 2023-08-24 00:01:31.695 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Ranunkel', '2018-08-16 00:00:00' ) 2023-08-24 00:01:31.705 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Selaginella', '2009-09-02 00:00:00' ) 2023-08-24 00:01:31.714 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Sonnenblume', '2019-08-13 00:00:00' ) 2023-08-24 00:01:31.723 gb.db.mysql: 0x557fab138da0: COMMIT #Database successfully created! Database is open = True 2023-08-24 00:01:31.746 gb.db.mysql: 0x557fab138da0: show tables 2023-08-24 00:01:31.748 gb.db.mysql: 0x557fab138da0: show index from `t_flowers` 2023-08-24 00:01:31.759 gb.db.mysql: 0x557fab138da0: SELECT COUNT(*) AS nRecord FROM `t_flowers` 2023-08-24 00:01:31.787 gb.db.mysql: 0x557fab138da0: SELECT COUNT(*) AS nRecord FROM `t_flowers` 2023-08-24 00:01:31.802 gb.db.mysql: 0x557fab138da0: SELECT `name`,`id_flower` FROM `t_flowers` ORDER BY `name`,`id_flower` LIMIT 256 2023-08-24 00:01:31.802 gb.db.mysql: 0x557fab138da0: SELECT * FROM `t_flowers` ORDER BY `name`,`id_flower` LIMIT 256 2023-08-24 00:01:55.880 gb.db.mysql: 0x557fab138da0: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Roses', NULL ) RETURNING `id_flower` 2023-08-24 00:02:21.855 gb.db.mysql: 0x557fab138da0: SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY `name`,`id_flower`) AS __index,* FROM `t_flowers`) AS __pg_sucks WHERE name = 'Ranunkel' LIMIT 1 Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `t_flowers`) AS __pg_sucks WHERE name = 'Ranunkel' LIMIT 1' at line 1 Type mismatch: wanted Integer, got Function instead Database is open = False -------------- next part -------------- 2023-08-24 00:15:55.880 gb.db.postgresql: 0x5579473f4e90: select version() 2023-08-24 00:15:55.889 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bool' 2023-08-24 00:15:55.902 gb.db.postgresql: 0x5579473f4e90: --> 16 2023-08-24 00:15:55.902 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int2' 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: --> 21 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int4' 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: --> 23 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int8' 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: --> 20 2023-08-24 00:15:55.903 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'numeric' 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: --> 1700 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'float4' 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: --> 700 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'float8' 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: --> 701 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'abstime' 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:55.904 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'reltime' 2023-08-24 00:15:55.905 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:55.905 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'date' 2023-08-24 00:15:55.905 gb.db.postgresql: 0x5579473f4e90: --> 1082 2023-08-24 00:15:55.905 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'time' 2023-08-24 00:15:55.905 gb.db.postgresql: 0x5579473f4e90: --> 1083 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'timestamp' 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: --> 1114 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'datetime' 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'timestamptz' 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: --> 1184 2023-08-24 00:15:55.906 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bytea' 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: --> 17 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'char' 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: --> 18 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bpchar' 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: --> 1042 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'varchar' 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: --> 1043 2023-08-24 00:15:55.907 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'text' 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: --> 25 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'name' 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: --> 19 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'cash' 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:55.908 gb.db.postgresql: 0x5579473f4e90: show client_encoding 2023-08-24 00:15:55.909 gb.db.postgresql: 0x5579473f4e90: select datname from pg_database where (datallowconn = 't') and (datname = 'dbflowers') 2023-08-24 00:15:55.909 gb.db.postgresql: 0x5579473f4e90: select datname from pg_database where (datallowconn = 't') and (datname = 'dbflowers') 2023-08-24 00:15:55.910 gb.db.postgresql: 0x5579473f4e90: drop database "dbflowers" 2023-08-24 00:15:55.955 gb.db.postgresql: 0x5579473f4e90: select datname from pg_database where (datallowconn = 't') and (datname = 'dbflowers') 2023-08-24 00:15:55.961 gb.db.postgresql: 0x5579473f4e90: select datname from pg_database where (datallowconn = 't') and (datname = 'dbflowers') 2023-08-24 00:15:55.961 gb.db.postgresql: 0x5579473f4e90: create database "dbflowers" 2023-08-24 00:15:57.069 gb.db.postgresql: 0x5579473f4e90: select version() 2023-08-24 00:15:57.072 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bool' 2023-08-24 00:15:57.073 gb.db.postgresql: 0x5579473f4e90: --> 16 2023-08-24 00:15:57.073 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int2' 2023-08-24 00:15:57.074 gb.db.postgresql: 0x5579473f4e90: --> 21 2023-08-24 00:15:57.074 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int4' 2023-08-24 00:15:57.075 gb.db.postgresql: 0x5579473f4e90: --> 23 2023-08-24 00:15:57.075 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'int8' 2023-08-24 00:15:57.075 gb.db.postgresql: 0x5579473f4e90: --> 20 2023-08-24 00:15:57.076 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'numeric' 2023-08-24 00:15:57.076 gb.db.postgresql: 0x5579473f4e90: --> 1700 2023-08-24 00:15:57.076 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'float4' 2023-08-24 00:15:57.077 gb.db.postgresql: 0x5579473f4e90: --> 700 2023-08-24 00:15:57.077 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'float8' 2023-08-24 00:15:57.077 gb.db.postgresql: 0x5579473f4e90: --> 701 2023-08-24 00:15:57.077 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'abstime' 2023-08-24 00:15:57.078 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:57.078 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'reltime' 2023-08-24 00:15:57.078 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:57.078 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'date' 2023-08-24 00:15:57.079 gb.db.postgresql: 0x5579473f4e90: --> 1082 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'time' 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: --> 1083 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'timestamp' 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: --> 1114 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'datetime' 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'timestamptz' 2023-08-24 00:15:57.080 gb.db.postgresql: 0x5579473f4e90: --> 1184 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bytea' 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: --> 17 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'char' 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: --> 18 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'bpchar' 2023-08-24 00:15:57.081 gb.db.postgresql: 0x5579473f4e90: --> 1042 2023-08-24 00:15:57.082 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'varchar' 2023-08-24 00:15:57.082 gb.db.postgresql: 0x5579473f4e90: --> 1043 2023-08-24 00:15:57.082 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'text' 2023-08-24 00:15:57.082 gb.db.postgresql: 0x5579473f4e90: --> 25 2023-08-24 00:15:57.082 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'name' 2023-08-24 00:15:57.083 gb.db.postgresql: 0x5579473f4e90: --> 19 2023-08-24 00:15:57.083 gb.db.postgresql: 0x5579473f4e90: select oid from pg_type where typname = 'cash' 2023-08-24 00:15:57.083 gb.db.postgresql: 0x5579473f4e90: --> 0 2023-08-24 00:15:57.083 gb.db.postgresql: 0x5579473f4e90: show client_encoding 2023-08-24 00:15:57.083 gb.db.postgresql: 0x5579473f4e90: select datname from pg_database where datallowconn and (datname = 'dbflowers') and datistemplate 2023-08-24 00:15:57.084 gb.db.postgresql: 0x5579473f4e90: BEGIN 2023-08-24 00:15:57.084 gb.db.postgresql: 0x5579473f4e90: select relname from pg_class where (relkind in ('r', 'v', 'm', 'p')) and (relname = 't_flowers') and (relnamespace in (select oid from pg_namespace where nspname = 'public')) 2023-08-24 00:15:57.086 gb.db.postgresql: 0x5579473f4e90: CREATE TABLE "t_flowers" ( "id_flower" BIGSERIAL , "name" VARCHAR(32), "date" TIMESTAMP, PRIMARY KEY ("id_flower") ) 2023-08-24 00:15:57.095 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute LEFT JOIN pg_catalog.pg_attrdef ON (pg_attrdef.adnum = pg_attribute.attnum AND pg_attrdef.adrelid = pg_attribute.attrelid) LEFT JOIN pg_collation ON (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.098 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '2019-06-04 00:00:00', E'Akelei' ) 2023-08-24 00:15:57.098 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '1997-06-16 00:00:00', E'Augentrost' ) 2023-08-24 00:15:57.099 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '2020-06-03 00:00:00', E'Blutstroepfle' ) 2023-08-24 00:15:57.099 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '2018-08-16 00:00:00', E'Ranunkel' ) 2023-08-24 00:15:57.099 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '2009-09-02 00:00:00', E'Selaginella' ) 2023-08-24 00:15:57.100 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( '2019-08-13 00:00:00', E'Sonnenblume' ) 2023-08-24 00:15:57.100 gb.db.postgresql: 0x5579473f4e90: COMMIT #Database successfully created! Database is open = True 2023-08-24 00:15:57.127 gb.db.postgresql: 0x5579473f4e90: select relname from pg_class where (relkind in ('r', 'v', 'm', 'p')) and (relname = 't_flowers') and (relnamespace in (select oid from pg_namespace where nspname = 'public')) 2023-08-24 00:15:57.130 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.135 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname from pg_class, pg_attribute where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.135 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname from pg_class, pg_attribute where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'id_flower' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.136 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute left join pg_attrdef on (pg_attrdef.adrelid = pg_attribute.attrelid and pg_attrdef.adnum = pg_attribute.attnum) left join pg_collation on (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'id_flower' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.138 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname from pg_class, pg_attribute where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'name' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.139 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute left join pg_attrdef on (pg_attrdef.adrelid = pg_attribute.attrelid and pg_attrdef.adnum = pg_attribute.attnum) left join pg_collation on (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'name' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.140 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname from pg_class, pg_attribute where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'date' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.144 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute left join pg_attrdef on (pg_attrdef.adrelid = pg_attribute.attrelid and pg_attrdef.adnum = pg_attribute.attnum) left join pg_collation on (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attname = 'date' and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:15:57.144 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.146 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.147 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.151 gb.db.postgresql: 0x5579473f4e90: SELECT COUNT(*) AS nRecord FROM "t_flowers" 2023-08-24 00:15:57.153 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.156 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:15:57.168 gb.db.postgresql: 0x5579473f4e90: SELECT COUNT(*) AS nRecord FROM "t_flowers" 2023-08-24 00:15:57.178 gb.db.postgresql: 0x5579473f4e90: SELECT "name","id_flower" FROM "t_flowers" ORDER BY "name","id_flower" LIMIT 256 2023-08-24 00:15:57.179 gb.db.postgresql: 0x5579473f4e90: SELECT * FROM "t_flowers" ORDER BY "name","id_flower" LIMIT 256 2023-08-24 00:16:21.584 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute LEFT JOIN pg_catalog.pg_attrdef ON (pg_attrdef.adnum = pg_attribute.attnum AND pg_attrdef.adrelid = pg_attribute.attrelid) LEFT JOIN pg_collation ON (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:16:21.586 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum 2023-08-24 00:16:21.589 gb.db.postgresql: 0x5579473f4e90: INSERT INTO "t_flowers" ( "date", "name" ) VALUES ( NULL, E'Roses' ) RETURNING "id_flower" 2023-08-24 00:16:21.611 gb.db.postgresql: 0x5579473f4e90: SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY "name","id_flower") AS __index,* FROM "t_flowers") AS __pg_sucks WHERE "id_flower" = 7 LIMIT 1 2023-08-24 00:16:21.613 gb.db.postgresql: 0x5579473f4e90: SELECT COUNT(*) AS nRecord FROM "t_flowers" 2023-08-24 00:16:21.614 gb.db.postgresql: 0x5579473f4e90: SELECT "name","id_flower" FROM "t_flowers" ORDER BY "name","id_flower" LIMIT 256 2023-08-24 00:16:21.614 gb.db.postgresql: 0x5579473f4e90: SELECT * FROM "t_flowers" ORDER BY "name","id_flower" LIMIT 256 2023-08-24 00:16:43.767 gb.db.postgresql: 0x5579473f4e90: SELECT * FROM "t_flowers" WHERE "id_flower" = 7 2023-08-24 00:16:43.768 gb.db.postgresql: 0x5579473f4e90: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute LEFT JOIN pg_catalog.pg_attrdef ON (pg_attrdef.adnum = pg_attribute.attnum AND pg_attrdef.adrelid = pg_attribute.attrelid) LEFT JOIN pg_collation ON (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 00:16:43.770 gb.db.postgresql: 0x5579473f4e90: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum Database is open = False From t.lee.davidson at gmail.com Thu Aug 24 05:35:00 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 23 Aug 2023 23:35:00 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> Message-ID: <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> On 8/23/23 15:31, Beno?t Minisini wrote: > Le 23/08/2023 ? 21:25, T Lee Davidson a ?crit?: >> On 8/22/23 13:49, T Lee Davidson wrote: >>> Hmmm,?Gambas?doesn't?want?to?compile?on?the?laptop.?The?compiler?seems?to?think?there?should?be?a?semi-colon?in?a?#define?statment: >>> ???CXX??????gb_qt5_la-canimation_moc.lo >>> In?file?included?from?canimation.h:27:0, >>> ??????????????????from?canimation_moc.cpp:10: >>> ../gambas.h:1323:17:?error:?expected??;??at?end?of?member?declaration >>> ??#define?toupper?GB.ToUpper >>> ??????????????????^ >>> I'll?see?about?spinning?up?a?virtual?machine,?but?I'm?going?to?do?a?distribution?upgrade?first. >> >> Gambas also doesn't want to compile on a Virtuabox VM or even my desktop. >> >> Beno?t, I am sending you the troubleshooting log privately. >> > > If you use one of the fifteen systems checked by GitLab Continuous Integration, you should have no problem. I finally figured out that I needed to look in the '.gitlab-ci.yml' file. openSUSE Leap is not in there. But, debian-bookworm and fedora-latest (38) are, and they both had no problem compiling Gambas as Virtualbox VM guests. Debian doesn't play well with Virtualbox, but I was able to test the new RegExp.Findall method on Fedora. It works great; exactly as I expected. Thank you. -- Lee From bsteers4 at gmail.com Thu Aug 24 11:03:09 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 24 Aug 2023 10:03:09 +0100 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> Message-ID: On Thu, 24 Aug 2023 at 04:36, T Lee Davidson wrote: > On 8/23/23 15:31, Beno?t Minisini wrote: > > Le 23/08/2023 ? 21:25, T Lee Davidson a ?crit : > >> On 8/22/23 13:49, T Lee Davidson wrote: > >>> > Hmmm, Gambas doesn't want to compile on the laptop. The compiler seems to think there should be a semi-colon in a #define statment: > >>> CXX gb_qt5_la-canimation_moc.lo > >>> In file included from canimation.h:27:0, > >>> from canimation_moc.cpp:10: > >>> ../gambas.h:1323:17: error: expected ?;? at end of member declaration > >>> #define toupper GB.ToUpper > >>> ^ > >>> > I'll see about spinning up a virtual machine, but I'm going to do a distribution upgrade first. > >> > >> Gambas also doesn't want to compile on a Virtuabox VM or even my > desktop. > >> > >> Beno?t, I am sending you the troubleshooting log privately. > >> > > > > If you use one of the fifteen systems checked by GitLab Continuous > Integration, you should have no problem. > > I finally figured out that I needed to look in the '.gitlab-ci.yml' file. > openSUSE Leap is not in there. > I added suse tumbleweed many moons ago and at the time the dependencies for Leap were no different. Did you try the tumbleweed dependencies? respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Thu Aug 24 11:50:55 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 24 Aug 2023 11:50:55 +0200 Subject: [Gambas-user] DataSource Save and DataBrowser Find malfunktions In-Reply-To: References: <7196f46d-857d-1289-8db9-4d70b5a735f5@gambas-basic.org> Message-ID: Il 23/08/23 23:57, Beno?t Minisini ha scritto: >> >> Thanks for the video. Can you try by setting 'DB.Debug = True' at >> program start? I need that only for the MySQL case. >> > > Can you try 'DB.Debug = True' with PostgreSQL too? Only when you save > the date and you get the "Type mismatch error". > > Note that I don't have any error on my PostgreSQL here, strange! > > Regards, > Hi Benoit, the debug part related to "Type mismatch error" is : 2023-08-24 11:42:44.626 gb.db.postgresql: 0x55e2ad1df030: SELECT * FROM "t_flowers" WHERE "id_flower" = 7 2023-08-24 11:42:44.627 gb.db.postgresql: 0x55e2ad1df030: select pg_attribute.attname, pg_attribute.atttypid::int, pg_attribute.atttypmod, pg_attribute.attnotnull, pg_get_expr(adbin, adrelid) AS adsrc, pg_attribute.atthasdef, pg_collation.collname from pg_class, pg_attribute LEFT JOIN pg_catalog.pg_attrdef? ON (pg_attrdef.adnum = pg_attribute.attnum AND pg_attrdef.adrelid = pg_attribute.attrelid) LEFT JOIN pg_collation ON (pg_collation.oid = pg_attribute.attcollation) where pg_class.relname = 't_flowers' and (pg_class.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_attribute.attnum > 0 and not pg_attribute.attisdropped and pg_attribute.attrelid = pg_class.oid 2023-08-24 11:42:44.629 gb.db.postgresql: 0x55e2ad1df030: select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind, pg_class pg_table where pg_table.relname = 't_flowers' AND pg_table.oid = pg_att1.attrelid AND pg_cl.oid = pg_ind.indexrelid and (pg_cl.relnamespace in (select oid from pg_namespace where nspname = 'public')) and pg_ind.indisprimary and pg_att2.attrelid = pg_ind.indexrelid and pg_att1.attrelid = pg_ind.indrelid and pg_att1.attnum = pg_ind.indkey[pg_att2.attnum-1] order by pg_att2.attnum I apologize for too much information: Regards Gianluigi From bsteers4 at gmail.com Thu Aug 24 13:02:25 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 24 Aug 2023 12:02:25 +0100 Subject: [Gambas-user] Safety for collections In-Reply-To: <0065d4ce-fc16-4ef7-6182-5ea39aa65f49@gmail.com> References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> <0065d4ce-fc16-4ef7-6182-5ea39aa65f49@gmail.com> Message-ID: On Tue, 22 Aug 2023 at 13:28, BB wrote: > > On 22/8/23 9:11 pm, Bruce Steers wrote: > > > > On Tue, 22 Aug 2023 at 12:19, BB wrote: > >> >> On 22/8/23 8:38 pm, BB wrote: >> >> There is probably a simple way to do this, damned if I can see how. >> >> I have a collection of things (datObjects) that have a property >> (ObjectName::string) that in UML terms are Unique and ID. What I am trying >> to do is prevent the *replacement* of an object in the collection if the >> ObjectName is already there. Better still, I'd like to warn the user when >> they enter the ObjectName that it already exists. >> >> The input form has a TextBox for the ObjectName and a "save" button. The >> latter updates the collection, whose key is the ObjectName, either adding >> or amending the item in the collection. So I kind of need to do this: >> >> 1) Are they really trying to add a new item or update an existing one? >> >> If adding then prevent them from overwriting one with the same >> ObjectName, otherwise if amending then only allow changes to the other data >> and not the ObjectName. >> >> 2) Then update the collection accordingly. >> >> Is that clear? It isn't to me. Any input would really be appreciated. >> >> b >> >> p.s. I am trying to avoid having separate Add and Update buttons for >> reasons. >> >> I may have oversimplified. The basic gen is that there is a form with a >> list of some type on the left and an "editor" panel on the right. The user >> clicks on an item in the list and the data for that item is loaded in the >> editor. Now the quick way for them to add a new item is to click on a >> similar one, give it a new name and change some of the other data as >> required, then click the save button. BUT the new name they use may already >> exist. ... ... >> > > I may not be getting the jist as i only have simple code to suggest.. > > If datObjects.Exist(sName) Then > > Dim c As Integer = 2 > While dat.Objects.Exist(sName & Str(c)) > Inc c > Wend > sName = sName & Str(c) > Endif > > That'll try Name2, Name3 etc till a free name is found. > > Respects > BruceS > > OK, you have given me a start. The real issue is that the structured > naming convention was invented by a very clever person from a town in a > European country that may-or-may-not end in "ermany" (or "eutschland" if > you prefer). A name looks like this "ind_cl3_1x2_E0_03_09". Zounds egad! > you may exclaim*. That "_03_" is an index (that indicates a color variant), > so I can at least use your idea there. I think that I may have to denature > that name into some sort of structure somehow, which is a damn problem as > the so called structure seems to be an idea rather than a standard and > there are many, lets say, "irregularities" in usage. ? > > txs > > b > > * The "full" explanation of that name is "this is an industrial building > in climate zone 3 that occupies 2 building blocks (1 wide by 2 long) that > can or was only be built in or after "epoch" 0**, color variant 3 and an 09 > something (that is yet to be determined). You can see, I believe why users > have some kind of difficulty in creating or copying new names. > > ** Australia is a wonderful place, there are only two epochs "before" and > "after" a certain Captain Arthur Phillip > arrived. Actually there > are really 3 but I wont go into that piece of political prehistory. > So i thought on these lines... Created a class called Collection.class -------------------------- ' Gambas class file Export Property NoOverwrite As Boolean Use $bNoOverwrite Property StartValue As Integer Use $bStartValue = 1 Public Sub Add(Value As Variant, (Key) As String) Dim iNumber As Integer = $bStartValue Dim sKey As String = Key If $bNoOverwrite And If Super.Exist(Key) Then While Super.Exist(Key & Str(iNumber)) Inc iNumber Wend sKey = Key & Str(iNumber) Endif Super.Add(Value, sKey) End -------------------- then i tried this... Dim c As Collection = New Collection c.NoOverwrite = True c.Add("hi", "ka") c.Add("hi", "kb") c.Add("hi", "kb") c["ka"] = "ooo" c["kb"] = "ooo" c["kc"] = "ooo" For Each s As String In c Print c.Key, s Next Result....... ka ooo kb ooo kb1 hi kc ooo So there i can use c[sKey] and the value is overwritten if the key exists. but if i use c.Add(vValue, sKey) and the key already exists then a number is added to the end of the keyname Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Aug 24 13:26:01 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 24 Aug 2023 12:26:01 +0100 Subject: [Gambas-user] this application has raised an unexpected error and must abort In-Reply-To: <33e34a8cff5bc9ff5fc90b65f4ca328f@tiscali.it> References: <33e34a8cff5bc9ff5fc90b65f4ca328f@tiscali.it> Message-ID: On Tue, 22 Aug 2023 at 16:12, wrote: > hello, > gambas 3.18.0-4 installed on debian bookworm on ARM architecture. > when i tri ti cliki on a object of my proget > often i get this error on a window that popup:: > > -------------------------------------------------------------------- > > this application has raised an unexpected error and must abort > Null object(#13). > FForm.SelectCurrent.1513 > > -------------------------------------------------------------------- > > > i can click ignore (and i have back control of IDE) ot close (and gamba3 IDE close) > > why It happen? Is a problem on my code? how to solve? > > Thanks, > Roberto > > possibly a problem in the gambas compilation. Did you install with apt or with compiling from source? if you compiled from source did you uninstall apt gambas first? Is it just one project or all projects? BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Aug 24 14:25:33 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 24 Aug 2023 21:55:33 +0930 Subject: [Gambas-user] Safety for collections In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: > On 22/8/23 8:38 pm, BB wrote: >> >> There is probably a simple way to do this, damned if I can see how. >> >> I have a collection of things (datObjects) that have a property >> (ObjectName::string) that in UML terms are Unique and ID. What I am >> trying to do is prevent the _replacement_ of an object in the >> collection if the ObjectName is already there. Better still, I'd like >> to warn the user when they enter the ObjectName that it already exists. >> >> The input form has a TextBox for the ObjectName and a "save" button. >> The latter updates the collection, whose key is the ObjectName, >> either adding or amending the item in the collection. So I kind of >> need to do this: >> >> 1) Are they really trying to add a new item or update an existing one? >> >> If adding then prevent them from overwriting one with the same >> ObjectName, otherwise if amending then only allow changes to the >> other data and not the ObjectName. >> >> 2) Then update the collection accordingly. >> >> Is that clear? It isn't to me. Any input would really be appreciated. >> >> b >> >> p.s. I am trying to avoid having separate Add and Update buttons for >> reasons. >> > I may have oversimplified. The basic gen is that there is a form with > a list of some type on the left and an "editor" panel on the right. > The user clicks on an item in the list and the data for that item is > loaded in the editor. Now the quick way for them to add a new item is > to click on a similar one, give it a new name and change some of the > other data as required, then click the save button. BUT the new name > they use may already exist. ... ... Thanks everyone for their inputs. This is, in the end, not simple at all. Lee's idea is what I'm following at the moment. However, there are problems (or issues or complexities..) Here's one: _Usecase_ 1. User clicks on an item in the list. System loads and displays the related object in the editor form. 2. User changes the object name and does nothing else. 3. (While focus is still on the name textbox or even after stuffing around in other editor controls and then shifting back) User presses Ctl+Z ---> The text reverts to the original but the "changed" indicator is still set to true. This gets even worse when they do repeated changes and undos. I guess what I'm really looking for is a "isDirty" algorithm/structure that when the save is attempted /somehow/ works out what their intention is .. add a newy, change the original or /change another one that exists/ while preventing them from overwriting something inadvertently. Here's the damn restrictions. I cant change the code in the parent form, but I could override the save button method /somehow/. I can't _easily_ change the underlying class for the object. So everything needs to happen inside the editor form. grrrrrrraaarrrgh b -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Aug 24 15:40:35 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 24 Aug 2023 09:40:35 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> Message-ID: On 8/24/23 05:03, Bruce Steers wrote: > I finally figured out that I needed to look in the '.gitlab-ci.yml' file. openSUSE Leap is not in there. > > > I added suse tumbleweed many moons ago and at the time the dependencies for Leap were no different. > Did you try the tumbleweed dependencies? > > respects > BruceS I followed the OpenSuse Leap/Tumbleweed instructions at https://gambaswiki.org/wiki/install#t21 According to that, the dependencies are the same. But, the 'make' operation chokes with some weird errors as if it thinks there should be a semi-colon in a "#define" statement. That makes no sense to me. Gitlab Continuous Integration apparently has no problem compiling on Tumbleweed. But, Leap 15.5 won't do it on my laptop, on my desktop, or in a VM. -- Lee From t.lee.davidson at gmail.com Thu Aug 24 15:59:49 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 24 Aug 2023 09:59:49 -0400 Subject: [Gambas-user] Safety for collections In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: On 8/24/23 08:25, BB wrote: > _Usecase_ > > 1. User clicks on an item in the list. System loads and displays the related object in the editor form. > > 2. User changes the object name and does nothing else. > > 3. (While focus is still on the name textbox or even after stuffing around in other editor controls and then shifting back) User > presses Ctl+Z > > ---> The text reverts to the original but the "changed" indicator is still set to true. > > This gets even worse when they do repeated changes and undos. > * Monitor keypress events on the ObjectName field and use "Ctrl+Z" as a trigger to reset the semaphore? * When the editor form loads, save the value of the ObjectName field to a global var, and then upon Save, compare the values? ?? -- Lee From brian at westwoodsvcs.com Thu Aug 24 21:47:41 2023 From: brian at westwoodsvcs.com (Brian G) Date: Thu, 24 Aug 2023 12:47:41 -0700 Subject: [Gambas-user] regexp.replace Segfault Message-ID: <03e28c71-7db5-3e77-7b69-c973b1377301@westwoodsvcs.com> Has anyone else had the latest dev version crash regexp.replace with a segfault? -- ~~~~ Brian From t.lee.davidson at gmail.com Fri Aug 25 00:16:04 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 24 Aug 2023 18:16:04 -0400 Subject: [Gambas-user] regexp.replace Segfault In-Reply-To: <03e28c71-7db5-3e77-7b69-c973b1377301@westwoodsvcs.com> References: <03e28c71-7db5-3e77-7b69-c973b1377301@westwoodsvcs.com> Message-ID: On 8/24/23 15:47, Brian G wrote: > Has anyone else had the latest dev version crash regexp.replace with a segfault? > Yes. I just tried it: SegFault. -- Lee From benoit.minisini at gambas-basic.org Fri Aug 25 03:06:46 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Fri, 25 Aug 2023 03:06:46 +0200 Subject: [Gambas-user] regexp.replace Segfault In-Reply-To: References: <03e28c71-7db5-3e77-7b69-c973b1377301@westwoodsvcs.com> Message-ID: <57d5e189-6148-b844-500c-37a891fa50cc@gambas-basic.org> Le 25/08/2023 ? 00:16, T Lee Davidson a ?crit?: > On 8/24/23 15:47, Brian G wrote: >> Has anyone else had the latest dev version crash regexp.replace with a >> segfault? >> > Yes. I just tried it: SegFault. > > It should be fixed now. -- Beno?t Minisini. From t.lee.davidson at gmail.com Sat Aug 26 00:24:37 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 25 Aug 2023 18:24:37 -0400 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> Message-ID: <3e1ce2c3-79de-434d-be67-4bb117f278f1@gmail.com> On 8/24/23 09:40, T Lee Davidson wrote: > I?followed?the?OpenSuse?Leap/Tumbleweed?instructions?at https://gambaswiki.org/wiki/install#t21 > > According to that, the dependencies are the same. But, the 'make' operation chokes with some weird errors as if it thinks there > should?be?a?semi-colon?in?a?"#define"?statement.?That?makes?no?sense?to?me. > > Gitlab Continuous Integration apparently has no problem compiling on Tumbleweed. But, Leap 15.5 won't do it on my laptop, on my > desktop,?or?in?a?VM. Well ... I finally got it to compile. I upgraded gcc (and g++) from version 7.5 to 12.3. Beno?t, is there a minimum required version of gcc/g++? -- Lee From benoit.minisini at gambas-basic.org Sat Aug 26 00:35:25 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 26 Aug 2023 00:35:25 +0200 Subject: [Gambas-user] RegExp: How to find all matches of a pattern (global match)? In-Reply-To: <3e1ce2c3-79de-434d-be67-4bb117f278f1@gmail.com> References: <443254cf-028e-43ad-b636-cf2d68b9a7be@gmail.com> <136e5585-6d35-d515-e24f-ff2af78aaf80@gradobag.it> <6ecded63-d9c9-4fe6-94cc-53e16516bf75@gmail.com> <62a08e0e-4bbd-0345-2aab-9909cff31cde@gradobag.it> <9d8b1dd7-ad3a-429a-80f9-44fab0f2505b@gmail.com> <3b7b0e80-87ea-4a44-89ca-f6e2a7834b1c@ea7dfh.com> <37f1e220-b672-4a4e-b5ab-adfd96380934@gmail.com> <64f1e703-c59b-4208-aa43-2e7461bf1814@gambas-basic.org> <71528410-a926-4382-82b7-a5fa29d8f984@gmail.com> <8d360832-954d-4368-8f5f-3aeea8b91886@gmail.com> <0b7dc573-33fc-4645-aa6b-6ea3589e7d75@gmail.com> <3e1ce2c3-79de-434d-be67-4bb117f278f1@gmail.com> Message-ID: Le 26/08/2023 ? 00:24, T Lee Davidson a ?crit?: > On 8/24/23 09:40, T Lee Davidson wrote: >> I?followed?the?OpenSuse?Leap/Tumbleweed?instructions?at >> https://gambaswiki.org/wiki/install#t21 >> >> According to that, the dependencies are the same. But, the 'make' >> operation chokes with some weird errors as if it thinks there >> should?be?a?semi-colon?in?a?"#define"?statement.?That?makes?no?sense?to?me. >> >> Gitlab Continuous Integration apparently has no problem compiling on >> Tumbleweed. But, Leap 15.5 won't do it on my laptop, on my >> desktop,?or?in?a?VM. > > Well ... I finally got it to compile. I upgraded gcc (and g++) from > version 7.5 to 12.3. > > Beno?t, is there a minimum required version of gcc/g++? > > Not that I am aware of. On the contrary, it seems that some recent versions of C++ does not like '#define toupper' at all. This '#define', and the others that follow, are here only to ensure that nobody uses the glibc versions of toupper(), tolower(), and strcasecmp() in a Gambas component (because they are always locale dependant). A solution could be browsing the Gambas source code to ensure that they are not used, and removing the '#define' statements. Regards, -- Beno?t Minisini. From isafiur at gmail.com Sat Aug 26 18:41:53 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 26 Aug 2023 22:26:53 +0545 Subject: [Gambas-user] Upload through WebFileButton (gb.web.gui) not working in google chrome Message-ID: Hi The file upload through WebFileButton (in gb.web.gui) is not working in google chrome. The error in console is: Failed to load resource: :8080/upload:4204AD8529B09768:1 However, the upload works well with internal browser and mozilla firefox. I am using development version of gambas 3.18 Attached a sample project -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: upload.zip Type: application/zip Size: 16667 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Sat Aug 26 21:08:15 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 26 Aug 2023 21:08:15 +0200 Subject: [Gambas-user] Upload through WebFileButton (gb.web.gui) not working in google chrome In-Reply-To: References: Message-ID: Le 26/08/2023 ? 18:41, Safiur Rahman a ?crit?: > Hi > > The file upload through WebFileButton (in gb.web.gui) is not working in > google chrome. > The error in console is: > Failed to load resource: > :8080/upload:4204AD8529B09768:1 > > However, the upload works well with internal browser and mozilla > firefox. I am using development version of gambas 3.18 > Attached a sample project > > > -- > Regards > Safiur Rahman > Indeed. I think it worked before, and I changed nothing... -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sat Aug 26 22:26:29 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sat, 26 Aug 2023 22:26:29 +0200 Subject: [Gambas-user] Upload through WebFileButton (gb.web.gui) not working in google chrome In-Reply-To: References: Message-ID: <8450f85b-b97e-4789-30e3-d1aeb43c69d4@gambas-basic.org> Le 26/08/2023 ? 21:08, Beno?t Minisini a ?crit?: > Le 26/08/2023 ? 18:41, Safiur Rahman a ?crit?: >> Hi >> >> The file upload through WebFileButton (in gb.web.gui) is not working >> in google chrome. >> The error in console is: >> Failed to load resource: >> :8080/upload:4204AD8529B09768:1 >> >> However, the upload works well with internal browser and mozilla >> firefox. I am using development version of gambas 3.18 >> Attached a sample project >> >> >> -- >> Regards >> Safiur Rahman >> > > Indeed. I think it worked before, and I changed nothing... > Apparently it's a problem with the embedded server and its request serialization system. If I try your project with a real HTTP server, it works. Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Sun Aug 27 15:24:14 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 27 Aug 2023 22:54:14 +0930 Subject: [Gambas-user] Safety for collections. Solved! Hah! In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: On 24/8/23 11:29 pm, T Lee Davidson wrote: > On 8/24/23 08:25, BB wrote: >> _Usecase_ >> >> 1. User clicks on an item in the list. System loads and displays the >> related object in the editor form. >> >> 2. User changes the object name and does nothing else. >> >> 3. (While focus is still on the name textbox or even after stuffing >> around in other editor controls and then shifting back) User presses >> Ctl+Z >> >> ---> The text reverts to the original but the "changed" indicator is >> still set to true. >> >> This gets even worse when they do repeated changes and undos. >> > > * Monitor keypress events on the ObjectName field and use "Ctrl+Z" as > a trigger to reset the semaphore? > * When the editor form loads, save the value of the ObjectName field > to a global var, and then upon Save, compare the values? > > ?? > Thanks Lee! Finally got it working. Or to be true, finally got my head twisted the right way around and thanks to all who replied, worked out where I was going wrong (I was trying to do it from the "collection end" when I should have just looked at what the user was trying to do. Sheeesh, am I getting that old?) cheers b From t.lee.davidson at gmail.com Sun Aug 27 20:15:49 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 27 Aug 2023 14:15:49 -0400 Subject: [Gambas-user] Safety for collections. Solved! Hah! In-Reply-To: References: <797becbe-54a8-ebf4-4551-e7e0b82c5276@gmail.com> Message-ID: On 8/27/23 09:24, BB wrote: > Sheeesh, am I getting?that?old? Only /you/ can answer that, Grasshopper. :-P -- Lee From mbelmonte at belmotek.net Mon Aug 28 03:41:16 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 03:41:16 +0200 Subject: [Gambas-user] How to use a different language than the desktop Message-ID: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> Hi there. How can I force a Gambas program to use a different language than the desktop? for example my desktop is in Spanish but I want the gambas program run in French (the phrases are in English) I try LANG=FR But doesn't work. Then LANGUAGE=FR But doesn't work neither. At run time I managed to change the dark and light color theme, also the system icons or the custom ones, but I couldn't change the language. https://imgur.com/FNKb3sr Best regards https://imgur.com/FNKb3sr https://imgur.com/FNKb3sr Martin. -------------- next part -------------- A non-text attachment was scrubbed... Name: icon-svg-chiaroscuro-0.0.3.tar.gz Type: application/gzip Size: 48627 bytes Desc: not available URL: From gradobag at gradobag.it Mon Aug 28 09:47:37 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 28 Aug 2023 09:47:37 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> Message-ID: <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> Il 28/08/23 03:41, Mart?n ha scritto: > Hi there. > > How can I force a Gambas program to use a different language than the > desktop? for example my desktop is in Spanish but I want the gambas > program run in French (the phrases are in English) > > I try LANG=FR But doesn't work. > > Then LANGUAGE=FR But doesn't work neither. > > At run time I managed to change the dark and light color theme, also > the system icons or the custom ones, but I couldn't change the language. > > https://imgur.com/FNKb3sr > > Best regards > > https://imgur.com/FNKb3sr > > https://imgur.com/FNKb3sr > > Martin. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Martin, I'm not sure I understand, can this project help? Regards Gianluigi -------------- next part -------------- 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 From adamnt42 at gmail.com Mon Aug 28 09:59:24 2023 From: adamnt42 at gmail.com (BB) Date: Mon, 28 Aug 2023 17:29:24 +0930 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> Message-ID: French is a geographically described language, France, Canada, Switzerland etc all have there own. Try setting LANG=fr-FR (capitalization must be exact) hth On 28/8/23 11:11 am, Mart?n wrote: > Hi there. > > How can I force a Gambas program to use a different language than the > desktop? for example my desktop is in Spanish but I want the gambas > program run in French (the phrases are in English) > > I try LANG=FR But doesn't work. > > Then LANGUAGE=FR But doesn't work neither. > > At run time I managed to change the dark and light color theme, also > the system icons or the custom ones, but I couldn't change the language. > > https://imgur.com/FNKb3sr > > Best regards > > https://imgur.com/FNKb3sr > > https://imgur.com/FNKb3sr > > Martin. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Aug 28 10:12:45 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 28 Aug 2023 10:12:45 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> Message-ID: Il 28/08/23 09:47, Gianluigi ha scritto: > Il 28/08/23 03:41, Mart?n ha scritto: >> Hi there. >> >> How can I force a Gambas program to use a different language than the >> desktop? for example my desktop is in Spanish but I want the gambas >> program run in French (the phrases are in English) >> >> I try LANG=FR But doesn't work. >> >> Then LANGUAGE=FR But doesn't work neither. >> >> At run time I managed to change the dark and light color theme, also >> the system icons or the custom ones, but I couldn't change the language. >> >> https://imgur.com/FNKb3sr >> >> Best regards >> >> https://imgur.com/FNKb3sr >> >> https://imgur.com/FNKb3sr >> >> Martin. >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Martin, > > I'm not sure I understand, can this project help? > > Regards > > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I forgot if you use a dark theme, you need to change this code like this: Action[sAction].Picture = Picture.Load(sPath)' Picture[sPath] Ciao Gianluigi From mbelmonte at belmotek.net Mon Aug 28 12:35:55 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 12:35:55 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> Message-ID: <12c90d6d-7124-4aa8-a96a-684c2840243c@belmotek.net> El 28/8/23 a las 09:59, BB escribi?: > Try setting LANG=fr-FR (capitalization must be exact) https://i.imgur.com/0UmHUlL.png https://imgur.com/0UmHUlLhttps://imgur.com/0UmHUlL I try: LANG=fr-FR LANGUAGE=fr-FR LANG=fr_FR LANGUAGE=fr_FR LANG=fr-FR_UTF8 LANG=fr_FR.utf8 LANGUAGE=fr_FR.utf8 Doesn't work neither. From mbelmonte at belmotek.net Mon Aug 28 12:49:59 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 12:49:59 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> Message-ID: El 28/8/23 a las 09:47, Gianluigi escribi?: > can this project help? Yes, the program help. I see the line: System.Language = "zz_ZZ" Where if I chamge "zz_ZZ" by "fr_FR" or "es_ES" it works but only if The form is .Close and then .Show ?It is possible apply without .Close the form? ?Which is the mechanism that chose the language to show in the gambas running program? ?it is possible avoid the Linux locale scenario using the .po files only? If the gambas program has fr.po but in the Linux system the package fr_FR is not installed it also doesn't work right? I'm sure I'm doing something wrong because the program ends with an error. I resend it as an attachment with the recent changes. -------------- next part -------------- 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 From benoit.minisini at gambas-basic.org Mon Aug 28 12:50:57 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 28 Aug 2023 12:50:57 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: <12c90d6d-7124-4aa8-a96a-684c2840243c@belmotek.net> References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> <12c90d6d-7124-4aa8-a96a-684c2840243c@belmotek.net> Message-ID: Le 28/08/2023 ? 12:35, Mart?n a ?crit?: > El 28/8/23 a las 09:59, BB escribi?: >> Try setting LANG=fr-FR (capitalization must be exact) > > https://i.imgur.com/0UmHUlL.png > > https://imgur.com/0UmHUlLhttps://imgur.com/0UmHUlL > > I try: > > LANG=fr-FR > > LANGUAGE=fr-FR > > LANG=fr_FR > > LANGUAGE=fr_FR > > LANG=fr-FR_UTF8 > > LANG=fr_FR.utf8 > > LANGUAGE=fr_FR.utf8 > > Doesn't work neither. > It can depend on your system, but at least you have to set LANG and LC_ALL. Have you read the wiki at https://gambaswiki.org/edit/doc/locale ? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Aug 28 12:56:16 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 28 Aug 2023 12:56:16 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> <7a8beebb-16a5-9ec3-1967-de544e0c0bf6@gradobag.it> Message-ID: Le 28/08/2023 ? 12:49, Mart?n a ?crit?: > El 28/8/23 a las 09:47, Gianluigi escribi?: >> can this project help? > > Yes, the program help. > > I see the line: > > System.Language = "zz_ZZ" > > Where if I chamge "zz_ZZ" by "fr_FR" or "es_ES" it works but only if The > form is .Close and then .Show > > ?It is possible apply without .Close the form? No. > > ?Which is the mechanism that chose the language to show in the gambas > running program? It's explained in the wiki page I mentioned in my other answer. > > ?it is possible avoid the Linux locale scenario using the .po files only? No. Gambas relies on the glibc localisation system. > > If the gambas program has fr.po but in the Linux system the package > fr_FR is not installed it also doesn't work right? Yes, because the glibc requires the language package to be installed so that the corresponding '*.po' files can be used. Anyway, if you need to display messages in a specific language, it's logical to need the system language support package, because you usually deals with numbers and dates in the same language. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Aug 28 18:00:25 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 28 Aug 2023 18:00:25 +0200 Subject: [Gambas-user] Gambas icon set for LibreOffice version 0.2 Message-ID: Hi, Here is a link to download a mode advanced work on a Gambas icon set for LibreOffice that I find more readable than the other ones provided by the office suite. https://we.tl/t-g5MXCsRY7q Do not hesitate to give some feedback. Enjoy! -- Beno?t Minisini. From mbelmonte at belmotek.net Mon Aug 28 18:37:38 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 18:37:38 +0200 Subject: [Gambas-user] How to use a different language than the desktop In-Reply-To: References: <72251613-7bf4-45d8-beca-41077f8b981e@belmotek.net> <12c90d6d-7124-4aa8-a96a-684c2840243c@belmotek.net> Message-ID: El 28/8/23 a las 12:50, Beno?t Minisini escribi?: > Have you read the wiki at https://gambaswiki.org/edit/doc/locale ? Yes, I read it. Anyway I found a solution. In this case I need choose a language only for some specific ToolButtons Tool-tips not for all the app, but is possible extend the behavior to more controls. https://imgur.com/rZTN6JG So now is possible in this app change colors, icons, and language without restart the form. Thnaks. Best regards. https://imgur.com/rZTN6JG https://imgur.com/rZTN6JG https://imgur.com/rZTN6JG From mbelmonte at belmotek.net Mon Aug 28 19:19:23 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 19:19:23 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: References: Message-ID: El 20/8/23 a las 18:12, Beno?t Minisini escribi?: > Hi, > > I'm currently doing a Gambas icons set for LibreOffice, based on the > new Gambas Thin icon set. > > Is anyone interested? > > I can actually make another one based on standard Gambas icon set too. > In Manjaro the libreoffice iconset is cool, wich SO you are using? From mbelmonte at belmotek.net Mon Aug 28 19:21:32 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 28 Aug 2023 19:21:32 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: References: Message-ID: <61f61808-b122-4fa4-b1d5-d7b8b1c006cd@belmotek.net> El 28/8/23 a las 19:19, Mart?n escribi?: > El 20/8/23 a las 18:12, Beno?t Minisini escribi?: >> Hi, >> >> I'm currently doing a Gambas icons set for LibreOffice, based on the >> new Gambas Thin icon set. >> >> Is anyone interested? >> >> I can actually make another one based on standard Gambas icon set too. >> > In Manjaro the libreoffice iconset is cool, wich SO you are using? > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: 23-08-28_19-15-35.png Type: image/png Size: 51691 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Mon Aug 28 20:36:35 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Mon, 28 Aug 2023 20:36:35 +0200 Subject: [Gambas-user] LibreOffice Gambas icon set In-Reply-To: <61f61808-b122-4fa4-b1d5-d7b8b1c006cd@belmotek.net> References: <61f61808-b122-4fa4-b1d5-d7b8b1c006cd@belmotek.net> Message-ID: <5c6f44fb-ea6b-852b-6d81-ec338a06b645@gambas-basic.org> Le 28/08/2023 ? 19:21, Mart?n a ?crit?: > El 28/8/23 a las 19:19, Mart?n escribi?: >> El 20/8/23 a las 18:12, Beno?t Minisini escribi?: >>> Hi, >>> >>> I'm currently doing a Gambas icons set for LibreOffice, based on the >>> new Gambas Thin icon set. >>> >>> Is anyone interested? >>> >>> I can actually make another one based on standard Gambas icon set too. >>> >> In Manjaro the libreoffice iconset is cool, wich SO you are using? >> This is the calibre theme, which I use as a base for my Gambas theme. The problem is that all these icons are often not readable at small size. I don't use LibreOffice with big buttons. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Wed Aug 30 00:37:17 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 29 Aug 2023 23:37:17 +0100 Subject: [Gambas-user] Launchpad, Debian maybe? Message-ID: I was looking at launchpad and see they support Debian repositories too. Could a Debian launchpad be made / used instead? Wouldn't it also work for Ubuntu and all the systems it currently does with Ubuntu being Debian based ? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From dosida at gmail.com Wed Aug 30 05:46:21 2023 From: dosida at gmail.com (Dimitris Anogiatis) Date: Tue, 29 Aug 2023 21:46:21 -0600 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: Isn't git, github, gitlab, gitea and all other git-related projects doing pretty much what launchpad does? Regards, Dimitris On Tue, Aug 29, 2023 at 4:38?PM Bruce Steers wrote: > I was looking at launchpad and see they support Debian repositories too. > > Could a Debian launchpad be made / used instead? > > Wouldn't it also work for Ubuntu and all the systems it currently does > with Ubuntu being Debian based ? > > Respects > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Aug 30 08:49:40 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 30 Aug 2023 07:49:40 +0100 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: Not really , Launchpad allows you to add a repository to apt sources and use apt to install / upgrade. As far as I know git does not allow that. BruceS On Wed, 30 Aug 2023, 04:47 Dimitris Anogiatis, wrote: > Isn't git, github, gitlab, gitea and all other git-related projects doing > pretty much what launchpad does? > > Regards, > Dimitris > > On Tue, Aug 29, 2023 at 4:38?PM Bruce Steers wrote: > >> I was looking at launchpad and see they support Debian repositories too. >> >> Could a Debian launchpad be made / used instead? >> >> Wouldn't it also work for Ubuntu and all the systems it currently does >> with Ubuntu being Debian based ? >> >> Respects >> BruceS >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Aug 30 10:33:27 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 30 Aug 2023 18:03:27 +0930 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: On 30/8/23 8:07 am, Bruce Steers wrote: > I was looking at launchpad and see they support Debian repositories too. > > Could a Debian launchpad be made / used instead? > > Wouldn't it also work for Ubuntu and all the systems it currently does > with Ubuntu being Debian based ? > > Respects > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- The difficulties of binary publications are, as I see it, security security and security. The launchpad instance would have to be secure in and of itself. I remain to be convinced that this has been achieved yet. The number of recent attacks on distro download sites would indicate that even widely used download technology is not hardened enough. The administrators of the launchpad would need to be provably totally honest and transparent. In addition there should be either a "benevolent dictator" to oversee _any_ change to the binaries and the underlying source or a fairly sizeable group of security conscious commandos keeping a watch on changes. Pundits (of the internet type) suggest that the source code for the binaries be made unavailable to lessen the chances of malicious subterfuge. Which sort of defeats the purpose, I think. Nah, I'll stay clear for the moment. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Aug 30 12:46:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 30 Aug 2023 11:46:55 +0100 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: On Wed, 30 Aug 2023, 09:34 BB, wrote: > > On 30/8/23 8:07 am, Bruce Steers wrote: > > I was looking at launchpad and see they support Debian repositories too. > > Could a Debian launchpad be made / used instead? > > Wouldn't it also work for Ubuntu and all the systems it currently does > with Ubuntu being Debian based ? > > Respects > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > The difficulties of binary publications are, as I see it, security > security and security. > > The launchpad instance would have to be secure in and of itself. I remain > to be convinced that this has been achieved yet. The number of recent > attacks on distro download sites would indicate that even widely used > download technology is not hardened enough. > > The administrators of the launchpad would need to be provably totally > honest and transparent. In addition there should be either a "benevolent > dictator" to oversee *any* change to the binaries and the underlying > source or a fairly sizeable group of security conscious commandos keeping a > watch on changes. > > Pundits (of the internet type) suggest that the source code for the > binaries be made unavailable to lessen the chances of malicious subterfuge. > Which sort of defeats the purpose, I think. > > Nah, I'll stay clear for the moment. > > b > But already Launchpad is used to create Ubuntu packages and these work on mint and other Ubuntu derivatives. I just wondered if the launchpad made Debian binaries instead of Ubuntu then would they still work on Ubuntu and mint as well as Debian and all other Debian derivatives? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Aug 30 12:56:31 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 30 Aug 2023 20:26:31 +0930 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: <992929d2-a9ba-61dd-97f4-45853ef5d198@gmail.com> On 30/8/23 8:16 pm, Bruce Steers wrote: > > > On Wed, 30 Aug 2023, 09:34 BB, > wrote: > > > On 30/8/23 8:07 am, Bruce Steers wrote: >> I was looking at launchpad and see they support Debian >> repositories too. >> >> Could a Debian launchpad be made / used instead? >> >> Wouldn't it also work for Ubuntu and all the systems it currently >> does with Ubuntu being Debian based ? >> >> Respects >> BruceS >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > The difficulties of binary publications are, as I see it, security > security and security. > > The launchpad instance would have to be secure in and of itself. I > remain to be convinced that this has been achieved yet. The number > of recent attacks on distro download sites would indicate that > even widely used download technology is not hardened enough. > > The administrators of the launchpad would need to be provably > totally honest and transparent. In addition there should be either > a "benevolent dictator" to oversee _any_ change to the binaries > and the underlying source or a fairly sizeable group of security > conscious commandos keeping a watch on changes. > > Pundits (of the internet type) suggest that the source code for > the binaries be made unavailable to lessen the chances of > malicious subterfuge. Which sort of defeats the purpose, I think. > > Nah, I'll stay clear for the moment. > > b > > > But already Launchpad is used to create Ubuntu packages and these work > on mint and other Ubuntu derivatives. > > I just wondered if the launchpad made Debian binaries instead of > Ubuntu then would they still work on Ubuntu and mint as well as Debian > and all other Debian derivatives? > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- What do you mean by "if the launchpad made Debian binaries"? I didn't think it actually "made" them, it just published them. Hence my distrust, which was just a POV. No matter. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Aug 30 16:09:13 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 30 Aug 2023 10:09:13 -0400 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: <5cace247-33f8-4c03-b772-50bc6203f8b1@gmail.com> On 8/29/23 18:37, Bruce Steers wrote: > I was looking at launchpad and see they support Debian repositories too. > > Could a Debian launchpad be made / used instead? > > Wouldn't it also work for Ubuntu and all the systems it currently does with Ubuntu being Debian based ? > > Respects > BruceS I have been looking into switching to Debian, and so I did some, albeit minimal, research regarding packages from Ubuntu community repos working on Debian. As I understand it, an upstream (Debian) package *should* work on a downstream (Ubuntu, Mint, etc.) system, but not necessarily vice versa. The package dependencies would be the deciding issue. My knowledge on this is quite limited, so weigh it accordingly. -- Lee From bsteers4 at gmail.com Wed Aug 30 17:34:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 30 Aug 2023 16:34:55 +0100 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: <5cace247-33f8-4c03-b772-50bc6203f8b1@gmail.com> References: <5cace247-33f8-4c03-b772-50bc6203f8b1@gmail.com> Message-ID: On Wed, 30 Aug 2023, 15:10 T Lee Davidson, wrote: > On 8/29/23 18:37, Bruce Steers wrote: > > I was looking at launchpad and see they support Debian repositories too. > > > > Could a Debian launchpad be made / used instead? > > > > Wouldn't it also work for Ubuntu and all the systems it currently does > with Ubuntu being Debian based ? > > > > Respects > > BruceS > > I have been looking into switching to Debian, and so I did some, albeit > minimal, research regarding packages from Ubuntu > community repos working on Debian. > > As I understand it, an upstream (Debian) package *should* work on a > downstream (Ubuntu, Mint, etc.) system, but not necessarily > vice versa. The package dependencies would be the deciding issue. > > My knowledge on this is quite limited, so weigh it accordingly. > > > -- > Lee > Yeah I unpacked the launchpad Ubuntu files once and tried installing them in Debian but dependencies were all messed up. Possibly it's the same trying to install a Debian built package upstream in Ubuntu? I don't know. If a Debian launchpad did work upstream it would be great ? Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Wed Aug 30 21:08:22 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Wed, 30 Aug 2023 21:08:22 +0200 Subject: [Gambas-user] Cant get DataCombo to work as expected... Message-ID: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> Hi to all, I'm currently playing around with gambas, tying to figure out if I could use it to create some little toolies for my personal need. I was quite familiar with VB6 back in the good old days, but well... long time ago. Nowadays I make my living as java backend dev. Now: I created a learing project with gambas that uses data-bound controls to display/edit a "person" table in a sqlite3 DB. Here is the relevant relational schema: person person_id INT PK sex_id INT FK -> sex.sex_id given_name VARCHAR(80) ... sex sex_id INT PK name VARCHAR(80) Some rows as example: person: 1, 1, Martin, ... 2, 1, Juliane, ... sex: 1 Male 2 Female ... Quite obvious what's going on here... I then created a gambase database project that uses a control hierarchy as follows: Form DataSource - attached to a Connection opened via code - bound to the "person" table DataBrowser DataControl for given_name ... DataCombo for sex_id This DataCombo has the following settings: - Table: sex - Field: sex_id - Display: name I understand that the underlying assumption of the DataCombo is that - the Field property specifies both the name of the column in the table of the parent datasource and the name of the pk column of the lookup-table - there is a pk whith the name specified in the Field property in the lookup table This effectively enforces that these two columns have the same name. (And by the way, that there can not be two references to such a lookup table in the same table - which sometimes is a problem...) Anyway: my schema should be OK with this. Now: what happens is: - the DataCombo does not contain values to select from. Should be: all rows from the sex table: SELECT name from sex - the DataCombo shows the value of the sex_id column from the person table. Should be: the name column of the row in the sex table with the same sex_id value This example is so primitive that I'm surprised that it went wrong. Maybe I did not understand the meaning of the properties or the DataCombo... I would be pleased if someone could take the time to look into this. I'm sure that it's only a small detail that I might have missed. You find this project attached here. It is working except the faulty behaviour of the DataCOmbo. Thanks in advance. ____________________________________ Martin Fischer From martin.fischer6 at web.de Wed Aug 30 21:10:29 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Wed, 30 Aug 2023 21:10:29 +0200 Subject: [Gambas-user] Cant get DataCombo to work as expected... In-Reply-To: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> References: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> Message-ID: OK, I forgot the attachment... Here it is. -------------- next part -------------- A non-text attachment was scrubbed... Name: DatabaseEditor.tar.gz Type: application/gzip Size: 16306 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Wed Aug 30 21:33:59 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 30 Aug 2023 21:33:59 +0200 Subject: [Gambas-user] Cant get DataCombo to work as expected... In-Reply-To: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> References: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> Message-ID: Le 30/08/2023 ? 21:08, Martin Fischer a ?crit?: > Hi to all, > > I'm currently playing around with gambas, tying to figure out if I could > use it to create some little toolies for my personal need. > > I was quite familiar with VB6 back in the good old days, but well... > long time ago. Nowadays I make my living as java backend dev. > > Now: I created a learing project with gambas that uses data-bound > controls to display/edit a "person" table in a sqlite3 DB. Here is the > relevant relational schema: > > person > ? person_id INT PK > ? sex_id INT FK -> sex.sex_id > ? given_name VARCHAR(80) > ? ... > sex > ? sex_id INT PK > ? name VARCHAR(80) > > Some rows as example: > person: > ? 1, 1, Martin, ... > ? 2, 1, Juliane, ... > sex: > ? 1 Male > ? 2 Female > ? ... > > Quite obvious what's going on here... > > I then created a gambase database project that uses a control hierarchy > as follows: > > Form > ? DataSource - attached to a Connection opened via code > ???????????? - bound to the "person" table > ??? DataBrowser > ????? DataControl for given_name > ????? ... > ????? DataCombo for sex_id > > This DataCombo has the following settings: > - Table: sex > - Field: sex_id > - Display: name > > I understand that the underlying assumption of the DataCombo is that > - the Field property specifies both the name of the column in the table > ? of the parent datasource and the name of the pk column of the > ? lookup-table > - there is a pk whith the name specified in the Field property in the > ? lookup table > This effectively enforces that these two columns have the same name. > (And by the way, that there can not be two references to such a lookup > table in the same table - which sometimes is a problem...) > Anyway: my schema should be OK with this. > > Now: what happens is: > - the DataCombo does not contain values to select from. > ? Should be: all rows from the sex table: SELECT name from sex > - the DataCombo shows the value of the sex_id column from the person > ? table. > ? Should be: the name column of the row in the sex table with the same > ? sex_id value > > This example is so primitive that I'm surprised that it went wrong. > Maybe I did not understand the meaning of the properties or the > DataCombo... > > I would be pleased if someone could take the time to look into this. > I'm sure that it's only a small detail that I might have missed. > > You find this project attached here. It is working except the faulty > behaviour of the DataCOmbo. > > Thanks in advance. > > ____________________________________ > Martin Fischer > It's actually a very old buggy optimization from 2011. To workaround it, you must not set DataSource.Connection last, after having set the DataCombo properties (the problem may be the same for other controls that needs a real refresh when the connection changes). For example, just set DataCombo.Display property again after setting DataSource Connection. It will internally force the DataCombo to refresh itself with the new data from the new connection. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Wed Aug 30 23:00:57 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 30 Aug 2023 17:00:57 -0400 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: On 8/29/23 18:37, Bruce Steers wrote: > I was looking at launchpad and see they support Debian repositories too. Where exactly did you see that? I don't find it. The only directly related info I find is https://help.launchpad.net/Packaging which somewhat contradicts itself: "Using Launchpad, you can build and distribute packages for operating systems that use Debian-style packaging. Right now, Launchpad's packaging system (sometimes called Soyuz) supports the build and distribution of packages for Ubuntu." "Ubuntu" (singular) <> "operating systems that use Debian-style packaging" (plural) -- Lee From benoit.minisini at gambas-basic.org Wed Aug 30 23:21:24 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Wed, 30 Aug 2023 23:21:24 +0200 Subject: [Gambas-user] Cant get DataCombo to work as expected... In-Reply-To: References: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> Message-ID: Le 30/08/2023 ? 22:30, Martin Fischer a ?crit?: >> >> It's actually a very old buggy optimization from 2011. >> >> To workaround it, you must not set DataSource.Connection last, after >> having set the DataCombo properties (the problem may be the same for >> other controls that needs a real refresh when the connection changes). >> >> For example, just set DataCombo.Display property again after setting >> DataSource Connection. It will internally force the DataCombo to refresh >> itself with the new data from the new connection. >> > > Thanks Benoit, > > I can confirm that my problem gets solved by executing > ? DataCombo.Display = DataCombo.Display > right after setting the Connection on the DataSource. > > I also can confirm that using a static (predefined) connection > as Datasource.Connection works *without* > ? DataCombo.Display = DataCombo.Display > > You mentioned that other data controls might be affected by this bug as > well. This raises the question, how to handle this issue properly when a > static connection is not an option. > > In my example project, I created a connection programmatically in the > Form_Open() event handler. This obviously is too late. > My goal would be to create a connection very early in the lifecycle > of the application (before the data controls get initialized) and set it > then as Db.Current so that the data controls do not suffer from a swap > of the underlying connection. This would hopefully circumvent these > problems. > > Do you know a means to do this? > > Regards > Martin > Connect to the database in the Main() function of a startup class that is not a form. Once done, show your initial form. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Wed Aug 30 23:52:28 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 30 Aug 2023 22:52:28 +0100 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: On Wed, 30 Aug 2023, 22:02 T Lee Davidson, wrote: > On 8/29/23 18:37, Bruce Steers wrote: > > I was looking at launchpad and see they support Debian repositories too. > > Where exactly did you see that? I don't find it. > > The only directly related info I find is > https://help.launchpad.net/Packaging which somewhat contradicts itself: > "Using Launchpad, you can build and distribute packages for operating > systems that use Debian-style packaging. Right now, > Launchpad's packaging system (sometimes called Soyuz) supports the build > and distribution of packages for Ubuntu." > > "Ubuntu" (singular) <> "operating systems that use Debian-style packaging" > (plural) > > > -- > Lee > I think my search ended here... https://launchpad.net/debian#:~:text=Debian%20is%20a%20free%20operating,bugs%20with%20Debian's%20bug%20tracker . Oh my god I just looked at that web page again and see I've been a cimplete idiot ! ? (it must have been late) That's Debian itself, the system, not launchpad doing Debian things ! ? I apologize everyone. Shame there isn't a Debian version of launchpad or something similar. Would be Interesting to test the theory. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Aug 31 03:34:17 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 30 Aug 2023 21:34:17 -0400 Subject: [Gambas-user] Launchpad, Debian maybe? In-Reply-To: References: Message-ID: <35674b39-50aa-4d32-8552-0f02ac225cd5@gmail.com> On 8/30/23 17:52, Bruce Steers wrote: > [...] and see I've been a cimplete idiot ! ? (it must have been late) Well, no, not a complete idiot ... you had yet to misspell "complete". :-P (Just poking fun, Bruce.) I jumped to the same misunderstanding when I first saw Debian on Launchpad. > Shame there isn't a Debian version of launchpad or something similar. I agree. Anyone can set up their own repo for any number of Debian packages. There are Debian tools to do it, but it requires hosting. Launchpad does not allow uploading of pre-compiled binary files. -- Lee From hans at gambas-buch.de Thu Aug 31 10:01:39 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Thu, 31 Aug 2023 10:01:39 +0200 Subject: [Gambas-user] Cant get DataCombo to work as expected... In-Reply-To: References: <328d7720-fd73-f6fd-3665-3ad8a3124a5f@web.de> Message-ID: Hello. Look at the source code: ??? Try conn = openConnection() ??? printPersons() ??? personDataSource.Connection = conn *dataSex.Display = "name"* ??? personDataBrowser.Columns = ["given_name", "sir_name", "birthdate"] ??? personDataBrowser.Labels = ["Vorname", "Nachname", "Geburtstag"] ??? personDataBrowser.Update() ... and it works as expected. But first delete the .Display property in the properties window. With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Thu Aug 31 15:45:34 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Thu, 31 Aug 2023 15:45:34 +0200 Subject: [Gambas-user] DataBrowser: insert new record with autoincrement PK does not work Message-ID: Hi all, I'm working an a small educational project that works with DataSource, DataBrowser and some Data controls. I'm using a very basic database schema on a Sqlite3 DB, using gambas 3.18.3: CREATE TABLE "person" ( "person_id" INTEGER, "sex_id" INTEGER NOT NULL, "given_name" VARCHAR(80) NOT NULL, "sir_name" VARCHAR(80) NOT NULL, "birthdate" DATE, PRIMARY KEY("person_id" AUTOINCREMENT), FOREIGN KEY("sex_id") REFERENCES "sex"("sex_id") ); CREATE TABLE "sex" ( "sex_id" INT4 NOT NULL, "name" VARCHAR(80), PRIMARY KEY("sex_id") ); As you might notice, the "person_id" column in the "person" table is to be auto assigned by the dB. In my project, I created a DataBrowser based on a DataSource that is bound the "person" table and added DataControls for the columns of this table. Basically this works as it should (browsing and editing works). BUT: when I create a new row via the DataBrowser +-control and fill in values to all DataControls except the control that binds the "person_id" column, I get the following error: "You must fill all mandatory fields" When I add a value to the control that binds the "person_id" column, the new row is sucessfully stored. This behaviour does not change when I remove the control that binds the "person_id" column from the form. My question: is there a way to tell gambas that the INSERT statement shall not include the "person_id" column or so? Or is there any other way to deal with such a (rather common) situation? For your convenience: I'm attaching the project (which is really minimal). Maybe that helps... Regards ____________________________________ Martin Fischer -------------- next part -------------- A non-text attachment was scrubbed... Name: DatabaseEditorDesignTimeConnection.zip Type: application/zip Size: 21125 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Thu Aug 31 16:03:19 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 31 Aug 2023 16:03:19 +0200 Subject: [Gambas-user] DataBrowser: insert new record with autoincrement PK does not work In-Reply-To: References: Message-ID: <4f1e8a01-90c3-32ef-cc8a-3f23c724f05e@gambas-basic.org> Le 31/08/2023 ? 15:45, Martin Fischer a ?crit?: > Hi all, > > I'm working an a small educational project that works with DataSource, > DataBrowser and some Data controls. > > I'm using a very basic database schema on a Sqlite3 DB, using gambas > 3.18.3: > > CREATE TABLE "person" ( > ????"person_id"??? INTEGER, > ????"sex_id"??? INTEGER NOT NULL, > ????"given_name"??? VARCHAR(80) NOT NULL, > ????"sir_name"??? VARCHAR(80) NOT NULL, > ????"birthdate"??? DATE, > ????PRIMARY KEY("person_id" AUTOINCREMENT), > ????FOREIGN KEY("sex_id") REFERENCES "sex"("sex_id") > ); > > CREATE TABLE "sex" ( > ????"sex_id"??? INT4 NOT NULL, > ????"name"??? VARCHAR(80), > ????PRIMARY KEY("sex_id") > ); > > As you might notice, the "person_id" column in the "person" table > is to be auto assigned by the dB. > > In my project, I created a DataBrowser based on a DataSource that is > bound the "person" table and added DataControls for the columns of this > table. > Basically this works as it should (browsing and editing works). > > BUT: when I create a new row via the DataBrowser +-control and > fill in values to all DataControls except the control that binds the > "person_id" column, I get the following error: > ? "You must fill all mandatory fields" > > When I add a value to the control that binds the "person_id" column, > the new row is sucessfully stored. > > This behaviour does not change when I remove the control that binds the > "person_id" column from the form. > > My question: is there a way to tell gambas that the INSERT statement > shall not include the "person_id" column or so? > > Or is there any other way to deal with such a (rather common) situation? > > For your convenience: I'm attaching the project (which is really > minimal). Maybe that helps... > > Regards > ____________________________________ > Martin Fischer > > It's because you didn't create your database from Gambas. In other words, at the moment, the only syntax that allows the 'gb.db.sqlite3' driver to detect auto increment primary key fields is: CREATE TABLE "person" ( "person_id" INTEGER AUTOINCREMENT, "sex_id" INTEGER NOT NULL, "given_name" VARCHAR(80) NOT NULL, "sir_name" VARCHAR(80) NOT NULL, "birthdate" DATE, PRIMARY KEY("person_id"), FOREIGN KEY("sex_id") REFERENCES "sex"("sex_id") ); I think the "FOREIGN KEY..." part is useless in sqlite, but I may be wrong. sqlite stores table schema as a string (the string used for creation the table), not as a bnary structure. So analyzing it is difficult, as it depends how you write it, and SQL syntax is horrible and not really standard. Regards, -- Beno?t Minisini. From martin.fischer6 at web.de Thu Aug 31 17:06:46 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Thu, 31 Aug 2023 17:06:46 +0200 Subject: [Gambas-user] DataBrowser: insert new record with autoincrement PK does not work In-Reply-To: <4f1e8a01-90c3-32ef-cc8a-3f23c724f05e@gambas-basic.org> References: <4f1e8a01-90c3-32ef-cc8a-3f23c724f05e@gambas-basic.org> Message-ID: > > It's because you didn't create your database from Gambas. > > In other words, at the moment, the only syntax that allows the > 'gb.db.sqlite3' driver to detect auto increment primary key fields is: > > CREATE TABLE "person" ( > ???? "person_id"??? INTEGER AUTOINCREMENT, > ???? "sex_id"??? INTEGER NOT NULL, > ???? "given_name"??? VARCHAR(80) NOT NULL, > ???? "sir_name"??? VARCHAR(80) NOT NULL, > ???? "birthdate"??? DATE, > ???? PRIMARY KEY("person_id"), > ???? FOREIGN KEY("sex_id") REFERENCES "sex"("sex_id") > ); > > I think the "FOREIGN KEY..." part is useless in sqlite, but I may be wrong. > > sqlite stores table schema as a string (the string used for creation the > table), not as a bnary structure. > > So analyzing it is difficult, as it depends how you write it, and SQL > syntax is horrible and not really standard. > > Regards, > Benoit, you are right, I created the schema with an external DB Browser. Incredible that the schema definition variant makes a difference here. After all the DB schema metadata should look identical for all possible syntax variants... Anyway. I changed the schema definition to: CREATE TABLE "person" ( "person_id" INTEGER PRIMARY KEY AUTOINCREMENT, "sex_id" INTEGER NOT NULL REFERENCES "sex"("sex_id"), "given_name" VARCHAR(80) NOT NULL, "sir_name" VARCHAR(80) NOT NULL, "birthdate" DATE ); and addition of a new row now works, even if I do not provide a value for the "person_id" column. As it should be... Thank you Martin From benoit.minisini at gambas-basic.org Thu Aug 31 17:13:48 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Thu, 31 Aug 2023 17:13:48 +0200 Subject: [Gambas-user] DataBrowser: insert new record with autoincrement PK does not work In-Reply-To: References: <4f1e8a01-90c3-32ef-cc8a-3f23c724f05e@gambas-basic.org> Message-ID: <89878ac2-c792-a897-b24e-9442236ac0f3@gambas-basic.org> Le 31/08/2023 ? 17:06, Martin Fischer a ?crit?: >> >> It's because you didn't create your database from Gambas. >> >> In other words, at the moment, the only syntax that allows the >> 'gb.db.sqlite3' driver to detect auto increment primary key fields is: >> >> CREATE TABLE "person" ( >> ????? "person_id"??? INTEGER AUTOINCREMENT, >> ????? "sex_id"??? INTEGER NOT NULL, >> ????? "given_name"??? VARCHAR(80) NOT NULL, >> ????? "sir_name"??? VARCHAR(80) NOT NULL, >> ????? "birthdate"??? DATE, >> ????? PRIMARY KEY("person_id"), >> ????? FOREIGN KEY("sex_id") REFERENCES "sex"("sex_id") >> ); >> >> I think the "FOREIGN KEY..." part is useless in sqlite, but I may be >> wrong. >> >> sqlite stores table schema as a string (the string used for creation the >> table), not as a bnary structure. >> >> So analyzing it is difficult, as it depends how you write it, and SQL >> syntax is horrible and not really standard. >> >> Regards, >> > > Benoit, > > you are right, I created the schema with an external DB Browser. > Incredible that the schema definition variant makes a difference here. > After all the DB schema metadata should look identical for all possible > syntax variants... Indeed, but alas sqlite does not provide its internal DB schema metadata. Only the text of the table creation request, which may vary a lot for the same schema. -- Beno?t Minisini.