Giter VIP home page Giter VIP logo

flaplabel's Introduction

FlapLabel

Airport style display components for Delphi Firemonkey. Simulates vintage mechanical flight information boards ( the ones with rolls of plates that change in sequence, making a satisfying flap-flap noise ).

FlapLabel was originaly developed in 2002 for actual flight information screens for São Paulo Airport (Congonhas).

We used plasma displays, expensive at the time, in substitution to even more expensive mechanical boards from Solari. The sw is still in use in that airport. The original components were for VCL.

This is a port to Firemonkey and is tested on Windows, iOS and Android w/ D10.4.1

screenshot

Installation

  • Compile and install FlapLabelPkg.dpk (design time package)
  • Components TFlapCharSet, TFlapChar and TFlapLabel will be installed

Usage

To use FlapLabels you need at least two components on your form: TFlapCharset and TFlapLabel.

The TFlapCharset contains the art to be used in FlapLabel plates. Depending on the application, you may use more than one charset: one with letters and one with just numbers. Remember that all characters cycle until the desired is reached, so using long charsets is not recommended.

Each FlapLabel uses one charset. One charset can be used by multiple FlapLabels.

The default behaviour for FlapLabel characters is to change in sequence until the target character is reached. But you can set it to "Go Direct" (cheat) changing to target state in a single transition (see sample app).

  • Add a TFlapCharSet to your form ( ex: FlapCharSet1 ) - Charset contains an image with the character set to be used by FlapLabels.

  • Plates BMPs are cut from the master charset image, so you can add symbols or icons to your charset (see below)

  • Set FlapCharSet properties

    • AirportCharset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.! :' - These are the chars in the bitmap, for look up
    • CharsetBMP = Load a PNG image with charset art (in this case a 240x250 image, shown below)

Letters and numbers charset.

Set charset layout.

  • RowCount = 5
  • ColCount = 8

Set frame size in pixels.

  • FrameWidth = 30
  • FrameHeight = 50

Number of frames

  • FrameCount = 40

  • Add a TFlapLabel component to the Form (ex: FlapLabel1)

  • Set FlapLabel1.CharSet property to FlapCharSet1

  • Set FlapLabel1.CountFlaps number of digits in the label. This is the maximun lenght of the display text.

  • Set FlapLabel1.Caption to 'TEST' (case sensitive)

The label should animate with ransitions from current state to target 'TEST' text.

Sample charsets

sample charset - tri-state up/down indication.

Numbers charset - number only fields.

Airline logos - Some airline logos.

To change FlapLabel text at run time, just change FlapLabel1.Caption Note that you can only use characters that are in your charset. Text is truncated if size is larger then CountFlaps ( the fixed numbers of characters in the label)

Example

Compile and run TestFlapLabel.dpr ( see screen shot )

tiktok videos

São Paulo GRU airport display

The photo below ( from 2005 ) shows an array of 9 plasma displays (42") with flight information.

São Paulo airport display

Have fun..

flaplabel's People

Contributors

omarreis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.