Re: [Oorexx-devel] Windows ooRexx way to GetLongPathName
In addition to the answer of Gil, you can have a look at this script which uses GCI to call GetLongPathName : https://gist.github.com/jlfaucher/78b32211790b7a752290 It works with Regina 32 bits and ooRexx 32 bits. It works also with ooRexx 64 bits, but you will need to build GCI 64 bits from the sources of the version 1.1. The procedure is described at the end of the script, there are 2 modifications to apply to the sources. Not working with Regina 64 bits, but I think it will if the change for GCI_STACK_ELEMENT is applied to gci_convert.win64.vc Jean-Louis 2015-07-08 16:26 GMT+02:00 Gil Barmwater gbarmwa...@alum.rpi.edu: Thanks Erich! I had no idea Mark was working on this so this is good news. Because of the lack of 64-bit support in Rexx GCI, I really wanted to try to do a DLL that would implement the GCI functions I had written. That DLL could then be compiled for 64- as well as 32-bit versions of ooRexx. But it appears that what Mark has implemented is so much more than the small piece of the Windows console API that I had needed to do colored text/background. The bad news is that there is no documentation :-( ! So it will take a lot of study of the code and its comments in order to figure it out and, eventually, write the docs. I can't promise that I can do that for 5.0.0 but I'll start looking at it as I have time. At least I have some familiarity with the Windows API which is probably a (small) step ahead of anyone else that might tackle this. But there will surely be questions when I look at the *ix side as I have no expertise there. On 7/8/2015 9:59 AM, Erich Steinböck wrote: I used it to do colored text in a console window Gil, there's Mark's new ooConsole package in the incubator ( https://sourceforge.net/p/oorexx/code-0/HEAD/tree/incubator/ooConsole/). It might be a candidate for inclusion in 5.0 *ooConsole is an ooRexx extension package that provides access to the Windows console API.* I can't tell whether it's ready for release, as the binaries have yet to be built. There also seems to be no documentation yet. If you're interested, you might want to check it out and help bring it into 5.0 Erich On Wed, Jul 8, 2015 at 2:49 PM, Gil Barmwater gbarmwa...@alum.rpi.edu wrote: Hi Michael, Perhaps you are referring to the Rexx GCI package which can be obtained from http://sourceforge.net/projects/rexx-gci/ . The GCI package is used to access the Windows APIs. I used it to do colored text in a console window. It is, however, only available for 32 bit (oo)Rexx . HTH, On 7/8/2015 5:34 AM, Michael Lueck wrote: Greetings again, Michael Lueck wrote: I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. I recalled some Rexx project with aim to bridge over to the vast majority of DLL API's without having to special develop/compile an interface in a Rexx DLL to said DLL API. Perhaps that would be a more convenient way to obtain access to GetLongPathName and GetShortPathName Windows API's. Can someone recall what project it is that came to mind? I am thankful, -- Gil Barmwater -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today.https://www.gigenetcloud.com/ ___ Oorexx-devel mailing listOorexx-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list
Re: [Oorexx-devel] Windows ooRexx way to GetLongPathName
Greetings again, Michael Lueck wrote: I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. I recalled some Rexx project with aim to bridge over to the vast majority of DLL API's without having to special develop/compile an interface in a Rexx DLL to said DLL API. Perhaps that would be a more convenient way to obtain access to GetLongPathName and GetShortPathName Windows API's. Can someone recall what project it is that came to mind? I am thankful, -- Michael Lueck Lueck Data Systems http://www.lueckdatasystems.com/ -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Windows ooRexx way to GetLongPathName
Hi Michael, Perhaps you are referring to the Rexx GCI package which can be obtained from http://sourceforge.net/projects/rexx-gci/ . The GCI package is used to access the Windows APIs. I used it to do colored text in a console window. It is, however, only available for 32 bit (oo)Rexx . HTH, On 7/8/2015 5:34 AM, Michael Lueck wrote: Greetings again, Michael Lueck wrote: I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. I recalled some Rexx project with aim to bridge over to the vast majority of DLL API's without having to special develop/compile an interface in a Rexx DLL to said DLL API. Perhaps that would be a more convenient way to obtain access to GetLongPathName and GetShortPathName Windows API's. Can someone recall what project it is that came to mind? I am thankful, -- Gil Barmwater -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Windows ooRexx way to GetLongPathName
I used it to do colored text in a console window Gil, there's Mark's new ooConsole package in the incubator ( https://sourceforge.net/p/oorexx/code-0/HEAD/tree/incubator/ooConsole/). It might be a candidate for inclusion in 5.0 *ooConsole is an ooRexx extension package that provides access to the Windows console API.* I can't tell whether it's ready for release, as the binaries have yet to be built. There also seems to be no documentation yet. If you're interested, you might want to check it out and help bring it into 5.0 Erich On Wed, Jul 8, 2015 at 2:49 PM, Gil Barmwater gbarmwa...@alum.rpi.edu wrote: Hi Michael, Perhaps you are referring to the Rexx GCI package which can be obtained from http://sourceforge.net/projects/rexx-gci/ . The GCI package is used to access the Windows APIs. I used it to do colored text in a console window. It is, however, only available for 32 bit (oo)Rexx . HTH, On 7/8/2015 5:34 AM, Michael Lueck wrote: Greetings again, Michael Lueck wrote: I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. I recalled some Rexx project with aim to bridge over to the vast majority of DLL API's without having to special develop/compile an interface in a Rexx DLL to said DLL API. Perhaps that would be a more convenient way to obtain access to GetLongPathName and GetShortPathName Windows API's. Can someone recall what project it is that came to mind? I am thankful, -- Gil Barmwater -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
Re: [Oorexx-devel] Windows ooRexx way to GetLongPathName
Thanks Erich! I had no idea Mark was working on this so this is good news. Because of the lack of 64-bit support in Rexx GCI, I really wanted to try to do a DLL that would implement the GCI functions I had written. That DLL could then be compiled for 64- as well as 32-bit versions of ooRexx. But it appears that what Mark has implemented is so much more than the small piece of the Windows console API that I had needed to do colored text/background. The bad news is that there is no documentation :-( ! So it will take a lot of study of the code and its comments in order to figure it out and, eventually, write the docs. I can't promise that I can do that for 5.0.0 but I'll start looking at it as I have time. At least I have some familiarity with the Windows API which is probably a (small) step ahead of anyone else that might tackle this. But there will surely be questions when I look at the *ix side as I have no expertise there. On 7/8/2015 9:59 AM, Erich Steinböck wrote: I used it to do colored text in a console window Gil, there's Mark's new ooConsole package in the incubator (https://sourceforge.net/p/oorexx/code-0/HEAD/tree/incubator/ooConsole/). It might be a candidate for inclusion in 5.0 /ooConsole is an ooRexx extension package that provides access to the Windows console API./ I can't tell whether it's ready for release, as the binaries have yet to be built. There also seems to be no documentation yet. If you're interested, you might want to check it out and help bring it into 5.0 Erich On Wed, Jul 8, 2015 at 2:49 PM, Gil Barmwater gbarmwa...@alum.rpi.edu mailto:gbarmwa...@alum.rpi.edu wrote: Hi Michael, Perhaps you are referring to the Rexx GCI package which can be obtained from http://sourceforge.net/projects/rexx-gci/ . The GCI package is used to access the Windows APIs. I used it to do colored text in a console window. It is, however, only available for 32 bit (oo)Rexx . HTH, On 7/8/2015 5:34 AM, Michael Lueck wrote: Greetings again, Michael Lueck wrote: I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. I recalled some Rexx project with aim to bridge over to the vast majority of DLL API's without having to special develop/compile an interface in a Rexx DLL to said DLL API. Perhaps that would be a more convenient way to obtain access to GetLongPathName and GetShortPathName Windows API's. Can someone recall what project it is that came to mind? I am thankful, -- Gil Barmwater -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net mailto:Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel -- Gil Barmwater -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
[Oorexx-devel] Windows ooRexx way to GetLongPathName
Greetings, I have been using the Stream class to assist in fully qualifying filespec portions within my class library, as follows: /* Use the Object Rexx stream object / qualify method to do as much work as we can get it to do... */ FINDstream = .stream~new(FINDfilenamequery) FINDfilename = FINDstream~qualify drop FINDstream I am noticing that the Stream class qualify method does not perform the Windows API GetLongPathName as I am still left with a full path with ~ characters in it... the short version of Long Filename objects within the full path string. What would a convenient place be to wrap Windows API's GetLongPathName and GetShortPathName be? Bare functions to RexxUtil? Additional methods of the Stream class? I suspect this is what the qualify method of the Stream class is doing: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx GetFullPathName does not convert the specified file name, lpFileName. If the specified file name exists, you can use GetLongPathName or GetShortPathName to convert to long or short path names, respectively. Now from what I recall, I do not believe ~qualify requires the object to exist, it is just very handy to convert filespecs such as C:myfile.txt to the full path of the current working directory of the C: drive and including that in the output. It is also good for being able to resolve relative pathing, such as ..\..\myotherfile.txt Oh, or are they already wrapped and exposed to ooRexx and I just do not realize it? Unfortunately I no longer am able to compile ooRexx on Windows as the compiler requirements are beyond MSVC++ v6, the last version of MS's compiler I have access to. So I would need to follow the RFE process rather than being able to contribute a patch like I have done in the past. Open to suggestions. I am thankful, -- Michael Lueck Lueck Data Systems http://www.lueckdatasystems.com/ -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel