Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Newbie corner » The UPP looks good -> Opportunities to evolve to better support RPA & AI
The UPP looks good -> Opportunities to evolve to better support RPA & AI [message #61225] Thu, 12 December 2024 16:36 Go to next message
Scott_Huang is currently offline  Scott_Huang
Messages: 27
Registered: December 2024
Promising Member
Just found UPP, it look nice and very easy to follow up to create a small GUI quickly Smile
Will pay more time for it, thanks for develop and share this nice production to worldwide C++ developers!

[Updated on: Mon, 23 December 2024 05:56]

Report message to a moderator

Re: The UPP looks good [message #61238 is a reply to message #61225] Sat, 14 December 2024 17:06 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 656
Registered: March 2007
Contributor
Welcome aboard, Scott!
Re: The UPP looks good [message #61313 is a reply to message #61238] Mon, 23 December 2024 05:54 Go to previous messageGo to next message
Scott_Huang is currently offline  Scott_Huang
Messages: 27
Registered: December 2024
Promising Member
Thank you Lance.

U++ very good for rapid develop business/GUI tools, and owner claim below:
Quote:

U++ typical job is gargantuan engineering or bussiness application - applications with hunderds GUI dialogs that do stuff. We are more concerned how to develop / maintain such apps quickly and cheaply than about how fancy they look - as long as they are not TOO ugly


I think U++ owner/key members should pay some efforts to enhance for easy develop
RPA(robot process automation) programs.
That should be one of selling point to promote U++. That also normal requirements from business users for some repeatable human mimic jobs.
RPA mainly run under Windows since most of company/normal employees use Windows instead of Linux/Unix(which for server/backend)
1. How to easily control and get/set contents of external Window/dialog/key board/mouse/clipboard ...
2. Stable/easily scrap/get/post web page and export to Excel/csv
3. Stable & flexible control Excels, and then Word/PDF. (Most of business app would need deal with Excels as 1st priority)
4. Screen capture/text/graph/position identify and so on.
5. Repeat and retry in case have some errors, colorful logs.
6. U++ GUI would helpful to integrate above features into one single EXE. Or act as front end app for backend RPA web server.


Another potential area U++ may able dev
How to easily integrate with AI/ChatGPT/Bot ...

U++ is small & elegant, but QT much success from business view.
U++ need more selling points to attracting new users and get more businesses:)



Re: The UPP looks good [message #61318 is a reply to message #61313] Tue, 24 December 2024 16:43 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 656
Registered: March 2007
Contributor
Quote:

1. How to easily control and get/set contents of external Window/dialog/key board/mouse/clipboard ...
2. Stable/easily scrap/get/post web page and export to Excel/csv
3. Stable & flexible control Excels, and then Word/PDF. (Most of business app would need deal with Excels as 1st priority)
4. Screen capture/text/graph/position identify and so on.
5. Repeat and retry in case have some errors, colorful logs.
6. U++ GUI would helpful to integrate above features into one single EXE. Or act as front end app for backend RPA web server.


Not sure about #4, but the rest should all be doable. I remember Koldo has a package to work with excel. You likely can find it in UppHub/OfficeAutomation. U++ has built in support for csv and export to pdf file. We don't have builtin support to read pdf yet.



Re: The UPP looks good [message #61319 is a reply to message #61318] Tue, 24 December 2024 17:04 Go to previous messageGo to next message
Lance is currently offline  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 Go to previous messageGo to next message
Scott_Huang is currently offline  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 Smile
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 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 656
Registered: March 2007
Contributor
Hi Scott:

You will likely be the first domain expert in RPA among us Smile 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 Go to previous messageGo to next message
koldo is currently offline  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 #61352 is a reply to message #61339] Sun, 29 December 2024 16:16 Go to previous messageGo to next message
Scott_Huang is currently offline  Scott_Huang
Messages: 27
Registered: December 2024
Promising Member
Thank you all.

I use Automation Anywhere(company have license) and Power Automate Desktop(Microsoft) for "RPA", and it just small pieces of my jobs.
Would try U++ step by step in coming days.

Thanks again.

Regards,
Scott Huang
Re: The UPP looks good [message #61353 is a reply to message #61339] Sun, 29 December 2024 16:29 Go to previous messageGo to next message
Scott_Huang is currently offline  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 #61354 is a reply to message #61353] Sun, 29 December 2024 17:15 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3432
Registered: August 2008
Senior Veteran
Thank Scott

A very silly mistake... it's already fixed on GitHub.


Best regards
Iñaki
Re: The UPP looks good [message #61356 is a reply to message #61354] Mon, 30 December 2024 04:47 Go to previous messageGo to next message
Scott_Huang is currently offline  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 #61361 is a reply to message #61356] Tue, 31 December 2024 16:23 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3432
Registered: August 2008
Senior Veteran
Hi Scott

Currently, SysInfo_demo_cl, only in DEBUG mode, opens a text file with the notepad, checks that the notepad has been opened, types in some text, takes a screenshot of the notepad, and saves it as an image. I know it's not as complete an example as yours...


Best regards
Iñaki
Re: The UPP looks good [message #61367 is a reply to message #61361] Thu, 02 January 2025 05:52 Go to previous messageGo to next message
Scott_Huang is currently offline  Scott_Huang
Messages: 27
Registered: December 2024
Promising Member
Hi Koldo,

I know what you mentioned, and testing it before your reply.
As of usable "RPA", we need the red/bold highlighted feature enabled.
Or else, it would be partially work for some automation which no need heavily control 3rd party app UI.

Do U++ & SysInfo package(or some other lib) have this capability? Appreciate expert support. Thanks.

Regards,
Scott Huang
Re: The UPP looks good [message #61368 is a reply to message #61367] Thu, 02 January 2025 08:59 Go to previous messageGo to next message
koldo is currently offline  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 Go to previous messageGo to next message
Scott_Huang is currently offline  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++ Smile

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 Go to previous message
koldo is currently offline  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
Previous Topic: [Solved] SFTPBrowser example build failed
Next Topic: Buid methods enviroment variables
Goto Forum:
  


Current Time: Sat Apr 26 02:23:39 CEST 2025

Total time taken to generate the page: 0.01196 seconds