Pascal, The Powerful & Underestimated Programming Language

Discuss other programming languages besides AutoHotkey
SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 25 Oct 2018, 05:30

Interestingly, many assume that Pascal is a dead or outdated language, when that is very much not the case. It's alive and well. An easier to understand language with many benefits.

Object Pascal, Lazarus, Tutorials, & Info

https://www.lazarus-ide.org/ (Lazarus IDE)
https://www.freepascal.org/ (Free Pascal Compiler)
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases (fpcupdeluxe installer for Lazarus IDE and Free Pascal Compiler)
https://youtu.be/6jJ1FNfLwuU (Lazarus and Free Pascal Installation Guide; YouTube Video)
ftp://ftp.freepascal.org/fpc/docs-pdf/ref.pdf (Free Pascal Reference Guide)
https://castle-engine.io/modern_pascal_introduction.html (Modern Object Pascal Introduction for Programmers)
https://www.youtube.com/watch?v=0VPvQ_dXMhw&list=PLB24C56953A79987A (SchoolFreeware Program/Console Pascal YouTube Tutorial)
https://www.youtube.com/watch?v=7PuvsyLapgw&list=PL0BE41D3CA142028F&index=1 (SchoolFreeware App/GUI Pascal YouTube Tutorial)
http://www.schoolfreeware.com/Free_Pascal_Lazarus_App_GUI_Tutorials_With_Example_Code.html (SchoolFreeware/Demo Files Location)
https://www.devstructor.com/index.php?page=tutorials (Devstructor YouTube Tutorials and Demo Files)
https://www.youtube.com/watch?v=8maOxNc0Aio&list=PLdVESrjTNUXtU8zclRh9ovhstzWQAY05U (Swinburne - Pascal on YouTube)
https://commons.swinburne.edu.au/searching.do(Swinburne Demo Files - Search for, "Introduction to Programming in Pascal")
https://awesomeopensource.com/projects/pascal (Pascal Tools/Projects)
http://docs.villavu.com/simba/referencescript.html (Simba; Automation)
https://github.com/MerlijnWajer/Simba/releases (Simba, original on GitHub)
https://github.com/ollydev/Simba/releases (Simba, newer fork on GitHub)
https://github.com/jasc2v8/WinAutoKey (Pascal Automation; WinAutoKey)

Delphi Flavor of Object Pascal Tutorials & Info

https://www.youtube.com/user/MrLongEducation/videos (Mr Long IT & CAT - Many Delphi YouTube Videos)
https://www.youtube.com/channel/UCFZxawRN6quppxog_L0LjNg/videos (LearnDelphi - YouTube Videos)
https://youtu.be/XMj8RlJO-zQ (Installing Delphi Community Edition Video)
Last edited by SOTE on 06 May 2021, 22:32, edited 19 times in total.

User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Pascal, The Powerful & Underestimated Programming Language

Post by jeeswg » 25 Oct 2018, 18:32

What is your view on Delphi? Thanks.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA

burque505
Posts: 1493
Joined: 22 Jan 2017, 19:37

Re: Pascal, The Powerful & Underestimated Programming Language

Post by burque505 » 25 Oct 2018, 18:53

Hmm, I was just running a few Delphi scripts when I saw this, jeeswg. I'm using pdscript, a Pascal interpreter which is pretty impressive. It has many sample scripts with the download, it's free, and it'll do a large percentage of what Delphi or Lazarus can do. It has an IDE too, but it's not free.

Personally I like Delphi, not because of the syntax, although it's familiar, but because the executables it creates are small and fast.
Here's a small script cloned from one of the examples that runs AHK via pdscript. It takes 3 scripts, ShellExecDemoAHK2.dpas, ShellExec.dfm, and a one-liner AHK script that shows a MsgBox with a variable passed to it from pdscript.

I'd be interested to hear what others think of pdscript and Delphi/Lazarus too. And SOTE, thanks for those helpful links.

