|
|
Home » Community » Newbie corner » The UPP looks good -> Opportunities to evolve to better support RPA & AI
|
|
|
|
Re: The UPP looks good [message #61319 is a reply to message #61318] |
Tue, 24 December 2024 17:04   |
Lance
Messages: 656 Registered: March 2007
|
Contributor |
|
|
It's recommended to quickly go through u++ Examples, References, and UppHub description/examples to get a brief idea what job can be done how they are approached in U++.
One thing U++ excels is package management. The way U++ organizes programs into assembly & packages is simple yet very powerful and convenient. If you need any domain-specific functionalities, you likely need some special library. You can then isolate/concentrate those functionalities into a package and publish it, so that you and other users can reuse it, test it and improve it.
As for user base expansion, it's a sad fact that u++ hasn't got the attention it deserves and it likely has lost the opportunity window as improvement in c++ makes certain, and will continue to make more, u++ traditional advantages less obvious/attractive.
It's very important for u++ to find new direction and area of selling to remain relevant.
[Updated on: Tue, 24 December 2024 17:05] Report message to a moderator
|
|
|
Re: The UPP looks good [message #61322 is a reply to message #61318] |
Wed, 25 December 2024 08:04   |
 |
Scott_Huang
Messages: 27 Registered: December 2024
|
Promising Member |
|
|
Hi Lance,
Thanks for your response.
Yeah, I do install most of UPPHUB lib and try their samples, including the Excel automation sample.
I should pay more time to familiar with U++, but to be frankly, the first glance is good 
And also no need worry about license like QT for business.
All the thing I mentioned before are features usually RPA app would provided:
how to easily mimic human action to control external app to do rule based repeatable jobs,
such as control(click/input/output keyboard/mouse) external window/dialog/web/db/excel/csv/PowerBI/log/email in&out/checking email box for specific title or body.
Easily control web, crawl, identify/click/input/output/get/post web components
screen capture/save/comparison, try to identity the picture info & position/location
add python script support if possible.
In short, remove some repeatable manual jobs in case you not able direct access back end data,
or that software/app developed by 3rd party department/company, you not able asking them add features easily.
You can imagine as small "replacement" of Automation Anywhere(developed by Java as I know. Top 1 RPA framework before) , or UiPath(Should be latest Top 1).
As for AI integration, may be provide chat interface, embedded some small/medium models if possible.
"AI" to control above RPA would be fancy.
Compile to web assembly also may be one of sell point.
And I agree with you that C++ can do most of things if you have enough experiences and time/$.
But people want to get a "solution" to easy their life, or else, they may be try to find out alt language/framework. Thanks.
Regards,
Scott Huang
[Updated on: Wed, 25 December 2024 08:15] Report message to a moderator
|
|
|
Re: The UPP looks good [message #61326 is a reply to message #61322] |
Wed, 25 December 2024 16:45   |
Lance
Messages: 656 Registered: March 2007
|
Contributor |
|
|
Hi Scott:
You will likely be the first domain expert in RPA among us So you will have to start the job. I am willing to participate and contribute if I can understand your material. With the driving of actual demand, parts in RPA package may be eventually recognized as rightfully belong to Upp::Core, CtrlCore, etc. And it will be more clear what additionally support from u++ that is not existing at the moment should be added.
As for python support, I am not sure if calling a python script with 'Sys' is good enough for you. Maybe you can take a look at it first.
BR,
Lance
[Updated on: Wed, 25 December 2024 16:45] Report message to a moderator
|
|
|
Re: The UPP looks good [message #61339 is a reply to message #61318] |
Fri, 27 December 2024 18:56   |
 |
koldo
Messages: 3432 Registered: August 2008
|
Senior Veteran |
|
|
Quote:I remember Koldo has a package to work with excel. You likely can find it in UppHub/OfficeAutomation.
In case they are useful, there are a number of packages on UppHub that deal with the subject:
- OfficeAutomation: It handles MS Office through "Ole Automation" so it requires MS Office to be previously installed in the computer. MS Word and Excel support are implemented
- Xlnt is a library for manipulating spreadsheets in memory and reading/writing them from/to XLSX files. No MS Office is required.
- SysInfo: It includes the possibility to move the mouse, simulate clicking its buttons, and also simulate clicking the keyboard.
They can be extended, upgraded, or reused.
Best regards
Iñaki
[Updated on: Fri, 27 December 2024 18:57] Report message to a moderator
|
|
|
|
Re: The UPP looks good [message #61353 is a reply to message #61339] |
Sun, 29 December 2024 16:29   |
 |
Scott_Huang
Messages: 27 Registered: December 2024
|
Promising Member |
|
|
Hi Koldo,
I try compile(MSVS22x64 Release) Xlnt_demo_cl.cpp, it who below errors.
Can you help to check and advise? Thanks.
C:\upp\UppHub\Xlnt\Xlnt/Xlnt.h (12): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\upp\UppHub\Xlnt\Xlnt/Xlnt.h (12): error C2143: syntax error: missing ',' before '&'
The temp solution is comment line 12 of function XlsxFill:
// SPDX-License-Identifier: Apache-2.0
// Copyright 2021 - 2024, the Anboto author and contributors
#ifndef _xlnt_h_
#define _xlnt_h_
#include <plugin/Xlnt/include/xlnt/xlnt.hpp>
namespace Upp {
String GetCell(int col, int row);
//void XlsxFill(xlnt::worksheet &ws, const Grid &g, bool removeEmpty);
}
#endif
Regards,
Scott Huang
[Updated on: Sun, 29 December 2024 16:35] Report message to a moderator
|
|
|
|
Re: The UPP looks good [message #61356 is a reply to message #61354] |
Mon, 30 December 2024 04:47   |
 |
Scott_Huang
Messages: 27 Registered: December 2024
|
Promising Member |
|
|
Hi Koldo,
Thanks for the quick fix.
I try review/try SysInfo_demo_cl/SysInfo_demo_gui/Functions4U_demo_cl again, it seems quite powerful.
Could you kindly please help to create a demo to show below features, especially for the red/bold items:
1. Launch an program, such as Windows default Calculator program. Ensure it opened by checking active program titles and so on.
2. Identify each button id/handler of the Calculator program, try get its button text to verify.
This step ensure U++/SysInfo able identify correct specific dialog components easily, and then perform next step click or input texts.
3. Mimic click button C to clear output fields firstly, and then click buttons by sequences to input 50*3-1+2= to get result
(yeah, we can send keyboard text as alt way, but here would like use click button way to test the "RPA" features,
or partial by click button, partial by send keyboard text)
4. Fetch result field text, such as get 151 back, verify the results.
5. Close Calculator program.
6. Capture each step before and after into pictures. (Just for testing)
7. Log each steps into files with timestamp as RPA audit purpose.
And this should be a very helpful demo to attracting new U++ users since enable them create "RPA" related programs in near future.
Thanks.
Regards,
Scott Huang
[Updated on: Mon, 30 December 2024 04:59] Report message to a moderator
|
|
|
|
|
Re: The UPP looks good [message #61368 is a reply to message #61367] |
Thu, 02 January 2025 08:59   |
 |
koldo
Messages: 3432 Registered: August 2008
|
Senior Veteran |
|
|
Hi Scott
I respond to you on each of the points:
1. Launch an program, such as Windows default Calculator program. Ensure it opened by checking active program titles and so on.
IMPLEMENTED
2. Identify each button id/handler of the Calculator program, try get its button text to verify.
This step ensure U++/SysInfo able identify correct specific dialog components easily, and then perform next step click or input texts.
DEPENDS ON THE SPECIFIC APPLICATION, BUT DOES NOT SEEM DIFFICULT
3. Mimic click button C to clear output fields firstly, and then click buttons by sequences to input 50*3-1+2= to get result
(yeah, we can send keyboard text as alt way, but here would like use click button way to test the "RPA" features,
or partial by click button, partial by send keyboard text)
IMPLEMENTED
4. Fetch result field text, such as get 151 back, verify the results.
DEPENDS ON THE SPECIFIC APPLICATION
5. Close Calculator program.
IMPLEMENTED
6. Capture each step before and after into pictures. (Just for testing)
IMPLEMENTED
7. Log each steps into files with timestamp as RPA audit purpose.
IMPLEMENTED
These issues depend very much on the application, it is easier in some applications than in others. In some cases OCR might be needed, and I don't know if it is readily available in U++.
Best regards
Iñaki
[Updated on: Thu, 02 January 2025 08:59] Report message to a moderator
|
|
|
Re: The UPP looks good [message #61379 is a reply to message #61368] |
Fri, 03 January 2025 04:09   |
 |
Scott_Huang
Messages: 27 Registered: December 2024
|
Promising Member |
|
|
Hi Koldo,
Happy New Year!
The specific program of demo is Win11 default "Calculator"
As for OCR, "RPA" usually also provide this feature.
For example to compare target destination rect image with pre-captured rect image, and click that button if find it is same/similar.
That is less recommended way, aka low priority due to stability less than if able get that button handler and direct send click action to that button directly.
Identify button/component handler some kinds of like web crawler to locate an web page Id and send action to it.
(Btw, Playwright is very nice framework for web testing/automation, it provide Node.js/Python/Java/.Net binding, but without C++ binding. I use C# to develop console app to mimic human action to login web page with user name/pass, handle pop up dialog, select/input conditions, click button to export reports, screen capture when errors, add audit log, save results, zip result, copy/move to destination folders ...)
Do I missing the attachment since you mention "IMPLEMENTED" in last post.
Appreciate if you could provide demo source code for how to control this specific simple Calculator app from step 1 to step 7.
It would be very helpful to demonstrate U++ & SysInfo capability and educate newbies with new knowledge, encourage them to embrace U++
And it is OK to ignore this asking if need lots of time to use U++ to implement this demo. Thanks.
Btw, RPA software Automation Anywhere can complete much more complex jobs that above simple demo. Thanks.
Regards,
Scott Huang
|
|
|
Re: The UPP looks good [message #61381 is a reply to message #61379] |
Fri, 03 January 2025 08:51  |
 |
koldo
Messages: 3432 Registered: August 2008
|
Senior Veteran |
|
|
Dear Scott
I believe that the basic functionalities are already implemented, i.e. they are available for a programmer to use in a specific project.
I invite you to implement them yourself. If you have any problem, we will try to answer you as best as possible in this forum.
Best regards
Iñaki
|
|
|
Goto Forum:
Current Time: Sat Apr 26 08:40:52 CEST 2025
Total time taken to generate the page: 0.02943 seconds
|
|
|