Skip to content

gcarreno/TestStar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

I hope this will help someone with my captured knowledge on the below subjects.

✨ Test Application Demo

GitHub Repository

A boiler plate on how to do Application config the "Lazarus Way (tm)".

It includes:

  • Setting up what properties to save on TForm.SessionProperties
  • TINIPropStorage for TForm.SessionProperties property storage
  • TFileExit action with different shortcuts for Windows and Linux
  • The use of GetAppConfigFile() to get the app's default file customised for Linux/Windows
  • A way to have different short cuts for exit in Linux(CTRL+Q) and Windows(ALT+X)

✨ Test Download with Progress Bar

GitHub Repository

Example of fphttpclient with a progress bar.

✨ Test GNU DB Manager

GitHub Repository

Build Status Supprts Linux License Latest Release Downloads

A simple test using the libgdbm library.

To do

  • Report the error generated when gdbm_netkey gets the last key
  • Compile libgdbm statically

✨ Test Google Translate

GitHub Repository

Build Status Supports Windows Supprts Linux Supports macOS License Latest Release Downloads

Testing Google Translate with Lazarus/FPC.

✨ Test HTML Viewers

GitHub Repository

Supports Windows Supprts Linux License

Program to test HTML Viewers.

I'm using the latest version available on the GitHub repository of Bernd Gabriel and have it included in this repository.

But you can install the needed components from the Online Package Manager(OPM).

✨ Test IP Scanner

GitHub Repository

Build Status Supports Windows Supports Linux Supports macOS License Latest Release Downloads

An attempt to do a graphical application to scan a range of IPs and some other tools.

This entry on the Test 🌟 list is inspired by this repository: IPAvailabilityScanner.

It implements:

  1. Retrieving the machine's Public IP address from one of these providers:
  2. Performing an IP scan on a range of IPs ( Not Implemented yet ).
  3. Performing a Ping ( Not Implemented yet ).
  4. Performing a Trace Route ( Not Implemented yet ).

This application is also using the Property Storage on an INI file. It stores the size of the Window and some values like the last selected tab and the last inputs on several edits.

Important Details

Linux

In order to perform a Ping the packet needs to be in raw mode. This implies it needs super user permissions.

If you want Ping and TraceRoute to work you must run the program with sudo:

$ sudo bin/TestIPScanner

Windows

This has been tested under Windows 11 and it is working on both non and "Run as User".

Many thanks to ikel for doing the tests.

macOS

I'm unable to test under macOS so I'll need some help here.

Known bugs

  • The IP Edit component needs to be focused in order to refresh internal fields right after starting up the application. For some reason, when the TINIPropStorage fills in the TIPEdit.Text property, the component does not refresh the internal fields.

✨ Test Lazarus Logging

GitHub Repository

Repository to test and learn how to use the many logging choices in Lazarus

List of options

Tested:

Work in Progress:

Next:

Maybe:

LazLogger

pros:

  • Part of the FCL
  • Command line params
  • User defined log groups

cons:

  • Does not have multiple log providers

For more information on this option: LazLogger README

TEventLog

pros:

  • Part of the LCL
  • Windows: Uses the system log

cons:

  • Does not have multiple log providers

todo:

  • Linux: Need to see if there is some difference geared towards a Linux system log

For more information on this option: TEventLog README

✨ Test Linux Distribution Information

GitHub Repository

Build Status Supports Linux License Latest Release Downloads

Searches for the various methods to obtain information about the current installed distro.

Presents the options found and allows to query each one individually.

Screenshot

Linux Dark Theme v0.1.1

✨ Test Markdown

GitHub Repository

Build Status Supports Windows Supprts Linux License Latest Release Downloads

Program to test 2 Markdown libraries:

✨ Test Memory Dataset

GitHub Repository

Build Status Supports Windows Supprts Linux Supports macOS License Latest Release Downloads

An application to demonstrate how to use TMemDataset.

This particular component does not have a feature to sort the data.

It does, however, have a feature to filter the data.

✨ Test QR Code

GitHub Repository

Program to test two Lazarus QR Code generation libs, available on OPM:

  • LazBarcodes
  • QRCodeGenLib

✨ Test Random Generation

GitHub Repository

Build Status Supports Windows Supports Linux Supports macOS License Latest Release Downloads

The objective of this repository is to have a personal copy of the Random Generation functions from Prof. Marsaglia.

The code is taken from Thaddy de Koning's entry on the Free Pascal Wiki.

I'm using an MIT License for the time being. Need to have a talk with Thaddy to sort that out.

✨ Test Resource Loading

GitHub Repository

Build Status Supports Windows Supprts Linux License Latest Release Downloads

A simple example on how to load a file from the binary resources onto a TMemo

✨ Test Restart Application

GitHub Repository

Build Status Supports Windows Supprts Linux License Latest Release Downloads

Program to test a cross platform way of doing application restarting itself.

✨ Test RxMemoryData

GitHub Repository

Build Status Supports Windows Supprts Linux Supports macOS License Latest Release Downloads

An application to demonstrate how to use TRxMemoryData.

This particular component does not have a feature to sort the data.

It does, however, have a feature to filter the data.

Also using the TRxDBGrid for the visualization of the data, since I'm already using the RX package.

✨ Test Thread Pool

GitHub Repository

Supports Windows Supports Linux Supports macOS License Latest Release Downloads

Example of how to use the Class TThread with a pool manager.

Credits

Original Code: Andrew Thomas Brunner (http://www.aurawin.com)

Correcting Critical Section Lock: paweld (https://github.com/paweld)

✨ Test Threading

GitHub Repository

Build Status Supports Windows Supports Linux Supports macOS License Latest Release Downloads

Example of how to use the Class TThread and all of the threading tools available with Free Pascal.

Single Thread, Single Instance

This exemplifies the most basic use of a thread.

It declares an event to hook into the main form.

This is a single shot use because we set the thread's FreeOnTerminate property to True.

Single Thread, Many Instances

The example above isn't of much use if we just run a single instance.

In this example we create multiple instances of the same thread and we start them concurrently.

This is, also, a single shot use because we set the thread's FreeOnTerminate property to True.

About

A directory of all my Object Pascal Test repositories

Topics

Resources

License

Stars

Watchers

Forks

Languages