Regards,
burque505
Attachments
PDScript with AHK demo.zip
(1.46 KiB) Downloaded 207 times

User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Pascal, The Powerful & Underestimated Programming Language

Post by jeeswg » 25 Oct 2018, 19:05

- Thanks for the info. I may need to learn Delphi at some point. So, any good tutorials/resources on Delphi or relevant areas of Pascal would be most welcome, thanks.

- I think the confusion between Pascal/Delphi etc is a big obstacle to their wider use. I've found it hard to get reliable or simple/useful info on this.
- Similarly, I looked for C v. C++ on YouTube, through about 20 videos, and every video was poor.
- The best response would be something like: 'I've used both for x months/years, and some general tidbits/differences between the two are: ...'
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 25 Oct 2018, 20:19

jeeswg wrote:
25 Oct 2018, 18:32
What is your view on Delphi? Thanks.
The issue with Delphi is the Pascal language is much bigger than just that name. However, Borland Delphi was at one time so famous, that Delphi became synonymous with or replaced Pascal in the public space and minds of many. So when Borland, as a company died, many thought Pascal died with it. But what happened in the background, was the development of Lazarus, the Free Pascal Compiler, and Object Pascal.

Delphi is really just an IDE, that used a dialect of Object Pascal for the commercial purposes of Borland. Now, Delphi is owned by Embarcadero. And until recently, Delphi was so expensive that it was only developers with deep pockets or companies that could afford it. Luckily, Embarcadero has become more sensible and you can get a free community version of Delphi. Of course there is a bit of a catch, once your total sales revenue for created applications reaches US $5,000, or your team expands to more than 5 developers, you are expected to get the Professional Edition of Delphi.

https://www.embarcadero.com/products/delphi/starter (Delphi Community Edition)

This makes Embarcadero Delphi Community Edition a direct competitor to Microsoft Visual Studio Community in many ways, though not exactly. As obviously, most know Microsoft, while likely to not heard of Embarcadero. Though Delphi (Pascal) does have some advantages, in terms of being able to make cross-platform applications for multiple OSes. Windows, Linux, Macs, Android, and iOS... While .NET is still a bit of a mess and is unlikely to become truly cross-platform anytime short of the next 5 years (or maybe longer). Lazarus (open source) and Delphi Community Edition are here now.

Delphi is definitely an option, particularly if someone has any aspirations to program professionally. There appears to still be a market for Delphi (and Object Pascal) developers. Likely many hobbyists would use Lazarus, though I don't see any harm in downloading both IDEs. The switch between using Lazarus and Delphi is relatively minor, as long as you know Pascal.
Last edited by SOTE on 08 Sep 2019, 10:48, edited 2 times in total.

User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Pascal, The Powerful & Underestimated Programming Language

Post by jeeswg » 25 Oct 2018, 20:32

Great summary, thanks.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 05 Sep 2019, 06:11

After playing with Embarcadero Delphi Community Edition and looking at how that company has handled Delphi (some say mishandled), I do think their strategy is highly flawed. With many companies, their greed has gotten in the way, where they "can't see the forest from the trees". Delphi is still a very good product, that allows for cross-platform application development. But it's way, way too expensive for a lot of the potential users. Particularly for the young, hobbyist, and independent software developers. This means Embarcadero has been "locking out" new developers and a bigger core base. This is why many think Delphi has died, and by incorrect association, think Pascal has died along with it. Key point is that Delphi and Pascal/Object Pascal aren't the same thing.

For example, depending on which software product, Delphi can cost from around $1,500 to $3,000 dollars (and up depending on options). While a decent sized company with multiple developers can handle such an expense, most young individuals can't or won't pay such a cost. Especially when they can freely download the Lazarus IDE (Free Pascal), which can also import Delphi projects. Though not as capable as Delphi, still quite good. With its only truly glaring weakness is lacking support for building apps on iOS/iPhones (though it can do macOS and Android).

