Whoops Typo. myBag~putAll~(myArray) should read myBag~putAll(myArray) Jon On Sun, 21 Dec 2025 at 13:03, Jon Wolfers sahananda@users.sourceforge.net wrote: Hi P.O., Just in case somebody misunderstands, the boolean operators can be used with extant collections. The syntax would be myExtantBag = myExtantBag~union(myArray) and the resultant bag would contain all that was in myExtantBag previously along with all the items in myArray PutAll probably reads more straightforwardly though, and for an array,...
Hi P.O., Just in case somebody misunderstands, the boolean operators can be used with extant collections. The syntax would be myExtantBag = myExtantBag~union(myArray) and the resultant bag would contain all that was in myExtantBag previously along with all the items in myArray PutAll probably reads more straightforwardly though, and for an array, you do not need to invoke the targets allItems method so it can be stated more succinctly as myBag~putAll~(myArray) The two techniques are not exactly the...
Hi P.O. you can do b = .bag~new~union(myArray) to place the members of myArray in a bag without iteration. hope that helps, Jon On Sat, 20 Dec 2025 at 22:06, Per Olov Jonsson perolovjonsson@users.sourceforge.net wrote: Dear ooRexx users, How do I add all the items from an array to a bag? I know that I can do the opposite with myArray = myBag~makeArray But I need to do the reverse, i,e, myBag = myArray~something It seems it should be possible without iterating over the array? Greatful for any hints...
I'm not sure if I understand what you are asking, but is newArray = array~copy what you are looking for? On Fri, 5 Dec 2025 at 17:56, Enrico Sorichetti atncsj6h@users.sourceforge.net wrote: I just found out that the an assignment statement for array is not a real asignment , it just an alias definition for the original array I found that the statement b = a~section(1) creates a real copy but I find the solution pretty unelegant and misleading it works in my case because the arrays are just vectors...
I think the DO OVER is a wonderful piece of syntactic sugar, but as fr as I'm aware there is no way to do what you want with it as it currently stands. I would code do index over DIM~allIndexes~sortwith(.descendingcomparator~new) item = DIM[index] end / DO / But it is nowhere near as readable and requires a clause inside the loop. I do see that Rick just put in a feature request for this, so perhaps future versions... https://sourceforge.net/p/oorexx/feature-requests/865/ On Sun, 30 Nov 2025 at 20:52,...
Patch doc_bug_325.7.1 applied.
325_7.1 patch provided by Josep Maria Improving documentation of namespaces
I have checked the new patch for Language and it is OK. Well done Josep Maria.
I have checked the patch for English usage and it is OK
Checked for English language. It seems to me that the previous text for note 2 had an extraneous comma For a floating ::CONSTANT directive the constant value must be a single literal string**,** or a symbol that is taken as a constant. A list of alternatives would be delimited like this option 1, option 2,... option (n-1) or option(n) in which case the commas serve as ors This mistake looks like it is repeated in the patch, where you insert a new ',, or' where normally a simple comma would suffice....
I have checked this patch for use of English and it is OK.
I have checked this patch for use of English and it reads OK.
Hi Garry, I made a start on this some years ago. Google calendars can feed an ical. I produced a class that provided me a set of events from an ICAL file. I never completed the work as I had control over the calendar and was able to parse out the event types and recursions I wanted. However, if that was the way that you wanted to go you could get some mileage from my code. The great flexibility of the ICAL format makes it quite difficult to parse out all events, but my ical event class and the ical...
Hi Helmut, this is an interesting question. I have no previous experience using excel events. I had a play and it looks like the problem is that an event named 'SHEETS' is fired,. This in itself is odd, as looking at the M$ documentation I would have expected the event to be called NEWSHEET or WORKBOOK_NEWSHEET. The SHEETS event seems to expect the workbook object to be returned by the event handler. the online dosc for the NEWSHEET event at https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.newsheet...
Hi Robert, it looks like you have found a bug in the createRadioButtonStem method of userdialog. The radio button group methods are all written in Rexx and contained in ooDialog.cls so you can look at the code yourself. They attempt to automatically size the group according to the labels you provide and the dialog's font. It looks like the OP intended for the buttons to be vertically spaced 1.5 font heights apart. However, code was put in the createradiobuttonstem method to cope with the special...
You have hit a GOTCHA with ooDialog. You can choose whether or not to make use of autodetection - by default it is on. It's a bit tricky to explain, but all your window dialog controls have ooRexx attributes assigned to them, and if you use the userdialog getdata method, then the attributes will be populated with the value (title usually) of the Windows control. If you use the setdata method, then the windows controls values (title usually) will be populated with the value of the attribute. This...
Following on from what Gil said, try using GUItemplate.Rex (I hope I remembered the name correctly) as a starting point. On Sun, 12 May 2024, 14:56 Gil Barmwater, orange-e@users.sourceforge.net wrote: In addition to the initDialog method that Jeremy identified, you might want to have a look at the defineDialog method as well. One of my stumbling blocks in learning to use OODialog was the fact that there are different "stages" in the creation process and that you need to do things in the correct "stage"...
Hi Garry, this should do what you want - using ooDialog - enjoy Jon ====================================== /* place this in your code where you want to call your dialog */ dlg = .msgdialog~new dlg~executeasync /* send messages to the dialog */ dlg~setMessage('The first message') call syssleep 1 dlg~setMessage('The second message') call syssleep 1 dlg~setMessage('The third message') call syssleep 1 dlg~setMessage('The last message') call syssleep 1 /* clear the dialog */ dlg~cancel dlg~endAsyncExecution...
mySql escape string
Hi Karen, I don't know for sure, but I think it is unlikely that the cause of this difference is the change of operating system. It is far more likely that there is some change in the context that you are running the script in that means that the variable AMTREQUESTED does not receive a value where it did in your old context. I suggest that you find where in your code (probably just before line 491) this variable would normally be initialised and try to work back from there. good luck and let us...
Hi Erich, thank you for taking a look at this. I do use ::requires, and used ::requires when I first hit this problem. When reporting the error, trying to get a minimum set of instructions to reliably cause the crash led to rexxtry (where of course you cannot use ::requires). One sin that I have been guilty of in the past is not being very case-literal when I require ooDialog.cls, so it may be that I have had a script that required 'oodialog.cls' and another script that required 'ooDialog.cls' and...
MySql caching_sha2_password
I recently noticed that this can also affect the listchoice routine as shown in this short rexxtry session: C:\Users\sahan\Documents\Rexx>rexx rexxtry REXX-ooRexx_5.1.0(MT)_64-bit 6.05 26 Oct 2023 rexxtry.rex lets you interactively try REXX statements. Each string is executed when you hit Enter. Enter 'call tell' for a description of the features. Go on - try a few... Enter 'exit' to end. call 'oodialog.cls' ........................................... rexxtry.rex on WindowsNT choices = .array~of('one','to','free','for')...
Hi Erich, Thanks for the fix. Very quick! I've tested it and it works. Helps with the readability so I'm glad you did it that way round. Many thanks, Jon On Thu, 26 Oct 2023 at 11:41, Erich erich_st@users.sourceforge.net wrote: summary: ooDialog Edit Control addExtendedStyle method wrong in reference --> ooDialog Edit Control addExtendedStyle not case insensitive status: open --> accepted assigned_to: Erich Pending work items: --> tests Comment: Hi Jon, I've moved this bugs and fixed the code with...
Trying to track down the location of this nasty bug, I copied the inputbox class and inputbox routine into my own script from svn / ooDialog / trunk / ooDialog / UtilityClasses.cls. When they resided in my own script, the inputbox routine worked impeccably. I don't see any way of explaining this. Jon On Thu, 31 Aug 2023 at 22:18, Jon Wolfers sahananda@users.sourceforge.net wrote: Having posted the above, I found this xml open in a browser behind. Note that although it reports my OS as Windows 10.0...
ooDialog Edit Control addExtendedStyle method wrong in reference
I don't know if I can answer this question definitively, but long ago I had to write to lpt1. This would be in a back version of ooRexx and probably under Windows XP. At that time I found that stream~new('lpt1') did not work, but that if I made the name into a file with any extension it connected to the port. so: stream~new('lpt1.jon') would connect the stream to lpt1 This is obviously not correct behaviour and it may have been fixed by now, but probably worth a try. port = .stream~new('com1.xxx')...
Ah no. I see that there was a problem with copied objects, but it was fixed back in 2014. Forget I posted On Thu, 14 Sept 2023 at 16:43, Jon Wolfers sahananda@users.sourceforge.net wrote: At one point I think Rick wrote that one could not rely on an UNINIT method being called. Was that correct, and if so, is it still the case with 5.0.0? Reading RexRef 4.2.10 this might be if an uninit further down the heirachy did not call the superclass. Jon On Thu, 14 Sept 2023 at 13:06, m-stgt m-stgt@users.sourceforge.net...
At one point I think Rick wrote that one could not rely on an UNINIT method being called. Was that correct, and if so, is it still the case with 5.0.0? Reading RexRef 4.2.10 this might be if an uninit further down the heirachy did not call the superclass. Jon On Thu, 14 Sept 2023 at 13:06, m-stgt m-stgt@users.sourceforge.net wrote: In a hurry I made an error and nobody complains: not leaving, ::method UNINIT does the trick. Just for the record. ::method leaving https://sourceforge.net/p/oorexx/discussion/408478/thread/8ed4e75f82/?limit=25#31c1/661f...
Having posted the above, I found this xml open in a browser behind. Note that although it reports my OS as Windows 10.0 it is actually Windows 11 Home <WERReportMetadata> <OSVersionInformation> <WindowsNTVersion>10.0</WindowsNTVersion> <Build>22621</Build> <Product>(0x65): Windows 10 Home</Product> <Edition>Core</Edition> <BuildString>22621.2134.amd64fre.ni_release.220506-1250</BuildString> <Revision>2134</Revision> <Flavor>Multiprocessor Free</Flavor> <Architecture>X64</Architecture> <LCID>2057</LCID>...
I think I see the same behaviour recreatably with 5.1.0 under Windows 11. Here is a rexxtry session C:\Users\sahan\Documents\Rexx>rexx rexxtry REXX-ooRexx_5.1.0(MT)_64-bit 6.05 15 Jun 2023 rexxtry.rex lets you interactively try REXX statements. Each string is executed when you hit Enter. Enter 'call tell' for a description of the features. Go on - try a few... Enter 'exit' to end. call 'oodialog.cls' ........................................... rexxtry.rex on WindowsNT say inputbox('Message','Title','Previous...
Hi Peter, In that case I think that your code will work if you include the second argument of 'H' or .true on the new method. As per convention, the documentation for the new method is found under the init method in the rexxextensions manual para 1.6.5. You should not need to set the fields as literals, when the CSVlineIn method finds a field encased in quotes (or other delimiter if you change it) then it sets that field as a literal automatically. let me know how you get on Jon On Mon, 3 Jul 2023...
Hi Peter, CSVStream tries to be all things to all people. It doesn't always succeed. As the CSV convention and usage allows for headers or no headers, you have to tell CSVStream if you want it to treat the first row of your file as headers rather than data. If you open your CSVStream with a second argument of 'H' or .true then a CSVStreamHeader object will be provided at the 'Headers' attribute and you should not see this particular error message. However, I'm not sure that that gets you any closer...
Hi Mark, this happens for me too on Windows 11 V 22H2 (OS Build 22621.1555). CURLSetOpt never returns. I'm not sure that I can add anything to what Erich says, but I added a trace and a few SAYs to your sample program in section 5 of the doc page and in case it helps, this is what I see: C:\Users\sahan\Documents\ooRexx>rexx testrexxcurl 2 *-* Call RXFuncAdd 'CurlLoadFuncs','rexxcurl','CurlLoadFuncs' >>> "0" 3 *-* Call CurlLoadFuncs >>> "0" 4 *-* curl = CURLInit() >>> "-315784928" 5 *-* trace n ===...
Hi Mark, this happens for me too. CURLSetOpt never returns. I'm not sure that I can add anything to what Erich says, but I added a trace and a few SAYs to your sample program in section 5 of the doc page and in case it helps, this is what I see: C:\Users\sahan\Documents\ooRexx>rexx testrexxcurl 2 *-* Call RXFuncAdd 'CurlLoadFuncs','rexxcurl','CurlLoadFuncs' >>> "0" 3 *-* Call CurlLoadFuncs >>> "0" 4 *-* curl = CURLInit() >>> "-315784928" 5 *-* trace n === ooRexx Version = REXX-ooRexx_5.0.0(MT)_64-bit...
I think this needs to be documented. The reference text for the menus is a bit spaghetti like. Ideally this would go with insertMenuItem, but that text is shared with the other types of menus. So, I would suggest instead that section 28.2.3.2 paragraph headed ID should have the following appended.to the final sentence ", and the ID value must be divisible by 16". If you think that is OK I could do the commit. On Thu, 13 Apr 2023 at 13:48, Erich erich_st@users.sourceforge.net wrote: Yes, correct,...
Hi Erich, Thanks for that, but from a user's point of view, this is broken. I've had no experience of this area before, but looking at the ooDialog documentation if you want to add items to the systems menu, unless you want to use one of the names listed in the case statement in SC2Rexx then you have to use numeric ids supplied as decimals. The user (ie ooDIalog Coder) must supply the id in the sysMenu insertItem method. s/he can then connect that menu item by supplying the same id on the sysMenu...
Hi Mike, Well I'm not a developer - just a user of ooRexx who made very heavy use of ooDialog for a decade or so. I contributed some bits written in ooRexx to the language at one point. I wasn't even aware of the systemMenu ability till you raised this discussion. I have raised a bug for it (https://sourceforge.net/p/oorexx/bugs/1892/) and perhaps it will be an easy one to fix given what we have discovered. Thank you for taking the trouble. Jon On Wed, 12 Apr 2023 at 22:46, m-stgt m-stgt@users.sourceforge.net...
ooDialog sysMenu handler corrupts first argument
Well, I have a workaround - though you probably won't like it. All the system menu ids need to be divisible by 16. Here is my initdialog method (there is already a C accelerator in my system menu) ... sysMenu = .SystemMenu~new(self) sysMenu~insertSeparator(351, 351) sysMenu~insertItem(351, 352, "&F Menu Item") sysMenu~insertItem(352, 368, "&E Menu Item") sysMenu~insertItem(368, 384, "&D Menu Item") sysMenu~insertItem(384, 400, "&B Menu Item") sysMenu~insertItem(400, 416, "&A Menu Item") sysMenu~connectCommandEvent(352,...
Well, I still don't have answers, but I see what appears to be happening. It looks like the last 4 bits of the id in binary are being anded with 0 366 decimal is is '16E'x and 352 decimal is '160'x I tried 352, 353 and 354 and they all came back as 352 I tried 371 through 375 and they all came back as 368 which is '170'x I tried 367 which came back as 352 I don't know what is causing that. Jon On Wed, 12 Apr 2023 at 15:37, m-stgt m-stgt@users.sourceforge.net wrote: Hello Jon, my replies to your questions:...
Hi M, sounds like a bug to me. I have no answers, but a few of questions: Is there another item in your system menu with P as the accelerator key? Do you add a systemMenu Item with ID 352? Is arg 1 correct if you use the mouse to select this item? On Wed, 12 Apr 2023 at 00:27, m-stgt m-stgt@users.sourceforge.net wrote: Same under Win10. SystemMenu Command Event Handler returns args not as described in ooDialog Ref. Mnl. https://sourceforge.net/p/oorexx/discussion/408478/thread/b904c70ba0/?limit=25#d1b4...
What happens if you phrase your parse command like the one below? parse value self~newPushButton(kID.4.10)~getRect, self~getRect with ble btp bri bbt wle wtp wri wbt On Tue, 11 Apr 2023 at 23:55, m-stgt m-stgt@users.sourceforge.net wrote: [bugs:#1891] https://sourceforge.net/p/oorexx/bugs/1891/ Values returned by getRect do not correspond with screen shot* Status: open Group: 5.0.1 Created: Tue Apr 11, 2023 10:55 PM UTC by m-stgt Last Updated: Tue Apr 11, 2023 10:55 PM UTC Owner: nobody Attachments:...
I don't know if it is helpful for me to interject. Rexx 5.0.0 came with ooDialog 4.2.4 bundled whereas users of previous versions of ooRexx would only have had ooDialog version 4.2.3 unless they had actively installed ooDialog 4.2.4. You can see the version of ooDialog you are running like this: call 'oodialog.cls' ........................................... rexxtry.rex on WindowsNT say .dlgUtil~version ooDialog Version 4.2.4.12373 (an ooRexx Windows Extension) ..............................................
Allow 4 digit years for European, Ordered and USA date formats
I have re-opened this request. Being able to handle 4 digit years is vital. Whilst a dateparser class has been committed, it is not mentioned in the rexx reference nor programmer guide. Without documentation it cannot be used.
Add skipBOM option to csvStream.cls
CSVStream class should cope with BOM
ooDialog reference 4.2.4 ComboBox class missing set/get/remove itemdata methods
I have added these three methods to the ooDialog reference
Remove errant non-utf characters that crept in when copying and pasting from pdf into source
updated and committed combobox.xml
added set/get/remove itemdata methods to ooDialog comboBox class documentation
ooDialog reference 4.2.4 ComboBox class missing set/get/remove itemdata methods
ooDialog Reference - remove incomplete documentation for rebar control
ooDIalog 4.2.4 Missing Documentation
ooDialog openFIleDialog has inactive HELP button
Enhance Changed and New markers in the documentation
Hi Jim, Yes I agree with Gil & Rick. Looking back at the 4.2.3 ooDIalog.pdf you seem to have an extra comma in the line of code that you posted above, however, I think that that just means that your group box is given an id of -1 if you try to use it and the id of 121 is ignored, and probably is not relevant to what we are looking at. Can you see 'C4K' in your code? I don't see it anywhere in the ooDialog code, but it may have been built dynamically. You may see an attribute directive like ::Attribute...
Dear Jim, Although it is troubling that ooRexx has crashed, please don't be offended, but my experience suggests to me that the source of the problem could well be in your code and not at the point that you think it is. It is not my place to say this, but, should it prove to be a bug in ooRexx 4.2.0 or ooDialog you will be lucky to get that fixed now. The windows diagnostics are imho a red herring, but the title of your bug "Object "C4K" does not understand message "CHECKED"" gives a hint as to what...
Hi Erich Was there an intentional change to remove the program name from the error message in 5.0? I'm not sure if you mean a change in ooDialog or in ooRexx. As far as I am aware there has been no development activity on ooDialog during the lifetime of 5.0 except for two or three small bugfixes. hth Jon On Sun, 17 Jul 2022 at 17:15, Erich erich_st@users.sourceforge.net wrote: status: unread --> accepted assigned_to: Erich Group: None --> 5.0.0 Comment: Moving this to bugs. rexxhide's message box...
I have no objection, thanks for fixing this and removing my revision notes. Jon (original author) On Sun, 19 Jun 2022, 14:32 Rick McGuire, bigrixx@users.sourceforge.net wrote: I'm in favor of all lowercase since we've used it for others. [documentation:#292] Could not find file "csvstream.cls" (Linux)* Status: accepted Group: 5.0.0 Created: Wed Jun 15, 2022 07:22 PM UTC by Till Winkler Last Updated: Sun Jun 19, 2022 01:11 PM UTC Owner: Erich Unable to find included class "csvstream.cls" under Linux...
Hi M, yes - I'm sorry - I don't think I could get a bug in 4.2 that is addressed in 5.0 fixed. I also long for a release of 5.0.0. I have been using the beta for years now without problem. Good luck with whichever method you go with. Jon On Mon, 30 May 2022 at 14:57, m-stgt m-stgt@users.sourceforge.net wrote: This is the version rexx -v shows for me: Ouch! that's quite different to my setup, I am still at Open Object Rexx Version 4.2.0 Build date: Feb 22 2014 Addressing Mode: 32 since V5.0.0 is still...
Hi M., I tried your code and did not hit that error. I even tried it with interactive trace like you did, but no go. We might possibly be looking at a bug that has been fixed, or something about our different setups. This is the version rexx -v shows for me: C:\ooRexx>rexx -v Open Object Rexx Version 5.0.0 r12359 Build date: Mar 25 2022 Addressing mode: 32 My OS is Windows 10 Pro 64 bits Are you on an older build of ooRexx perhaps (or worse, a newer build)? I can't see any recent bugs or fixes in...
ooops. It looks like I should be less sensitive rather than more sensitive ;-> It also looks like Gil has a work-around for your pipes variable access problem. I'm looking at your array lastitem difficulty, and cannot recreate it (see rexxtry below). Is your array sparse (contains nil values) by any chance? Unlikely if you are building it using append, but if that is the case, you can remove the nil values using myArray = myArray~makeArray If you could recreate it, can we raise a bug. If you still...
Hi M., No, I do not want to, but when you ask I have to show it. My apologies. I overstepped a line there. I will try to be more sensitive. I was coming from a faith that most problems are fairly readily solvable in oorexx, and thought that seeing the pipeline would help me understand your requirement. Ironically I'm none the wiser. Jon On Sat, 28 May 2022, 23:39 m-stgt, m-stgt@users.sourceforge.net wrote: Do you want to show us your pipeline stages? No, I do not want to, but when you ask I have...
Hi M., Do you want to show us your pipeline stages? I think that Gil is preparing a presentation for the next Rexxla symposium for using netrexx pipelines from ooRexx (Hope I've got that right). I understand that the Netrexx pipelines implement all the 'Hartmann' stages (whatever they are - I assume you know). Also I understand it is possible to use NetRexx pipelines on ooRexx through BSF4ooRexx You can see the discussion on the rexxLa list at https://groups.io/g/rexxla-members/topic/85111370#73...
Sorry, sourceforge has mangled the code examples. let me send them again without formatting or indentation. myArray = .array~new oCsv = .csvStream~new('myfile.csv') oCsv~open('read') do while oCsv~chars > 0 myArray~append(oCsv~csvLineIn) end oCsv~close ::class arrayCell2Comparator subclass comparator ::method compare use strict arg left, right return left[2]~compareTo(right[2]) myArray~sortWith(.arrayCell2Comparator) On Fri, 27 May 2022 at 23:05, Jon Wolfers sahananda@users.sourceforge.net wrote:...
Yes, many of the methods only work for one dimensional arrays, and many of them make sense that way or rather do not make clear sense when applied to n-dimensional arrays. Personally, I would use csvStream to read the rows from your csv file and then store them in a (single dimensioned) array (of arrays) using the append method. myArray = .array~new oCsv = .csvStream~new('myfile.csv') oCsv~open('read') do while oCsv~chars > 0 * myArray~append(oCsv~csvLineIn) end oCsv~close* (This code is not tested)...
You could check out the csvStream class documented in rexx extensions hth Jon On Fri, 27 May 2022 at 09:19, m-stgt m-stgt@users.sourceforge.net wrote: Why I ask? Well, as a mainframe dinosaur I try to migrate part of a routine from z/VM (extensively using CMS Pipelines) to ooREXX under Windows. Happily I found 'The Array Class' what looked at first glance ideal since the number of columns of a CSV table correspond to the dimensions of an array. Alas, most methods are only valid with single-dimension...
RexxRef Set class 5.3.15.19 removeItem
ooDialog connectListboxevent para 4.7.16 needs important note
Handle 5.0.0 new directives (Annotate, resource, end)
Thanks Erich - a very thorough job!
ooDialg reference 4.7.9 connectComboBoxEvent has text from connectButtonEvent
Hi Erich, rexx -e "say .Point~new(10, 10)~inRect(.Rect~new(0, 0, 20, 20)); ::requires ooshapes" Returns 1 And now I have it working. At first, clicking in the customer dialog did nothing, but then after a few tries in different parts of the dialog it produced the (can't drop here - like WIngdings2 88) icon and I could successfully drag and drop. It seems like you have to keep the mouse button pressed for about half a second before you see the icon - which may be to do with loading the file on my...
Open Object Rexx Version 5.0.0 r12359 Build date: Mar 25 2022 Addressing mode: 32 ooDialog Version 4.2.4.11861 (an ooRexx Windows Extension) Hi Erich, Thanks for looking at this. I'm sorry to report that I still don't see this working. Jon
ooDialog Guide Sample Exercise08 - Drag and Drop doesn't work
Hi Mike, Sorry - I suspected as much, but thought it was worth a try. In case that is the solution others coming across this post want, the entire text can be selected by ~select(1,0). I'm familiar with the overtype mode found in many editors. I'm not a Windows GUI programmer, but my reading of the microsoft docs https://docs.microsoft.com/en-us/windows/win32/controls/edit-controls#:~:text=About%20Edit%20Controls-,An%20edit%20control%20is%20a%20rectangular%20control%20window%20typically%20used,to%20enter%20and%20edit%20text.&text=The%20system%20automatically%20processes%20all,when%20the%20operations%20are%20completed....
I'm not sure if this is what you want, but if you select the text in the box then it is overwritten. I have an example somewhere, I'll try to look it out when I get home. Hth Jon On Thu, 10 Mar 2022, 11:00 m-stgt, m-stgt@users.sourceforge.net wrote: Hi all! Using ooDialog (V4.2.4 preview) I'd like to enhance a "content viewer" to alter some hex values which currently it displays only. This would be simpler if the edit dialog could be changed to overwrite mode instead of insert mode. Typically (in...
Wow. That is a beautiful solution and not as obvious as hindsight makes it look. I wonder whether it merits inclusion of a caselessString class as a built in class. That would also get this into the documentation. Jon
Sorry Paul, I left off the tooltip handler ::method ToolTip_Customer unguarded expose list use arg list_id, listrow, suffix, maxlen custID = list~itemText(listrow,1) -- get customer id tip = self~tooltipCustInfo(custId,suffix,listrow,list_id) return tip Jon On Thu, 6 Jan 2022 at 08:41, Jon Wolfers sahananda@users.sourceforge.net wrote: Hi Paul, Listview Controls have their own mechanism for tooltips. AFAICR well covered in the ooDialog reference. I have tried to extract the relevant lines of code...
Hi Paul, Listview Controls have their own mechanism for tooltips. AFAICR well covered in the ooDialog reference. I have tried to extract the relevant lines of code from one of my applications here and I think it covers everything from setting the listview up to loading a row with a tooltip. hth Jon ::method init self~connectListViewEvent(204,'GETINFOTIP', 'TOOLTIP_CUSTOMER') ::method defineDialog self~createListView(204, c~x, c~y(25), c~w, c~hr, 'report singlesel showselalways noheader','customer')...
I have a query to create (or recreate) a function under MySQL (tested on 5.7 and 8) DROP FUNCTION if exists lastMonth_end; DELIMITER $$ CREATE FUNCTION lastMonth_end() RETURNS DATE DETERMINISTIC BEGIN DECLARE endDay DATE ; select last_day(now() - interval 1 MONTH) INTO endDay ; RETURN endDay ; END $$ If I enter it in my SQL client application (HeidiSQL) it works, but if I prepare and execute it using RexxMy (tested on 2.6.0.0 Dec 21) I get an SQL error like the one below. In the past, I have worked...
Great stuff Ruurd. Here is a helper class that I found I had written. It could probably do with strengthening before facing the public. You would use it like this: url = 'https://api.themoviedb.org/3/search/movie?api_key="apiKey"&query=" query"'" oJson = jasonFromUrl(url,.file~new(.file~temporaryPath||'\mytemp.txt')) hope that is helpful. Jon / jsonUtil.cls / / Routines that support the json class - Jul 2019 / ::requires 'json.cls' ::requires 'ooDialog.cls' -- for errordialog / =========================================================================...
Hi guys, I have used rest Apis for eventbrite, mailchimp and postcode.io from open object rexx using rexxCurl and the json class. I think I have only needed the get calls so far. It is certainly doable, but would benefit from a helper class, which I might be able to put together at some point. Not at home at the moment so can't post examples at the moment. You might get more response if you post to the rexxla list. Hope that helps, Jon On Mon, 27 Sep 2021, 19:30 Helmut Renner, donhelmi@users.sourceforge.net...
Hi Paul, I think the best way to alert the developers to this is to open a bug report here https://sourceforge.net/p/oorexx/bugs We have had problems with false positives before here https://sourceforge.net/p/oorexx/bugs/1713/ and here https://sourceforge.net/p/oorexx/bugs/1760/ If you want to assess for yourself whether this is likely to be a false positive you could upload the offending file to VirusTotal https://www.virustotal.com/gui/home/upload and see what other AV programs make of it. I couldn't...
Hi M, I'm away from home without computer, so can't try anything, but I wonder if some of your connected methods are hitting the guard and whether making them unguarded would get you your response immediately? Jon On Sun, 22 Aug 2021, 19:29 m-stgt, m-stgt@users.sourceforge.net wrote: First: problem solved. ooDialog Ref Mnl sections 4.7.15 and 30.3 sufficient. Next: it's solved theoretically, I still have to adopt my finding to the intended program. I you are interested, find following what I learned...
Good question. Looking at the repository https://sourceforge.net/p/oorexx/code-0/HEAD/tree/ooDialog/, there is only one commit between the two versions (apparently made by me - though I have no memory of it). It was a bugfix to the ooRexxtry utility removing some artefacts left in the code which prevented ooRexxTry from being tokenized. So, unless you use the ooRexxTry utility AND you intend to tokenize it (which I'm not sure why anyone would do) the two releases are effectively the same. The commit...
Ah. My version: ooRexx Documentation 4.2.4 ooDialog Reference January 2019 svn revision 11688 You may have an older version of ooDialog. Mark Miesfeld and Oliver Sims made considerable improvements and extensions before they died. 4.2.4 is marked as a preview here https://sourceforge.net/projects/oorexx/files/ooDialog/, and we have no developers actually working on ooDialog since Mark passed, but I have been using it since 2015 and am not aware of any problems. You can install 4.2.4 with any ooRexx...
Sorry, I broke a cardinal rule in my example. All event handler methods in ooDialog need to be unguarded. Looks like I got away with it this time! Jon On Wed, 18 Aug 2021 at 08:53, m-stgt m-stgt@users.sourceforge.net wrote: Thank you for this example. Seems I have to review my code. But up to now I transfered data about pushed buttons to another thread only, like this: / Act on Print button /::method PRTBP unguardedkbesh = .constDir[GLV_KYESH] / KB event semaphore handle /hlst. = .constDir[GLV_PRSTAT]hlst.1...
Here is a rough and ready example using ooDialog. Hope that helps dlg = .parentDlg~new dlg~execute exit /* ========================================================================= */ ::requires "ooDialog.cls" /* ========================================================================= */ ::class parentDlg subclass userdialog ::attribute KidValueEdit ::method init self~init:super width=100 ; height=60 success=self~createCenter(width,height,'parent and child') if \success then do self~initCode=1 return...
Hi m-stgt, I have not done this myself (not the key-up bit anyway), but reckon you should be able to do it. There is a lot to keystroke detection in ooDialog. Refer to sections 4.7.15 and 30.3 of the ooDialog reference. I think you will need to use both in tandem. I'd really like to hear how you get on with this, and you might consider posting any questions and successes to the rexxLA members list (free to join at rexxla.org where you might reach more ooDialog users. Hope that helps Jon
Hi m-stgt, This part of the object paradigm may appear difficult at first, but actually is easy to resolve and very powerful. When an instance of a class creates another instance of the same or different class, it can pass itself to the created instance using the variable self. The receiving instance can then send messages to it's 'parent'. here is some code to demonstrate dad = .parent~new kid = dad~createChild kid~tellParentToSayHello /* =================== */ ::class parent /* ===================...
Any ideas? You could post your code. Do you mess with the output monitor (.output)? Jon On Sun, 21 Mar 2021 at 21:02, Garry Smithwick garryjsmithwick@users.sourceforge.net wrote: I have an exec that I run on windows and I use the say command to track what is happening. After say issues around 5 messages, no more messages appear. I have traced the exec and I can see the additional say commands, but the text of the say command is not displayed. Very strange. Any ideas? Say stops working https://sourceforge.net/p/oorexx/discussion/408478/thread/29ba8b08cc/?limit=25#383a...
I have also badly needed something like this fr4om time to time, but to make it really useful I would request that the trace output could contain the thread-Id Jon
Thanks Paul, I've not used the sqlite package in ooRexx so I can't give you a definitive answer, but I wonder if you have sufficient memory whether building a single mega-sql statement in rexx and forgoing the binds might improve your performance. You might try something like this: values = .array~new do tile over tiles values~append("("tile~zm,tile~column,tile~y,"'"tile~blob_data"')") end sql = "INSERT INTO tiles (zoom_level,tile_column,tile_row,tile_data) VALUES" values~makestring('l',',') stmt...
Hi Paul, I think we need some context to answer that question. What database? Why the ooRexx discussion list? In Mysql for instance you can use the INSERT instruction thus INSERT INTO table (fieldlist) VALUES (valuelist 1),(valuelist 2)...,(valuelist n) which may be what you want Jon On Fri, 27 Mar 2020 at 20:14, Paul Higgins phiggins-99@users.sourceforge.net wrote: I should add that each blob is a jpg in a file. How to INSERT 100's of blobs https://sourceforge.net/p/oorexx/discussion/408477/thread/978d52ec75/?limit=25#9700...