Difference between revisions of "Portal:HowTo Demos"

From Free Pascal wiki
Jump to navigationJump to search
(→‎Graphics: Display image in console program (Win only))
(Cleaned up breaks between sections)
Line 32: Line 32:
  
 
* [https://forum.lazarus.freepascal.org/index.php/topic,44241.msg310991.html#msg310991 Simple polygon animation]. Requirement: LAMW. A simple animation using jCanvas.
 
* [https://forum.lazarus.freepascal.org/index.php/topic,44241.msg310991.html#msg310991 Simple polygon animation]. Requirement: LAMW. A simple animation using jCanvas.
 
  
 
== File handling ==
 
== File handling ==
Line 49: Line 48:
  
 
* [https://forum.lazarus.freepascal.org/index.php/topic,49069.0.html Detect kind of file using DragAndDrop]. How to detect the type of file using drag and drop.
 
* [https://forum.lazarus.freepascal.org/index.php/topic,49069.0.html Detect kind of file using DragAndDrop]. How to detect the type of file using drag and drop.
 
  
 
== General ==
 
== General ==
Line 72: Line 70:
  
 
* [https://forum.lazarus.freepascal.org/index.php/topic,43489.msg304434.html#msg304434 Communicate between two programs]. This demo showing how to use simpleipc.
 
* [https://forum.lazarus.freepascal.org/index.php/topic,43489.msg304434.html#msg304434 Communicate between two programs]. This demo showing how to use simpleipc.
 
  
 
== Graphics ==
 
== Graphics ==
Line 130: Line 127:
 
* [https://forum.lazarus.freepascal.org/index.php/topic,35980.msg239199.html#msg239199 HTML to Text]. Requirement: fasthtmlparser. Extract data from a web page.
 
* [https://forum.lazarus.freepascal.org/index.php/topic,35980.msg239199.html#msg239199 HTML to Text]. Requirement: fasthtmlparser. Extract data from a web page.
  
* [https://forum.lazarus.freepascal.org/index.php/topic,48677.msg350793.html#msg350793|Synapse TCP/IP client and server]. Requirement: Synapse.
+
* [https://forum.lazarus.freepascal.org/index.php/topic,48677.msg350793.html#msg350793 Synapse TCP/IP client and server]. Requirement: Synapse.
 
 
  
 
== User Interface ==
 
== User Interface ==

Revision as of 02:32, 17 May 2020

English (en)

< Lookup < Portals < Portal:HowTo Demos
Portal:HowTo Demos
HowToLogo.png

This portal collects together in one place a significant number of short demonstration programs that have been posted on the Free Pascal and Lazarus Forums. Each of the demonstration programs generally provides a simple example of one particular development technique.

The Portal was the brainchild of Handoko who also provided the initial list of demonstration programs from the Forums.

Android

  • OpenGL ES2 Circle. Requirement: LAMW. Drawing a circle using jCanvasES2.DrawLine instead of DrawCircle.
  • OpenGL ES2 Rectangle. Requirement: LAMW. Drawing a rectangle using jCanvasES2.DrawPolyFill instead of DrawRect.

File handling

General

  • Generating a huge text file. Demonstrates a technique for reducing program responsiveness to improve performance.

Graphics

  • Get pixel color of an image. It may sound easy but actually it is not so easy.
  • Fading images using BGRABitmap. Requirement: BGRABitmap. Build your own slideshow and learn doing proportional scaling using aspect ratio of the picture.
  • TCanvas Text. How to draw superscript and subscript text using TCanvas.
  • Rock, Paper, Scissors. A simple game. Note for Unix/like operating systems: change the path delimiter to make the code work.

Networking

  • FTP Connect. Requirement: Synapse (can be installed using OPM). How to connect to a FTP server.
  • HTML to Text. Requirement: fasthtmlparser. Extract data from a web page.

User Interface

  • Searchable StringGrid. Requirement: DBFLaz. Load data from a dbf, show it on a TStringGrid, search and highlight the cells. See here and here.
  • a Form. Requirement: BGRAControls. How to darken the Main Form when a modal window is shown.
  • Scaling a Form. How to scale a form by using TForm.ScaleBy. Unfortunately it does not work correctly on Linux.
  • Vertical Menu. How to make a vertical menu using TPanel and TScrollBox.
  • ShowMessage in Console Mode. Requirement: LCL needed to be in the project’s required packages. How to use ShowMessage in a console mode program.
  • Adding CHM Help. A demo project to call a CHM help file from three buttons as context-sensitive help (press F1), or from a help menu.