If Embarcadero had done their math properly and not been so greedy. The Delphi Community Edition should remain free as long as total sales revenue for created applications doesn't reach at least $10,000 dollars, not $5,000 dollars. Taxes often eat around 30% of sales revenue. Which could leave $7,000 or so left. And depending on which Delphi product and the reseller they get it from, they could be laying out $2,000 dollars or so. You at least leave the independent software developer with some money in their pocket. With the limit being $5,000 dollars, after 30% cut by taxes, that's $3,500 left. Which will be eaten up significantly paying for Delphi.

And the amount of developers should arguably have been lowered to 3, instead of 5. It's probably too late to change that now, but some more thought should have been done. Because a company that can afford at least 3 software developers, is one that has some money. Programmers/Developers salaries are at least $85,000 US dollars (can be much higher depending on area and experience). Multiply that by 3 (or 5), and that company should be able to handle buying Delphi. Where that's not the case for young people that haven't graduated from high school or college, or non/wannabe programmers looking to get started that aren't making that kind of salary.

Embarcadero should be better at math, more practical, and less blinded by greediness. In addition the list of competitive programming languages and their abilities is rapidly increasing. There is Swift by Apple (slowly gaining a foothold in Windows), Dart by Google (used in Flutter and possibly their replacement OS for Android), Red, C# going cross-platform by Microsoft (and thanks to Xamarin), various new JavaScript solutions, etc... And the Lazarus IDE and Free Pascal keep slowly getting better. All these solutions are mostly free and/or open-source.

The Delphi Community Edition was definitely a step in the right direction (though it came out a bit late in the game), but if Delphi and Embarcadero want to stay relevant, they need to improve the terms of usage even more, to grow a bigger base of users.

Update:

If your Community Edition license expires (1 year), you will have to uninstall, download a new version, then install that. Which will give you another 1 year license. There might also be some hacks to continue using the existing version past 1 year, but uninstall and re-install updated version is simple enough.

Delphi Community Edition's revenue restrictions do have some enforcement gray areas, that I have seen some debates about. Particularly for free software where the author gets donations, as how Embarcadero can track such is not clear. However, as Lazarus has no such restrictions, not sure why a Pascal programmer would want to go down that road for Windows, Linux, or Mac.

Delphi Community Edition doesn't have support for Linux (yet), though Delphi RAD (paid version) does. Not clear when it will or if it will ever be added to the Community Edition. Lazarus IDE w/ Free Pascal does support Linux. These IDEs have varying levels of support and cross-compiling capability for different OSes, along with their slightly different flavors of Object Pascal.
Last edited by SOTE on 20 Dec 2019, 07:49, edited 3 times in total.

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 15 Dec 2019, 14:24

Added info (see 1st post) from Swinburne University's course on "Introduction to Programming in Pascal", both website location containing demo files and YouTube channel.

Added info (see 1st post) on fpcupdeluxe, special installer for Lazarus IDE and Free Pascal Installer.

Added info (see 1st post) YouTube Video of Installation Guide for Lazarus IDE and Free Pascal Installer.

burque505
Posts: 1493
Joined: 22 Jan 2017, 19:37

Re: Pascal, The Powerful & Underestimated Programming Language

Post by burque505 » 15 Dec 2019, 15:30

@SOTE, thanks for the new links.
Regards,
burque505

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 16 Dec 2019, 15:26

burque505 wrote:
15 Dec 2019, 15:30
@SOTE, thanks for the new links.
Regards,
burque505
You are welcome. Object Pascal can be a powerful supplement to AutoHotkey and Windows. Whatever one can't do, the other often can do. Together, they are a great 1-2 punch in terms of ease in understanding, highly portable tools, and small executables. Though sometimes you will have to do some digging and researching to figure things out, as the languages will do things differently, it's definitely worth it.

BNOLI
Posts: 548
Joined: 23 Mar 2020, 03:55

Re: Pascal, The Powerful & Underestimated Programming Language

