From bsteers4 at gmail.com Mon May 1 13:20:31 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 1 May 2023 12:20:31 +0100 Subject: [Gambas-user] This made me chuckle so much i just had to share it... Message-ID: This made me laugh a lot (at myself) Some of my merge requests have probably been like this to Benoit ;) Stay happy y'all :^) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: prog1.jpg Type: image/jpeg Size: 97321 bytes Desc: not available URL: From shordi at gmail.com Mon May 1 17:34:39 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Mon, 1 May 2023 17:34:39 +0200 Subject: [Gambas-user] Translation Failure with 3.16.2 In-Reply-To: <82254434-598b-e6b0-4f0c-115a673706e3@gambas-basic.org> References: <6158e020-5b6b-b653-e810-feef52ba1694@gambas-basic.org> <06115216-a93e-c64d-b950-5595e2a28201@gradobag.it> <82254434-598b-e6b0-4f0c-115a673706e3@gambas-basic.org> Message-ID: Thank you very much, Beno?t. Great Job, as always. Best Regards El s?b, 29 abr 2023 a las 12:19, Benoit Minisini (< benoit.minisini at gambas-basic.org>) escribi?: > Le 26/04/2023 ? 10:07, Jorge Carri?n a ?crit : > > Of course. The simplest of all. > > -I have done a fresh installation of Linux, to prevent some > > misconfiguration somewhere. > > -Languages installed in the system Spanish and English > > -I have updated the system > > -I have installed the stable PPA repository > > -I installed Gambas3 > > -and I've done this project. > > The error is repeated as soon as you do the translation. Indicates error > > in the last position of the first row. As stated here, in the .po file > > the string "#, fuzzy" should appear on the first line. If that string is > > manually added as the first line then the error appears in the last > > position of the second line. > > If you remove from the .po all the lines before the "#, fuzzy" appears > > (line 13 of the es_ES.po in the project) the translation works but as > > soon as you modify any string with the IDE translator the error appears > > again. > > > > Best Regards > > I have backported a fix from the development version in the 'stable' > branch (that will become 3.18.3). > > Now, if you open the translation dialog, you still have the error. But > if you save the translation, the translation file is automatically fixed. > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hartmut.w.wagener at t-online.de Mon May 1 23:00:05 2023 From: hartmut.w.wagener at t-online.de (Hartmut Wagener) Date: Mon, 1 May 2023 23:00:05 +0200 Subject: [Gambas-user] Keyboard-commands navigating buttons Message-ID: <06f417d1-6936-3d7a-e14b-14808fd74a77@t-online.de> Hi, i have some tools that is use to start rograms. These are several Gambas-Programs that use buttons to start different programs. In the past (some years ago), the cursor-commands went through the buttons, so i could use them to navigate a button and press enter to start it. Since some time (a year or more), this was not possible, i added a keyboard-control to stear the focus of the buttons. Since today i have changed my desktop from Mate to Plasma, and i was astonished that each Cursor-Keypress now moves two buttons, so i need to disable my keyboard-control. How can i manage to find out if the programs runs on a system that needs the additional- keyboard-thing or not? Thanks a lot PS: My keyboard-control looks like that: Public Sub Form_KeyPress() ? ' Tastendruck ? Dim ltext As Variant ? Dim chara As Integer ? ltext = Key.Text ? chara = Key.Code ? If Not IsNull(ltext) Then ??? chara = Asc(ltext) ??? If chara = 27 Then ????? Me.close ??? endif Else ??? Select Case chara ????? Case Key.Up ??????? moveup ????? Case Key.Down ??????? movedown ??? End Select ? Endif From bsteers4 at gmail.com Mon May 1 23:22:03 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 1 May 2023 22:22:03 +0100 Subject: [Gambas-user] Keyboard-commands navigating buttons In-Reply-To: <06f417d1-6936-3d7a-e14b-14808fd74a77@t-online.de> References: <06f417d1-6936-3d7a-e14b-14808fd74a77@t-online.de> Message-ID: On Mon, 1 May 2023 at 22:01, Hartmut Wagener wrote: > Hi, > > i have some tools that is use to start rograms. These are several > Gambas-Programs that use buttons to start different programs. > > In the past (some years ago), the cursor-commands went through the > buttons, so i could use them to navigate a button and press enter to > start it. > > Since some time (a year or more), this was not possible, i added a > keyboard-control to stear the focus of the buttons. > > Since today i have changed my desktop from Mate to Plasma, and i was > astonished that each Cursor-Keypress now moves two buttons, so i need to > disable my keyboard-control. > > > How can i manage to find out if the programs runs on a system that needs > the additional- keyboard-thing or not? > > Thanks a lot > Have you tried using the instruction... Stop Event http://gambaswiki.org/wiki/lang/stopevent see if it stops the keypress event going any further than your custom method. Select Case chara Case Key.Up moveup Stop Event Case Key.Down movedown Stop Event End Select BruceS > > > PS: My keyboard-control looks like that: > > > Public Sub Form_KeyPress() > ' Tastendruck > Dim ltext As Variant > Dim chara As Integer > ltext = Key.Text > chara = Key.Code > If Not IsNull(ltext) Then > chara = Asc(ltext) > If chara = 27 Then > Me.close > > endif > > Else > Select Case chara > Case Key.Up > moveup > Case Key.Down > movedown > End Select > Endif > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hartmut.w.wagener at t-online.de Mon May 1 23:54:36 2023 From: hartmut.w.wagener at t-online.de (Hartmut Wagener) Date: Mon, 1 May 2023 23:54:36 +0200 Subject: [Gambas-user] Keyboard-commands navigating buttons In-Reply-To: References: <06f417d1-6936-3d7a-e14b-14808fd74a77@t-online.de> Message-ID: <35308b9d-027e-9472-24f1-e70a583250ce@t-online.de> Thanks a lot, this works... :) Am 01.05.23 um 23:22 schrieb Bruce Steers: > > > On Mon, 1 May 2023 at 22:01, Hartmut Wagener > wrote: > > Hi, > > i have some tools that is use to start rograms. These are several > Gambas-Programs that use buttons to start different programs. > > In the past (some years ago), the cursor-commands went through the > buttons, so i could use them to navigate a button and press enter to > start it. > > Since some time (a year or more), this was not possible, i added a > keyboard-control to stear the focus of the buttons. > > Since today i have changed my desktop from Mate to Plasma, and i was > astonished that each Cursor-Keypress now moves two buttons, so i > need to > disable my keyboard-control. > > > How can i manage to find out if the programs runs on a system that > needs > the additional- keyboard-thing or not? > > Thanks a lot > > > Have you tried using the instruction... > > Stop Event > > http://gambaswiki.org/wiki/lang/stopevent > > see if it stops the keypress event going any further than your custom > method. > > Select Case chara > ?????? Case Key.Up > ???????? moveup > Stop Event > ?????? Case Key.Down > ???????? movedown > Stop Event > ???? End Select > > > BruceS > > > > PS: My keyboard-control looks like that: > > > Public Sub Form_KeyPress() > ?? ' Tastendruck > ?? Dim ltext As Variant > ?? Dim chara As Integer > ?? ltext = Key.Text > ?? chara = Key.Code > ?? If Not IsNull(ltext) Then > ???? chara = Asc(ltext) > ???? If chara = 27 Then > ?????? Me.close > > ???? endif > > Else > ???? Select Case chara > ?????? Case Key.Up > ???????? moveup > ?????? Case Key.Down > ???????? movedown > ???? End Select > ?? Endif > > > ----[ 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 May 2 02:19:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 2 May 2023 01:19:58 +0100 Subject: [Gambas-user] Keyboard-commands navigating buttons In-Reply-To: <35308b9d-027e-9472-24f1-e70a583250ce@t-online.de> References: <06f417d1-6936-3d7a-e14b-14808fd74a77@t-online.de> <35308b9d-027e-9472-24f1-e70a583250ce@t-online.de> Message-ID: On Mon, 1 May 2023 at 22:54, Hartmut Wagener wrote: > Thanks a lot, this works... :) > You're welcome :) I think you will find the problem is with the various toolkits/themes on each system. gtk and qt themes can behave differently with keypress events, some support movement via arrow keys and others do not. I know for a fact a group of checkbox controls in a panel can be navigated by arrow keys with QT5 but not with GTK3 So it's hard to say if keyboard control is going to be supported or not if you use gb.gui The best you can do is what you are doing and using Stop Event to make sure nothing else tries to do it as well. Respects BruceS > Am 01.05.23 um 23:22 schrieb Bruce Steers: > > > > On Mon, 1 May 2023 at 22:01, Hartmut Wagener < > hartmut.w.wagener at t-online.de> wrote: > >> Hi, >> >> i have some tools that is use to start rograms. These are several >> Gambas-Programs that use buttons to start different programs. >> >> In the past (some years ago), the cursor-commands went through the >> buttons, so i could use them to navigate a button and press enter to >> start it. >> >> Since some time (a year or more), this was not possible, i added a >> keyboard-control to stear the focus of the buttons. >> >> Since today i have changed my desktop from Mate to Plasma, and i was >> astonished that each Cursor-Keypress now moves two buttons, so i need to >> disable my keyboard-control. >> >> >> How can i manage to find out if the programs runs on a system that needs >> the additional- keyboard-thing or not? >> >> Thanks a lot >> > > Have you tried using the instruction... > > Stop Event > > http://gambaswiki.org/wiki/lang/stopevent > > see if it stops the keypress event going any further than your custom > method. > > Select Case chara > Case Key.Up > moveup > Stop Event > Case Key.Down > movedown > Stop Event > End Select > > > BruceS > > >> >> >> PS: My keyboard-control looks like that: >> >> >> Public Sub Form_KeyPress() >> ' Tastendruck >> Dim ltext As Variant >> Dim chara As Integer >> ltext = Key.Text >> chara = Key.Code >> If Not IsNull(ltext) Then >> chara = Asc(ltext) >> If chara = 27 Then >> Me.close >> >> endif >> >> Else >> Select Case chara >> Case Key.Up >> moveup >> Case Key.Down >> movedown >> End Select >> Endif >> >> >> ----[ 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 Wed May 3 13:31:47 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 3 May 2023 12:31:47 +0100 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: References: Message-ID: On Sun, 30 Apr 2023 at 22:52, Bruce Steers wrote: > > https://gitlab.com/bsteers4/gambas/-/commit/20781bb43271e624d1bc3bbb83316f49e7692ee9 > > oooh yeah :) > gotta run it through some serious testing yet but ,,, oooh yeah :) > Does this Keystroke recorder not interest anyone? https://gitlab.com/bsteers4/gambas/-/commits/Keystroke_Recorder?ref_type=heads Actually found myself using it last night on a repetitive task. I have set Ctrl-F7 to toggle recording and Ctrl-Insert to playback and boy did it speed up that little task :) This is something I am going to utilize well :) I've added a simple editor to manually edit macros. The methods I have used should theoretically work with gtk, qt and wayland. Summary of methods... Enabling/disabling the recorder creates or destroys it's own observer on the TextEditor keypress event so when not in use it has zero effect on current methods. When recording, Key class properties are converted to a pseudo MacroKey.class and saved as a sequence of MacroKey[] using Shortcut text. Playback sends the MacroKey[] sequence to a copy of the TextEditor_KeyPress method converted to use MacroKey.class not Key.class. All OnKeyPress methods/functions in the Mode files also have OnMacroPress alternative. Todo: a Std TextEditor has it's own Find method/objects and pressing F3 in a macro event will find the next text. the IDE works differently though and I have not yet worked out how to get the last search text. next job Is this not anything of interest to you Ben? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Wed May 3 18:05:32 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 3 May 2023 19:05:32 +0300 Subject: [Gambas-user] convert string to collection Message-ID: <20230503160441.M77754@455.co.il> I want to convert the string to a collection The way I did it is: Public Sub Main() Dim col_01 As New Collection Dim ar_s_01 As String[] Dim s_01 As String Dim s_02 As String s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" ar_s_01 = Split(s_01, Chr(10)) For Each s_02 In ar_s_01 col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) Next Print col_01["Event"] Print col_01["Privilege"] Print col_01["Uniqueid"] Stop End Is this the right way? Or is there a shorter way to do it? Thank you -------------- next part -------------- A non-text attachment was scrubbed... Name: coll_01.zip Type: application/zip Size: 15026 bytes Desc: not available URL: From t.lee.davidson at gmail.com Wed May 3 19:49:00 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 3 May 2023 13:49:00 -0400 Subject: [Gambas-user] convert string to collection In-Reply-To: <20230503160441.M77754@455.co.il> References: <20230503160441.M77754@455.co.il> Message-ID: <9663ea96-821f-24c5-d4da-17e0d8090f46@gmail.com> On 5/3/23 12:05, Mayost Sharon wrote: > I want to convert the string to a collection > > The way I did it is: > > Public Sub Main() > Dim col_01 As New Collection > Dim ar_s_01 As String[] > Dim s_01 As String > Dim s_02 As String > > s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" > > ar_s_01 = Split(s_01, Chr(10)) > > For Each s_02 In ar_s_01 > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > Next > > Print col_01["Event"] > Print col_01["Privilege"] > Print col_01["Uniqueid"] > Stop > End > > Is this the right way? > Or is there a shorter way to do it? > > Thank you That looks about right. The only thing I can think of to make it shorter, but not by much, is to replace: ar_s_01 = Split(s_01, Chr(10)) For Each s_02 In ar_s_01 col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) Next with: For Each s_02 In Split(s_01, Chr(10)) col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) Next -- Lee From sharon at 455.co.il Wed May 3 21:08:47 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 3 May 2023 22:08:47 +0300 Subject: [Gambas-user] Collection(gb.IgnoreCase) Message-ID: <20230503190315.M36545@455.co.il> Hello I'm trying to create a collection for a case-insensitive comparison According to this example: Public Sub Main() Dim MyCollection As Collection MyCollection = New Collection(gb.IgnoreCase) MyCollection = ["k1": "v1"] Print MyCollection["K1"] End But it returns a value of NULL Thanks From sharon at 455.co.il Wed May 3 21:11:19 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 3 May 2023 22:11:19 +0300 Subject: [Gambas-user] convert string to collection In-Reply-To: <9663ea96-821f-24c5-d4da-17e0d8090f46@gmail.com> References: <20230503160441.M77754@455.co.il> <9663ea96-821f-24c5-d4da-17e0d8090f46@gmail.com> Message-ID: <20230503191058.M3666@455.co.il> ??"? ???? ?????, ????? ????? ???? ????: 058-4002542 ???? ????: 02-5498005 ???? ???: 02-5498008 ---------- Original Message ----------- From: T Lee Davidson To: user at lists.gambas-basic.org Sent: Wed, 3 May 2023 13:49:00 -0400 Subject: Re: [Gambas-user] convert string to collection > On 5/3/23 12:05, Mayost Sharon wrote: > > I want to convert the string to a collection > > > > The way I did it is: > > > > Public Sub Main() > > Dim col_01 As New Collection > > Dim ar_s_01 As String[] > > Dim s_01 As String > > Dim s_02 As String > > > > s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" > > > > ar_s_01 = Split(s_01, Chr(10)) > > > > For Each s_02 In ar_s_01 > > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > > Next > > > > Print col_01["Event"] > > Print col_01["Privilege"] > > Print col_01["Uniqueid"] > > Stop > > End > > > > Is this the right way? > > Or is there a shorter way to do it? > > > > Thank you > That looks about right. The only thing I can think of to make it shorter, but > not by much, is to replace: ar_s_01 = Split(s_01, Chr(10)) > > For Each s_02 In ar_s_01 > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > Next > > with: > For Each s_02 In Split(s_01, Chr(10)) > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > Next > > -- > Lee > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- Thanks From jussi.lahtinen at gmail.com Thu May 4 00:29:36 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 May 2023 01:29:36 +0300 Subject: [Gambas-user] convert string to collection In-Reply-To: <20230503160441.M77754@455.co.il> References: <20230503160441.M77754@455.co.il> Message-ID: Lee already showed the shorter way, but did you mean faster..? Jussi On Wed, May 3, 2023 at 7:06?PM Mayost Sharon wrote: > I want to convert the string to a collection > > The way I did it is: > > Public Sub Main() > Dim col_01 As New Collection > Dim ar_s_01 As String[] > Dim s_01 As String > Dim s_02 As String > > s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - > 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: > Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" > > ar_s_01 = Split(s_01, Chr(10)) > > For Each s_02 In ar_s_01 > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > Next > > Print col_01["Event"] > Print col_01["Privilege"] > Print col_01["Uniqueid"] > Stop > End > > Is this the right way? > Or is there a shorter way to do it? > > Thank you > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu May 4 00:36:37 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 May 2023 01:36:37 +0300 Subject: [Gambas-user] Collection(gb.IgnoreCase) In-Reply-To: <20230503190315.M36545@455.co.il> References: <20230503190315.M36545@455.co.il> Message-ID: > > MyCollection = New Collection(gb.IgnoreCase) > This defines the collection as case insensitive. MyCollection = ["k1": "v1"] > This assigns the collection to be inline collection, which is by default case sensitive. So, instead of using inline collection, use the add method to populate it. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Thu May 4 07:06:29 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 4 May 2023 08:06:29 +0300 Subject: [Gambas-user] convert string to collection In-Reply-To: References: <20230503160441.M77754@455.co.il> Message-ID: <20230504050109.M63793@455.co.il> ---------- Original Message ----------- From: Jussi Lahtinen To: Gambas Mailing List Sent: Thu, 4 May 2023 01:29:36 +0300 Subject: Re: [Gambas-user] convert string to collection > Lee already showed the shorter way, but did you mean faster..? > > Jussi > > On Wed, May 3, 2023 at 7:06?PM Mayost Sharon wrote: > > > I want to convert the string to a collection > > > > The way I did it is: > > > > Public Sub Main() > > Dim col_01 As New Collection > > Dim ar_s_01 As String[] > > Dim s_01 As String > > Dim s_02 As String > > > > s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - > > 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: > > Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" > > > > ar_s_01 = Split(s_01, Chr(10)) > > > > For Each s_02 In ar_s_01 > > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > > Next > > > > Print col_01["Event"] > > Print col_01["Privilege"] > > Print col_01["Uniqueid"] > > Stop > > End > > > > Is this the right way? > > Or is there a shorter way to do it? > > > > Thank you > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ------- End of Original Message ------- Yes I meant it to be faster too According to what Lee showed Will it work slower? why? Thank you From sharon at 455.co.il Thu May 4 07:20:38 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 4 May 2023 08:20:38 +0300 Subject: [Gambas-user] Collection(gb.IgnoreCase) In-Reply-To: References: <20230503190315.M36545@455.co.il> Message-ID: <20230504051234.M28870@455.co.il> Thanks I understand that this: MyCollection = ["key1": "v1"] MyCollection = ["KEY1": "v1"] In the end there will be only one in the collection But it would seem that even when I want to know the certain value that is in the collection Print MyCollection["key1"] that it will not be case sensitive ---------- Original Message ----------- From: Jussi Lahtinen To: Gambas Mailing List Sent: Thu, 4 May 2023 01:36:37 +0300 Subject: Re: [Gambas-user] Collection(gb.IgnoreCase) > > > > MyCollection = New Collection(gb.IgnoreCase) > > > > This defines the collection as case insensitive. > > MyCollection = ["k1": "v1"] > > > > This assigns the collection to be inline collection, which is by default > case sensitive. > > So, instead of using inline collection, use the add method to populate it. > > Jussi ------- End of Original Message ------- From bsteers4 at gmail.com Thu May 4 11:38:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 4 May 2023 10:38:58 +0100 Subject: [Gambas-user] convert string to collection In-Reply-To: <20230504050109.M63793@455.co.il> References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: On Thu, 4 May 2023 at 06:07, Mayost Sharon wrote: > ---------- Original Message ----------- > From: Jussi Lahtinen > To: Gambas Mailing List > Sent: Thu, 4 May 2023 01:29:36 +0300 > Subject: Re: [Gambas-user] convert string to collection > > > Lee already showed the shorter way, but did you mean faster..? > > > > Jussi > > > > On Wed, May 3, 2023 at 7:06?PM Mayost Sharon wrote: > > > > > I want to convert the string to a collection > > > > > > The way I did it is: > > > > > > Public Sub Main() > > > Dim col_01 As New Collection > > > Dim ar_s_01 As String[] > > > Dim s_01 As String > > > Dim s_02 As String > > > > > > s_01 = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 > F2060EB4 - > > > 00000000\nUniqueid: 1283174108.0\nCallerIDNum: > 2565551212\nCallerIDName: > > > Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" > > > > > > ar_s_01 = Split(s_01, Chr(10)) > > > > > > For Each s_02 In ar_s_01 > > > col_01.Add(Trim(Split(s_02, ":")[1]), Trim(Split(s_02, ":")[0])) > > > Next > > > > > > Print col_01["Event"] > > > Print col_01["Privilege"] > > > Print col_01["Uniqueid"] > > > Stop > > > End > > > > > > Is this the right way? > > > Or is there a shorter way to do it? > > > > > > Thank you > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ------- End of Original Message ------- > > Yes > I meant it to be faster too > > According to what Lee showed > Will it work slower? > why? > > Thank you > 3 ways to speed it up... Only use Split to Split the string once then use the vars. Using Split twice is slower. do not use Trim on var[0] as it is not needed. use LTrim as this will only test the left part of the string. Dim aSplit As String[] For Each s_02 In Split(s_01, Chr(10)) aSplit = Split(s_02, ":") col_01.Add(LTrim(aSplit[1]), aSplit[0]) Next Or maybe it is faster using Mid... Dim iPos As Integer For Each s_02 In Split(s_01, Chr(10)) iPos = InStr(s_02, ": ") col_01.Add(Mid(s_02, iPos + 2)), Mid(s_02, 1, iPos - 1)) Next I am not sure what is the fastest. You can test speed yourself. Make a For/Next loop that runs the method 100 times activate the profiler (menu Debug/Activate profiling) Press "run", let the code complete then close the program and see the results of your method. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu May 4 11:42:33 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 4 May 2023 10:42:33 +0100 Subject: [Gambas-user] convert string to collection In-Reply-To: References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: On Thu, 4 May 2023 at 10:38, Bruce Steers wrote: > > > On Thu, 4 May 2023 at 06:07, Mayost Sharon wrote: > >> ---------- Original Message ----------- >> From: Jussi Lahtinen >> To: Gambas Mailing List >> Sent: Thu, 4 May 2023 01:29:36 +0300 >> Subject: Re: [Gambas-user] convert string to collection >> >> -- snip -- >> > > Or maybe it is faster using Mid... > > Dim iPos As Integer > For Each s_02 In Split(s_01, Chr(10)) > iPos = InStr(s_02, ": ") > col_01.Add(Mid(s_02, iPos + 2)), Mid(s_02, 1, iPos - 1)) > Next > oops got an extra ) char there.. should be col_01.Add(Mid(s_02, iPos + 2), Mid(s_02, 1, iPos - 1)) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu May 4 14:44:43 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 4 May 2023 14:44:43 +0200 Subject: [Gambas-user] convert string to collection In-Reply-To: References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: Dim a as string[] For each s in split(s2) a=scan(s,"*:*") cRet[a[0]]=a[1] Next Best regards, Fabien Le jeu. 4 mai 2023 ? 11:43, Bruce Steers a ?crit : > > > On Thu, 4 May 2023 at 10:38, Bruce Steers wrote: > >> >> >> On Thu, 4 May 2023 at 06:07, Mayost Sharon wrote: >> >>> ---------- Original Message ----------- >>> From: Jussi Lahtinen >>> To: Gambas Mailing List >>> Sent: Thu, 4 May 2023 01:29:36 +0300 >>> Subject: Re: [Gambas-user] convert string to collection >>> >>> -- snip -- >>> >> > >> Or maybe it is faster using Mid... >> >> Dim iPos As Integer >> For Each s_02 In Split(s_01, Chr(10)) >> iPos = InStr(s_02, ": ") >> col_01.Add(Mid(s_02, iPos + 2)), Mid(s_02, 1, iPos - 1)) >> Next >> > > oops got an extra ) char there.. > should be > col_01.Add(Mid(s_02, iPos + 2), Mid(s_02, 1, iPos - 1)) > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu May 4 15:03:19 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 4 May 2023 09:03:19 -0400 Subject: [Gambas-user] Collection(gb.IgnoreCase) In-Reply-To: <20230504051234.M28870@455.co.il> References: <20230503190315.M36545@455.co.il> <20230504051234.M28870@455.co.il> Message-ID: On 5/4/23 01:20, Mayost Sharon wrote: > I understand that this: > MyCollection = ["key1": "v1"] > MyCollection = ["KEY1": "v1"] > In the end there will be only one in the collection > > But it would seem that even when I want to know the certain value that is in the collection > Print MyCollection["key1"] > that it will not be case sensitive But, it *will* be case sensitive because you have changed the Mode of MyCollection by assigning to it an inline collection that, by default, is case sensitive. The result of "MyCollection = New Collection(gb.IgnoreCase)" is you have an empty collection that is case-insensitive. Then, you *overwrite* that empty collection with a case-sensitive collection with one key/value pair. It is, essentially, a *different* collection. Try the following, first as it is, and then with the commented line uncommented: [code] Public Sub main() Dim MyCollection As New Collection(gb.IgnoreCase) ' MyCollection = ["KEY1": "v1"] MyCollection.Add("v1", "key1") MyCollection.Add("v1", "Key1") For Each sValue As String In MyCollection Print MyCollection.Key, sValue Next End [/code] See the difference? -- Lee From gradobag at gradobag.it Thu May 4 15:29:11 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 4 May 2023 15:29:11 +0200 Subject: [Gambas-user] convert string to collection In-Reply-To: References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: Il 04/05/23 14:44, Fabien Bodard ha scritto: > Dim a as string[] > For each s in split(s2) > a=scan(s,"*:*") > cRet[a[0]]=a[1] > Next > > > Best regards, > Fabien > Hi Fabien, Nice code, but I think it needs to be given: For Each s In Split(s2, "\n", Null, True) Regards Gianluigi From gradobag at gradobag.it Thu May 4 15:42:56 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 4 May 2023 15:42:56 +0200 Subject: [Gambas-user] convert string to collection In-Reply-To: References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: Il 04/05/23 15:29, Gianluigi ha scritto: > Il 04/05/23 14:44, Fabien Bodard ha scritto: >> Dim a as string[] >> For each s in split(s2) >> a=scan(s,"*:*") >> cRet[a[0]]=a[1] >> Next >> >> >> Best regards, >> Fabien >> > Hi Fabien, > > Nice code, but I think it needs to be given: > For Each s In Split(s2, "\n", Null, True) > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Fabien, Sorry I made a mistake, it needs a Trim on a[1] :-( Here is the code that works: ? Dim cRet As New Collection ? Dim a As String[] ? Dim s2 As String = "Event: Hangup\nPrivilege: call, all\nChannel: SIP / 4 F2060EB4 - 00000000\nUniqueid: 1283174108.0\nCallerIDNum: 2565551212\nCallerIDName: Russell Bryant\nCause: 16\nCause - txt: Normal Clearing" ? For Each s As String In Split(s2, "\n") ??? a = Scan(s, "*:*") ??? cRet[a[0]] = Trim(a[1]) ? Next ? Print cRet["Event"] ? Print cRet["Privilege"] ? Print cRet["Uniqueid"] Regards ? Gianluigi From jussi.lahtinen at gmail.com Thu May 4 19:42:19 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 May 2023 20:42:19 +0300 Subject: [Gambas-user] Collection(gb.IgnoreCase) In-Reply-To: <20230504051234.M28870@455.co.il> References: <20230503190315.M36545@455.co.il> <20230504051234.M28870@455.co.il> Message-ID: MyCollection = New Collection(gb.IgnoreCase) Now "MyCollection" is collection number 1. And ["key1: "v1"] is collection number 2, which is case sensitive. MyCollection = ["key1": "v1"] Now "MyCollection" is collection number 2. Collection 1 is lost, overwritten. Jussi On Thu, May 4, 2023 at 8:21?AM Mayost Sharon wrote: > Thanks > > I understand that this: > MyCollection = ["key1": "v1"] > MyCollection = ["KEY1": "v1"] > In the end there will be only one in the collection > > But it would seem that even when I want to know the certain value that is > in the collection > Print MyCollection["key1"] > that it will not be case sensitive > > ---------- Original Message ----------- > From: Jussi Lahtinen > To: Gambas Mailing List > Sent: Thu, 4 May 2023 01:36:37 +0300 > Subject: Re: [Gambas-user] Collection(gb.IgnoreCase) > > > > > > > MyCollection = New Collection(gb.IgnoreCase) > > > > > > > This defines the collection as case insensitive. > > > > MyCollection = ["k1": "v1"] > > > > > > > This assigns the collection to be inline collection, which is by default > > case sensitive. > > > > So, instead of using inline collection, use the add method to populate > it. > > > > Jussi > ------- End of Original Message ------- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Thu May 4 19:46:58 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Thu, 4 May 2023 20:46:58 +0300 Subject: [Gambas-user] convert string to collection In-Reply-To: <20230504050109.M63793@455.co.il> References: <20230503160441.M77754@455.co.il> <20230504050109.M63793@455.co.il> Message-ID: > > Yes > I meant it to be faster too > > According to what Lee showed > Will it work slower? > why? > Shorter is NOT necessarily faster. Some commands run faster than others. Also some ways cause more things to do, than others. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Fri May 5 04:29:13 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Fri, 5 May 2023 05:29:13 +0300 Subject: [Gambas-user] Collection(gb.IgnoreCase) In-Reply-To: References: <20230503190315.M36545@455.co.il> Message-ID: <20230505022718.M29743@455.co.il> ---------- Original Message ----------- From: Jussi Lahtinen To: Gambas Mailing List Sent: Thu, 4 May 2023 01:36:37 +0300 Subject: Re: [Gambas-user] Collection(gb.IgnoreCase) > > > > MyCollection = New Collection(gb.IgnoreCase) > > > > This defines the collection as case insensitive. > > MyCollection = ["k1": "v1"] > > > > This assigns the collection to be inline collection, which is by default > case sensitive. > > So, instead of using inline collection, use the add method to populate it. > > Jussi ------- End of Original Message ------- Thank you According to what you said with ADD it works Many thanks From mbelmonte at belmotek.net Fri May 5 11:28:44 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Fri, 5 May 2023 11:28:44 +0200 Subject: [Gambas-user] System colors Message-ID: Hi, I do the following to get the system colours, but it only works with the constants. How can I get the values of the following properties? ? Dim xColor As Class = Classes["Color"] ? Dim sSymbol As String ? For Each sSymbol In xColor.Symbols ??? Select xColor[sSymbol].Kind ????? Case Class.Constant ??????? $aColors.Add([xColor[sSymbol].Value, sSymbol]) ????? Case Class.Property ??????? Print "Property: " & sSymbol ????? Case Class.Variable ??????? Print "Variable: " & sSymbol ??? End Select ? Next How I can obtain it in a simple way the default system colors? Property: Background Property: Foreground Property: LinkForeground Property: TextBackground Property: TextForeground Property: LightBackground Property: LightForeground Property: ButtonBackground Property: ButtonForeground Property: TooltipBackground Property: TooltipForeground Property: VisitedForeground Property: SelectedBackground Property: SelectedForeground Thanks. Martin. From bsteers4 at gmail.com Fri May 5 12:02:25 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 May 2023 11:02:25 +0100 Subject: [Gambas-user] System colors In-Reply-To: References: Message-ID: On Fri, 5 May 2023 at 10:28, Mart?n wrote: > Hi, > > I do the following to get the system colours, but it only works with the > constants. How can I get the values of the following properties? > > Dim xColor As Class = Classes["Color"] > Dim sSymbol As String > > For Each sSymbol In xColor.Symbols > Select xColor[sSymbol].Kind > Case Class.Constant > $aColors.Add([xColor[sSymbol].Value, sSymbol]) > Case Class.Property > Print "Property: " & sSymbol > Case Class.Variable > Print "Variable: " & sSymbol > End Select > Next > > How I can obtain it in a simple way the default system colors? > > Property: Background > Property: Foreground > Property: LinkForeground > Property: TextBackground > Property: TextForeground > Property: LightBackground > Property: LightForeground > Property: ButtonBackground > Property: ButtonForeground > Property: TooltipBackground > Property: TooltipForeground > Property: VisitedForeground > Property: SelectedBackground > Property: SelectedForeground > > Thanks. > > Martin. Object.GetProperty() ? Print "Property: " & sSymbol, Object.GetProperty(Color, sSymbol) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri May 5 12:07:22 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 May 2023 11:07:22 +0100 Subject: [Gambas-user] System colors In-Reply-To: References: Message-ID: On Fri, 5 May 2023 at 11:02, Bruce Steers wrote: > > > On Fri, 5 May 2023 at 10:28, Mart?n wrote: > >> Hi, >> >> I do the following to get the system colours, but it only works with the >> constants. How can I get the values of the following properties? >> >> Dim xColor As Class = Classes["Color"] >> Dim sSymbol As String >> >> For Each sSymbol In xColor.Symbols >> Select xColor[sSymbol].Kind >> Case Class.Constant >> $aColors.Add([xColor[sSymbol].Value, sSymbol]) >> Case Class.Property >> Print "Property: " & sSymbol >> Case Class.Variable >> Print "Variable: " & sSymbol >> End Select >> Next >> >> How I can obtain it in a simple way the default system colors? >> > this.. For Each sSymbol In xColor.Symbols Select xColor[sSymbol].Kind Case Class.Constant Print "Constant: ", sSymbol, Object.GetProperty(Color, sSymbol) $aColors.Add([xColor[sSymbol].Value, sSymbol]) Case Class.Property Print "Property: " & sSymbol, Object.GetProperty(Color, sSymbol) Case Class.Variable Print "Variable: " & sSymbol End Select Next produces this... Constant: Red 16711680 Constant: Blue 255 Constant: Cyan 65535 Constant: Gray 8421504 Constant: Pink 16744703 Constant: Black 0 Constant: Green 65280 Constant: Royal 33023 Constant: White 16777215 Constant: Orange 16744448 Constant: Purple 16711808 Constant: Violet 8388863 Constant: Yellow 16776960 Constant: DarkRed 8388608 Constant: Default -1 Constant: Magenta 16711935 Constant: SoftRed 16744576 Constant: DarkBlue 128 Constant: DarkCyan 32896 Constant: DarkGray 4210752 Constant: SoftBlue 8421631 Constant: SoftCyan 8454143 Constant: DarkGreen 32768 Constant: DarkRoyal 16512 Constant: LightGray 12632256 Constant: SoftGreen 8454016 Constant: SoftRoyal 8438015 Property: Background 16184820 Constant: DarkOrange 8404992 Constant: DarkPurple 8388672 Constant: DarkViolet 4194432 Constant: DarkYellow 8421376 Property: Foreground 3028022 Constant: SoftOrange 16760960 Constant: SoftPurple 16744640 Constant: SoftViolet 12615935 Constant: SoftYellow 16777088 Constant: DarkMagenta 8388736 Constant: SoftMagenta 16744703 Constant: Transparent -16777216 Property: LinkForeground 1796811 Property: TextBackground 16777215 Property: TextForeground 0 Property: LightBackground 7186668 Property: LightForeground 12106930 Property: ButtonBackground 15855598 Property: ButtonForeground 3028022 Property: TooltipBackground 855638016 Property: TooltipForeground 16777215 Property: VisitedForeground 1397662 Property: SelectedBackground 3507428 Property: SelectedForeground 16777215 BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri May 5 12:23:17 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 May 2023 11:23:17 +0100 Subject: [Gambas-user] System colors In-Reply-To: References: Message-ID: Of course as you probably know it's not needed for the Constants as xColor[sSymbol].Value can be used but knowing it can also be used could possibly simplify some code. Enjoy BruceS On Fri, 5 May 2023 at 11:07, Bruce Steers wrote: > > > On Fri, 5 May 2023 at 11:02, Bruce Steers wrote: > >> >> >> On Fri, 5 May 2023 at 10:28, Mart?n wrote: >> >>> Hi, >>> >>> I do the following to get the system colours, but it only works with the >>> constants. How can I get the values of the following properties? >>> >>> Dim xColor As Class = Classes["Color"] >>> Dim sSymbol As String >>> >>> For Each sSymbol In xColor.Symbols >>> Select xColor[sSymbol].Kind >>> Case Class.Constant >>> $aColors.Add([xColor[sSymbol].Value, sSymbol]) >>> Case Class.Property >>> Print "Property: " & sSymbol >>> Case Class.Variable >>> Print "Variable: " & sSymbol >>> End Select >>> Next >>> >>> How I can obtain it in a simple way the default system colors? >>> >> > this.. > For Each sSymbol In xColor.Symbols > Select xColor[sSymbol].Kind > Case Class.Constant > Print "Constant: ", sSymbol, Object.GetProperty(Color, sSymbol) > $aColors.Add([xColor[sSymbol].Value, sSymbol]) > Case Class.Property > Print "Property: " & sSymbol, Object.GetProperty(Color, sSymbol) > Case Class.Variable > Print "Variable: " & sSymbol > End Select > Next > produces this... > Constant: Red 16711680 > Constant: Blue 255 > Constant: Cyan 65535 > Constant: Gray 8421504 > Constant: Pink 16744703 > Constant: Black 0 > Constant: Green 65280 > Constant: Royal 33023 > Constant: White 16777215 > Constant: Orange 16744448 > Constant: Purple 16711808 > Constant: Violet 8388863 > Constant: Yellow 16776960 > Constant: DarkRed 8388608 > Constant: Default -1 > Constant: Magenta 16711935 > Constant: SoftRed 16744576 > Constant: DarkBlue 128 > Constant: DarkCyan 32896 > Constant: DarkGray 4210752 > Constant: SoftBlue 8421631 > Constant: SoftCyan 8454143 > Constant: DarkGreen 32768 > Constant: DarkRoyal 16512 > Constant: LightGray 12632256 > Constant: SoftGreen 8454016 > Constant: SoftRoyal 8438015 > Property: Background 16184820 > Constant: DarkOrange 8404992 > Constant: DarkPurple 8388672 > Constant: DarkViolet 4194432 > Constant: DarkYellow 8421376 > Property: Foreground 3028022 > Constant: SoftOrange 16760960 > Constant: SoftPurple 16744640 > Constant: SoftViolet 12615935 > Constant: SoftYellow 16777088 > Constant: DarkMagenta 8388736 > Constant: SoftMagenta 16744703 > Constant: Transparent -16777216 > Property: LinkForeground 1796811 > Property: TextBackground 16777215 > Property: TextForeground 0 > Property: LightBackground 7186668 > Property: LightForeground 12106930 > Property: ButtonBackground 15855598 > Property: ButtonForeground 3028022 > Property: TooltipBackground 855638016 > Property: TooltipForeground 16777215 > Property: VisitedForeground 1397662 > Property: SelectedBackground 3507428 > Property: SelectedForeground 16777215 > > BruceS > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Fri May 5 13:34:43 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Fri, 5 May 2023 13:34:43 +0200 Subject: [Gambas-user] System colors In-Reply-To: References: Message-ID: <2e7a51b2-1c46-5352-4da0-786e3a2ad861@belmotek.net> ok, the final code is. ? Dim myClass As Class = Classes["Color"] ? Dim sSymbol As String ? For Each sSymbol In myClass.Symbols ??? If myClass[sSymbol].Kind = Class.Constant Then ????? $Colors[sSymbol] = myClass[sSymbol].Value ??? Else If myClass[sSymbol].Kind = Class.Property ????? $Colors[sSymbol] = Object.GetProperty(Color, sSymbol) ??? Endif ? Next Thanks Bruce. Best regards. Martin. From bsteers4 at gmail.com Fri May 5 16:38:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 May 2023 15:38:32 +0100 Subject: [Gambas-user] System colors In-Reply-To: <2e7a51b2-1c46-5352-4da0-786e3a2ad861@belmotek.net> References: <2e7a51b2-1c46-5352-4da0-786e3a2ad861@belmotek.net> Message-ID: On Fri, 5 May 2023 at 12:45, Mart?n wrote: > ok, the final code is. > > Dim myClass As Class = Classes["Color"] > Dim sSymbol As String > > For Each sSymbol In myClass.Symbols > If myClass[sSymbol].Kind = Class.Constant Then > $Colors[sSymbol] = myClass[sSymbol].Value > Else If myClass[sSymbol].Kind = Class.Property > $Colors[sSymbol] = Object.GetProperty(Color, sSymbol) > Endif > Next > > Thanks Bruce. > > Best regards. > > Martin. > cool, you're welcome :) you could even trim it down to this.. Dim myClass As Class = Classes["Color"] Dim sSymbol As String For Each sSymbol In myClass.Symbols If myClass[sSymbol].Kind = Class.Constant Or If myClass[sSymbol].Kind = Class.Property Then $Colors[sSymbol] = Object.GetProperty(Color, sSymbol) Next Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri May 5 16:46:57 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 5 May 2023 15:46:57 +0100 Subject: [Gambas-user] System colors In-Reply-To: References: <2e7a51b2-1c46-5352-4da0-786e3a2ad861@belmotek.net> Message-ID: On Fri, 5 May 2023 at 15:38, Bruce Steers wrote: > > > On Fri, 5 May 2023 at 12:45, Mart?n wrote: > >> ok, the final code is. >> >> Dim myClass As Class = Classes["Color"] >> Dim sSymbol As String >> >> For Each sSymbol In myClass.Symbols >> If myClass[sSymbol].Kind = Class.Constant Then >> $Colors[sSymbol] = myClass[sSymbol].Value >> Else If myClass[sSymbol].Kind = Class.Property >> $Colors[sSymbol] = Object.GetProperty(Color, sSymbol) >> Endif >> Next >> >> Thanks Bruce. >> >> Best regards. >> >> Martin. >> > > cool, you're welcome :) > > you could even trim it down to this.. > Or even less , just this... For Each sSymbol As String In Classes["Color"].Symbols If Classes["Color"][sSymbol].Kind = Class.Constant Or If Classes["Color"][sSymbol].Kind = Class.Property Then $Colors[sSymbol] = Object.GetProperty(Color, sSymbol) Next ;) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From kicking177 at gmail.com Fri May 5 17:26:17 2023 From: kicking177 at gmail.com (KKing) Date: Fri, 5 May 2023 16:26:17 +0100 Subject: [Gambas-user] MIN and MAX from a (JSON) Collection Message-ID: <2ac6a987-6899-c268-7da0-5d6742bc6bc6@gmail.com> I have roughly the following and bit more around looping through to plot on a chart > Dim intCount As Integer > Dim strJson As String > Dim strWork01 as String > Dim cJson As Collection > > cJson = JSON.Decode(strJson) > > intCount = cJson["data"]["group"][0]["datetime"].Count > strXAxisValue = cJson["data"]["group"][0]["datetime"][intCount - 1] > strYAxisValue = cJson["data"]["group"][0]["values"][intCount - 1] Question is it possible to get the MIN and MAX value of each series? Or do I need to loop through myself to determine? K. From mbelmonte at belmotek.net Fri May 5 19:41:38 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Fri, 5 May 2023 19:41:38 +0200 Subject: [Gambas-user] System colors In-Reply-To: References: <2e7a51b2-1c46-5352-4da0-786e3a2ad861@belmotek.net> Message-ID: El 5/5/23 a las 16:46, Bruce Steers escribi?: > ?For Each sSymbol As String In Classes["Color"].Symbols > ? ?If Classes["Color"][sSymbol].Kind = Class.Constant Or If > Classes["Color"][sSymbol].Kind = Class.Property Then $Colors[sSymbol] > = Object.GetProperty(Color, sSymbol) > ?Next hehe, code is never simple enough, right? :-) Thanks again. Martin. From benoit.minisini at gambas-basic.org Sat May 6 12:46:25 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sat, 6 May 2023 12:46:25 +0200 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: References: Message-ID: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> Le 03/05/2023 ? 13:31, Bruce Steers a ?crit?: > > Is this not anything of interest to you Ben? > Personnally I have never used a macro recorder. Do you have some example of what you used it for? Anyway, I think that being able to forge key or mouse events would be helpful for such a feature. I will think about that. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sat May 6 17:17:29 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 May 2023 16:17:29 +0100 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> References: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> Message-ID: On Sat, 6 May 2023 at 11:47, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 03/05/2023 ? 13:31, Bruce Steers a ?crit : > > > > Is this not anything of interest to you Ben? > > > > Personnally I have never used a macro recorder. Do you have some example > of what you used it for? > It can be very useful for various things, if you have any repetitive keyboard task to do. An example here where i use it to quickly set some Key variables from their Property definitions. Normally each line would have to be manually written. with the recorder I can copy-n-paste the property definitions, start the recorder, then edit one line and position to the next. then play the macro for all the other lines. https://youtu.be/LC-8qEMFGsA I also gave a little explanation of it's usefulness and posted an example video on the gambas.one forum where i quickly change a long list of Key.Code values into a Collection. I think both clips show how a feature like this has some potential to be very handy. Other uses could be in converting snippets of code from another languages into gambas. > Anyway, I think that being able to forge key or mouse events would be > helpful for such a feature. > Yes very much so. then all the TextEditor KeyPress events would not need to be copied and converted (and thought about if changes are made) > > I will think about that. > Many thanks kind sir :) I have a couple of other issues at present. I have gb.form.editor imported to my text editor program (the 1st clip above) and i also have incorporated it into the IDE but it's not so good. They both use Observer.class to observe the texteditor control. In both uses the F3 keypress cannot be detected, i think the menu shortcut is swallowing it up. F3 is super useful with macros as you may often make the last keystroke to be a search for the next occurrence of your edit. It seems just with the IDE Ctrl-C, V, X presses are also not detected, but they are in my program. I assume again a menu shortcut is hiding the event somehow so TextEditor_KeyPress() does not get it. I need to workaround detecting the missing keypress events somehow. (if at all possible) Much respect BruceS > Regards, > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat May 6 17:19:22 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 May 2023 16:19:22 +0100 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: References: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> Message-ID: On Sat, 6 May 2023 at 16:17, Bruce Steers wrote: > > > > On Sat, 6 May 2023 at 11:47, Benoit Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 03/05/2023 ? 13:31, Bruce Steers a ?crit : >> > >> > Is this not anything of interest to you Ben? >> > >> >> Personnally I have never used a macro recorder. Do you have some example >> of what you used it for? >> > > It can be very useful for various things, if you have any repetitive > keyboard task to do. > > An example here where i use it to quickly set some Key variables from > their Property definitions. > Normally each line would have to be manually written. with the recorder I > can copy-n-paste the property definitions, start the recorder, then edit > one line and position to the next. then play the macro for all the other > lines. > https://youtu.be/LC-8qEMFGsA > > I also gave a little explanation of it's usefulness and posted an example > video on the gambas.one forum where i quickly change a long list of > Key.Code values into a Collection. > Oops, forgot the link... https://forum.gambas.one/viewtopic.php?t=1501 Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Sat May 6 18:57:01 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Sat, 6 May 2023 18:57:01 +0200 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? Message-ID: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Hi all, I am on a project with some SQL tables, similar GUIs with some fields on a normal panel. I make one function to clear all the fields the user can see. But I think I remember I saw a loop with /for each/ we?here the controls have been manipulated, e.g. change value. I tried something like this /Public Sub Sta_Adr_clearfields_bt_Click()// // //??? Dim xtb As TextBox// // //??? For Each xtb In Sta_Adr_data_pnl// //??????? xtb.Text = ""// //??? Next// //End// / I get /Sta_Adr_data_pnl/ is not an enumeration (I had to translate from German by myself, hope that's the word). Either the syntax is wrong or I remember wrong. Any help? Thanks in advance Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat May 6 19:43:51 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 6 May 2023 20:43:51 +0300 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: References: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> Message-ID: I have never used the feature either, but that actually looked quite handy. I guess with little practice it will be useful. Jussi On Sat, May 6, 2023 at 6:18?PM Bruce Steers wrote: > > > > On Sat, 6 May 2023 at 11:47, Benoit Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 03/05/2023 ? 13:31, Bruce Steers a ?crit : >> > >> > Is this not anything of interest to you Ben? >> > >> >> Personnally I have never used a macro recorder. Do you have some example >> of what you used it for? >> > > It can be very useful for various things, if you have any repetitive > keyboard task to do. > > An example here where i use it to quickly set some Key variables from > their Property definitions. > Normally each line would have to be manually written. with the recorder I > can copy-n-paste the property definitions, start the recorder, then edit > one line and position to the next. then play the macro for all the other > lines. > https://youtu.be/LC-8qEMFGsA > > I also gave a little explanation of it's usefulness and posted an example > video on the gambas.one forum where i quickly change a long list of > Key.Code values into a Collection. > > I think both clips show how a feature like this has some potential to be > very handy. > > Other uses could be in converting snippets of code from another languages > into gambas. > > > >> Anyway, I think that being able to forge key or mouse events would be >> helpful for such a feature. >> > > Yes very much so. then all the TextEditor KeyPress events would not need > to be copied and converted (and thought about if changes are made) > > >> >> I will think about that. >> > > Many thanks kind sir :) > > > I have a couple of other issues at present. > I have gb.form.editor imported to my text editor program (the 1st clip > above) and i also have incorporated it into the IDE but it's not so good. > They both use Observer.class to observe the texteditor control. > > In both uses the F3 keypress cannot be detected, i think the menu shortcut > is swallowing it up. F3 is super useful with macros as you may often make > the last keystroke to be a search for the next occurrence of your edit. > > It seems just with the IDE Ctrl-C, V, X presses are also not detected, > but they are in my program. > I assume again a menu shortcut is hiding the event somehow so > TextEditor_KeyPress() does not get it. > > I need to workaround detecting the missing keypress events somehow. (if at > all possible) > > Much respect > BruceS > > >> Regards, >> -- >> Beno?t Minisini. >> >> ----[ 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 Sat May 6 19:46:51 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 6 May 2023 18:46:51 +0100 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: On Sat, 6 May 2023 at 18:07, Dag JNJ wrote: > Hi all, > I am on a project with some SQL tables, similar GUIs with some fields on a > normal panel. I make one function to clear all the fields the user can see. > But I think I remember I saw a loop with *for each* we?here the controls > have been manipulated, e.g. change value. > > I tried something like this > > *Public Sub Sta_Adr_clearfields_bt_Click()* > > * Dim xtb As TextBox* > > * For Each xtb In Sta_Adr_data_pnl* > * xtb.Text = ""* > * Next* > *End* > > I get *Sta_Adr_data_pnl* is not an enumeration (I had to translate from > German by myself, hope that's the word). > Either the syntax is wrong or I remember wrong. > > Any help? Thanks in advance > Dag > I assume *Sta_Adr_data_pnl** is a Panel* *So you need **Sta_Adr_data_pnl**.Children* assuming ALL contents of *Sta_Adr_data_pnl** are textbox* *BruceS* -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat May 6 19:47:01 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 6 May 2023 20:47:01 +0300 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: I don't see the declaration of *Sta_Adr_data_pnl**. *What is it? Jussi On Sat, May 6, 2023 at 8:07?PM Dag JNJ wrote: > Hi all, > I am on a project with some SQL tables, similar GUIs with some fields on a > normal panel. I make one function to clear all the fields the user can see. > But I think I remember I saw a loop with *for each* we?here the controls > have been manipulated, e.g. change value. > > I tried something like this > > *Public Sub Sta_Adr_clearfields_bt_Click()* > > * Dim xtb As TextBox* > > * For Each xtb In Sta_Adr_data_pnl* > * xtb.Text = ""* > * Next* > *End* > > I get *Sta_Adr_data_pnl* is not an enumeration (I had to translate from > German by myself, hope that's the word). > Either the syntax is wrong or I remember wrong. > > Any help? Thanks in advance > Dag > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Sat May 6 21:03:45 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Sat, 6 May 2023 21:03:45 +0200 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: Oh sorry: Panel Am 06.05.23 um 19:47 schrieb Jussi Lahtinen: > I don't see the declaration of /Sta_Adr_data_pnl//. /What is it?/ > / > > Jussi > // > > On Sat, May 6, 2023 at 8:07?PM Dag JNJ wrote: > > Hi all, > I am on a project with some SQL tables, similar GUIs with some > fields on a normal panel. I make one function to clear all the > fields the user can see. But I think I remember I saw a loop with > /for each/ we?here the controls have been manipulated, e.g. change > value. > > I tried something like this > > /Public Sub Sta_Adr_clearfields_bt_Click()// > // > //??? Dim xtb As TextBox// > // > //??? For Each xtb In Sta_Adr_data_pnl// > //??????? xtb.Text = ""// > //??? Next// > //End// > / > I get /Sta_Adr_data_pnl/ is not an enumeration (I had to translate > from German by myself, hope that's the word). > Either the syntax is wrong or I remember wrong. > > Any help? Thanks in advance > Dag > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Sat May 6 21:10:55 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Sat, 6 May 2023 21:10:55 +0200 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: Am 06.05.23 um 19:46 schrieb Bruce Steers: > > > On Sat, 6 May 2023 at 18:07, Dag JNJ wrote: > > Hi all, > I am on a project with some SQL tables, similar GUIs with some > fields on a normal panel. I make one function to clear all the > fields the user can see. But I think I remember I saw a loop with > /for each/ we?here the controls have been manipulated, e.g. change > value. > > I tried something like this > > /Public Sub Sta_Adr_clearfields_bt_Click()// > // > //??? Dim xtb As TextBox// > // > //??? For Each xtb In Sta_Adr_data_pnl// > //??????? xtb.Text = ""// > //??? Next// > //End// > / > I get /Sta_Adr_data_pnl/ is not an enumeration (I had to translate > from German by myself, hope that's the word). > Either the syntax is wrong or I remember wrong. > > Any help? Thanks in advance > Dag > > > I assume /Sta_Adr_data_pnl//is a Panel/ > > /So you need //Sta_Adr_data_pnl//.Children/ > assuming ALL contents of /Sta_Adr_data_pnl//are textbox/ > / > / > /BruceS/ /Sta_Adr_data_pnl//.Children__/did//what I wanted. Now I only have to figure out how to determine what kind of object. Thank you very much > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Sat May 6 22:16:56 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Sat, 6 May 2023 22:16:56 +0200 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: Am 06.05.23 um 21:10 schrieb Dag JNJ: > > > Am 06.05.23 um 19:46 schrieb Bruce Steers: >> >> >> On Sat, 6 May 2023 at 18:07, Dag JNJ wrote: >> >> Hi all, >> I am on a project with some SQL tables, similar GUIs with some >> fields on a normal panel. I make one function to clear all the >> fields the user can see. But I think I remember I saw a loop with >> /for each/ we?here the controls have been manipulated, e.g. >> change value. >> >> I tried something like this >> >> /Public Sub Sta_Adr_clearfields_bt_Click()// >> // >> //??? Dim xtb As TextBox// >> // >> //??? For Each xtb In Sta_Adr_data_pnl// >> //??????? xtb.Text = ""// >> //??? Next// >> //End// >> / >> I get /Sta_Adr_data_pnl/ is not an enumeration (I had to >> translate from German by myself, hope that's the word). >> Either the syntax is wrong or I remember wrong. >> >> Any help? Thanks in advance >> Dag >> >> >> I assume /Sta_Adr_data_pnl//is a Panel/ >> >> /So you need //Sta_Adr_data_pnl//.Children/ >> assuming ALL contents of /Sta_Adr_data_pnl//are textbox/ >> / >> / >> /BruceS/ > /Sta_Adr_data_pnl//.Children__/did//what I wanted. Now I only have to > figure out how to determine what kind of object. > Thank you very much >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- This works as it should/ //Public Sub Sta_Adr_clearfields_bt_Click()// // //??? Dim xtb As Variant// // //??? For Each xtb In Sta_Adr_data_pnl.Children// //??????? Select Case Object.Type(xtb)// //??????????? Case "TextBox"// //??????????????? xtb.Text = ""// //??????????? Case "ValueBox"// //??????????????? xtb.Value = "0"// //??????? End Select// // //??? Next/ Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From westozscribe at gmail.com Sun May 7 01:45:07 2023 From: westozscribe at gmail.com (Ian Roper) Date: Sun, 7 May 2023 07:45:07 +0800 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> Message-ID: <15d701f7-262a-a258-fb3e-dcf8eaad02ce@gmail.com> Greetings, I've used this subroutine for about 3 years with little problem. Note# The one error I get is a rare /intermittent /issue with the clearing of a text control text.? (Noted by the commented arrow in the code) I've looked at this error in great detail but have never been able to find a cause. When it occurs, it presents the "not an enumeration" error.? I can close gambas and restart, and still get the error. I can restart my system and still get the error. The next day, no changes and run the same function and get no errors. It is very rare. I may go many months without it occurring. I have not had the error since the last update and I'm hopeful that it's now gone for good. If it happens to you, then you at least have some history. ------------------------------------------------------------------------------------------------------------------ Public Sub FormResetControls(InControl As Container) ? Dim ControlElement As Control ? Dim TmpInt As Integer ? Dim TPanel As TabPanel ? Dim TStrip As TabStrip ? Dim EmptyString As Variant = "" ? For Each ControlElement In InControl.Children ??? If ControlElement Is Frame Then FormResetControls(ControlElement) 'It may have children so do a recursive search ??? If ControlElement Is Panel Then FormResetControls(ControlElement) 'It may have children so do a recursive search ??? If ControlElement Is TabPanel Then ????? TPanel = ControlElement ????? For TmpInt = 0 To TPanel.Count - 1 ??????? FormResetControls(Tpanel[TmpInt]) 'It may have children so do a recursive search ????? Next ??? Endif ??? If ControlElement Is TabStrip Then ????? TStrip = ControlElement ????? For TmpInt = 0 To TStrip.Count - 1 ??????? FormResetControls(TStrip[TmpInt]) 'It may have children so do a recursive search ????? Next ??? Endif ??? If ControlElement Is TextBox Then Object.SetProperty(ControlElement, "Text", EmptyString) ' <-----<<<<< ??? If ControlElement Is TextBox Then Object.SetProperty(ControlElement, "Background", Color.White) ??? If ControlElement Is TextArea Then Object.SetProperty(ControlElement, "Text", EmptyString) ??? If ControlElement Is TextEditor Then Object.SetProperty(ControlElement, "Text", EmptyString) ??? If ControlElement Is ValueBox Then Object.SetProperty(ControlElement, "Value", Null) ??? If ControlElement Is CheckBox Then Object.SetProperty(ControlElement, "Value", 0) ??? If ControlElement Is ComboBox Then ????? If Object.GetProperty(ControlElement, "Count") > 0 Then Object.SetProperty(ControlElement, "Index", 0) ??? Endif ??? If ControlElement Is SpinBox Then ????? TmpInt = Object.GetProperty(ControlElement, "MinValue") ????? Object.SetProperty(ControlElement, "value", TmpInt) ??? Endif ??? If ControlElement Is DirBox Then Object.SetProperty(ControlElement, "value", "") ? Next Catch ? Message( Error.Text ) End ---------------------------------------------------------------------------------------- Cheers, Ian. On 7/5/23 12:57 am, Dag JNJ wrote: > Hi all, > I am on a project with some SQL tables, similar GUIs with some fields > on a normal panel. I make one function to clear all the fields the > user can see. But I think I remember I saw a loop with /for each/ > we?here the controls have been manipulated, e.g. change value. > > I tried something like this > > /Public Sub Sta_Adr_clearfields_bt_Click()// > // > //??? Dim xtb As TextBox// > // > //??? For Each xtb In Sta_Adr_data_pnl// > //??????? xtb.Text = ""// > //??? Next// > //End// > / > I get /Sta_Adr_data_pnl/ is not an enumeration (I had to translate > from German by myself, hope that's the word). > Either the syntax is wrong or I remember wrong. > > Any help? Thanks in advance > Dag > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun May 7 02:24:12 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 7 May 2023 03:24:12 +0300 Subject: [Gambas-user] Set all fields(contol.value) on a panel to a default value? In-Reply-To: <15d701f7-262a-a258-fb3e-dcf8eaad02ce@gmail.com> References: <503fe5ef-e3a5-a0ae-dd5e-da2c576c0ef8@cd-bahia.com> <15d701f7-262a-a258-fb3e-dcf8eaad02ce@gmail.com> Message-ID: > The one error I get is a rare *intermittent *issue with the clearing of a > text control text. (Noted by the commented arrow in the code) > I've looked at this error in great detail but have never been able to find > a cause. > > When it occurs, it presents the "not an enumeration" error. I can close > gambas and restart, and still get the error. > I can restart my system and still get the error. > The next day, no changes and run the same function and get no errors. It > is very rare. I may go many months without it occurring. > I have not had the error since the last update and I'm hopeful that it's > now gone for good. If it happens to you, then you at least have some > history. > How did you install Gambas? Could the error be due to bytecode changes? IE, does recompiling your program solve the problem? Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sun May 7 06:36:14 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 7 May 2023 10:21:14 +0545 Subject: [Gambas-user] Error with selecting WebRadioButton on form load Message-ID: Hi I am getting error when I try to select WebRadioButton on form load of a Run form in gb.web.gui version 3.18.2 The error in console is: caught TypeError: Cannot set properties of null (setting 'checked') at eval (eval at answer (lib:0.0.1.js:288:11), :1:32) at Object.answer (lib:0.0.1.js:288:11) at xhr.onreadystatechange (lib:0.0.1.js:340:50) Dim xx As String xx = Class1() ''---------Class1----------------- Static Public Sub _call() As String Return Webform2.Run() End ''----------Webform2 --------------- Private $sValue As String Public Sub Run() As String rbformA.Value = True If Me.ShowModal() Then Return $sValue End It was working fine till 3.18.1 Attached a sample to reproduce the error -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ss.zip Type: application/zip Size: 16894 bytes Desc: not available URL: From bsteers4 at gmail.com Sun May 7 11:18:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 7 May 2023 10:18:18 +0100 Subject: [Gambas-user] Keystroke recorder for the IDE :) In-Reply-To: References: <6379fe68-b6fb-30e3-8307-2d9f6f81db27@gambas-basic.org> Message-ID: On Sat, 6 May 2023 at 18:45, Jussi Lahtinen wrote: > I have never used the feature either, but that actually looked quite > handy. I guess with little practice it will be useful. > Yes indeed, some crafty use of ctrl and shift to move to or select single words with the ability to cut/copy/paste then finishing off with positioning to the next line to process can shorten many a laborious task. many many moons ago when i coded on my Amiga1200 i had a keystroke recorder and because there was nothing like X11/QT/GTK//wayland the recorder would playback with any program, I used it often and found it very useful. I tried to make one previously for my editor that worked but was not great as it used X11.SendKey() so didn't work on wayland and behaved differently with gtk or qt. This new way of a copy of TextEditor_KeyPress converted to use MacroKey is much better and seems to work well on all systems. It's got a problem when recording though with menu shortcuts hiding keypress events from TextEditor. It only handles menu Action events that are handled in the Form_Keypress, other menu events with shortcuts not handled in KeyPress are missed. I've worked around it in my own program by manually adding a MacroKey of the shortcut in it's relevant menu event. like this.. Public Sub mnuFindNext_Click() ' IDE menu shortcut of F3 that TextEditor_KeyPress() does not see Dim hMacro As Macro = ActiveEditor()._GetMacro() If hMacro And If hMacro.State = Macro.Recording Then hMacro.AddShortcut("F3") FindNextText() End Not going to be so easy to do this for gambas IDE i think with many preset shortcuts. It needs something like... * Menu shortcut key events not being missed by TextEditor_KeyPress possibly a static Menu.ShortcutKeyEvents property that would skip the Stop Event happening? or * some kind of Shortcut_Activate() event fired when any menu shortcut is triggered * something like a Control_Shortcut() event Maybe there is already some trick or something i'm missing? Respects BruceS Jussi > > On Sat, May 6, 2023 at 6:18?PM Bruce Steers wrote: > >> >> >> >> On Sat, 6 May 2023 at 11:47, Benoit Minisini < >> benoit.minisini at gambas-basic.org> wrote: >> >>> Le 03/05/2023 ? 13:31, Bruce Steers a ?crit : >>> > >>> > Is this not anything of interest to you Ben? >>> > >>> >>> Personnally I have never used a macro recorder. Do you have some example >>> of what you used it for? >>> >> >> It can be very useful for various things, if you have any repetitive >> keyboard task to do. >> >> An example here where i use it to quickly set some Key variables from >> their Property definitions. >> Normally each line would have to be manually written. with the recorder I >> can copy-n-paste the property definitions, start the recorder, then edit >> one line and position to the next. then play the macro for all the other >> lines. >> https://youtu.be/LC-8qEMFGsA >> >> I also gave a little explanation of it's usefulness and posted an example >> video on the gambas.one forum where i quickly change a long list of >> Key.Code values into a Collection. >> >> I think both clips show how a feature like this has some potential to be >> very handy. >> >> Other uses could be in converting snippets of code from another languages >> into gambas. >> >> >> >>> Anyway, I think that being able to forge key or mouse events would be >>> helpful for such a feature. >>> >> >> Yes very much so. then all the TextEditor KeyPress events would not need >> to be copied and converted (and thought about if changes are made) >> >> >>> >>> I will think about that. >>> >> >> Many thanks kind sir :) >> >> >> I have a couple of other issues at present. >> I have gb.form.editor imported to my text editor program (the 1st clip >> above) and i also have incorporated it into the IDE but it's not so good. >> They both use Observer.class to observe the texteditor control. >> >> In both uses the F3 keypress cannot be detected, i think the menu >> shortcut is swallowing it up. F3 is super useful with macros as you may >> often make the last keystroke to be a search for the next occurrence of >> your edit. >> >> It seems just with the IDE Ctrl-C, V, X presses are also not detected, >> but they are in my program. >> I assume again a menu shortcut is hiding the event somehow so >> TextEditor_KeyPress() does not get it. >> >> I need to workaround detecting the missing keypress events somehow. (if >> at all possible) >> >> Much respect >> BruceS >> >> >>> Regards, >>> -- >>> Beno?t Minisini. >>> >>> ----[ 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 dev.gambas at freenet.de Mon May 8 11:33:05 2023 From: dev.gambas at freenet.de (paco) Date: Mon, 8 May 2023 11:33:05 +0200 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled Message-ID: Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are disabled, I can't enter some text to search or replace. When some code is highlighted and I open the box, then the textboxes are empty, normally the first textbox should be pre-filled. Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and install on an new Xubuntu-system has same error. From bsteers4 at gmail.com Mon May 8 12:13:34 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 May 2023 11:13:34 +0100 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled In-Reply-To: References: Message-ID: On Mon, 8 May 2023 at 10:34, paco wrote: > Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are > disabled, I can't enter some text to search or replace. When some code > is highlighted and I open the box, then the textboxes are empty, > normally the first textbox should be pre-filled. > Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and > install on an new Xubuntu-system has same error. > no problems here. is your font size too small? have you reported it on the bugtracker? Bug Tracker Did you know to press Copy, on the System information page that lists your system details, more than just "Xubuntu 22.04" is needed to be able to help. you have not given enough information for anyone to help. Did you know there's a proper place to report bugs? Bug Tracker -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon May 8 15:39:43 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 8 May 2023 09:39:43 -0400 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled In-Reply-To: References: Message-ID: <9d5b7559-0da1-e72f-63cb-1cab13f7d97f@gmail.com> On 5/8/23 05:33, paco wrote: > Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are disabled, I can't enter some text to search or replace. > When some code is highlighted and I open the box, then the textboxes are empty, normally the first textbox should be pre-filled. > Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and install on an new Xubuntu-system has same error. When an application is running in the IDE, the Replace field is disabled but the Search field is still functional. It's quite weird that they would both be disabled. -- Lee v3.18.2 (Stable) From gradobag at gradobag.it Mon May 8 17:07:57 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 8 May 2023 17:07:57 +0200 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled In-Reply-To: <9d5b7559-0da1-e72f-63cb-1cab13f7d97f@gmail.com> References: <9d5b7559-0da1-e72f-63cb-1cab13f7d97f@gmail.com> Message-ID: Il 08/05/23 15:39, T Lee Davidson ha scritto: > On 5/8/23 05:33, paco wrote: >> Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are >> disabled, I can't enter some text to search or replace. When some >> code is highlighted and I open the box, then the textboxes are empty, >> normally the first textbox should be pre-filled. >> Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and >> install on an new Xubuntu-system has same error. > > When an application is running in the IDE, the Replace field is > disabled but the Search field is still functional. It's quite weird > that they would both be disabled. > > Hi, on my VBox with Xubuntu it does not happen, see system information(*) and attached image Regards Gianluigi (*) [System] Gambas=3.18.2 OperatingSystem=Linux Distribution=Ubuntu 22.04.2 LTS Kernel=5.15.0-71-generic Architecture=x86_64 Cores=1 Memory=6128M Language=it_IT.UTF-8 Desktop=XFCE DesktopResolution=96 DesktopScale=7 WidgetTheme=greybird Font=Noto Sans,9 [Programs] gcc=gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 [Environment] CLUTTER_BACKEND=x11 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=xubuntu DISPLAY=:0.0 GB_GUI=gb.gtk3 GDMSESSION=xubuntu GDM_LANG=it GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK_OVERLAY_SCROLLING=0 HOME= LANG=it_IT.UTF-8 LANGUAGE=it_IT.UTF-8 LC_ALL=it_IT.UTF-8 LOGNAME= PANEL_GDK_CORE_DEVICE_EVENTS=0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=gtk2 SESSION_MANAGER=local/:@/tmp/.ICE-unix/1285,unix/:/tmp/.ICE-unix/1285 SHELL=/bin/bash SHLVL=0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg XDG_CURRENT_DESKTOP=XFCE XDG_DATA_DIRS=/usr/share/xubuntu:/usr/share/xfce4:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_MENU_PREFIX=xfce- XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=xubuntu XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 -------------- next part -------------- A non-text attachment was scrubbed... Name: serch-replace.png Type: image/png Size: 35563 bytes Desc: not available URL: From dev.gambas at freenet.de Mon May 8 18:04:15 2023 From: dev.gambas at freenet.de (paco) Date: Mon, 8 May 2023 18:04:15 +0200 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled In-Reply-To: References: Message-ID: ... to change font-sizes takes no effect, but switch to default theme "greybird" solves it (thanks Gianluigi)! The error is related to the "numix"-theme I'm normally using. ?Gracias! Am 08.05.23 um 17:08 schrieb user-request at lists.gambas-basic.org: > Send User mailing list submissions to > user at lists.gambas-basic.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.gambas-basic.org/listinfo/user > or, via email, send a message with subject or body 'help' to > user-request at lists.gambas-basic.org > > You can reach the person managing the list at > user-owner at lists.gambas-basic.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of User digest..." > > > Today's Topics: > > 1. Re: Gambas IDE: Search & Replace disabled (Bruce Steers) > 2. Re: Gambas IDE: Search & Replace disabled (T Lee Davidson) > 3. Re: Gambas IDE: Search & Replace disabled (Gianluigi) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 8 May 2023 11:13:34 +0100 > From: Bruce Steers > To: Gambas Mailing List > Subject: Re: [Gambas-user] Gambas IDE: Search & Replace disabled > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > On Mon, 8 May 2023 at 10:34, paco wrote: > >> Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are >> disabled, I can't enter some text to search or replace. When some code >> is highlighted and I open the box, then the textboxes are empty, >> normally the first textbox should be pre-filled. >> Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and >> install on an new Xubuntu-system has same error. >> > > no problems here. > is your font size too small? > > have you reported it on the bugtracker? > Bug Tracker > > Did you know to press Copy, on the System information page that lists your > system details, more than just "Xubuntu 22.04" is needed to be able to help. > you have not given enough information for anyone to help. > > Did you know there's a proper place to report bugs? Bug Tracker > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Message: 2 > Date: Mon, 8 May 2023 09:39:43 -0400 > From: T Lee Davidson > To: user at lists.gambas-basic.org > Subject: Re: [Gambas-user] Gambas IDE: Search & Replace disabled > Message-ID: <9d5b7559-0da1-e72f-63cb-1cab13f7d97f at gmail.com> > Content-Type: text/plain; charset=UTF-8; format=flowed > > On 5/8/23 05:33, paco wrote: >> Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are disabled, I can't enter some text to search or replace. >> When some code is highlighted and I open the box, then the textboxes are empty, normally the first textbox should be pre-filled. >> Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and install on an new Xubuntu-system has same error. > > When an application is running in the IDE, the Replace field is disabled but the Search field is still functional. It's quite > weird that they would both be disabled. > > From bsteers4 at gmail.com Mon May 8 21:04:43 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 8 May 2023 20:04:43 +0100 Subject: [Gambas-user] Gambas IDE: Search & Replace disabled In-Reply-To: References: Message-ID: That's why we ask for the system info, it helps a lot so we don't have to guess as much That is the information you saw that helped you. On Mon, 8 May 2023, 17:06 paco, wrote: > ... to change font-sizes takes no effect, but switch to default theme > "greybird" solves it (thanks Gianluigi)! The error is related to the > "numix"-theme I'm normally using. > > ?Gracias! > > > Am 08.05.23 um 17:08 schrieb user-request at lists.gambas-basic.org: > > Send User mailing list submissions to > > user at lists.gambas-basic.org > > > > To subscribe or unsubscribe via the World Wide Web, visit > > http://lists.gambas-basic.org/listinfo/user > > or, via email, send a message with subject or body 'help' to > > user-request at lists.gambas-basic.org > > > > You can reach the person managing the list at > > user-owner at lists.gambas-basic.org > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of User digest..." > > > > > > Today's Topics: > > > > 1. Re: Gambas IDE: Search & Replace disabled (Bruce Steers) > > 2. Re: Gambas IDE: Search & Replace disabled (T Lee Davidson) > > 3. Re: Gambas IDE: Search & Replace disabled (Gianluigi) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Mon, 8 May 2023 11:13:34 +0100 > > From: Bruce Steers > > To: Gambas Mailing List > > Subject: Re: [Gambas-user] Gambas IDE: Search & Replace disabled > > Message-ID: > > < > CABuQYCC92B_y4b+ddkir+A9Tjr3PzhJT4JLQOCv4qZ7yY18zkQ at mail.gmail.com> > > Content-Type: text/plain; charset="utf-8" > > > > On Mon, 8 May 2023 at 10:34, paco wrote: > > > >> Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are > >> disabled, I can't enter some text to search or replace. When some code > >> is highlighted and I open the box, then the textboxes are empty, > >> normally the first textbox should be pre-filled. > >> Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and > >> install on an new Xubuntu-system has same error. > >> > > > > no problems here. > > is your font size too small? > > > > have you reported it on the bugtracker? > > Bug Tracker > > > > Did you know to press Copy, on the System information page that lists > your > > system details, more than just "Xubuntu 22.04" is needed to be able to > help. > > you have not given enough information for anyone to help. > > > > Did you know there's a proper place to report bugs? Bug Tracker > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: < > http://lists.gambas-basic.org/pipermail/user/attachments/20230508/705d2fa9/attachment-0001.htm > > > > > > ------------------------------ > > > > Message: 2 > > Date: Mon, 8 May 2023 09:39:43 -0400 > > From: T Lee Davidson > > To: user at lists.gambas-basic.org > > Subject: Re: [Gambas-user] Gambas IDE: Search & Replace disabled > > Message-ID: <9d5b7559-0da1-e72f-63cb-1cab13f7d97f at gmail.com> > > Content-Type: text/plain; charset=UTF-8; format=flowed > > > > On 5/8/23 05:33, paco wrote: > >> Hi, when I open the Search-&-Replace-box (Ctrl-F), both textboxes are > disabled, I can't enter some text to search or replace. > >> When some code is highlighted and I open the box, then the textboxes > are empty, normally the first textbox should be pre-filled. > >> Using Gambas 3.18.2 under Xubuntu 22.04.2, re-installing Gambas and > install on an new Xubuntu-system has same error. > > > > When an application is running in the IDE, the Replace field is disabled > but the Search field is still functional. It's quite > > weird that they would both be disabled. > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shordi at gmail.com Wed May 10 12:02:42 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Wed, 10 May 2023 12:02:42 +0200 Subject: [Gambas-user] IDE doesn't show picture property of a custom Button control Message-ID: Hi, everybody. I'm making a control that is a Button that supports a background image. It works reasonably well, but the IDE doesn't show me the selected Stock image. All the buttons look the same at develop time and that's confusing. Does anyone know how to make the IDE recognize the Picture property and display the image as it does with, say, the Button control? I attach a small project that illustrates what I say. On IDE: [image: Captura de pantalla de 2023-05-10 12-00-45.png] Executing: [image: Captura de pantalla de 2023-05-10 12-01-06.png] Best Regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Captura de pantalla de 2023-05-10 12-00-45.png Type: image/png Size: 74537 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Captura de pantalla de 2023-05-10 12-01-06.png Type: image/png Size: 9424 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PicButtonTest-0.0.1.tar.gz Type: application/gzip Size: 15828 bytes Desc: not available URL: From bsteers4 at gmail.com Wed May 10 13:31:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 10 May 2023 12:31:37 +0100 Subject: [Gambas-user] IDE doesn't show picture property of a custom Button control In-Reply-To: References: Message-ID: On Wed, 10 May 2023 at 11:04, Jorge Carri?n wrote: > Hi, everybody. > I'm making a control that is a Button that supports a background image. It > works reasonably well, but the IDE doesn't show me the selected Stock image. All > the buttons look the same at develop time and that's confusing. Does > anyone know how to make the IDE recognize the Picture property and display > the image as it does with, say, the Button control? I attach a small > project that illustrates what I say. > Not really. gambas IDE form designer can only show native controls, The IDE loads the controls internally and that are coded to both construct at runtime and to display in the IDE also. so it's not a good idea to allow custom made controls to load into the IDE itself as it can cause problems/crashes. So they do not. I added code to my gambas IDE that "does" load custom controls and made them visible but it's no longer working due to some recent changes. Maybe if you made your class inherit Button not UserControl you may get it to show the images but at best all you will see is the generic Button in the IDE not any of your custom drawings. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed May 10 13:43:22 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 10 May 2023 21:13:22 +0930 Subject: [Gambas-user] IDE doesn't show picture property of a custom Button control In-Reply-To: References: Message-ID: On 10/5/23 9:01 pm, Bruce Steers wrote: > > > On Wed, 10 May 2023 at 11:04, Jorge Carri?n > wrote: > > Hi, everybody. > I'm making a control that is a Button that supports a background > image. It works reasonably well, but the IDE doesn't show me the > selected Stock image. All the buttons look the same at develop > time and that's confusing.Does anyone know how to make the IDE > recognize the Picture property and display the image as it does > with, say, the Button control?I attach a small project that > illustrates what I say. > > > Not really. > > gambas IDE form designer can only show native controls, > The IDE loads the controls internally and that are coded to both > construct at runtime and to display in the IDE also. so it's not a > good idea to allow custom made controls to load into the IDE itself as > it can cause problems/crashes. So they do not. > > I added code to my gambas IDE that "does" load custom controls and > made them visible but it's no longer working due to some recent changes. > > Maybe if you made your class inherit Button not UserControl you may > get it to show the images but at best all you will see is the generic > Button in the IDE not any of your custom drawings. > > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- You know, in 2023 I would really like this to work. ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed May 10 20:19:00 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 10 May 2023 19:19:00 +0100 Subject: [Gambas-user] IDE doesn't show picture property of a custom Button control In-Reply-To: References: Message-ID: On Wed, 10 May 2023 at 12:44, BB wrote: > > On 10/5/23 9:01 pm, Bruce Steers wrote: > > > > On Wed, 10 May 2023 at 11:04, Jorge Carri?n wrote: > >> Hi, everybody. >> I'm making a control that is a Button that supports a background image. It >> works reasonably well, but the IDE doesn't show me the selected Stock image. All >> the buttons look the same at develop time and that's confusing. Does >> anyone know how to make the IDE recognize the Picture property and display >> the image as it does with, say, the Button control? I attach a small >> project that illustrates what I say. >> > > Not really. > > gambas IDE form designer can only show native controls, > The IDE loads the controls internally and that are coded to both construct > at runtime and to display in the IDE also. so it's not a good idea to allow > custom made controls to load into the IDE itself as it can cause > problems/crashes. So they do not. > > I added code to my gambas IDE that "does" load custom controls and made > them visible but it's no longer working due to some recent changes. > > Maybe if you made your class inherit Button not UserControl you may get it > to show the images but at best all you will see is the generic Button in > the IDE not any of your custom drawings. > > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > You know, in 2023 I would really like this to work. ? > Yes it would be lovely. On closer inspection of my mod it does still "kinda" work. it still tries to display the controls but it's not able to deal with any designer set values anymore so all i get is the generic default control as seen in the attached image the designer view on the left and the runtime look on the right. So even my mod would not help Jorge here. It worked fine a couple of months ago but Ben changed something and now it's limited. But still better than just a box It truly does give problems when you are working on the control though. as the IDE has pre-loaded the control code any changes you make confuse things (like changing property names). you have to do a lot of "compiling the control, then shutting down the IDE and restarting it to reload the controls changes" Point being it's not as simple and straight cut as you would think to see your custom control properly in the designer, especially if you are working on it. there's a whole load of error checking and control reloading going to be needed. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 77790 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Thu May 11 01:47:15 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 11 May 2023 01:47:15 +0200 Subject: [Gambas-user] Error with selecting WebRadioButton on form load In-Reply-To: References: Message-ID: Le 07/05/2023 ? 06:36, Safiur Rahman a ?crit?: > Hi > > I am getting error when I try to select WebRadioButton on form load of a > Run form in gb.web.gui version 3.18.2 > > The error in console is: > caught TypeError: Cannot set properties of null (setting 'checked') > ? ? at eval (eval at answer (lib:0.0.1.js:288:11), :1:32) > ? ? at Object.answer (lib:0.0.1.js:288:11) > ? ? at xhr.onreadystatechange (lib:0.0.1.js:340:50) > > Dim xx As String > > ?xx = Class1() > > ''---------Class1----------------- > Static Public Sub _call() As String > > ? Return Webform2.Run() > End > > ''----------Webform2 --------------- > Private $sValue As String > > Public Sub Run() As String > ? rbformA.Value = True > ? If Me.ShowModal() Then Return $sValue > End > > It was working fine till 3.18.1 > > Attached a sample to reproduce the error > > > > -- > Regards > Safiur Rahman > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's fixed in commit https://gitlab.com/gambas/gambas/-/commit/545518406f229ba81af76d67b6fa8cafc5c0bb1a. Regards, -- Beno?t Minisini. From shordi at gmail.com Thu May 11 10:39:18 2023 From: shordi at gmail.com (=?UTF-8?Q?Jorge_Carri=C3=B3n?=) Date: Thu, 11 May 2023 10:39:18 +0200 Subject: [Gambas-user] IDE doesn't show picture property of a custom Button control In-Reply-To: References: Message-ID: My control behaves like yours, if I put some text in the Text property it is displayed in the IDE. The problem arises when you make a button bar with several buttons without text, then they all look the same but, well, it's not a big deal. Thank you all for your interest. Greetings El mi?, 10 may 2023 a las 20:20, Bruce Steers () escribi?: > > > On Wed, 10 May 2023 at 12:44, BB wrote: > >> >> On 10/5/23 9:01 pm, Bruce Steers wrote: >> >> >> >> On Wed, 10 May 2023 at 11:04, Jorge Carri?n wrote: >> >>> Hi, everybody. >>> I'm making a control that is a Button that supports a background image. It >>> works reasonably well, but the IDE doesn't show me the selected Stock image. All >>> the buttons look the same at develop time and that's confusing. Does >>> anyone know how to make the IDE recognize the Picture property and display >>> the image as it does with, say, the Button control? I attach a small >>> project that illustrates what I say. >>> >> >> Not really. >> >> gambas IDE form designer can only show native controls, >> The IDE loads the controls internally and that are coded to both >> construct at runtime and to display in the IDE also. so it's not a good >> idea to allow custom made controls to load into the IDE itself as it can >> cause problems/crashes. So they do not. >> >> I added code to my gambas IDE that "does" load custom controls and made >> them visible but it's no longer working due to some recent changes. >> >> Maybe if you made your class inherit Button not UserControl you may get >> it to show the images but at best all you will see is the generic Button in >> the IDE not any of your custom drawings. >> >> BruceS >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> You know, in 2023 I would really like this to work. ? >> > > Yes it would be lovely. > > On closer inspection of my mod it does still "kinda" work. it still tries > to display the controls but it's not able to deal with any designer set > values anymore so all i get is the generic default control as seen in the > attached image the designer view on the left and the runtime look on the > right. > > So even my mod would not help Jorge here. > It worked fine a couple of months ago but Ben changed something and now > it's limited. But still better than just a box > > It truly does give problems when you are working on the control though. as > the IDE has pre-loaded the control code any changes you make confuse things > (like changing property names). you have to do a lot of "compiling the > control, then shutting down the IDE and restarting it to reload the > controls changes" > Point being it's not as simple and straight cut as you would think to see > your custom control properly in the designer, especially if you are working > on it. there's a whole load of error checking and control reloading going > to be needed. > > > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Thu May 11 23:24:26 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Thu, 11 May 2023 23:24:26 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? Message-ID: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> Hi, Is there in Gambas a UUID implementation? Best regards From bsteers4 at gmail.com Fri May 12 05:39:30 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 04:39:30 +0100 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> Message-ID: On Thu, 11 May 2023 at 22:31, Mart?n wrote: > Hi, > > Is there in Gambas a UUID implementation? > > Best regards > not heard of one. Easy enough with shell and uuidgen on most systems Shell "uuidgen" To sUUID or Shell "uuidgen -r" To sUUID uuidgen --help Usage: uuidgen [options] Create a new UUID value. Options: -r, --random generate random-based uuid -t, --time generate time-based uuid -n, --namespace ns generate hash-based uuid in this namespace available namespaces: @dns @url @oid @x500 -N, --name name generate hash-based uuid from this name -m, --md5 generate md5 hash -s, --sha1 generate sha1 hash -x, --hex interpret name as hex string -h, --help display this help -V, --version display version BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From Karl.Reinl at Fen-Net.de Fri May 12 10:07:06 2023 From: Karl.Reinl at Fen-Net.de (Charlie Reinl) Date: Fri, 12 May 2023 10:07:06 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> Message-ID: Am Donnerstag, dem 11.05.2023 um 23:24 +0200 schrieb Mart?n: > Hi, > > Is there in Gambas a UUID implementation? > > Best regards > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Salut Martin, this works for me since gambas1. -------------- next part -------------- A non-text attachment was scrubbed... Name: uuidgen-0.3.15.tar.gz Type: application/x-compressed-tar Size: 12985 bytes Desc: not available URL: From mbelmonte at belmotek.net Fri May 12 11:15:26 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Fri, 12 May 2023 11:15:26 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> Message-ID: <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> El 11/5/23 a las 23:24, Mart?n escribi?: > Is there in Gambas a UUID implementation? Thanks for the answers, both of them? using uuidgen tool although shell in gambas, it works but is more efficient use this: Private Function UUID() As String ? Return RTrim(File.Load("/proc/sys/kernel/random/uuid")) End Anyway if somebody know how to use Extern with the libuuid it could be even more efficient (I guest). Best regards. Martin. From benoit.minisini at gambas-basic.org Fri May 12 12:11:44 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 12 May 2023 12:11:44 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> Message-ID: <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> Le 12/05/2023 ? 10:07, Charlie Reinl a ?crit?: > Am Donnerstag, dem 11.05.2023 um 23:24 +0200 schrieb Mart?n: >> Hi, >> >> Is there in Gambas a UUID implementation? >> >> Best regards >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Salut Martin, > > this works for me since gambas1. > Please don't send *.tar.gz, *.zip, or any other compressed files! They are rejected by gmail, the mail provider that is now just a joke. I don't know if the mailing-list can reject the mail before trying to propagate it to the mailing-list member... People must leave gmail. -- Beno?t Minisini. From chrisml at deganius.de Fri May 12 12:29:20 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 12 May 2023 12:29:20 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> Message-ID: <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> Am 12.05.23 um 12:11 schrieb Benoit Minisini: > Please don't send *.tar.gz, *.zip, or any other compressed files! > > They are rejected by gmail, the mail provider that is now just a joke. > > I don't know if the mailing-list can reject the mail before trying to > propagate it to the mailing-list member... I just configured the ml to allow attachments with 'tar.gz.txt' and reject 'tar.gz' and 'zip' file endings. But we will soon have to switch to a new ml software als Mailman2 is abandoned in Debian Bullseye. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From bsteers4 at gmail.com Fri May 12 12:56:57 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 11:56:57 +0100 Subject: [Gambas-user] Desktop.Portal ooh :) Message-ID: https://gitlab.com/gambas/gambas/-/commit/65124fecaef7812228ed9064e8a1a390aa3408b4 That's awesome :) Any plans for Inhibit Ben? Mine "mostly" works using.org.gnome.SessionManager (but only on MATE and other gnome2 desktops) It's flawed because sometimes the IDE does not fully quit when closed (like closing an app but leaving a timer active so it lurks in the background) (usually it's okay but occasionally i get problems) I have a shell alias to kill all lurking instances... kill $(pgrep -f gambas3) sometimes there is a number of IDE instances still alive. I need to find some situation that always causes this error so i can try it on master and see if it's my inhibitor method causing the issue or something your end. Thank you adding Portal :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri May 12 13:17:24 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 12 May 2023 13:17:24 +0200 Subject: [Gambas-user] Desktop.Portal ooh :) In-Reply-To: References: Message-ID: <1467253a-07a7-8852-80d2-c48788ee4324@gambas-basic.org> Le 12/05/2023 ? 12:56, Bruce Steers a ?crit?: > > https://gitlab.com/gambas/gambas/-/commit/65124fecaef7812228ed9064e8a1a390aa3408b4 > > That's awesome :) > > Any plans for Inhibit Ben? Probably. There are a lot of methods in the portal interface, I must study them one by one. > Mine "mostly" works using.org.gnome.SessionManager (but only on MATE and > other gnome2 desktops) > ... I just write code calling DBus, so you can already use the Inhibit interface othe desktop portal by doing the appropriate calls. -- Beno?t Minisini. From vuott at tutanota.com Fri May 12 13:20:33 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Fri, 12 May 2023 13:20:33 +0200 (CEST) Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> Message-ID: ? ...to use Extern... ? Maybe.... [code] Library "libc:6" ' void srand (unsigned int __seed) ' Seed the random number generator with the given number. Private Extern srand(__seed As Integer) ' int rand (void) ' Return a random integer between 0 and RAND_MAX inclusive. Private Extern rand_C() As Integer Exec "rand" Public Sub Main() ' "01/01/1970" is Unix Time Stamp - Epoch: ? srand(DateDiff("01/01/1970", Now, gb.Second)) ?? ? Print Hex(Rand32(), 8); "-"; Hex(Rand32() And &ffff&, 4); "-"; Hex((Rand32() And &0fff) Or &4000, 4); "-"; Hex((Rand32() And &3fff) + &8000, 4); "-"; Hex(Rand32() And &ffff&, 4); Hex(Rand32(), 8) ???? End? Private Function Rand32() As Integer ???? ? Return (Lsl(rand_C() And &03, 30)) Or (Lsl(rand_C() And &7fff, 15)) Or (rand_C() And &7fff) ???? End[/code] 12 mag 2023, 12:10 da mbelmonte at belmotek.net: > El 11/5/23 a las 23:24, Mart?n escribi?: > >> Is there in Gambas a UUID implementation? >> > > Thanks for the answers, both of them? using uuidgen tool although shell in gambas, it works but is more efficient use this: > > Private Function UUID() As String > > ? Return RTrim(File.Load("/proc/sys/kernel/random/uuid")) > > End > > Anyway if somebody know how to use Extern with the libuuid it could be even more efficient (I guest). > > Best regards. > > Martin. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Fri May 12 14:31:27 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 12 May 2023 08:31:27 -0400 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> Message-ID: <2d6ed4f5-e8d6-1a05-7535-21563cdb13e9@gmail.com> On 5/12/23 06:29, Christof Thalhofer wrote: > I just configured the ml to? allow attachments with 'tar.gz.txt' and reject?'tar.gz'?and?'zip'?file?endings. What about files with the '.tar.gz.gmail.txt' extension given to an archive created by the IDE when the Gmail option is selected? -- Lee From vuott at tutanota.com Fri May 12 15:22:48 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Fri, 12 May 2023 15:22:48 +0200 (CEST) Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> Message-ID: ? ...how to use Extern with the libuuid... ? I do not understand why this working example in C language: [code C]/* * compile:? gcc uuid.c -o uuid -luuid -Wall -g */ #include #include #include char* uuid(char out[UUID_STR_LEN]){ ? uuid_t b; ? uuid_generate(b); ? uuid_unparse_lower(b, out); ? return out; } int main(){ ? char out[UUID_STR_LEN]={0}; ? puts(uuid(out)); ? return EXIT_SUCCESS; } [/code] If I translate it to Gambas: [code gambas]Library "libuuid:1.3.0" ????? ??? Private Const UUID_STR_LEN As Integer = 37 ????? ??? ' void uuid_generate(uuid_t out) ??? Private Extern uuid_generate(out As Integer) ????? ??? ' void uuid_unparse_lower(const uuid_t uu, char *out) ??? Private Extern uuid_unparse_lower(uu As Integer, out As Byte[]) As Integer ????? ????? ??? Public Sub Main() ????? ????? Dim uuid As New Byte[UUID_STR_LEN] ????? Dim i As Integer ?????? ????? uuid_generate(i) ?????? ????? uuid_unparse_lower(i, uuid) ?????? ????? Print uuid.ToString(0, 36) ????? ??? End [/code] it raises an 'unexpected error' at the first external function: "uuid_generate()". 12 mag 2023, 12:10 da mbelmonte at belmotek.net: > El 11/5/23 a las 23:24, Mart?n escribi?: > >> Is there in Gambas a UUID implementation? >> > > Thanks for the answers, both of them? using uuidgen tool although shell in gambas, it works but is more efficient use this: > > Private Function UUID() As String > > ? Return RTrim(File.Load("/proc/sys/kernel/random/uuid")) > > End > > Anyway if somebody know how to use Extern with the libuuid it could be even more efficient (I guest). > > Best regards. > > Martin. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri May 12 15:25:06 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 14:25:06 +0100 Subject: [Gambas-user] Desktop.Portal ooh :) In-Reply-To: <1467253a-07a7-8852-80d2-c48788ee4324@gambas-basic.org> References: <1467253a-07a7-8852-80d2-c48788ee4324@gambas-basic.org> Message-ID: On Fri, 12 May 2023 at 12:18, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/05/2023 ? 12:56, Bruce Steers a ?crit : > > > > > https://gitlab.com/gambas/gambas/-/commit/65124fecaef7812228ed9064e8a1a390aa3408b4 > < > https://gitlab.com/gambas/gambas/-/commit/65124fecaef7812228ed9064e8a1a390aa3408b4 > > > > > > That's awesome :) > > > > Any plans for Inhibit Ben? > > Probably. There are a lot of methods in the portal interface, I must > study them one by one. > Excellent :) Yes some potentially cool things there. RemoteDesktop, Print, Notification, DynamicLauncher are just a few I could think of uses for :) > Mine "mostly" works using.org.gnome.SessionManager (but only on MATE and > > other gnome2 desktops) > > ... > > I just write code calling DBus, so you can already use the Inhibit > interface othe desktop portal by doing the appropriate calls. > I see you just added 'h' (fd) file descriptor support. I think that was why i could not get other methods to work as getting the apparent "file descriptor" property seemed to fail. The method instructions said "just use Close of the file descriptor" but i could never get that working. I shall have to try again now with this new feature :) thanks again BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.rodriguez at cenpalab.cu Fri May 12 16:58:06 2023 From: jose.rodriguez at cenpalab.cu (jose.rodriguez at cenpalab.cu) Date: Fri, 12 May 2023 10:58:06 -0400 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> Message-ID: <9865057e939496815d69545837c4dac5@cenpalab.cu> On 2023-05-12 06:29, Christof Thalhofer wrote: > > But we will soon have to switch to a new ml software als Mailman2 is > abandoned in Debian Bullseye. > Christof, I had to figure out how to get mailman2 running on Bullseye a few months ago. This was after looking at the alternatives, which are very few and nothing with a nice web UI (somehow mailing lists are not important anymore?). Also, mailman3 looked like a big mess to me. Staying with mailman2 made it easy to migrate the existing lists from a very (very!) old Debian and mailman2 that was in use. Anyway, I will share the relevant parts steps, just in case... 3.1- Create user and group for mailman2: groupadd mailman useradd -c"GNU Mailman" -s /no/shell -d /no/home -g mailman mailman 3.2 - Download mailman2 source code: wget http://ftp.gnu.org/gnu/mailman/mailman-2.1.39.tgz 3.3 - Uncompress mailman2 source code in a temp directory: (example: /home/cenpadm/temp) 3.4 - Create destination directory and fix permissions: mkdir /opt/mailman2 chgrp mailman /opt/mailman2 chmod a+rx,g+ws /opt/mailman2 3.5 - Install python2 and other requirements of mailman2: apt install python2 python2-dev wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python2 get-pip.py pip2 install dnspython==1.16.0 pip2 install distutils 3.6 - Compile and install el mailman2: cd /home/cenpadm/temp/mailman-2.1.39 ./configure --prefix=/opt/mailman2 --with-mailhost=email.cenpalab.cu --with-urlhost=lists.cenpalab.cu make make install 3.7 - Check the installation: bin/check_perms -f Regards, Joe1962 From chrisml at deganius.de Fri May 12 17:43:37 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 12 May 2023 17:43:37 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: <2d6ed4f5-e8d6-1a05-7535-21563cdb13e9@gmail.com> References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <622bdb8a-1efb-e8a0-44e2-0a9c3030b2bd@gambas-basic.org> <3a72e1ee-f063-580e-226c-5f99cf90c1eb@deganius.de> <2d6ed4f5-e8d6-1a05-7535-21563cdb13e9@gmail.com> Message-ID: <76d23f82-1f7a-e459-7291-a6c8ed5fcf56@deganius.de> Am 12.05.23 um 14:31 schrieb T Lee Davidson: > On 5/12/23 06:29, Christof Thalhofer wrote: >> I just configured the ml to allow attachments with 'tar.gz.txt' >> and reject 'tar.gz' and 'zip' file endings. > > What about files with the '.tar.gz.gmail.txt' extension given to an > archive created by the IDE when the Gmail option is selected? Ups, I didn't remember the right suffix correctly. Now this is also allowed. Thank you! :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From bsteers4 at gmail.com Fri May 12 19:14:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 18:14:32 +0100 Subject: [Gambas-user] syntax text missing in IDE for some things Message-ID: For me if i type Balloon( then no syntax help shows If i type Clipboard.Copy( it shows "Copy(Data As Variant, Format As String)" as expected. noticed it on a few objects now so thought worth a mention. Anyone else find this or is it just me? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri May 12 19:54:01 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 18:54:01 +0100 Subject: [Gambas-user] syntax text missing in IDE for some things In-Reply-To: References: Message-ID: On Fri, 12 May 2023 at 18:14, Bruce Steers wrote: > For me if i type Balloon( > then no syntax help shows > > If i type Clipboard.Copy( > it shows "Copy(Data As Variant, Format As String)" as expected. > > noticed it on a few objects now so thought worth a mention. > Anyone else find this or is it just me? > > Respects > BruceS > I just tested on unpatched master on a debian system and still got the issue. Message.class is a good test. Message.Info( gives syntax Message( no syntax Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri May 12 23:09:05 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 12 May 2023 23:09:05 +0200 Subject: [Gambas-user] syntax text missing in IDE for some things In-Reply-To: References: Message-ID: Le 12/05/2023 ? 19:54, Bruce Steers a ?crit?: > > > On Fri, 12 May 2023 at 18:14, Bruce Steers > wrote: > > For me if i type Balloon( > then no syntax help shows > > If i type Clipboard.Copy( > ?it shows "Copy(Data As Variant, Format As String)" as expected. > > noticed it on a few objects now so thought worth a mention. > Anyone else find this or is it just me? > > Respects > BruceS > > > I just tested on unpatched master on a debian system and still got the > issue. > Message.class is a good test. > Message.Info(?? gives syntax > Message(? no syntax > > Respects > BruceS > I noticed this morning such problems. -- Beno?t Minisini. From bsteers4 at gmail.com Fri May 12 23:48:31 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 12 May 2023 22:48:31 +0100 Subject: [Gambas-user] syntax text missing in IDE for some things In-Reply-To: References: Message-ID: On Fri, 12 May 2023 at 22:10, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/05/2023 ? 19:54, Bruce Steers a ?crit : > > > > > > On Fri, 12 May 2023 at 18:14, Bruce Steers > > wrote: > > > > For me if i type Balloon( > > then no syntax help shows > > > > If i type Clipboard.Copy( > > it shows "Copy(Data As Variant, Format As String)" as expected. > > > > noticed it on a few objects now so thought worth a mention. > > Anyone else find this or is it just me? > > > > Respects > > BruceS > > > > > > I just tested on unpatched master on a debian system and still got the > > issue. > > Message.class is a good test. > > Message.Info( gives syntax > > Message( no syntax > > > > Respects > > BruceS > > > > I noticed this morning such problems. > > -- > Beno?t Minisini. > Aah cool , then I know a fix is coming :) Thank you in advance kind sir BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat May 13 12:54:09 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 13 May 2023 11:54:09 +0100 Subject: [Gambas-user] Wiki In-Reply-To: References: Message-ID: On Wed, 19 Apr 2023 at 19:50, gbWilly via User wrote: > > Le 19/04/2023 ? 16:50, gbWilly via User a ?crit : > > > > > Hi all, > > > > > > Did something change on the wiki page? > > > Today I wanted to add some minor improvements to the installation > guides > > > for Debian/Raspian and Ubuntu. > > > > > > I manage to log in but when clicking the Edit button for the page I get > > > logged out again! > > > > > > gbWilly > > > > > > I have just tried to login at the front page, and edit it. It worked as > > expected. > > > > On which page did you try to login? > > > > -- > > Beno?t Minisini. > > > Hi Beno?t, > > I logged in on the 'Install and compilation -> Debian' page. > Hey gbWilly I just wanted to point something out that you may not have noticed as it's fairly new. Dependency listings do not need to be manually updated anymore for any os supported in the .gitlab-ci.yml file if you use the following syntax to display the commands... Eg, for debian-stable use this... @{how-to-install debian-stable} A line like that will read the dependencies and the configure options from the .gitlab-ci.yml file and automatically display it for you. it works for all builds listed in the .gitlab-ci.yml file I was meaning to go all round all the install pages at some time and update them to use the new method. Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat May 13 14:36:05 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sat, 13 May 2023 14:36:05 +0200 Subject: [Gambas-user] syntax text missing in IDE for some things In-Reply-To: References: Message-ID: <700a0623-da2f-eb77-761d-cb58cfd1e2e5@gambas-basic.org> Le 12/05/2023 ? 23:48, Bruce Steers a ?crit?: > Aah cool , then I know a fix is coming :) > Thank you in advance kind sir > BruceS > It should be fixed now. -- Beno?t Minisini. From bsteers4 at gmail.com Sat May 13 15:49:23 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 13 May 2023 14:49:23 +0100 Subject: [Gambas-user] syntax text missing in IDE for some things In-Reply-To: <700a0623-da2f-eb77-761d-cb58cfd1e2e5@gambas-basic.org> References: <700a0623-da2f-eb77-761d-cb58cfd1e2e5@gambas-basic.org> Message-ID: On Sat, 13 May 2023, 13:37 Benoit Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 12/05/2023 ? 23:48, Bruce Steers a ?crit : > > Aah cool , then I know a fix is coming :) > > Thank you in advance kind sir > > BruceS > > > > It should be fixed now. > > -- > Beno?t Minisini. > Awesome, cheers Ben ? BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Sat May 13 22:25:23 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 13 May 2023 22:25:23 +0200 Subject: [Gambas-user] ML Software (Was: Is there in Gambas a UUID implementation?) Message-ID: Hi Jose, Am 12.05.23 um 16:58 schrieb jose.rodriguez at cenpalab.cu: > On 2023-05-12 06:29, Christof Thalhofer wrote: >> >> But we will soon have to switch to a new ml software als Mailman2 is >> abandoned in Debian Bullseye. > > Christof, I had to figure out how to get mailman2 running on Bullseye a > few months ago. This was after looking at the alternatives, which are > very few and nothing with a nice web UI (somehow mailing lists are not > important anymore?). Also, mailman3 looked like a big mess to me. > Staying with mailman2 made it easy to migrate the existing lists from a > very (very!) old Debian and mailman2 that was in use. Anyway, I will > share the relevant parts steps, just in case... Thank you very much! Indeed, it is worth considering to continue running the list with Mailman 2. It simply does it's job and nobody hacked us until now. I run some other mailinglists and newsletters (on another server) and there switched over to 'Sympa' which works very well but needs a couple of daemons and some RAM. Regarding the Gambas mailinglists there is a special situation. They reside in a Linux homedir of the user 'gbs00-lists' on a quite powerful shared managed host at Hostsharing (HS). There it is not possible to run a daemon (or if we run some daemons we would have to pay for it ? Sympa would be quite costly). Mailman 2 called by cron is quite sufficient for the few mails and the little bit of traffic we produce daily. As you all can see the HS webspace is very robust with fallback machines, backup to a different data center and hostmasters who take care of the servers. But the possibilities are limited. In the near future HS will upgrade their managed servers to Bullseye and I will now just promote to the hostmasters to install Python 2.7 on the servers (we are not the only ones on the HS servers with this problem). Alternatively, we can perhaps do this in userspace so that the old Mailman 2 is powered by it's own (old) Python ('~/bin/python'). Another option would be to use 'mlmmj'. It's old but I'm in the mlmmj mailinglist and they plan to release 1.4 sometime in the future (so it's not dead) ... https://codeberg.org/mlmmj/mlmmj/releases ... and i like the author's page: https://mmj.dk/ ;-) For me, it's like this: I'm getting older and it wouldn't be bad if someone else could also take care for the infinitely important Gambas mailing lists. If you or anyone else would like to help, you're welcome. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From mbelmonte at belmotek.net Sun May 14 22:52:05 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Sun, 14 May 2023 22:52:05 +0200 Subject: [Gambas-user] Is there in Gambas a UUID implementation? In-Reply-To: References: <7e1665a2-5db7-dbd7-73ad-a686a11a74de@belmotek.net> <0ba025f5-8888-e32d-5431-f34995ba6b66@belmotek.net> Message-ID: <63d3297f-6056-70c7-7b7b-85b542a7bafa@belmotek.net> El 12/5/23 a las 13:20, vuott--- via User escribi?: > Maybe.... > Library "libc:6" It works. ' Gambas class file Export Library "libc:6" ' void srand (unsigned int __seed) ' Seed the random number generator with the given number. 'Private Extern srand(__seed As Integer) ' int rand (void) ' Return a random integer between 0 and RAND_MAX inclusive. Private Extern rand_C() As Integer Exec "rand" Static Public Sub Gen() As String ? Dim i As Integer ? Dim iRan As New Integer[] ? iRan.Clear ? For i = 0 To 5 ??? iRan.Add((Lsl(rand_C() And &03, 30)) Or (Lsl(rand_C() And &7fff, 15)) Or (rand_C() And &7fff)) ? Next ? Return Hex(iRan[0], 8) & "-" & Hex(iRan[1] And &ffff&, 4) & "-" & Hex((iRan[2] And &0fff) Or &4000, 4) & "-" & Hex((iRan[3] And &3fff) + &8000, 4) & "-" & Hex(iRan[4] And &ffff&, 4) & Hex(iRan[5], 8) End Thanks Vuott From gambas at cd-bahia.com Mon May 15 01:10:02 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Mon, 15 May 2023 01:10:02 +0200 Subject: [Gambas-user] Gambas and pdf Message-ID: Hi all, I need to read pdf-files. I didn't find any component for that. I know I can use (in fact use) the Linux command /pdftotext, /but sometimes it makes mistakes, the order of text-elements is not always correct. As I write an interface for certain pdf-files, that always have the same structure, I waste time writing workarounds. Any help is welcome. Regards, Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon May 15 02:45:23 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 15 May 2023 01:45:23 +0100 Subject: [Gambas-user] Gambas and pdf In-Reply-To: References: Message-ID: On Mon, 15 May 2023 at 00:11, Dag JNJ wrote: > Hi all, > I need to read pdf-files. I didn't find any component for that. I know I > can use (in fact use) the Linux command *pdftotext, *but sometimes it > makes mistakes, the order of text-elements is not always correct. As I > write an interface for certain pdf-files, that always have the same > structure, I waste time writing workarounds. > Any help is welcome. > Regards, Dag > gb.poppler replaced gb.pdf http://gambaswiki.org/wiki/comp/gb.poppler BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon May 15 02:47:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 15 May 2023 01:47:37 +0100 Subject: [Gambas-user] Gambas and pdf In-Reply-To: References: Message-ID: On Mon, 15 May 2023 at 01:45, Bruce Steers wrote: > > > On Mon, 15 May 2023 at 00:11, Dag JNJ wrote: > >> Hi all, >> I need to read pdf-files. I didn't find any component for that. I know I >> can use (in fact use) the Linux command *pdftotext, *but sometimes it >> makes mistakes, the order of text-elements is not always correct. As I >> write an interface for certain pdf-files, that always have the same >> structure, I waste time writing workarounds. >> Any help is welcome. >> Regards, Dag >> > > gb.poppler replaced gb.pdf > > http://gambaswiki.org/wiki/comp/gb.poppler > > Check out http://gambaswiki.org/wiki/comp/gb.poppler/pdfdocument -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon May 15 11:20:13 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 15 May 2023 11:20:13 +0200 Subject: [Gambas-user] Gambas and pdf In-Reply-To: References: Message-ID: <1239e170-b5ec-c4dc-c20c-64dcfb40442a@gradobag.it> Il 15/05/23 01:10, Dag JNJ ha scritto: > Hi all, > I need to read pdf-files. I didn't find any component for that. I know > I can use (in fact use) the Linux command /pdftotext, /but sometimes > it makes mistakes, the order of text-elements is not always correct. > As I write an interface for certain pdf-files, that always have the > same structure, I waste time writing workarounds. > Any help is welcome. > Regards, Dag > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi, if you wish, you can also see this page (in Italian): https://www.gambas-it.org/wiki/index.php/Codice_essenziale_per_mostrare_un_file_PDF_con_le_risorse_del_Componente_gb.poppler There is also an example of mine on the farm called : DocumentViewPdfZoomDialog To get pdf files you can also use gb.report2 there are two examples of mine on the farm: LoremReport and ReportTest Very important thing, you can document yourself with Benoit's code related to gb.form.print: https://gitlab.com/gambas/gambas/-/tree/stable/comp/src/gb.form.print?ref_type=heads Have fun :-) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Mon May 15 15:39:04 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Mon, 15 May 2023 15:39:04 +0200 Subject: [Gambas-user] Gambas and pdf In-Reply-To: <1239e170-b5ec-c4dc-c20c-64dcfb40442a@gradobag.it> References: <1239e170-b5ec-c4dc-c20c-64dcfb40442a@gradobag.it> Message-ID: Am 15.05.23 um 11:20 schrieb Gianluigi: > Il 15/05/23 01:10, Dag JNJ ha scritto: >> Hi all, >> I need to read pdf-files. I didn't find any component for that. I >> know I can use (in fact use) the Linux command /pdftotext, /but >> sometimes it makes mistakes, the order of text-elements is not always >> correct. As I write an interface for certain pdf-files, that always >> have the same structure, I waste time writing workarounds. >> Any help is welcome. >> Regards, Dag >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi, > > if you wish, you can also see this page (in Italian): > https://www.gambas-it.org/wiki/index.php/Codice_essenziale_per_mostrare_un_file_PDF_con_le_risorse_del_Componente_gb.poppler > > There is also an example of mine on the farm called : > DocumentViewPdfZoomDialog > > To get pdf files you can also use gb.report2 there are two examples of > mine on the farm: LoremReport and ReportTest > > Very important thing, you can document yourself with Benoit's code > related to gb.form.print: > https://gitlab.com/gambas/gambas/-/tree/stable/comp/src/gb.form.print?ref_type=heads > > Have fun :-) > > Regards > > Gianluigi > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Thank you both, I'll take a look. -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon May 15 21:17:47 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 15 May 2023 15:17:47 -0400 Subject: [Gambas-user] ML Software (Was: Is there in Gambas a UUID implementation?) In-Reply-To: References: Message-ID: <41a7e6dc-7220-63cf-4b20-42ac5c366806@gmail.com> On 5/13/23 16:25, Christof Thalhofer wrote: > Another option would be to use 'mlmmj'. It's old but I'm in the mlmmj mailinglist and they plan to release 1.4 sometime in the > future (so it's not?dead)?... > > https://codeberg.org/mlmmj/mlmmj/releases > > ...?and?i?like?the?author's?page: > > https://mmj.dk/ I see that version 1.4.0 beta1 has been released just a few hours ago. I have to wonder why the Codeberg repo is not linked on the main site: http://mlmmj.org/ One thing that concerns me about using mlmmj is that having a web-based archive would require the use of a third-party solution. Mhonarc may be one solution, but it doesn't provide search functionality and hasn't had a new release since 2014. The majority of the third-party search solutions linked, even on Mailman's site, are old, stagnant, or cannot even be found. Perhaps https://www.mail-archive.com/ could be another possible solution for a searchable web-based archive. I do like that Mads Martin J?rgensen is trying to bring attention to the significant issue of Dihydrogen Monoxide! What was the reason, again, that we cannot upgrade to Mailman3? -- Lee From chrisml at deganius.de Tue May 16 07:14:05 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 16 May 2023 07:14:05 +0200 Subject: [Gambas-user] ML Software (Was: Is there in Gambas a UUID implementation?) In-Reply-To: <41a7e6dc-7220-63cf-4b20-42ac5c366806@gmail.com> References: <41a7e6dc-7220-63cf-4b20-42ac5c366806@gmail.com> Message-ID: <384f2e64-e0e8-6133-02a5-c58819579ad7@deganius.de> Am 15.05.23 um 21:17 schrieb T Lee Davidson: > On 5/13/23 16:25, Christof Thalhofer wrote: >> Another option would be to use 'mlmmj'. It's old but I'm in the >> mlmmj mailinglist and they plan to release 1.4 sometime in the >> future (so it's not dead) ... >> >> https://codeberg.org/mlmmj/mlmmj/releases >> >> ... and i like the author's page: >> >> https://mmj.dk/ > > I see that version 1.4.0 beta1 has been released just a few hours > ago. I have to wonder why the Codeberg repo is not linked on the main > site: http://mlmmj.org/ The site is up and running, but abandoned. Nobody knows who is running it. There was a discussion about that at the mlmmj mailinglist. We from HS offered about a year ago to take it over and let it run on HS, but no one responded who had access to the site. https://codeberg.org/mlmmj/mlmmj/issues/3 > One thing that concerns me about using mlmmj is that having a > web-based archive would require the use of a third-party solution. > Mhonarc may be one solution, but it doesn't provide search > functionality and hasn't had a new release since 2014. The majority > of the third-party search solutions linked, even on Mailman's site, > are old, stagnant, or cannot even be found. The search functionality on our site is not powered by Mailman. Mailman has nothing like that. Instead I installed the (very old but sufficient) search engine 'Mnogosearch' to provide this: https://lists.gambas-basic.org/cgi-bin/search.cgi > Perhaps https://www.mail-archive.com/ could be another possible > solution for a searchable web-based archive. This is very strange: https://www.mail-archive.com/gambas-user at lists.sourceforge.net/msg41435.html Says, that it would be 'sourceforge.net' but in reality it is here: https://lists.gambas-basic.org/pipermail/user/2023-January/078093.html I vaguely remember (I'm really not sure) that we tried to tell them that the list has a new home but without success: https://www.mail-archive.com/gambas-user at lists.sourceforge.net/info.html ------- I'm not a fan of giving essential tasks to other open source projects who do something strange with it. It's not mail-archive's fault, but I don't think anyone today knows who was admin back then. > I do like that Mads Martin J?rgensen is trying to bring attention to > the significant issue of Dihydrogen Monoxide! Yes, I also stumbled over this and laughed, a funny guy :-) > What was the reason, again, that we cannot upgrade to Mailman3? Mailman3 is a monster. While Mailman2 can be run on a shared webspace and called by cron every few minutes, Mailman3 needs a couple of daemons, so it has to run on a dedicated machine. I also heard that it is immature and poorly programmed. This was the reason that I decided to use 'Sympa' instead of Mailman3 for my own lists when it was time to leave Mailman2. ------- Now I investigated a little bit and saw that on HS we are able to run our own python 2.7 (hopefully forever): https://wiki.hostsharing.net/index.php?title=Eigenes_Python_installieren Mailman2 can be compiled to use it so we should be safe for the next couple of years. Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From bsteers4 at gmail.com Tue May 16 12:00:48 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 May 2023 11:00:48 +0100 Subject: [Gambas-user] Test Screen.Available values Message-ID: Hi all. I have a problem with a program that Benoit does not get the same bug and wondered if some people could test this program. the program is a simple screenshot program. I made it because I now use a laptop with 2 screens attached and with the built-in screenshot programs it grabs the entire area of both screens and i then have to crop the picture. This application detects what screen the mouse is on via an addition to Mouse.class (Mouse.Screen) and only grabs that screens area. It also has an option to "hide panels" , if this is selected then is uses the Screen.Available co'ords not the normal co'ords. like so... Dim s As Screen = Screens[Mouse.Screen] If NoPanels Then hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, s.AvailableWidth, s.AvailableHeight) Else hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) Endif The problem.... On my system this works as expected with GTK3 , if NoPanels is selected the screenshot only includes the internal usable screen and not the outer desktop panels. (note: my config is the plug-in 1280x1024 monitor is default screen, laptop built-in 1366x768 is secondary screen) Now with GTK2 and QT5 it does not work and parts of the panels get included in the screenshot. On my machine but not Benoits :-\ Also for me KDE failed with GTK3 as well but for Ben no problems. So i am trying to figure out why it fails for me but not for Ben. Could some people test this application on their systems and report if it works as expected or not. To test... Load the project. select the debug toolkit to use (either gtk3 or qt5) hit run. Ensure the "Hide Panels" checkbox is checked. Hit Okay the following window shows the screenshot image. It should not include your desktop panels just the inner screen part. Like i say on my Mint21-MATE machine this works as expected only with GTK3 toolkit. Thanks all :) BruceS My system config... [System] Gambas=3.18.90 0e0771183 (bruces-patched) OperatingSystem=Linux Distribution=Linux Mint 21 Vanessa Kernel=5.15.0-71-generic Architecture=x86_64 Cores=4 Memory=7869M Language=en_GB.UTF-8 Desktop=MATE DesktopResolution=96 DesktopScale=8 WidgetTheme=clearlooks Font=Ubuntu,11 [Programs] gcc=gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 git=git version 2.34.1 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 [Environment] CLUTTER_BACKEND=x11 CLUTTER_IM_MODULE=ibus COMPIZ_CONFIG_PROFILE=mint DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/mate.default.path DESKTOP_AUTOSTART_ID=101b3a4351c7472ce168422673669594200000046200005 DESKTOP_SESSION=mate DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=mate GDM_LANG=en_GB GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=0 HOME= LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_NUMERIC=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LIBVIRT_DEFAULT_URI=qemu:///system LOGNAME= MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path MATE_DESKTOP_SESSION_ID=this-is-deprecated PAPERSIZE=a4 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_FONT_DPI=96 QT_IM_MODULE=ibus QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/4620,unix/:/tmp/.ICE-unix/4620 SHELL=/bin/bash SHLVL=1 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg XDG_CURRENT_DESKTOP=MATE XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=mate XDG_SESSION_ID=c1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XMODIFIERS=@im=ibus _=/usr/bin/gambas3 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 4/nx/Hh+PP8PPP8HgD5yrwCgAAA= From adamnt42 at gmail.com Tue May 16 13:57:44 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 16 May 2023 21:27:44 +0930 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: Message-ID: On 16/5/23 7:30 pm, Bruce Steers wrote: > Hi all. > > I have a problem with a program that Benoit does not get the same bug > and wondered if some people could test this program. > > the program is a simple screenshot program. > I made it because I now use a laptop with 2 screens attached and with > the built-in screenshot programs it grabs the entire area of both > screens and i then have to crop the picture. > > This application detects what screen the mouse is on via an addition > to Mouse.class (Mouse.Screen) and only grabs that screens area. > > It also has an option to "hide panels" , if this is selected then is > uses the Screen.Available co'ords not the normal co'ords. > like so... > > ? Dim s As Screen = Screens[Mouse.Screen] > > ? If NoPanels Then > ? ? hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, > s.AvailableWidth, s.AvailableHeight) > ? Else > ? ? hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) > ? Endif > > > The problem.... > On my system this works as expected with GTK3 , if NoPanels is > selected the screenshot only includes the internal usable screen and > not the outer desktop panels. > > (note: my config is the plug-in 1280x1024 monitor is default screen, > laptop built-in 1366x768 is secondary screen) > > Now with GTK2 and QT5 it does not work and parts of the panels get > included in the screenshot. > On my machine but not Benoits :-\ > > Also for me KDE failed with GTK3 as well but for Ben no problems. > > So i am trying to figure out why it fails for me but not for Ben. > Could some people test this application on their systems and report if > it works as expected or not. > > To test... > Load the project. > select the debug toolkit to use (either gtk3 or qt5) > hit run. > Ensure the "Hide Panels" checkbox is checked. > Hit Okay > > the following window shows the screenshot image.? It should not > include your desktop panels just the inner screen part. > > Like i say on my Mint21-MATE machine this works as expected only with > GTK3 toolkit. > > Thanks all :) > BruceS > > > Ah, the old screen/desktop/monitor/framebuffer impedence problem > again. The architecture is somewhat akin to an Inuit stepping outside > and trying to define what the horizon means. (There is some sense in > that if you think about it) The problem lies in an obscure specification called X. Some people tried to resolve issues like this one with a thing called, IIRC. "wasteland" or something like that anyway, but that was even worse. Unfortunately that impedance in the XOrg spec has to my knowledge not yet been satisfactorily been sat down in a pub on a cold afternoon and had its googlies reorganized. In short, if you do find a solution it may work at your house here there somewhere most times other times and frequently not just when you want it to. In other words, it would be really nice if one day the X-men all sat down and decided what they really truly meant when they wrote all that unintelligible garbage, or not. But I regress (possibly I meant something else there?). mint is my second most hated distro! So there. It is the worst example of how to do things the easy way even if that means screw any common programs that are just too "hard" to get working, and the WORST forum I have ever seen. "You just need to do it our way you cretin!" shutter is what you need. AFAIR there is an API, I've just never needed to use it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue May 16 14:34:55 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 16 May 2023 14:34:55 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: Message-ID: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Le 16/05/2023 ? 12:00, Bruce Steers a ?crit?: > Hi all. > > I have a problem with a program that Benoit does not get the same bug > and wondered if some people could test this program. > > the program is a simple screenshot program. > I made it because I now use a laptop with 2 screens attached and with > the built-in screenshot programs it grabs the entire area of both > screens and i then have to crop the picture. > > This application detects what screen the mouse is on via an addition to > Mouse.class (Mouse.Screen) and only grabs that screens area. > > It also has an option to "hide panels" , if this is selected then is > uses the Screen.Available co'ords not the normal co'ords. > like so... > > ? Dim s As Screen = Screens[Mouse.Screen] > > ? If NoPanels Then > ? ? hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, > s.AvailableWidth, s.AvailableHeight) > ? Else > ? ? hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) > ? Endif > > > The problem.... > On my system this works as expected with GTK3 , if NoPanels is selected > the screenshot only includes the internal usable screen and not the > outer desktop panels. > > (note: my config is the plug-in 1280x1024 monitor is default screen, > laptop built-in 1366x768 is secondary screen) > > [...] For information: both QT and GTK components use the API provided by the toolkit to get the screen available dimensions. So if it does not work, it should not be Gambas' fault. The toolkit API is supposed to adapt to the underlying windowing system (X or Wayland) to get that information. On X11, that information is provided by X11 properties attached to the root window by the window manager. These properties are computed by taking the screen size and removing the dimensions of top-level windows indicating (with other X11 properties) that they are desktop "panels". Here is a comment from the QT source code : ----8<----------------------------------------------------------- Using _NET_WORKAREA to calculate the available desktop geometry on multi-head systems (systems with more than one monitor) is unreliable. Different WMs have different interpretations of what _NET_WORKAREA means with multiple attached monitors. This gets worse when monitors have different dimensions and/or screens are not virtually aligned. In Qt we want the available geometry per monitor (QScreen), not desktop (represented by _NET_WORKAREA). WM specification does not have an atom for this. Thus, QScreen is limted by the lack of support from the underlying system. One option could be that Qt does WM's job of calculating this by subtracting geometries of _NET_WM_STRUT_PARTIAL and windows where _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK. But this won't work on Gnome 3 shell as it seems that on this desktop environment the tool panel is painted directly on the root window. Maybe there is some Gnome/GTK API that could be used to get height of the panel, but I did not find one. Maybe other WMs have their own tricks, so the reliability of this approach is questionable. ----8<----------------------------------------------------------- As for Wayland, no idea. I guess you can't have this information outside of a specific API implemented in your specific compositor. :-( Regards, -- Beno?t Minisini. From sharon at 455.co.il Tue May 16 15:14:07 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Tue, 16 May 2023 16:14:07 +0300 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: Message-ID: <20230516131357.M30289@455.co.il> Hello I ran it on: 36 FEDORA GAMBAS 3.18.2 It runs well I don't get any error ---------- Original Message ----------- From: Bruce Steers To: Gambas Mailing List Sent: Tue, 16 May 2023 11:00:48 +0100 Subject: [Gambas-user] Test Screen.Available values > Hi all. > > I have a problem with a program that Benoit does not get the same bug and > wondered if some people could test this program. > > the program is a simple screenshot program. > I made it because I now use a laptop with 2 screens attached and with the > built-in screenshot programs it grabs the entire area of both screens and i > then have to crop the picture. > > This application detects what screen the mouse is on via an addition to > Mouse.class (Mouse.Screen) and only grabs that screens area. > > It also has an option to "hide panels" , if this is selected then is uses > the Screen.Available co'ords not the normal co'ords. > like so... > > Dim s As Screen = Screens[Mouse.Screen] > > If NoPanels Then > hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, s.AvailableWidth, > s.AvailableHeight) > Else > hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) > Endif > > The problem.... > On my system this works as expected with GTK3 , if NoPanels is selected the > screenshot only includes the internal usable screen and not the outer > desktop panels. > > (note: my config is the plug-in 1280x1024 monitor is default screen, laptop > built-in 1366x768 is secondary screen) > > Now with GTK2 and QT5 it does not work and parts of the panels get included > in the screenshot. > On my machine but not Benoits :-\ > > Also for me KDE failed with GTK3 as well but for Ben no problems. > > So i am trying to figure out why it fails for me but not for Ben. > Could some people test this application on their systems and report if it > works as expected or not. > > To test... > Load the project. > select the debug toolkit to use (either gtk3 or qt5) > hit run. > Ensure the "Hide Panels" checkbox is checked. > Hit Okay > > the following window shows the screenshot image. It should not include > your desktop panels just the inner screen part. > > Like i say on my Mint21-MATE machine this works as expected only with GTK3 > toolkit. > > Thanks all :) > BruceS > > My system config... > [System] > Gambas=3.18.90 0e0771183 (bruces-patched) > OperatingSystem=Linux > Distribution=Linux Mint 21 Vanessa > Kernel=5.15.0-71-generic > Architecture=x86_64 > Cores=4 > Memory=7869M > Language=en_GB.UTF-8 > Desktop=MATE > DesktopResolution=96 > DesktopScale=8 > WidgetTheme=clearlooks > Font=Ubuntu,11 > > [Programs] > gcc=gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 > git=git version 2.34.1 > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.7.0 > DBus=libdbus-1.so.3.19.13 > GDK2=libgdk-x11-2.0.so.0.2400.33 > GDK3=libgdk-3.so.0.2404.29 > GStreamer=libgstreamer-1.0.so.0.2003.0 > GTK+2=libgtk-x11-2.0.so.0.2400.33 > GTK+3=libgtk-3.so.0.2404.29 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.118.0.0 > QT5=libQt5Core.so.5.15.3 > RSvg=librsvg-2.so.2.48.0 > SDL=libSDL2-2.0.so.0.18.2 > SQLite 3=libsqlite3.so.0.8.6 > > [Environment] > CLUTTER_BACKEND=x11 > CLUTTER_IM_MODULE=ibus > COMPIZ_CONFIG_PROFILE=mint > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DEFAULTS_PATH=/usr/share/gconf/mate.default.path > DESKTOP_AUTOSTART_ID=101b3a4351c7472ce168422673669594200000046200005 > DESKTOP_SESSION=mate > DISPLAY=:0 > GB_GUI=gb.gtk3 > GDMSESSION=mate > GDM_LANG=en_GB > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK3_MODULES=xapp-gtk3-module > GTK_IM_MODULE=ibus > GTK_MODULES=gail:atk-bridge > GTK_OVERLAY_SCROLLING=0 > HOME= > LANG=en_GB.UTF-8 > LANGUAGE=en_GB.UTF-8 > LC_ADDRESS=en_GB.UTF-8 > LC_ALL=en_GB.UTF-8 > LC_IDENTIFICATION=en_GB.UTF-8 > LC_MEASUREMENT=en_GB.UTF-8 > LC_MONETARY=en_GB.UTF-8 > LC_NAME=en_GB.UTF-8 > LC_NUMERIC=en_GB.UTF-8 > LC_PAPER=en_GB.UTF-8 > LC_TELEPHONE=en_GB.UTF-8 > LC_TIME=en_GB.UTF-8 > LIBVIRT_DEFAULT_URI=qemu:///system > LOGNAME= > MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path > MATE_DESKTOP_SESSION_ID=this-is-deprecated > PAPERSIZE=a4 > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > PWD= > QT_ACCESSIBILITY=1 > QT_FONT_DPI=96 > QT_IM_MODULE=ibus > QT_LOGGING_RULES=*.debug=false > QT_QPA_PLATFORMTHEME=qt5ct > QT_SCALE_FACTOR=1 > SESSION_MANAGER=local/:@/tmp/.ICE-unix/4620, > unix/:/tmp/.ICE-unix/4620 SHELL=/bin/bash SHLVL=1 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg > XDG_CURRENT_DESKTOP=MATE > XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_CLASS=user > XDG_SESSION_DESKTOP=mate > XDG_SESSION_ID=c1 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > XMODIFIERS=@im=ibus > _=/usr/bin/gambas3 ------- End of Original Message ------- From sharon at 455.co.il Tue May 16 16:01:54 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Tue, 16 May 2023 17:01:54 +0300 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <20230516131357.M30289@455.co.il> References: <20230516131357.M30289@455.co.il> Message-ID: <20230516135916.M89197@455.co.il> Hello I noticed I'm on X11 I reverted my system to Wayland And now it captures a picture but everything is black Is this the problem you meant? ---------- Original Message ----------- From: "Mayost Sharon" To: Gambas Mailing List Sent: Tue, 16 May 2023 16:14:07 +0300 Subject: Re: [Gambas-user] Test Screen.Available values > Hello > > I ran it on: > 36 FEDORA > GAMBAS 3.18.2 > > It runs well > I don't get any error > > ---------- Original Message ----------- > From: Bruce Steers > To: Gambas Mailing List > Sent: Tue, 16 May 2023 11:00:48 +0100 > Subject: [Gambas-user] Test Screen.Available values > > > Hi all. > > > > I have a problem with a program that Benoit does not get the same bug and > > wondered if some people could test this program. > > > > the program is a simple screenshot program. > > I made it because I now use a laptop with 2 screens attached and with the > > built-in screenshot programs it grabs the entire area of both screens and i > > then have to crop the picture. > > > > This application detects what screen the mouse is on via an addition to > > Mouse.class (Mouse.Screen) and only grabs that screens area. > > > > It also has an option to "hide panels" , if this is selected then is uses > > the Screen.Available co'ords not the normal co'ords. > > like so... > > > > Dim s As Screen = Screens[Mouse.Screen] > > > > If NoPanels Then > > hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, s.AvailableWidth, > > s.AvailableHeight) > > Else > > hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) > > Endif > > > > The problem.... > > On my system this works as expected with GTK3 , if NoPanels is selected the > > screenshot only includes the internal usable screen and not the outer > > desktop panels. > > > > (note: my config is the plug-in 1280x1024 monitor is default screen, laptop > > built-in 1366x768 is secondary screen) > > > > Now with GTK2 and QT5 it does not work and parts of the panels get included > > in the screenshot. > > On my machine but not Benoits :-\ > > > > Also for me KDE failed with GTK3 as well but for Ben no problems. > > > > So i am trying to figure out why it fails for me but not for Ben. > > Could some people test this application on their systems and report if it > > works as expected or not. > > > > To test... > > Load the project. > > select the debug toolkit to use (either gtk3 or qt5) > > hit run. > > Ensure the "Hide Panels" checkbox is checked. > > Hit Okay > > > > the following window shows the screenshot image. It should not include > > your desktop panels just the inner screen part. > > > > Like i say on my Mint21-MATE machine this works as expected only with GTK3 > > toolkit. > > > > Thanks all :) > > BruceS > > > > My system config... > > [System] > > Gambas=3.18.90 0e0771183 (bruces-patched) > > OperatingSystem=Linux > > Distribution=Linux Mint 21 Vanessa > > Kernel=5.15.0-71-generic > > Architecture=x86_64 > > Cores=4 > > Memory=7869M > > Language=en_GB.UTF-8 > > Desktop=MATE > > DesktopResolution=96 > > DesktopScale=8 > > WidgetTheme=clearlooks > > Font=Ubuntu,11 > > > > [Programs] > > gcc=gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 > > git=git version 2.34.1 > > > > [Libraries] > > Cairo=libcairo.so.2.11600.0 > > Curl=libcurl.so.4.7.0 > > DBus=libdbus-1.so.3.19.13 > > GDK2=libgdk-x11-2.0.so.0.2400.33 > > GDK3=libgdk-3.so.0.2404.29 > > GStreamer=libgstreamer-1.0.so.0.2003.0 > > GTK+2=libgtk-x11-2.0.so.0.2400.33 > > GTK+3=libgtk-3.so.0.2404.29 > > OpenGL=libGL.so.1.7.0 > > Poppler=libpoppler.so.118.0.0 > > QT5=libQt5Core.so.5.15.3 > > RSvg=librsvg-2.so.2.48.0 > > SDL=libSDL2-2.0.so.0.18.2 > > SQLite 3=libsqlite3.so.0.8.6 > > > > [Environment] > > CLUTTER_BACKEND=x11 > > CLUTTER_IM_MODULE=ibus > > COMPIZ_CONFIG_PROFILE=mint > > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > > DEFAULTS_PATH=/usr/share/gconf/mate.default.path > > DESKTOP_AUTOSTART_ID=101b3a4351c7472ce168422673669594200000046200005 > > DESKTOP_SESSION=mate > > DISPLAY=:0 > > GB_GUI=gb.gtk3 > > GDMSESSION=mate > > GDM_LANG=en_GB > > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > > GTK3_MODULES=xapp-gtk3-module > > GTK_IM_MODULE=ibus > > GTK_MODULES=gail:atk-bridge > > GTK_OVERLAY_SCROLLING=0 > > HOME= > > LANG=en_GB.UTF-8 > > LANGUAGE=en_GB.UTF-8 > > LC_ADDRESS=en_GB.UTF-8 > > LC_ALL=en_GB.UTF-8 > > LC_IDENTIFICATION=en_GB.UTF-8 > > LC_MEASUREMENT=en_GB.UTF-8 > > LC_MONETARY=en_GB.UTF-8 > > LC_NAME=en_GB.UTF-8 > > LC_NUMERIC=en_GB.UTF-8 > > LC_PAPER=en_GB.UTF-8 > > LC_TELEPHONE=en_GB.UTF-8 > > LC_TIME=en_GB.UTF-8 > > LIBVIRT_DEFAULT_URI=qemu:///system > > LOGNAME= > > MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path > > MATE_DESKTOP_SESSION_ID=this-is-deprecated > > PAPERSIZE=a4 > > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > > PWD= > > QT_ACCESSIBILITY=1 > > QT_FONT_DPI=96 > > QT_IM_MODULE=ibus > > QT_LOGGING_RULES=*.debug=false > > QT_QPA_PLATFORMTHEME=qt5ct > > QT_SCALE_FACTOR=1 > > SESSION_MANAGER=local/:@/tmp/.ICE-unix/4620, > > unix/:/tmp/.ICE-unix/4620 SHELL=/bin/bash SHLVL=1 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > > TZ=:/etc/localtime > > USER= > > XAUTHORITY=/.Xauthority > > XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg > > XDG_CURRENT_DESKTOP=MATE > > XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > > XDG_RUNTIME_DIR=/run/user/1000 > > XDG_SEAT=seat0 > > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > > XDG_SESSION_CLASS=user > > XDG_SESSION_DESKTOP=mate > > XDG_SESSION_ID=c1 > > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > > XDG_SESSION_TYPE=x11 > > XDG_VTNR=7 > > XMODIFIERS=@im=ibus > > _=/usr/bin/gambas3 > ------- End of Original Message ------- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- From benoit.minisini at gambas-basic.org Tue May 16 16:04:53 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 16 May 2023 16:04:53 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <20230516135916.M89197@455.co.il> References: <20230516131357.M30289@455.co.il> <20230516135916.M89197@455.co.il> Message-ID: Le 16/05/2023 ? 16:01, Mayost Sharon a ?crit?: > Hello > > I noticed I'm on X11 > > I reverted my system to Wayland > And now it captures a picture but everything is black > > Is this the problem you meant? > No, it's Wayland that prevents screen capture for "normal" programs. If you use the development version, I have recently added support for "freedesktop portal", a DBus interface that allows to ask for a desktop screenshot. It works, but it is far slower, as it executes a screenshot program in the background to get the screenshot, save it to a file, and then you have to reload the file to finally get the screenshot. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue May 16 19:57:19 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 May 2023 18:57:19 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: On Tue, 16 May 2023 at 13:35, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 16/05/2023 ? 12:00, Bruce Steers a ?crit : > > Hi all. > > > > I have a problem with a program that Benoit does not get the same bug > > and wondered if some people could test this program. > > > > the program is a simple screenshot program. > > I made it because I now use a laptop with 2 screens attached and with > > the built-in screenshot programs it grabs the entire area of both > > screens and i then have to crop the picture. > > > > This application detects what screen the mouse is on via an addition to > > Mouse.class (Mouse.Screen) and only grabs that screens area. > > > > It also has an option to "hide panels" , if this is selected then is > > uses the Screen.Available co'ords not the normal co'ords. > > like so... > > > > Dim s As Screen = Screens[Mouse.Screen] > > > > If NoPanels Then > > hPic = Desktop.Screenshot(s.AvailableX, s.AvailableY, > > s.AvailableWidth, s.AvailableHeight) > > Else > > hPic = Desktop.Screenshot(s.x, s.y, s.w, s.h) > > Endif > > > > > > The problem.... > > On my system this works as expected with GTK3 , if NoPanels is selected > > the screenshot only includes the internal usable screen and not the > > outer desktop panels. > > > > (note: my config is the plug-in 1280x1024 monitor is default screen, > > laptop built-in 1366x768 is secondary screen) > > > > [...] > > For information: both QT and GTK components use the API provided by the > toolkit to get the screen available dimensions. > > So if it does not work, it should not be Gambas' fault. > > The toolkit API is supposed to adapt to the underlying windowing system > (X or Wayland) to get that information. > > On X11, that information is provided by X11 properties attached to the > root window by the window manager. These properties are computed by > taking the screen size and removing the dimensions of top-level windows > indicating (with other X11 properties) that they are desktop "panels". > > Here is a comment from the QT source code : > > ----8<----------------------------------------------------------- > > Using _NET_WORKAREA to calculate the available desktop geometry on > multi-head systems (systems with more than one monitor) is unreliable. > Different WMs have different interpretations of what _NET_WORKAREA means > with multiple attached monitors. This gets worse when monitors have > different dimensions and/or screens are not virtually aligned. In Qt we > want the available geometry per monitor (QScreen), not desktop > (represented by _NET_WORKAREA). WM specification does not have an atom > for this. Thus, QScreen is limted by the lack of support from the > underlying system. > > One option could be that Qt does WM's job of calculating this by > subtracting geometries of _NET_WM_STRUT_PARTIAL and windows where > _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK. > > But this won't work on Gnome 3 shell as it seems that on this desktop > environment the tool panel is painted directly on the root window. Maybe > there is some Gnome/GTK API that could be used to get height of the > panel, but I did not find one. Maybe other WMs have their own tricks, so > the reliability of this approach is questionable. > > ----8<----------------------------------------------------------- > > As for Wayland, no idea. I guess you can't have this information outside > of a specific API implemented in your specific compositor. :-( > > Regards, > > -- > Beno?t Minisini. > Thank you Bruce, Benoit, Mayost So i guess with all that the best way to add / use a feature like this would be to just add a disclaimer that it may or may not work depending on the system. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Tue May 16 20:01:57 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Tue, 16 May 2023 20:01:57 +0200 Subject: [Gambas-user] VerticalSplit and HorizontalSsplit Message-ID: <4f914eba-bc1d-e9e6-e7c0-6df9e454e5ce@cd-bahia.com> Hi, why are those deprecated? They are easy to use with the layout option. All my projects use them. In VBox or VPanel I can't see anything similar (as layout), they look more complicated to me. And as they are deprecated in 3.18.2, I am afraid they will disappear completely in coming versions, then I will have to rewrite all my projects Regards, Dag. -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue May 16 20:14:44 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 16 May 2023 20:14:44 +0200 Subject: [Gambas-user] VerticalSplit and HorizontalSsplit In-Reply-To: <4f914eba-bc1d-e9e6-e7c0-6df9e454e5ce@cd-bahia.com> References: <4f914eba-bc1d-e9e6-e7c0-6df9e454e5ce@cd-bahia.com> Message-ID: Le 16/05/2023 ? 20:01, Dag JNJ a ?crit?: > Hi, > why are those deprecated? They are easy to use with the layout option. > All my projects use them. In VBox or VPanel I can't see anything similar > (as layout), they look more complicated to me. And as they are > deprecated in 3.18.2, I am afraid they will disappear completely in > coming versions, then I will have to rewrite all my projects > Regards, > Dag. > They are deprecated because they were merged in the 'Splitter' control with an orientation property. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Tue May 16 20:15:56 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 16 May 2023 20:15:56 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: Le 16/05/2023 ? 19:57, Bruce Steers a ?crit?: > > > Thank you Bruce, Benoit, Mayost > So i guess with all that the best way to add / use a feature like this > would be to just add a disclaimer that it may or may not work depending > on the system. > > Respects > BruceS > As explained in the Qt comment, you can use the 'xprop' command-line tool to read the X11 properties of the root window and look if there is a '_NET_WORKAREA' property and show us what it contains. -- Beno?t Minisini. From bsteers4 at gmail.com Tue May 16 23:18:39 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 16 May 2023 22:18:39 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: On Tue, 16 May 2023, 19:16 Benoit Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > Thank you Bruce, Benoit, Mayost > > So i guess with all that the best way to add / use a feature like this > > would be to just add a disclaimer that it may or may not work depending > > on the system. > > > > Respects > > BruceS > > > > As explained in the Qt comment, you can use the 'xprop' command-line > tool to read the X11 properties of the root window and look if there is > a '_NET_WORKAREA' property and show us what it contains. > > -- > Beno?t Minisini. > Thanks Ben. I don't think I can trust that either though as I remember some desktops not even filling it. I'll look into it though it seems it may help and see if I can get some workarounds. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed May 17 09:24:31 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 08:24:31 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: On Tue, 16 May 2023 at 19:16, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > Thank you Bruce, Benoit, Mayost > > So i guess with all that the best way to add / use a feature like this > > would be to just add a disclaimer that it may or may not work depending > > on the system. > > > > Respects > > BruceS > > > > As explained in the Qt comment, you can use the 'xprop' command-line > tool to read the X11 properties of the root window and look if there is > a '_NET_WORKAREA' property and show us what it contains. > > -- > Beno?t Minisini. > mine is this... $ xprop -root _NET_WORKAREA _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 And that's annoying as that is the entire screen (both monitors) but there's only panels on one :-\ Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Wed May 17 10:34:19 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 17 May 2023 11:34:19 +0300 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: <20230517083257.M92664@455.co.il> Hello For me it's the pig so: _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, 1920, 1048 Is it because I have 3 desktops? ---------- Original Message ----------- From: Bruce Steers To: Gambas Mailing List Sent: Wed, 17 May 2023 08:24:31 +0100 Subject: Re: [Gambas-user] Test Screen.Available values > On Tue, 16 May 2023 at 19:16, Benoit Minisini < > benoit.minisini at gambas-basic.org> wrote: > > > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > > > > Thank you Bruce, Benoit, Mayost > > > So i guess with all that the best way to add / use a feature like this > > > would be to just add a disclaimer that it may or may not work depending > > > on the system. > > > > > > Respects > > > BruceS > > > > > > > As explained in the Qt comment, you can use the 'xprop' command-line > > tool to read the X11 properties of the root window and look if there is > > a '_NET_WORKAREA' property and show us what it contains. > > > > -- > > Beno?t Minisini. > > > mine is this... > > $ xprop -root _NET_WORKAREA > _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 > > And that's annoying as that is the entire screen (both monitors) but > there's only panels on one :-\ > > Respects > BruceS ------- End of Original Message ------- From adamnt42 at gmail.com Wed May 17 11:09:19 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 17 May 2023 18:39:19 +0930 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <20230517083257.M92664@455.co.il> References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> Message-ID: On 17/5/23 6:04 pm, Mayost Sharon wrote: > Hello > > For me it's the pig > so: > _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, 1920, 1048 > > Is it because I have 3 desktops? > Yes, for instance with my 6 desktops I get: _NET_WORKAREA(CARDINAL) = 0, 0, 1920, 1044, 0, 0, 1920, 1044, 0, 0, 1920, 1044, 0, 0, 1920, 1044, 0, 0, 1920, 1044, 0, 0, 1920, 1044 b From bsteers4 at gmail.com Wed May 17 12:07:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 11:07:58 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <20230517083257.M92664@455.co.il> References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> Message-ID: On Wed, 17 May 2023, 09:35 Mayost Sharon, wrote: > Hello > > For me it's the pig > so: > _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, > 1920, 1048, 0, 32, 1920, 1048 > > Is it because I have 3 desktops? > Yes. I use compiz and it only defines one desktop. Gambas does not support this method at all Desktop.Count only ever shows 1 even though I have 6. I submitted a merge request to add virtual desktop method too many moons ago but got no interest. It's because compiz workspaces method uses one large desktop screen and splits it into segments Other wms use multiple desktops and so you get multiple results from the workarea property and also gambas Desktop.Count and other functions work as expected. My workarea only shows for the one single view screen because of compiz. BruceS > ---------- Original Message ----------- > From: Bruce Steers > To: Gambas Mailing List > Sent: Wed, 17 May 2023 08:24:31 +0100 > Subject: Re: [Gambas-user] Test Screen.Available values > > > On Tue, 16 May 2023 at 19:16, Benoit Minisini < > > benoit.minisini at gambas-basic.org> wrote: > > > > > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > > > > > > > Thank you Bruce, Benoit, Mayost > > > > So i guess with all that the best way to add / use a feature like > this > > > > would be to just add a disclaimer that it may or may not work > depending > > > > on the system. > > > > > > > > Respects > > > > BruceS > > > > > > > > > > As explained in the Qt comment, you can use the 'xprop' command-line > > > tool to read the X11 properties of the root window and look if there is > > > a '_NET_WORKAREA' property and show us what it contains. > > > > > > -- > > > Beno?t Minisini. > > > > > mine is this... > > > > $ xprop -root _NET_WORKAREA > > _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 > > > > And that's annoying as that is the entire screen (both monitors) but > > there's only panels on one :-\ > > > > Respects > > BruceS > ------- End of Original Message ------- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Wed May 17 12:22:40 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 17 May 2023 13:22:40 +0300 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> Message-ID: <20230517101928.M27586@455.co.il> Hello Maybe I didn't understand you 1. Desktop.Count returns me 3 2. I checked your project and it works well for me with 3 desktops When I give it a time of 15 seconds and then I switch to the second or third desktop and it captures the screen of the desktop well ---------- Original Message ----------- From: Bruce Steers To: Gambas Mailing List Sent: Wed, 17 May 2023 11:07:58 +0100 Subject: Re: [Gambas-user] Test Screen.Available values > On Wed, 17 May 2023, 09:35 Mayost Sharon, wrote: > > > Hello > > > > For me it's the pig > > so: > > _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, > > 1920, 1048, 0, 32, 1920, 1048 > > > > Is it because I have 3 desktops? > > > > Yes. > I use compiz and it only defines one desktop. > Gambas does not support this method at all Desktop.Count only ever shows 1 > even though I have 6. I submitted a merge request to add virtual desktop > method too many moons ago but got no interest. > > It's because compiz workspaces method uses one large desktop screen and > splits it into segments > Other wms use multiple desktops and so you get multiple results from the > workarea property and also gambas Desktop.Count and other functions work as > expected. > My workarea only shows for the one single view screen because of compiz. > > BruceS > > > ---------- Original Message ----------- > > From: Bruce Steers > > To: Gambas Mailing List > > Sent: Wed, 17 May 2023 08:24:31 +0100 > > Subject: Re: [Gambas-user] Test Screen.Available values > > > > > On Tue, 16 May 2023 at 19:16, Benoit Minisini < > > > benoit.minisini at gambas-basic.org> wrote: > > > > > > > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > > > > > > > > > > Thank you Bruce, Benoit, Mayost > > > > > So i guess with all that the best way to add / use a feature like > > this > > > > > would be to just add a disclaimer that it may or may not work > > depending > > > > > on the system. > > > > > > > > > > Respects > > > > > BruceS > > > > > > > > > > > > > As explained in the Qt comment, you can use the 'xprop' command-line > > > > tool to read the X11 properties of the root window and look if there is > > > > a '_NET_WORKAREA' property and show us what it contains. > > > > > > > > -- > > > > Beno?t Minisini. > > > > > > > mine is this... > > > > > > $ xprop -root _NET_WORKAREA > > > _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 > > > > > > And that's annoying as that is the entire screen (both monitors) but > > > there's only panels on one :-\ > > > > > > Respects > > > BruceS > > ------- End of Original Message ------- > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ------- End of Original Message ------- From bsteers4 at gmail.com Wed May 17 12:39:51 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 11:39:51 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <20230517101928.M27586@455.co.il> References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> <20230517101928.M27586@455.co.il> Message-ID: On Wed, 17 May 2023, 11:23 Mayost Sharon, wrote: > Hello > > Maybe I didn't understand you > > 1. Desktop.Count returns me 3 > 2. I checked your project and it works well for me with 3 desktops > When I give it a time of 15 seconds and then I switch to the second or > third desktop and it captures the screen of the desktop well > Yes with compiz I only get Desktop.Count 1 even though I have 6 workspaces because gambas only supports one method (as explained in the other post). And it's possibly the reason I'm getting this screen dimension error too. BruceS. > ---------- Original Message ----------- > From: Bruce Steers > To: Gambas Mailing List > Sent: Wed, 17 May 2023 11:07:58 +0100 > Subject: Re: [Gambas-user] Test Screen.Available values > > > On Wed, 17 May 2023, 09:35 Mayost Sharon, wrote: > > > > > Hello > > > > > > For me it's the pig > > > so: > > > _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1048, 0, 32, 1920, 1048, 0, 32, > > > 1920, 1048, 0, 32, 1920, 1048 > > > > > > Is it because I have 3 desktops? > > > > > > > Yes. > > I use compiz and it only defines one desktop. > > Gambas does not support this method at all Desktop.Count only ever shows > 1 > > even though I have 6. I submitted a merge request to add virtual desktop > > method too many moons ago but got no interest. > > > > It's because compiz workspaces method uses one large desktop screen and > > splits it into segments > > Other wms use multiple desktops and so you get multiple results from the > > workarea property and also gambas Desktop.Count and other functions work > as > > expected. > > My workarea only shows for the one single view screen because of compiz. > > > > BruceS > > > > > ---------- Original Message ----------- > > > From: Bruce Steers > > > To: Gambas Mailing List > > > Sent: Wed, 17 May 2023 08:24:31 +0100 > > > Subject: Re: [Gambas-user] Test Screen.Available values > > > > > > > On Tue, 16 May 2023 at 19:16, Benoit Minisini < > > > > benoit.minisini at gambas-basic.org> wrote: > > > > > > > > > Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : > > > > > > > > > > > > > > > > > > Thank you Bruce, Benoit, Mayost > > > > > > So i guess with all that the best way to add / use a feature like > > > this > > > > > > would be to just add a disclaimer that it may or may not work > > > depending > > > > > > on the system. > > > > > > > > > > > > Respects > > > > > > BruceS > > > > > > > > > > > > > > > > As explained in the Qt comment, you can use the 'xprop' > command-line > > > > > tool to read the X11 properties of the root window and look if > there is > > > > > a '_NET_WORKAREA' property and show us what it contains. > > > > > > > > > > -- > > > > > Beno?t Minisini. > > > > > > > > > mine is this... > > > > > > > > $ xprop -root _NET_WORKAREA > > > > _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 > > > > > > > > And that's annoying as that is the entire screen (both monitors) but > > > > there's only panels on one :-\ > > > > > > > > Respects > > > > BruceS > > > ------- End of Original Message ------- > > > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ------- End of Original Message ------- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Wed May 17 17:10:33 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Wed, 17 May 2023 17:10:33 +0200 Subject: [Gambas-user] VerticalSplit and HorizontalSsplit In-Reply-To: References: <4f914eba-bc1d-e9e6-e7c0-6df9e454e5ce@cd-bahia.com> Message-ID: <14834c79-9ac6-2b8f-79b5-3cb1832f8f4f@cd-bahia.com> Am 16.05.23 um 20:14 schrieb Benoit Minisini: > Le 16/05/2023 ? 20:01, Dag JNJ a ?crit?: >> Hi, >> why are those deprecated? They are easy to use with the layout >> option. All my projects use them. In VBox or VPanel I can't see >> anything similar (as layout), they look more complicated to me. And >> as they are deprecated in 3.18.2, I am afraid they will disappear >> completely in coming versions, then I will have to rewrite all my >> projects >> Regards, >> Dag. >> > > They are deprecated because they were merged in the 'Splitter' control > with an orientation property. > > Regards, > Thank you, I'll start to use Splitter. Regards, Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Wed May 17 18:20:59 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 17 May 2023 22:05:59 +0545 Subject: [Gambas-user] remote URL stopped working in gb.web.gui WebImage Message-ID: Dear Benoit In gb.web.gui application the remote URL in WebImage has stopped working again. eg. WebImage1.Image = "https://gambas.sourceforge.net/logo-circle.png" doesn't show image -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: imagelink.zip Type: application/zip Size: 78904 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Wed May 17 18:26:02 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 17 May 2023 18:26:02 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> Message-ID: <43b33b7d-8d24-9ae3-0921-62ed869bce9f@gambas-basic.org> Le 17/05/2023 ? 12:07, Bruce Steers a ?crit?: > > Yes. > I use compiz and it only defines one desktop. > Gambas does not support this method at all Desktop.Count only ever shows > 1 even though I have 6. I submitted a merge request to add virtual > desktop method too many moons ago but got no interest. > Sorry for that. It's because of Wayland: we cannot rely on an X11-only specific thing. I'm currently working on 'gb.desktop' so that things start to work (more or less) both on X11 and wayland. I think we should only use Screens.Count, because it should actually return the number of desktops you expect, and ignore Desktop.Count completely as it cannot be implemented on Wayland. Regards, -- Beno?t Minisini. From sharon at 455.co.il Wed May 17 18:53:36 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Wed, 17 May 2023 19:53:36 +0300 Subject: [Gambas-user] Mouse with Wayland Message-ID: <20230517164753.M71775@455.co.il> Hello When I'm on Wayland Mouse.Move Does not move the cursor When I'm on X11 It works well Thank you From benoit.minisini at gambas-basic.org Wed May 17 18:56:57 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 17 May 2023 18:56:57 +0200 Subject: [Gambas-user] remote URL stopped working in gb.web.gui WebImage In-Reply-To: References: Message-ID: <84f12cf5-2019-2fd4-e50c-4176b13aaa97@gambas-basic.org> Le 17/05/2023 ? 18:20, Safiur Rahman a ?crit?: > Dear Benoit > > In gb.web.gui application the remote URL in WebImage has stopped working > again. > eg. > WebImage1.Image = "https://gambas.sourceforge.net/logo-circle.png > " > doesn't show image > > -- > Regards > Safiur Rahman > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's fixed in commit https://gitlab.com/gambas/gambas/-/commit/946c102e51fd546598adad68c17378e3f49eed15. The fix will be backported in the next stable version. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed May 17 18:57:34 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 17 May 2023 18:57:34 +0200 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230517164753.M71775@455.co.il> References: <20230517164753.M71775@455.co.il> Message-ID: <74049bf3-55b7-78ac-47b5-23f90052f19e@gambas-basic.org> Le 17/05/2023 ? 18:53, Mayost Sharon a ?crit?: > Hello > > When I'm on Wayland > Mouse.Move > Does not move the cursor > When I'm on X11 > It works well > > Thank you > It's a wayland feature! -- Beno?t Minisini. From bsteers4 at gmail.com Wed May 17 21:20:51 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 20:20:51 +0100 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230517164753.M71775@455.co.il> References: <20230517164753.M71775@455.co.il> Message-ID: Have you tried installing xwayland? Then your programs should behave in more of an x11 way and workaround some things Wayland lacks. BruceS. On Wed, 17 May 2023, 17:54 Mayost Sharon, wrote: > Hello > > When I'm on Wayland > Mouse.Move > Does not move the cursor > When I'm on X11 > It works well > > Thank you > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sharon at 455.co.il Wed May 17 23:50:45 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 18 May 2023 00:50:45 +0300 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: References: <20230517164753.M71775@455.co.il> Message-ID: <20230517215037.M78227@455.co.il> I can't find such an installation in FEDORA dnf install xwayland Error: Unable to find a match: xwayland Thanks ---------- Original Message ----------- From: Bruce Steers To: Gambas Mailing List Sent: Wed, 17 May 2023 20:20:51 +0100 Subject: Re: [Gambas-user] Mouse with Wayland > Have you tried installing xwayland? > > Then your programs should behave in more of an x11 way and workaround some > things Wayland lacks. > > BruceS. > > On Wed, 17 May 2023, 17:54 Mayost Sharon, wrote: > > > Hello > > > > When I'm on Wayland > > Mouse.Move > > Does not move the cursor > > When I'm on X11 > > It works well > > > > Thank you > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ------- End of Original Message ------- From bsteers4 at gmail.com Thu May 18 00:06:31 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 23:06:31 +0100 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230517215037.M78227@455.co.il> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> Message-ID: Maybe Xwayland https://src.fedoraproject.org/rpms/xorg-x11-server-Xwayland On Wed, 17 May 2023, 22:51 Mayost Sharon, wrote: > I can't find such an installation in FEDORA > > dnf install xwayland > Error: Unable to find a match: xwayland > > Thanks > > ---------- Original Message ----------- > From: Bruce Steers > To: Gambas Mailing List > Sent: Wed, 17 May 2023 20:20:51 +0100 > Subject: Re: [Gambas-user] Mouse with Wayland > > > Have you tried installing xwayland? > > > > Then your programs should behave in more of an x11 way and workaround > some > > things Wayland lacks. > > > > BruceS. > > > > On Wed, 17 May 2023, 17:54 Mayost Sharon, wrote: > > > > > Hello > > > > > > When I'm on Wayland > > > Mouse.Move > > > Does not move the cursor > > > When I'm on X11 > > > It works well > > > > > > Thank you > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ------- End of Original Message ------- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at cd-bahia.com Thu May 18 00:09:45 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Thu, 18 May 2023 00:09:45 +0200 Subject: [Gambas-user] Problem with file access Message-ID: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> Hi all, suddenly I have got access denied handling files. In a terminal window everything works fine, but from within Gambas I get access denied. I have /If Exist(dPDF) Then Kill dPDF -> IDE stopps? with access denied message /dPDF is the filename of a pdf-file. It worked fine until the afternoon today. I tried chmod -r +rw . and chown -r dagj . from the current Application.Path, but that changed nothing, Then I tried /Shell "pdftotext? -layout " & ch3 & dPDF & ch3 & " " & fntxt Wait /fntxt is the filename of the output textfile. Result: /I/O Error: Couldn't open file 'data/AMZ/2020/Amazon.es - Pedido 406-4690641-7441902.pdf': No such file or directory. / But when//I try this in a terminal window (Print instead of Shell and copy the result from the Gambas console then paste this into the terminal window), it works, /pdftotext? -layout "data/AMZ/2020/Amazon.es - Pedido 406-4690641-7441902.pdf" "data/AMZ/BEARBEITET/TXT/406-4690641-7441902.txt"/ I am hanging a little? now, and appreciate any help. Regards, Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu May 18 00:24:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 23:24:37 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <43b33b7d-8d24-9ae3-0921-62ed869bce9f@gambas-basic.org> References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> <20230517083257.M92664@455.co.il> <43b33b7d-8d24-9ae3-0921-62ed869bce9f@gambas-basic.org> Message-ID: On Wed, 17 May 2023, 17:27 Benoit Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 17/05/2023 ? 12:07, Bruce Steers a ?crit : > > > > Yes. > > I use compiz and it only defines one desktop. > > Gambas does not support this method at all Desktop.Count only ever shows > > 1 even though I have 6. I submitted a merge request to add virtual > > desktop method too many moons ago but got no interest. > > > Sorry for that. It's because of Wayland: we cannot rely on an X11-only > specific thing. > But it was changes to GB.X11 ?? > I'm currently working on 'gb.desktop' so that things start to work (more > or less) both on X11 and wayland. > Xwayland seems to be the way to go for me. On Wayland now all my gambas apps say they are just using x11 toolkits. > I think we should only use Screens.Count, because it should actually > return the number of desktops you expect, and ignore Desktop.Count > completely as it cannot be implemented on Wayland. > But a Screen is totally different to a Desktop in gambas is my understanding. A screen and screen.count show how many physical monitors/displays are attached and it's overall size is a combination them. Desktop.count is the virtual workspaces you can switch to, a multiple of the Screens. That is what gambas does not support with compiz's virtual root method I spoke of. Respects BruceS > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu May 18 00:37:00 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 23:37:00 +0100 Subject: [Gambas-user] Problem with file access In-Reply-To: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> References: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> Message-ID: On Wed, 17 May 2023, 23:10 Dag JNJ, wrote: > Hi all, > suddenly I have got access denied handling files. In a terminal window > everything works fine, but from within Gambas I get access denied. I have > > *If Exist(dPDF) Then Kill dPDF -> IDE stopps with access denied message *dPDF > is the filename of a pdf-file. It worked fine until the afternoon today. I > tried chmod -r +rw . and chown -r dagj . from the current Application.Path, > but that changed nothing, Then I tried > > *Shell "pdftotext -layout " & ch3 & dPDF & ch3 & " " & fntxt Wait *fntxt > is the filename of the output textfile. Result: > > *I/O Error: Couldn't open file 'data/AMZ/2020/Amazon.es - Pedido > 406-4690641-7441902.pdf': No such file or directory. * > But when I try this in a terminal window (Print instead of Shell and copy > the result from the Gambas console then paste this into the terminal > window), it works, > *pdftotext -layout "data/AMZ/2020/Amazon.es - Pedido > 406-4690641-7441902.pdf" "data/AMZ/BEARBEITET/TXT/406-4690641-7441902.txt"* > > I am hanging a little now, and appreciate any help. > Regards, > Dag > Where is "data" ? If it's a disk then that code is okay. If it's a Dir in the project folder then it is wrong. To use a shell command you will need to save the file to /tmp or somewhere and have it output it's text there too. Or use absolute paths to work in project dir with Application.Path &/ dPDF BruceS > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu May 18 00:39:41 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 17 May 2023 23:39:41 +0100 Subject: [Gambas-user] Problem with file access In-Reply-To: References: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> Message-ID: On Wed, 17 May 2023, 23:37 Bruce Steers, wrote: > > On Wed, 17 May 2023, 23:10 Dag JNJ, wrote: > >> Hi all, >> suddenly I have got access denied >> I am hanging a little now, and appreciate any help. >> Regards, >> Dag >> > > Where is "data" ? > > If it's a disk then that code is okay. > Oops sorry I did not mean disk I meant top level directory. -------------- next part -------------- An HTML attachment was scrubbed... URL: From denisc at exemail.com.au Thu May 18 00:51:25 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 18 May 2023 08:51:25 +1000 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230517215037.M78227@455.co.il> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> Message-ID: On 5/18/23 07:50, Mayost Sharon wrote: > I can't find such an installation in FEDORA > > dnf install xwayland > Error: Unable to find a match: xwayland > > Thanks On PcLinuxOS it's x11-server-xwayland -- Regards Denis From isafiur at gmail.com Thu May 18 05:58:53 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Thu, 18 May 2023 09:43:53 +0545 Subject: [Gambas-user] Unable to update value of WebTextBox or other control present in tab not visible in WebTabPanel Message-ID: Hi I have two WebTextBox in two tabs of WebTabPanel. When I click a button to change values of both WebTextBox in both tabs then value of WebTextBox on visible tab changes but value of WebTextBox on tab which is not visible doesn't change. 1) This works Public Sub _new() WebTextBox1.Text = "abc" ''shows abc WebTextBox2.Text = "abc" ''shows abc End 2) This doesn't work Public Sub WebButton1_Click() WebTextBox1.Text = "def" ''shows def WebTextBox2.Text = "def" ''not showing def End This problem of WebTabPanel is present with all other controls like WebLabel, Grid View, WebCheckBox etc. The WebTabPanel_Click() provides the way to update value to those tabs. -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: tabpanel.zip Type: application/zip Size: 15287 bytes Desc: not available URL: From sharon at 455.co.il Thu May 18 06:48:59 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Thu, 18 May 2023 07:48:59 +0300 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> Message-ID: <20230518044822.M16909@455.co.il> xorg-x11-server-Xwayland Installed on my system But when I transfer the system to wayland /etc/gdm/custom.conf WaylandEnable=true mouse.move Does not work When I transfer to X11 /etc/gdm/custom.conf WaylandEnable=false mouse.move Works fine ---------- Original Message ----------- From: Denis Crowther To: user at lists.gambas-basic.org Sent: Thu, 18 May 2023 08:51:25 +1000 Subject: Re: [Gambas-user] Mouse with Wayland > On 5/18/23 07:50, Mayost Sharon wrote: > > I can't find such an installation in FEDORA > > > > dnf install xwayland > > Error: Unable to find a match: xwayland > > > > Thanks > > On PcLinuxOS it's x11-server-xwayland > > -- > Regards > Denis > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- ------- End of Original Message ------- From denisc at exemail.com.au Thu May 18 07:08:19 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 18 May 2023 15:08:19 +1000 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230518044822.M16909@455.co.il> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> <20230518044822.M16909@455.co.il> Message-ID: On 5/18/23 14:48, Mayost Sharon wrote: > xorg-x11-server-Xwayland > Installed on my system > > But when I transfer the system to wayland > /etc/gdm/custom.conf > WaylandEnable=true > > mouse.move > Does not work > > When I transfer to X11 > /etc/gdm/custom.conf > WaylandEnable=false > > mouse.move > Works fine > Sorry Mayost but I don't use wayland, I was just giving you the package name on my system. Bruce may have more information but Beno?t has already stated that Mouse.Move not working is a "wayland feature" which I took to mean that wayland doesn't allow it. -- Regards Denis From benoit.minisini at gambas-basic.org Thu May 18 09:16:49 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 18 May 2023 09:16:49 +0200 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> <20230518044822.M16909@455.co.il> Message-ID: Le 18/05/2023 ? 07:08, Denis Crowther a ?crit?: > On 5/18/23 14:48, Mayost Sharon wrote: >> xorg-x11-server-Xwayland >> Installed on my system >> >> But when I transfer the system to wayland >> /etc/gdm/custom.conf >> WaylandEnable=true >> >> mouse.move >> Does not work >> >> When I transfer to X11 >> /etc/gdm/custom.conf >> WaylandEnable=false >> >> mouse.move >> Works fine >> > > Sorry Mayost but I don't use wayland, I was just giving you the package > name on my system. > > Bruce may have more information but Beno?t has already stated that > Mouse.Move not working is a "wayland feature" which I took to mean that > wayland doesn't allow it. > I don't know if XWayland is allowed to move the mouse by Wayland. Note that in the development version you can force the GUI toolkit to use Wayland or X11 by setting in the environment tab of the project property dialog 'GB_GUI_PLATFORM' to 'x11' or 'wayland'. This environment tab is different from the same tab in the debugging configuration dialog, as it is set at runtime at the process startup, not by the IDE during the debugging session. Regards, -- Beno?t Minisini. From fabien.toniutti at free.fr Thu May 18 10:18:05 2023 From: fabien.toniutti at free.fr (Fabien TONIUTTI) Date: Thu, 18 May 2023 10:18:05 +0200 Subject: [Gambas-user] Help for observ one process... Message-ID: <43478422-e58b-3ae5-cd71-d1614c46e143@free.fr> Hi, A gambas Zip front end project. In one zip file, i have 150 files and folders. I make a zip front end in gambas. When i click on my button 'Expand', i need to know how many file are uncompressed and how many file stay to uncompress with a progressbar. ?how i could have a progress bar who increase with number of file uncompressed during my process : ?Exec["unzip",$file] ?Thanks for your answer. From denisc at exemail.com.au Thu May 18 10:53:08 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 18 May 2023 18:53:08 +1000 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230518044822.M16909@455.co.il> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> <20230518044822.M16909@455.co.il> Message-ID: <1f5a5356-815b-8e7b-a92a-5d32c906f6b5@exemail.com.au> On 5/18/23 14:48, Mayost Sharon wrote: > xorg-x11-server-Xwayland > Installed on my system > > But when I transfer the system to wayland > /etc/gdm/custom.conf > WaylandEnable=true > > mouse.move > Does not work > > When I transfer to X11 > /etc/gdm/custom.conf > WaylandEnable=false > > mouse.move > Works fine > I looked around a little today and as far as I can see Wayland doesn't allow a program to move the mouse. I couldn't find out exactly why only that it's for "security". -- Regards Denis From gradobag at gradobag.it Thu May 18 11:15:49 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 18 May 2023 11:15:49 +0200 Subject: [Gambas-user] Problem with file access In-Reply-To: References: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> Message-ID: Il 18/05/23 00:37, Bruce Steers ha scritto: > > On Wed, 17 May 2023, 23:10 Dag JNJ, wrote: > > Hi all, > suddenly I have got access denied handling files. In a terminal > window everything works fine, but from within Gambas I get access > denied. I have > /If Exist(dPDF) Then Kill dPDF -> IDE stopps? with access denied > message > /dPDF is the filename of a pdf-file. It worked fine until the > afternoon today. I tried chmod -r +rw . and chown -r dagj . from > the current Application.Path, but that changed nothing, Then I tried > /Shell "pdftotext? -layout " & ch3 & dPDF & ch3 & " " & fntxt Wait > /fntxt is the filename of the output textfile. Result: > /I/O Error: Couldn't open file 'data/AMZ/2020/Amazon.es - Pedido > 406-4690641-7441902.pdf': No such file or directory. > / > But when//I try this in a terminal window (Print instead of Shell > and copy the result from the Gambas console then paste this into > the terminal window), it works, > /pdftotext? -layout "data/AMZ/2020/Amazon.es - Pedido > 406-4690641-7441902.pdf" > "data/AMZ/BEARBEITET/TXT/406-4690641-7441902.txt"/ > > I am hanging a little? now, and appreciate any help. > Regards, > Dag > > > Where is "data" ? > > If it's a disk then that code is okay. > > If it's a Dir in the project folder then it is wrong. > > To use a shell command you will need to save the file to /tmp or > somewhere and have it output it's text there too. > > Or use absolute paths to work in project dir with > Application.Path &/ dPDF > > > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Dag, they seem correct suggestions check the paths well, I added in my home a TEST folder and running this code, everything works fine without errors: Public Sub Main() ? ' gian at gian:~$ pdftotext -layout dPDF.pdf TEST/dPDFbyShell.txt ? Try Shell "pdftotext -layout dPDF.pdf TEST/dPDF.txt" Wait ? ' Try Exec ["pdftotext", "-layout", "dPDF.pdf", "TEST/dPDF-2.txt"] Wait ? If Error Then Print Error.Text End I attach image of the TEST folder Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: dag-test.png Type: image/png Size: 27660 bytes Desc: not available URL: From adamnt42 at gmail.com Thu May 18 12:37:54 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 18 May 2023 20:07:54 +0930 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <1f5a5356-815b-8e7b-a92a-5d32c906f6b5@exemail.com.au> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> <20230518044822.M16909@455.co.il> <1f5a5356-815b-8e7b-a92a-5d32c906f6b5@exemail.com.au> Message-ID: <9c398267-cb2f-b401-4c8c-e64dc9b87c0f@gmail.com> On 18/5/23 6:23 pm, Denis Crowther wrote: > On 5/18/23 14:48, Mayost Sharon wrote: >> xorg-x11-server-Xwayland >> Installed on my system >> >> But when I transfer the system to wayland >> /etc/gdm/custom.conf >> WaylandEnable=true >> >> mouse.move >> Does not work >> >> When I transfer to X11 >> /etc/gdm/custom.conf >> WaylandEnable=false >> >> mouse.move >> Works fine >> > > I looked around a little today and as far as I can see Wayland doesn't > allow a program to move the mouse. I couldn't find out exactly why > only that it's for "security". > > There are many 4 letter words in many languages used to describe Wasteland. None of them are "good". From bsteers4 at gmail.com Thu May 18 13:04:02 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 18 May 2023 12:04:02 +0100 Subject: [Gambas-user] Mouse with Wayland In-Reply-To: <20230518044822.M16909@455.co.il> References: <20230517164753.M71775@455.co.il> <20230517215037.M78227@455.co.il> <20230518044822.M16909@455.co.il> Message-ID: On Thu, 18 May 2023, 05:50 Mayost Sharon, wrote: > xorg-x11-server-Xwayland > Installed on my system > > But when I transfer the system to wayland > /etc/gdm/custom.conf > WaylandEnable=true > > mouse.move > Does not work > > When I transfer to X11 > /etc/gdm/custom.conf > WaylandEnable=false > > mouse.move > Works fine > My apologies Mayost. It might have worked and was worth a try. Installing xwayland is better for moving windows where you want them I thought maybe it moved the mouse too. Basically if you want the usual x features of gambas like moving windows/mouse/and other familiar functions then get rid of Wayland and install an X system instead. Wayland is very limiting in functionality BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu May 18 14:54:10 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 18 May 2023 08:54:10 -0400 Subject: [Gambas-user] Help for observ one process... In-Reply-To: <43478422-e58b-3ae5-cd71-d1614c46e143@free.fr> References: <43478422-e58b-3ae5-cd71-d1614c46e143@free.fr> Message-ID: <10b4e37f-a6c4-3f2b-8251-b7c3d6d0638f@gmail.com> On 5/18/23 04:18, Fabien TONIUTTI wrote: > Hi, > A gambas Zip front end project. > > In one zip file, i have 150 files and folders. > I make a zip front end in gambas. > When i click on my button 'Expand', i need to know how many file are uncompressed and how many file stay to uncompress with a > progressbar. > ?how i could have a progress bar who increase with number of file uncompressed during my process : > > ?Exec["unzip",$file] > > ?Thanks for your answer. To track the unzip progress, you would probably need to use `unzip -l` first to get the total size of all files. And then do the actual decompression verbosely with `unzip -v` in a Process so you can read the output in the Process' Read event. Provided the data you need is provided by `unzip`, this would allow you to calculate the progress as each file is processed. Take a look at the manual page for "unzip" and possibly "zipinfo" as well; and also https://gambaswiki.org/wiki/comp/gb/process. -- Lee From t.lee.davidson at gmail.com Thu May 18 15:09:33 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 18 May 2023 09:09:33 -0400 Subject: [Gambas-user] Unable to update value of WebTextBox or other control present in tab not visible in WebTabPanel In-Reply-To: References: Message-ID: <0ae8361e-f973-c513-451b-b11a4e3a2e3a@gmail.com> On 5/17/23 23:58, Safiur Rahman wrote: > Hi > > I have two WebTextBox in two tabs of WebTabPanel. When I click a button to change values of both WebTextBox in both tabs then > value of WebTextBox on visible tab changes but value of WebTextBox on ?tab which is not visible doesn't change. > [snip] Try adding "WebTabPanel1.Refresh" in the WebButton1_Click event handler. -- Lee From gradobag at gradobag.it Thu May 18 17:18:24 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 18 May 2023 17:18:24 +0200 Subject: [Gambas-user] Help for observ one process... In-Reply-To: <10b4e37f-a6c4-3f2b-8251-b7c3d6d0638f@gmail.com> References: <43478422-e58b-3ae5-cd71-d1614c46e143@free.fr> <10b4e37f-a6c4-3f2b-8251-b7c3d6d0638f@gmail.com> Message-ID: Il 18/05/23 14:54, T Lee Davidson ha scritto: > On 5/18/23 04:18, Fabien TONIUTTI wrote: >> Hi, >> A gambas Zip front end project. >> >> In one zip file, i have 150 files and folders. >> I make a zip front end in gambas. >> When i click on my button 'Expand', i need to know how many file are >> uncompressed and how many file stay to uncompress with a progressbar. >> ??how i could have a progress bar who increase with number of file >> uncompressed during my process : >> >> ??Exec["unzip",$file] >> >> ??Thanks for your answer. > > To track the unzip progress, you would probably need to use `unzip -l` > first to get the total size of all files. And then do the actual > decompression verbosely with `unzip -v` in a Process so you can read > the output in the Process' Read event. Provided the data you need is > provided by `unzip`, this would allow you to calculate the progress as > each file is processed. > > Take a look at the manual page for "unzip" and possibly "zipinfo" as > well; and also https://gambaswiki.org/wiki/comp/gb/process. > Hi, Right, ...but only in case a loop was used... to get the number of zipper files you can use this code: ? Dim aZip As String[] ? Dim iZipCount, i As Integer ? aZip = Dir("~/", "*.zip", gb.File) ? iZipCount = aZip.Count and if you use a loop with a counter, for the bar you can give: ? For i = 0 To aZip.Max ??? ProgressBar1.Value = i / aZipCount ? Next Regards Gianluigi From gradobag at gradobag.it Thu May 18 18:26:42 2023 From: gradobag at gradobag.it (Gianluigi) Date: Thu, 18 May 2023 18:26:42 +0200 Subject: [Gambas-user] Help for observ one process... In-Reply-To: References: <43478422-e58b-3ae5-cd71-d1614c46e143@free.fr> <10b4e37f-a6c4-3f2b-8251-b7c3d6d0638f@gmail.com> Message-ID: <12822a5f-20bd-8399-930d-f32700f4c399@gradobag.it> Il 18/05/23 17:18, Gianluigi ha scritto: > Il 18/05/23 14:54, T Lee Davidson ha scritto: >> On 5/18/23 04:18, Fabien TONIUTTI wrote: >>> Hi, >>> A gambas Zip front end project. >>> >>> In one zip file, i have 150 files and folders. >>> I make a zip front end in gambas. >>> When i click on my button 'Expand', i need to know how many file are >>> uncompressed and how many file stay to uncompress with a progressbar. >>> ??how i could have a progress bar who increase with number of file >>> uncompressed during my process : >>> >>> ??Exec["unzip",$file] >>> >>> ??Thanks for your answer. >> >> To track the unzip progress, you would probably need to use `unzip >> -l` first to get the total size of all files. And then do the actual >> decompression verbosely with `unzip -v` in a Process so you can read >> the output in the Process' Read event. Provided the data you need is >> provided by `unzip`, this would allow you to calculate the progress >> as each file is processed. >> >> Take a look at the manual page for "unzip" and possibly "zipinfo" as >> well; and also https://gambaswiki.org/wiki/comp/gb/process. >> > > Hi, > > Right, > ...but only in case a loop was used... > to get the number of zipper files you can use this code: > ? Dim aZip As String[] > ? Dim iZipCount, i As Integer > ? aZip = Dir("~/", "*.zip", gb.File) > ? iZipCount = aZip.Count > and if you use a loop with a counter, for the bar you can give: > ? For i = 0 To aZip.Max > ??? ProgressBar1.Value = i / aZipCount > ? Next > > Regards > > Gianluigi > Sorry, as my usual I misunderstood, it is only one zipper file and not many. Pretend I didn't answer :-( Fortunately, there is Lee :-) Regards Gianluigi From gambas at cd-bahia.com Thu May 18 18:37:57 2023 From: gambas at cd-bahia.com (Dag JNJ) Date: Thu, 18 May 2023 18:37:57 +0200 Subject: [Gambas-user] Problem with file access In-Reply-To: References: <8788a35b-a781-23b6-a9c8-1e82e7b67ad5@cd-bahia.com> Message-ID: <1d2e6653-c09f-2bbb-248d-b9157789a80a@cd-bahia.com> Am 18.05.23 um 11:15 schrieb Gianluigi: > Il 18/05/23 00:37, Bruce Steers ha scritto: >> >> On Wed, 17 May 2023, 23:10 Dag JNJ, wrote: >> >> Hi all, >> suddenly I have got access denied handling files. In a terminal >> window everything works fine, but from within Gambas I get access >> denied. I have >> /If Exist(dPDF) Then Kill dPDF -> IDE stopps? with access denied >> message >> /dPDF is the filename of a pdf-file. It worked fine until the >> afternoon today. I tried chmod -r +rw . and chown -r dagj . from >> the current Application.Path, but that changed nothing, Then I tried >> /Shell "pdftotext? -layout " & ch3 & dPDF & ch3 & " " & fntxt Wait >> /fntxt is the filename of the output textfile. Result: >> /I/O Error: Couldn't open file 'data/AMZ/2020/Amazon.es - Pedido >> 406-4690641-7441902.pdf': No such file or directory. >> / >> But when//I try this in a terminal window (Print instead of Shell >> and copy the result from the Gambas console then paste this into >> the terminal window), it works, >> /pdftotext? -layout "data/AMZ/2020/Amazon.es - Pedido >> 406-4690641-7441902.pdf" >> "data/AMZ/BEARBEITET/TXT/406-4690641-7441902.txt"/ >> >> I am hanging a little? now, and appreciate any help. >> Regards, >> Dag >> >> >> Where is "data" ? >> >> If it's a disk then that code is okay. >> >> If it's a Dir in the project folder then it is wrong. >> >> To use a shell command you will need to save the file to /tmp or >> somewhere and have it output it's text there too. >> >> Or use absolute paths to work in project dir with >> Application.Path &/ dPDF >> >> >> BruceS >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Dag, > > they seem correct suggestions check the paths well, I added in my home > a TEST folder and running this code, everything works fine without errors: > > Public Sub Main() > > ? ' gian at gian:~$ pdftotext -layout dPDF.pdf TEST/dPDFbyShell.txt > ? Try Shell "pdftotext -layout dPDF.pdf TEST/dPDF.txt" Wait > ? ' Try Exec ["pdftotext", "-layout", "dPDF.pdf", "TEST/dPDF-2.txt"] Wait > ? If Error Then Print Error.Text > > End > > I attach image of the TEST folder > > Regards > > Gianluigi > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Gianluigi, thank you. And Bruce too. The clue is really to keep track of the paths. Besides, I found a silly error in the source. It works now. Regards, Dag -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri May 19 10:14:47 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 19 May 2023 10:14:47 +0200 Subject: [Gambas-user] Unable to update value of WebTextBox or other control present in tab not visible in WebTabPanel In-Reply-To: References: Message-ID: Le 18/05/2023 ? 05:58, Safiur Rahman a ?crit?: > Hi > > I have two WebTextBox in two tabs of WebTabPanel. When I click a button > to change values of both WebTextBox in both tabs then value of > WebTextBox on visible tab changes but value of WebTextBox on ?tab which > is not visible doesn't change. > > 1) This works > Public Sub _new() > ? WebTextBox1.Text = "abc" ?''shows abc > ? WebTextBox2.Text = "abc" ?''shows abc > End > > 2) This doesn't work > Public Sub WebButton1_Click() > ? WebTextBox1.Text = "def" ?''shows def > ? WebTextBox2.Text = "def" ?''not showing def > End > > This problem of WebTabPanel is present with all other controls like > WebLabel, Grid View, WebCheckBox etc. The WebTabPanel_Click() provides > the way to update value to those tabs. > > > -- > Regards > Safiur Rahman > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- It's fixed in commit https://gitlab.com/gambas/gambas/-/commit/53fd551ba0b9deb59cac8447f6a212c5d990da4e. Regards, -- Beno?t Minisini. From vuott at tutanota.com Fri May 19 13:15:33 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Fri, 19 May 2023 13:15:33 +0200 (CEST) Subject: [Gambas-user] Help for observ one process... Message-ID: ...maybe by using libzip external functions: [code] Private Const ZIP As String =? "/path/of/my_file.zip"Private Const UNZIP As String = "/folder/of/uncompressed/files" Private entries As Long Private z As Pointer Library "libzip" Public Struct zip_stat ? valid As Long ? name As Pointer ? index As Long ? size As Long ? comp_size As Long ? mtime As Long ? crc As Integer ? comp_method As Short ? encryption_method As Short ? flags As Integer End Struct ' struct zip *zip_open(const char *, int, int *) ' Open zip archive. Private Extern zip_open(path As String, flags As Integer, errorp As Pointer) As Pointer ' zip_int64_t zip_get_num_entries(zip_t *, zip_flags_t) ' Get number of files in archive. Private Extern zip_get_num_entries(archive As Pointer, flags As Integer) As Long ' int zip_stat_index(struct zip *, int, int, struct zip_stat *) ' Get information about file by index. Private Extern zip_stat_index(archive As Pointer, index As Integer, flags As Integer, sb As Zip_stat) As Integer ' struct zip_file * zip_fopen_index(struct zip *, int, int) ' Open file in zip archive for reading by index Private Extern zip_fopen_index(archive As Pointer, index As Integer, flags As Integer) As Pointer ' zip_int64_t zip_fread(struct zip_file *, void *, zip_uint64_t) ' Read from file. Private Extern zip_fread(zfile As Pointer, buf As Byte[], nbytes As Long) As Long ' int zip_fclose(struct zip_file *) ' Close file in zip archive. Private Extern zip_fclose(zfile As Pointer) As Integer ' int zip_close(struct zip *) ' Close zip archive. Private Extern zip_close(archive As Pointer) As Integer Public Sub Form_Open() ? z = zip_open(ZIP, 0, 0) ? If z == 0 Then ??? zip_close(z) ??? Error.Raise("Error !") ? Endif ? ? entries = zip_get_num_entries(z, 0) ? Print "Number of files to decompress: "; entries End Public Sub Button1_Click() ? Dim zf As Pointer ? Dim i, ln As Integer ? Dim zsname As String ? Dim zs As New Zip_stat ? Dim l As Long ? Dim fl As File ? Dim buf As New Byte[64] ?? ? For i = 0 To entries - 1 ?? If zip_stat_index(z, i, 0, zs) = 0 Then ???? zsname = String@(zs.name) ???? Print gb.NewLine; i + 1 ???? Print "Name:?????? "; zsname ???? Print "Size: "; zs.size; " byte" ???? If Right(zsname, 1) = "/" Then ?????? Continue ???? Else ?????? zf = zip_fopen_index(z, i, 0) ?????? If zf == 0 Then ???????? zip_fclose(zf) ???????? Error.Raise("Error !") ?????? Endif ?????? fl = Open UNZIP &/ File.Name(zsname) For Create ?????? l = 0 ?????? While l < zs.size ???????? ln = zip_fread(zf, buf, 64) ???????? If ln < 0 Then Error.Raise("Error !") ???????? buf.Write(fl, 0, ln) ???????? l += ln ?????? Wend ?????? fl.Close ?????? zip_fclose(zf) ???? Endif ?? Endif??????? ?? ProgressBar1.Value = (i + 1) / entries ?? Wait 0.3 Next ?? zip_close(z) End [/code] -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat May 20 03:15:30 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 20 May 2023 02:15:30 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: <00499258-62f1-93ae-5660-089e36b8a3eb@gambas-basic.org> Message-ID: On Wed, 17 May 2023 at 08:24, Bruce Steers wrote: > > > On Tue, 16 May 2023 at 19:16, Benoit Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 16/05/2023 ? 19:57, Bruce Steers a ?crit : >> > >> > >> > Thank you Bruce, Benoit, Mayost >> > So i guess with all that the best way to add / use a feature like this >> > would be to just add a disclaimer that it may or may not work depending >> > on the system. >> > >> > Respects >> > BruceS >> > >> >> As explained in the Qt comment, you can use the 'xprop' command-line >> tool to read the X11 properties of the root window and look if there is >> a '_NET_WORKAREA' property and show us what it contains. >> >> -- >> Beno?t Minisini. >> > mine is this... > > $ xprop -root _NET_WORKAREA > _NET_WORKAREA(CARDINAL) = 0, 25, 2646, 999 > > And that's annoying as that is the entire screen (both monitors) but > there's only panels on one :-\ > So i came up with this workaround.. It's a little dirty but it works as well now with QT as it does with gtk3 (gtk2 only reports Screen.Count as 1 so i'm not supporting it) if using QT it searches through the X11 window list to find the first _NET_WM_WINDOW_TYPE_NORMAL window the mouse is on. on my main screen there is a panel (TYPE_DOCK) at the top, then the main view (TYPE_NORMAL), then a panel at the bottom. So the following function returns a Rect of the Screen the mouse is on and if NoPanels is True then only the inner view. Public Sub CheckScreenSize() As Rect Dim s As Screen = Screens[Mouse.Screen] If Not NoPanels Then Return Rect(s.X, s.Y, s.Width, s.Height) Dim r As Rect = Rect(s.AvailableX, s.AvailableY, s.AvailableWidth, s.AvailableHeight) If Not Component.IsLoaded("gb.desktop.x11") Then Return r Select Env["GB_GUI"] Case Like "*qt*" For Each w As Integer In X11.FindWindow("", "") Dim v As Variant = X11.GetWindowProperty(w, "_NET_WM_WINDOW_TYPE")[0] Dim wd As Integer[] = X11.GetWindowGeometry(w) If v = "_NET_WM_WINDOW_TYPE_NORMAL" Then Dim r2 As Rect = Rect(wd[0], wd[1], wd[2], wd[3]) If r2.Contains(Mouse.ScreenX, Mouse.ScreenY) Then Return r2 Endif Endif Next End Select Return r End Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Mon May 22 10:31:05 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Mon, 22 May 2023 10:31:05 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: Message-ID: El 16/5/23 a las 12:00, Bruce Steers escribi?: > To test... > Load the project. > select the debug toolkit to use (either gtk3 or qt5) > hit run. > Ensure the "Hide Panels" checkbox is checked. > Hit Okay Hi, I checked your program under the configuration you indicated and the result is as expected. my system is: [System] Gambas=3.18.90 f9497ff (master) OperatingSystem=Linux Distribution=Manjaro Linux Kernel=6.2.13-1-MANJARO Architecture=x86_64 Cores=4 Memory=7852M Language=es_AR.utf8 Desktop=XFCE DesktopResolution=96 DesktopScale=8 WidgetTheme=matcha-light-sea Font=Noto Sans,11 [Libraries] DBus=libdbus-1.so.3.32.2 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2405.32 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2405.32 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.126.0.0 QT5=libQt5Core.so.5.15.9 RSvg=librsvg-2.so.2.48.0 SDL=libSDL-1.2.so.1.2.60 SQLite=libsqlite3.so.0.8.6 [Environment] APPMENU_DISPLAY_BOTH=1 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=xfce DISPLAY=:0.0 GB_GUI=gb.gtk3 GDMSESSION=xfce GDM_LANG=es_AR.utf8 GTK2_RC_FILES=/.gtkrc-2.0 GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module GTK_MODULES=canberra-gtk-module:canberra-gtk-module QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg XDG_CURRENT_DESKTOP=XFCE XDG_DATA_DIRS=/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_MENU_PREFIX=xfce- XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=xfce XDG_SESSION_ID=2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 From mbelmonte at belmotek.net Mon May 22 10:35:13 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=c3=adn?=) Date: Mon, 22 May 2023 10:35:13 +0200 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: References: Message-ID: <421f3973-1ca3-3e20-999c-29d58219c362@belmotek.net> Hi, Perhaps the following code may be useful ' Gambas class file Export Static Public Sub Fix(o As Object, Optional s As Integer = -1) ? Dim x As Integer ? x = Screen(s) ? o.x = Screens[x].AvailableX + Screens[x].AvailableWidth / 2 - o.W / 2 ? o.y = Screens[x].AvailableY + Screens[x].AvailableHeight / 2 - o.H / 2 End Static Public Sub Shoot(o As Object, Optional s As Integer = -1, Optional sPath As String = "/tmp/bro.png", Optional iQua As Integer = 100) ? Dim x As Integer ? x = Screen(s) ? Desktop.Screenshot(Screens[x].X, Screens[x].Y, Screens[x].Width, Screens[x].Height).Save(sPath, iQua) End Static Private Function Screen(s As Integer) As Integer ? Dim n, b, x As Integer ? If s = -1 Then ??? For n = 0 To Screens.Count - 1 ????? If Screens[n].AvailableWidth > b Then ??????? b = Screens[n].AvailableWidth ??????? x = n ????? Endif ??? Next ? Else ??? If s < Screens.Count Then ????? x = s ??? Else ????? x = 0 ??? Endif ? Endif ? Return x End Best regards Martin. From bsteers4 at gmail.com Mon May 22 12:09:52 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 22 May 2023 11:09:52 +0100 Subject: [Gambas-user] Test Screen.Available values In-Reply-To: <421f3973-1ca3-3e20-999c-29d58219c362@belmotek.net> References: <421f3973-1ca3-3e20-999c-29d58219c362@belmotek.net> Message-ID: Thanks Martin and thanks for testing but as I previously said Screen.AvailableWidth and AvailableHeight are not reliable on all configs so your code will also fail. On my system it works for gtk3 but none of the others. I already have a fix for QT now using gb.desktop.x11 BruceS On Mon, 22 May 2023 at 09:35, Mart?n wrote: > Hi, > > Perhaps the following code may be useful > > ' Gambas class file > > Export > > Static Public Sub Fix(o As Object, Optional s As Integer = -1) > > Dim x As Integer > > x = Screen(s) > > o.x = Screens[x].AvailableX + Screens[x].AvailableWidth / 2 - o.W / 2 > o.y = Screens[x].AvailableY + Screens[x].AvailableHeight / 2 - o.H / 2 > > End > > Static Public Sub Shoot(o As Object, Optional s As Integer = -1, > Optional sPath As String = "/tmp/bro.png", Optional iQua As Integer = 100) > > Dim x As Integer > > x = Screen(s) > > Desktop.Screenshot(Screens[x].X, Screens[x].Y, Screens[x].Width, > Screens[x].Height).Save(sPath, iQua) > > End > > Static Private Function Screen(s As Integer) As Integer > > Dim n, b, x As Integer > > If s = -1 Then > For n = 0 To Screens.Count - 1 > If Screens[n].AvailableWidth > b Then > b = Screens[n].AvailableWidth > x = n > Endif > Next > Else > If s < Screens.Count Then > x = s > Else > x = 0 > Endif > Endif > > Return x > > End > > Best regards > > Martin. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Tue May 23 13:26:43 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Tue, 23 May 2023 13:26:43 +0200 Subject: [Gambas-user] Replace (Internal) Error Message Message-ID: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Hello. When I use the following procedure: Public Sub dcFlowername_Validate(Value As Variant) ???? If IsNull(Value) Then ??? '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name was entered!"), ("The data set is"), ("not"), ("saved!"))) ??? '-- An *internal* error message is displayed! ??????? Return ???? Endif End the same meaningless error message "Invalid value" is always displayed. Is there a way to replace this internal error message with a meaningful error message of my own? With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue May 23 14:56:35 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 23 May 2023 08:56:35 -0400 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Message-ID: <8e79aa9b-50d6-f118-b54d-af7d6baa6f72@gmail.com> On 5/23/23 07:26, Hans Lehmann wrote: > Hello. > > When I use the following procedure: > > Public Sub dcFlowername_Validate(Value As Variant) > > ???? If IsNull(Value) Then > ??? '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name was entered!"), ("The data set is"), ("not"), ("saved!"))) > ??? '-- An *internal* error message is displayed! > ??????? Return > ???? Endif > > End > > the same meaningless error message "Invalid value" is always displayed. > > Is there a way to replace this internal error message with a meaningful error message of my own? > > With kind regards > > Hans When I use "dcFlowername_Validate(Null)" to call your procedure exactly as you have it, ie. with the Message.Warning line commented out, I get no error whatsoever. Can you provide a small project that reproduces the error? -- Lee From bsteers4 at gmail.com Tue May 23 18:09:59 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 May 2023 17:09:59 +0100 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Message-ID: On Tue, 23 May 2023 at 12:47, Hans Lehmann wrote: > Hello. > > When I use the following procedure: > > Public Sub dcFlowername_Validate(Value As Variant) > > If IsNull(Value) Then > '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name > was entered!"), ("The data set is"), ("not"), ("saved!"))) > '-- An *internal* error message is displayed! > Return > Endif > > End > > the same meaningless error message "Invalid value" is always displayed. > > Is there a way to replace this internal error message with a meaningful > error message of my own? > > With kind regards > > Hans > > How are you getting the error message? is it automatically printing or are you just reading Error.Text? because your function does nothing to reset or produce an error so the error message will be from what ever Try instruction last failed. if so use Error.Clear to clear the last error message before your function or do not read Error.Text if you have not used a method to clear/set it. And i assume you call dcFlowername_Validate(Null) not dcFlowername_Validate() the second type with no args needs... Public Sub dcFlowername_Validate(Optional Value As Variant) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue May 23 20:32:14 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 23 May 2023 19:32:14 +0100 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Message-ID: On Tue, 23 May 2023 at 17:09, Bruce Steers wrote: > > > On Tue, 23 May 2023 at 12:47, Hans Lehmann wrote: > >> Hello. >> >> When I use the following procedure: >> >> Public Sub dcFlowername_Validate(Value As Variant) >> >> If IsNull(Value) Then >> '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name >> was entered!"), ("The data set is"), ("not"), ("saved!"))) >> '-- An *internal* error message is displayed! >> Return >> Endif >> >> End >> >> the same meaningless error message "Invalid value" is always displayed. >> >> Is there a way to replace this internal error message with a meaningful >> error message of my own? >> >> With kind regards >> >> Hans >> >> How are you getting the error message? > is it automatically printing or are you just reading Error.Text? because > your function does nothing to reset or produce an error so the error message > will be from what ever Try instruction last failed. > > if so use Error.Clear to clear the last error message before your function > or do not read Error.Text if you have not used a method to clear/set it. > And i assume you call > dcFlowername_Validate(Null) > not > dcFlowername_Validate() > > the second type with no args needs... > Public Sub dcFlowername_Validate(Optional Value As Variant) > > BruceS > Or maybe you need this... See how you can set your own error message if you use Try and Error.Raise("This Message") If an Error is raised in the function you "Try" then Error is True and the Error.Text can is set. Like this... Public Sub Main() Try dcFlowername_Validate(Null) If Error Then Print Error.Text Endif End Public Sub dcFlowername_Validate(Value As Variant) If IsNull(Value) Then '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name was entered!"), ("The data set is"), ("not"), ("saved!"))) '-- An *internal* error message is displayed! ' -- Generate your own error text here... Error.Raise(Subst("&1
&2 &3 &4", ("No flower name was entered!"), ("The data set is"), ("not"), ("saved!"))) Return Endif End BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed May 24 05:00:57 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 23 May 2023 23:00:57 -0400 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: <8e79aa9b-50d6-f118-b54d-af7d6baa6f72@gmail.com> References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> <8e79aa9b-50d6-f118-b54d-af7d6baa6f72@gmail.com> Message-ID: On 5/23/23 08:56, T Lee Davidson wrote: > When I use "dcFlowername_Validate(Null)" to call your procedure exactly as you have it, ie. with the Message.Warning line > commented?out,?I?get?no?error?whatsoever. > > Can?you?provide?a?small?project?that?reproduces?the?error? I realize that you thought you needed to send your project to me privately due to its size of 4.2MB which would not make it to the list. And, that is the first reason I asked for a *small* project that reproduces the error. The second reason is because, quite often, when one isolates the issue in as small a project as possible that still produces the error, the cause is found. However, in this case, a little more context, and accurate information, from you in your original post would have been quite helpful to prevent the misconception that we were dealing with an error. This helpful information would have been: 1) the procedure is handling a DataControl Validation event, and 2) the the warning message is being triggered by a STOP EVENT statement in the event handler - however not actually in the procedure you told us, but in the dcDate_Validation handler as you do not stop the dcFlower_Validation event. It is not an error message. It is a warning message, and it is expected behavior. And, BTW, the idea that the message is meaningless is a matter of opinion. And so, to your question: Is there a way to replace the warning message, that is triggered when a DataControl's value is invalidated, with a meaningful warning message of my own? I don't see any way to do that - short of hacking on Gambas itself. Maybe others have some ideas. -- Lee From hans at gambas-buch.de Wed May 24 11:48:26 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Wed, 24 May 2023 11:48:26 +0200 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> <8e79aa9b-50d6-f118-b54d-af7d6baa6f72@gmail.com> Message-ID: <3635e57e-5575-7e90-35d0-401906436b0d@gambas-buch.de> Hello Lee. Am 24.05.23 um 05:00 schrieb T Lee Davidson: > I realize that you thought you needed to send your project to me > privately due to its size of 4.2MB which would not make it to the > list. And, that is the first reason I asked for a *small* project that > reproduces the error. The second reason is because, quite often, when > one isolates the issue in as small a project as possible that still > produces the error, the cause is found. I had deleted almost all records - except for 2 - but had forgotten the command VACUUM;. That is why the database file remained so large, which is now only 650kB. > > However, in this case, a little more context, and accurate > information, from you in your original post would have been quite > helpful to prevent the misconception that we were dealing with an error. > This helpful information would have been: 1) the procedure is handling > a DataControl Validation event, and 2) the the warning message is > being triggered by a STOP EVENT statement in the event handler - > however not actually in the procedure you told us, but in the > dcDate_Validation handler as you do not stop the dcFlower_Validation > event. I will take this advice seriously and keep it in mind for further enquiries in the ML. Right, I had forgotten the instruction `Stop Event `. > > It is not an error message. It is a warning message, and it is > expected behavior. And, BTW, the idea that the message is meaningless > is a matter of opinion. > And so, to your question: > Is there a way to replace the warning message, that is triggered when > a DataControl's value is invalidated, with a meaningful warning > message of my own? All right, the message is a warning with a general reference. My only concern was to suppress this general warning and replace it with a separate, more meaningful message. This is obviously not possible without interfering with the Gambas source text. > > I don't see any way to do that - short of hacking on Gambas itself. > Maybe others have some ideas. With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu May 25 12:22:53 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Thu, 25 May 2023 12:22:53 +0200 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Message-ID: Le 23/05/2023 ? 13:26, Hans Lehmann a ?crit?: > Hello. > > When I use the following procedure: > > Public Sub dcFlowername_Validate(Value As Variant) > > ???? If IsNull(Value) Then > ??? '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name > was entered!"), ("The data set is"), ("not"), ("saved!"))) > ??? '-- An *internal* error message is displayed! > ??????? Return > ???? Endif > > End > > the same meaningless error message "Invalid value" is always displayed. > > Is there a way to replace this internal error message with a meaningful > error message of my own? > > With kind regards > > Hans > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi, Commit https://gitlab.com/gambas/gambas/-/commit/d5910b61411eeeb8552163b290756a98be47ce4e should fulfill your needs: DataSource now raises an 'Invalid' event when the value entered for a specific field is invalid. The event handler takes the name of the invalid field as argument. If that event is stopped, the default warning message is not displayed. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Fri May 26 03:39:31 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 25 May 2023 21:39:31 -0400 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> Message-ID: <10d07aa8-0e4b-9e76-408c-ec3dc4ecbaef@gmail.com> On 5/25/23 06:22, Benoit Minisini wrote: > Le 23/05/2023 ? 13:26, Hans Lehmann a ?crit?: >> Hello. >> >> When I use the following procedure: >> >> Public Sub dcFlowername_Validate(Value As Variant) >> >> ????? If IsNull(Value) Then >> ???? '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower name was entered!"), ("The data set is"), ("not"), >> ("saved!"))) >> ???? '-- An *internal* error message is displayed! >> ???????? Return >> ????? Endif >> >> End >> >> the same meaningless error message "Invalid value" is always displayed. >> >> Is there a way to replace this internal error message with a meaningful error message of my own? >> >> With kind regards >> >> Hans >> > > Hi, > > Commit https://gitlab.com/gambas/gambas/-/commit/d5910b61411eeeb8552163b290756a98be47ce4e should fulfill your needs: > > DataSource now raises an 'Invalid' event when the value entered for a specific field is invalid. > > The event handler takes the name of the invalid field as argument. > > If that event is stopped, the default warning message is not displayed. > > Regards, > I was hoping you would come up with something like that, Beno?t. It sounds like it should work quite well. Since that enhancement is not yet in Stable, I cannot try it out. So, I have a question. Can LAST be used in the DataSource Invalid event handler? I can see that being useful if one wanted to point a balloon at the control with the invalid value. -- Lee From benoit.minisini at gambas-basic.org Fri May 26 11:03:54 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Fri, 26 May 2023 11:03:54 +0200 Subject: [Gambas-user] Replace (Internal) Error Message In-Reply-To: <10d07aa8-0e4b-9e76-408c-ec3dc4ecbaef@gmail.com> References: <7e4b1ff1-4470-1cde-b099-4fb5efef7b53@gambas-buch.de> <10d07aa8-0e4b-9e76-408c-ec3dc4ecbaef@gmail.com> Message-ID: Le 26/05/2023 ? 03:39, T Lee Davidson a ?crit?: > On 5/25/23 06:22, Benoit Minisini wrote: >> Le 23/05/2023 ? 13:26, Hans Lehmann a ?crit?: >>> Hello. >>> >>> When I use the following procedure: >>> >>> Public Sub dcFlowername_Validate(Value As Variant) >>> >>> ????? If IsNull(Value) Then >>> ???? '-- Message.Warning(Subst("&1
&2 &3 &4", ("No flower >>> name was entered!"), ("The data set is"), ("not"), ("saved!"))) >>> ???? '-- An *internal* error message is displayed! >>> ???????? Return >>> ????? Endif >>> >>> End >>> >>> the same meaningless error message "Invalid value" is always displayed. >>> >>> Is there a way to replace this internal error message with a >>> meaningful error message of my own? >>> >>> With kind regards >>> >>> Hans >>> >> >> Hi, >> >> Commit >> https://gitlab.com/gambas/gambas/-/commit/d5910b61411eeeb8552163b290756a98be47ce4e should fulfill your needs: >> >> DataSource now raises an 'Invalid' event when the value entered for a >> specific field is invalid. >> >> The event handler takes the name of the invalid field as argument. >> >> If that event is stopped, the default warning message is not displayed. >> >> Regards, >> > > I was hoping you would come up with something like that, Beno?t. It > sounds like it should work quite well. > > Since that enhancement is not yet in Stable, I cannot try it out. So, I > have a question. Can LAST be used in the DataSource Invalid event > handler? I can see that being useful if one wanted to point a balloon at > the control with the invalid value. > 'Last' will always return the DataSource. This is why you receive the name of the invalid field as event handler argument. Then it's up to you to find the control associated with the field. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sat May 27 12:14:41 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 27 May 2023 11:14:41 +0100 Subject: [Gambas-user] wiki is down Message-ID: wiki 503 Service Unavailable No server is available to handle this request. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat May 27 12:39:49 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sat, 27 May 2023 12:39:49 +0200 Subject: [Gambas-user] wiki is down In-Reply-To: References: Message-ID: <2304c9a4-f48d-1b8c-8e15-36492e2e2cc5@gambas-basic.org> Le 27/05/2023 ? 12:14, Bruce Steers a ?crit?: > wiki > > > 503 Service Unavailable > > > No server is available to handle this request. > > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Yes, I noticed yesterday. I thought the problem was solved. :-( -- Beno?t Minisini. From bsteers4 at gmail.com Sat May 27 14:51:30 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 27 May 2023 13:51:30 +0100 Subject: [Gambas-user] wiki is down In-Reply-To: <2304c9a4-f48d-1b8c-8e15-36492e2e2cc5@gambas-basic.org> References: <2304c9a4-f48d-1b8c-8e15-36492e2e2cc5@gambas-basic.org> Message-ID: On Sat, 27 May 2023 at 11:40, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 27/05/2023 ? 12:14, Bruce Steers a ?crit : > > wiki > > > > > > 503 Service Unavailable > > > > > > No server is available to handle this request. > > > > > > Respects > > BruceS > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Yes, I noticed yesterday. I thought the problem was solved. :-( > Alas no :( Personally i think the wiki method is a bit flawed because of the option to use OffLine help or not. (not by default) If you consider all the people possibly using (or trying) gambas without offline mode then i would imagine the server load for auto-complete and help could be quite large. perhaps it could be re-designed a bit so a lot of the text could download with the packages/source and reduce server traffic/flooding? maybe use all the bigger files like images/apps/etc from the server but add all the markdown files in the archive. I should also imagine with the wiki down anyone who is not using offline help (plus those without internet) has no help at present so that's another reason the text files might be better as always local. Just some food for thought Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat May 27 15:24:32 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Sat, 27 May 2023 15:24:32 +0200 Subject: [Gambas-user] wiki is down In-Reply-To: References: <2304c9a4-f48d-1b8c-8e15-36492e2e2cc5@gambas-basic.org> Message-ID: <9fb43d3c-b04a-4cf4-cf38-819762d3fd5d@gambas-basic.org> Le 27/05/2023 ? 14:51, Bruce Steers a ?crit?: > > Yes, I noticed yesterday. I thought the problem was solved. :-( > > > Alas no :( > Personally i think the wiki method is a bit flawed because of the option > to use OffLine help or not. (not by default) > If you consider all the people possibly using (or trying) gambas without > offline mode then i would imagine the server load for auto-complete and > help could be quite large. I'm not sure this is the right explanation. Server crashes started to occur then I implemented the wiki left panel. So I thought it was the server memory that was too low. I noticed too that it crashed during Cloudflare website indexing only. I asked for more memory, and until yesterday there were no crash. I will ask for a server reboot, but I guess I have to wait until monday. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sun May 28 02:41:59 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 28 May 2023 01:41:59 +0100 Subject: [Gambas-user] wiki is down In-Reply-To: <9fb43d3c-b04a-4cf4-cf38-819762d3fd5d@gambas-basic.org> References: <2304c9a4-f48d-1b8c-8e15-36492e2e2cc5@gambas-basic.org> <9fb43d3c-b04a-4cf4-cf38-819762d3fd5d@gambas-basic.org> Message-ID: On Sat, 27 May 2023 at 14:25, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 27/05/2023 ? 14:51, Bruce Steers a ?crit : > > > > Yes, I noticed yesterday. I thought the problem was solved. :-( > > > > > > Alas no :( > > Personally i think the wiki method is a bit flawed because of the option > > to use OffLine help or not. (not by default) > > If you consider all the people possibly using (or trying) gambas without > > offline mode then i would imagine the server load for auto-complete and > > help could be quite large. > > I'm not sure this is the right explanation. Server crashes started to > occur then I implemented the wiki left panel. So I thought it was the > server memory that was too low. I noticed too that it crashed during > Cloudflare website indexing only. > > I asked for more memory, and until yesterday there were no crash. > > I will ask for a server reboot, but I guess I have to wait until monday. > > Regards, > > -- > Beno?t Minisini. It's back now, thank you :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.toniutti at free.fr Mon May 29 14:25:10 2023 From: fabien.toniutti at free.fr (Fabien TONIUTTI) Date: Mon, 29 May 2023 14:25:10 +0200 Subject: [Gambas-user] Help to draw text on picture... Message-ID: Hi, For a new calendar application, i need to write on picture text and symbol ( rectagne, circle or other from my choice). I saw on documentation i could draw on picture directly without to use drawarea. Could you send me sample of code to do this? regards ?;) From hans at gambas-buch.de Mon May 29 15:08:53 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Mon, 29 May 2023 15:08:53 +0200 Subject: [Gambas-user] Help to draw text on picture... In-Reply-To: References: Message-ID: <14b85563-a7ce-efe8-372f-aae38778b330@gambas-buch.de> Hello Fabien, see here: https://gambas-buch.de/doku.php?id=k25:k25.1.11:start With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon May 29 15:29:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 29 May 2023 14:29:37 +0100 Subject: [Gambas-user] Help to draw text on picture... In-Reply-To: References: Message-ID: On Mon, 29 May 2023 at 13:33, Fabien TONIUTTI wrote: > Hi, > > For a new calendar application, i need to write on picture text and > symbol ( rectagne, circle or other from my choice). > > I saw on documentation i could draw on picture directly without to use > drawarea. > > Could you send me sample of code to do this? > > regards > > ;) > You can Paint directly to a picture using Paint.class Dim hPicture As Picture = Picture.Load(sImagePath) Paint.Begin(hPicture) Paint.Font.Size = 16 ' set font attributes Paint.Background = Color.Blue ' set the color to paint with ' use Paint.methods like Paint.DrawText() to write text directly to hPicture object Paint.DrawText("This Text", 0, 0, hPicture.Width, Paint.Font.Height, Align.Left) Paint.End BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Mon May 29 15:39:52 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Mon, 29 May 2023 15:39:52 +0200 Subject: [Gambas-user] App icon question Message-ID: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> Hi all, I have a gambas app ( app1.gambas ) compiled and working. I write a second app ( app2.gambas ) , is there a way to read app name and app icon of the first app from the second one ? Thank's, marco. From t.lee.davidson at gmail.com Mon May 29 17:10:07 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 29 May 2023 11:10:07 -0400 Subject: [Gambas-user] App icon question In-Reply-To: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> Message-ID: <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> On 5/29/23 09:39, Marco Ancillotti wrote: > Hi all, > > I have a gambas app ( app1.gambas ) compiled and working. > > I write a second app ( app2.gambas ) , is there a way to read app name and app icon of the first app from the second one ? > > Thank's, > marco. You can Shell out to gba3 to access that info and files. Use the '-l' option to list the files in the executable archive. Then use the '-x' option to extract individual files of interest. The project title is in the ".project" file. -- Lee From bsteers4 at gmail.com Tue May 30 12:59:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 30 May 2023 11:59:55 +0100 Subject: [Gambas-user] Bugtracker email error message Message-ID: I'm getting the attached error when adding posts in the bugtracker.. after hitting okay on posting a comment there is a long pause, then the following message pops up... respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 86238 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Tue May 30 13:28:28 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 30 May 2023 13:28:28 +0200 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: References: Message-ID: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Le 30/05/2023 ? 12:59, Bruce Steers a ?crit?: > > I'm getting the attached error when adding posts in the bugtracker.. > > after hitting okay on posting a comment there is a long pause, then the > following message pops up... > > respects > BruceS > I think I should really stop using the company I work for, and host the Gambas wiki and the Gambas bugtracker elsewhere! -- Beno?t Minisini. From t.lee.davidson at gmail.com Tue May 30 14:17:46 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 30 May 2023 08:17:46 -0400 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> References: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Message-ID: On 5/30/23 07:28, Benoit Minisini wrote: > I think I should really stop using the company I work for, and host the Gambas?wiki?and?the?Gambas?bugtracker?elsewhere! What options do we have? Could we perhaps procure our own hosting by taking up a yearly collection? A hosting cost at a rate of $10/month ($120/year) would require only $5 from 24 donors. -- Lee From benoit.minisini at gambas-basic.org Tue May 30 14:50:08 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 30 May 2023 14:50:08 +0200 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: References: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Message-ID: Le 30/05/2023 ? 14:17, T Lee Davidson a ?crit?: > On 5/30/23 07:28, Benoit Minisini wrote: >> I think I should really stop using the company I work for, and host >> the Gambas?wiki?and?the?Gambas?bugtracker?elsewhere! > > What options do we have? Could we perhaps procure our own hosting by > taking up a yearly collection? > > A hosting cost at a rate of $10/month ($120/year) would require only $5 > from 24 donors. > > Money is actually not the problem, and I will pay for the server. But the bugtracker is made with the application I wrote for the company I work for, and I can't use it outside of their servers. I don't have time until next week because I have a concert, but after I will think about rewriting the bugtracker as a pure 'gb.web.gui' application. By the way, if someone is in Paris July, 4th, 4:00 PM, he can come to the concert, it's free. It's at the City of Music. We play the Symphonic Dances of Rachmaninoff, and a contemporay piece written by a living French composer. Here is the link: https://philharmoniedeparis.fr/en/activity/restitution/23781-orchestre-des-amateurs-de-la-philharmonie-de-paris Regards, -- Beno?t Minisini. From ea7dfh at ea7dfh.com Tue May 30 14:45:50 2023 From: ea7dfh at ea7dfh.com (Jesus Guardon) Date: Tue, 30 May 2023 14:45:50 +0200 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: Message-ID: An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue May 30 14:53:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 30 May 2023 13:53:58 +0100 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: References: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Message-ID: On Tue, 30 May 2023 at 13:18, T Lee Davidson wrote: > On 5/30/23 07:28, Benoit Minisini wrote: > > I think I should really stop using the company I work for, and host the > Gambas wiki and the Gambas bugtracker elsewhere! > > What options do we have? Could we perhaps procure our own hosting by > taking up a yearly collection? > > A hosting cost at a rate of $10/month ($120/year) would require only $5 > from 24 donors. > > > -- > Lee > I'm up for helping. work is starting to pick up for me again now so can spare a bit of money for a good cause. there's also crowdfunding , maybe patreon , https://www.patreon.com/ Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue May 30 15:00:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 30 May 2023 14:00:18 +0100 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: References: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Message-ID: On Tue, 30 May 2023 at 13:51, Benoit Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 30/05/2023 ? 14:17, T Lee Davidson a ?crit : > > On 5/30/23 07:28, Benoit Minisini wrote: > >> I think I should really stop using the company I work for, and host > >> the Gambas wiki and the Gambas bugtracker elsewhere! > > > > What options do we have? Could we perhaps procure our own hosting by > > taking up a yearly collection? > > > > A hosting cost at a rate of $10/month ($120/year) would require only $5 > > from 24 donors. > > > > > > Money is actually not the problem, and I will pay for the server. > > But the bugtracker is made with the application I wrote for the company > I work for, and I can't use it outside of their servers. > > I don't have time until next week because I have a concert, but after I > will think about rewriting the bugtracker as a pure 'gb.web.gui' > application. > > By the way, if someone is in Paris July, 4th, 4:00 PM, he can come to > the concert, it's free. It's at the City of Music. We play the Symphonic > Dances of Rachmaninoff, and a contemporay piece written by a living > French composer. > > Here is the link: > > https://philharmoniedeparis.fr/en/activity/restitution/23781-orchestre-des-amateurs-de-la-philharmonie-de-paris > > Regards, > > -- > Beno?t Minisini. > 4th July is my birthday :) But i think you meant 4th June oui? the link says June What instrument do you play Ben? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue May 30 15:14:32 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Tue, 30 May 2023 15:14:32 +0200 Subject: [Gambas-user] Bugtracker email error message In-Reply-To: References: <201e8b1c-abcb-80bb-8454-0d60a1f8875e@gambas-basic.org> Message-ID: <6b7d6c92-432e-1501-ebdd-130e8c86c38a@gambas-basic.org> Le 30/05/2023 ? 15:00, Bruce Steers a ?crit?: > > > On Tue, 30 May 2023 at 13:51, Benoit Minisini > > wrote: > > Le 30/05/2023 ? 14:17, T Lee Davidson a ?crit?: > > On 5/30/23 07:28, Benoit Minisini wrote: > >> I think I should really stop using the company I work for, and host > >> the Gambas?wiki?and?the?Gambas?bugtracker?elsewhere! > > > > What options do we have? Could we perhaps procure our own hosting by > > taking up a yearly collection? > > > > A hosting cost at a rate of $10/month ($120/year) would require > only $5 > > from 24 donors. > > > > > > Money is actually not the problem, and I will pay for the server. > > But the bugtracker is made with the application I wrote for the company > I work for, and I can't use it outside of their servers. > > I don't have time until next week because I have a concert, but after I > will think about rewriting the bugtracker as a pure 'gb.web.gui' > application. > > By the way, if someone is in Paris July, 4th, 4:00 PM, he can come to > the concert, it's free. It's at the City of Music. We play the > Symphonic > Dances of Rachmaninoff, and a contemporay piece written by a living > French composer. > > Here is the link: > https://philharmoniedeparis.fr/en/activity/restitution/23781-orchestre-des-amateurs-de-la-philharmonie-de-paris > > Regards, > > -- > Beno?t Minisini. > > > 4th July is my birthday :) > But i think you meant 4th June oui? the link says June > > What instrument do you play Ben? > > Respects > BruceS > Oop yes, it's June, not July. I play the flute. -- Beno?t Minisini. From gambas at servinfo.it Tue May 30 17:59:24 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Tue, 30 May 2023 17:59:24 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted Message-ID: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> Hi all. I'm trying to replicate a des3 encryption without shell using only gambas but I get different output. This is my example code: #!/usr/bin/env gbs3 USE "gb.openssl" ' Key dim K as string="8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" ' Init Vector dim IV as string="7eec1ceeaebc9828" ' string to encrypt dim pwd as string="1234567812345678" print Cipher["DES3"].EncryptSalted(pwd,K,IV) shell "printf \"" & pwd & ?"\"" & ?????" | openssl des3 -a -nopad " & ?????"-K \"" & K & "\" " & ?????"-iv \"" & IV & "\"" I get the right output from the shell openssl call but I can't replicate with gambas. What's wrong ? thank's in advance, marco. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Tue May 30 17:57:08 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Tue, 30 May 2023 17:57:08 +0200 Subject: [Gambas-user] App icon question In-Reply-To: <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> Message-ID: Ok , is there a way for the icon ? Il 29/05/23 17:10, T Lee Davidson ha scritto: > On 5/29/23 09:39, Marco Ancillotti wrote: >> Hi all, >> >> I have a gambas app ( app1.gambas ) compiled and working. >> >> I write a second app ( app2.gambas ) , is there a way to read app >> name and app icon of the first app from the second one ? >> >> Thank's, >> marco. > > You can Shell out to gba3 to access that info and files. > > Use the '-l' option to list the files in the executable archive. > Then use the '-x' option to extract individual files of interest. > The project title is in the ".project" file. > > From t.lee.davidson at gmail.com Tue May 30 22:12:14 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 30 May 2023 16:12:14 -0400 Subject: [Gambas-user] App icon question In-Reply-To: References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> Message-ID: <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> On 5/30/23 11:57, Marco Ancillotti wrote: > > Ok , is there a way for the icon ? > Well, yes. The '-l' option should also list the name of the icon file if there is one. You can then use the '-x' option to extract it for loading into app2 if needed. > Il 29/05/23 17:10, T Lee Davidson ha scritto: >> On 5/29/23 09:39, Marco Ancillotti wrote: >>> Hi all, >>> >>> I have a gambas app ( app1.gambas ) compiled and working. >>> >>> I write a second app ( app2.gambas ) , is there a way to read app name and app icon of the first app from the second one ? >>> >>> Thank's, >>> marco. >> >> You can Shell out to gba3 to access that info and files. >> >> Use the '-l' option to list the files in the executable archive. >> Then use the '-x' option to extract individual files of interest. >> The project title is in the ".project" file. -- Lee From gradobag at gradobag.it Tue May 30 23:14:39 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 30 May 2023 23:14:39 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> Message-ID: <29231760-eb79-3ef4-cccd-40d8f0c29e6e@gradobag.it> Il 30/05/23 17:59, Marco Ancillotti ha scritto: > > Hi all. > > I'm trying to replicate a des3 encryption without shell using only > gambas but I get different output. > > This is my example code: > > #!/usr/bin/env gbs3 > > USE "gb.openssl" > > ' Key > dim K as string="8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" > ' Init Vector > dim IV as string="7eec1ceeaebc9828" > ' string to encrypt > dim pwd as string="1234567812345678" > > print Cipher["DES3"].EncryptSalted(pwd,K,IV) > > shell "printf \"" & pwd & ?"\"" & > ?????" | openssl des3 -a -nopad " & > ?????"-K \"" & K & "\" " & > ?????"-iv \"" & IV & "\"" > > I get the right output from the shell openssl call but I can't > replicate with gambas. > > What's wrong ? > > thank's in advance, > marco. > You can find a lesson on the subject here: https://gambas-buch.de/doku.php?id=k28:k28.3:start Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Wed May 31 11:25:05 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 11:25:05 +0200 Subject: [Gambas-user] App icon question In-Reply-To: <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> Message-ID: <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Il 30/05/23 22:12, T Lee Davidson ha scritto: > On 5/30/23 11:57, Marco Ancillotti wrote: >> >> Ok , is there a way for the icon ? >> > > Well, yes. The '-l' option should also list the name of the icon file > if there is one. You can then use the '-x' option to extract it for > loading into app2 if needed. Yes this is simple , but if I use a stock icon how can I get the icon name ? I can extract the main form but there's a way to extract that to .form and.class ? From gambas at servinfo.it Wed May 31 11:34:37 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 11:34:37 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: <29231760-eb79-3ef4-cccd-40d8f0c29e6e@gradobag.it> References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <29231760-eb79-3ef4-cccd-40d8f0c29e6e@gradobag.it> Message-ID: <90e06cb1-6921-e5ea-6b92-ef7e06a6b3f8@servinfo.it> Il 30/05/23 23:14, Gianluigi ha scritto: > > You can find a lesson on the subject here: > > https://gambas-buch.de/doku.php?id=k28:k28.3:start > > Regards > > Gianluigi > I've already read it but I don't find a way to replicate the shell output , using openssl to encrypt I get the same value that I get from C , using gambas I don't understand why it output special character instead of correct value. From gambas at servinfo.it Wed May 31 12:27:20 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 12:27:20 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> Message-ID: <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> I'm trying to use cipher["DES3"].Encrypt in the place of EncryptSalted ( it seem to be the right call as it take key and iv ) but it say that my key lenght is wrong. Using: Print "K :" & Cipher["DES3"].KeyLength Print "IV:" & Cipher["DES3"].IvLength I found that key length is 24 and iv is 8 but I have a key length of 48 and a iv of 16 and shell openssl get those without any problem. Is that a bug ? Thanks in advence, Marco. Il 30/05/23 17:59, Marco Ancillotti ha scritto: > > Hi all. > > I'm trying to replicate a des3 encryption without shell using only > gambas but I get different output. > > This is my example code: > > #!/usr/bin/env gbs3 > > USE "gb.openssl" > > ' Key > dim K as string="8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" > ' Init Vector > dim IV as string="7eec1ceeaebc9828" > ' string to encrypt > dim pwd as string="1234567812345678" > > print Cipher["DES3"].EncryptSalted(pwd,K,IV) > > shell "printf \"" & pwd & ?"\"" & > ?????" | openssl des3 -a -nopad " & > ?????"-K \"" & K & "\" " & > ?????"-iv \"" & IV & "\"" > > I get the right output from the shell openssl call but I can't > replicate with gambas. > > What's wrong ? > > thank's in advance, > marco. > > > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed May 31 12:36:18 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 31 May 2023 12:36:18 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> Message-ID: <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> Le 31/05/2023 ? 12:27, Marco Ancillotti a ?crit?: > > I'm trying to use cipher["DES3"].Encrypt in the place of EncryptSalted ( > it seem to be the right call as it take key and iv ) but > it say that my key lenght is wrong. > > Using: > Print "K :" & Cipher["DES3"].KeyLength > Print "IV:" & Cipher["DES3"].IvLength > > I found that key length is 24 and iv is 8 but I have a key length of 48 > and a iv of 16 and shell openssl get those without any > problem. > > Is that a bug ? > > Thanks in advence, > Marco. > > > > Il 30/05/23 17:59, Marco Ancillotti ha scritto: >> >> Hi all. >> >> I'm trying to replicate a des3 encryption without shell using only >> gambas but I get different output. >> >> This is my example code: >> >> #!/usr/bin/env gbs3 >> >> USE "gb.openssl" >> >> ' Key >> dim K as string="8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" >> ' Init Vector >> dim IV as string="7eec1ceeaebc9828" >> ' string to encrypt >> dim pwd as string="1234567812345678" >> >> print Cipher["DES3"].EncryptSalted(pwd,K,IV) >> >> shell "printf \"" & pwd & ?"\"" & >> ?????" | openssl des3 -a -nopad " & >> ?????"-K \"" & K & "\" " & >> ?????"-iv \"" & IV & "\"" >> >> I get the right output from the shell openssl call but I can't >> replicate with gambas. >> >> What's wrong ? >> >> thank's in advance, >> marco. >> 'gb.openssl' method arguments are bytes. Command-line 'openssl' arguments are hexadecimal digits. I guess this is the reason why you don't get the same results. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Wed May 31 13:04:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 31 May 2023 12:04:18 +0100 Subject: [Gambas-user] App icon question In-Reply-To: <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Message-ID: On Wed, 31 May 2023 at 10:26, Marco Ancillotti wrote: > Il 30/05/23 22:12, T Lee Davidson ha scritto: > > On 5/30/23 11:57, Marco Ancillotti wrote: > >> > >> Ok , is there a way for the icon ? > >> > > > > Well, yes. The '-l' option should also list the name of the icon file > > if there is one. You can then use the '-x' option to extract it for > > loading into app2 if needed. > > Yes this is simple , but if I use a stock icon how can I get the icon name > ? > The project icon (set in Project/Properties) will be saved as .icon.png regardless of what it might be. Or are you referring to individual Form.Icon properties? > > I can extract the main form but there's a way to extract that to .form > and.class ? > What exactly are you trying to do tha? Fake another program? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed May 31 13:11:19 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 31 May 2023 12:11:19 +0100 Subject: [Gambas-user] App icon question In-Reply-To: References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Message-ID: On Wed, 31 May 2023 at 12:04, Bruce Steers wrote: > > > On Wed, 31 May 2023 at 10:26, Marco Ancillotti wrote: > >> Il 30/05/23 22:12, T Lee Davidson ha scritto: >> > On 5/30/23 11:57, Marco Ancillotti wrote: >> >> >> >> Ok , is there a way for the icon ? >> >> >> > >> > Well, yes. The '-l' option should also list the name of the icon file >> > if there is one. You can then use the '-x' option to extract it for >> > loading into app2 if needed. >> >> Yes this is simple , but if I use a stock icon how can I get the icon >> name ? >> > > The project icon (set in Project/Properties) will be saved as .icon.png > regardless of what it might be. > Or are you referring to individual Form.Icon properties? > > > >> >> I can extract the main form but there's a way to extract that to .form >> and.class ? >> > > What exactly are you trying to do tha? > Fake another program? > oops , I hit send by accident before i was finished. Usually you would just select "Import" in the IDE to import .form, & .class files from another project. And manually drop icon files into the project folder somewhere. I'm curious to know why you need to "clone" ad-hoc a gambas executable and not just use the project source. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed May 31 13:14:03 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 31 May 2023 07:14:03 -0400 Subject: [Gambas-user] App icon question In-Reply-To: <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Message-ID: On 5/31/23 05:25, Marco Ancillotti wrote: > Yes?this?is?simple?,?but?if?I?use?a?stock?icon?how?can?I?get?the?icon?name?? > > I can extract the main form but there's a way to extract that to .form and.class?? Oh, you wanted the name of a stock icon. As far as I know setting an app's icon to a stock icon must be done on the main form. As you can see by using "gba3 -l", the source files (.src) are not provided. If you take a look at ".gambas/FMAIN", you will see that the icon associated with the main form is in there. However, it might be difficult to parse out. -- Lee From gambas at servinfo.it Wed May 31 16:13:29 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 16:13:29 +0200 Subject: [Gambas-user] App icon question In-Reply-To: References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Message-ID: Il 31/05/23 13:11, Bruce Steers ha scritto: > > > The project icon (set in Project/Properties) will be saved as > .icon.png regardless of what it might be. > Or are you referring to individual Form.Icon properties? > Ok , I've used a Form icon and not a Application icon so this was the problem. > Usually you would just select "Import" in the IDE to import .form, & > .class files from another project. > And manually drop icon files into the project folder somewhere. > > I'm curious to know why you need to "clone" ad-hoc a gambas executable > and not just use the project source. > I'm writing a main app that call other apps , this is to coordinate and delegate all the work to sub-programs. I need to scan a directory and get a list of apps with name and icons to fill a launcher. Thank's a lot, I've solved using project icon. bye, marco. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Wed May 31 16:25:28 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 16:25:28 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> Message-ID: Il 31/05/23 12:36, Benoit Minisini ha scritto: > > 'gb.openssl' method arguments are bytes. Command-line 'openssl' > arguments are hexadecimal digits. I guess this is the reason why you > don't get the same results. > Hi Benoit , I've try converting string to bytes with Bpwd = Byte[].FromString(pwd) But I get a: MMain.?.0: #6: Type mismatch: wanted String, got Byte[] instead Also on that page: https://gambas-buch.de/dwen/doku.php?id=k28:k28.3:start it claim that argument are strings: Encrypt ( Plain As String [ , Key As String, InitVector As String ] ) EncryptSalted ( Plain As String, Password As String [ , Salt As String ] ) I'm loosing somethink ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed May 31 16:38:22 2023 From: benoit.minisini at gambas-basic.org (Benoit Minisini) Date: Wed, 31 May 2023 16:38:22 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> Message-ID: Le 31/05/2023 ? 16:25, Marco Ancillotti a ?crit?: > Il 31/05/23 12:36, Benoit Minisini ha scritto: >> >> 'gb.openssl' method arguments are bytes. Command-line 'openssl' >> arguments are hexadecimal digits. I guess this is the reason why you >> don't get the same results. >> > Hi Benoit , > > I've try converting string to bytes with > > Bpwd = Byte[].FromString(pwd) > > But I get a: > > MMain.?.0: #6: Type mismatch: wanted String, got Byte[] instead > > Also on that page: > > https://gambas-buch.de/dwen/doku.php?id=k28:k28.3:start > > it claim that argument are strings: > > Encrypt ( Plain As String [ , Key As String, InitVector As String ] ) > > > EncryptSalted ( Plain As String, Password As String [ , Salt As String ] ) > > > I'm loosing somethink ? > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I told you that 'openssl' command-line tools takes hexadecimal digits as argument. You must convert them to bytes in Gambas. And these bytes are stored in a string, not a byte array. Regards, -- Beno?t Minisini. From gambas at servinfo.it Wed May 31 16:45:01 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 16:45:01 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> Message-ID: <58cdcfe2-ee45-f58f-d986-5ce62f405cca@servinfo.it> Il 31/05/23 16:38, Benoit Minisini ha scritto: > > I told you that 'openssl' command-line tools takes hexadecimal digits > as argument. You must convert them to bytes in Gambas. And these bytes > are stored in a string, not a byte array. > Ok , now I take it. so if my key is "8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" I have to split that string 2 by 2 and convert every couple ( example "8a" ) to the rappresenting ascii char. is it right ? Is there a function to make that ? From gambas at servinfo.it Wed May 31 19:21:36 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Wed, 31 May 2023 19:21:36 +0200 Subject: [Gambas-user] Usage of openssl.EncryptSalted In-Reply-To: References: <532c3ab3-5f1c-45af-1801-5e5a3e4201aa@servinfo.it> <6f7d5b6d-b01d-83c8-b3e3-27807f72ad99@servinfo.it> <47e44600-4a40-9a33-c1d4-e02cebb6ea78@gambas-basic.org> Message-ID: <5d1e2cac-14c3-1e1d-0193-f880844e32c7@servinfo.it> Hi all , i'm really near , I converted all data and it works but I need the output with option -nopad , as openssl say it: "Disable standard block padding" , is there an option on gambas to enable it ? This is my code: #!/usr/bin/env gbs3 USE "gb.openssl" ' Key dim K as string="8aa69be1566a1dff572e102ed7266da674524d78ea8b933a" ' Init Vector dim IV as string="7eec1ceeaebc9828" ' string to encrypt dim pwd as string="1234567812345678" dim s as string ' Run shell script to see Wanted result print "Value I need: (with nopad)" shell "printf \"" & pwd & ?"\"" & ?????" | openssl des3 -a -nopad " & ?????"-K \"" & K & "\" " & ?????"-iv \"" & IV & "\"" wait print "\nValue I don't need: (without nopad)" shell "printf \"" & pwd & ?"\"" & ?????" | openssl des3 -a " & ?????"-K \"" & K & "\" " & ?????"-iv \"" & IV & "\"" wait ' Convert Key from hex to string for i as Integer = 0 to 47 step 2 ???s &= chr(val("&" & mid$(K,i+1,2) & "&")) next K = s s = "" ' Convert IV from hex to string for i as Integer = 0 to 15 step 2 ???s &= chr(val("&" & mid$(IV,i+1,2) & "&")) next IV = s ' Print Result print "\nValue I get: (same without nopad)" print base64(Cipher["DES3"].Encrypt(pwd,K,IV).Cipher) It's the output: Value I need: (with nopad) M39hm3jXarZcAkVmVMq/Rw== Value I don't need: (without nopad) M39hm3jXarZcAkVmVMq/R0xR/rJnKy7P Value I get: (same without nopad) M39hm3jXarZcAkVmVMq/R0xR/rJnKy7P Thank's all , marco. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed May 31 19:27:52 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 31 May 2023 18:27:52 +0100 Subject: [Gambas-user] App icon question In-Reply-To: References: <597c0cb2-ef1a-982e-cde3-b37fbf4f5b2f@servinfo.it> <35ed4776-9d11-66ba-ce11-c9117a4c4425@gmail.com> <8cca1e63-a4a1-967e-101c-0af842b03f66@gmail.com> <5fd05d98-5655-9013-f326-249a6b6b5835@servinfo.it> Message-ID: On Wed, 31 May 2023, 15:14 Marco Ancillotti, wrote: > Il 31/05/23 13:11, Bruce Steers ha scritto: > > > > The project icon (set in Project/Properties) will be saved as .icon.png > regardless of what it might be. > Or are you referring to individual Form.Icon properties? > > Ok , I've used a Form icon and not a Application icon so this was the > problem. > Aah, glad you found a solution. My answer was incorrect with regards to the .gambas executable file. Seems .icon.png always exists in the project folder but not in the executable. I guess it's for the IDE. For that you have to extract and read the .project file for the Icon= line. > Usually you would just select "Import" in the IDE to import .form, & > .class files from another project. > And manually drop icon files into the project folder somewhere. > > I'm curious to know why you need to "clone" ad-hoc a gambas executable and > not just use the project source. > > I'm writing a main app that call other apps , this is to coordinate and > delegate all the work to sub-programs. > > I need to scan a directory and get a list of apps with name and icons to > fill a launcher. > Ah I see now. Yes probably easier to read project folders .icon.png file if executable will be in it's source folder. > Thank's a lot, I've solved using project icon. > bye, > marco. > Happy to help (though I think Lee helped more) BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: