Marco Cantù 1998, Mastering Delphi 4

Project: ACTIONS.DPR


Project Structure


ACTIONS.DPR

program Actions;

uses
  Forms,
  ActionsF in 'ActionsF.pas' {Form1};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

ACTIONSF.PAS

unit ActionsF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdActns, ActnList, ExtCtrls, StdCtrls, Menus, ImgList, Buttons;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Panel1: TPanel;
    ActionList1: TActionList;
    Copy1: TEditCopy;
    Cut1: TEditCut;
    Paste1: TEditPaste;
    ActionNew: TAction;
    ActionExit: TAction;
    NoAction: TAction;
    ActionCount: TAction;
    ActionBold: TAction;
    MainMenu1: TMainMenu;
    Edit1: TMenuItem;
    Paste2: TMenuItem;
    Copy2: TMenuItem;
    Cut2: TMenuItem;
    File1: TMenuItem;
    New1: TMenuItem;
    Close1: TMenuItem;
    Test1: TMenuItem;
    N1: TMenuItem;
    Bold1: TMenuItem;
    NoAction1: TMenuItem;
    CharCount1: TMenuItem;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    ImageList1: TImageList;
    SpeedButton1: TSpeedButton;
    ActionEnable: TAction;
    EnableNoAction1: TMenuItem;
    ActionSender: TAction;
    TestSender: TMenuItem;
    procedure ActionNewExecute(Sender: TObject);
    procedure ActionExitExecute(Sender: TObject);
    procedure ActionBoldExecute(Sender: TObject);
    procedure ActionCountUpdate(Sender: TObject);
    procedure ActionCountExecute(Sender: TObject);
    procedure ActionEnableExecute(Sender: TObject);
    procedure ActionSenderExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ActionNewExecute(Sender: TObject);
begin
  Memo1.Lines.Clear;
end;

procedure TForm1.ActionExitExecute(Sender: TObject);
begin
  Close;
end;

procedure TForm1.ActionBoldExecute(Sender: TObject);
begin
  with Memo1.Font do
    if fsBold in Style then
      Style := Style - [fsBold]
    else
      Style := Style + [fsBold];
  // toggle status
  ActionBold.Checked := not ActionBold.Checked;
end;

procedure TForm1.ActionCountUpdate(Sender: TObject);
begin
  ActionCount.Enabled := Memo1.Text <> '';
end;

procedure TForm1.ActionCountExecute(Sender: TObject);
begin
  ShowMessage ('Characters: ' + IntToStr (
    Length (Memo1.Text)));
end;

procedure TForm1.ActionEnableExecute(Sender: TObject);
begin
  NoAction.Enabled := True;
  NoAction.DisableIfNoHandler := False;
  ActionEnable.Enabled := False;
end;

procedure TForm1.ActionSenderExecute(Sender: TObject);
begin
  Memo1.Lines.Add (
    'Sender class: ' + Sender.ClassName);
  Memo1.Lines.Add (
    'Sender name: ' + (Sender as TComponent).Name);
  Memo1.Lines.Add (
    'Category: ' + (Sender as TAction).Category);
  Memo1.Lines.Add (
    'Action list name: ' + (Sender as TAction).ActionList.Name );
end;

end.

ACTIONSF.DFM