Post by BNOLI » 08 Apr 2020, 05:28

I remember (in the aftermath of Win3.11) a few 16bit afficionados :beard: created "Calmira" that was based on Delphi1 and mimicked Win95: http://www.calmira.de/ :wtf: :lolno: :eh:
Delphi1 was once bundled with a German PC Magazine at that time :lol: and I can say any delphi applications 'Close"-button (that, for whatever reason, was additionaly labled with an 'open door' icon)* made me shiver bc it was so damn ugly :sick:
Later Borland's Intra Builder was available as part of bundeled Software packages from Pearl (www.pearl.de) for about 10€ :silent:

https://www.drdobbs.com/borlands-intrabuilder-10/184415559

Image
Remember to use [code]CODE[/code]-tags for your multi-line scripts. Stay safe, stay inside, and remember washing your hands for 20 sec !

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 11 Apr 2020, 16:09

BNOLI wrote:
08 Apr 2020, 05:28
I remember (in the aftermath of Win3.11) a few 16bit afficionados :beard: created "Calmira" that was based on Delphi1 and mimicked Win95: http://www.calmira.de/ :wtf: :lolno: :eh:
Delphi1 was once bundled with a German PC Magazine at that time :lol: and I can say any delphi applications 'Close"-button (that, for whatever reason, was additionaly labled with an 'open door' icon)* made me shiver bc it was so damn ugly :sick:
Later Borland's Intra Builder was available as part of bundeled Software packages from Pearl for about 10€ :silent:

https://www.drdobbs.com/borlands-intrabuilder-10/184415559
Calmira is an old program to make Windows 3.1 look more like Windows 95. I'm not quite sure why people would be so addicted to Windows 3.1, but that became the case with Windows XP as well. Some people would get hooked on the OS or be very nostalgic about it. I look at as people having fun.

Delphi and Free Pascal/Lazarus are light years ahead of Delphi 1. Not to mention there are many dialects of Object Pascal (Oxygene, PascalABC.NET, DWScript, etc...), both free and commercial. Those old buttons are artifacts of long ago. But another point about Pascal/Object Pascal, is if you really wanted to, you can write your own OS with it. You could have written Windows 3.1 or a clone in Pascal/Object Pascal. For example, the classical MAC OS was written in Pascal. Nearly anything that can be done with C/C++, can be done with Pascal/Object Pascal.

