Marco Web Center

[an error occurred while processing this directive]

Home: Code Repository: Mastering Delphi 5

Project SEARCH

Project Structure


SEARCH.DPR

program Search;

uses
  Forms,
  SearchF in 'SearchF.pas' {SearchForm};

{$R *.RES}

begin
  Application.CreateForm(TSearchForm, SearchForm);
  Application.Run;
end.

SEARCHF.PAS

unit SearchF;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  StdCtrls, Forms, DBCtrls, DB, Buttons, DBTables, Mask, ExtCtrls,
  Dialogs, DBActns, ActnList, ImgList, ComCtrls, ToolWin;

type
  TSearchForm = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    Table1Salary: TFloatField;
    Table1EmpNo: TIntegerField;
    Table1LastName: TStringField;
    Table1FirstName: TStringField;
    Table1PhoneExt: TStringField;
    Table1HireDate: TDateTimeField;
    ActionList1: TActionList;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ImageList1: TImageList;
    DataSetFirst1: TDataSetFirst;
    DataSetLast1: TDataSetLast;
    DataSetNext1: TDataSetNext;
    DataSetPrior1: TDataSetPrior;
    EditName: TEdit;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ActionGoto: TAction;
    ActionGoNear: TAction;
    ScrollBox: TScrollBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    EditEmpNo: TDBEdit;
    EditLastName: TDBEdit;
    EditFirstName: TDBEdit;
    EditPhoneExt: TDBEdit;
    EditHireDate: TDBEdit;
    EditSalary: TDBEdit;
    procedure FormCreate(Sender: TObject);
    procedure ActionGoNearExecute(Sender: TObject);
    procedure ActionGotoExecute(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  SearchForm: TSearchForm;

implementation

{$R *.DFM}

procedure TSearchForm.FormCreate(Sender: TObject);
begin
  Table1.First;
end;

procedure TSearchForm.ActionGoNearExecute(Sender: TObject);
begin
  // short-hand
  {Table1.FindNearest ([EditName.Text]);}

  // alternative code:
  Table1.SetKey;
  Table1 ['LastName'] := EditName.Text;
  Table1.GotoNearest;
end;

procedure TSearchForm.ActionGotoExecute(Sender: TObject);
begin
  // locate
  if not Table1.Locate ('LastName', EditName.Text, []) then
    MessageDlg ('Name not found', mtError, [mbOk], 0);

  // short-hand
{  if not Table1.FindKey ([EditName.Text]) then
    MessageDlg ('Name not found', mtError, [mbOk], 0); }

  // alternative code:
  {Table1.SetKey;
  Table1 ['LastName'] := EditName.Text;
  Table1.KeyFieldCount := 1;
  if not Table1.GotoKey then
    MessageDlg ('Name not found', mtError, [mbOk], 0); }
end;

end.

SEARCHF.DFM

object SearchForm: TSearchForm
  Left = 300
  Top = 214
  Width = 403
  Height = 204
  Caption = 'Table Search'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clBlack
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = True
  Position = poScreenCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ToolBar1: TToolBar
    Left = 0
    Top = 0
    Width = 395
    Height = 27
    Caption = 'ToolBar1'
    EdgeBorders = [ebTop, ebBottom]
    Flat = True
    Images = ImageList1
    ParentShowHint = False
    ShowHint = True
    TabOrder = 0
    object ToolButton1: TToolButton
      Left = 0
      Top = 0
      Action = DataSetFirst1
    end
    object ToolButton2: TToolButton
      Left = 23
      Top = 0
      Action = DataSetPrior1
    end
    object ToolButton3: TToolButton
      Left = 46
      Top = 0
      Action = DataSetNext1
    end
    object ToolButton4: TToolButton
      Left = 69
      Top = 0
      Action = DataSetLast1
    end
    object ToolButton5: TToolButton
      Left = 92
      Top = 0
      Width = 8
      Caption = 'ToolButton5'
      ImageIndex = 3
      Style = tbsSeparator
    end
    object EditName: TEdit
      Left = 100
      Top = 0
      Width = 137
      Height = 22
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -11
      Font.Name = 'MS Sans Serif'
      Font.Style = []
      ParentFont = False
      TabOrder = 0
      Text = 'Williams'
    end
    object ToolButton7: TToolButton
      Left = 237
      Top = 0
      Action = ActionGoto
    end
    object ToolButton6: TToolButton
      Left = 260
      Top = 0
      Action = ActionGoNear
    end
  end
  object ScrollBox: TScrollBox
    Left = 0
    Top = 27
    Width = 395
    Height = 150
    HorzScrollBar.Margin = 6
    VertScrollBar.Margin = 6
    Align = alClient
    BorderStyle = bsNone
    TabOrder = 1
    object Label1: TLabel
      Left = 230
      Top = 17
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&Emp No'
      FocusControl = EditEmpNo
    end
    object Label2: TLabel
      Left = 14
      Top = 15
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&Last Name'
      FocusControl = EditLastName
    end
    object Label3: TLabel
      Left = 14
      Top = 36
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&First Name'
      FocusControl = EditFirstName
    end
    object Label4: TLabel
      Left = 14
      Top = 58
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&Phone Ext'
      FocusControl = EditPhoneExt
    end
    object Label5: TLabel
      Left = 230
      Top = 39
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&Hire Date'
      FocusControl = EditHireDate
    end
    object Label6: TLabel
      Left = 14
      Top = 79
      Width = 60
      Height = 13
      Alignment = taRightJustify
      AutoSize = False
      Caption = '&Salary'
      FocusControl = EditSalary
    end
    object EditEmpNo: TDBEdit
      Left = 296
      Top = 14
      Width = 57
      Height = 21
      DataField = 'EmpNo'
      DataSource = DataSource1
      TabOrder = 0
    end
    object EditLastName: TDBEdit
      Left = 80
      Top = 12
      Width = 97
      Height = 21
      DataField = 'LastName'
      DataSource = DataSource1
      TabOrder = 1
    end
    object EditFirstName: TDBEdit
      Left = 80
      Top = 33
      Width = 97
      Height = 21
      DataField = 'FirstName'
      DataSource = DataSource1
      TabOrder = 2
    end
    object EditPhoneExt: TDBEdit
      Left = 80
      Top = 55
      Width = 97
      Height = 21
      DataField = 'PhoneExt'
      DataSource = DataSource1
      TabOrder = 3
    end
    object EditHireDate: TDBEdit
      Left = 296
      Top = 36
      Width = 57
      Height = 21
      DataField = 'HireDate'
      DataSource = DataSource1
      TabOrder = 4
    end
    object EditSalary: TDBEdit
      Left = 80
      Top = 76
      Width = 97
      Height = 21
      DataField = 'Salary'
      DataSource = DataSource1
      TabOrder = 5
    end
  end
  object DataSource1: TDataSource
    AutoEdit = False
    DataSet = Table1
    Left = 279
    Top = 109
  end
  object Table1: TTable
    Active = True
    DatabaseName = 'DBDEMOS'
    IndexFieldNames = 'LastName;FirstName'
    TableName = 'employee.db'
    Left = 332
    Top = 109
    object Table1Salary: TFloatField
      FieldName = 'Salary'
    end
    object Table1EmpNo: TIntegerField
      FieldName = 'EmpNo'
    end
    object Table1LastName: TStringField
      FieldName = 'LastName'
      FixedChar = False
    end
    object Table1FirstName: TStringField
      FieldName = 'FirstName'
      FixedChar = False
      Size = 15
    end
    object Table1PhoneExt: TStringField
      FieldName = 'PhoneExt'
      FixedChar = False
      Size = 4
    end
    object Table1HireDate: TDateTimeField
      FieldName = 'HireDate'
    end
  end
  object ActionList1: TActionList
    Images = ImageList1
    Left = 214
    Top = 111
    object DataSetFirst1: TDataSetFirst
      Category = 'Dataset'
      Caption = '&First'
      Hint = 'First'
      ImageIndex = 0
    end
    object DataSetLast1: TDataSetLast
      Category = 'Dataset'
      Caption = '&Last'
      Hint = 'Last'
      ImageIndex = 1
    end
    object DataSetNext1: TDataSetNext
      Category = 'Dataset'
      Caption = '&Next'
      Hint = 'Next'
      ImageIndex = 2
    end
    object DataSetPrior1: TDataSetPrior
      Category = 'Dataset'
      Caption = '&Prior'
      Hint = 'Prior'
      ImageIndex = 3
    end
    object ActionGoto: TAction
      Caption = '&Goto'
      Hint = 'Goto'
      ImageIndex = 4
      OnExecute = ActionGotoExecute
    end
    object ActionGoNear: TAction
      Caption = 'Go &Near'
      Hint = 'Go Near'
      ImageIndex = 5
      OnExecute = ActionGoNearExecute
    end
  end
  object ImageList1: TImageList
    Left = 24
    Top = 128
    Bitmap = {
      494C010106000900040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600
      0000000000003600000028000000400000003000000001001800000000000024
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000141414140000000000000000000000000000000000000000000000000000
      0000320000000000000000000000000000000000000000000000000000000000
      0000F6FF30003100320033000000000000000000000000000000000000000000
      0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
      0000000EE0000001000000010000000100000001000000010000000100000001
      000000010000000100000001000000010000000100000001000000010000000E
      E000000000000000000000000000000000000000000000000000000000000000
      0000020000000400000006000000080000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000084840084840084840084
      8400310000000000000000000000000000000000000000000000000000000000
      0000F6FF30003100320033000000000000000000000000000000000000000000
      0000615365744E6578743100446174615365745072696F723100FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFF000000000000000000000000000000000000000000000000000084840084
      8400848400000000000000000000000000000000000000000000000000000000
      0000000000008484008484008484008484008484008484008484000000000000
      00000000000000000000000000848484FFFFFF84848400FFFF84848400FFFFFF
      FFFF00FFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF000000848484000000848484
      000084000084000084000084FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFF
      FF00FFFF00000084848400000000000000000000000000000000000084840084
      8400848400000000000000000000000000000000000000000000000000000000
      0000000000000000008484008484008484008484008484000000000000000000
      0000000000000000000084848400FFFF00FFFF848484FFFFFF00FFFF84848400
      FFFFFFFFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF000000848484000000000084
      00008484848400FFFF000084000084FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FF
      FFFFFFFF00000084848400000000000000000000000000000000000084840084
      8400848400000000000000000000000000000000000000000000000000000000
      0000000000000000000000008484008484008484000000000000000000000000
      00000000000000000000FFFFFF000000FFFFFF84848400FFFFFFFFFF00FFFFFF
      FFFF00FFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF000000848484848484000084
      84848400FFFFFFFFFF848484000084848484FFFFFF00FFFFFFFFFF00FFFFFFFF
      FF00FFFF00000084848400000000000000000000000000000000000084840084
      8400848400000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000008484000000000000000000000000000000
      0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFF00FFFFFF
      FFFF00FFFFFFFFFF000000000000000000000000000000848484000084000084
      00FFFFFFFFFF00FFFFFFFFFF84848400008400FFFFFFFFFF0000000000000000
      0000000000000084848400000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000FFFFFF00FFFFFFFFFF00FFFFFFFFFF00
      FFFFFFFFFF00FFFF00000000FFFFC6C6C6000000000000848484000084000000
      FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF00000000FFFFC6C6
      C600000000000084848400000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFF00FFFFFF
      FFFF00FFFFFFFFFF000000C6C6C6000000FFFFFF000000848484848484000000
      00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF000000C6C6C60000
      00FFFFFF00000084848400000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000FFFFFF00FFFFFFFFFF00FFFFFFFFFF00
      FFFFFFFFFF00FFFF000000000000FFFFFF00FFFF000000848484000000000000
      FFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF000000000000FFFF
      FF00FFFF00000084848400000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000848484000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000848484000000000000000061696E7400000000120300000000
      000010000000D097910810FB910890FA9108202C910800000000000000000000
      0000000000000000000000000000000000000000000000000000060093FF0000
      0000C244D0A18CA191084843910800200A0900000000574D5F5041494E540000
      0000848484848484848484848484848484848484848484848484000000000000
      8484848484848484848484848484848484848484848484848484848484848484
      848484848484848484840000000000000000120074FF0000000077394EFD001F
      0A0934909108401F0A090000000054574D4C427574746F6E44626C436C6B0000
      0000120300000000000010000000F883910890A7910810A79108202C91080000
      0000000000000000000000000000000000000000000000000000000000000000
      000006002DFF0000000037BBDBA1DCA191080000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000D0979108D81F0A090000000054574D500000000000000000000000000000
      00000000000000000000000000000600C9FF00000000BA44D0A18CA191082042
      9108541E0A0900000000574D5F534554464F43555300060037FF00000000BB44
      D0A18CA1910848429108801E0A0900000000574D5F4B494C4C464F4355530000
      000006000BFF00000000C544D0A18CA19108FFFF0000000000000000FFFFFFFF
      FF00FFFFFFFFFF00FFFF00000000000000000000000000000000000000000000
      0000574D5F43414E43454C4D4F44450000000000000000000000000000000000
      00000000000000000000060059FF0000000049BADBA1DCA19108DC529108901D
      0A0900000000574D5F565343524F4C4C0000060099FF0000000041BADBA1DCA1
      9108DC599108C41D0A0900000000574D5F494D455F5354415254434F4D504F53
      4954494F4E00120010FF0000000043AE1C89FFFF0000000000FFFFFFFFFF00FF
      FFFFFFFF00000000000000000000000000000000000000000000000000000000
      000080079208202C910800000000000000000000000054574D53697A65001203
      00000000000010000000749C910874109208F40F9208202C9108000000000000
      0000000000000000000000000000000000000000000000000000000000000600
      ECFF00000000B844D0A18CA19108D4419108001D0A0900000000574D5F53495A
      45001200A0FF00000000CA39885D281D0A09FFFF00000000FFFFFF00FFFFFFFF
      FF00FFFFFFFFFF00FFFFFFFFFF00000000000000000000000000000000000000
      0000202C91080000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000600B3FFFFFF0000000000FFFFFFFFFF00FF
      FFFFFFFF00000000000000000000000000000000000000000000000000000000
      0000B041D41F9C1C0A09749C9108DC1C0A090000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000574D5F55534552001200CAFF0000
      00008B70C7FBA01B0A0984839108E01B0A09FFFF00000000FFFFFF00FFFFFFFF
      FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF0000000000000000FF00
      00FF000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000006F7052656D6F76650000
      000012005DFF000000002457D181EC1A0A09FFFF0000000000FFFFFFFFFF0000
      000000000000000000000000000000000000000000000000000000000000FF00
      00FF00000000000000000000000000000000FFFF0000000000000000FFFFFFFF
      FF00FFFFFFFFFF00FFFF00000000000000000000000000000000000000000000
      000000000000FFFF000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000544C6973742E41646400
      00000900E1FF00000000A8DBE19278D6AC0800000000000000000000FFFFFFFF
      FF00FFFF00000000000000000000000000000000000000000000000000000000
      000000000000A7DBE192A4D5AC0870D5AC08FFFF0000000000FFFFFFFFFF00FF
      FFFFFFFF00000000000000000000000000000000000000000000000000000000
      0000000000000000000000FFFF0000000000000000FFFFFFFFFF00FFFFFFFFFF
      00FFFF00000000000000000000000000000050190A0900000000545265616465
      722E52656164436F6C6C656374696F6E00000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000696F6E00090094FF00000000D1891969FFFF00000000FFFFFF00FFFFFFFF
      FF00FFFFFFFFFF00FFFFFFFFFF00000000000000000000000000000000000000
      0000000000000000000000FFFF0000000000FFFFFFFFFF00FFFFFFFFFF000000
      0000000000000000000000000000000000006E7400000600F6FF0000000040DD
      73AA6005AD082822AB08A0180A09000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000073740000060020FF00000000F1EACFD5FFFF0000000000FFFFFFFFFF00FF
      FFFFFFFF00000000000000000000000000000000000000000000000000000000
      0000000000000000000000FFFF00000000FFFFFF00FFFFFFFFFF00FFFFFFFFFF
      00FFFFFFFFFF0000000000000000000000006F79000009004BFF00000000D169
      42AF74F8AB0840F8AB08E8170A09000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000054436F6C6C656374696F6E2EFFFF00000000FFFFFF00FFFFFFFF
      FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFF0000000000000000FF00
      00FF000000000000000000FFFF0000000000FFFFFFFFFF00FFFFFFFFFF000000
      000000000000000000000000000000000000090040FF00000000BBDBE1920CCF
      AC08D8CEAC0824170A090000000054436F6D0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000054436F6D706F6E656E742E5365744E61FFFF0000000000FFFFFFFFFF0000
      000000000000000000000000000000000000000000000000000000000000FF00
      00FF000000000000000000FFFF00000000FFFFFF00FFFFFFFFFF00FFFFFFFFFF
      00FFFFFFFFFF00FFFFFFFFFF00FFFF000000000000000802CB5A3C94AD08884B
      AB0854160A09000000002E54436F6D706F6E0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00006550726F7065727469657300090087FF00000000000000000000FFFFFFFF
      FF00FFFF00000000000000000000000000000000000000000000000000000000
      0000000000000000000000FFFF0000000000FFFFFFFFFF000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000400FFFF0000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000FFFFFFFFFF00FFFF000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000808080
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000808080000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000000000000000000000000000080808000000000000000000000
      0000000000000000000000000000808080000000000000000000000000000000
      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
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000000000000000000000000000080808000000000000000000000
      0000000000000000000000000000808080000000000000000000000000000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000080808000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000808080
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000000000000000080808000000000000000000000000000000000
      0000000000000000000000000000000000000000808080000000000000000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000000000000000080808000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000808080000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000080808000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000808080000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000080808000000000000000000000000000
      0000000000000000000000000000000000808080000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8080808000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      8080808080800000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000080808000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000808080000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000080808000000000000000000000000000
      0000000000000000000000000000000000808080000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000000000000000080808000000000000000000000000000000000
      0000000000000000000000000000000000000000808080000000000000000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000000000000000080808000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000808080000000000000
      0000000000000000000000000000000000000000000000000000000000008080
      8000000000000000000000000000000000000080808000000000000000000000
      0000000000000000000000000000808080000000000000000000000000000000
      0000008080800000000000000000000000000000000000000000000000000000
      0000000080808000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000808080
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000424D3E000000000000003E000000
      2800000040000000300000000100010000000000800100000000000000000000
      000000000000000000000000FFFFFF00D7A6548BD4090A09120065FF00000000
      61794E616D650000536574446973706C696F6E4974656D2E54436F6C6C656374
      B0090A0900000000B0A9AB0874A9AB08000000008EA70DFD000000000900C2FF
      74696F6E4974656D2E54436F6C6C656374090A0900000000DC2BAD088C2FAB08
      00000000F0CDF6C4000000000700E3FFFFFFFFFF00000000FFF8FFFF0700FAFF
      20F81FFF18000000007F041F00000000007C000F5CC9AA08003C000F7030AD08
      000F0007040000000004000107032500000C00006C65637401FF000100000000
      E3FC003F4830AB08FFFCFC7F8705A191FFFFFFFF12004BFFFFF8FFFF00000000
      FFF8FFFF1C00FDFFFFFFFFFF0C000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7E7F9FFFF9F
      E787E1E7F87FFE1FE607E067F81FF81FE007E007F80FF01FE607E067F81FF81F
      E787E1E7F87FFE1FE7E7E7E7F9FFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
  end
end