object Form1: TForm1
  Left = 208
  Top = 175
  Width = 462
  Height = 417
  Caption = 'Actions'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Menu = MainMenu1
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Memo1: TMemo
    Left = 0
    Top = 41
    Width = 454
    Height = 330
    Align = alClient
    TabOrder = 0
  end
  object Panel1: TPanel
    Left = 0
    Top = 0
    Width = 454
    Height = 41
    Align = alTop
    TabOrder = 1
    object SpeedButton2: TSpeedButton
      Left = 80
      Top = 8
      Width = 65
      Height = 25
      Action = Cut1
      Glyph.Data = {
        36050000424D3605000000000000360400002800000010000000100000000100
        0800000000000001000000000000000000000001000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000C0DCC000F0CA
        A600000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        000000000000000000000000000000000000F0FBFF00A4A0A000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FDFDFDFDFDFD
        00FFFFFFFFFFFFFFFF00FDFDFDFDFDFD00FF00000000FF00FF00FDFDFDFDFDFD
        00FFFFFFFFFFFFFFFF00F80000000000000000F8FF000000000000FBFBFBFBFB
        FBFBFB00FF00FFFF00FD00FBF8F8F8F8F8FBFB00FF00FF00FDFD00FBF8FFFFFF
        FFFFFB00FF0000FDFDFD00FBF8FFFFFFFFFFFB000000F9FDFDFD00FBF8FFFFFF
        FFFFFB00FDF9F9F9FDFD00FBF8FFFFFFFFFFFB00F9F9F9F9F9FD00FBF8FFFFFF
        FFFFFBF9F9F9F9F9F9F900FBF8FFFFFFFFFFFB00FDF9F9F9FDFD00F80000F8F8
        0000F800FDF9F9F9FDFD00FBF8F80000F8F8FB00FDF9F9F9FDFD00FBFBF80000
        F8FBFBF9F9F9F9FDFDFDF80000000000000000F8FDFDFDFDFDFD}
    end
    object SpeedButton3: TSpeedButton
      Left = 152
      Top = 8
      Width = 65
      Height = 25
      Action = Copy1
      Glyph.Data = {
        36050000424D3605000000000000360400002800000010000000100000000100
        0800000000000001000000000000000000000001000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000C0DCC000F0CA
        A600000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        000000000000000000000000000000000000F0FBFF00A4A0A000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FDFDFDFDFDFD
        FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFD
        FDFDFDFD00F8F8FDFDFDFDFC0000FDFDFDFDFD00F8F8FDFDFDFDFC00FCFC00FD
        FDFD00F8F80000000000FC00FDFDFC00FD00F8F8FFFFFFFFFF00FCFC00000000
        00FFF8F8F8F8F8F8F800FDFCFCFCFCFC00000000000000000000FDFDFDFDFD00
        00FD00FFFFFFFFFFFF00FDFDFDFC00FC00FD00FF0000FF00FF00FDFDFC00FDFC
        00FD00FFFFFFFFFFFF00FDFDFC00FDFC00FD00FF00FFFFFFFF00FDFDFC000000
        FDFD00FFFFFF00000000FDFDFDFCFCFCFDFD00FF00FF00FFFF00FDFDFDFDFDFD
        FDFD00FFFFFF00FF00FDFDFDFDFDFDFDFDFD000000000000FDFD}
    end
    object SpeedButton4: TSpeedButton
      Left = 224
      Top = 8
      Width = 65
      Height = 25
      Action = Paste1
      Glyph.Data = {
        36050000424D3605000000000000360400002800000010000000100000000100
        0800000000000001000000000000000000000001000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000C0DCC000F0CA
        A600000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        000000000000000000000000000000000000F0FBFF00A4A0A000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FDFDFDFDFDFD
        00FBF8FFFFFFFFFFFB00FDFDFDFDFDFD00FBF8FFFFFFFFFFFB00FDFDFDFDFDFD
        00FBF8FFFFFFFFFFFB00FDFDFDFDFDFD00FBF8FFFFFFFFFFFB00000000000000
        00000000F8F80000F80000FFFFFFFFFFFFFFFF000000F8F8FB0000FFFFFFFFFF
        FFFFFF000000F8FBFB0000FF0000FF000000FF000000F90000F800FFFFFFFFFF
        FFFFFF00FDF9F9F9FDFD00FF00000000FF00FF00F9F9F9F9F9FD00FFFFFFFFFF
        FFFFFFF9F9F9F9F9F9F900FF0000FF0000000000FDF9F9F9FDFD00FFFFFFFF00
        FFFF00FDFDF9F9F9FDFD00FF0007FF00FF00FDFDF8F9F9F9FDFD00FFFFFFFF00
        00FDF9F9F9F9F9FDFDFD000000000000FDFDFDFDFDFDFDFDFDFD}
    end
    object SpeedButton5: TSpeedButton
      Left = 296
      Top = 8
      Width = 65
      Height = 25
      Action = ActionBold
      AllowAllUp = True
      GroupIndex = 1
      Glyph.Data = {
        36050000424D3605000000000000360400002800000010000000100000000100
        0800000000000001000000000000000000000001000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000C0DCC000F0CA
        A600000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        000000000000000000000000000000000000F0FBFF00A4A0A000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FDFDFDFDFDFD
        FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FD000000
        00000000FD000000000000FDFDFD0000FD0000FDFDFD000000FDF800000000F8
        FDFD000000000000FDFDFD00FD0000FDFDFD0000FD000000FDFDFD00FD00F8FD
        FDFDFD00FD0000FDFDFDFDF80000F8FDFDFDFD00000000FDFDFDFDFD0000FDFD
        FDFDFD000000FDFDFDFDFDFD00F8FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
        FDFDFDFDFDFDFDFDFDFDFDFDFDF9F8FDFDFDFDFDFDF8F9FDFDFDFDFDFDF9F9F9
        FDFDFDFDF9F9F9FDFDFDFDFDFDF9F9FDFDFDFDFDFDF9F9FDFDFDFDFDFDF9FDF9
        F8FDFDF8F9FDF9FDFDFDFDFDFDFDFDFDF9F9F9F9FDFDFDFDFDFD}
    end
    object SpeedButton6: TSpeedButton
      Left = 368
      Top = 8
      Width = 65
      Height = 25
      Action = ActionCount
    end
    object SpeedButton1: TSpeedButton
      Left = 8
      Top = 9
      Width = 65
      Height = 25
      Action = ActionNew
      Glyph.Data = {
        36050000424D3605000000000000360400002800000010000000100000000100
        0800000000000001000000000000000000000001000000000000000000000000
        80000080000000808000800000008000800080800000C0C0C000C0DCC000F0CA
        A600000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000
        000000000000000000000000000000000000F0FBFF00A4A0A000808080000000
        FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FDFDFDFDFDFD
        FDFDFBFDFDFDFDFDFDFBFDFBFBFDF8F8F8FBFBF8F8F8F8FBFBFDFDFDFB000000
        00000000000000FBFDFDFDFDFD00FFFFFFFFFFFFFFFF00F8FDFDFDFDFD00FFFF
        FFFFFFFFFFFF00F8FDFDFDFDFD00FFFFFFFFFFFFFFFF00F8FDFDFDFDFD00FFFF
        FFFFFFFFFFFF00F8FDFDFBFBFB00FFFFFFFFFFFFFFFF00FBFBFDFDFBFB00FFFF
        FFFFFFFFFFFF00FBFBFBFDFDFD00FFFFFFFF0000000000FDFDFDFDFDFD00FFFF
        FFFF00FFFF00FDFDFDFDFDFDFD00FFFFFFFF00FF00FBFDFDFDFDFDFDFD00FFFF
        FFFF0000FDFBFBFDFDFDFDFDFB000000000000FDFDFDFBFBFDFDFDFBFBFDFDFD
        FDFBFBFDFDFDFDFBFBFDFBFDFDFDFDFDFDFBFDFDFDFDFDFDFDFB}
    end
  end
  object ActionList1: TActionList
    Images = ImageList1
    Left = 40
    Top = 56
    object Copy1: TEditCopy
      Category = 'Edit'
      Caption = '&Copy'
      Hint = 'Copy'
      ImageIndex = 1
      ShortCut = 16451
    end
    object Cut1: TEditCut
      Category = 'Edit'
      Caption = 'Cu&t'
      Hint = 'Cut'
      ImageIndex = 0
      ShortCut = 16472
    end
    object Paste1: TEditPaste
      Category = 'Edit'
      Caption = '&Paste'
      Hint = 'Paste'
      ImageIndex = 2
      ShortCut = 16470
    end
    object ActionNew: TAction
      Category = 'File'
      Caption = 'New'
      ImageIndex = 3
      ShortCut = 113
      OnExecute = ActionNewExecute
    end
    object ActionExit: TAction
      Category = 'File'
      Caption = 'Exit'
      ImageIndex = 5
      ShortCut = 32883
      OnExecute = ActionExitExecute
    end
    object NoAction: TAction
      Category = 'Test'
      Caption = 'No Action'
    end
    object ActionCount: TAction
      Category = 'Test'
      Caption = 'Count Chars'
      OnExecute = ActionCountExecute
      OnUpdate = ActionCountUpdate
    end
    object ActionBold: TAction
      Category = 'Edit'
      Caption = 'Bold'
      ImageIndex = 4
      ShortCut = 16450
      OnExecute = ActionBoldExecute
    end
    object ActionEnable: TAction
      Category = 'Test'
      Caption = 'Enable NoAction'
      OnExecute = ActionEnableExecute
    end
    object ActionSender: TAction
      Category = 'Test'
      Caption = 'Test Sender'
      OnExecute = ActionSenderExecute
    end
  end
  object MainMenu1: TMainMenu
    Images = ImageList1
    Left = 96
    Top = 56
    object File1: TMenuItem
      Caption = '&File'
      object New1: TMenuItem
        Action = ActionNew
      end
      object Close1: TMenuItem
        Action = ActionExit
      end
    end
    object Edit1: TMenuItem
      Caption = '&Edit'
      object Cut2: TMenuItem
        Action = Cut1
      end
      object Copy2: TMenuItem
        Action = Copy1
      end
      object Paste2: TMenuItem
        Action = Paste1
      end
      object N1: TMenuItem
        Caption = '-'
      end
      object Bold1: TMenuItem
        Action = ActionBold
      end
    end
    object Test1: TMenuItem
      Caption = 'Test'
      object NoAction1: TMenuItem
        Action = NoAction
      end
      object CharCount1: TMenuItem
        Action = ActionCount
      end
      object EnableNoAction1: TMenuItem
        Action = ActionEnable
      end
      object TestSender: TMenuItem
        Action = ActionSender
      end
    end
  end
  object ImageList1: TImageList
    Left = 144
    Top = 56
    Bitmap = {
      360C000006000000424D360C0000000000003604000028000000400000002000
      0000010008000000000000080000000000000000000000010000000000000000
      0000000080000080000000808000800000008000800080800000C0C0C000C0DC
      C000F0CAA6000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000F0FBFF00A4A0A0008080
      80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000001FBFBFBFBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000101FBFBFBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000010101FBFBFBFBFBFB000000000000
      000000000000000000000000000000000000000000000000000000000000F800
      000000F80000000000000000000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000F8000000000000000000000000000001010100FBFBFBFBFB000000000000
      00000000000000000000000000000000000000000000000000000000000000F8
      0000F8000000000000000000000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00F800000000000000000000000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000010101FB00FBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00F9F8000000000000F8F900000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00F9F9F900000000F9F9F900000000000001010100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00F9F9000000000000F9F900000000000001FE0100FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00F900F9F80000F8F900F900000000000001FEFE00FBFBFBFBFB000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000F9F9F9F9000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000
      0000000000FBF8FFFFFFFFFFFB000000000000000000FB000000000000FB0000
      0000000000FF00000000FF00FF00000000000000000000000000000000000000
      0000000000FBF8FFFFFFFFFFFB0000FBFB00F8F8F8FBFBF8F8F8F8FBFB000000
      0000000000FFFFFFFFFFFFFFFF000000000000000000000000F8F80000000000
      0000000000FBF8FFFFFFFFFFFB000000FB00000000000000000000FB0000F800
      00000000000000F8FF000000000000FC0000000000000000F8F8000000000000
      0000000000FBF8FFFFFFFFFFFB0000000000FFFFFFFFFFFFFFFF00F8000000FB
      FBFBFBFBFBFBFB00FF00FFFF0000FC00FCFC0000000000F8F800000000000000
      0000000000000000F8F80000F80000000000FFFFFFFFFFFFFFFF00F8000000FB
      F8F8F8F8F8FBFB00FF00FF000000FC000000FC000000F8F8FFFFFFFFFF0000FF
      FFFFFFFFFFFFFF000000F8F8FB0000000000FFFFFFFFFFFFFFFF00F8000000FB
      F8FFFFFFFFFFFB00FF0000000000FCFC0000000000FFF8F8F8F8F8F8F80000FF
      FFFFFFFFFFFFFF000000F8FBFB0000000000FFFFFFFFFFFFFFFF00F8000000FB
      F8FFFFFFFFFFFB000000F900000000FCFCFCFCFC0000000000000000000000FF
      0000FF000000FF000000F90000F8FBFBFB00FFFFFFFFFFFFFFFF00FBFB0000FB
      F8FFFFFFFFFFFB0000F9F9F90000000000000000000000FFFFFFFFFFFF0000FF
      FFFFFFFFFFFFFF0000F9F9F9000000FBFB00FFFFFFFFFFFFFFFF00FBFBFB00FB
      F8FFFFFFFFFFFB00F9F9F9F9F900000000FC00FC000000FF0000FF00FF0000FF
      00000000FF00FF00F9F9F9F9F90000000000FFFFFFFF000000000000000000FB
      F8FFFFFFFFFFFBF9F9F9F9F9F9F90000FC0000FC000000FFFFFFFFFFFF0000FF
      FFFFFFFFFFFFFFF9F9F9F9F9F9F900000000FFFFFFFF00FFFF000000000000FB
      F8FFFFFFFFFFFB0000F9F9F900000000FC0000FC000000FF00FFFFFFFF0000FF
      0000FF000000000000F9F9F9000000000000FFFFFFFF00FF00FB0000000000F8
      0000F8F80000F80000F9F9F900000000FC000000000000FFFFFF0000000000FF
      FFFFFF00FFFF000000F9F9F9000000000000FFFFFFFF000000FBFB00000000FB
      F8F80000F8F8FB0000F9F9F90000000000FCFCFC000000FF00FF00FFFF0000FF
      0007FF00FF000000F8F9F9F900000000FB000000000000000000FBFB000000FB
      FBF80000F8FBFBF9F9F9F9000000000000000000000000FFFFFF00FF000000FF
      FFFFFF000000F9F9F9F9F900000000FBFB00000000FBFB00000000FBFB00F800
      00000000000000F8000000000000000000000000000000000000000000000000
      0000000000000000000000000000FB000000000000FB00000000000000FB424D
      3E010000000000003E0000002800000040000000200000000100010000000000
      000100000000000000000000020000000000000000000000FFFFFF00FFFFC007
      00000000FFFFC007000000002020C007000000007271C007000000000303C007
      00000000A723C00700000000A7A7C007000000008787C00700000000CF8FC007
      00000000CFCFC00700000000FFFFC00700000000E7E7C00700000000E3C7C007
      00000000E7E7C00700000000E997C00700000000FC3FC00700000000FC00FFFF
      FC00FF7EFC00FFE7FC009001FC00FFC7FC00C00300008F8FFC00E00300010700
      0000E003000332000000E003000700000000E00300078000000000010023F900
      002380000001E1000001E0070000C9000000E00F0023C9000023E00F0023C300
      0063E0270023E30000C3C0730007FF0101079E79003FFF0303FF7EFE}
  end
end


Copyright Marco Cantù 1998