Some samples of going closer to the metal with Pascal/Object Pascal- Ultibo (https://ultibo.org/), SteamOS (https://store.steampowered.com/steamos/), FPOS (Free Pascal Operating System- https://github.com/rezgui/fpos).

Embarcadero took over from Borland, and owns Delphi and their other products. In a nutshell, looks like the executives at Borland cashed out for a big payday from Embarcadero. Most of them are probably relaxing on a beach or in a beach house somewhere.

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 05 May 2021, 16:48

burque505 wrote:
25 Oct 2018, 18:53
...I'm using pdscript, a Pascal interpreter which is pretty impressive...
Something that slipped my mind to mention back then, is that there is an open-source project called Simba that has an editor/IDE which uses Lape (a variant of Pascal Script) and the same Pascal Script used by pdScript. Simba, which is used for automation (primarily gaming) is somewhat comparable to AutoHotkey and AutoIt (http://docs.villavu.com/simba/referencescript.html). It's a kind of interesting eccentric offshoot from the "proper/standard" Object Pascal language. With Simba, help is more sporadic, development is less up to date, and things tend to be spread out a bit sloppily over different websites. But, definitely worth a look and the project has been around for quite a while, and a person can usually find a lot if they look hard enough.

It has versions that work on both Windows and Linux (https://github.com/MerlijnWajer/Simba/releases).
Newer Simba fork, by Ollydev, (https://github.com/ollydev/Simba/releases). Also on macOS.

For clarification on what using the editor/IDE of Simba is like, it's somewhat comparable to using AHK-Studio or AutoGUI, but with Pascal Script. For any high level help or questions on it, better to go here for that- (https://villavu.com/forum/forum.php).

Something of additional interest from the Simba project is it has a .dll that provides a lot of functionality. Oddly, it's called libMML (and not obviously placed on their GitHub). Info on it is below:

1) libMML info
http://docs.villavu.com/simba/libmml/intro.html#why-libmml

2) libMML download
http://nala.villavu.com/downloads/master/3ea7d14d3523f033f8d57ba4385f8b7ca6390863/
Last edited by SOTE on 06 May 2021, 18:41, edited 5 times in total.

burque505
Posts: 1493
Joined: 22 Jan 2017, 19:37

Re: Pascal, The Powerful & Underestimated Programming Language

Post by burque505 » 05 May 2021, 17:27

Thanks, @SOTE, just downloaded to experiment. And thanks for jogging my brain about pdScript, I had completely forgotten about it.
Regards,
burque505

burque505
Posts: 1493
Joined: 22 Jan 2017, 19:37

Re: Pascal, The Powerful & Underestimated Programming Language

Post by burque505 » 06 May 2021, 13:47

@SOTE, have you by chance found a way to make Simba run a program such as Notepad.exe? I have tried find a ShellExecute-type command but haven't had any luck. That seems like such a basic thing to have that I must just be missing it somehow.
Regards,
burque505

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 06 May 2021, 18:09

burque505 wrote:
06 May 2021, 13:47
@SOTE, have you by chance found a way to make Simba run a program such as Notepad.exe?
No worries Burque505. This response will be in multiple parts, as Simba and that community can arguably be considered a tad bit quirky or eccentric (in my opinion). Don't mean anything bad by it, just that things are put out there in a way in which it's expected or assumed people would know Object Pascal or Delphi, versus start from scratch/zero or are extremely gamer or bot centric as opposed to might be interested in automation in general (outside of gaming) or using Simba as an editor/IDE for more general purposes.

1) Using Simba to launch other programs examples. In one case we are using the command line with TProcess.

Simba 1.3 RC2

Code: Select all

program Launch;
Var
  CmdName : String;
  AProcess : TProcess;

begin
  CmdName := 'Notepad';
  AProcess.Init(nil);
  AProcess.SetCommandline(CmdName);
  AProcess.SetOptions([poUsePipes, poNoConsole]);
  AProcess.Execute;
  AProcess.Free;
end. 
Simba 1.4 (fork)
Note- Listed under Process functions

Code: Select all

program Launch;
begin
   RunCommand('Notepad');
end.
2) Simba uses Lape (a variant of Pascal Script) and Pascal Script (originally from RemObjects who makes the payware Object Pascal IDE named Oxygene).

Lape, more recently, is used by the newer forks. Lape pretty much comes from the Free Pascal/Lazarus flavor of Object Pascal. So knowing Free Pascal and using their references are helpful. Places to look for example: A) https://www.freepascal.org/docs-html/fcl/process/tprocess.html, https://wiki.freepascal.org/Executing_External_Programs#TProcess, or B) download documents... https://www.freepascal.org/down/docs/docs-canada.var.

However, Lape only uses a subset of Free Pascal's long list of functions, then makes some syntax changes. So what would be AProcess.Options in Free Pascal, would be AProcess.SetOptions in Lape.

3) Simba's IDE side bar does not list all the functions that Lape has in it's subset and is capable of.

Example, you can dynamically create forms (TForm) using Simba, but the user may not be aware of such. Note- Even Free Pascal or Delphi users might not know, because they usually use the IDE for GUI creation and not code it by hand. Since AHKers do what's call dynamic form generation too, it can actually be more familiar. This type of thing is discussed on the Simba forums, but would not be obvious to beginners.

Code: Select all

var
  mainForm: TForm;

procedure Doform;
begin
  mainForm.init(nil);
  with mainForm do
  begin
    setWidth(546);
    setHeight(200);
    setCaption('Hello World');
    setPosition(poScreenCenter);
  end;
  mainForm.showModal();
  mainForm.free();
end;

begin
   sync(@Doform);
end. 
4) Simba can show a different list of functions (on the left side) between versions.

So on the Simba forums or videos, functions or scripts that they show or are referring to can be for earlier/older versions, which can cause confusion for newbies in regards to later versions or what scripts can be used with present versions. However, don't let that deter you, just have to find out the latest way to do something or experiment.

Simba 0.98 (old)

Code: Select all

program MousePlay;

var
  x, y : integer;

begin
  FindColor(x, y, 13917958, 0, 0, 1919, 1439);
  ShowMessage(IntToStr(x) + ':' + IntToStr(y));
  MMouse(x, y, 0, 0, False);
end. 
Simba 1.4 (fork)

Code: Select all

program MousePlay;

var
  x, y : integer;

begin
  FindColor(x, y, 13917958, 0, 0, 1919, 1439);
  ShowMessage(IntToStr(x) + ':' + IntToStr(y));
  MoveMouse(x,y);
end.   
5) To get an idea of what Simba and Lape can do can require becoming a member of the Simba forums or downloading the Simba source files.

A) To become a member at https://villavu.com/forum/forum.php, because that's the only way you will be able to download sample scripts or ask questions.

Note- Keep in mind that comparatively to here, the Simba forum's focus can be oddly limited, because it's so very gamer/bot centric. So to get additional benefits will require a lot of experimenting and studying on your own, particularly Pascal, Lape, and sample scripts. This can be because the gamers might not understand or be interested in your use cases. But, you never know. There are some high level programmers floating around there, not just into gaming or bots.

B) Maybe download the source of Simba from GitHub (https://github.com/MerlijnWajer/Simba/releases/tag/simba-1.3-rc2, or the 1.4 fork). In Simba 1.3 rc2- "MMLAddon\imports\classes\LCL\lplclprocess.pas" or in Simba 1.4- "imports\classes\LCL\simba.-script_import_lclprocess.pas" . In general, snooping around won't hurt.

Yes, this will be a bit of a learning curve and information doesn't come so easily, but there are benefits down the road.

6) YouTube Example Of Simba In Action

Note 1- From the tutorials, you can see how Simba can be used more broadly in automation and RPA/RDA

Note 2- Useful, but a bit oldish (refers to 0.98 version of Simba), so various things and functions have changed. But from tutorial 3 and up, will give an idea of the language and how to do things. When looking at the functions on the left side of Simba, one can look them up with the pdf or at the online help for details.

Simba Tutorials, 1 of 10, by Thomas Augood

https://www.youtube.com/watch?v=OUEYS1JTWlA&list=PL277250BBFD007CB4&index=1

7) Simba documentation as a PDF

This appears a bit hard to come by. Attached is Simba documentation pdf, though a bit oldish (1.0), but can be more convenient than referring to the website (http://docs.villavu.com/simba/index.html, and they are a bit newer at 1.2) for some things. If I find a newer 1.3 or 1.4 documentation pdf or link, then will put that up.
Attachments
Simba_1.0.pdf
(378.65 KiB) Downloaded 4 times
Last edited by SOTE on 08 May 2021, 13:23, edited 1 time in total.

burque505
Posts: 1493
Joined: 22 Jan 2017, 19:37

Re: Pascal, The Powerful & Underestimated Programming Language

Post by burque505 » 07 May 2021, 07:36

@SOTE, I can't thank you enough. That's more information by an order of magnitude (or more) than I got by spending an hour digging through the forum, the online documentation and Google searches. Your post here should be pinned on the Simba forum, IMHO. So someone else who reads this post might have a little easier access to it, I'm attaching the docs for 1.2 as a PDF (which appeared on my machine somehow during my frenzied search for info. :D Maybe they got installed).

Learning about Packages (1.4 only???) and Extensions will be my next hurdle. The option to enable Extensions from the View menu is missing in 1.4, 1.3 and 1.2, at least in 64-bit versions, the only ones I've tried so far. I'll go through all the information you've provided first before I ask about this, though.

I don't see why Simba couldn't be used for RPA with the addition of Chrome and Firefox extensions and the ability to execute JS in a browser. It seems like the underpinnings for most usually RPA functionality are already there. I know Lazarus has support for ActiveX/COM so functions for Word, Excel, Outlook and PowerPoint shouldn't be that much of a problem to implement.

Regards,
burque505
Attachments
Simba.pdf
(433.26 KiB) Downloaded 5 times

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 07 May 2021, 09:45

burque505 wrote:
07 May 2021, 07:36
...I'm attaching the docs for 1.2 as a PDF (which appeared on my machine somehow during my frenzied search for info. :D Maybe they got installed).
That's another great example of how more eyes on something is better. At the moment, don't know why I didn't see the 1.2 pdf. Was thinking it weird the online version was at 1.2, so wondering where was the 1.2 pdf. Though on their part, they could of made an obvious working download link somewhere. My best guess is that because I'm using the 32 bit versions, not blessed with the pdf. Maybe that comes with the 64 bit.

Definitely in this world with increasing RPA/RDA, a tool like Simba is underutilized and overlooked. A shame for it to be left in only the gaming/botting corner. Automation, RPA, and AI are where it's at. A virtual Wild West of opportunity.

SOTE
Posts: 1267
Joined: 15 Jun 2015, 06:21

Re: Pascal, The Powerful & Underestimated Programming Language

Post by SOTE » 08 May 2021, 13:15

Below is some more additional newbie help which is not so gamer centric, that can help with using the Simba IDE for general automation purposes.

1) Ctrl Space - to see all types or functions that Simba has

2) (Type letter or word) + Ctrl + Space - will give types and functions with that letter or name.

Example, if you typed "Move" and then want to see what functions start with that.

3) (Object or Type). - after typing the "." (dot), wait a few seconds then a list of properties and methods (functions) will show up.

Example, if you typed TProcess. - then a list of functions will show up after a short bit.

Note- in Pascal a Type must be declared with a variable before usage. So AProcess : TProcess (see previous post for an example). Then you can use the variable AProcess (of the TProcess Type).

Two useful tools on the tool bar of Simba

A) Target Selector (green looking bulls eye or cross hairs on tool bar) will select screen info. Is somewhat equivalent to WindowSpy in AutoHotkey and similar of AutoIt, except part of the Simba IDE. Info is displayed at the bottom of the IDE (Output).

B) Color Picker (on toolbar)- pick color and show x, y coordinates. After clicking, pop-up window will display giving more options on to send to Output or save info as file.

Simba Scripting with YoHoJo

Luckily he has a couple of non gamer centric videos for how to use Simba, though his others of course dives deeply back into being about gaming. These are oldish (Simba 0.98), so keep that in mind, but mostly relevant for intro purposes.

Scripting Tutorial #1 The Basics (Simba)
https://youtu.be/pMMejhyjGwI

Scripting Tutorial: DTMs (Simba)
(functions for finding images/objects on the screen)
https://youtu.be/SlS4q9MiFX4

Simba's Lape Script (Pascal Script variant) Info

https://villavu.com/forum/showthread.php?t=103418 (Basics)

https://villavu.com/forum/showthread.php?t=105024 (A lot About Lape)

Probably a good idea to also use the below introduction to modern Object Pascal to help with language clarity. Simba circles appear to operate on the assumption that people already know Pascal or Delphi versus starting from scratch or picking up new programming languages is trivial.

Lape script is very close to Free Pascal's or Delphi's dialect of Object Pascal, but there are some differences that a Simba user will have to figure out along the way.

https://castle-engine.io/modern_pascal_introduction.html (quick Object Pascal overview)

Post Reply

Return to “Other Programming Languages”