Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Cursor dentro de um Programa Delphi


LuloNet

Pergunta

Olá, pessoal.

Estou com um grande problema em gerencia a posição do cursor dentro de um Programa em Delphi 2007.

Foi criado um componente Chamado FlexLed por outro programador, cujo não tenho mais contato com o mesmo.

Este componente gerencia o cusor apenas na parte superior do FlexLed, estou querendo fazer com que ele consigua pular para linha abaixo se interferir no que foi feito acima.

Segue o fonte do componte abaixo:

//--- INICIO - FlexLed ---

unit UFlexLed;

interface

uses

ExtCtrls, Types, Classes, Controls, StdCtrls, ComCtrls, Graphics;

const

clLaranja = $000080FF;

clInserindo = $00CE0000;

clDivisaoColuna = clWhite;

type

TTipoOnibus = (Urbano, Gran, Rodoviario, Double, Senior, Volare);

TSentidoRolagem = (tsNenhum, ts1Direita, ts1Esquerda, ts1Cima, ts1Baixo);

TModo = (ModoSelecao, ModoGrafico, ModoTexto, ModoSimulador);

TTipoFonte = (

tfNenhum,

tfArtelogic5x5,

tfArtelogic6x5,

tfArtelogic6x6,

tfArtelogic8x4,

tfArtelogic8x5,

tfArtelogic8x6,

tfArtelogic8x7,

tfArtelogic11x6,

tfArtelogic11x8,

tfArtelogic13x7,

tfArtelogic13x8,

tfArtelogic13x9

);

TFlexLed = class;

TCfgChar = class

private

FASCII : Integer;

FFim : Integer;

FInicio : Integer;

FTipoFonte : TTipoFonte;

FNovo : Boolean;

FPosicao : Integer;

FLinha : Integer;

FAlinhamento : Integer;

procedure SetASCII(const Value: Integer);

procedure SetFim(const Value: Integer);

procedure SetInicio(const Value: Integer);

procedure SetTipoFonte(const Value: TTipoFonte);

procedure SetNovo(const Value: Boolean);

procedure SetPosicao(const Value: Integer);

procedure SetLinha(const Value: Integer);

procedure SetAlinhamento(const Value: Integer);

public

property TipoFonte: TTipoFonte read FTipoFonte write SetTipoFonte;

property ASCII: Integer read FASCII write SetASCII;

property Inicio: Integer read FInicio write SetInicio;

property Fim: Integer read FFim write SetFim;

property Novo: Boolean read FNovo write SetNovo;

property Posicao: Integer read FPosicao write SetPosicao;

property Linha: Integer read FLinha write SetLinha;

property Alinhamento: Integer read FAlinhamento write SetAlinhamento;

constructor Create;

destructor Destroy; override;

end;

TLed = class

private

FFlexLed : TFlexLed;

FColor : TColor;

FLinha : Integer;

FColuna : Integer;

FCoordenadas : TRect;

FLigado : Boolean;

FLedID : Integer;

FPosicao : Integer;

procedure SetColor(const Value: TColor);

procedure SetColuna(const Value: Integer);

procedure SetCoordenadas(const Value: TRect);

procedure SetLinha(const Value: Integer);

procedure SetLigado(const Value: Boolean);

procedure SetLedID(const Value: Integer);

procedure SetLedPosicao(const Value: Integer);

public

constructor Create(const pCor: TColor; const pLedID: Integer);

destructor Destroy; override;

procedure DesenhaLed;

procedure DesligaLed;

property LedID: Integer read FLedID write SetLedID;

property Coordenadas: TRect read FCoordenadas write SetCoordenadas;

property Coluna: Integer read FColuna write SetColuna;

property Linha: Integer read FLinha write SetLinha;

property Color: TColor read FColor write SetColor;

property Ligado: Boolean read FLigado write SetLigado;

property Posicao: Integer read FPosicao write SetLedPosicao;

end;

TLeds = array of TLed;

TFlexLed = class(TGraphicControl)

private

{ Private declarations }

FImage : TImage;

FLedID : Integer;

FPosicaoMouseX : Integer;

FPosicaoMouseY : Integer;

FFlexNroColunas : Integer;

FFlexNroLinhas : Integer;

FDivisaoNaColuna : Integer;

FDivisaoNaLinha : Boolean;

FLinha2Ativa : Boolean;

FOnMostraPosicaoMouse : TNotifyEvent;

FOnSaiuAreaMouse : TNotifyEvent;

FMatrixLeds : TLeds;

FCorDivisao : TColor;

FCorPadrao : TColor;

FCorFundo : TColor;

FModo : TModo;

FPosicaoCursor : Integer;

FMouseLigado : Boolean;

FLigados : array of Integer;

FConfig : array of TCfgChar;

FOnAposDesenhar : TNotifyEvent;

FOnAntesDesenhar : TNotifyEvent;

FFonteUtilizada : TTipoFonte;

FTamanhoLed : Integer;

FInserir : Boolean;

FRolagem : TSentidoRolagem;

FOnRecebeFoco : TNotifyEvent;

FCursorLigado : Boolean;

Edit1 : TEdit;

FTimer : TTimer;

FDeslocar : Integer;

FOnAposDefinirPosicaoCursor : TNotifyEvent;

FEspessuraLapis : Integer;

FSituacao : Boolean;

FNaoMostraCursor : Boolean;

FAlinhamento : TAlignment;

FColunaLinha1 : Integer;

FColunaLinha2 : Integer;

FPosicaoLinha1 : TAlignment;

FPosicaoLinha2 : TAlignment;

procedure SetFlexNroColunas(const Value: Integer);

procedure SetFlexNroLinhas(const Value: Integer);

procedure SetCorDivisao(const Value: TColor);

procedure SetCorPadrao(const Value: TColor);

procedure SetCorFundo(const Value: TColor);

procedure SetDivisaoNaColuna(const Value: Integer);

procedure SetDivisaoNaLinha(const Value: Boolean);

procedure RegistraPosicaoMouse(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure LigarLedPainel(Sender: TObject);

procedure SetOnMostraPosicaoMouse(const Value: TNotifyEvent);

procedure SetOnSaiuAreaMouse(const Value: TNotifyEvent);

procedure InicializaMatrixLeds;

procedure InicializaConfig;

procedure SetModo(const Value: TModo);

procedure SetPosicaoCursor(const Value: Integer);

function JaFoiLigado(const pLed: TLed): Boolean;

function PosicaoCursorCfg: Integer;

procedure PiscaCursor(Sender: TObject);

procedure AoClicar(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure AoDesClicar(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure SetOnAntesDesenhar(const Value: TNotifyEvent);

procedure SetOnAposDesenhar(const Value: TNotifyEvent);

procedure PintaImagem(const pCoordenadas: TRect; const pCorLed: TColor; const pLigado: Boolean);

procedure SetFonteUtilizada(const Value: TTipoFonte);

procedure SetTamanhoLed(const Value: Integer);

function GetConfig(const pNomeFonte: TTipoFonte; const pTexto: String; const pColunaIni: SmallInt; const pColunaFim: SmallInt): TCfgChar; overload;

function GetConfig(const pColunaIni: SmallInt; out pIdx: SmallInt): TCfgChar; overload;

function GetConfig(const pColunaIni: SmallInt): TCfgChar; overload;

procedure ApagaPosicao(const pCfgChar: TCfgChar; const pLimpar: Boolean); overload;

procedure ApagaAtePosicao(const pCfgChar: TCfgChar; const pAteColuna: SmallInt);

procedure DesenhaPosicao(const pCfgChar: TCfgChar);

procedure ApagaPosicao(const pCfgChar: TCfgChar); overload;

function GetRotulo: String;

procedure SetRolagem(const Value: TSentidoRolagem);

class function GetTipoFonte(const pTipoFonte: TTipoFonte): String; overload;

class function GetTipoFonte(const pTipoFonte: String): TTipoFonte; overload;

procedure SetOnRecebeFoco(const Value: TNotifyEvent);

procedure CriaFontes11x6;

procedure CriaFontes11x8;

procedure CriaFontes13x7;

procedure CriaFontes13x8;

procedure CriaFontes13x9;

procedure CriaFontes5x5;

procedure CriaFontes6x5;

procedure CriaFontes6x6;

procedure CriaFontes8x4;

procedure CriaFontes8x5;

procedure CriaFontes8x6;

procedure CriaFontes8x7;

procedure SetDeslocar(const Value: Integer);

procedure DesenhaCursorModoTexto;

procedure DesenhaDivisaoColuna;

procedure DesenhaDivisaoLinha;

procedure SetOnAposDefinirPosicaoCursor(const Value: TNotifyEvent);

function MaxColuna: Integer;

procedure RetirarFoco;

procedure SetEspessuraLapis(const Value: Integer);

procedure SetAlinhamento(const Value: TAlignment);

procedure AlinhaTexto(const pAlinha: TAlignment);

protected

{ Protected declarations }

procedure Paint; override;

public

{ Public declarations }

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

procedure AoPerderFoco(Sender: TObject);

procedure DefineCores(const pCorDivisao: TColor; const pCorPadrao: TColor; const pCorFundo: TColor);

procedure AoReceberFocoPadrao(Sender: TObject);

procedure SetFlexNroColunas1(const Value: Integer);

procedure SetFlexNroLinhas1(const Value: Integer);

procedure SetCorDivisao1(const Value: TColor);

procedure SetCorPadrao1(const Value: TColor);

procedure SetCorFundo1(const Value: TColor);

procedure SetDivisaoNaColuna1(const Value: Integer);

procedure SetDivisaoNaLinha1(const Value: Boolean);

procedure EscreveTexto(const pNomeFonte: TTipoFonte; const pTexto: String);

procedure EscreveTextoDuplo(const pNomeFonte: TTipoFonte; const pTexto: String; const pPosicao, pLinha: Integer);

procedure EscreveTextoColuna(const pNomeFonte: TTipoFonte; const pTexto: String; const pPosicao, pLinha: Integer);

procedure TextoNa2aLinha(const pNomeFonte: TTipoFonte; const pTexto: String);

function NroDeColunas(const pFonte: TTipoFonte; out pNroColunas: SmallInt): Boolean; overload;

function NroDeColunas(const pConfigFonte: String; const pNroLinhas: SmallInt; out pNroColunas: SmallInt): Boolean; overload;

function NroDeLinhas(const pFonte: TTipoFonte; out pNroLinhas: SmallInt): Boolean;

function NomeFonte(const pFonte: TTipoFonte; out pNomeFonte: String): Boolean;

function tbKeyIsDown(const Key: integer): boolean;

function AchouConfigFonte(const pFonte: String; const pCaracter: String; out pConfigFonte: String): Boolean; overload;

function AchouConfigFonte(const pFonte: TTipoFonte; const pCaracter: String; out pConfigFonte: String): Boolean; overload;

procedure CriaArquivoFontes;

function GetRectImage: TRect;

function TotalLeds: Integer;

procedure ApagaLeds(const pInicializaConfig: Boolean); overload;

procedure ApagaLeds; overload;

procedure InverteLeds;

function RecebendoFoco: Boolean;

function Altura: Integer;

function Largura: Integer;

procedure RecebeFoco;

procedure ColocaGrade;

procedure OnPressionouTeclaApoio(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure OnPressionouTecla(Sender: TObject; var Key: Char);

function PosicaoMouseX: Integer;

function PosicaoMouseY: Integer;

procedure Quadricular(const pNroLinhas, pNroColunas, pPadrao: Integer);

function DescarregaMatrix(const pNroLinhas, pNroColunas: Integer): String; overload;

class function DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; const pTodoVazio: Boolean): String; overload;

function DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; out pMemoryStream: TMemoryStream): String; overload;

class function DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; out pMemoryStream: TMemoryStream; const pTodoVazio: Boolean): String; overload;

class function RetornaMatrix(const pMatrix: String): String;

procedure CarregaMatrix(const pMatrix: String); overload;

procedure CarregaMatrix(const pMatrix: TMemoryStream); overload;

class procedure CarregaMatrix(const pMatrix: TMemoryStream; out pTxtMatrix: String); overload;

function GetLed(const pLinha: Integer; const pColuna: Integer; const pRect: TRect; const pCriar: Boolean = True): TLed; overload;

function GetLed(const pLinha: Integer; const pColuna: Integer; const pCriar: Boolean = True): TLed; overload;

function GetLed(const pRect: TRect; const pCriar: Boolean = True): TLed; overload;

procedure DefineModo(const pModo: TModo); overload;

published

{ Published declarations }

property Alinhamento: TAlignment read FAlinhamento write SetAlinhamento;

property EspessuraLapis: Integer read FEspessuraLapis write SetEspessuraLapis;

property Rolagem: TSentidoRolagem read FRolagem write SetRolagem;

property TamanhoLed: Integer read FTamanhoLed write SetTamanhoLed;

property FonteUtilizada: TTipoFonte read FFonteUtilizada write SetFonteUtilizada;

property OnSaiuAreaMouse: TNotifyEvent read FOnSaiuAreaMouse write SetOnSaiuAreaMouse;

property OnMostraPosicaoMouse: TNotifyEvent read FOnMostraPosicaoMouse write SetOnMostraPosicaoMouse;

property OnAposDefinirPosicaoCursor: TNotifyEvent read FOnAposDefinirPosicaoCursor write SetOnAposDefinirPosicaoCursor;

property OnAposDesenhar: TNotifyEvent read FOnAposDesenhar write SetOnAposDesenhar;

property OnAntesDesenhar: TNotifyEvent read FOnAntesDesenhar write SetOnAntesDesenhar;

property OnRecebeFoco: TNotifyEvent read FOnRecebeFoco write SetOnRecebeFoco;

property FlexNroLinhas: Integer read FFlexNroLinhas write SetFlexNroLinhas;

property FlexNroColunas: Integer read FFlexNroColunas write SetFlexNroColunas;

property CorDivisao: TColor read FCorDivisao write SetCorDivisao;

property CorPadrao: TColor read FCorPadrao write SetCorPadrao;

property CorFundo: TColor read FCorFundo write SetCorFundo;

property DivisaoNaColuna: Integer read FDivisaoNaColuna write SetDivisaoNaColuna;

property DivisaoNaLinha: Boolean read FDivisaoNaLinha write SetDivisaoNaLinha;

property Modo: TModo read FModo write SetModo;

property PosicaoCursor: Integer read FPosicaoCursor write SetPosicaoCursor;

property Rotulo: String read GetRotulo;

property Deslocar: Integer read FDeslocar write SetDeslocar;

end;

procedure Register;

implementation

uses

Windows, Dialogs, Math, SysUtils, Forms, IniFiles;

procedure Register;

begin

RegisterComponents('MeuFlexLed', [TFlexLed]);

end;

{ TFlexLed }

//

//--- Verifica Quando a Tecla foi Pressionada ---

//

function TFlexLed.tbKeyIsDown(const Key: integer): boolean;

begin

Result := GetKeyState(Key) and 128 > 0;

end;

//

//--- Localiza Configuracao do Arquivo de Fontes ---

//

function TFlexLed.AchouConfigFonte(const pFonte: String; const pCaracter: String; out pConfigFonte: String): Boolean;

var

lArqIni : TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName)

//--- Quando Alterar as FONTES Mudar AQUI ---

+ 'FONTES10.INI');

//-------------------------------------------------------------

try

pConfigFonte := lArqIni.ReadString(pFonte, pCaracter, EmptyStr);

finally

lArqIni.Free;

Result := (Length(Trim(pConfigFonte)) > 0);

end;

end;

//

//--- Carrega Configuracoes do Arquivo de Fontes ---

//

function TFlexLed.AchouConfigFonte(const pFonte: TTipoFonte; const pCaracter: String; out pConfigFonte: String): Boolean;

var

lNomeFonte : String;

begin

Result := NomeFonte(pFonte, lNomeFonte);

Result := Result and AchouConfigFonte(lNomeFonte, pCaracter, pConfigFonte);

end;

//

//--- Alinhamento dos Caracteres/Texto no FlexLed ---

//

procedure TFlexLed.AlinhaTexto(const pAlinha: TAlignment);

var

lIdx : SmallInt;

lIdxC1, lIdxC2 : SmallInt;

lIdxD1, lIdxD2 : SmallInt;

lIdxR1, lIdxR2 : SmallInt;

lIdxM1 : SmallInt;

lTamLetra : SmallInt;

lTamTextoL1 : SmallInt;

lPosicaoIniL1 : SmallInt;

lTamTextoL2 : SmallInt;

lPosicaoIniL2 : SmallInt;

vAlinhamento : Integer;

vTemDivisao : String;

begin

lPosicaoIniL1 := 0;

lPosicaoIniL2 := 0;

lTamTextoL1 := 0;

lTamTextoL2 := 0;

vAlinhamento := 0;

vTemDivisao := 'N';

if (pAlinha = taLeftJustify) then

vAlinhamento := 0;

if (pAlinha = taCenter) then

vAlinhamento := 1;

if (pAlinha = taRightJustify) then

vAlinhamento := 2;

try

//

//--- C E N T R O ---

//

if pAlinha = taCenter then

begin

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

vTemDivisao := 'S';

//--- Verifica Linha 1 ---

for lIdxC1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxC1]) and

(FConfig[lIdxC1].Posicao = 1) and

(FConfig[lIdxC1].Linha = 0) and

(FConfig[lIdxC1].Alinhamento <> vAlinhamento) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdxC1].Fim - FConfig[lIdxC1].Inicio);

end;

if not(FLinha2Ativa) and

(FPosicaoLinha1 <> taCenter) then

begin

if (FDivisaoNaColuna > 0) then

lPosicaoIniL1 := ((FFlexNroColunas - lTamTextoL1 - FDivisaoNaColuna) div 2) + FDivisaoNaColuna

else

lPosicaoIniL1 := ((FFlexNroColunas - lTamTextoL1) div 2);

end else

lPosicaoIniL1 := FColunaLinha1;

//--- Verifica Linha 2 ---

for lIdxC2 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxC2]) and

(FConfig[lIdxC2].Posicao = 2) and

(FConfig[lIdxC2].Linha = 8) and

(FConfig[lIdxC2].Alinhamento <> vAlinhamento) then

lTamTextoL2 := lTamTextoL2 + (FConfig[lIdxC2].Fim - FConfig[lIdxC2].Inicio);

end;

if (FLinha2Ativa) and

(FPosicaoLinha2 <> taCenter) then

begin

if (FDivisaoNaColuna > 0) then

lPosicaoIniL2 := ((FFlexNroColunas - lTamTextoL2 - FDivisaoNaColuna) div 2) + FDivisaoNaColuna

else

lPosicaoIniL2 := ((FFlexNroColunas - lTamTextoL2) div 2);

end else

lPosicaoIniL2 := FColunaLinha2;

end else

begin

//

//--- SEM - Divisao na Linha ---

//

// --- COM - Divisao de COLUNA ---

if (FDivisaoNaColuna > 0) then

begin

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 3) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

lPosicaoIniL1 := (FFlexNroColunas - lTamTextoL1 - FDivisaoNaColuna) div 2 + FDivisaoNaColuna

end else

begin

//--- SEM - Divisao de COLUNA ---

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 0) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

lPosicaoIniL1 := (FFlexNroColunas - lTamTextoL1) div 2;

end;

end;

end; //--- C E N T R O ---

//

//--- D I R E I T A ---

//

if pAlinha = taRightJustify then

begin

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

vTemDivisao := 'S';

//--- Verifica Linha 1 ---

for lIdxD1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxD1]) and

(FConfig[lIdxD1].Posicao = 1) and

(FConfig[lIdxD1].Linha = 0) and

(FConfig[lIdxD1].Alinhamento <> vAlinhamento) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdxD1].Fim - FConfig[lIdxD1].Inicio);

end;

if not(FLinha2Ativa) and

(FPosicaoLinha1 <> taRightJustify) then

lPosicaoIniL1 := (FFlexNroColunas - lTamTextoL1)

else

lPosicaoIniL1 := FColunaLinha1;

//--- Verifica Linha 2 ---

for lIdxD2 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxD2]) and

(FConfig[lIdxD2].Posicao = 2) and

(FConfig[lIdxD2].Linha = 8) and

(FConfig[lIdxD2].Alinhamento <> vAlinhamento) then

lTamTextoL2 := lTamTextoL2 + (FConfig[lIdxD2].Fim - FConfig[lIdxD2].Inicio);

end;

if (FLinha2Ativa) and

(FPosicaoLinha2 <> taRightJustify) then

lPosicaoIniL2 := (FFlexNroColunas - lTamTextoL2)

else

lPosicaoIniL2 := FColunaLinha2;

end else

begin

//

//--- SEM - Divisao na Linha ---

//

//--- COM - Divisao de COLUNA ---

if (FDivisaoNaColuna > 0) then

begin

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 3) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

lPosicaoIniL1 := (FFlexNroColunas - lTamTextoL1 - FDivisaoNaColuna) + FDivisaoNaColuna;

end else

begin

//--- SEM - Divisao de COLUNA ---

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 0) then

lTamTextoL1 := lTamTextoL1 + (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

lPosicaoIniL1 := (FFlexNroColunas - lTamTextoL1);

end;

end;

end; //--- D I R E I T A ---

//

//--- E S Q U E R D A ---

//

if pAlinha = taLeftJustify then

begin

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

vTemDivisao := 'S';

//--- Verifica Linha 1 ---

if not(FLinha2Ativa) then

lPosicaoIniL1 := FDivisaoNaColuna;

//--- Verifica Linha 2 ---

if (FLinha2Ativa) then

lPosicaoIniL2 := FDivisaoNaColuna;

end else

begin

//

//--- SEM - Divisao na Linha ---

//

if (FDivisaoNaColuna > 0) then

begin

//--- COM - Divisao de COLUNA ---

lPosicaoIniL1 := FDivisaoNaColuna;

end else

begin

//--- SEM - Divisao de COLUNA ---

PosicaoCursor := 0;

end;

end;

end; //--- E S Q U E R D A ---

finally

//

//--- Reposiciona os Caracteres na Matrix do FlexLed ---

//

//--- COM - Divisao na Linha ---

//

if (vTemDivisao = 'S') then

begin

//--- Reposiciona Linha 1 ---

if not(FLinha2Ativa) then

begin

for lIdxR1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxR1]) and

(FConfig[lIdxR1].Posicao = 1) and

(FConfig[lIdxR1].Linha = 0) then

begin

lTamLetra := (FConfig[lIdxR1].Fim - FConfig[lIdxR1].Inicio);

FColunaLinha1 := lPosicaoIniL1;

FConfig[lIdxR1].Inicio := lPosicaoIniL1;

FConfig[lIdxR1].Fim := lPosicaoIniL1 + lTamLetra;

lPosicaoIniL1 := lPosicaoIniL1 + lTamLetra;

FPosicaoLinha1 := pAlinha;

case pAlinha of

taLeftJustify :

FConfig[lIdxR1].Alinhamento := 0;

taCenter :

FConfig[lIdxR1].Alinhamento := 1;

taRightJustify :

FConfig[lIdxR1].Alinhamento := 2;

end;

end;

end;

end;

//--- Reposiciona Linha 2 ---

if (FLinha2Ativa) then

begin

for lIdxR2 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxR2]) and

(FConfig[lIdxR2].Posicao = 2) and

(FConfig[lIdxR2].Linha = 8) then

begin

lTamLetra := (FConfig[lIdxR2].Fim - FConfig[lIdxR2].Inicio);

FColunaLinha2 := lPosicaoIniL2;

FConfig[lIdxR2].Inicio := lPosicaoIniL2;

FConfig[lIdxR2].Fim := lPosicaoIniL2 + lTamLetra;

lPosicaoIniL2 := lPosicaoIniL2 + lTamLetra;

FPosicaoLinha2 := pAlinha;

case pAlinha of

taLeftJustify :

FConfig[lIdxR2].Alinhamento := 0;

taCenter :

FConfig[lIdxR2].Alinhamento := 1;

taRightJustify :

FConfig[lIdxR2].Alinhamento := 2;

end;

end;

end;

end;

end else

begin

//

//--- SEM - Divisao na Linha ---

//

if (FDivisaoNaColuna > 0) then

begin

//--- COM - Divisao de COLUNA ---

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 3) then

begin

lTamLetra := (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

FConfig[lIdx].Inicio := lPosicaoIniL1;

FConfig[lIdx].Fim := lPosicaoIniL1 + lTamLetra;

lPosicaoIniL1 := lPosicaoIniL1 + lTamLetra;

end;

end else

begin

//--- SEM - Divisao de COLUNA ---

for lIdx := 0 to Length(FConfig) -1 do

if Assigned(FConfig[lIdx]) and

(FConfig[lIdx].Posicao = 0) then

begin

lTamLetra := (FConfig[lIdx].Fim - FConfig[lIdx].Inicio);

FConfig[lIdx].Inicio := lPosicaoIniL1;

FConfig[lIdx].Fim := lPosicaoIniL1 + lTamLetra;

lPosicaoIniL1 := lPosicaoIniL1 + lTamLetra;

end;

end;

end;

//

//--- Mostra os Caracteres no Painel - FlexLed ---

//

FNaoMostraCursor := not FNaoMostraCursor;

try

ApagaLeds(False);

for lIdxM1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxM1]) then

DesenhaPosicao(FConfig[lIdxM1]);

end;

finally

FNaoMostraCursor := not FNaoMostraCursor;

PosicaoCursor := PosicaoCursorCfg;

end;

end;

end;

//

//--- Retorna Altura do FlexLed ---

//

function TFlexLed.Altura: Integer;

begin

Result := (FFlexNroLinhas * FTamanhoLed);

end;

//

//---- Quando o Mouse e Clicado ----

//

procedure TFlexLed.AoClicar(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

FMouseLigado := True;

if (FModo = ModoSelecao) then

begin

//???

end;

end;

//

//--- Quanto Desfaz o Click do Mouse no FlexLed ---

//

procedure TFlexLed.AoDesClicar(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

if EspessuraLapis > 2 then

EspessuraLapis := 2;

FMouseLigado := False;

SetLength(FLigados, 0);

end;

//

//--- Quando o FlexLed Perde o Foco ---

//

procedure TFlexLed.AoPerderFoco(Sender: TObject);

begin

if Assigned(FTimer) then

FTimer.Enabled := False;

RetirarFoco;

if Assigned(Edit1) then

begin

Edit1.OnKeyDown := nil;

Edit1.OnKeyPress := nil;

end;

end;

//

//--- Quando o FlexLed Recebe o Foco ---

//

procedure TFlexLed.AoReceberFocoPadrao(Sender: TObject);

begin

RetirarFoco;

if Assigned(FTimer) then

FTimer.Enabled := True;

if Assigned(Edit1) then

begin

Edit1.OnKeyDown := OnPressionouTeclaApoio;

Edit1.OnKeyPress := OnPressionouTecla;

end;

if Assigned(FOnRecebeFoco) then

FOnRecebeFoco(Self);

end;

//

//--- Apaga Caracter no FlexLed na Posicao ---

//

procedure TFlexLed.ApagaPosicao(const pCfgChar: TCfgChar; const pLimpar: Boolean);

var

lIdx : Smallint;

lNroLinhas : Smallint;

lLed : TLed;

lIdx2 : Smallint;

lApagou : Boolean;

lColunas : SmallInt;

lPosicaoCursor : SmallInt;

begin

if Assigned(pCfgChar) then

begin

NroDeLinhas(pCfgChar.FTipoFonte, lNroLinhas);

if lNroLinhas > FFlexNroLinhas then

lNroLinhas := FFlexNroLinhas;

for lIdx := 0 to lNroLinhas -1 do

for lIdx2 := pCfgChar.Inicio to pCfgChar.Fim -1 do

begin

lLed := GetLed(lIdx, lIdx2, False);

if Assigned(lLed) then

lLed.Ligado := False;

end;

if pLimpar then

begin

lPosicaoCursor := 0;

lColunas := 0;

lApagou := False;

//-VER

for lIdx := 0 to Length(FConfig) -1 do

if assigned(FConfig[lIdx]) then

begin

if lApagou then

begin

ApagaPosicao(FConfig[lIdx], False);

try

FConfig[lIdx -1] := FConfig[lIdx];

FConfig[lIdx -1].FInicio := FConfig[lIdx -1].FInicio - lColunas;

FConfig[lIdx -1].FFim := FConfig[lIdx -1].FFim - lColunas;

FConfig[lIdx] := nil;

finally

DesenhaPosicao(FConfig[lIdx -1]);

end;

end else

if Assigned(FConfig[lIdx]) and

(pCfgChar.Inicio = FConfig[lIdx].Inicio) and

(pCfgChar.Fim = FConfig[lIdx].Fim) then

begin

lPosicaoCursor := FConfig[lIdx].FInicio;

lColunas := FConfig[lIdx].FFim - FConfig[lIdx].FInicio;

FreeAndNil(FConfig[lIdx]);

lApagou := True;

end;

end;

if lApagou then

begin

SetLength(FConfig, Length(FConfig) -1);

PosicaoCursor := lPosicaoCursor;

end;

end;

end;

end;

//

//--- Apaga Varios Caracteres no FlexLed Ate a Posicao ---

//

procedure TFlexLed.ApagaAtePosicao(const pCfgChar: TCfgChar; const pAteColuna: SmallInt);

var

lIdx : SmallInt;

lIdx2 : SmallInt;

lLed : TLed;

begin

for lIdx := FlexNroColunas downto pAteColuna do

for lIdx2 := FlexNroLinhas downto 0 do

begin

lLed := GetLed(lIdx2, lIdx, False);

if Assigned(lLed) then

lLed.DesligaLed;

end;

end;

//

//--- Camada do Apaga/Desliga Leds no FlexLed ---

//

procedure TFlexLed.ApagaLeds;

begin

ApagaLeds(True);

end;

//

//--- Apaga/Desliga Leds no FlexLed ---

//

procedure TFlexLed.ApagaLeds(const pInicializaConfig: Boolean);

var

lIdx : Integer;

lModo : TModo;

begin

try

lModo := Modo;

FModo := ModoGrafico;

try

for lIdx := 0 to Length(FMatrixLeds) -1 do

if assigned(FMatrixLeds[lIdx]) then

FMatrixLeds[lIdx].Ligado := False;

finally

FModo := lModo;

end;

if pInicializaConfig then

InicializaConfig;

finally

Deslocar := 0;

PosicaoCursor := 0;

end;

end;

//

//--- Carrega Matrix de Leds do FlexLed ---

//

procedure TFlexLed.CarregaMatrix(const pMatrix: String);

var

lIdx : Integer;

lPos : SmallInt;

lTmp : String;

lLin : SmallInt;

lCol : SmallInt;

lColor : TColor;

lLigado : Boolean;

lRotulo : Boolean;

lTipoFonte : SmallInt;

lPosicaoCursor : SmallInt;

procedure Inicializa;

begin

lTipoFonte := 0;

lPos := 1;

lTmp := EmptyStr;

lLin := 0;

lCol := 0;

lColor := 0;

lLigado := False;

end;

procedure GuardaFonte;

begin

if lRotulo then

begin

GetConfig(GetTipoFonte(IntToStr(lTipoFonte)), IntToStr(lColor), lLin, lCol);

if lCol > lPosicaoCursor then

lPosicaoCursor := lCol;

Inicializa;

end;

end;

begin

Inicializa;

lPosicaoCursor := 0;

lRotulo := False;

try

for lIdx := 1 to Length(pMatrix) do

begin

if (pMatrix[lIdx] = ')') then

begin

lRotulo := lRotulo;

GuardaFonte;

end else

if (pMatrix[lIdx] = '(') then

begin

lRotulo := True;

Inicializa;

end else

if not lRotulo and (pMatrix[lIdx] = '|') then

begin

if lPos > 0 then

begin

GetLed(lLin, lCol).Color := lColor;

GetLed(lLin, lCol).Ligado := lLigado;

end;

Inicializa;

end else

if (pMatrix[lIdx] = '|') then

begin

if lRotulo then

begin

GuardaFonte;

Inicializa;

end;

end else

if pMatrix[lIdx] = '-' then

Inc(lPos)

else

if (lPos = 1) then

begin

lTmp := IntToStr(lLin);

lLin := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end else

if (lPos = 2) then

begin

lTmp := IntToStr(lCol);

lCol := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end else

if (lPos = 3) then

begin

lTmp := IntToStr(lColor);

lColor := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end else

if not lRotulo and (lPos = 4) then

lLigado := (pMatrix[lIdx] = 'T')

else

if (lPos = 4) then

begin

lTmp := IntToStr(lTipoFonte);

lTipoFonte := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end;

end;

finally

PosicaoCursor := lPosicaoCursor;

end;

end;

//

//--- Rotorna o Tamanho Maximo de Colunas do FlexLed ---

//

function TFlexLed.MaxColuna: Integer;

var

lIdx,lIdxL1,lIdxL2 : Integer;

begin

Result := 0;

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

//--- 1a Linha do FlexLed ---

if not(FLinha2Ativa) then

begin

for lIdxL1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxL1]) and

(FConfig[lIdxL1].Posicao = 1) and

(FConfig[lIdxL1].Linha = 0) then

if (Result < FConfig[lIdxL1].Fim) then

Result := FConfig[lIdxL1].Fim;

end;

end;

//--- 2a Linha do FlexLed ---

if (FLinha2Ativa) then

begin

for lIdxL2 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxL2]) and

(FConfig[lIdxL2].Posicao = 2) and

(FConfig[lIdxL2].Linha = 8) then

if (Result < FConfig[lIdxL2].Fim) then

Result := FConfig[lIdxL2].Fim;

end;

end;

end else

begin

//--- SEM - Divisao na Linha ---

for lIdx := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdx]) then

if (Result < FConfig[lIdx].Fim) then

Result := FConfig[lIdx].Fim;

end;

end;

end;

//

//--- Retorna a Largura do FlexLed ---

//

function TFlexLed.Largura: Integer;

begin

Result := (FFlexNroColunas * FTamanhoLed);

end;

//

//--- Liga/Acende os Leds no FlexLed ---

//

procedure TFlexLed.LigarLedPainel(Sender: TObject);

var

lRect : TRect;

lLed : TLed;

lIdx : Integer;

lLed2 : TLed;

begin

if (FModo = ModoSimulador) then

Exit;

if PosicaoMouseX < 0 then

Exit;

if PosicaoMouseX > Width then

Exit;

if PosicaoMouseY < 0 then

Exit;

if PosicaoMouseY > Height then

Exit;

lRect.Left := PosicaoMouseX;

lRect.Top := PosicaoMouseY;

lRect.Right := PosicaoMouseX;

lRect.Bottom := PosicaoMouseY;

if (FModo = ModoTexto) then

lLed := GetLed(FlexNroLinhas, MaxColuna)

else

lLed := GetLed(lRect);

if Assigned(lLed) then

begin

if (FModo = ModoTexto) then

PosicaoCursor := lLed.FColuna

else

if FMouseLigado and JaFoiLigado(lLed) then

Exit;

if (FModo = ModoGrafico) then

begin

lLed.Ligado := not lLed.Ligado;

if EspessuraLapis > 1 then

begin

if EspessuraLapis = 2 then

begin

EspessuraLapis := 3;

FSituacao := lLed.Ligado;

end;

lLed2 := GetLed(lLed.FLinha +1, lLed.FColuna);

if Assigned(lLed2) then

lLed2.Ligado := FSituacao;

lLed2 := GetLed(lLed.FLinha -1, lLed.FColuna);

if Assigned(lLed2) then

lLed2.Ligado := FSituacao;

lLed2 := GetLed(lLed.FLinha, lLed.FColuna +1);

if Assigned(lLed2) then

lLed2.Ligado := FSituacao;

lLed2 := GetLed(lLed.FLinha, lLed.FColuna -1);

if Assigned(lLed2) then

lLed2.Ligado := FSituacao;

end;

end;

if FMouseLigado then

begin

lIdx := Length(FLigados) +1;

SetLength(FLigados, lIdx);

FLigados[lIdx -1] := lLed.LedID;

end;

end else

PosicaoCursor := 0;

RecebeFoco;

end;

//

//--- Carraga Nome das Fontes ---

//

function TFlexLed.NomeFonte(const pFonte: TTipoFonte; out pNomeFonte: String): Boolean;

begin

try

case pFonte of

tfArtelogic5x5: pNomeFonte := 'Artelogic 5x5';

tfArtelogic6x5: pNomeFonte := 'Artelogic 6x5';

tfArtelogic6x6: pNomeFonte := 'Artelogic 6x6';

tfArtelogic8x4: pNomeFonte := 'Artelogic 8x4';

tfArtelogic8x5: pNomeFonte := 'Artelogic 8x5';

tfArtelogic8x6: pNomeFonte := 'Artelogic 8x6';

tfArtelogic8x7: pNomeFonte := 'Artelogic 8x7';

tfArtelogic11x6: pNomeFonte := 'Artelogic 11x6';

tfArtelogic11x8: pNomeFonte := 'Artelogic 11x8';

tfArtelogic13x7: pNomeFonte := 'Artelogic 13x7';

tfArtelogic13x8: pNomeFonte := 'Artelogic 13x8';

tfArtelogic13x9: pNomeFonte := 'Artelogic 13x9';

else

pNomeFonte := EmptyStr;

end;

finally

Result := (Length(Trim(pNomeFonte)) > 0);

end;

end;

//

//--- Carrga o Numero de Coluna das Fontes ---

//

function TFlexLed.NroDeColunas(const pFonte: TTipoFonte; out pNroColunas: SmallInt): Boolean;

begin

try

case pFonte of

tfArtelogic5x5: pNroColunas := 5;

tfArtelogic6x5: pNroColunas := 5;

tfArtelogic6x6: pNroColunas := 6;

tfArtelogic8x4: pNroColunas := 4;

tfArtelogic8x5: pNroColunas := 5;

tfArtelogic8x6: pNroColunas := 6;

tfArtelogic8x7: pNroColunas := 7;

tfArtelogic11x6: pNroColunas := 6;

tfArtelogic11x8: pNroColunas := 8;

tfArtelogic13x7: pNroColunas := 7;

tfArtelogic13x8: pNroColunas := 8;

tfArtelogic13x9: pNroColunas := 9;

else

pNroColunas := 0;

end;

finally

Result := (pNroColunas > 0);

end;

end;

//

//--- Retorna o Numero de Colunas ---

//

function TFlexLed.NroDeColunas(const pConfigFonte: String; const pNroLinhas: SmallInt; out pNroColunas: SmallInt): Boolean;

var

lLinha : SmallInt;

lIdx : SmallInt;

begin

pNroColunas := 0;

Result := (length(pConfigFonte) > 0);

if length(pConfigFonte) > 0 then

begin

lLinha := 1;

for lIdx := 1 to length(pConfigFonte) do

begin

Inc(lLinha);

if (lLinha > pNroLinhas) then

begin

lLinha := 1;

if not (pConfigFonte[lIdx] = '2') then

Inc(pNroColunas);

end;

end;

end;

end;

//

//--- Carrega o Numero de Linhas das Fontes ---

//

function TFlexLed.NroDeLinhas(const pFonte: TTipoFonte; out pNroLinhas: SmallInt): Boolean;

begin

try

case pFonte of

tfArtelogic5x5: pNroLinhas := 5;

tfArtelogic6x5: pNroLinhas := 6;

tfArtelogic6x6: pNroLinhas := 6;

tfArtelogic8x4: pNroLinhas := 8;

tfArtelogic8x5: pNroLinhas := 8;

tfArtelogic8x6: pNroLinhas := 8;

tfArtelogic8x7: pNroLinhas := 8;

tfArtelogic11x6: pNroLinhas := 11;

tfArtelogic11x8: pNroLinhas := 11;

tfArtelogic13x7: pNroLinhas := 13;

tfArtelogic13x8: pNroLinhas := 13;

tfArtelogic13x9: pNroLinhas := 13;

else

pNroLinhas := 0;

end;

finally

Result := (pNroLinhas > 0);

end;

end;

//

//--- Desenha o Led na Posicao no Canvas do FlexLed ---

//

procedure TFlexLed.Quadricular(const pNroLinhas: Integer; const pNroColunas: Integer; const pPadrao: Integer);

var

lLin : Integer;

lCol : Integer;

lRect : TRect;

lLedAtual : TLed;

lRectDivisao : TRect;

begin

for lCol := 0 to pNroColunas -1 do

for lLin := 0 to pNroLinhas -1 do

begin

lLedAtual := GetLed(lLin, lCol, lRect);

if Assigned(lLedAtual) and

(FDivisaoNaColuna > 0) and

(lCol = FDivisaoNaColuna) then

lRectDivisao := lLedAtual.Coordenadas;

lRect.Left := Round(lCol * pPadrao) + (Deslocar * pPadrao);

lRect.Top := Round(lLin * pPadrao);

lRect.Right := (lRect.Left + pPadrao);

lRect.Bottom := lRect.Top + pPadrao;

if Assigned(lLedAtual) then

lLedAtual.Coordenadas := lRect;

end;

for lCol := 0 to pNroColunas -1 do

for lLin := 0 to pNroLinhas -1 do

begin

lLedAtual := GetLed(lLin, lCol, False);

if Assigned(lLedAtual) then

lLedAtual.DesenhaLed;

end;

if Deslocar < 0 then //--- Direita Falta (Fim)

begin

for lCol := pNroColunas + Deslocar to pNroColunas -1 do

for lLin := 0 to pNroLinhas -1 do

begin

lRect.Left := Round(lCol * pPadrao);

lRect.Top := Round(lLin * pPadrao);

lRect.Right := (lRect.Left + pPadrao);

lRect.Bottom := lRect.Top + pPadrao;

PintaImagem(lRect, CorFundo, False);

Canvas.CopyRect(lRect, FImage.Canvas, GetRectImage);

end;

end else

if Deslocar > 0 then //--- Esquerda Falta (Inicio)

for lCol := Deslocar -1 downto 0 do

for lLin := 0 to pNroLinhas -1 do

begin

lRect.Left := Round(lCol * pPadrao);

lRect.Top := Round(lLin * pPadrao);

lRect.Right := (lRect.Left + pPadrao);

lRect.Bottom := lRect.Top + pPadrao;

PintaImagem(lRect, CorFundo, False);

Canvas.CopyRect(lRect, FImage.Canvas, GetRectImage);

end;

DesenhaDivisaoColuna;

DesenhaDivisaoLinha;

end;

//

//--- Carrega Matrix de Leds ---

//

procedure TFlexLed.CarregaMatrix(const pMatrix: TMemoryStream);

var

lMeuByte : byte;

lString : String;

lNaoAcabou : Boolean;

begin

if Assigned(pMatrix) then

begin

lString := EmptyStr;

try

pMatrix.Position := 0;

lNaoAcabou := pMatrix.Size > 0;

while lNaoAcabou do

begin

pMatrix.Read(lMeuByte, SizeOf(lMeuByte));

lString := lString + Chr(lMeuByte);

lNaoAcabou := (pMatrix.Position < pMatrix.Size);

end;

finally

CarregaMatrix(lString);

end;

end;

end;

procedure TFlexLed.ColocaGrade;

var

lFlexNroColunas : Integer;

begin

if Visible then

begin

if Assigned(FOnAntesDesenhar) then

FOnAntesDesenhar(Self);

try

Width := Largura;

Height := Altura;

lFlexNroColunas := FFlexNroColunas;

if Deslocar < 0 then

lFlexNroColunas := lFlexNroColunas + (Deslocar * -1);

Quadricular(FFlexNroLinhas, lFlexNroColunas, FTamanhoLed);

finally

if Assigned(FOnAposDesenhar) then

FOnAposDesenhar(Self);

end;

end;

end;

//

//--- Inicializa o FlexLed ---

//

constructor TFlexLed.Create(AOwner: TComponent);

begin

inherited Create(AOwner);

CriaArquivoFontes;

FTimer := TTimer.Create(Self);

FTimer.Interval := 200;

FTimer.OnTimer := PiscaCursor;

FTimer.Enabled := True;

if not(csDesigning in ComponentState) and

not Assigned(Edit1) then

begin

Edit1 := TEdit.Create(AOwner);

Edit1.OnEnter := AoReceberFocoPadrao;

Edit1.OnExit := AoPerderFoco;

Edit1.Top := Top;

Edit1.Left := Left;

Edit1.Width := 1;

end;

FEspessuraLapis := 1;

FInserir := True;

FTamanhoLed := 7;

FImage := TImage.Create(Self);

FImage.Width := FTamanhoLed;

FImage.Height := FTamanhoLed;

FLinha2Ativa := False;

FColunaLinha1 := 0;

FColunaLinha2 := 0;

FPosicaoLinha1 := taLeftJustify;

FPosicaoLinha2 := taLeftJustify;

FModo := ModoGrafico;

PosicaoCursor := 0;

SetLength(FMatrixLeds, 0);

SetLength(FConfig, 0);

Parent := (AOwner as TWinControl);

if Assigned(Edit1) then

begin

Edit1.Parent := Parent;

Edit1.SendToBack;

end;

FFonteUtilizada := tfArtelogic8x7;

FCorFundo := clBlack;

FCorPadrao := clYellow;

FFlexNroColunas := 128;

FFlexNroLinhas := 13;

FLedID := 0;

FMouseLigado := False;

OnMouseMove := RegistraPosicaoMouse;

OnMouseLeave := OnSaiuAreaMouse;

OnMouseDown := AoClicar;

OnMouseUp := AoDesClicar;

OnClick := LigarLedPainel;

end;

//

//----------------------------------------------------------

//--- Criar Arquivo de FONTES ---

//----------------------------------------------------------

//--- Observacao: ---

//--- 1) Quando alterar alguma informacao sobre a fonte ---

//--- deve-se trocar a numeração FONTES?? para o proximo ---

//--- numero sequencial da Fonte.

//--- 2) Tambem alterar na rotina: AchouConfigFonte ---

//----------------------------------------------------------

//--- Atual: FONTES10.INI ---

//----------------------------------------------------------

//

procedure TFlexLed.CriaArquivoFontes;

begin

CriaFontes5x5;

CriaFontes6x5;

CriaFontes6x6;

CriaFontes8x4;

CriaFontes8x5;

CriaFontes8x6;

CriaFontes8x7;

CriaFontes11x6;

CriaFontes11x8;

CriaFontes13x7;

CriaFontes13x8;

CriaFontes13x9;

end;

procedure TFlexLed.CriaFontes5x5;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 5 x 5 ------

//

if not lArqIni.ValueExists('Artelogic 5x5', '65') then

lArqIni.WriteString('Artelogic 5x5', '65', '0111110100101000111100000'); // A

if not lArqIni.ValueExists('Artelogic 5x5', '66') then

lArqIni.WriteString('Artelogic 5x5', '66', '1111110101101010101000000'); // B

if not lArqIni.ValueExists('Artelogic 5x5', '67') then

lArqIni.WriteString('Artelogic 5x5', '67', '0111010001100011000100000'); // C

if not lArqIni.ValueExists('Artelogic 5x5', '68') then

lArqIni.WriteString('Artelogic 5x5', '68', '1111110001100010111000000'); // D

if not lArqIni.ValueExists('Artelogic 5x5', '69') then

lArqIni.WriteString('Artelogic 5x5', '69', '1111110101101011000100000'); // E

if not lArqIni.ValueExists('Artelogic 5x5', '70') then

lArqIni.WriteString('Artelogic 5x5', '70', '1111110100101001000000000'); // F

if not lArqIni.ValueExists('Artelogic 5x5', '71') then

lArqIni.WriteString('Artelogic 5x5', '71', '0111010001101011011100000'); // G

if not lArqIni.ValueExists('Artelogic 5x5', '72') then

lArqIni.WriteString('Artelogic 5x5', '72', '1111100100001001111100000'); // H

if not lArqIni.ValueExists('Artelogic 5x5', '32') then

lArqIni.WriteString('Artelogic 5x5', '32', '0000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 5x5', '73') then

lArqIni.WriteString('Artelogic 5x5', '73', '1111100000'); // I

if not lArqIni.ValueExists('Artelogic 5x5', '74') then

lArqIni.WriteString('Artelogic 5x5', '74', '00001000011111000000'); // J

if not lArqIni.ValueExists('Artelogic 5x5', '75') then

lArqIni.WriteString('Artelogic 5x5', '75', '1111100100010101000100000'); // K

if not lArqIni.ValueExists('Artelogic 5x5', '76') then

lArqIni.WriteString('Artelogic 5x5', '76', '1111100001000010000100000'); // L

if not lArqIni.ValueExists('Artelogic 5x5', '77') then

lArqIni.WriteString('Artelogic 5x5', '77', '111110100000100010001111100000'); // M

if not lArqIni.ValueExists('Artelogic 5x5', '78') then

lArqIni.WriteString('Artelogic 5x5', '78', '111110100000100000101111100000'); // N

if not lArqIni.ValueExists('Artelogic 5x5', '79') then

lArqIni.WriteString('Artelogic 5x5', '79', '0111010001100010111000000'); // O

if not lArqIni.ValueExists('Artelogic 5x5', '80') then

lArqIni.WriteString('Artelogic 5x5', '80', '1111110100101000100000000'); // P

if not lArqIni.ValueExists('Artelogic 5x5', '81') then

lArqIni.WriteString('Artelogic 5x5', '81', '0100010100101001111100000'); // Q

if not lArqIni.ValueExists('Artelogic 5x5', '82') then

lArqIni.WriteString('Artelogic 5x5', '82', '1111110100101100100100000'); // R

if not lArqIni.ValueExists('Artelogic 5x5', '83') then

lArqIni.WriteString('Artelogic 5x5', '83', '0100110101101011001000000'); // S

if not lArqIni.ValueExists('Artelogic 5x5', '84') then

lArqIni.WriteString('Artelogic 5x5', '84', '10000111111000000000'); // T

if not lArqIni.ValueExists('Artelogic 5x5', '85') then

lArqIni.WriteString('Artelogic 5x5', '85', '1111000001000011111000000'); // U

if not lArqIni.ValueExists('Artelogic 5x5', '86') then

lArqIni.WriteString('Artelogic 5x5', '86', '111000001000001000101110000000'); // V

if not lArqIni.ValueExists('Artelogic 5x5', '87') then

lArqIni.WriteString('Artelogic 5x5', '87', '111110000100110000011111100000'); // W

if not lArqIni.ValueExists('Artelogic 5x5', '88') then

lArqIni.WriteString('Artelogic 5x5', '88', '100010101000100010101000100000'); // X

if not lArqIni.ValueExists('Artelogic 5x5', '89') then

lArqIni.WriteString('Artelogic 5x5', '89', '1000001000001110100010000'); // Y

if not lArqIni.ValueExists('Artelogic 5x5', '90') then

lArqIni.WriteString('Artelogic 5x5', '90', '10001100111011111101'); // Z

if not lArqIni.ValueExists('Artelogic 5x5', '49') then

lArqIni.WriteString('Artelogic 5x5', '49', '010001111100000'); // 1

if not lArqIni.ValueExists('Artelogic 5x5', '50') then

lArqIni.WriteString('Artelogic 5x5', '50', '1001110101101010110100000'); // 2

if not lArqIni.ValueExists('Artelogic 5x5', '51') then

lArqIni.WriteString('Artelogic 5x5', '51', '1000110101101010101000000'); // 3

if not lArqIni.ValueExists('Artelogic 5x5', '52') then

lArqIni.WriteString('Artelogic 5x5', '52', '0011001010111110001000000'); // 4

if not lArqIni.ValueExists('Artelogic 5x5', '53') then

lArqIni.WriteString('Artelogic 5x5', '53', '1110110101101011001000000'); // 5

if not lArqIni.ValueExists('Artelogic 5x5', '54') then

lArqIni.WriteString('Artelogic 5x5', '54', '0111010101101011001000000'); // 6

if not lArqIni.ValueExists('Artelogic 5x5', '55') then

lArqIni.WriteString('Artelogic 5x5', '55', '1000110010101001100000000'); // 7

if not lArqIni.ValueExists('Artelogic 5x5', '56') then

lArqIni.WriteString('Artelogic 5x5', '56', '0101010101101010101000000'); // 8

if not lArqIni.ValueExists('Artelogic 5x5', '57') then

lArqIni.WriteString('Artelogic 5x5', '57', '0100010101101010111000000'); // 9

if not lArqIni.ValueExists('Artelogic 5x5', '48') then

lArqIni.WriteString('Artelogic 5x5', '48', '0111010001100010111000000'); // 0

if not lArqIni.ValueExists('Artelogic 5x5', '97') then

lArqIni.WriteString('Artelogic 5x5', '97', '0001010101101010111100000'); // a

if not lArqIni.ValueExists('Artelogic 5x5', '98') then

lArqIni.WriteString('Artelogic 5x5', '98', '1111100101001010001000000'); // b

if not lArqIni.ValueExists('Artelogic 5x5', '99') then

lArqIni.WriteString('Artelogic 5x5', '99', '0011001001010010100100000'); // c

if not lArqIni.ValueExists('Artelogic 5x5', '100') then

lArqIni.WriteString('Artelogic 5x5', '100', '0001000101001011111100000'); // d

if not lArqIni.ValueExists('Artelogic 5x5', '101') then

lArqIni.WriteString('Artelogic 5x5', '101', '0111010101101010110100000'); // e

if not lArqIni.ValueExists('Artelogic 5x5', '102') then

lArqIni.WriteString('Artelogic 5x5', '102', '00100011111010000000'); // f

if not lArqIni.ValueExists('Artelogic 5x5', '103') then

lArqIni.WriteString('Artelogic 5x5', '103', '0100110101101010111000000'); // g

if not lArqIni.ValueExists('Artelogic 5x5', '104') then

lArqIni.WriteString('Artelogic 5x5', '104', '1111100100001000001100000'); // h

if not lArqIni.ValueExists('Artelogic 5x5', '105') then

lArqIni.WriteString('Artelogic 5x5', '105', '1011100000'); // i

if not lArqIni.ValueExists('Artelogic 5x5', '106') then

lArqIni.WriteString('Artelogic 5x5', '106', '000010111000000'); // j

if not lArqIni.ValueExists('Artelogic 5x5', '107') then

lArqIni.WriteString('Artelogic 5x5', '107', '11111001000101100000'); // k

if not lArqIni.ValueExists('Artelogic 5x5', '108') then

lArqIni.WriteString('Artelogic 5x5', '108', '1111100000'); // l

if not lArqIni.ValueExists('Artelogic 5x5', '109') then

lArqIni.WriteString('Artelogic 5x5', '109', '011110100000111010000011100000'); // m

if not lArqIni.ValueExists('Artelogic 5x5', '110') then

lArqIni.WriteString('Artelogic 5x5', '110', '0111101000010000011100000'); // n

if not lArqIni.ValueExists('Artelogic 5x5', '111') then

lArqIni.WriteString('Artelogic 5x5', '111', '0011001001010010011000000'); // o

if not lArqIni.ValueExists('Artelogic 5x5', '112') then

lArqIni.WriteString('Artelogic 5x5', '112', '0111101010010100010000000'); // p

if not lArqIni.ValueExists('Artelogic 5x5', '113') then

lArqIni.WriteString('Artelogic 5x5', '113', '0010001010010100111100000'); // q

if not lArqIni.ValueExists('Artelogic 5x5', '114') then

lArqIni.WriteString('Artelogic 5x5', '114', '0111100100010000000000000'); // r

if not lArqIni.ValueExists('Artelogic 5x5', '115') then

lArqIni.WriteString('Artelogic 5x5', '115', '0100110101101011001000000'); // s

if not lArqIni.ValueExists('Artelogic 5x5', '116') then

lArqIni.WriteString('Artelogic 5x5', '116', '01000111100100100000'); // t

if not lArqIni.ValueExists('Artelogic 5x5', '117') then

lArqIni.WriteString('Artelogic 5x5', '117', '0111000001000010111000000'); // u

if not lArqIni.ValueExists('Artelogic 5x5', '118') then

lArqIni.WriteString('Artelogic 5x5', '118', '011000001000001000100110000000'); // v

if not lArqIni.ValueExists('Artelogic 5x5', '120') then

lArqIni.WriteString('Artelogic 5x5', '120', '100010101000100010101000100000'); // x

if not lArqIni.ValueExists('Artelogic 5x5', '121') then

lArqIni.WriteString('Artelogic 5x5', '121', '1100000101001011111000000'); // y

if not lArqIni.ValueExists('Artelogic 5x5', '122') then

lArqIni.WriteString('Artelogic 5x5', '122', '0100101011011010100100000'); // z

if not lArqIni.ValueExists('Artelogic 5x5', '46') then

lArqIni.WriteString('Artelogic 5x5', '46', '0000100000'); // .

if not lArqIni.ValueExists('Artelogic 5x5', '58') then

lArqIni.WriteString('Artelogic 5x5', '58', '0101000000'); // :

if not lArqIni.ValueExists('Artelogic 5x5', '47') then

lArqIni.WriteString('Artelogic 5x5', '47', '0000100010001000100000000'); // /

if not lArqIni.ValueExists('Artelogic 5x5', '33') then

lArqIni.WriteString('Artelogic 5x5', '33', '1110100000'); // !

if not lArqIni.ValueExists('Artelogic 5x5', '40') then

lArqIni.WriteString('Artelogic 5x5', '40', '011101000100000'); // (

if not lArqIni.ValueExists('Artelogic 5x5', '41') then

lArqIni.WriteString('Artelogic 5x5', '41', '100010111000000'); // )

if not lArqIni.ValueExists('Artelogic 5x5', '43') then

lArqIni.WriteString('Artelogic 5x5', '43', '001000010011111001000010000000'); // +

if not lArqIni.ValueExists('Artelogic 5x5', '45') then

lArqIni.WriteString('Artelogic 5x5', '45', '0010000100001000010000000'); // -

if not lArqIni.ValueExists('Artelogic 5x5', '205') then

lArqIni.WriteString('Artelogic 5x5', '205', '011111000000000'); // Í

if not lArqIni.ValueExists('Artelogic 5x5', '237') then

lArqIni.WriteString('Artelogic 5x5', '237', '001110100000000'); // í

if not lArqIni.ValueExists('Artelogic 5x5', '231') then

lArqIni.WriteString('Artelogic 5x5', '231', '0110010010101111001000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes6x5;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 6 x 5 ------

//

if not lArqIni.ValueExists('Artelogic 6x5', '65') then

lArqIni.WriteString('Artelogic 6x5', '65', '001111010100100100010100001111000000'); // A

if not lArqIni.ValueExists('Artelogic 6x5', '66') then

lArqIni.WriteString('Artelogic 6x5', '66', '111111101001101001101001010110000000'); // B

if not lArqIni.ValueExists('Artelogic 6x5', '67') then

lArqIni.WriteString('Artelogic 6x5', '67', '011110100001100001100001010010000000'); // C

if not lArqIni.ValueExists('Artelogic 6x5', '68') then

lArqIni.WriteString('Artelogic 6x5', '68', '111111100001100001100001011110000000'); // D

if not lArqIni.ValueExists('Artelogic 6x5', '69') then

lArqIni.WriteString('Artelogic 6x5', '69', '111111101001101001101001100001000000'); // E

if not lArqIni.ValueExists('Artelogic 6x5', '70') then

lArqIni.WriteString('Artelogic 6x5', '70', '111111101000101000101000100000000000'); // F

if not lArqIni.ValueExists('Artelogic 6x5', '71') then

lArqIni.WriteString('Artelogic 6x5', '71', '011110100001100101100101010111000000'); // G

if not lArqIni.ValueExists('Artelogic 6x5', '72') then

lArqIni.WriteString('Artelogic 6x5', '72', '111111001000001000001000111111000000'); // H

if not lArqIni.ValueExists('Artelogic 6x5', '32') then

lArqIni.WriteString('Artelogic 6x5', '32', '000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 6x5', '73') then

lArqIni.WriteString('Artelogic 6x5', '73', '111111000000'); // I

if not lArqIni.ValueExists('Artelogic 6x5', '74') then

lArqIni.WriteString('Artelogic 6x5', '74', '000001000001111110000000'); // J

if not lArqIni.ValueExists('Artelogic 6x5', '75') then

lArqIni.WriteString('Artelogic 6x5', '75', '111111000100001100010010100001000000'); // K

if not lArqIni.ValueExists('Artelogic 6x5', '76') then

lArqIni.WriteString('Artelogic 6x5', '76', '111111000001000001000001000000'); // L

if not lArqIni.ValueExists('Artelogic 6x5', '77') then

lArqIni.WriteString('Artelogic 6x5', '77', '111111010000001100010000111111000000'); // M

if not lArqIni.ValueExists('Artelogic 6x5', '78') then

lArqIni.WriteString('Artelogic 6x5', '78', '111111010000001100000010111111000000'); // N

if not lArqIni.ValueExists('Artelogic 6x5', '79') then

lArqIni.WriteString('Artelogic 6x5', '79', '011110100001100001100001011110000000'); // O

if not lArqIni.ValueExists('Artelogic 6x5', '80') then

lArqIni.WriteString('Artelogic 6x5', '80', '111111100100100100100100011000000000'); // P

if not lArqIni.ValueExists('Artelogic 6x5', '81') then

lArqIni.WriteString('Artelogic 6x5', '81', '011110100001100101100010011101000000'); // Q

if not lArqIni.ValueExists('Artelogic 6x5', '82') then

lArqIni.WriteString('Artelogic 6x5', '82', '111111100100100100100110011001000000'); // R

if not lArqIni.ValueExists('Artelogic 6x5', '83') then

lArqIni.WriteString('Artelogic 6x5', '83', '010010101001101101100101010010000000'); // S

if not lArqIni.ValueExists('Artelogic 6x5', '84') then

lArqIni.WriteString('Artelogic 6x5', '84', '100000100000111111100000100000000000'); // T

if not lArqIni.ValueExists('Artelogic 6x5', '85') then

lArqIni.WriteString('Artelogic 6x5', '85', '111110000001000001000001111110000000'); // U

if not lArqIni.ValueExists('Artelogic 6x5', '86') then

lArqIni.WriteString('Artelogic 6x5', '86', '111100000010000001000010111100000000'); // V

if not lArqIni.ValueExists('Artelogic 6x5', '88') then

lArqIni.WriteString('Artelogic 6x5', '88', '100001010010001100010010100001000000'); // X

if not lArqIni.ValueExists('Artelogic 6x5', '89') then

lArqIni.WriteString('Artelogic 6x5', '89', '110000001000000111001000110000000000'); // Y

if not lArqIni.ValueExists('Artelogic 6x5', '90') then

lArqIni.WriteString('Artelogic 6x5', '90', '100001100011100101101001110001000000'); // Z

if not lArqIni.ValueExists('Artelogic 6x5', '49') then

lArqIni.WriteString('Artelogic 6x5', '49', '010000111111000000'); // 1

if not lArqIni.ValueExists('Artelogic 6x5', '50') then

lArqIni.WriteString('Artelogic 6x5', '50', '010001100011100101101001010001000000'); // 2

if not lArqIni.ValueExists('Artelogic 6x5', '51') then

lArqIni.WriteString('Artelogic 6x5', '51', '010010100001101001101001010110000000'); // 3

if not lArqIni.ValueExists('Artelogic 6x5', '52') then

lArqIni.WriteString('Artelogic 6x5', '52', '000110001010010010111111000010000000'); // 4

if not lArqIni.ValueExists('Artelogic 6x5', '53') then

lArqIni.WriteString('Artelogic 6x5', '53', '111010101001101001101001100110000000'); // 5

if not lArqIni.ValueExists('Artelogic 6x5', '54') then

lArqIni.WriteString('Artelogic 6x5', '54', '011110101001101001101001100110000000'); // 6

if not lArqIni.ValueExists('Artelogic 6x5', '55') then

lArqIni.WriteString('Artelogic 6x5', '55', '100001100010100100101000110000000000'); // 7

if not lArqIni.ValueExists('Artelogic 6x5', '56') then

lArqIni.WriteString('Artelogic 6x5', '56', '010110101001101001101001010110000000'); // 8

if not lArqIni.ValueExists('Artelogic 6x5', '57') then

lArqIni.WriteString('Artelogic 6x5', '57', '011001100101100101100101011110000000'); // 9

if not lArqIni.ValueExists('Artelogic 6x5', '48') then

lArqIni.WriteString('Artelogic 6x5', '48', '011110100001100001100001011110000000'); // 0

if not lArqIni.ValueExists('Artelogic 6x5', '97') then

lArqIni.WriteString('Artelogic 6x5', '97', '000010010101010101010101001111000000'); // a

if not lArqIni.ValueExists('Artelogic 6x5', '98') then

lArqIni.WriteString('Artelogic 6x5', '98', '111111001001001001001001000110000000'); // b

if not lArqIni.ValueExists('Artelogic 6x5', '99') then

lArqIni.WriteString('Artelogic 6x5', '99', '001110010001010001010001010001000000'); // c

if not lArqIni.ValueExists('Artelogic 6x5', '100') then

lArqIni.WriteString('Artelogic 6x5', '100', '000110001001001001001001111111000000'); // d

if not lArqIni.ValueExists('Artelogic 6x5', '101') then

lArqIni.WriteString('Artelogic 6x5', '101', '001110010101010101010101001101000000'); // e

if not lArqIni.ValueExists('Artelogic 6x5', '102') then

lArqIni.WriteString('Artelogic 6x5', '102', '001000011111101000101000000000'); // f

if not lArqIni.ValueExists('Artelogic 6x5', '103') then

lArqIni.WriteString('Artelogic 6x5', '103', '001001010101010101011110000000'); // g

if not lArqIni.ValueExists('Artelogic 6x5', '104') then

lArqIni.WriteString('Artelogic 6x5', '104', '111111001000001000000111000000'); // h

if not lArqIni.ValueExists('Artelogic 6x5', '105') then

lArqIni.WriteString('Artelogic 6x5', '105', '101111000000'); // i

if not lArqIni.ValueExists('Artelogic 6x5', '106') then

lArqIni.WriteString('Artelogic 6x5', '106', '000001000001101110000000'); // j

if not lArqIni.ValueExists('Artelogic 6x5', '107') then

lArqIni.WriteString('Artelogic 6x5', '107', '111111000100001010010001000000'); // k

if not lArqIni.ValueExists('Artelogic 6x5', '108') then

lArqIni.WriteString('Artelogic 6x5', '108', '111111000000'); // l

if not lArqIni.ValueExists('Artelogic 6x5', '109') then

lArqIni.WriteString('Artelogic 6x5', '109', '011111010000001111010000001111000000'); // m

if not lArqIni.ValueExists('Artelogic 6x5', '110') then

lArqIni.WriteString('Artelogic 6x5', '110', '011111010000010000001111000000'); // n

if not lArqIni.ValueExists('Artelogic 6x5', '111') then

lArqIni.WriteString('Artelogic 6x5', '111', '001110010001010001010001001110000000'); // o

if not lArqIni.ValueExists('Artelogic 6x5', '112') then

lArqIni.WriteString('Artelogic 6x5', '112', '011111010100010100010100001000000000'); // p

if not lArqIni.ValueExists('Artelogic 6x5', '113') then

lArqIni.WriteString('Artelogic 6x5', '113', '001000010100010100010100011111000000'); // q

if not lArqIni.ValueExists('Artelogic 6x5', '114') then

lArqIni.WriteString('Artelogic 6x5', '114', '011111001000010000010000000000'); // r

if not lArqIni.ValueExists('Artelogic 6x5', '115') then

lArqIni.WriteString('Artelogic 6x5', '115', '001001010101010101010101010010000000'); // s

if not lArqIni.ValueExists('Artelogic 6x5', '116') then

lArqIni.WriteString('Artelogic 6x5', '116', '001000111110001001000000'); // t

if not lArqIni.ValueExists('Artelogic 6x5', '117') then

lArqIni.WriteString('Artelogic 6x5', '117', '011110000001000001000001011110000000'); // u

if not lArqIni.ValueExists('Artelogic 6x5', '118') then

lArqIni.WriteString('Artelogic 6x5', '118', '011100000010000001000010011100000000'); // v

if not lArqIni.ValueExists('Artelogic 6x5', '119') then

lArqIni.WriteString('Artelogic 6x5', '119', '011110000001000110000001011110000000'); // w

if not lArqIni.ValueExists('Artelogic 6x5', '120') then

lArqIni.WriteString('Artelogic 6x5', '120', '010001001010000100001010010001000000'); // x

if not lArqIni.ValueExists('Artelogic 6x5', '121') then

lArqIni.WriteString('Artelogic 6x5', '121', '011001000101000010000100011000000000'); // y

if not lArqIni.ValueExists('Artelogic 6x5', '122') then

lArqIni.WriteString('Artelogic 6x5', '122', '010011010101010101011001000000'); // z

if not lArqIni.ValueExists('Artelogic 6x5', '46') then

lArqIni.WriteString('Artelogic 6x5', '46', '000001000000'); // .

if not lArqIni.ValueExists('Artelogic 6x5', '58') then

lArqIni.WriteString('Artelogic 6x5', '58', '001010000000'); // :

if not lArqIni.ValueExists('Artelogic 6x5', '47') then

lArqIni.WriteString('Artelogic 6x5', '47', '000001000010000100001000010000000000'); // /

if not lArqIni.ValueExists('Artelogic 6x5', '33') then

lArqIni.WriteString('Artelogic 6x5', '33', '111101000000'); // !

if not lArqIni.ValueExists('Artelogic 6x5', '40') then

lArqIni.WriteString('Artelogic 6x5', '40', '011110100001000000'); // (

if not lArqIni.ValueExists('Artelogic 6x5', '41') then

lArqIni.WriteString('Artelogic 6x5', '41', '100001011110000000'); // )

if not lArqIni.ValueExists('Artelogic 6x5', '43') then

lArqIni.WriteString('Artelogic 6x5', '43', '000100000100011111000100000100000000'); // +

if not lArqIni.ValueExists('Artelogic 6x5', '45') then

lArqIni.WriteString('Artelogic 6x5', '45', '000100000100000100000100000000'); // -

if not lArqIni.ValueExists('Artelogic 6x5', '195') then

lArqIni.WriteString('Artelogic 6x5', '195', '011111101010011010101111000000'); // Ã

if not lArqIni.ValueExists('Artelogic 6x5', '193') then

lArqIni.WriteString('Artelogic 6x5', '193', '001111011010101010001111000000'); // Á

if not lArqIni.ValueExists('Artelogic 6x5', '194') then

lArqIni.WriteString('Artelogic 6x5', '194', '001111011010101010011111000000'); // Â

if not lArqIni.ValueExists('Artelogic 6x5', '245') then

lArqIni.WriteString('Artelogic 6x5', '245', '010110101001011001100110000000'); // õ

if not lArqIni.ValueExists('Artelogic 6x5', '243') then

lArqIni.WriteString('Artelogic 6x5', '243', '000110011001101001000110000000'); // ó

if not lArqIni.ValueExists('Artelogic 6x5', '244') then

lArqIni.WriteString('Artelogic 6x5', '244', '000110011001101001010110000000'); // ô

if not lArqIni.ValueExists('Artelogic 6x5', '205') then

lArqIni.WriteString('Artelogic 6x5', '205', '001111010000100000000000'); // Í

if not lArqIni.ValueExists('Artelogic 6x5', '199') then

lArqIni.WriteString('Artelogic 6x5', '199', '111110100010100111100010000000'); // Ç

if not lArqIni.ValueExists('Artelogic 6x5', '231') then

lArqIni.WriteString('Artelogic 6x5', '231', '011110010010010111010010000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes6x6;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 6 x 6 ------

//

if not lArqIni.ValueExists('Artelogic 6x6', '65') then

lArqIni.WriteString('Artelogic 6x6', '65', '001111011111100100010100001111000000'); // A

if not lArqIni.ValueExists('Artelogic 6x6', '66') then

lArqIni.WriteString('Artelogic 6x6', '66', '111111111111101001101001010110000000'); // B

if not lArqIni.ValueExists('Artelogic 6x6', '67') then

lArqIni.WriteString('Artelogic 6x6', '67', '011110111111100001100001010010000000'); // C

if not lArqIni.ValueExists('Artelogic 6x6', '68') then

lArqIni.WriteString('Artelogic 6x6', '68', '111111111111100001100001011110000000'); // D

if not lArqIni.ValueExists('Artelogic 6x6', '69') then

lArqIni.WriteString('Artelogic 6x6', '69', '111111111111101001101001100001000000'); // E

if not lArqIni.ValueExists('Artelogic 6x6', '70') then

lArqIni.WriteString('Artelogic 6x6', '70', '111111111111101000101000100000000000'); // F

if not lArqIni.ValueExists('Artelogic 6x6', '71') then

lArqIni.WriteString('Artelogic 6x6', '71', '011110111111100001100101010111000000'); // G

if not lArqIni.ValueExists('Artelogic 6x6', '72') then

lArqIni.WriteString('Artelogic 6x6', '72', '111111111111001100001100111111000000'); // H

if not lArqIni.ValueExists('Artelogic 6x6', '73') then

lArqIni.WriteString('Artelogic 6x6', '73', '111111111111000000'); // I

if not lArqIni.ValueExists('Artelogic 6x6', '32') then

lArqIni.WriteString('Artelogic 6x6', '32', '000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 6x6', '74') then

lArqIni.WriteString('Artelogic 6x6', '74', '000001111111111110000000'); // J

if not lArqIni.ValueExists('Artelogic 6x6', '75') then

lArqIni.WriteString('Artelogic 6x6', '75', '111111111111001100010010100001000000'); // K

if not lArqIni.ValueExists('Artelogic 6x6', '76') then

lArqIni.WriteString('Artelogic 6x6', '76', '111111111111000001000001000000'); // L

if not lArqIni.ValueExists('Artelogic 6x6', '77') then

lArqIni.WriteString('Artelogic 6x6', '77', '111111011111001100010000111111000000'); // M

if not lArqIni.ValueExists('Artelogic 6x6', '78') then

lArqIni.WriteString('Artelogic 6x6', '78', '111111011111001100000010111111000000'); // N

if not lArqIni.ValueExists('Artelogic 6x6', '79') then

lArqIni.WriteString('Artelogic 6x6', '79', '011110111111100001100001011110000000'); // O

if not lArqIni.ValueExists('Artelogic 6x6', '80') then

lArqIni.WriteString('Artelogic 6x6', '80', '111111111111100100100100011000000000'); // P

if not lArqIni.ValueExists('Artelogic 6x6', '81') then

lArqIni.WriteString('Artelogic 6x6', '81', '011110111111100001100010011101000000'); // Q

if not lArqIni.ValueExists('Artelogic 6x6', '82') then

lArqIni.WriteString('Artelogic 6x6', '82', '111111111111100100100110011001000000'); // R

if not lArqIni.ValueExists('Artelogic 6x6', '83') then

lArqIni.WriteString('Artelogic 6x6', '83', '011010101001101101100101010110000000'); // S

if not lArqIni.ValueExists('Artelogic 6x6', '84') then

lArqIni.WriteString('Artelogic 6x6', '84', '100000100000111111111111100000100000000000'); // T

if not lArqIni.ValueExists('Artelogic 6x6', '85') then

lArqIni.WriteString('Artelogic 6x6', '85', '111110111111000001000001111110000000'); // U

if not lArqIni.ValueExists('Artelogic 6x6', '86') then

lArqIni.WriteString('Artelogic 6x6', '86', '111100111110000011000010111100000000'); // V

if not lArqIni.ValueExists('Artelogic 6x6', '87') then

lArqIni.WriteString('Artelogic 6x6', '87', '111110111101000001000110000001111110000000'); // W

if not lArqIni.ValueExists('Artelogic 6x6', '88') then

lArqIni.WriteString('Artelogic 6x6', '88', '110011011110001100011110110011000000'); // X

if not lArqIni.ValueExists('Artelogic 6x6', '89') then

lArqIni.WriteString('Artelogic 6x6', '89', '110000111000001111111000110000000000'); // Y

if not lArqIni.ValueExists('Artelogic 6x6', '90') then

lArqIni.WriteString('Artelogic 6x6', '90', '100011100111101101111001110001000000'); // Z

if not lArqIni.ValueExists('Artelogic 6x6', '49') then

lArqIni.WriteString('Artelogic 6x6', '49', '010001111111111111000001000000'); // 1

if not lArqIni.ValueExists('Artelogic 6x6', '50') then

lArqIni.WriteString('Artelogic 6x6', '50', '010011110111100101100101011001000000'); // 2

if not lArqIni.ValueExists('Artelogic 6x6', '51') then

lArqIni.WriteString('Artelogic 6x6', '51', '010010110011100001101101010110000000'); // 3

if not lArqIni.ValueExists('Artelogic 6x6', '52') then

lArqIni.WriteString('Artelogic 6x6', '52', '000100001100010100111111000100000000'); // 4

if not lArqIni.ValueExists('Artelogic 6x6', '53') then

lArqIni.WriteString('Artelogic 6x6', '53', '111101100101100101100101100010000000'); // 5

if not lArqIni.ValueExists('Artelogic 6x6', '54') then

lArqIni.WriteString('Artelogic 6x6', '54', '011110100101100101100101100010000000'); // 6

if not lArqIni.ValueExists('Artelogic 6x6', '55') then

lArqIni.WriteString('Artelogic 6x6', '55', '100000100000100111101000110000000000'); // 7

if not lArqIni.ValueExists('Artelogic 6x6', '56') then

lArqIni.WriteString('Artelogic 6x6', '56', '010010101101101101101101010010000000'); // 8

if not lArqIni.ValueExists('Artelogic 6x6', '57') then

lArqIni.WriteString('Artelogic 6x6', '57', '010000101001101001101001011110000000'); // 9

if not lArqIni.ValueExists('Artelogic 6x6', '48') then

lArqIni.WriteString('Artelogic 6x6', '48', '011110100001100001100001011110000000'); // 0

if not lArqIni.ValueExists('Artelogic 6x6', '97') then

lArqIni.WriteString('Artelogic 6x6', '97', '000010010101010101011111001111000000'); // a

if not lArqIni.ValueExists('Artelogic 6x6', '98') then

lArqIni.WriteString('Artelogic 6x6', '98', '111111111111001001001001000110000000'); // b

if not lArqIni.ValueExists('Artelogic 6x6', '99') then

lArqIni.WriteString('Artelogic 6x6', '99', '001110011111010001010001010001000000'); // c

if not lArqIni.ValueExists('Artelogic 6x6', '100') then

lArqIni.WriteString('Artelogic 6x6', '100', '000110001001001001111111111111000000'); // d

if not lArqIni.ValueExists('Artelogic 6x6', '101') then

lArqIni.WriteString('Artelogic 6x6', '101', '001110010101010101011101001100000000'); // e

if not lArqIni.ValueExists('Artelogic 6x6', '102') then

lArqIni.WriteString('Artelogic 6x6', '102', '001000011111111111101000000000'); // f

if not lArqIni.ValueExists('Artelogic 6x6', '103') then

lArqIni.WriteString('Artelogic 6x6', '103', '001000010101010101011111011111000000'); // g

if not lArqIni.ValueExists('Artelogic 6x6', '104') then

lArqIni.WriteString('Artelogic 6x6', '104', '111111111111001000001000000111000000'); // h

if not lArqIni.ValueExists('Artelogic 6x6', '105') then

lArqIni.WriteString('Artelogic 6x6', '105', '101111101111000000'); // i

if not lArqIni.ValueExists('Artelogic 6x6', '106') then

lArqIni.WriteString('Artelogic 6x6', '106', '000001101111101111000000'); // j

if not lArqIni.ValueExists('Artelogic 6x6', '107') then

lArqIni.WriteString('Artelogic 6x6', '107', '111111111111001010010001000000'); // k

if not lArqIni.ValueExists('Artelogic 6x6', '108') then

lArqIni.WriteString('Artelogic 6x6', '108', '111111111111000000'); // l

if not lArqIni.ValueExists('Artelogic 6x6', '109') then

lArqIni.WriteString('Artelogic 6x6', '109', '011111011111011000001111011000001111000000'); // m

if not lArqIni.ValueExists('Artelogic 6x6', '110') then

lArqIni.WriteString('Artelogic 6x6', '110', '011111011111010000010000001111000000'); // n

if not lArqIni.ValueExists('Artelogic 6x6', '111') then

lArqIni.WriteString('Artelogic 6x6', '111', '001110011111010001010001001110000000'); // o

if not lArqIni.ValueExists('Artelogic 6x6', '112') then

lArqIni.WriteString('Artelogic 6x6', '112', '011111011111010010010010001100000000'); // p

if not lArqIni.ValueExists('Artelogic 6x6', '113') then

lArqIni.WriteString('Artelogic 6x6', '113', '001100010010010010011111011111000000'); // q

if not lArqIni.ValueExists('Artelogic 6x6', '114') then

lArqIni.WriteString('Artelogic 6x6', '114', '011111001111010000010000000000'); // r

if not lArqIni.ValueExists('Artelogic 6x6', '115') then

lArqIni.WriteString('Artelogic 6x6', '115', '001001011101010101010111010010000000'); // s

if not lArqIni.ValueExists('Artelogic 6x6', '116') then

lArqIni.WriteString('Artelogic 6x6', '116', '001000111110111111001000000000'); // t

if not lArqIni.ValueExists('Artelogic 6x6', '117') then

lArqIni.WriteString('Artelogic 6x6', '117', '011110011111000001000001011110000000'); // u

if not lArqIni.ValueExists('Artelogic 6x6', '118') then

lArqIni.WriteString('Artelogic 6x6', '118', '011100011110000001000010011100000000'); // v

if not lArqIni.ValueExists('Artelogic 6x6', '119') then

lArqIni.WriteString('Artelogic 6x6', '119', '011110000001000110000001011110000000'); // w

if not lArqIni.ValueExists('Artelogic 6x6', '120') then

lArqIni.WriteString('Artelogic 6x6', '120', '010001001110000100001110010001000000'); // x

if not lArqIni.ValueExists('Artelogic 6x6', '121') then

lArqIni.WriteString('Artelogic 6x6', '121', '011001000101000101011110000000'); // y

if not lArqIni.ValueExists('Artelogic 6x6', '122') then

lArqIni.WriteString('Artelogic 6x6', '122', '010011010111011101011001000000'); // z

if not lArqIni.ValueExists('Artelogic 6x6', '46') then

lArqIni.WriteString('Artelogic 6x6', '46', '000001000000'); // .

if not lArqIni.ValueExists('Artelogic 6x6', '58') then

lArqIni.WriteString('Artelogic 6x6', '58', '001010000000'); // :

if not lArqIni.ValueExists('Artelogic 6x6', '47') then

lArqIni.WriteString('Artelogic 6x6', '47', '000001000010000100001000010000000000'); // /

if not lArqIni.ValueExists('Artelogic 6x6', '33') then

lArqIni.WriteString('Artelogic 6x6', '33', '111101000000'); // !

if not lArqIni.ValueExists('Artelogic 6x6', '40') then

lArqIni.WriteString('Artelogic 6x6', '40', '011110100001000000'); // (

if not lArqIni.ValueExists('Artelogic 6x6', '41') then

lArqIni.WriteString('Artelogic 6x6', '41', '100001011110000000'); // )

if not lArqIni.ValueExists('Artelogic 6x6', '43') then

lArqIni.WriteString('Artelogic 6x6', '43', '000100000100011111000100000100000000'); // +

if not lArqIni.ValueExists('Artelogic 6x6', '45') then

lArqIni.WriteString('Artelogic 6x6', '45', '000100000100000100000100000000'); // -

if not lArqIni.ValueExists('Artelogic 6x6', '195') then

lArqIni.WriteString('Artelogic 6x6', '195', '011111101010011010101010001111000000'); // Ã

if not lArqIni.ValueExists('Artelogic 6x6', '193') then

lArqIni.WriteString('Artelogic 6x6', '193', '001111001010011010101010001111000000'); // Á

if not lArqIni.ValueExists('Artelogic 6x6', '194') then

lArqIni.WriteString('Artelogic 6x6', '194', '001111011010101010011010001111000000'); // Â

if not lArqIni.ValueExists('Artelogic 6x6', '213') then

lArqIni.WriteString('Artelogic 6x6', '213', '010110101001011001101001000110000000'); // Õ

if not lArqIni.ValueExists('Artelogic 6x6', '211') then

lArqIni.WriteString('Artelogic 6x6', '211', '000110001001011001101001000110000000'); // Ó

if not lArqIni.ValueExists('Artelogic 6x6', '212') then

lArqIni.WriteString('Artelogic 6x6', '212', '000110011001101001011001000110000000'); // Ô

if not lArqIni.ValueExists('Artelogic 6x6', '205') then

lArqIni.WriteString('Artelogic 6x6', '205', '001111010000100000000000'); // Í

if not lArqIni.ValueExists('Artelogic 6x6', '199') then

lArqIni.WriteString('Artelogic 6x6', '199', '011100100010100111100010100010000000'); // Ç

if not lArqIni.ValueExists('Artelogic 6x6', '231') then

lArqIni.WriteString('Artelogic 6x6', '231', '001100010010010111010010010010000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes8x4;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 8 x 4 ------

//

if not lArqIni.ValueExists('Artelogic 8x4', '65') then

lArqIni.WriteString('Artelogic 8x4', '65', '0111111110001000100010000111111100000000'); // A

if not lArqIni.ValueExists('Artelogic 8x4', '66') then

lArqIni.WriteString('Artelogic 8x4', '66', '1111111110010001100100010110111000000000'); // B

if not lArqIni.ValueExists('Artelogic 8x4', '67') then

lArqIni.WriteString('Artelogic 8x4', '67', '0111111010000001100000010100001000000000'); // C

if not lArqIni.ValueExists('Artelogic 8x4', '68') then

lArqIni.WriteString('Artelogic 8x4', '68', '1111111110000001100000010111111000000000'); // D

if not lArqIni.ValueExists('Artelogic 8x4', '69') then

lArqIni.WriteString('Artelogic 8x4', '69', '1111111110010001100100011000000100000000'); // E

if not lArqIni.ValueExists('Artelogic 8x4', '70') then

lArqIni.WriteString('Artelogic 8x4', '70', '1111111110010000100100001000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 8x4', '71') then

lArqIni.WriteString('Artelogic 8x4', '71', '0111111010000001100010010100111100000000'); // G

if not lArqIni.ValueExists('Artelogic 8x4', '72') then

lArqIni.WriteString('Artelogic 8x4', '72', '1111111100010000000100001111111100000000'); // H

if not lArqIni.ValueExists('Artelogic 8x4', '73') then

lArqIni.WriteString('Artelogic 8x4', '73', '1111111100000000'); // I

if not lArqIni.ValueExists('Artelogic 8x4', '32') then

lArqIni.WriteString('Artelogic 8x4', '32', '00000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 8x4', '74') then

lArqIni.WriteString('Artelogic 8x4', '74', '0000011000000001000000011111111000000000'); // J

if not lArqIni.ValueExists('Artelogic 8x4', '75') then

lArqIni.WriteString('Artelogic 8x4', '75', '1111111100010000001010001100011100000000'); // K

if not lArqIni.ValueExists('Artelogic 8x4', '76') then

lArqIni.WriteString('Artelogic 8x4', '76', '1111111100000001000000010000000100000000'); // L

if not lArqIni.ValueExists('Artelogic 8x4', '77') then

lArqIni.WriteString('Artelogic 8x4', '77', '111111110100000000100000010000001111111100000000'); // M

if not lArqIni.ValueExists('Artelogic 8x4', '78') then

lArqIni.WriteString('Artelogic 8x4', '78', '1111111100110000000011001111111100000000'); // N

if not lArqIni.ValueExists('Artelogic 8x4', '79') then

lArqIni.WriteString('Artelogic 8x4', '79', '011111101000000110000001100000010111111000000000'); // O

if not lArqIni.ValueExists('Artelogic 8x4', '80') then

lArqIni.WriteString('Artelogic 8x4', '80', '1111111110001000100010000111000000000000'); // P

if not lArqIni.ValueExists('Artelogic 8x4', '81') then

lArqIni.WriteString('Artelogic 8x4', '81', '0111111010000001100000100111110100000000'); // Q

if not lArqIni.ValueExists('Artelogic 8x4', '82') then

lArqIni.WriteString('Artelogic 8x4', '82', '1111111110001000100011000111001100000000'); // R

if not lArqIni.ValueExists('Artelogic 8x4', '83') then

lArqIni.WriteString('Artelogic 8x4', '83', '0110001010010001100010010100011000000000'); // S

if not lArqIni.ValueExists('Artelogic 8x4', '84') then

lArqIni.WriteString('Artelogic 8x4', '84', '100000001000000011111111100000001000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 8x4', '85') then

lArqIni.WriteString('Artelogic 8x4', '85', '1111111000000001000000011111111000000000'); // U

if not lArqIni.ValueExists('Artelogic 8x4', '86') then

lArqIni.WriteString('Artelogic 8x4', '86', '111111000000001000000001000000101111110000000000'); // V

if not lArqIni.ValueExists('Artelogic 8x4', '87') then

lArqIni.WriteString('Artelogic 8x4', '87', '111111110000001000000100000000101111111100000000'); // W

if not lArqIni.ValueExists('Artelogic 8x4', '88') then

lArqIni.WriteString('Artelogic 8x4', '88', '1110011100011000000110001110011100000000'); // X

if not lArqIni.ValueExists('Artelogic 8x4', '89') then

lArqIni.WriteString('Artelogic 8x4', '89', '111100000000100000001111000010001111000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 8x4', '90') then

lArqIni.WriteString('Artelogic 8x4', '90', '1000011110001001100100011110000100000000'); // Z

if not lArqIni.ValueExists('Artelogic 8x4', '49') then

lArqIni.WriteString('Artelogic 8x4', '49', '01000001111111110000000100000000'); // 1

if not lArqIni.ValueExists('Artelogic 8x4', '50') then

lArqIni.WriteString('Artelogic 8x4', '50', '0100001110000101100010010111000100000000'); // 2

if not lArqIni.ValueExists('Artelogic 8x4', '51') then

lArqIni.WriteString('Artelogic 8x4', '51', '0100001010000001100100010110111000000000'); // 3

if not lArqIni.ValueExists('Artelogic 8x4', '52') then

lArqIni.WriteString('Artelogic 8x4', '52', '0001110001100100111111110000010000000000'); // 4

if not lArqIni.ValueExists('Artelogic 8x4', '53') then

lArqIni.WriteString('Artelogic 8x4', '53', '1111001010010001100100011000111000000000'); // 5

if not lArqIni.ValueExists('Artelogic 8x4', '54') then

lArqIni.WriteString('Artelogic 8x4', '54', '0111111010010001100100010100111000000000'); // 6

if not lArqIni.ValueExists('Artelogic 8x4', '55') then

lArqIni.WriteString('Artelogic 8x4', '55', '1000000010001111100100001110000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 8x4', '56') then

lArqIni.WriteString('Artelogic 8x4', '56', '0110111010010001100100010110111000000000'); // 8

if not lArqIni.ValueExists('Artelogic 8x4', '57') then

lArqIni.WriteString('Artelogic 8x4', '57', '0111001010001001100010010111111000000000'); // 9

if not lArqIni.ValueExists('Artelogic 8x4', '48') then

lArqIni.WriteString('Artelogic 8x4', '48', '0111111010000001100000010111111000000000'); // 0

if not lArqIni.ValueExists('Artelogic 8x4', '97') then

lArqIni.WriteString('Artelogic 8x4', '97', '0000001000010101000101010000111100000000'); // a

if not lArqIni.ValueExists('Artelogic 8x4', '98') then

lArqIni.WriteString('Artelogic 8x4', '98', '1111111100010001000100010000111000000000'); // b

if not lArqIni.ValueExists('Artelogic 8x4', '99') then

lArqIni.WriteString('Artelogic 8x4', '99', '00011110001000010010000100000000'); // c

if not lArqIni.ValueExists('Artelogic 8x4', '100') then

lArqIni.WriteString('Artelogic 8x4', '100', '0000111000010001000100011111111100000000'); // d

if not lArqIni.ValueExists('Artelogic 8x4', '101') then

lArqIni.WriteString('Artelogic 8x4', '101', '0000111000010101000101010000110100000000'); // e

if not lArqIni.ValueExists('Artelogic 8x4', '102') then

lArqIni.WriteString('Artelogic 8x4', '102', '0001000001111111100100001000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 8x4', '103') then

lArqIni.WriteString('Artelogic 8x4', '103', '0000100000010101000101010001111000000000'); // g

if not lArqIni.ValueExists('Artelogic 8x4', '104') then

lArqIni.WriteString('Artelogic 8x4', '104', '1111111100010000000100000000111100000000'); // h

if not lArqIni.ValueExists('Artelogic 8x4', '105') then

lArqIni.WriteString('Artelogic 8x4', '105', '0101111100000000'); // i

if not lArqIni.ValueExists('Artelogic 8x4', '106') then

lArqIni.WriteString('Artelogic 8x4', '106', '000000010101111000000000'); // j

if not lArqIni.ValueExists('Artelogic 8x4', '107') then

lArqIni.WriteString('Artelogic 8x4', '107', '1111111100000100000010100001000100000000'); // k

if not lArqIni.ValueExists('Artelogic 8x4', '108') then

lArqIni.WriteString('Artelogic 8x4', '108', '1111111100000000'); // l

if not lArqIni.ValueExists('Artelogic 8x4', '109') then

lArqIni.WriteString('Artelogic 8x4', '109', '000111110001000000001111000100000000111100000000'); // m

if not lArqIni.ValueExists('Artelogic 8x4', '110') then

lArqIni.WriteString('Artelogic 8x4', '110', '0001111100010000000100000000111100000000'); // n

if not lArqIni.ValueExists('Artelogic 8x4', '111') then

lArqIni.WriteString('Artelogic 8x4', '111', '0000111000010001000100010000111000000000'); // o

if not lArqIni.ValueExists('Artelogic 8x4', '112') then

lArqIni.WriteString('Artelogic 8x4', '112', '0001111100010100000101000000100000000000'); // p

if not lArqIni.ValueExists('Artelogic 8x4', '113') then

lArqIni.WriteString('Artelogic 8x4', '113', '0000100000010100000101000001111100000000'); // q

if not lArqIni.ValueExists('Artelogic 8x4', '114') then

lArqIni.WriteString('Artelogic 8x4', '114', '0001111100001000000100000001000000000000'); // r

if not lArqIni.ValueExists('Artelogic 8x4', '115') then

lArqIni.WriteString('Artelogic 8x4', '115', '0000100100010101000101010001001000000000'); // s

if not lArqIni.ValueExists('Artelogic 8x4', '116') then

lArqIni.WriteString('Artelogic 8x4', '116', '00100000111111110010000100000000'); // t

if not lArqIni.ValueExists('Artelogic 8x4', '117') then

lArqIni.WriteString('Artelogic 8x4', '117', '0001111000000001000000010001111000000000'); // u

if not lArqIni.ValueExists('Artelogic 8x4', '118') then

lArqIni.WriteString('Artelogic 8x4', '118', '001111000000001000000001000000100011110000000000'); // v

if not lArqIni.ValueExists('Artelogic 8x4', '120') then

lArqIni.WriteString('Artelogic 8x4', '120', '0001101100000100000001000001101100000000'); // x

if not lArqIni.ValueExists('Artelogic 8x4', '121') then

lArqIni.WriteString('Artelogic 8x4', '121', '0001100000000101000001010001111000000000'); // y

if not lArqIni.ValueExists('Artelogic 8x4', '119') then

lArqIni.WriteString('Artelogic 8x4', '119', '000111100000000100000110000000010001111000000000'); // w

if not lArqIni.ValueExists('Artelogic 8x4', '122') then

lArqIni.WriteString('Artelogic 8x4', '122', '0001001100010101000101010001100100000000'); // z

if not lArqIni.ValueExists('Artelogic 8x4', '46') then

lArqIni.WriteString('Artelogic 8x4', '46', '0000000100000000'); // .

if not lArqIni.ValueExists('Artelogic 8x4', '58') then

lArqIni.WriteString('Artelogic 8x4', '58', '0000101000000000'); // :

if not lArqIni.ValueExists('Artelogic 8x4', '47') then

lArqIni.WriteString('Artelogic 8x4', '47', '0000000100000010000001000000100000000000'); // /

if not lArqIni.ValueExists('Artelogic 8x4', '33') then

lArqIni.WriteString('Artelogic 8x4', '33', '1111110100000000'); // !

if not lArqIni.ValueExists('Artelogic 8x4', '40') then

lArqIni.WriteString('Artelogic 8x4', '40', '00111100010000101000000100000000'); // (

if not lArqIni.ValueExists('Artelogic 8x4', '41') then

lArqIni.WriteString('Artelogic 8x4', '41', '10000001010000100011110000000000'); // )

if not lArqIni.ValueExists('Artelogic 8x4', '43') then

lArqIni.WriteString('Artelogic 8x4', '43', '0000110000111111001111110000110000000000'); // +

if not lArqIni.ValueExists('Artelogic 8x4', '45') then

lArqIni.WriteString('Artelogic 8x4', '45', '0000110000001100000011000000110000000000'); // -

if not lArqIni.ValueExists('Artelogic 8x4', '195') then

lArqIni.WriteString('Artelogic 8x4', '195', '0101111110100100011001001001111100000000'); // Ã

if not lArqIni.ValueExists('Artelogic 8x4', '193') then

lArqIni.WriteString('Artelogic 8x4', '193', '0001111100100100011001001001111100000000'); // Á

if not lArqIni.ValueExists('Artelogic 8x4', '194') then

lArqIni.WriteString('Artelogic 8x4', '194', '0001111101100100101001000101111100000000'); // Â

if not lArqIni.ValueExists('Artelogic 8x4', '227') then

lArqIni.WriteString('Artelogic 8x4', '227', '0100001010010101010101011000111100000000'); // ã

if not lArqIni.ValueExists('Artelogic 8x4', '225') then

lArqIni.WriteString('Artelogic 8x4', '225', '0000001000010101010101011000111100000000'); // á

if not lArqIni.ValueExists('Artelogic 8x4', '226') then

lArqIni.WriteString('Artelogic 8x4', '226', '0000001001010101100101010100111100000000'); // â

if not lArqIni.ValueExists('Artelogic 8x4', '201') then

lArqIni.WriteString('Artelogic 8x4', '201', '0011111100101001011010011010100100000000'); // É

if not lArqIni.ValueExists('Artelogic 8x4', '202') then

lArqIni.WriteString('Artelogic 8x4', '202', '0011111101101001101010010110100100000000'); // Ê

if not lArqIni.ValueExists('Artelogic 8x4', '233') then

lArqIni.WriteString('Artelogic 8x4', '233', '0000111000010101010101011000110000000000'); // é

if not lArqIni.ValueExists('Artelogic 8x4', '234') then

lArqIni.WriteString('Artelogic 8x4', '234', '0000111001010101100101010100110000000000'); // ê

if not lArqIni.ValueExists('Artelogic 8x4', '213') then

lArqIni.WriteString('Artelogic 8x4', '213', '0101111010100001011000011001111000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 8x4', '211') then

lArqIni.WriteString('Artelogic 8x4', '211', '0001111000100001011000011001111000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 8x4', '212') then

lArqIni.WriteString('Artelogic 8x4', '212', '0001111001100001101000010101111000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 8x4', '245') then

lArqIni.WriteString('Artelogic 8x4', '245', '0100111010010001010100011000111000000000'); // õ

if not lArqIni.ValueExists('Artelogic 8x4', '243') then

lArqIni.WriteString('Artelogic 8x4', '243', '0000111000010001010100011000111000000000'); // ó

if not lArqIni.ValueExists('Artelogic 8x4', '244') then

lArqIni.WriteString('Artelogic 8x4', '244', '0000111001010001100100010100111000000000'); // ô

if not lArqIni.ValueExists('Artelogic 8x4', '205') then

lArqIni.WriteString('Artelogic 8x4', '205', '01011111110111111000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 8x4', '237') then

lArqIni.WriteString('Artelogic 8x4', '237', '00101111011011110100000000000000'); // í

if not lArqIni.ValueExists('Artelogic 8x4', '199') then

lArqIni.WriteString('Artelogic 8x4', '199', '0111110010000010100001111000001000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 8x4', '231') then

lArqIni.WriteString('Artelogic 8x4', '231', '0001110000100010001001110010001000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes8x5;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 8 x 5 ------

//

if not lArqIni.ValueExists('Artelogic 8x5', '65') then

lArqIni.WriteString('Artelogic 8x5', '65', '011111111111111110001000111111110111111100000000'); // A

if not lArqIni.ValueExists('Artelogic 8x5', '66') then

lArqIni.WriteString('Artelogic 8x5', '66', '111111111111111110010001111111110110111000000000'); // B

if not lArqIni.ValueExists('Artelogic 8x5', '67') then

lArqIni.WriteString('Artelogic 8x5', '67', '011111101111111110000001110000110100001000000000'); // C

if not lArqIni.ValueExists('Artelogic 8x5', '68') then

lArqIni.WriteString('Artelogic 8x5', '68', '111111111111111110000001111111110111111000000000'); // D

if not lArqIni.ValueExists('Artelogic 8x5', '69') then

lArqIni.WriteString('Artelogic 8x5', '69', '111111111111111110010001100100011000000100000000'); // E

if not lArqIni.ValueExists('Artelogic 8x5', '70') then

lArqIni.WriteString('Artelogic 8x5', '70', '111111111111111110001000100010001000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 8x5', '71') then

lArqIni.WriteString('Artelogic 8x5', '71', '011111101111111110000001100010011000111100000000'); // G

if not lArqIni.ValueExists('Artelogic 8x5', '72') then

lArqIni.WriteString('Artelogic 8x5', '72', '111111111111111100010000111111111111111100000000'); // H

if not lArqIni.ValueExists('Artelogic 8x5', '73') then

lArqIni.WriteString('Artelogic 8x5', '73', '111111111111111100000000'); // I

if not lArqIni.ValueExists('Artelogic 8x5', '32') then

lArqIni.WriteString('Artelogic 8x5', '32', '0000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 8x5', '74') then

lArqIni.WriteString('Artelogic 8x5', '74', '000000100000001100000001111111111111111000000000'); // J

if not lArqIni.ValueExists('Artelogic 8x5', '75') then

lArqIni.WriteString('Artelogic 8x5', '75', '111111111111111100011000111001111100001100000000'); // K

if not lArqIni.ValueExists('Artelogic 8x5', '76') then

lArqIni.WriteString('Artelogic 8x5', '76', '111111111111111100000011000000110000001100000000'); // L

if not lArqIni.ValueExists('Artelogic 8x5', '77') then

lArqIni.WriteString('Artelogic 8x5', '77', '1111111111111111011000000011000001100000111111111111111100000000'); // M

if not lArqIni.ValueExists('Artelogic 8x5', '78') then

lArqIni.WriteString('Artelogic 8x5', '78', '11111111111111110011100000011100111111111111111100000000'); // N

if not lArqIni.ValueExists('Artelogic 8x5', '79') then

lArqIni.WriteString('Artelogic 8x5', '79', '011111101111111110000001111111110111111000000000'); // O

if not lArqIni.ValueExists('Artelogic 8x5', '80') then

lArqIni.WriteString('Artelogic 8x5', '80', '111111111111111110001000111110000111000000000000'); // P

if not lArqIni.ValueExists('Artelogic 8x5', '81') then

lArqIni.WriteString('Artelogic 8x5', '81', '011111101111111110000001111111100111110100000000'); // Q

if not lArqIni.ValueExists('Artelogic 8x5', '82') then

lArqIni.WriteString('Artelogic 8x5', '82', '111111111111111110001000111111110111001100000000'); // R

if not lArqIni.ValueExists('Artelogic 8x5', '83') then

lArqIni.WriteString('Artelogic 8x5', '83', '011100101111101110011001110111110100111000000000'); // S

if not lArqIni.ValueExists('Artelogic 8x5', '84') then

lArqIni.WriteString('Artelogic 8x5', '84', '11000000110000001111111111111111110000001100000000000000'); // T

if not lArqIni.ValueExists('Artelogic 8x5', '85') then

lArqIni.WriteString('Artelogic 8x5', '85', '111111101111111100000001111111111111111000000000'); // U

if not lArqIni.ValueExists('Artelogic 8x5', '86') then

lArqIni.WriteString('Artelogic 8x5', '86', '111111001111111000000011111111101111110000000000'); // V

if not lArqIni.ValueExists('Artelogic 8x5', '87') then

lArqIni.WriteString('Artelogic 8x5', '87', '1111111111111111000001100000110000000110111111111111111100000000'); // W

if not lArqIni.ValueExists('Artelogic 8x5', '88') then

lArqIni.WriteString('Artelogic 8x5', '88', '111001111111111100011000111111111110011100000000'); // X

if not lArqIni.ValueExists('Artelogic 8x5', '89') then

lArqIni.WriteString('Artelogic 8x5', '89', '11110000111110000000111100001111111110001111000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 8x5', '90') then

lArqIni.WriteString('Artelogic 8x5', '90', '110001111100111111011011111100111110001100000000'); // Z

if not lArqIni.ValueExists('Artelogic 8x5', '49') then

lArqIni.WriteString('Artelogic 8x5', '49', '0100000111111111111111110000000100000000'); // 1

if not lArqIni.ValueExists('Artelogic 8x5', '50') then

lArqIni.WriteString('Artelogic 8x5', '50', '010000111100011110001101111110010111000100000000'); // 2

if not lArqIni.ValueExists('Artelogic 8x5', '51') then

lArqIni.WriteString('Artelogic 8x5', '51', '010000101100001110010001111111110110111000000000'); // 3

if not lArqIni.ValueExists('Artelogic 8x5', '52') then

lArqIni.WriteString('Artelogic 8x5', '52', '000111000011110001100111110011110000010000000000'); // 4

if not lArqIni.ValueExists('Artelogic 8x5', '53') then

lArqIni.WriteString('Artelogic 8x5', '53', '111100101111001110011001100111111000111000000000'); // 5

if not lArqIni.ValueExists('Artelogic 8x5', '54') then

lArqIni.WriteString('Artelogic 8x5', '54', '011111101111111110010001110111110100111000000000'); // 6

if not lArqIni.ValueExists('Artelogic 8x5', '55') then

lArqIni.WriteString('Artelogic 8x5', '55', '100000001000111110011111111100001110000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 8x5', '56') then

lArqIni.WriteString('Artelogic 8x5', '56', '011011101111111110010001111111110110111000000000'); // 8

if not lArqIni.ValueExists('Artelogic 8x5', '57') then

lArqIni.WriteString('Artelogic 8x5', '57', '011100101111101110001001111111110111111000000000'); // 9

if not lArqIni.ValueExists('Artelogic 8x5', '48') then

lArqIni.WriteString('Artelogic 8x5', '48', '011111101111111110000001111111110111111000000000'); // 0

if not lArqIni.ValueExists('Artelogic 8x5', '97') then

lArqIni.WriteString('Artelogic 8x5', '97', '000000100001010100010101000101110000111100000000'); // a

if not lArqIni.ValueExists('Artelogic 8x5', '98') then

lArqIni.WriteString('Artelogic 8x5', '98', '111111111111111100010001000111110000111000000000'); // b

if not lArqIni.ValueExists('Artelogic 8x5', '99') then

lArqIni.WriteString('Artelogic 8x5', '99', '0000111000011111000100010001000100000000'); // c

if not lArqIni.ValueExists('Artelogic 8x5', '100') then

lArqIni.WriteString('Artelogic 8x5', '100', '000011100001111100010001111111111111111100000000'); // d

if not lArqIni.ValueExists('Artelogic 8x5', '101') then

lArqIni.WriteString('Artelogic 8x5', '101', '000011100001111100010101000101010000110000000000'); // e

if not lArqIni.ValueExists('Artelogic 8x5', '102') then

lArqIni.WriteString('Artelogic 8x5', '102', '0001000001111111111111111001000000000000'); // f

if not lArqIni.ValueExists('Artelogic 8x5', '103') then

lArqIni.WriteString('Artelogic 8x5', '103', '000010000001110100010101000111110001111000000000'); // g

if not lArqIni.ValueExists('Artelogic 8x5', '104') then

lArqIni.WriteString('Artelogic 8x5', '104', '111111111111111100010000000111110000111100000000'); // h

if not lArqIni.ValueExists('Artelogic 8x5', '105') then

lArqIni.WriteString('Artelogic 8x5', '105', '010111110101111100000000'); // i

if not lArqIni.ValueExists('Artelogic 8x5', '106') then

lArqIni.WriteString('Artelogic 8x5', '106', '00000001010111110101111000000000'); // j

if not lArqIni.ValueExists('Artelogic 8x5', '107') then

lArqIni.WriteString('Artelogic 8x5', '107', '111111111111111100000100000111110001101100000000'); // k

if not lArqIni.ValueExists('Artelogic 8x5', '108') then

lArqIni.WriteString('Artelogic 8x5', '108', '111111111111111100000000'); // l

if not lArqIni.ValueExists('Artelogic 8x5', '109') then

lArqIni.WriteString('Artelogic 8x5', '109', '00011111000111110001000000001111000100000000111100000000'); // m

if not lArqIni.ValueExists('Artelogic 8x5', '110') then

lArqIni.WriteString('Artelogic 8x5', '110', '0001111100011111000100000000111100000000'); // n

if not lArqIni.ValueExists('Artelogic 8x5', '111') then

lArqIni.WriteString('Artelogic 8x5', '111', '000011100001111100010001000111110000111000000000'); // o

if not lArqIni.ValueExists('Artelogic 8x5', '112') then

lArqIni.WriteString('Artelogic 8x5', '112', '000111110001111100010100000111000000100000000000'); // p

if not lArqIni.ValueExists('Artelogic 8x5', '113') then

lArqIni.WriteString('Artelogic 8x5', '113', '000010000001110000010100000111110001111100000000'); // q

if not lArqIni.ValueExists('Artelogic 8x5', '114') then

lArqIni.WriteString('Artelogic 8x5', '114', '000111110001111100001000000100000001000000000000'); // r

if not lArqIni.ValueExists('Artelogic 8x5', '115') then

lArqIni.WriteString('Artelogic 8x5', '115', '000010010001110100010101000101110001001000000000'); // s

if not lArqIni.ValueExists('Artelogic 8x5', '116') then

lArqIni.WriteString('Artelogic 8x5', '116', '001000001111111011111111001000010000000100000000'); // t

if not lArqIni.ValueExists('Artelogic 8x5', '117') then

lArqIni.WriteString('Artelogic 8x5', '117', '000111100001111100000001000111110001111000000000'); // u

if not lArqIni.ValueExists('Artelogic 8x5', '118') then

lArqIni.WriteString('Artelogic 8x5', '118', '000111000001111000000011000111100001110000000000'); // v

if not lArqIni.ValueExists('Artelogic 8x5', '119') then

lArqIni.WriteString('Artelogic 8x5', '119', '00011110000111100000000100000110000000010001111000000000'); // w

if not lArqIni.ValueExists('Artelogic 8x5', '120') then

lArqIni.WriteString('Artelogic 8x5', '120', '00010001000110110000111000001110000110110001000100000000'); // x

if not lArqIni.ValueExists('Artelogic 8x5', '121') then

lArqIni.WriteString('Artelogic 8x5', '121', '000111000001110100000101000111110001111000000000'); // y

if not lArqIni.ValueExists('Artelogic 8x5', '122') then

lArqIni.WriteString('Artelogic 8x5', '122', '000100110001011100010101000111010001100100000000'); // z

if not lArqIni.ValueExists('Artelogic 8x5', '46') then

lArqIni.WriteString('Artelogic 8x5', '46', '0000000100000000'); // .

if not lArqIni.ValueExists('Artelogic 8x5', '58') then

lArqIni.WriteString('Artelogic 8x5', '58', '0000101000000000'); // :

if not lArqIni.ValueExists('Artelogic 8x5', '47') then

lArqIni.WriteString('Artelogic 8x5', '47', '000000010000001000000100000010000001000000000000'); // /

if not lArqIni.ValueExists('Artelogic 8x5', '33') then

lArqIni.WriteString('Artelogic 8x5', '33', '1111110100000000'); // !

if not lArqIni.ValueExists('Artelogic 8x5', '40') then

lArqIni.WriteString('Artelogic 8x5', '40', '0011110001111110110000111000000100000000'); // (

if not lArqIni.ValueExists('Artelogic 8x5', '41') then

lArqIni.WriteString('Artelogic 8x5', '41', '1000000111000011011111100011110000000000'); // )

if not lArqIni.ValueExists('Artelogic 8x5', '43') then

lArqIni.WriteString('Artelogic 8x5', '43', '00011000000110000111111001111110000110000001100000000000'); // +

if not lArqIni.ValueExists('Artelogic 8x5', '45') then

lArqIni.WriteString('Artelogic 8x5', '45', '000011000000110000001100000011000000110000000000'); // -

if not lArqIni.ValueExists('Artelogic 8x5', '195') then

lArqIni.WriteString('Artelogic 8x5', '195', '000111110111111110100100011111111001111100000000'); // Ã

if not lArqIni.ValueExists('Artelogic 8x5', '193') then

lArqIni.WriteString('Artelogic 8x5', '193', '000111110011111101100100111111111001111100000000'); // Á

if not lArqIni.ValueExists('Artelogic 8x5', '194') then

lArqIni.WriteString('Artelogic 8x5', '194', '000111110111111110100100011111110001111100000000'); // Â

if not lArqIni.ValueExists('Artelogic 8x5', '226') then

lArqIni.WriteString('Artelogic 8x5', '226', '000000100101011110010101010101010000111100000000'); // â

if not lArqIni.ValueExists('Artelogic 8x5', '225') then

lArqIni.WriteString('Artelogic 8x5', '225', '000000100001011101010101100101010001111100000000'); // á

if not lArqIni.ValueExists('Artelogic 8x5', '226') then

lArqIni.WriteString('Artelogic 8x5', '226', '000000100101011110010101010101010001111100000000'); // â

if not lArqIni.ValueExists('Artelogic 8x5', '201') then

lArqIni.WriteString('Artelogic 8x5', '201', '001111110011111101101001101010010010100100000000'); // É

if not lArqIni.ValueExists('Artelogic 8x5', '202') then

lArqIni.WriteString('Artelogic 8x5', '202', '001111110111111110101001011010010010100100000000'); // Ê

if not lArqIni.ValueExists('Artelogic 8x5', '233') then

lArqIni.WriteString('Artelogic 8x5', '233', '000011100001111101010101100101010000110000000000'); // é

if not lArqIni.ValueExists('Artelogic 8x5', '234') then

lArqIni.WriteString('Artelogic 8x5', '234', '000011100101111110010101010101010000110000000000'); // ê

if not lArqIni.ValueExists('Artelogic 8x5', '213') then

lArqIni.WriteString('Artelogic 8x5', '213', '000111100111111110100001011111111001111000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 8x5', '211') then

lArqIni.WriteString('Artelogic 8x5', '211', '000111100011111101100001111111111001111000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 8x5', '212') then

lArqIni.WriteString('Artelogic 8x5', '212', '000111100111111110100001011111110001111000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 8x5', '244') then

lArqIni.WriteString('Artelogic 8x5', '244', '000011100101111110010001010111110000111000000000'); // ô

if not lArqIni.ValueExists('Artelogic 8x5', '243') then

lArqIni.WriteString('Artelogic 8x5', '243', '000011100001111101010001100111110000111000000000'); // ó

if not lArqIni.ValueExists('Artelogic 8x5', '243') then

lArqIni.WriteString('Artelogic 8x5', '243', '000011100101111110010001010111110000111000000000'); // ó

if not lArqIni.ValueExists('Artelogic 8x5', '205') then

lArqIni.WriteString('Artelogic 8x5', '205', '01011111110111111000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 8x5', '237') then

lArqIni.WriteString('Artelogic 8x5', '237', '00101111011011110100000000000000'); // í

if not lArqIni.ValueExists('Artelogic 8x5', '199') then

lArqIni.WriteString('Artelogic 8x5', '199', '011111001111111010000010100001111000001000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 8x5', '231') then

lArqIni.WriteString('Artelogic 8x5', '231', '000111000011111000100010001001110010001000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes8x6;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 8 x 6 ------

//

if not lArqIni.ValueExists('Artelogic 8x6', '65') then

lArqIni.WriteString('Artelogic 8x6', '65', '01111111111111111000100010001000111111110111111100000000'); // A

if not lArqIni.ValueExists('Artelogic 8x6', '66') then

lArqIni.WriteString('Artelogic 8x6', '66', '11111111111111111001000110010001111111110110111000000000'); // B

if not lArqIni.ValueExists('Artelogic 8x6', '67') then

lArqIni.WriteString('Artelogic 8x6', '67', '01111110111111111000000110000001110000110100001000000000'); // C

if not lArqIni.ValueExists('Artelogic 8x6', '68') then

lArqIni.WriteString('Artelogic 8x6', '68', '11111111111111111000000110000001111111110111111000000000'); // D

if not lArqIni.ValueExists('Artelogic 8x6', '69') then

lArqIni.WriteString('Artelogic 8x6', '69', '11111111111111111001000110010001100100011000000100000000'); // E

if not lArqIni.ValueExists('Artelogic 8x6', '70') then

lArqIni.WriteString('Artelogic 8x6', '70', '11111111111111111001000010010000100100001000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 8x6', '71') then

lArqIni.WriteString('Artelogic 8x6', '71', '01111111111111111000000110001001100011111000111100000000'); // G

if not lArqIni.ValueExists('Artelogic 8x6', '72') then

lArqIni.WriteString('Artelogic 8x6', '72', '11111111111111110001000000010000111111111111111100000000'); // H

if not lArqIni.ValueExists('Artelogic 8x6', '73') then

lArqIni.WriteString('Artelogic 8x6', '73', '111111111111111100000000'); // I

if not lArqIni.ValueExists('Artelogic 8x6', '32') then

lArqIni.WriteString('Artelogic 8x6', '32', '000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 8x6', '74') then

lArqIni.WriteString('Artelogic 8x6', '74', '000000100000001100000001111111111111111000000000'); // J

if not lArqIni.ValueExists('Artelogic 8x6', '75') then

lArqIni.WriteString('Artelogic 8x6', '75', '11111111111111110001100000111100111001111100001100000000'); // K

if not lArqIni.ValueExists('Artelogic 8x6', '76') then

lArqIni.WriteString('Artelogic 8x6', '76', '11111111111111110000001100000011000000110000001100000000'); // L

if not lArqIni.ValueExists('Artelogic 8x6', '77') then

lArqIni.WriteString('Artelogic 8x6', '77', '1111111111111111110000000110000011000000111111111111111100000000'); // M

if not lArqIni.ValueExists('Artelogic 8x6', '78') then

lArqIni.WriteString('Artelogic 8x6', '78', '11111111111111110011000000001100111111111111111100000000'); // N

if not lArqIni.ValueExists('Artelogic 8x6', '79') then

lArqIni.WriteString('Artelogic 8x6', '79', '01111110111111111000000110000001111111110111111000000000'); // O

if not lArqIni.ValueExists('Artelogic 8x6', '80') then

lArqIni.WriteString('Artelogic 8x6', '80', '11111111111111111000100010001000111110000111000000000000'); // P

if not lArqIni.ValueExists('Artelogic 8x6', '81') then

lArqIni.WriteString('Artelogic 8x6', '81', '01111110111111111000000110000001111111100111110100000000'); // Q

if not lArqIni.ValueExists('Artelogic 8x6', '82') then

lArqIni.WriteString('Artelogic 8x6', '82', '11111111111111111000100010001100111111110111001100000000'); // R

if not lArqIni.ValueExists('Artelogic 8x6', '83') then

lArqIni.WriteString('Artelogic 8x6', '83', '01110010111110111001100110011001110111110100111000000000'); // S

if not lArqIni.ValueExists('Artelogic 8x6', '84') then

lArqIni.WriteString('Artelogic 8x6', '84', '11000000110000001111111111111111110000001100000000000000'); // T

if not lArqIni.ValueExists('Artelogic 8x6', '85') then

lArqIni.WriteString('Artelogic 8x6', '85', '11111110111111110000000100000001111111111111111000000000'); // U

if not lArqIni.ValueExists('Artelogic 8x6', '86') then

lArqIni.WriteString('Artelogic 8x6', '86', '11111100111111100000001100000011111111101111110000000000'); // V

if not lArqIni.ValueExists('Artelogic 8x6', '87') then

lArqIni.WriteString('Artelogic 8x6', '87', '1111111111111111000001100000110000000110111111111111111100000000'); // W

if not lArqIni.ValueExists('Artelogic 8x6', '88') then

lArqIni.WriteString('Artelogic 8x6', '88', '11000011111001110011110000111100111001111100001100000000'); // X

if not lArqIni.ValueExists('Artelogic 8x6', '89') then

lArqIni.WriteString('Artelogic 8x6', '89', '11110000111110000000111100001111111110001111000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 8x6', '90') then

lArqIni.WriteString('Artelogic 8x6', '90', '11000011110001111100111111011011111100111110001100000000'); // Z

if not lArqIni.ValueExists('Artelogic 8x6', '49') then

lArqIni.WriteString('Artelogic 8x6', '49', '0100000111111111111111110000000100000000'); // 1

if not lArqIni.ValueExists('Artelogic 8x6', '50') then

lArqIni.WriteString('Artelogic 8x6', '50', '01000011110001111000110110011001111100010110000100000000'); // 2

if not lArqIni.ValueExists('Artelogic 8x6', '51') then

lArqIni.WriteString('Artelogic 8x6', '51', '01000010110000111001000110010001111111110110111000000000'); // 3

if not lArqIni.ValueExists('Artelogic 8x6', '52') then

lArqIni.WriteString('Artelogic 8x6', '52', '00011100001111000110010011001111100011110000010000000000'); // 4

if not lArqIni.ValueExists('Artelogic 8x6', '53') then

lArqIni.WriteString('Artelogic 8x6', '53', '11110010111100111001000110010001100111111000111000000000'); // 5

if not lArqIni.ValueExists('Artelogic 8x6', '54') then

lArqIni.WriteString('Artelogic 8x6', '54', '01111110111111111000100110001001110011110100011000000000'); // 6

if not lArqIni.ValueExists('Artelogic 8x6', '55') then

lArqIni.WriteString('Artelogic 8x6', '55', '10000000100000001000111110011111111100001110000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 8x6', '56') then

lArqIni.WriteString('Artelogic 8x6', '56', '01101110111111111001000110010001111111110110111000000000'); // 8

if not lArqIni.ValueExists('Artelogic 8x6', '57') then

lArqIni.WriteString('Artelogic 8x6', '57', '01110010111110111000100110001001111111110111111000000000'); // 9

if not lArqIni.ValueExists('Artelogic 8x6', '48') then

lArqIni.WriteString('Artelogic 8x6', '48', '01111110111111111000000110000001111111110111111000000000'); // 0

if not lArqIni.ValueExists('Artelogic 8x6', '97') then

lArqIni.WriteString('Artelogic 8x6', '97', '00000010000101110001010100010101000101010000111100000000'); // a

if not lArqIni.ValueExists('Artelogic 8x6', '98') then

lArqIni.WriteString('Artelogic 8x6', '98', '11111111111111110001000100010001000111110000111000000000'); // b

if not lArqIni.ValueExists('Artelogic 8x6', '99') then

lArqIni.WriteString('Artelogic 8x6', '99', '00001110000111110001000100010001000100010001000100000000'); // c

if not lArqIni.ValueExists('Artelogic 8x6', '100') then

lArqIni.WriteString('Artelogic 8x6', '100', '00001110000111110001000100010001111111111111111100000000'); // d

if not lArqIni.ValueExists('Artelogic 8x6', '101') then

lArqIni.WriteString('Artelogic 8x6', '101', '00011110001111110010100100101001001110010001100000000000'); // e

if not lArqIni.ValueExists('Artelogic 8x6', '102') then

lArqIni.WriteString('Artelogic 8x6', '102', '0001000001111111111111111001000000000000'); // f

if not lArqIni.ValueExists('Artelogic 8x6', '103') then

lArqIni.WriteString('Artelogic 8x6', '103', '00001000000111010001010100010101000111110001111000000000'); // g

if not lArqIni.ValueExists('Artelogic 8x6', '104') then

lArqIni.WriteString('Artelogic 8x6', '104', '11111111111111110001100000011000000111110000111100000000'); // h

if not lArqIni.ValueExists('Artelogic 8x6', '105') then

lArqIni.WriteString('Artelogic 8x6', '105', '010111110101111100000000'); // i

if not lArqIni.ValueExists('Artelogic 8x6', '106') then

lArqIni.WriteString('Artelogic 8x6', '106', '00000001010111110101111000000000'); // j

if not lArqIni.ValueExists('Artelogic 8x6', '107') then

lArqIni.WriteString('Artelogic 8x6', '107', '111111111111111100000100000111110001101100000000'); // k

if not lArqIni.ValueExists('Artelogic 8x6', '108') then

lArqIni.WriteString('Artelogic 8x6', '108', '111111111111111100000000'); // l

if not lArqIni.ValueExists('Artelogic 8x6', '109') then

lArqIni.WriteString('Artelogic 8x6', '109', '0001111100011111000100000000111100011111000100000000111100000000'); // m

if not lArqIni.ValueExists('Artelogic 8x6', '110') then

lArqIni.WriteString('Artelogic 8x6', '110', '000111110001111100010000000111110000111100000000'); // n

if not lArqIni.ValueExists('Artelogic 8x6', '111') then

lArqIni.WriteString('Artelogic 8x6', '111', '000011100001111100010001000111110000111000000000'); // o

if not lArqIni.ValueExists('Artelogic 8x6', '112') then

lArqIni.WriteString('Artelogic 8x6', '112', '00011111000111110001010000010100000111000000100000000000'); // p

if not lArqIni.ValueExists('Artelogic 8x6', '113') then

lArqIni.WriteString('Artelogic 8x6', '113', '00001000000111000001010000010100000111110001111100000000'); // q

if not lArqIni.ValueExists('Artelogic 8x6', '114') then

lArqIni.WriteString('Artelogic 8x6', '114', '00011111000111110000010000001000000100000001000000000000'); // r

if not lArqIni.ValueExists('Artelogic 8x6', '115') then

lArqIni.WriteString('Artelogic 8x6', '115', '00001001000111010001010100010101000101110001001000000000'); // s

if not lArqIni.ValueExists('Artelogic 8x6', '116') then

lArqIni.WriteString('Artelogic 8x6', '116', '0010000011111111111111110010000000000000'); // t

if not lArqIni.ValueExists('Artelogic 8x6', '117') then

lArqIni.WriteString('Artelogic 8x6', '117', '00011110000111110000000100000001000111110001111000000000'); // u

if not lArqIni.ValueExists('Artelogic 8x6', '118') then

lArqIni.WriteString('Artelogic 8x6', '118', '000111000001111000000011000111100001110000000000'); // v

if not lArqIni.ValueExists('Artelogic 8x6', '119') then

lArqIni.WriteString('Artelogic 8x6', '119', '0001111000011111000000010000011000000001000111110001111000000000'); // w

if not lArqIni.ValueExists('Artelogic 8x6', '120') then

lArqIni.WriteString('Artelogic 8x6', '120', '00010001000110110000111000001110000110110001000100000000'); // x

if not lArqIni.ValueExists('Artelogic 8x6', '121') then

lArqIni.WriteString('Artelogic 8x6', '121', '00011000000111010000010100000101000111110001111000000000'); // y

if not lArqIni.ValueExists('Artelogic 8x6', '122') then

lArqIni.WriteString('Artelogic 8x6', '122', '00010011000100110001010100010101000110010001100100000000'); // z

if not lArqIni.ValueExists('Artelogic 8x6', '46') then

lArqIni.WriteString('Artelogic 8x6', '46', '0000000100000000'); // .

if not lArqIni.ValueExists('Artelogic 8x6', '58') then

lArqIni.WriteString('Artelogic 8x6', '58', '0000101000000000'); // :

if not lArqIni.ValueExists('Artelogic 8x6', '47') then

lArqIni.WriteString('Artelogic 8x6', '47', '000000010000001000000100000010000001000000000000'); // /

if not lArqIni.ValueExists('Artelogic 8x6', '33') then

lArqIni.WriteString('Artelogic 8x6', '33', '1111110100000000'); // !

if not lArqIni.ValueExists('Artelogic 8x6', '40') then

lArqIni.WriteString('Artelogic 8x6', '40', '0011110001111110110000111000000100000000'); // (

if not lArqIni.ValueExists('Artelogic 8x6', '41') then

lArqIni.WriteString('Artelogic 8x6', '41', '1000000111000011011111100011110000000000'); // )

if not lArqIni.ValueExists('Artelogic 8x6', '43') then

lArqIni.WriteString('Artelogic 8x6', '43', '00011000000110000111111001111110000110000001100000000000'); // +

if not lArqIni.ValueExists('Artelogic 8x6', '45') then

lArqIni.WriteString('Artelogic 8x6', '45', '00001100000011000000110000001100000011000000110000000000'); // -

if not lArqIni.ValueExists('Artelogic 8x6', '195') then

lArqIni.WriteString('Artelogic 8x6', '195', '00011111011111111010010001100100101111110001111100000000'); // Ã

if not lArqIni.ValueExists('Artelogic 8x6', '193') then

lArqIni.WriteString('Artelogic 8x6', '193', '00011111001111110110010011100100101111110001111100000000'); // Á

if not lArqIni.ValueExists('Artelogic 8x6', '194') then

lArqIni.WriteString('Artelogic 8x6', '194', '00011111011111111010010010100100011111110001111100000000'); // Â

if not lArqIni.ValueExists('Artelogic 8x6', '227') then

lArqIni.WriteString('Artelogic 8x6', '227', '00000010000101110101010110010101010111111000111100000000'); // ã

if not lArqIni.ValueExists('Artelogic 8x6', '225') then

lArqIni.WriteString('Artelogic 8x6', '225', '00000010000101110001010101010101110111111000111100000000'); // á

if not lArqIni.ValueExists('Artelogic 8x6', '226') then

lArqIni.WriteString('Artelogic 8x6', '226', '00000010000101110101010110010101010111110000111100000000'); // â

if not lArqIni.ValueExists('Artelogic 8x6', '201') then

lArqIni.WriteString('Artelogic 8x6', '201', '00111111001111110010100101101001111010011010100100000000'); // É

if not lArqIni.ValueExists('Artelogic 8x6', '202') then

lArqIni.WriteString('Artelogic 8x6', '202', '00111111001111110110100110101001011010010010100100000000'); // Ê

if not lArqIni.ValueExists('Artelogic 8x6', '233') then

lArqIni.WriteString('Artelogic 8x6', '233', '00001110000111110001010101010101110111011000110000000000'); // é

if not lArqIni.ValueExists('Artelogic 8x6', '234') then

lArqIni.WriteString('Artelogic 8x6', '234', '00001110000111110101010110010101010111010000110000000000'); // ê

if not lArqIni.ValueExists('Artelogic 8x6', '213') then

lArqIni.WriteString('Artelogic 8x6', '213', '00011110011111111010000101100001101111110001111000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 8x6', '211') then

lArqIni.WriteString('Artelogic 8x6', '211', '00011110001111110110000111100001101111110001111000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 8x6', '212') then

lArqIni.WriteString('Artelogic 8x6', '212', '00011110001111110110000110100001011111110001111000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 8x6', '245') then

lArqIni.WriteString('Artelogic 8x6', '245', '00001110000111110101000110010001010111111000111000000000'); // õ

if not lArqIni.ValueExists('Artelogic 8x6', '243') then

lArqIni.WriteString('Artelogic 8x6', '243', '00001110000111110001000101010001110111111000111000000000'); // ó

if not lArqIni.ValueExists('Artelogic 8x6', '244') then

lArqIni.WriteString('Artelogic 8x6', '244', '00001110000111110101000110010001010111110000111000000000'); // ô

if not lArqIni.ValueExists('Artelogic 8x6', '205') then

lArqIni.WriteString('Artelogic 8x6', '205', '01011111110111111000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 8x6', '237') then

lArqIni.WriteString('Artelogic 8x6', '237', '00101111011011110100000000000000'); // í

if not lArqIni.ValueExists('Artelogic 8x6', '199') then

lArqIni.WriteString('Artelogic 8x6', '199', '01111100111111101000001010000111100000101000001000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 8x6', '231') then

lArqIni.WriteString('Artelogic 8x6', '231', '00011100001111100010001000100111001000100010001000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes8x7;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 8 x 7 ------

//

if not lArqIni.ValueExists('Artelogic 8x7', '65') then

lArqIni.WriteString('Artelogic 8x7', '65', '0111111111111111100010001000100010001000111111110111111100000000'); // A

if not lArqIni.ValueExists('Artelogic 8x7', '66') then

lArqIni.WriteString('Artelogic 8x7', '66', '1111111111111111100100011001000110010001111111110110011000000000'); // B

if not lArqIni.ValueExists('Artelogic 8x7', '67') then

lArqIni.WriteString('Artelogic 8x7', '67', '0111111011111111100000011000000110000001110000110100001000000000'); // C

if not lArqIni.ValueExists('Artelogic 8x7', '68') then

lArqIni.WriteString('Artelogic 8x7', '68', '1111111111111111100000011000000110000001111111110111111000000000'); // D

if not lArqIni.ValueExists('Artelogic 8x7', '69') then

lArqIni.WriteString('Artelogic 8x7', '69', '1111111111111111100100011001000110010001100100011000000100000000'); // E

if not lArqIni.ValueExists('Artelogic 8x7', '70') then

lArqIni.WriteString('Artelogic 8x7', '70', '1111111111111111100100001001000010010000100100001000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 8x7', '71') then

lArqIni.WriteString('Artelogic 8x7', '71', '0111111011111111100000011000100110001001110011110100111100000000'); // G

if not lArqIni.ValueExists('Artelogic 8x7', '72') then

lArqIni.WriteString('Artelogic 8x7', '72', '1111111111111111000100000001000000010000111111111111111100000000'); // H

if not lArqIni.ValueExists('Artelogic 8x7', '73') then

lArqIni.WriteString('Artelogic 8x7', '73', '111111111111111100000000'); // I

if not lArqIni.ValueExists('Artelogic 8x7', '32') then

lArqIni.WriteString('Artelogic 8x7', '32', '000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 8x7', '74') then

lArqIni.WriteString('Artelogic 8x7', '74', '0000001000000011000000010000000100000001111111111111111000000000'); // J

if not lArqIni.ValueExists('Artelogic 8x7', '75') then

lArqIni.WriteString('Artelogic 8x7', '75', '1111111111111111000110000011110001100110110000111000000100000000'); // K

if not lArqIni.ValueExists('Artelogic 8x7', '76') then

lArqIni.WriteString('Artelogic 8x7', '76', '1111111111111111000000110000001100000011000000110000001100000000'); // L

if not lArqIni.ValueExists('Artelogic 8x7', '77') then

lArqIni.WriteString('Artelogic 8x7', '77', '1111111111111111110000000110000011000000111111111111111100000000'); // M

if not lArqIni.ValueExists('Artelogic 8x7', '78') then

lArqIni.WriteString('Artelogic 8x7', '78', '1111111111111111011000000001100000000110111111111111111100000000'); // N

if not lArqIni.ValueExists('Artelogic 8x7', '79') then

lArqIni.WriteString('Artelogic 8x7', '79', '0111111011111111100000011000000110000001111111110111111000000000'); // O

if not lArqIni.ValueExists('Artelogic 8x7', '80') then

lArqIni.WriteString('Artelogic 8x7', '80', '1111111111111111100010001000100010001000111110000111000000000000'); // P

if not lArqIni.ValueExists('Artelogic 8x7', '81') then

lArqIni.WriteString('Artelogic 8x7', '81', '0111111011111111100000011000000110000101111110100111110100000000'); // Q

if not lArqIni.ValueExists('Artelogic 8x7', '82') then

lArqIni.WriteString('Artelogic 8x7', '82', '1111111111111111100010001000110010001110111110110111000100000000'); // R

if not lArqIni.ValueExists('Artelogic 8x7', '83') then

lArqIni.WriteString('Artelogic 8x7', '83', '0111001011111011100110011001100110011001110111110100111000000000'); // S

if not lArqIni.ValueExists('Artelogic 8x7', '84') then

lArqIni.WriteString('Artelogic 8x7', '84', '11000000110000001111111111111111110000001100000000000000'); // T

if not lArqIni.ValueExists('Artelogic 8x7', '85') then

lArqIni.WriteString('Artelogic 8x7', '85', '1111111011111111000000010000000100000001111111111111111000000000'); // U

if not lArqIni.ValueExists('Artelogic 8x7', '86') then

lArqIni.WriteString('Artelogic 8x7', '86', '1111100011111100000001100000001100000110111111001111100000000000'); // V

if not lArqIni.ValueExists('Artelogic 8x7', '87') then

lArqIni.WriteString('Artelogic 8x7', '87', '1111111111111111000000100000010000000010111111111111111100000000'); // W

if not lArqIni.ValueExists('Artelogic 8x7', '88') then

lArqIni.WriteString('Artelogic 8x7', '88', '1100001111100111001111000001100000111100111001111100001100000000'); // X

if not lArqIni.ValueExists('Artelogic 8x7', '89') then

lArqIni.WriteString('Artelogic 8x7', '89', '11110000111110000000111100001111111110001111000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 8x7', '90') then

lArqIni.WriteString('Artelogic 8x7', '90', '1100001111000111110011111101101111110011111000111100001100000000'); // Z

if not lArqIni.ValueExists('Artelogic 8x7', '49') then

lArqIni.WriteString('Artelogic 8x7', '49', '0100000111111111111111110000000100000000'); // 1

if not lArqIni.ValueExists('Artelogic 8x7', '50') then

lArqIni.WriteString('Artelogic 8x7', '50', '0100000111000011100001111000110110011001111100010110000100000000'); // 2

if not lArqIni.ValueExists('Artelogic 8x7', '51') then

lArqIni.WriteString('Artelogic 8x7', '51', '0100001011000011100100011001000110010001111111110110111000000000'); // 3

if not lArqIni.ValueExists('Artelogic 8x7', '52') then

lArqIni.WriteString('Artelogic 8x7', '52', '0001110000111100011001001100010010011111000111110000010000000000'); // 4

if not lArqIni.ValueExists('Artelogic 8x7', '53') then

lArqIni.WriteString('Artelogic 8x7', '53', '1111001011110011100100011001000110010001100111111000111000000000'); // 5

if not lArqIni.ValueExists('Artelogic 8x7', '54') then

lArqIni.WriteString('Artelogic 8x7', '54', '0111111011111111100100011001000110010001110111110100111000000000'); // 6

if not lArqIni.ValueExists('Artelogic 8x7', '55') then

lArqIni.WriteString('Artelogic 8x7', '55', '1000000010000000100001111000111110011000111100001110000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 8x7', '56') then

lArqIni.WriteString('Artelogic 8x7', '56', '0110111011111111100100011001000110010001111111110110111000000000'); // 8

if not lArqIni.ValueExists('Artelogic 8x7', '57') then

lArqIni.WriteString('Artelogic 8x7', '57', '0111001011111011100010011000100110001001111111110111111000000000'); // 9

if not lArqIni.ValueExists('Artelogic 8x7', '48') then

lArqIni.WriteString('Artelogic 8x7', '48', '0111111011111111100000011000000110000001111111110111111000000000'); // 0

if not lArqIni.ValueExists('Artelogic 8x7', '97') then

lArqIni.WriteString('Artelogic 8x7', '97', '0000001000010111000101010001010100010101000111110000111100000000'); // a

if not lArqIni.ValueExists('Artelogic 8x7', '98') then

lArqIni.WriteString('Artelogic 8x7', '98', '1111111111111111000100010001000100010001000111110000111000000000'); // b

if not lArqIni.ValueExists('Artelogic 8x7', '99') then

lArqIni.WriteString('Artelogic 8x7', '99', '00001110000111110001000100010001000100010001000100000000'); // c

if not lArqIni.ValueExists('Artelogic 8x7', '100') then

lArqIni.WriteString('Artelogic 8x7', '100', '0000111000011111000100010001000100010001111111111111111100000000'); // d

if not lArqIni.ValueExists('Artelogic 8x7', '101') then

lArqIni.WriteString('Artelogic 8x7', '101', '0000111000011111000101010001010100010101000111010000110000000000'); // e

if not lArqIni.ValueExists('Artelogic 8x7', '102') then

lArqIni.WriteString('Artelogic 8x7', '102', '0001000001111111111111111001000000000000'); // f

if not lArqIni.ValueExists('Artelogic 8x7', '103') then

lArqIni.WriteString('Artelogic 8x7', '103', '0000100000011101000101010001010100010101000111110001111000000000'); // g

if not lArqIni.ValueExists('Artelogic 8x7', '104') then

lArqIni.WriteString('Artelogic 8x7', '104', '1111111111111111000010000001000000010000000111110000111100000000'); // h

if not lArqIni.ValueExists('Artelogic 8x7', '105') then

lArqIni.WriteString('Artelogic 8x7', '105', '010111110101111100000000'); // i

if not lArqIni.ValueExists('Artelogic 8x7', '106') then

lArqIni.WriteString('Artelogic 8x7', '106', '0000000100000001010111110101111000000000'); // j

if not lArqIni.ValueExists('Artelogic 8x7', '107') then

lArqIni.WriteString('Artelogic 8x7', '107', '11111111111111110000010000001110000110110001000100000000'); // k

if not lArqIni.ValueExists('Artelogic 8x7', '108') then

lArqIni.WriteString('Artelogic 8x7', '108', '111111111111111100000000'); // l

if not lArqIni.ValueExists('Artelogic 8x7', '109') then

lArqIni.WriteString('Artelogic 8x7', '109', '001111110011111100100000000111110011111100100000000111110001111122222222'); // m

if not lArqIni.ValueExists('Artelogic 8x7', '110') then

lArqIni.WriteString('Artelogic 8x7', '110', '0011111100111111000100000010000000100000001111110001111100000000'); // n

if not lArqIni.ValueExists('Artelogic 8x7', '111') then

lArqIni.WriteString('Artelogic 8x7', '111', '0000111000011111000100010001000100010001000111110000111000000000'); // o

if not lArqIni.ValueExists('Artelogic 8x7', '112') then

lArqIni.WriteString('Artelogic 8x7', '112', '0001111100011111000101000001010000010100000111000000100000000000'); // p

if not lArqIni.ValueExists('Artelogic 8x7', '113') then

lArqIni.WriteString('Artelogic 8x7', '113', '0000100000011100000101000001010000010100000111110001111100000000'); // q

if not lArqIni.ValueExists('Artelogic 8x7', '114') then

lArqIni.WriteString('Artelogic 8x7', '114', '00011111000111110000100000010000000100000001000000000000'); // r

if not lArqIni.ValueExists('Artelogic 8x7', '115') then

lArqIni.WriteString('Artelogic 8x7', '115', '0000100100011101000101010001010100010101000101110001001000000000'); // s

if not lArqIni.ValueExists('Artelogic 8x7', '116') then

lArqIni.WriteString('Artelogic 8x7', '116', '001000001111111011111111001000010000000100000000'); // t

if not lArqIni.ValueExists('Artelogic 8x7', '117') then

lArqIni.WriteString('Artelogic 8x7', '117', '0001111000011111000000010000000100000001000111110001111000000000'); // u

if not lArqIni.ValueExists('Artelogic 8x7', '118') then

lArqIni.WriteString('Artelogic 8x7', '118', '0001100000011100000001100000001100000110000111000001100000000000'); // v

if not lArqIni.ValueExists('Artelogic 8x7', '120') then

lArqIni.WriteString('Artelogic 8x7', '120', '0001000100011011000011100000010000001110000110110001000100000000'); // x

if not lArqIni.ValueExists('Artelogic 8x7', '121') then

lArqIni.WriteString('Artelogic 8x7', '121', '0001100000011101000001010000010100000101000111110001111000000000'); // y

if not lArqIni.ValueExists('Artelogic 8x7', '119') then

lArqIni.WriteString('Artelogic 8x7', '119', '0001111000011111000000010000011000000001000111110001111000000000'); // w

if not lArqIni.ValueExists('Artelogic 8x7', '122') then

lArqIni.WriteString('Artelogic 8x7', '122', '00010001000100110001011100011101000110010001000100000000'); // z

if not lArqIni.ValueExists('Artelogic 8x7', '46') then

lArqIni.WriteString('Artelogic 8x7', '46', '0000000100000000'); // .

if not lArqIni.ValueExists('Artelogic 8x7', '58') then

lArqIni.WriteString('Artelogic 8x7', '58', '0000101000000000'); // :

if not lArqIni.ValueExists('Artelogic 8x7', '47') then

lArqIni.WriteString('Artelogic 8x7', '47', '0000001100000110000011000001100000110000011000001100000000000000'); // /

if not lArqIni.ValueExists('Artelogic 8x7', '33') then

lArqIni.WriteString('Artelogic 8x7', '33', '111111011111110100000000'); // !

if not lArqIni.ValueExists('Artelogic 8x7', '40') then

lArqIni.WriteString('Artelogic 8x7', '40', '0011110001111110110000111000000100000000'); // (

if not lArqIni.ValueExists('Artelogic 8x7', '41') then

lArqIni.WriteString('Artelogic 8x7', '41', '1000000111000011011111100011110000000000'); // )

if not lArqIni.ValueExists('Artelogic 8x7', '43') then

lArqIni.WriteString('Artelogic 8x7', '43', '00011000000110000111111001111110000110000001100000000000'); // +

if not lArqIni.ValueExists('Artelogic 8x7', '45') then

lArqIni.WriteString('Artelogic 8x7', '45', '00001100000011000000110000001100000011000000110000000000'); // -

if not lArqIni.ValueExists('Artelogic 8x7', '195') then

lArqIni.WriteString('Artelogic 8x7', '195', '0001111101111111101001001010010001100100101111110001111100000000'); // Ã

if not lArqIni.ValueExists('Artelogic 8x7', '193') then

lArqIni.WriteString('Artelogic 8x7', '193', '0001111100111111001001000110010011100100101111110001111100000000'); // Á

if not lArqIni.ValueExists('Artelogic 8x7', '194') then

lArqIni.WriteString('Artelogic 8x7', '194', '0001111100111111011001001010010001100100001111110001111100000000'); // Â

if not lArqIni.ValueExists('Artelogic 8x7', '227') then

lArqIni.WriteString('Artelogic 8x7', '227', '0000001000010111010101011001010101010101100111110000111100000000'); // ã

if not lArqIni.ValueExists('Artelogic 8x7', '225') then

lArqIni.WriteString('Artelogic 8x7', '225', '0000001000010111000101010101010111010101100111110000111100000000'); // á

if not lArqIni.ValueExists('Artelogic 8x7', '226') then

lArqIni.WriteString('Artelogic 8x7', '226', '0000001000010111010101011001010101010101000111110000111100000000'); // â

if not lArqIni.ValueExists('Artelogic 8x7', '201') then

lArqIni.WriteString('Artelogic 8x7', '201', '0011111100111111001010010110100111101001101010010010000100000000'); // É

if not lArqIni.ValueExists('Artelogic 8x7', '202') then

lArqIni.WriteString('Artelogic 8x7', '202', '0011111100111111011010011010100101101001001010010010000100000000'); // Ê

if not lArqIni.ValueExists('Artelogic 8x7', '233') then

lArqIni.WriteString('Artelogic 8x7', '233', '0000111000011111000101010101010111010101100111010000110000000000'); // é

if not lArqIni.ValueExists('Artelogic 8x7', '234') then

lArqIni.WriteString('Artelogic 8x7', '234', '0000111000011111010101011001010101010101000111010000110000000000'); // ê

if not lArqIni.ValueExists('Artelogic 8x7', '213') then

lArqIni.WriteString('Artelogic 8x7', '213', '0001111001111111101000011010000101100001101111110001111000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 8x7', '211') then

lArqIni.WriteString('Artelogic 8x7', '211', '0001111000111111001000010110000111100001101111110001111000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 8x7', '212') then

lArqIni.WriteString('Artelogic 8x7', '212', '0001111000111111011000011010000101100001001111110001111000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 8x7', '245') then

lArqIni.WriteString('Artelogic 8x7', '245', '0000111000011111010100011001000101010001100111110000111000000000'); // õ

if not lArqIni.ValueExists('Artelogic 8x7', '243') then

lArqIni.WriteString('Artelogic 8x7', '243', '0000111000011111000100010101000111010001100111110000111000000000'); // ó

if not lArqIni.ValueExists('Artelogic 8x7', '244') then

lArqIni.WriteString('Artelogic 8x7', '244', '0000111000011111010100011001000101010001000111110000111000000000'); // ô

if not lArqIni.ValueExists('Artelogic 8x7', '205') then

lArqIni.WriteString('Artelogic 8x7', '205', '01011111110111111000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 8x7', '237') then

lArqIni.WriteString('Artelogic 8x7', '237', '00101111011011110100000000000000'); // í

if not lArqIni.ValueExists('Artelogic 8x7', '199') then

lArqIni.WriteString('Artelogic 8x7', '199', '0111110011111110100000101000011110000010110001100100010000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 8x7', '231') then

lArqIni.WriteString('Artelogic 8x7', '231', '00011100001111100010001000100111001000100010001000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes11x6;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 11 x 6 ------

//

if not lArqIni.ValueExists('Artelogic 11x6', '65') then

lArqIni.WriteString('Artelogic 11x6', '65', '01111111111111111111111100011000011000110000111111111110111111111100000000000'); // A

if not lArqIni.ValueExists('Artelogic 11x6', '66') then

lArqIni.WriteString('Artelogic 11x6', '66', '11111111111111111111111100110001111001100011111111111110111001111000000000000'); // B

if not lArqIni.ValueExists('Artelogic 11x6', '67') then

lArqIni.WriteString('Artelogic 11x6', '67', '01111111110111111111111100000001111000000011111000001110110000011000000000000'); // C

if not lArqIni.ValueExists('Artelogic 11x6', '68') then

lArqIni.WriteString('Artelogic 11x6', '68', '11111111111111111111111100000001111000000011111111111110111111111000000000000'); // D

if not lArqIni.ValueExists('Artelogic 11x6', '69') then

lArqIni.WriteString('Artelogic 11x6', '69', '11111111111111111111111100110001111001100011110011000111100000001100000000000'); // E

if not lArqIni.ValueExists('Artelogic 11x6', '70') then

lArqIni.WriteString('Artelogic 11x6', '70', '11111111111111111111111100110000011001100000110011000001100000000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 11x6', '71') then

lArqIni.WriteString('Artelogic 11x6', '71', '01111111110111111111111100000001111000110011111001111110110011111000000000000'); // G

if not lArqIni.ValueExists('Artelogic 11x6', '72') then

lArqIni.WriteString('Artelogic 11x6', '72', '11111111111111111111110000110000000001100000111111111111111111111100000000000'); // H

if not lArqIni.ValueExists('Artelogic 11x6', '32') then

lArqIni.WriteString('Artelogic 11x6', '32', '00000000000000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 11x6', '73') then

lArqIni.WriteString('Artelogic 11x6', '73', '111111111111111111111100000000000'); // I

if not lArqIni.ValueExists('Artelogic 11x6', '74') then

lArqIni.WriteString('Artelogic 11x6', '74', '00000000110000000001110000000001100000000011111111111111111111111000000000000'); // J

if not lArqIni.ValueExists('Artelogic 11x6', '75') then

lArqIni.WriteString('Artelogic 11x6', '75', '11111111111111111111110000110000000111111000111100111111100000011100000000000'); // K

if not lArqIni.ValueExists('Artelogic 11x6', '76') then

lArqIni.WriteString('Artelogic 11x6', '76', '11111111111111111111110000000001100000000011000000000110000000001100000000000'); // L

if not lArqIni.ValueExists('Artelogic 11x6', '77') then

lArqIni.WriteString('Artelogic 11x6', '77', '1111111111111111111111011000000000011000000001100000000111111111111111111111100000000000'); // M

if not lArqIni.ValueExists('Artelogic 11x6', '78') then

lArqIni.WriteString('Artelogic 11x6', '78', '11111111111111111111110011110000000001111000111111111111111111111100000000000'); // N

if not lArqIni.ValueExists('Artelogic 11x6', '79') then

lArqIni.WriteString('Artelogic 11x6', '79', '01111111110111111111111100000001111000000011111111111110111111111000000000000'); // O

if not lArqIni.ValueExists('Artelogic 11x6', '80') then

lArqIni.WriteString('Artelogic 11x6', '80', '11111111111111111111111100110000011001100000111111000000111100000000000000000'); // P

if not lArqIni.ValueExists('Artelogic 11x6', '81') then

lArqIni.WriteString('Artelogic 11x6', '81', '01111111110111111111111100000000111000000101111111110100111111110100000000000'); // Q

if not lArqIni.ValueExists('Artelogic 11x6', '82') then

lArqIni.WriteString('Artelogic 11x6', '82', '11111111111111111111111100011000011000111100111111111110111110001100000000000'); // R

if not lArqIni.ValueExists('Artelogic 11x6', '83') then

lArqIni.WriteString('Artelogic 11x6', '83', '01111100110111111101111100011001111000110011111001111110110001111000000000000'); // S

if not lArqIni.ValueExists('Artelogic 11x6', '84') then

lArqIni.WriteString('Artelogic 11x6', '84', '11000000000110000000001111111111111111111111110000000001100000000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 11x6', '85') then

lArqIni.WriteString('Artelogic 11x6', '85', '11111111110111111111110000000001100000000011111111111111111111111000000000000'); // U

if not lArqIni.ValueExists('Artelogic 11x6', '86') then

lArqIni.WriteString('Artelogic 11x6', '86', '11111111100111111111100000000001100000000011111111111101111111110000000000000'); // V

if not lArqIni.ValueExists('Artelogic 11x6', '87') then

lArqIni.WriteString('Artelogic 11x6', '87', '1111111110011111111110000000000111111111111100000000011111111111101111111110000000000000'); // W

if not lArqIni.ValueExists('Artelogic 11x6', '88') then

lArqIni.WriteString('Artelogic 11x6', '88', '11100000111111100011110001111100000011111000111100011111110000011100000000000'); // X

if not lArqIni.ValueExists('Artelogic 11x6', '89') then

lArqIni.WriteString('Artelogic 11x6', '89', '11111000000111111000000000111111100001111111111111000001111100000000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 11x6', '90') then

lArqIni.WriteString('Artelogic 11x6', '90', '11000001111110000111111100011001111001100011111110000111111000001100000000000'); // Z

if not lArqIni.ValueExists('Artelogic 11x6', '49') then

lArqIni.WriteString('Artelogic 11x6', '49', '0010000000001100000000111111111111111111111100000000000'); // 1

if not lArqIni.ValueExists('Artelogic 11x6', '50') then

lArqIni.WriteString('Artelogic 11x6', '50', '01100001111111000111111100011001111001100011111110000110111000001100000000000'); // 2

if not lArqIni.ValueExists('Artelogic 11x6', '51') then

lArqIni.WriteString('Artelogic 11x6', '51', '01100000110111000001111100110001111001100011111111111110111001111000000000000'); // 3

if not lArqIni.ValueExists('Artelogic 11x6', '52') then

lArqIni.WriteString('Artelogic 11x6', '52', '00001110000000111100000011011000001100110000111111111111111111111100000000000'); // 4

if not lArqIni.ValueExists('Artelogic 11x6', '53') then

lArqIni.WriteString('Artelogic 11x6', '53', '11111100110111111001111100110001111001100011110011111111100011111000000000000'); // 5

if not lArqIni.ValueExists('Artelogic 11x6', '54') then

lArqIni.WriteString('Artelogic 11x6', '54', '01111111110111111111111100110001111001100011111011111110110011111000000000000'); // 6

if not lArqIni.ValueExists('Artelogic 11x6', '55') then

lArqIni.WriteString('Artelogic 11x6', '55', '11000000000110000000001100011111111001111111111110000001111000000000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 11x6', '56') then

lArqIni.WriteString('Artelogic 11x6', '56', '01110011110111111111111100110001111001100011111111111110111001111000000000000'); // 8

if not lArqIni.ValueExists('Artelogic 11x6', '57') then

lArqIni.WriteString('Artelogic 11x6', '57', '01111000110111111001111100110001111001100011111111111110111111111000000000000'); // 9

if not lArqIni.ValueExists('Artelogic 11x6', '48') then

lArqIni.WriteString('Artelogic 11x6', '48', '01111111110111111111111100000001111000000011111111111110111111111000000000000'); // 0

if not lArqIni.ValueExists('Artelogic 11x6', '97') then

lArqIni.WriteString('Artelogic 11x6', '97', '00000100110000011011110000110101100001101010000011111110000011111100000000000'); // a

if not lArqIni.ValueExists('Artelogic 11x6', '98') then

lArqIni.WriteString('Artelogic 11x6', '98', '01111111111011111111110000010001000001100011000011111110000011111000000000000'); // b

if not lArqIni.ValueExists('Artelogic 11x6', '99') then

lArqIni.WriteString('Artelogic 11x6', '99', '00000111110000011111110000110001100001100011000011000110000010001000000000000'); // c

if not lArqIni.ValueExists('Artelogic 11x6', '100') then

lArqIni.WriteString('Artelogic 11x6', '100', '00000111110000011111110000110001100001100011011111111110111111111100000000000'); // d

if not lArqIni.ValueExists('Artelogic 11x6', '101') then

lArqIni.WriteString('Artelogic 11x6', '101', '00000111110000011111110000110101100001101011000011110110000011101000000000000'); // e

if not lArqIni.ValueExists('Artelogic 11x6', '102') then

lArqIni.WriteString('Artelogic 11x6', '102', '000001100000011111111101111111111011001100000110011000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 11x6', '103') then

lArqIni.WriteString('Artelogic 11x6', '103', '00011110000001111110010010000100100100001001000111111110011111111000000000000'); // g

if not lArqIni.ValueExists('Artelogic 11x6', '104') then

lArqIni.WriteString('Artelogic 11x6', '104', '01111111111011111111110000010000000001100000000011111110000011111100000000000'); // h

if not lArqIni.ValueExists('Artelogic 11x6', '105') then

lArqIni.WriteString('Artelogic 11x6', '105', '010111111110101111111100000000000'); // i

if not lArqIni.ValueExists('Artelogic 11x6', '106') then

lArqIni.WriteString('Artelogic 11x6', '106', '000000000100000000001100000000011010111111110101111111000000000000'); // j

if not lArqIni.ValueExists('Artelogic 11x6', '107') then

lArqIni.WriteString('Artelogic 11x6', '107', '01111111111011111111110000000100000000011100000111101110001110001100000000000'); // k

if not lArqIni.ValueExists('Artelogic 11x6', '108') then

lArqIni.WriteString('Artelogic 11x6', '108', '011111111110111111111100000000000'); // l

if not lArqIni.ValueExists('Artelogic 11x6', '109') then

lArqIni.WriteString('Artelogic 11x6', '109', '0000111111100001111111000001000000000111111100000111111000011000000000111111100000000000'); // m

if not lArqIni.ValueExists('Artelogic 11x6', '110') then

lArqIni.WriteString('Artelogic 11x6', '110', '00001111111000011111110000010000000001100000000011111110000011111100000000000'); // n

if not lArqIni.ValueExists('Artelogic 11x6', '111') then

lArqIni.WriteString('Artelogic 11x6', '111', '00000111110000011111110000110001100001100011000011111110000011111000000000000'); // o

if not lArqIni.ValueExists('Artelogic 11x6', '112') then

lArqIni.WriteString('Artelogic 11x6', '112', '00111111111001111111110010000010000100000100001111111000001111100000000000000'); // p

if not lArqIni.ValueExists('Artelogic 11x6', '113') then

lArqIni.WriteString('Artelogic 11x6', '113', '00011111000001111111000010000010000100000100001111111110011111111100000000000'); // q

if not lArqIni.ValueExists('Artelogic 11x6', '114') then

lArqIni.WriteString('Artelogic 11x6', '114', '00001111111000011111110000011000000000100000000011000000000110000000000000000'); // r

if not lArqIni.ValueExists('Artelogic 11x6', '115') then

lArqIni.WriteString('Artelogic 11x6', '115', '00000111010000011110110000110101100001101011000011011110000010111000000000000'); // s

if not lArqIni.ValueExists('Artelogic 11x6', '116') then

lArqIni.WriteString('Artelogic 11x6', '116', '000001100000000111111000001111111000001100110000011001100000000000'); // t

if not lArqIni.ValueExists('Artelogic 11x6', '117') then

lArqIni.WriteString('Artelogic 11x6', '117', '00001111110000011111110000000001100000000011000011111110000111111000000000000'); // u

if not lArqIni.ValueExists('Artelogic 11x6', '118') then

lArqIni.WriteString('Artelogic 11x6', '118', '00001111100000011111100000000001100000000011000011111100000111110000000000000'); // v

if not lArqIni.ValueExists('Artelogic 11x6', '119') then

lArqIni.WriteString('Artelogic 11x6', '119', '0000111110000001111110000000000110000111111000001111110000000000110000111111000000000000'); // w

if not lArqIni.ValueExists('Artelogic 11x6', '120') then

lArqIni.WriteString('Artelogic 11x6', '120', '00001100011000011101110000001110000000011100000011101110000110001100000000000'); // x

if not lArqIni.ValueExists('Artelogic 11x6', '121') then

lArqIni.WriteString('Artelogic 11x6', '121', '00001110000000011110010000000100100000001001000011111110000111111000000000000'); // y

if not lArqIni.ValueExists('Artelogic 11x6', '122') then

lArqIni.WriteString('Artelogic 11x6', '122', '00001000011000010001110000100110100001011001000011100010000110000100000000000'); // z

if not lArqIni.ValueExists('Artelogic 11x6', '46') then

lArqIni.WriteString('Artelogic 11x6', '46', '0000000000100000000000'); // .

if not lArqIni.ValueExists('Artelogic 11x6', '58') then

lArqIni.WriteString('Artelogic 11x6', '58', '0001001000000000000000'); // :

if not lArqIni.ValueExists('Artelogic 11x6', '47') then

lArqIni.WriteString('Artelogic 11x6', '47', '0000000000100000000110000000111000000110000000110000000110000000001000000000000000000000'); // /

if not lArqIni.ValueExists('Artelogic 11x6', '33') then

lArqIni.WriteString('Artelogic 11x6', '33', '1111111110100000000000'); // !

if not lArqIni.ValueExists('Artelogic 11x6', '40') then

lArqIni.WriteString('Artelogic 11x6', '40', '00001110000000111110000011000110001100000110110000000111000000000100000000000'); // (

if not lArqIni.ValueExists('Artelogic 11x6', '41') then

lArqIni.WriteString('Artelogic 11x6', '41', '10000000001110000000110110000011000110001100000111110000000111000000000000000'); // )

if not lArqIni.ValueExists('Artelogic 11x6', '43') then

lArqIni.WriteString('Artelogic 11x6', '43', '00000110000000001100000001111110000011111100000001100000000011000000000000000'); // +

if not lArqIni.ValueExists('Artelogic 11x6', '45') then

lArqIni.WriteString('Artelogic 11x6', '45', '00000110000000001100000000011000000000110000000001100000000011000000000000000'); // -

if not lArqIni.ValueExists('Artelogic 11x6', '195') then

lArqIni.WriteString('Artelogic 11x6', '195', '00001111111010111111111001100110001011001100100111111110000111111100000000000'); // Ã

if not lArqIni.ValueExists('Artelogic 11x6', '193') then

lArqIni.WriteString('Artelogic 11x6', '193', '00001111111000111111110101100110011011001100100111111110000111111100000000000'); // Á

if not lArqIni.ValueExists('Artelogic 11x6', '194') then

lArqIni.WriteString('Artelogic 11x6', '194', '00001111111010111111111001100110010011001100010111111110000111111100000000000'); // Â

if not lArqIni.ValueExists('Artelogic 11x6', '227') then

lArqIni.WriteString('Artelogic 11x6', '227', '00000100110001011011110100110101100101101010010011111110000011111100000000000'); // ã

if not lArqIni.ValueExists('Artelogic 11x6', '225') then

lArqIni.WriteString('Artelogic 11x6', '225', '00000100110000011011110010110101101101101010010011111110000011111100000000000'); // á

if not lArqIni.ValueExists('Artelogic 11x6', '226') then

lArqIni.WriteString('Artelogic 11x6', '226', '00000100110001011011110100110101101001101010001011111110000011111100000000000'); // â

if not lArqIni.ValueExists('Artelogic 11x6', '201') then

lArqIni.WriteString('Artelogic 11x6', '201', '00011111111000111111110101101101111011011011100110110110001100001100000000000'); // É

if not lArqIni.ValueExists('Artelogic 11x6', '202') then

lArqIni.WriteString('Artelogic 11x6', '202', '00011111111010111111111001101101110011011011010110110110001100001100000000000'); // Ê

if not lArqIni.ValueExists('Artelogic 11x6', '233') then

lArqIni.WriteString('Artelogic 11x6', '233', '00000111110000011111110010110101101101101011010011110110000011101000000000000'); // é

if not lArqIni.ValueExists('Artelogic 11x6', '234') then

lArqIni.WriteString('Artelogic 11x6', '234', '00000111110001011111110100110101101001101011001011110110000011101000000000000'); // ê

if not lArqIni.ValueExists('Artelogic 11x6', '213') then

lArqIni.WriteString('Artelogic 11x6', '213', '00001111110010111111111001100001101011000011100111111110000111111000000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 11x6', '211') then

lArqIni.WriteString('Artelogic 11x6', '211', '00001111110000111111110101100001111011000011100111111110000111111000000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 11x6', '212') then

lArqIni.WriteString('Artelogic 11x6', '212', '00001111110010111111111001100001110011000011010111111110000111111000000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 11x6', '245') then

lArqIni.WriteString('Artelogic 11x6', '245', '00000111110001011111110100110001100101100011010011111110000011111000000000000'); // õ

if not lArqIni.ValueExists('Artelogic 11x6', '243') then

lArqIni.WriteString('Artelogic 11x6', '243', '00000111110000011111110010110001101101100011010011111110000011111000000000000'); // ó

if not lArqIni.ValueExists('Artelogic 11x6', '244') then

lArqIni.WriteString('Artelogic 11x6', '244', '00000111110001011111110100110001101001100011001011111110000011111000000000000'); // ô

if not lArqIni.ValueExists('Artelogic 11x6', '205') then

lArqIni.WriteString('Artelogic 11x6', '205', '00011111111010000000001000000000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 11x6', '237') then

lArqIni.WriteString('Artelogic 11x6', '237', '00000111111000010000000001000000000000000000'); // í

if not lArqIni.ValueExists('Artelogic 11x6', '199') then

lArqIni.WriteString('Artelogic 11x6', '199', '01111111100111111111101100000011011000001111111000001100110000010000000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 11x6', '231') then

lArqIni.WriteString('Artelogic 11x6', '231', '00001111100000111111100001100011000011001111000110001100000100010000000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes11x8;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 11 x 8 ------

//

if not lArqIni.ValueExists('Artelogic 11x8', '65') then

lArqIni.WriteString('Artelogic 11x8', '65', '011111111111111111111111001100000110011000001100110000011001100000111111111110111111111100000000000'); // A

if not lArqIni.ValueExists('Artelogic 11x8', '66') then

lArqIni.WriteString('Artelogic 11x8', '66', '111111111111111111111111001100011110011000111100110001111001100011111111111110111001111000000000000'); // B

if not lArqIni.ValueExists('Artelogic 11x8', '67') then

lArqIni.WriteString('Artelogic 11x8', '67', '011111111101111111111111000000011110000000111100000001111000000011111000001110110000011000000000000'); // C

if not lArqIni.ValueExists('Artelogic 11x8', '68') then

lArqIni.WriteString('Artelogic 11x8', '68', '111111111111111111111111000000011110000000111100000001111000000011111111111110111111111000000000000'); // D

if not lArqIni.ValueExists('Artelogic 11x8', '69') then

lArqIni.WriteString('Artelogic 11x8', '69', '111111111111111111111111001100011110011000111100110001111001100011110011000111100000001100000000000'); // E

if not lArqIni.ValueExists('Artelogic 11x8', '70') then

lArqIni.WriteString('Artelogic 11x8', '70', '111111111111111111111111001100000110011000001100110000011001100000110011000001100000000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 11x8', '71') then

lArqIni.WriteString('Artelogic 11x8', '71', '011111111101111111111111000000011110000000111100001101111000011011110000111100100001111100000000000'); // G

if not lArqIni.ValueExists('Artelogic 11x8', '72') then

lArqIni.WriteString('Artelogic 11x8', '72', '111111111111111111111100001100000000011000000000110000000001100000111111111111111111111100000000000'); // H

if not lArqIni.ValueExists('Artelogic 11x8', '32') then

lArqIni.WriteString('Artelogic 11x8', '32', '00000000000000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 11x8', '73') then

lArqIni.WriteString('Artelogic 11x8', '73', '111111111111111111111100000000000'); // I

if not lArqIni.ValueExists('Artelogic 11x8', '74') then

lArqIni.WriteString('Artelogic 11x8', '74', '0000000011000000000111000000000110000000001100000000011111111111111111111111000000000000'); // J

if not lArqIni.ValueExists('Artelogic 11x8', '75') then

lArqIni.WriteString('Artelogic 11x8', '75', '111111111111111111111100001110000000111110000011000110001100000110110000000111000000000100000000000'); // K

if not lArqIni.ValueExists('Artelogic 11x8', '76') then

lArqIni.WriteString('Artelogic 11x8', '76', '111111111111111111111100000000011000000000110000000001100000000011000000000110000000001100000000000'); // L

if not lArqIni.ValueExists('Artelogic 11x8', '77') then

lArqIni.WriteString('Artelogic 11x8', '77', '111111111111111111111101100000000001100000000011000000001100000000111111111111111111111100000000000'); // M

if not lArqIni.ValueExists('Artelogic 11x8', '78') then

lArqIni.WriteString('Artelogic 11x8', '78', '111111111111111111111101110000000001110000000000111000000000011100111111111111111111111100000000000'); // N

if not lArqIni.ValueExists('Artelogic 11x8', '79') then

lArqIni.WriteString('Artelogic 11x8', '79', '011111111101111111111111000000011110000000111100000001111000000011111111111110111111111000000000000'); // O

if not lArqIni.ValueExists('Artelogic 11x8', '80') then

lArqIni.WriteString('Artelogic 11x8', '80', '111111111111111111111111001100000110011000001100110000011001100000111111000000111100000000000000000'); // P

if not lArqIni.ValueExists('Artelogic 11x8', '81') then

lArqIni.WriteString('Artelogic 11x8', '81', '011111111101111111111111000000011110000000111100000101111000000101111111110100111111110100000000000'); // Q

if not lArqIni.ValueExists('Artelogic 11x8', '82') then

lArqIni.WriteString('Artelogic 11x8', '82', '111111111111111111111111001110000110011110001100110110011001100110111111000110111100000100000000000'); // R

if not lArqIni.ValueExists('Artelogic 11x8', '83') then

lArqIni.WriteString('Artelogic 11x8', '83', '011110001101111110011111001100011110011000111100110001111001100011111001111110110001111000000000000'); // S

if not lArqIni.ValueExists('Artelogic 11x8', '84') then

lArqIni.WriteString('Artelogic 11x8', '84', '110000000001100000000011000000000111111111111111111111111000000000110000000001100000000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 11x8', '85') then

lArqIni.WriteString('Artelogic 11x8', '85', '111111111101111111111100000000011000000000110000000001100000000011111111111111111111111000000000000'); // U

if not lArqIni.ValueExists('Artelogic 11x8', '86') then

lArqIni.WriteString('Artelogic 11x8', '86', '111111110001111111110000000000110000000000110000000001100000000110111111111001111111100000000000000'); // V

if not lArqIni.ValueExists('Artelogic 11x8', '88') then

lArqIni.WriteString('Artelogic 11x8', '88', '110000000111111000111100111111100000011100000000111000000111111100111100011111100000001100000000000'); // X

if not lArqIni.ValueExists('Artelogic 11x8', '89') then

lArqIni.WriteString('Artelogic 11x8', '89', '111110000001111110000000000110000000000111110000001111100000110000111111000001111100000000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 11x8', '90') then

lArqIni.WriteString('Artelogic 11x8', '90', '110000001111100000111111000011011110001100111100110001111011000011111100000111110000001100000000000'); // Z

if not lArqIni.ValueExists('Artelogic 11x8', '49') then

lArqIni.WriteString('Artelogic 11x8', '49', '0010000000001100000000111111111111111111111100000000000'); // 1

if not lArqIni.ValueExists('Artelogic 11x8', '50') then

lArqIni.WriteString('Artelogic 11x8', '50', '011000001111110000111111000011011110001100111100110001111011000011111100000110110000001100000000000'); // 2

if not lArqIni.ValueExists('Artelogic 11x8', '51') then

lArqIni.WriteString('Artelogic 11x8', '51', '010000000101100000001111001100011110011000111100110001111001100011111111111110111001111000000000000'); // 3

if not lArqIni.ValueExists('Artelogic 11x8', '52') then

lArqIni.WriteString('Artelogic 11x8', '52', '000011100000001111000000110110000011001100001100011000011111111111111111111110000011000000000000000'); // 4

if not lArqIni.ValueExists('Artelogic 11x8', '53') then

lArqIni.WriteString('Artelogic 11x8', '53', '111111000111111110001111001100011110011000111100110001111001100011110011111111100011111000000000000'); // 5

if not lArqIni.ValueExists('Artelogic 11x8', '54') then

lArqIni.WriteString('Artelogic 11x8', '54', '011111111101111111111111001100011110011000111100110001111001100011110011111110100011111000000000000'); // 6

if not lArqIni.ValueExists('Artelogic 11x8', '55') then

lArqIni.WriteString('Artelogic 11x8', '55', '110000000001100000000011000000000110000111111100011111111001100000111110000001111000000000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 11x8', '56') then

lArqIni.WriteString('Artelogic 11x8', '56', '011100111101111111111111001100011110011000111100110001111001100011111111111110111001111000000000000'); // 8

if not lArqIni.ValueExists('Artelogic 11x8', '57') then

lArqIni.WriteString('Artelogic 11x8', '57', '011110000101111110001111001100011110011000111100110001111001100011111111111110111111111000000000000'); // 9

if not lArqIni.ValueExists('Artelogic 11x8', '48') then

lArqIni.WriteString('Artelogic 11x8', '48', '011111111101111111111111000000011110000000111100000001111000000011111111111110111111111000000000000'); // 0

if not lArqIni.ValueExists('Artelogic 11x8', '97') then

lArqIni.WriteString('Artelogic 11x8', '97', '000001001100000110111100001101011000011010110000110101100001101010000011111110000011111100000000000'); // a

if not lArqIni.ValueExists('Artelogic 11x8', '98') then

lArqIni.WriteString('Artelogic 11x8', '98', '011111111110111111111100000100010000011000110000110001100001100011000011111110000011111000000000000'); // b

if not lArqIni.ValueExists('Artelogic 11x8', '99') then

lArqIni.WriteString('Artelogic 11x8', '99', '000001111100000111111100001100011000011000110000110001100001100011000011000110000010001000000000000'); // c

if not lArqIni.ValueExists('Artelogic 11x8', '100') then

lArqIni.WriteString('Artelogic 11x8', '100', '000001111100000111111100001100011000011000110000110001100001100010011111111110111111111100000000000'); // d

if not lArqIni.ValueExists('Artelogic 11x8', '101') then

lArqIni.WriteString('Artelogic 11x8', '101', '000001111100000111111100001101011000011010110000110101100001101011000011110110000011101000000000000'); // e

if not lArqIni.ValueExists('Artelogic 11x8', '102') then

lArqIni.WriteString('Artelogic 11x8', '102', '000001100000011111111101111111111011001100000110011000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 11x8', '103') then

lArqIni.WriteString('Artelogic 11x8', '103', '000111100000011111100100100001001001000010010010000100100100001001000111111110011111111000000000000'); // g

if not lArqIni.ValueExists('Artelogic 11x8', '104') then

lArqIni.WriteString('Artelogic 11x8', '104', '011111111110111111111100000110000000011000000000110000000001100000000011111110000011111100000000000'); // h

if not lArqIni.ValueExists('Artelogic 11x8', '105') then

lArqIni.WriteString('Artelogic 11x8', '105', '010111111110101111111100000000000'); // i

if not lArqIni.ValueExists('Artelogic 11x8', '106') then

lArqIni.WriteString('Artelogic 11x8', '106', '00000000010000000000110000000001100000000011010111111110101111111000000000000'); // j

if not lArqIni.ValueExists('Artelogic 11x8', '107') then

lArqIni.WriteString('Artelogic 11x8', '107', '0111111111101111111111000000010000000001110000000110110000111000110001100000100000000000'); // k

if not lArqIni.ValueExists('Artelogic 11x8', '108') then

lArqIni.WriteString('Artelogic 11x8', '108', '011111111110111111111100000000000'); // l

if not lArqIni.ValueExists('Artelogic 11x8', '109') then

lArqIni.WriteString('Artelogic 11x8', '109', '000011111110000111111100000100000000011111110000011111100001100000000011111110000011111100000000000'); // m

if not lArqIni.ValueExists('Artelogic 11x8', '110') then

lArqIni.WriteString('Artelogic 11x8', '110', '0000111111100001111111000001000000000110000000001100000000011111110000011111100000000000'); // n

if not lArqIni.ValueExists('Artelogic 11x8', '111') then

lArqIni.WriteString('Artelogic 11x8', '111', '0000011111000001111111000011000110000110001100001100011000011111110000011111000000000000'); // o

if not lArqIni.ValueExists('Artelogic 11x8', '112') then

lArqIni.WriteString('Artelogic 11x8', '112', '000011111110000111111100000100100000010001000000100010000001000100000011111000000011100000000000000'); // p

if not lArqIni.ValueExists('Artelogic 11x8', '113') then

lArqIni.WriteString('Artelogic 11x8', '113', '000001110000000111110000001000100000010001000000100010000000100100000011111110000111111100000000000'); // q

if not lArqIni.ValueExists('Artelogic 11x8', '114') then

lArqIni.WriteString('Artelogic 11x8', '114', '0000111111100001111111000001100000000010000000001100000000011000000000110000000000000000'); // r

if not lArqIni.ValueExists('Artelogic 11x8', '115') then

lArqIni.WriteString('Artelogic 11x8', '115', '0000011101000001111011000011010110000110101100001101011000011011110000010011000000000000'); // s

if not lArqIni.ValueExists('Artelogic 11x8', '116') then

lArqIni.WriteString('Artelogic 11x8', '116', '000001100000001111111000011111111000001100110000011001100000000000'); // t

if not lArqIni.ValueExists('Artelogic 11x8', '117') then

lArqIni.WriteString('Artelogic 11x8', '117', '0000111111000001111111000000000110000000001100000000011000011111110000111111000000000000'); // u

if not lArqIni.ValueExists('Artelogic 11x8', '118') then

lArqIni.WriteString('Artelogic 11x8', '118', '0000111110000001111110000000000110000000001100000000011000011111100000111110000000000000'); // v

if not lArqIni.ValueExists('Artelogic 11x8', '119') then

lArqIni.WriteString('Artelogic 11x8', '119', '000011111000000111111000000000011000011111100000111111000000000011000011111100000111110000000000000'); // w

if not lArqIni.ValueExists('Artelogic 11x8', '120') then

lArqIni.WriteString('Artelogic 11x8', '120', '0000110001100001110111000000111000000001110000000011100000011101110000110001100000000000'); // x

if not lArqIni.ValueExists('Artelogic 11x8', '121') then

lArqIni.WriteString('Artelogic 11x8', '121', '0000111000000001111001000000010010000000100100000001001000011111110000111111000000000000'); // y

if not lArqIni.ValueExists('Artelogic 11x8', '122') then

lArqIni.WriteString('Artelogic 11x8', '122', '000010000110000100011100001000101000010011010000101100100001010001000011100010000110000100000000000'); // z

if not lArqIni.ValueExists('Artelogic 11x8', '46') then

lArqIni.WriteString('Artelogic 11x8', '46', '000000000110000000001100000000000'); // .

if not lArqIni.ValueExists('Artelogic 11x8', '58') then

lArqIni.WriteString('Artelogic 11x8', '58', '000110011000001100110000000000000'); // :

if not lArqIni.ValueExists('Artelogic 11x8', '47') then

lArqIni.WriteString('Artelogic 11x8', '47', '0000000001100000001111000001111000001111000001111000000111000000001000000000000000000000'); // /

if not lArqIni.ValueExists('Artelogic 11x8', '33') then

lArqIni.WriteString('Artelogic 11x8', '33', '111111111011111111110100000000000'); // !

if not lArqIni.ValueExists('Artelogic 11x8', '40') then

lArqIni.WriteString('Artelogic 11x8', '40', '00001110000000111110000011000110001100000110110000000111000000000100000000000'); // (

if not lArqIni.ValueExists('Artelogic 11x8', '41') then

lArqIni.WriteString('Artelogic 11x8', '41', '10000000001110000000110110000011000110001100000111110000000111000000000000000'); // )

if not lArqIni.ValueExists('Artelogic 11x8', '43') then

lArqIni.WriteString('Artelogic 11x8', '43', '00000110000000001100000001111110000011111100000001100000000011000000000000000'); // +

if not lArqIni.ValueExists('Artelogic 11x8', '45') then

lArqIni.WriteString('Artelogic 11x8', '45', '00000110000000001100000000011000000000110000000001100000000011000000000000000'); // -

if not lArqIni.ValueExists('Artelogic 11x8', '195') then

lArqIni.WriteString('Artelogic 11x8', '195', '000011111110101111111110011001100100110011000101100110010011001100000111111110000111111100000000000'); // Ã

if not lArqIni.ValueExists('Artelogic 11x8', '193') then

lArqIni.WriteString('Artelogic 11x8', '193', '000011111110001111111100011001100010110011001101100110010011001100000111111110000111111100000000000'); // Á

if not lArqIni.ValueExists('Artelogic 11x8', '194') then

lArqIni.WriteString('Artelogic 11x8', '194', '000011111110001111111101011001100100110011001001100110001011001100000111111110000111111100000000000'); // Â

if not lArqIni.ValueExists('Artelogic 11x8', '227') then

lArqIni.WriteString('Artelogic 11x8', '227', '000001001100010110111101001101011010011010110010110101101001101010000011111110000011111100000000000'); // ã

if not lArqIni.ValueExists('Artelogic 11x8', '225') then

lArqIni.WriteString('Artelogic 11x8', '225', '000001001100000110111100001101011001011010110110110101101001101010000011111110000011111100000000000'); // á

if not lArqIni.ValueExists('Artelogic 11x8', '226') then

lArqIni.WriteString('Artelogic 11x8', '226', '000001001100000110111100101101011010011010110100110101100101101010000011111110000011111100000000000'); // â

if not lArqIni.ValueExists('Artelogic 11x8', '201') then

lArqIni.WriteString('Artelogic 11x8', '201', '000111111110001111111100011011011010110110111101101101110011011011000110000110001100001100000000000'); // É

if not lArqIni.ValueExists('Artelogic 11x8', '202') then

lArqIni.WriteString('Artelogic 11x8', '202', '000111111110001111111101011011011100110110111001101101101011011011000110000110001100001100000000000'); // Ê

if not lArqIni.ValueExists('Artelogic 11x8', '233') then

lArqIni.WriteString('Artelogic 11x8', '233', '000001111100000111111100001101011001011010110110110101101001101011000011110110000011101000000000000'); // é

if not lArqIni.ValueExists('Artelogic 11x8', '234') then

lArqIni.WriteString('Artelogic 11x8', '234', '000001111100000111111100101101011010011010110100110101100101101011000011110110000011101000000000000'); // ê

if not lArqIni.ValueExists('Artelogic 11x8', '213') then

lArqIni.WriteString('Artelogic 11x8', '213', '000011111100101111111110011000011100110000110101100001110011000011000111111110000111111000000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 11x8', '211') then

lArqIni.WriteString('Artelogic 11x8', '211', '000011111100001111111100011000011010110000111101100001110011000011000111111110000111111000000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 11x8', '212') then

lArqIni.WriteString('Artelogic 11x8', '212', '000011111100001111111101011000011100110000111001100001101011000011000111111110000111111000000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 11x8', '205') then

lArqIni.WriteString('Artelogic 11x8', '205', '0010111111101101111111110000000001000000000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 11x8', '237') then

lArqIni.WriteString('Artelogic 11x8', '237', '00010111111001101111110010000000000000000000'); // í

if not lArqIni.ValueExists('Artelogic 11x8', '199') then

lArqIni.WriteString('Artelogic 11x8', '199', '011111111001111111111011000000110110000001101100000111111000000110111000011100110000110000000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 11x8', '231') then

lArqIni.WriteString('Artelogic 11x8', '231', '000011111000001111111000011000110000110001100001100111100011000110000110001100000100010000000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes13x7;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 13 x 7 ------

//

if not lArqIni.ValueExists('Artelogic 13x7', '65') then

lArqIni.WriteString('Artelogic 13x7', '65', '00111111111110111111111111111000110000011000011000001110001100000011111111111100111111111110000000000000'); // A

if not lArqIni.ValueExists('Artelogic 13x7', '66') then

lArqIni.WriteString('Artelogic 13x7', '66', '11111111111111111111111111110001100001111000110000111110111100111111111111111001111001111000000000000000'); // B

if not lArqIni.ValueExists('Artelogic 13x7', '67') then

lArqIni.WriteString('Artelogic 13x7', '67', '00111111111000111111111110111000000011111000000000111110000000111011100000111000110000011000000000000000'); // C

if not lArqIni.ValueExists('Artelogic 13x7', '68') then

lArqIni.WriteString('Artelogic 13x7', '68', '11111111111111111111111111110000000001111000000000111110000000111011111111111000111111111000000000000000'); // D

if not lArqIni.ValueExists('Artelogic 13x7', '69') then

lArqIni.WriteString('Artelogic 13x7', '69', '11111111111111111111111111110001100001111000110000111100011000011110000000001111000000000110000000000000'); // E

if not lArqIni.ValueExists('Artelogic 13x7', '70') then

lArqIni.WriteString('Artelogic 13x7', '70', '11111111111111111111111111110000110000011000011000001100001100000110000110000011000000000000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 13x7', '71') then

lArqIni.WriteString('Artelogic 13x7', '71', '00111111111000111111111110111000000011111000011000111110001100111011000111111000100011111000000000000000'); // G

if not lArqIni.ValueExists('Artelogic 13x7', '72') then

lArqIni.WriteString('Artelogic 13x7', '72', '11111111111111111111111111000001100000000000110000000000011000000111111111111111111111111110000000000000'); // H

if not lArqIni.ValueExists('Artelogic 13x7', '73') then

lArqIni.WriteString('Artelogic 13x7', '73', '111111111111111111111111110000000000000'); // I

if not lArqIni.ValueExists('Artelogic 13x7', '32') then

lArqIni.WriteString('Artelogic 13x7', '32', '000000000000000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 13x7', '74') then

lArqIni.WriteString('Artelogic 13x7', '74', '11000000011001100000001110110000000011111000000000111100000000111111111111111011111111111000000000000000'); // J

if not lArqIni.ValueExists('Artelogic 13x7', '75') then

lArqIni.WriteString('Artelogic 13x7', '75', '11111111111111111111111111000011111000000011101110000011100011100111100000111111100000001110000000000000'); // K

if not lArqIni.ValueExists('Artelogic 13x7', '76') then

lArqIni.WriteString('Artelogic 13x7', '76', '11111111111111111111111111000000000001100000000000110000000000011000000000001100000000000110000000000000'); // L

if not lArqIni.ValueExists('Artelogic 13x7', '77') then

lArqIni.WriteString('Artelogic 13x7', '77', '11111111111111111111111111011100000000000111000000000111000000000111111111111111111111111110000000000000'); // M

if not lArqIni.ValueExists('Artelogic 13x7', '78') then

lArqIni.WriteString('Artelogic 13x7', '78', '11111111111111111111111111000111110000000001111100000000011111000111111111111111111111111110000000000000'); // N

if not lArqIni.ValueExists('Artelogic 13x7', '79') then

lArqIni.WriteString('Artelogic 13x7', '79', '00111111111000111111111110111000000011111000000000111110000000111011111111111000111111111000000000000000'); // O

if not lArqIni.ValueExists('Artelogic 13x7', '80') then

lArqIni.WriteString('Artelogic 13x7', '80', '11111111111111111111111111110001100000011000110000001110111000000011111000000000111000000000000000000000'); // P

if not lArqIni.ValueExists('Artelogic 13x7', '81') then

lArqIni.WriteString('Artelogic 13x7', '81', '00111111111000111111111110110000000001111000000010111100000000111011111111111000111111111010000000000000'); // Q

if not lArqIni.ValueExists('Artelogic 13x7', '82') then

lArqIni.WriteString('Artelogic 13x7', '82', '11111111111111111111111111110000110000011000011000001100011111000011111001111100111000001110000000000000'); // R

if not lArqIni.ValueExists('Artelogic 13x7', '83') then

lArqIni.WriteString('Artelogic 13x7', '83', '00111000001000111110000110111011100001111000111001111100001110111011000011111000100000111000000000000000'); // S

if not lArqIni.ValueExists('Artelogic 13x7', '84') then

lArqIni.WriteString('Artelogic 13x7', '84', '1100000000000110000000000011111111111111111111111111110000000000011000000000000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 13x7', '85') then

lArqIni.WriteString('Artelogic 13x7', '85', '11111111111101111111111111000000000011100000000000110000000000111111111111111111111111111100000000000000'); // U

if not lArqIni.ValueExists('Artelogic 13x7', '86') then

lArqIni.WriteString('Artelogic 13x7', '86', '11111111100001111111111100000000000111000000000000110000000001110111111111110011111111100000000000000000'); // V

if not lArqIni.ValueExists('Artelogic 13x7', '87') then

lArqIni.WriteString('Artelogic 13x7', '87', '11111111111111111111111110000000000110000000001111000000000001100111111111111011111111111110000000000000'); // W

if not lArqIni.ValueExists('Artelogic 13x7', '88') then

lArqIni.WriteString('Artelogic 13x7', '88', '11000000000111111000001111001111111110000001111100000011111111100111100000111111000000000110000000000000'); // X

if not lArqIni.ValueExists('Artelogic 13x7', '89') then

lArqIni.WriteString('Artelogic 13x7', '89', '11111100000001111111000000000001111111100000011111110000011111111111111100000011111100000000000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 13x7', '90') then

lArqIni.WriteString('Artelogic 13x7', '90', '11000000011111100000011111110000111101111001111000111101110000011111100000001111110000000110000000000000'); // Z

if not lArqIni.ValueExists('Artelogic 13x7', '49') then

lArqIni.WriteString('Artelogic 13x7', '49', '00100000000110111111111111111111111111100000000000110000000000000'); // 1

if not lArqIni.ValueExists('Artelogic 13x7', '50') then

lArqIni.WriteString('Artelogic 13x7', '50', '01100000111111110000111111110000111001111000111000111100111000011111111000001101111000000110000000000000'); // 2

if not lArqIni.ValueExists('Artelogic 13x7', '51') then

lArqIni.WriteString('Artelogic 13x7', '51', '01100000001101110000000111110001100001111000110000111100011000011111111111111101111001111100000000000000'); // 3

if not lArqIni.ValueExists('Artelogic 13x7', '52') then

lArqIni.WriteString('Artelogic 13x7', '52', '00000011100000000011110000000011011000000011001100000011000110000011111111111111111111111110000000000000'); // 4

if not lArqIni.ValueExists('Artelogic 13x7', '53') then

lArqIni.WriteString('Artelogic 13x7', '53', '11111110001101111111000111110001100001111000110000111100011000011110001111111011000011111100000000000000'); // 5

if not lArqIni.ValueExists('Artelogic 13x7', '54') then

lArqIni.WriteString('Artelogic 13x7', '54', '01111111111101111111111111110001100001111000110000111100011000011111001111111101100011111100000000000000'); // 6

if not lArqIni.ValueExists('Artelogic 13x7', '55') then

lArqIni.WriteString('Artelogic 13x7', '55', '11000000000001100000000000110000111111111000111111111100111000000111111000000011111000000000000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 13x7', '56') then

lArqIni.WriteString('Artelogic 13x7', '56', '01111001111101111111111111110001100001111000110000111100011000011111111111111101111001111100000000000000'); // 8

if not lArqIni.ValueExists('Artelogic 13x7', '57') then

lArqIni.WriteString('Artelogic 13x7', '57', '01111110001101111111000111110001100001111000110000111100011000011111111111111101111111111100000000000000'); // 9

if not lArqIni.ValueExists('Artelogic 13x7', '48') then

lArqIni.WriteString('Artelogic 13x7', '48', '01111111111101111111111111110000000001111000000000111100000000011111111111111101111111111100000000000000'); // 0

if not lArqIni.ValueExists('Artelogic 13x7', '97') then

lArqIni.WriteString('Artelogic 13x7', '97', '00000000011000000110011110000011011001100001101100110000110110011000011111111100000111111110000000000000'); // a

if not lArqIni.ValueExists('Artelogic 13x7', '98') then

lArqIni.WriteString('Artelogic 13x7', '98', '11111111111111111111111111000001000001100001100000110000110000011000001111111000000011111000000000000000'); // b

if not lArqIni.ValueExists('Artelogic 13x7', '99') then

lArqIni.WriteString('Artelogic 13x7', '99', '00000011111000000011111110000011000001100001100000110000110000011000001100011000000010001000000000000000'); // c

if not lArqIni.ValueExists('Artelogic 13x7', '100') then

lArqIni.WriteString('Artelogic 13x7', '100', '00000011111000000011111110000011000001100001100000110000010000011111111111111111111111111110000000000000'); // d

if not lArqIni.ValueExists('Artelogic 13x7', '101') then

lArqIni.WriteString('Artelogic 13x7', '101', '00000011111000000011111110000011011001100001101100110000110110011000001111001000000011101000000000000000'); // e

if not lArqIni.ValueExists('Artelogic 13x7', '102') then

lArqIni.WriteString('Artelogic 13x7', '102', '0000001100000001111111111101111111111111100001100000110000000000001000000000000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 13x7', '103') then

lArqIni.WriteString('Artelogic 13x7', '103', '00001111000000001111110001001100001101100110000110110001000010011001111111111000111111111000000000000000'); // g

if not lArqIni.ValueExists('Artelogic 13x7', '104') then

lArqIni.WriteString('Artelogic 13x7', '104', '11111111111111111111111111000001000000000001100000000000110000000000001111111100000011111110000000000000'); // h

if not lArqIni.ValueExists('Artelogic 13x7', '105') then

lArqIni.WriteString('Artelogic 13x7', '105', '101111111111110111111111110000000000000'); // i

if not lArqIni.ValueExists('Artelogic 13x7', '106') then

lArqIni.WriteString('Artelogic 13x7', '106', '00000000001100000000000001101111111111110111111111100000000000000'); // j

if not lArqIni.ValueExists('Artelogic 13x7', '107') then

lArqIni.WriteString('Artelogic 13x7', '107', '1111111111111111111111111100000011110000000011001100000011000011100001000000110000000000000'); // k

if not lArqIni.ValueExists('Artelogic 13x7', '108') then

lArqIni.WriteString('Artelogic 13x7', '108', '111111111111111111111111110000000000000'); // l

if not lArqIni.ValueExists('Artelogic 13x7', '109') then

lArqIni.WriteString('Artelogic 13x7', '109', '000011111111100001111111110000010000000000011111111100001111111110000110000000000001111111100000011111110000000000000'); // m

if not lArqIni.ValueExists('Artelogic 13x7', '110') then

lArqIni.WriteString('Artelogic 13x7', '110', '00001111111110000111111111000001000000000001100000000000110000000000011111111100000111111110000000000000'); // n

if not lArqIni.ValueExists('Artelogic 13x7', '111') then

lArqIni.WriteString('Artelogic 13x7', '111', '00000011111000000011111110000011000001100001100000110000110000011000001111111000000011111000000000000000'); // o

if not lArqIni.ValueExists('Artelogic 13x7', '112') then

lArqIni.WriteString('Artelogic 13x7', '112', '00111111111110011111111111000100001000000110000110000011000011000000111111000000001111000000000000000000'); // p

if not lArqIni.ValueExists('Artelogic 13x7', '113') then

lArqIni.WriteString('Artelogic 13x7', '113', '00001111000000001111110000001100001100000110000110000001000010000001111111111100111111111110000000000000'); // q

if not lArqIni.ValueExists('Artelogic 13x7', '114') then

lArqIni.WriteString('Artelogic 13x7', '114', '00001111111110000111111111000001000000000001100000000000110000000000001100000000000010000000000000000000'); // r

if not lArqIni.ValueExists('Artelogic 13x7', '115') then

lArqIni.WriteString('Artelogic 13x7', '115', '00000110001100000111100011000011011001100001101110110000110011011000011001111100000110011100000000000000'); // s

if not lArqIni.ValueExists('Artelogic 13x7', '116') then

lArqIni.WriteString('Artelogic 13x7', '116', '0000110000000111111111110011111111111100000110000011000000000001100000000000100000000000000'); // t

if not lArqIni.ValueExists('Artelogic 13x7', '117') then

lArqIni.WriteString('Artelogic 13x7', '117', '00001111111000000111111110000000000001100000000000110000000000010000011111111100001111111110000000000000'); // u

if not lArqIni.ValueExists('Artelogic 13x7', '118') then

lArqIni.WriteString('Artelogic 13x7', '118', '00001111110000000111111100000000000011000000000000110000000000110000011111110000001111110000000000000000'); // v

if not lArqIni.ValueExists('Artelogic 13x7', '119') then

lArqIni.WriteString('Artelogic 13x7', '119', '00001111111110000111111110000000000110000000000110000000000001100000011111111000001111111110000000000000'); // w

if not lArqIni.ValueExists('Artelogic 13x7', '120') then

lArqIni.WriteString('Artelogic 13x7', '120', '00001100000110000111000111000000111110000000001110000000001111100000011100011100001100000110000000000000'); // x

if not lArqIni.ValueExists('Artelogic 13x7', '121') then

lArqIni.WriteString('Artelogic 13x7', '121', '00001111000100000111110011000000001100100000000110010000000010001000011111111100001111111100000000000000'); // y

if not lArqIni.ValueExists('Artelogic 13x7', '122') then

lArqIni.WriteString('Artelogic 13x7', '122', '00001100000110000110000111000011000111100001100110110000110110011000011110001100001110000110000000000000'); // z

if not lArqIni.ValueExists('Artelogic 13x7', '46') then

lArqIni.WriteString('Artelogic 13x7', '46', '000000000001100000000000110000000000000'); // .

if not lArqIni.ValueExists('Artelogic 13x7', '58') then

lArqIni.WriteString('Artelogic 13x7', '58', '000110001100000011000110000000000000000'); // :

if not lArqIni.ValueExists('Artelogic 13x7', '47') then

lArqIni.WriteString('Artelogic 13x7', '47', '00000000000110000000001111000000011110000000111100000001111000000011110000000001100000000000000000000000'); // /

if not lArqIni.ValueExists('Artelogic 13x7', '33') then

lArqIni.WriteString('Artelogic 13x7', '33', '111111111101111111111110110000000000000'); // !

if not lArqIni.ValueExists('Artelogic 13x7', '40') then

lArqIni.WriteString('Artelogic 13x7', '40', '000011111000000111111111000111000001110110000000001110000000000010000000000000'); // (

if not lArqIni.ValueExists('Artelogic 13x7', '41') then

lArqIni.WriteString('Artelogic 13x7', '41', '100000000000111000000000110111000001110001111111110000001111100000000000000000'); // )

if not lArqIni.ValueExists('Artelogic 13x7', '43') then

lArqIni.WriteString('Artelogic 13x7', '43', '0000000110000000000011000000001111111100000111111110000000011000000000001100000000000000000'); // +

if not lArqIni.ValueExists('Artelogic 13x7', '45') then

lArqIni.WriteString('Artelogic 13x7', '45', '0000000110000000000011000000000001100000000000110000000000011000000000001100000000000000000'); // -

if not lArqIni.ValueExists('Artelogic 13x7', '195') then

lArqIni.WriteString('Artelogic 13x7', '195', '00000111111110100111111111100110001100010011000110000101100011000100011111111100000111111110000000000000'); // Ã

if not lArqIni.ValueExists('Artelogic 13x7', '193') then

lArqIni.WriteString('Artelogic 13x7', '193', '00000111111110000111111111010110001100011011000110001001100011000000011111111100000111111110000000000000'); // Á

if not lArqIni.ValueExists('Artelogic 13x7', '194') then

lArqIni.WriteString('Artelogic 13x7', '194', '00000111111110100111111111110110001100010011000110001101100011000010011111111100000111111110000000000000'); // Â

if not lArqIni.ValueExists('Artelogic 13x7', '227') then

lArqIni.WriteString('Artelogic 13x7', '227', '00000000011000010110011110010011011001101001101100110010110110011010011111111100000111111110000000000000'); // ã

if not lArqIni.ValueExists('Artelogic 13x7', '225') then

lArqIni.WriteString('Artelogic 13x7', '225', '00000000011000000110011110001011011001101101101100110100110110011000011111111100000111111110000000000000'); // á

if not lArqIni.ValueExists('Artelogic 13x7', '226') then

lArqIni.WriteString('Artelogic 13x7', '226', '00000000011000010110011110011011011001101001101100110110110110011001011111111100000111111110000000000000'); // â

if not lArqIni.ValueExists('Artelogic 13x7', '201') then

lArqIni.WriteString('Artelogic 13x7', '201', '00011111111110001111111111010110011001111011001100111001100110011000110000001100011000000110000000000000'); // É

if not lArqIni.ValueExists('Artelogic 13x7', '202') then

lArqIni.WriteString('Artelogic 13x7', '202', '00011111111110101111111111110110011001110011001100111101100110011010110000001100011000000110000000000000'); // Ê

if not lArqIni.ValueExists('Artelogic 13x7', '233') then

lArqIni.WriteString('Artelogic 13x7', '233', '00000011111000000011111110001011011001101101101100110100110110011000001111001000000011101000000000000000'); // é

if not lArqIni.ValueExists('Artelogic 13x7', '234') then

lArqIni.WriteString('Artelogic 13x7', '234', '00000011111000010011111110011011011001101001101100110110110110011001001111001000000011101000000000000000'); // ê

if not lArqIni.ValueExists('Artelogic 13x7', '213') then

lArqIni.WriteString('Artelogic 13x7', '213', '00000111111000100111111110100111000011110011000000110101110000111100011111111000000111111000000000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 13x7', '211') then

lArqIni.WriteString('Artelogic 13x7', '211', '00000111111000000111111110010111000011111011000000111001110000111000011111111000000111111000000000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 13x7', '212') then

lArqIni.WriteString('Artelogic 13x7', '212', '00000111111000100111111110110111000011110011000000111101110000111010011111111000000111111000000000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 13x7', '245') then

lArqIni.WriteString('Artelogic 13x7', '245', '000000111100001001111110010011000011010011000011001011000011010001111110000000111100000000000000'); // õ

if not lArqIni.ValueExists('Artelogic 13x7', '237') then

lArqIni.WriteString('Artelogic 13x7', '237', '00000011111110000101111111000110000000000010000000000000000000000'); // í

if not lArqIni.ValueExists('Artelogic 13x7', '199') then

lArqIni.WriteString('Artelogic 13x7', '199', '00111111110000111111111100111000000011011000000011111110000000110011100001110000110000110000000000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 13x7', '231') then

lArqIni.WriteString('Artelogic 13x7', '231', '00000111110000000111111100000110000011000011000011110001100000110000011000110000000100010000000000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes13x8;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 13 x 8 ------

//

if not lArqIni.ValueExists('Artelogic 13x8', '65') then

lArqIni.WriteString('Artelogic 13x8', '65', '001111111111101111111111111110001100000110000110000011000011000001110001100000011111111111100111111111110000000000000'); // A

if not lArqIni.ValueExists('Artelogic 13x8', '66') then

lArqIni.WriteString('Artelogic 13x8', '66', '111111111111111111111111111100011000011110001100001111000110000111110111100110111111111111001111001111000000000000000'); // B

if not lArqIni.ValueExists('Artelogic 13x8', '67') then

lArqIni.WriteString('Artelogic 13x8', '67', '001111111110001111111111101110000000111110000000001111000000000111110000000011011100000111000110000011000000000000000'); // C

if not lArqIni.ValueExists('Artelogic 13x8', '68') then

lArqIni.WriteString('Artelogic 13x8', '68', '111111111111111111111111111100000000011110000000001111000000000111110000000111011111111111000111111111000000000000000'); // D

if not lArqIni.ValueExists('Artelogic 13x8', '69') then

lArqIni.WriteString('Artelogic 13x8', '69', '111111111111111111111111111100011000011110001100001111000110000111100011000011110000000001111000000000110000000000000'); // E

if not lArqIni.ValueExists('Artelogic 13x8', '70') then

lArqIni.WriteString('Artelogic 13x8', '70', '111111111111111111111111111100001100000110000110000011000011000001100001100000110000110000011000000000000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 13x8', '71') then

lArqIni.WriteString('Artelogic 13x8', '71', '001111111110001111111111101110000000111110000000001111000011000111110001100111011000111111000100011111000000000000000'); // G

if not lArqIni.ValueExists('Artelogic 13x8', '72') then

lArqIni.WriteString('Artelogic 13x8', '72', '111111111111111111111111110000011000000000001100000000000110000000000011000000111111111111111111111111110000000000000'); // H

if not lArqIni.ValueExists('Artelogic 13x8', '32') then

lArqIni.WriteString('Artelogic 13x8', '32', '000000000000000000000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 13x8', '73') then

lArqIni.WriteString('Artelogic 13x8', '73', '111111111111111111111111110000000000000'); // I

if not lArqIni.ValueExists('Artelogic 13x8', '74') then

lArqIni.WriteString('Artelogic 13x8', '74', '110000000110011000000011101100000000111110000000001111000000000111100000000111111111111111011111111111000000000000000'); // J

if not lArqIni.ValueExists('Artelogic 13x8', '75') then

lArqIni.WriteString('Artelogic 13x8', '75', '111111111111111111111111110000011110000000001111000000001111100000001100011000111100000111111100000001110000000000000'); // K

if not lArqIni.ValueExists('Artelogic 13x8', '76') then

lArqIni.WriteString('Artelogic 13x8', '76', '111111111111111111111111110000000000011000000000001100000000000110000000000011000000000001100000000000110000000000000'); // L

if not lArqIni.ValueExists('Artelogic 13x8', '77') then

lArqIni.WriteString('Artelogic 13x8', '77', '111111111111111111111111110111000000000001110000000000111000000000111000000000111111111111111111111111110000000000000'); // M

if not lArqIni.ValueExists('Artelogic 13x8', '78') then

lArqIni.WriteString('Artelogic 13x8', '78', '111111111111111111111111110011111100000000111111000000001111110000000011111100111111111111111111111111110000000000000'); // N

if not lArqIni.ValueExists('Artelogic 13x8', '79') then

lArqIni.WriteString('Artelogic 13x8', '79', '001111111110001111111111101110000000111110000000001111000000000111110000000111011111111111000111111111000000000000000'); // O

if not lArqIni.ValueExists('Artelogic 13x8', '80') then

lArqIni.WriteString('Artelogic 13x8', '80', '111111111111111111111111111100011000000110001100000011000110000001110111000000011111000000000111000000000000000000000'); // P

if not lArqIni.ValueExists('Artelogic 13x8', '81') then

lArqIni.WriteString('Artelogic 13x8', '81', '001111111110001111111111101100000000011110000000001111000000010111100000000101011111111101000111111111010000000000000'); // Q

if not lArqIni.ValueExists('Artelogic 13x8', '82') then

lArqIni.WriteString('Artelogic 13x8', '82', '111111111111111111111111111100001100000110000110000011000011000001100011111000011111001111100111000001110000000000000'); // R

if not lArqIni.ValueExists('Artelogic 13x8', '83') then

lArqIni.WriteString('Artelogic 13x8', '83', '001110000010001111100001101110111000011110001110001111000011100111100000110111011000001111000100000011000000000000000'); // S

if not lArqIni.ValueExists('Artelogic 13x8', '84') then

lArqIni.WriteString('Artelogic 13x8', '84', '110000000000011000000000001100000000000111111111111111111111111111100000000000110000000000011000000000000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 13x8', '85') then

lArqIni.WriteString('Artelogic 13x8', '85', '111111111111011111111111110000000000111000000000001100000000000110000000000111111111111111111111111111100000000000000'); // U

if not lArqIni.ValueExists('Artelogic 13x8', '86') then

lArqIni.WriteString('Artelogic 13x8', '86', '111111111000011111111111000000000001110000000000011100000000001110000000001110111111111110011111111100000000000000000'); // V

if not lArqIni.ValueExists('Artelogic 13x8', '87') then

lArqIni.WriteString('Artelogic 13x8', '87', '111111111111111111111111100000000001100000000011110000000001111000000000001100111111111111011111111111110000000000000'); // W

if not lArqIni.ValueExists('Artelogic 13x8', '88') then

lArqIni.WriteString('Artelogic 13x8', '88', '110000000001111110000011110011111111100000011111000000001111100000011111111100111100000111111000000000110000000000000'); // X

if not lArqIni.ValueExists('Artelogic 13x8', '89') then

lArqIni.WriteString('Artelogic 13x8', '89', '111111000000011111110000000000111000000000000111111100000011111110000111000000111111100000011111100000000000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 13x8', '90') then

lArqIni.WriteString('Artelogic 13x8', '90', '110000000111111000000111111100000110011110000110001111000110000111100110000011111110000001111110000000110000000000000'); // Z

if not lArqIni.ValueExists('Artelogic 13x8', '49') then

lArqIni.WriteString('Artelogic 13x8', '49', '0011000000011011100000001111111111111111111111111111000000000001100000000000110000000000000'); // 1

if not lArqIni.ValueExists('Artelogic 13x8', '50') then

lArqIni.WriteString('Artelogic 13x8', '50', '011000001111111100001111111100001110011110001110001111001110000111111110000011111110000001101110000000110000000000000'); // 2

if not lArqIni.ValueExists('Artelogic 13x8', '51') then

lArqIni.WriteString('Artelogic 13x8', '51', '011000000011011100000001111100011000011110001100001111000110000111100011000011011111111111000111001111000000000000000'); // 3

if not lArqIni.ValueExists('Artelogic 13x8', '52') then

lArqIni.WriteString('Artelogic 13x8', '52', '000000111000000000111100000000110110000000110011000000110001100000111111111111111111111111100000001100000000000000000'); // 4

if not lArqIni.ValueExists('Artelogic 13x8', '53') then

lArqIni.WriteString('Artelogic 13x8', '53', '111111100011011111110001111100011000011110001100001111000110000111100011000011110001111111111000011111100000000000000'); // 5

if not lArqIni.ValueExists('Artelogic 13x8', '54') then

lArqIni.WriteString('Artelogic 13x8', '54', '011111111111011111111111111100011000011110001100001111000110000111100011000011111001111111101100011111100000000000000'); // 6

if not lArqIni.ValueExists('Artelogic 13x8', '55') then

lArqIni.WriteString('Artelogic 13x8', '55', '110000000000011000000000001100000000000110000111111111000111111111100111000000111111000000011111000000000000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 13x8', '56') then

lArqIni.WriteString('Artelogic 13x8', '56', '011110011111011111111111111100011000011110001100001111000110000111100011000011111111111111101111001111100000000000000'); // 8

if not lArqIni.ValueExists('Artelogic 13x8', '57') then

lArqIni.WriteString('Artelogic 13x8', '57', '011111100011011111110001111100011000011110001100001111000110000111100011000011111111111111101111111111100000000000000'); // 9

if not lArqIni.ValueExists('Artelogic 13x8', '48') then

lArqIni.WriteString('Artelogic 13x8', '48', '011111111111011111111111111100000000011110000000001111000000000111100000000011111111111111101111111111100000000000000'); // 0

if not lArqIni.ValueExists('Artelogic 13x8', '97') then

lArqIni.WriteString('Artelogic 13x8', '97', '000000000110000000100111100000110110011000011011001100001101100110000110110011000011111111100000111111110000000000000'); // a

if not lArqIni.ValueExists('Artelogic 13x8', '98') then

lArqIni.WriteString('Artelogic 13x8', '98', '111111111111111111111111110000010000011000011000001100001100000110000110000011000001111111000000011111000000000000000'); // b

if not lArqIni.ValueExists('Artelogic 13x8', '99') then

lArqIni.WriteString('Artelogic 13x8', '99', '000000111110000000111111100000110000011000011000001100001100000110000110000011000001100011000000010001000000000000000'); // c

if not lArqIni.ValueExists('Artelogic 13x8', '100') then

lArqIni.WriteString('Artelogic 13x8', '100', '000000111110000000111111100000110000011000011000001100001100000110000010000011111111111111111111111111110000000000000'); // d

if not lArqIni.ValueExists('Artelogic 13x8', '101') then

lArqIni.WriteString('Artelogic 13x8', '101', '000000111110000000111111100000110110011000011011001100001101100110000110110011000001111011000000011101000000000000000'); // e

if not lArqIni.ValueExists('Artelogic 13x8', '102') then

lArqIni.WriteString('Artelogic 13x8', '102', '00000011000000000001100000011111111111111111111111111100001100000110000110000001000000000000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 13x8', '103') then

lArqIni.WriteString('Artelogic 13x8', '103', '000011110000000011111100010011000011011001100001101100110000110110001000010011001111111111000111111111000000000000000'); // g

if not lArqIni.ValueExists('Artelogic 13x8', '104') then

lArqIni.WriteString('Artelogic 13x8', '104', '111111111111111111111111110000010000000000011000000000001100000000000110000000000001111111100000011111110000000000000'); // h

if not lArqIni.ValueExists('Artelogic 13x8', '105') then

lArqIni.WriteString('Artelogic 13x8', '105', '101111111111110111111111110000000000000'); // i

if not lArqIni.ValueExists('Artelogic 13x8', '106') then

lArqIni.WriteString('Artelogic 13x8', '106', '000000000011000000000000010000000000001101111111111110111111111100000000000000'); // j

if not lArqIni.ValueExists('Artelogic 13x8', '107') then

lArqIni.WriteString('Artelogic 13x8', '107', '11111111111111111111111111000000111100000000110011000000110000110000110000001100010000000010000000000000'); // k

if not lArqIni.ValueExists('Artelogic 13x8', '108') then

lArqIni.WriteString('Artelogic 13x8', '108', '111111111111111111111111110000000000000'); // l

if not lArqIni.ValueExists('Artelogic 13x8', '109') then

lArqIni.WriteString('Artelogic 13x8', '109', '000011111111100001111111110000010000000000011111111100001111111110000110000000000001111111100000011111110000000000000'); // m

if not lArqIni.ValueExists('Artelogic 13x8', '110') then

lArqIni.WriteString('Artelogic 13x8', '110', '00001111111110000111111111000001000000000001100000000000110000000000001111111100000011111110000000000000'); // n

if not lArqIni.ValueExists('Artelogic 13x8', '111') then

lArqIni.WriteString('Artelogic 13x8', '111', '000000111110000000111111100000110000011000011000001100001100000110000110000011000001111111000000011111000000000000000'); // o

if not lArqIni.ValueExists('Artelogic 13x8', '112') then

lArqIni.WriteString('Artelogic 13x8', '112', '001111111111100111111111110001000010000001100001100000110000110000011000011000000111111000000001111000000000000000000'); // p

if not lArqIni.ValueExists('Artelogic 13x8', '113') then

lArqIni.WriteString('Artelogic 13x8', '113', '000011110000000011111100000011000011000001100001100000110000110000001000010000001111111111100111111111110000000000000'); // q

if not lArqIni.ValueExists('Artelogic 13x8', '114') then

lArqIni.WriteString('Artelogic 13x8', '114', '000011111111100001111111110000010000000000011000000000001100000000000110000000000001100000000000010000000000000000000'); // r

if not lArqIni.ValueExists('Artelogic 13x8', '115') then

lArqIni.WriteString('Artelogic 13x8', '115', '000001100011000001111000110000110110011000011011001100001100110110000110011011000011001111100000110011100000000000000'); // s

if not lArqIni.ValueExists('Artelogic 13x8', '116') then

lArqIni.WriteString('Artelogic 13x8', '116', '0000110000000000011000000011111111111101111111111111000011000001100001100000100000000000000'); // t

if not lArqIni.ValueExists('Artelogic 13x8', '117') then

lArqIni.WriteString('Artelogic 13x8', '117', '000011111110000001111111100000000000011000000000001100000000000110000000000010000011111111100001111111110000000000000'); // u

if not lArqIni.ValueExists('Artelogic 13x8', '118') then

lArqIni.WriteString('Artelogic 13x8', '118', '000011111100000001111111000000000000110000000000001100000000000110000000000110000011111110000001111110000000000000000'); // v

if not lArqIni.ValueExists('Artelogic 13x8', '119') then

lArqIni.WriteString('Artelogic 13x8', '119', '000011111111100001111111100000000001100000000001100000000000110000000000001100000011111111000001111111110000000000000'); // w

if not lArqIni.ValueExists('Artelogic 13x8', '120') then

lArqIni.WriteString('Artelogic 13x8', '120', '000011000001100001110001110000001111100000000011100000000001110000000001111100000011100011100001100000110000000000000'); // x

if not lArqIni.ValueExists('Artelogic 13x8', '121') then

lArqIni.WriteString('Artelogic 13x8', '121', '111111100001011111111000110000000110001000000011000100000001100010000000100001111111111111111111111111100000000000000'); // y

if not lArqIni.ValueExists('Artelogic 13x8', '122') then

lArqIni.WriteString('Artelogic 13x8', '122', '000011000001100001100001110000110001111000011001111100001101110110000111110011000011110001100001110000110000000000000'); // z

if not lArqIni.ValueExists('Artelogic 13x8', '46') then

lArqIni.WriteString('Artelogic 13x8', '46', '000000000001100000000000110000000000000'); // .

if not lArqIni.ValueExists('Artelogic 13x8', '58') then

lArqIni.WriteString('Artelogic 13x8', '58', '000110011000000011001100000000000000000'); // :

if not lArqIni.ValueExists('Artelogic 13x8', '47') then

lArqIni.WriteString('Artelogic 13x8', '47', '00000000000110000000001111000000011110000000111100000001111000000011110000000001100000000000000000000000'); // /

if not lArqIni.ValueExists('Artelogic 13x8', '33') then

lArqIni.WriteString('Artelogic 13x8', '33', '111111111101111111111110110000000000000'); // !

if not lArqIni.ValueExists('Artelogic 13x8', '40') then

lArqIni.WriteString('Artelogic 13x8', '40', '00001111100000001111111000001100000110001100000001101100000000011100000000000110000000000010000000000000'); // (

if not lArqIni.ValueExists('Artelogic 13x8', '41') then

lArqIni.WriteString('Artelogic 13x8', '41', '10000000000011000000000001110000000001101100000001100011000001100000111111100000001111100000000000000000'); // )

if not lArqIni.ValueExists('Artelogic 13x8', '43') then

lArqIni.WriteString('Artelogic 13x8', '43', '000000110000000000011000000000001100000000111111110000011111111000000001100000000000110000000000011000000000000000000'); // +

if not lArqIni.ValueExists('Artelogic 13x8', '45') then

lArqIni.WriteString('Artelogic 13x8', '45', '00000011000000000001100000000000110000000000011000000000001100000000000110000000000011000000000000000000'); // -

if not lArqIni.ValueExists('Artelogic 13x8', '195') then

lArqIni.WriteString('Artelogic 13x8', '195', '000001111111101001111111111001110011000100110001100001011000110001001110011000000011111111100000111111110000000000000'); // Ã

if not lArqIni.ValueExists('Artelogic 13x8', '193') then

lArqIni.WriteString('Artelogic 13x8', '193', '000001111111100001111111110001110011000010110001100011011000110001001110011000000011111111100000111111110000000000000'); // Á

if not lArqIni.ValueExists('Artelogic 13x8', '194') then

lArqIni.WriteString('Artelogic 13x8', '194', '000001111111100001111111110101110011000110110001100010011000110001101110011000010011111111100000111111110000000000000'); // Â

if not lArqIni.ValueExists('Artelogic 13x8', '227') then

lArqIni.WriteString('Artelogic 13x8', '227', '000000000110001000100111101000110110011100011011001101001101100111000110110011000011111111100000111111110000000000000'); // ã

if not lArqIni.ValueExists('Artelogic 13x8', '225') then

lArqIni.WriteString('Artelogic 13x8', '225', '000000000110000000100111100000110110011010011011001111001101100111000110110011000011111111100000111111110000000000000'); // á

if not lArqIni.ValueExists('Artelogic 13x8', '226') then

lArqIni.WriteString('Artelogic 13x8', '226', '000000000110000000100111100100110110011110011011001110001101100111100110110011010011111111100000111111110000000000000'); // â

if not lArqIni.ValueExists('Artelogic 13x8', '201') then

lArqIni.WriteString('Artelogic 13x8', '201', '000111111111100011111111110001100110011010110011001111011001100111001100110011000110000001100011000000110000000000000'); // É

if not lArqIni.ValueExists('Artelogic 13x8', '202') then

lArqIni.WriteString('Artelogic 13x8', '202', '000111111111100011111111110101100110011110110011001110011001100111101100110011010110000001100011000000110000000000000'); // Ê

if not lArqIni.ValueExists('Artelogic 13x8', '233') then

lArqIni.WriteString('Artelogic 13x8', '233', '000000111110000000111111100000110110011001011011001101101101100110100110110011000001111011000000011101000000000000000'); // é

if not lArqIni.ValueExists('Artelogic 13x8', '234') then

lArqIni.WriteString('Artelogic 13x8', '234', '000000111110000000111111100010110110011011011011001101001101100110110110110011001001111011000000011101000000000000000'); // ê

if not lArqIni.ValueExists('Artelogic 13x8', '213') then

lArqIni.WriteString('Artelogic 13x8', '213', '000001111110001001111111101001110000111100110000001101011000000111001110000111000011111111000000111111000000000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 13x8', '211') then

lArqIni.WriteString('Artelogic 13x8', '211', '000001111110000001111111100001110000111010110000001111011000000111001110000111000011111111000000111111000000000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 13x8', '212') then

lArqIni.WriteString('Artelogic 13x8', '212', '000001111110000001111111100101110000111110110000001110011000000111101110000111010011111111000000111111000000000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 13x8', '245') then

lArqIni.WriteString('Artelogic 13x8', '245', '000000111110000100111111100100110000011010011000001100101100000110100110000011000001111111000000011111000000000000000'); // õ

if not lArqIni.ValueExists('Artelogic 13x8', '243') then

lArqIni.WriteString('Artelogic 13x8', '243', '000000111110000000111111100000110000011001011000001101101100000110100110000011000001111111000000011111000000000000000'); // ó

if not lArqIni.ValueExists('Artelogic 13x8', '244') then

lArqIni.WriteString('Artelogic 13x8', '244', '000000111110000000111111100010110000011011011000001101001100000110110110000011001001111111000000011111000000000000000'); // ô

if not lArqIni.ValueExists('Artelogic 13x8', '205') then

lArqIni.WriteString('Artelogic 13x8', '205', '00011111111110101111111111110000000000010000000000000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 13x8', '237') then

lArqIni.WriteString('Artelogic 13x8', '237', '00001111111110010111111111011000000000001000000000000000000000000'); // í

if not lArqIni.ValueExists('Artelogic 13x8', '199') then

lArqIni.WriteString('Artelogic 13x8', '199', '001111111100001111111111001110000001110110000000011011000000011111110000000110011100001110000110000110000000000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 13x8', '231') then

lArqIni.WriteString('Artelogic 13x8', '231', '000001111100000001111111000001100000110000110000011000011000011110001100000110000011000110000000100010000000000000000'); // ç

finally

lArqIni.Free;

end;

end;

procedure TFlexLed.CriaFontes13x9;

var

lArqIni: TIniFile;

begin

lArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'FONTES10.INI');

try

//

//------ F O N T E ------ Artelogic 13 x 9 ------

//

if not lArqIni.ValueExists('Artelogic 13x9', '65') then

lArqIni.WriteString('Artelogic 13x9', '65', '0011111111111011111111111111111111111111110001110000110000111000011100011100001111111111111011111111111100111111111110000000000000'); // A

if not lArqIni.ValueExists('Artelogic 13x9', '66') then

lArqIni.WriteString('Artelogic 13x9', '66', '1111111111111111111111111111111111111111100011000011110001100001111101111001111111111111111011111111111000111001111000000000000000'); // B

if not lArqIni.ValueExists('Artelogic 13x9', '67') then

lArqIni.WriteString('Artelogic 13x9', '67', '0011111111100011111111111011111111111111110000000111110000000001111100000001111111000001111011100000111000110000011000000000000000'); // C

if not lArqIni.ValueExists('Artelogic 13x9', '68') then

lArqIni.WriteString('Artelogic 13x9', '68', '1111111111111111111111111111111111111111100000000011110000000001111100000001110111111111110001111111110000011111110000000000000000'); // D

if not lArqIni.ValueExists('Artelogic 13x9', '69') then

lArqIni.WriteString('Artelogic 13x9', '69', '1111111111111111111111111111111111111111100011000011110001100001111000110000111100011000011110000000001111000000000110000000000000'); // E

if not lArqIni.ValueExists('Artelogic 13x9', '70') then

lArqIni.WriteString('Artelogic 13x9', '70', '1111111111111111111111111111111111111111100001100000110000110000011000011000001100001100000110000110000011000000000000000000000000'); // F

if not lArqIni.ValueExists('Artelogic 13x9', '71') then

lArqIni.WriteString('Artelogic 13x9', '71', '0011111111100011111111111011111111111111110000000111110000000001111000011001111110001100111011000111111000100011111000000000000000'); // G

if not lArqIni.ValueExists('Artelogic 13x9', '72') then

lArqIni.WriteString('Artelogic 13x9', '72', '1111111111111111111111111111111111111110000011100000000001110000000000111000001111111111111111111111111111111111111110000000000000'); // H

if not lArqIni.ValueExists('Artelogic 13x9', '73') then

lArqIni.WriteString('Artelogic 13x9', '73', '1111111111111111111111111111111111111110000000000000'); // I

if not lArqIni.ValueExists('Artelogic 13x9', '32') then

lArqIni.WriteString('Artelogic 13x9', '32', '000000000000000000000000000000000000000'); // ESPACO

if not lArqIni.ValueExists('Artelogic 13x9', '74') then

lArqIni.WriteString('Artelogic 13x9', '74', '1110000001100111000000111011100000001111110000000011111000000001111100000001111111111111111111111111111011111111111000000000000000'); // J

if not lArqIni.ValueExists('Artelogic 13x9', '75') then

lArqIni.WriteString('Artelogic 13x9', '75', '1111111111111111111111111111111111111110000011110000000011111000000011111110001111100011111111100000111111100000001110000000000000'); // K

if not lArqIni.ValueExists('Artelogic 13x9', '76') then

lArqIni.WriteString('Artelogic 13x9', '76', '1111111111111111111111111111111111111110000000000011000000000001100000000000110000000000011000000000001100000000000110000000000000'); // L

if not lArqIni.ValueExists('Artelogic 13x9', '77') then

lArqIni.WriteString('Artelogic 13x9', '77', '1111111111111111111111111101111111111110011000000000001110000000000110000000000111111111111111111111111111111111111110000000000000'); // M

if not lArqIni.ValueExists('Artelogic 13x9', '78') then

lArqIni.WriteString('Artelogic 13x9', '78', '1111111111111111111111111111111111111110001111110000000011111100000000111111001111111111111111111111111111111111111110000000000000'); // N

if not lArqIni.ValueExists('Artelogic 13x9', '79') then

lArqIni.WriteString('Artelogic 13x9', '79', '0011111111100011111111111011111111111111110000000111110000000001111100000001111111111111111011111111111000111111111000000000000000'); // O

if not lArqIni.ValueExists('Artelogic 13x9', '80') then

lArqIni.WriteString('Artelogic 13x9', '80', '1111111111111111111111111111111111111111100011000000110001100000011101110000001111111000000011111000000000111000000000000000000000'); // P

if not lArqIni.ValueExists('Artelogic 13x9', '81') then

lArqIni.WriteString('Artelogic 13x9', '81', '0011111111100011111111111011111111111111100000000011110000000101111000000001011111111111010011111111110100111111111100000000000000'); // Q

if not lArqIni.ValueExists('Artelogic 13x9', '82') then

lArqIni.WriteString('Artelogic 13x9', '82', '1111111111111111111111111111111111111111100001100000110000110000011000111110001111111011111011111001111100111000001110000000000000'); // R

if not lArqIni.ValueExists('Artelogic 13x9', '83') then

lArqIni.WriteString('Artelogic 13x9', '83', '0011100000100011111000011011111110001111110111100011110001111001111000011101111110000111111011000001111000100000011000000000000000'); // S

if not lArqIni.ValueExists('Artelogic 13x9', '84') then

lArqIni.WriteString('Artelogic 13x9', '84', '1100000000000110000000000011000000000001111111111111111111111111111111111111111100000000000110000000000011000000000000000000000000'); // T

if not lArqIni.ValueExists('Artelogic 13x9', '85') then

lArqIni.WriteString('Artelogic 13x9', '85', '1111111111110111111111111111111111111110000000000111000000000001100000000001111111111111111111111111111111111111111100000000000000'); // U

if not lArqIni.ValueExists('Artelogic 13x9', '86') then

lArqIni.WriteString('Artelogic 13x9', '86', '1111111110000111111111100011111111111000000000001110000000000011100000000011101111111111100111111111100011111111100000000000000000'); // V

if not lArqIni.ValueExists('Artelogic 13x9', '87') then

lArqIni.WriteString('Artelogic 13x9', '87', '1111111111111111111111111111111111111100000000001100000000011110000000000011001111111111110111111111111111111111111110000000000000'); // W

if not lArqIni.ValueExists('Artelogic 13x9', '88') then

lArqIni.WriteString('Artelogic 13x9', '88', '1100000000011111100000111111111111111110000111110000000011111000000001111100001111111111111111100000111111000000000110000000000000'); // X

if not lArqIni.ValueExists('Artelogic 13x9', '89') then

lArqIni.WriteString('Artelogic 13x9', '89', '1111110000000111111100000011111110000000000111111111000000111111100001111111111111111000000111111100000011111100000000000000000000'); // Y

if not lArqIni.ValueExists('Artelogic 13x9', '90') then

lArqIni.WriteString('Artelogic 13x9', '90', '1110000001111111000001111111100001111111110001110111111001110011111101110001111111110000111111110000011111110000001110000000000000'); // Z

if not lArqIni.ValueExists('Artelogic 13x9', '49') then

lArqIni.WriteString('Artelogic 13x9', '49', '001000000001101111111111111111111111111111111111111100000000000110000000000000'); // 1

if not lArqIni.ValueExists('Artelogic 13x9', '50') then

lArqIni.WriteString('Artelogic 13x9', '50', '011000001111111100001111111110001111111110001111101111001111000111111111000011111111000001101111000000110000000000000'); // 2

if not lArqIni.ValueExists('Artelogic 13x9', '51') then

lArqIni.WriteString('Artelogic 13x9', '51', '011000000011011100000001111110011000111110001100001111000110000111111111111111111111111111101111001111100000000000000'); // 3

if not lArqIni.ValueExists('Artelogic 13x9', '52') then

lArqIni.WriteString('Artelogic 13x9', '52', '0000011111000000011111100000011111110000011110111000011110011100011111111111111111111111111111111111111100000001110000000000000000'); // 4

if not lArqIni.ValueExists('Artelogic 13x9', '53') then

lArqIni.WriteString('Artelogic 13x9', '53', '1111111000110111111110011111111111001111110011100011111001110001111100111000111110011111111111001111111111100011111100000000000000'); // 5

if not lArqIni.ValueExists('Artelogic 13x9', '54') then

lArqIni.WriteString('Artelogic 13x9', '54', '011111111111011111111111111111111111111110001100001111000110000111110011111111111001111111101100011111100000000000000'); // 6

if not lArqIni.ValueExists('Artelogic 13x9', '55') then

lArqIni.WriteString('Artelogic 13x9', '55', '111000001111111100001111111110001111111111001111000011101111000001111111000000111111000000011111000000000000000000000'); // 7

if not lArqIni.ValueExists('Artelogic 13x9', '56') then

lArqIni.WriteString('Artelogic 13x9', '56', '011110011111011111111111111111111111111110001100001111000110000111111111111111111111111111101111001111100000000000000'); // 8

if not lArqIni.ValueExists('Artelogic 13x9', '57') then

lArqIni.WriteString('Artelogic 13x9', '57', '011111100011011111110001111111111000111110001100001111000110000111111111111111111111111111101111111111100000000000000'); // 9

if not lArqIni.ValueExists('Artelogic 13x9', '48') then

lArqIni.WriteString('Artelogic 13x9', '48', '011111111111011111111111111111111111111110000000001111000000000111111111111111111111111111101111111111100000000000000'); // 0

if not lArqIni.ValueExists('Artelogic 13x9', '97') then

lArqIni.WriteString('Artelogic 13x9', '97', '0000000001100000001001111000001101111110000110110011000011011001100001101100110000111111111000011111111100000111111110000000000000'); // a

if not lArqIni.ValueExists('Artelogic 13x9', '98') then

lArqIni.WriteString('Artelogic 13x9', '98', '1111111111111111111111111111111111111110000010000011000011000001100001100000110000111111111000001111111000000011111000000000000000'); // b

if not lArqIni.ValueExists('Artelogic 13x9', '99') then

lArqIni.WriteString('Artelogic 13x9', '99', '0000001111100000001111111000001111111110000110000011000011000001100001100000110000111000111000001100011000000010001000000000000000'); // c

if not lArqIni.ValueExists('Artelogic 13x9', '100') then

lArqIni.WriteString('Artelogic 13x9', '100', '0000001111100000001111111000001111111110000110000011000011000001100000100000111111111111111111111111111111111111111110000000000000'); // d

if not lArqIni.ValueExists('Artelogic 13x9', '101') then

lArqIni.WriteString('Artelogic 13x9', '101', '0000001111100000001111111000001111111110000110110011000011011001100001101100110000111110111000001111011000000011101000000000000000'); // e

if not lArqIni.ValueExists('Artelogic 13x9', '102') then

lArqIni.WriteString('Artelogic 13x9', '102', '00000011000000011111111111011111111111111111111111111100001100000110000000000001000000000000000000000000'); // f

if not lArqIni.ValueExists('Artelogic 13x9', '103') then

lArqIni.WriteString('Artelogic 13x9', '103', '0000111100000000111111000100111111110110011000011011001100001101100010000100110011111111111001111111111000111111111000000000000000'); // g

if not lArqIni.ValueExists('Artelogic 13x9', '104') then

lArqIni.WriteString('Artelogic 13x9', '104', '1111111111111111111111111111111111111110000010000000000011000000000001100000000000111111111000011111111100000111111110000000000000'); // h

if not lArqIni.ValueExists('Artelogic 13x9', '105') then

lArqIni.WriteString('Artelogic 13x9', '105', '1011111111111101111111111110111111111110000000000000'); // i

if not lArqIni.ValueExists('Artelogic 13x9', '106') then

lArqIni.WriteString('Artelogic 13x9', '106', '000000000011000000000000011011111111111101111111111110111111111100000000000000'); // j

if not lArqIni.ValueExists('Artelogic 13x9', '107') then

lArqIni.WriteString('Artelogic 13x9', '107', '1111111111111111111111111111111111111110000111111000000111111110000111000011100111000000111011000000001101000000000010000000000000'); // k

if not lArqIni.ValueExists('Artelogic 13x9', '108') then

lArqIni.WriteString('Artelogic 13x9', '108', '1111111111111111111111111111111111111110000000000000'); // l

if not lArqIni.ValueExists('Artelogic 13x9', '109') then

lArqIni.WriteString('Artelogic 13x9', '109', '0000111111111000011111111100001111111110000010000000000011111111100001111111110000110000000000011111111100000111111110000000000000'); // m

if not lArqIni.ValueExists('Artelogic 13x9', '110') then

lArqIni.WriteString('Artelogic 13x9', '110', '000011111111100001111111110000111111111000001000000000001100000000000110000000000011111111100000111111110000000000000'); // n

if not lArqIni.ValueExists('Artelogic 13x9', '111') then

lArqIni.WriteString('Artelogic 13x9', '111', '0000001111100000001111111000001111111110000110000011000011000001100001100000110000111111111000001111111000000011111000000000000000'); // o

if not lArqIni.ValueExists('Artelogic 13x9', '112') then

lArqIni.WriteString('Artelogic 13x9', '112', '0011111111111001111111111100111111111110001000010000001100001100000110000110000011111111000000111111000000001111000000000000000000'); // p

if not lArqIni.ValueExists('Artelogic 13x9', '113') then

lArqIni.WriteString('Artelogic 13x9', '113', '0000111100000000111111000000111111110000011000011000001100001100000010000100000011111111111001111111111100111111111110000000000000'); // q

if not lArqIni.ValueExists('Artelogic 13x9', '114') then

lArqIni.WriteString('Artelogic 13x9', '114', '000011111111100001111111110000111111111000001000000000001100000000000111000000000001100000000000010000000000000000000'); // r

if not lArqIni.ValueExists('Artelogic 13x9', '115') then

lArqIni.WriteString('Artelogic 13x9', '115', '0000011100110000011110001100001101100110000110111011000011011101100001100110110000110011111000011001111100000110011100000000000000'); // s

if not lArqIni.ValueExists('Artelogic 13x9', '116') then

lArqIni.WriteString('Artelogic 13x9', '116', '00001100000001111111111100111111111111011111111111110000110000011000000000001100000000000100000000000000'); // t

if not lArqIni.ValueExists('Artelogic 13x9', '117') then

lArqIni.WriteString('Artelogic 13x9', '117', '0000111111100000011111111000001111111110000000000011000000000001100000000000100000111111111000011111111100001111111110000000000000'); // u

if not lArqIni.ValueExists('Artelogic 13x9', '118') then

lArqIni.WriteString('Artelogic 13x9', '118', '000011111100000001111111000000111111110000000000011100000000001110000111111110000011111110000001111110000000000000000'); // v

if not lArqIni.ValueExists('Artelogic 13x9', '119') then

lArqIni.WriteString('Artelogic 13x9', '119', '0000111111111000011111111100001111111100000000001100000000001110000000000011100000111111111000011111111100001111111110000000000000'); // w

if not lArqIni.ValueExists('Artelogic 13x9', '120') then

lArqIni.WriteString('Artelogic 13x9', '120', '0000110000011000011100011100001111111110000000111000000000011100000000001110000000111111111000011100011100001100000110000000000000'); // x

if not lArqIni.ValueExists('Artelogic 13x9', '121') then

lArqIni.WriteString('Artelogic 13x9', '121', '0011111000010001111110001100111111100010000000110001000000011000100000001000010011111111111001111111111100111111111100000000000000'); // y

if not lArqIni.ValueExists('Artelogic 13x9', '122') then

lArqIni.WriteString('Artelogic 13x9', '122', '0000110000011000011000011100001100011110000110011111000011011111100001111110110000111110011000011110001100001110000110000000000000'); // z

if not lArqIni.ValueExists('Artelogic 13x9', '46') then

lArqIni.WriteString('Artelogic 13x9', '46', '000000000001100000000000110000000000000'); // .

if not lArqIni.ValueExists('Artelogic 13x9', '58') then

lArqIni.WriteString('Artelogic 13x9', '58', '000110011000000011001100000000000000000'); // :

if not lArqIni.ValueExists('Artelogic 13x9', '47') then

lArqIni.WriteString('Artelogic 13x9', '47', '00000000000110000000001111000000011110000000111100000001111000000011110000000001100000000000000000000000'); // /

if not lArqIni.ValueExists('Artelogic 13x9', '33') then

lArqIni.WriteString('Artelogic 13x9', '33', '1111111111011111111111101111111111110110000000000000'); // !

if not lArqIni.ValueExists('Artelogic 13x9', '40') then

lArqIni.WriteString('Artelogic 13x9', '40', '000011111000000011111110000011111111100011100000111011100000001111100000000011100000000000110000000000010000000000000'); // (

if not lArqIni.ValueExists('Artelogic 13x9', '41') then

lArqIni.WriteString('Artelogic 13x9', '41', '100000000000110000000000011100000000011111000000011101110000011100011111111100000111111100000001111100000000000000000'); // )

if not lArqIni.ValueExists('Artelogic 13x9', '43') then

lArqIni.WriteString('Artelogic 13x9', '43', '0000011100000000001110000000000111000000111111111110011111111111001111111111100000011100000000001110000000000111000000000000000000'); // +

if not lArqIni.ValueExists('Artelogic 13x9', '45') then

lArqIni.WriteString('Artelogic 13x9', '45', '0000011100000000001110000000000111000000000011100000000001110000000000111000000000011100000000001110000000000111000000000000000000'); // -

if not lArqIni.ValueExists('Artelogic 13x9', '195') then

lArqIni.WriteString('Artelogic 13x9', '195', '0000011111111010011111111111011111111111001100011000010110001100011011000110001001111111111000011111111100000111111110000000000000'); // Ã

if not lArqIni.ValueExists('Artelogic 13x9', '193') then

lArqIni.WriteString('Artelogic 13x9', '193', '0000011111111000011111111100011111111110101100011000110110001100011011000110001001111111111000011111111100000111111110000000000000'); // Á

if not lArqIni.ValueExists('Artelogic 13x9', '194') then

lArqIni.WriteString('Artelogic 13x9', '194', '0000011111111000011111111101011111111111101100011000100110001100011011000110000101111111111000011111111100000111111110000000000000'); // Â

if not lArqIni.ValueExists('Artelogic 13x9', '227') then

lArqIni.WriteString('Artelogic 13x9', '227', '0000000001100001001001111001101101111110100110110011001011011001101101101100110100111111111000011111111100000111111110000000000000'); // ã

if not lArqIni.ValueExists('Artelogic 13x9', '225') then

lArqIni.WriteString('Artelogic 13x9', '225', '0000000001100000001001111000001101111110010110110011011011011001101101101100110100111111111000011111111100000111111110000000000000'); // á

if not lArqIni.ValueExists('Artelogic 13x9', '226') then

lArqIni.WriteString('Artelogic 13x9', '226', '0000000001100000001001111000101101111110110110110011110011011001101101101100110010111111111000011111111100000111111110000000000000'); // â

if not lArqIni.ValueExists('Artelogic 13x9', '201') then

lArqIni.WriteString('Artelogic 13x9', '201', '0001111111111000111111111100011111111110101100110011110110011001111011001100111001100110011000110000001100011000000110000000000000'); // É

if not lArqIni.ValueExists('Artelogic 13x9', '202') then

lArqIni.WriteString('Artelogic 13x9', '202', '0001111111111000111111111101011111111111101100110011100110011001111011001100110101100110011000110000001100011000000110000000000000'); // Ê

if not lArqIni.ValueExists('Artelogic 13x9', '233') then

lArqIni.WriteString('Artelogic 13x9', '233', '0000001111100000001111111000001111111110010110110011011011011001101101101100110100111110111000001111011000000011101000000000000000'); // é

if not lArqIni.ValueExists('Artelogic 13x9', '234') then

lArqIni.WriteString('Artelogic 13x9', '234', '0000001111100000001111111000101111111110110110110011110011011001101101101100110010111110111000001111011000000011101000000000000000'); // ê

if not lArqIni.ValueExists('Artelogic 13x9', '213') then

lArqIni.WriteString('Artelogic 13x9', '213', '0000011111100010011111111011011111111111001110000111010110000001111011100001111001111111111000011111111000000111111000000000000000'); // Õ

if not lArqIni.ValueExists('Artelogic 13x9', '211') then

lArqIni.WriteString('Artelogic 13x9', '211', '0000011111100000011111111000011111111110101110000111110110000001111011100001111001111111111000011111111000000111111000000000000000'); // Ó

if not lArqIni.ValueExists('Artelogic 13x9', '212') then

lArqIni.WriteString('Artelogic 13x9', '212', '0000011111100000011111111001011111111111101110000111100110000001111011100001110101111111111000011111111000000111111000000000000000'); // Ô

if not lArqIni.ValueExists('Artelogic 13x9', '245') then

lArqIni.WriteString('Artelogic 13x9', '245', '0000001111100001001111111001101111111110100110000011001011000001101101100000110100111111111000001111111000000011111000000000000000'); // õ

if not lArqIni.ValueExists('Artelogic 13x9', '243') then

lArqIni.WriteString('Artelogic 13x9', '243', '0000001111100000001111111000001111111110010110000011011011000001101101100000110100111111111000001111111000000011111000000000000000'); // ó

if not lArqIni.ValueExists('Artelogic 13x9', '244') then

lArqIni.WriteString('Artelogic 13x9', '244', '0000001111100000001111111000101111111110110110000011110011000001101101100000110010111111111000001111111000000011111000000000000000'); // ô

if not lArqIni.ValueExists('Artelogic 13x9', '205') then

lArqIni.WriteString('Artelogic 13x9', '205', '000111111111101011111111111101111111111110000000000010000000000000000000000000'); // Í

if not lArqIni.ValueExists('Artelogic 13x9', '237') then

lArqIni.WriteString('Artelogic 13x9', '237', '000001111111100010111111110011011111111001100000000000100000000000000000000000'); // í

if not lArqIni.ValueExists('Artelogic 13x9', '199') then

lArqIni.WriteString('Artelogic 13x9', '199', '0011111111100011111111111011111111111101100000000110110000000111111000000001101111000011110011100001110000110000110000000000000000'); // Ç

if not lArqIni.ValueExists('Artelogic 13x9', '231') then

lArqIni.WriteString('Artelogic 13x9', '231', '0000011111000000011111110000011111111100001100000110000110000111100011000001100001110001110000011000110000000100010000000000000000'); // ç

finally

lArqIni.Free;

end;

end;

//

//--- Inicializa Matrix de Leds ---

//

procedure TFlexLed.InicializaMatrixLeds;

var

li : Integer;

begin

for li := 0 to Length(FMatrixLeds) - 1 do

if assigned(FMatrixLeds[li]) then

FreeAndNil(FMatrixLeds[li]);

SetLength(FMatrixLeds, 0);

end;

//

//--- Inicializa Configuracao ---

//

procedure TFlexLed.InicializaConfig;

var

li : Integer;

begin

for li := 0 to Length(FConfig) - 1 do

if Assigned(FConfig[li]) then

FreeAndNil(FConfig[li]);

SetLength(FConfig, 0);

end;

//

//--- Verifica se Led esta Ligado ---

//

function TFlexLed.JaFoiLigado(const pLed: TLed): Boolean;

var

lIdx : Integer;

begin

Result := False;

for lIdx := 0 to Length(FLigados) -1 do

begin

Result := (FLigados[lidx] = pLed.LedID);

if Result then

Break;

end;

end;

//

//--- Inicializa Letds ---

//

constructor TLed.Create(const pCor: TColor; const pLedID: Integer);

begin

inherited Create;

LedID := pLedID;

FLigado := False;

FColor := pCor;

end;

//

//--- Liga/Desenha Led no FlexLed ---

//

procedure TLed.DesenhaLed;

begin

FFlexLed.PintaImagem(Coordenadas, Color, FLigado);

FFlexLed.Canvas.CopyRect(Coordenadas, FFlexLed.FImage.Canvas, FFlexLed.GetRectImage);

end;

//

//--- Desliga/Apaga Led no FlexLed ---

//

procedure TLed.DesligaLed;

begin

FFlexLed.PintaImagem(Coordenadas, Color, False);

FFlexLed.Canvas.CopyRect(Coordenadas, FFlexLed.FImage.Canvas, FFlexLed.GetRectImage);

end;

//

//--- Destroi Led da Memoria ---

//

destructor TLed.Destroy;

begin

inherited;

end;

//

//--- Atribui Cor ao Led ---

//

procedure TLed.SetColor(const Value: TColor);

begin

FColor := Value;

DesenhaLed;

end;

//

//--- Atribui Coluna ao Led ---

//

procedure TLed.SetColuna(const Value: Integer);

begin

FColuna := Value;

end;

//

//--- Atribui Coordendas ao Led ---

//

procedure TLed.SetCoordenadas(const Value: TRect);

begin

FCoordenadas := Value;

end;

//

//--- Atribui ID ao Led ---

//

procedure TLed.SetLedID(const Value: Integer);

begin

FLedID := Value;

end;

//

//--- Atribui Posicao ao Led ---

//--- Posicao : 1 - 1a Linha do FlexLed ---

//--- 2 - 2a Linha do FlexLed ---

//

procedure TLed.SetLedPosicao(const Value: Integer);

begin

FPosicao := Value;

end;

//

//--- Liga Led ---

//

procedure TLed.SetLigado(const Value: Boolean);

begin

FLigado := Value;

DesenhaLed;

end;

//

//--- Atribui Linha ao Led ---

//

procedure TLed.SetLinha(const Value: Integer);

begin

FLinha := Value;

end;

//

//--- Destroi Matrix de Leds da Memoria ---

//

destructor TFlexLed.Destroy;

begin

InicializaMatrixLeds;

InicializaConfig;

if Assigned(FImage) then

FreeAndNil(FImage);

if Assigned(FTimer) then

FreeAndNil(FTimer);

inherited;

end;

//

//--- Escreve Caracter/Letra no FlexLed ---

//

procedure TFlexLed.EscreveTexto(const pNomeFonte: TTipoFonte; const pTexto: String);

var

lLed : TLed;

lConfigFonte : String;

lIdx : Integer;

lLinha : SmallInt;

lNroLinhas : SmallInt;

lColunaIni : SmallInt;

lNroColunas : SmallInt;

begin

if NroDeLinhas(pNomeFonte, lNroLinhas) and

AchouConfigFonte(pNomeFonte, pTexto, lConfigFonte) then

begin

lColunaIni := FPosicaoCursor;

NroDeColunas(lConfigFonte, lNroLinhas, lNroColunas);

if (FPosicaoCursor + lNroColunas) > FlexNroColunas then

if Rolagem = tsNenhum then

begin

Beep;

Exit;

end else

Deslocar := Deslocar - lNroColunas;

try

//--- COM Divisao na Linha ---

if (Tag = 1) and

(FDivisaoNaLinha) and

((pNomeFonte = tfArtelogic5x5) or

(pNomeFonte = tfArtelogic6x5) or

(pNomeFonte = tfArtelogic6x6)) then

begin

//--- Desenha/Escreve Caracteres na 1a Linha do FlexLed ---

if not(FLinha2Ativa) then

begin

lLed := GetLed(0, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 1;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 1;

end;

Inc(lLinha);

if (lLinha > lNroLinhas) then

begin

lLinha := 1;

if not (lConfigFonte[lIdx] = '2') then

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

//--- Desenha/Escreve Caracteres na 2a Linha do FlexLed ---

if (FLinha2Ativa) then

begin

lLed := GetLed(8, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 8;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 2;

end;

Inc(lLinha);

if (lLinha > (7 + lNroLinhas)) then

begin

lLinha := 8;

if not (lConfigFonte[lIdx] = '2') then

begin

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

end;

end else

begin

//--- SEM Divisao na Linha ---

//

//--- Desenha/Escreve Caracteres na 1a Linha do FlexLed ---

lLed := GetLed(0, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 1;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 1;

end;

Inc(lLinha);

if (lLinha > lNroLinhas) then

begin

lLinha := 1;

if not (lConfigFonte[lIdx] = '2') then

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

finally

GetConfig(pNomeFonte, pTexto, lColunaIni, FPosicaoCursor);

PosicaoCursor := FPosicaoCursor;

end;

end;

end;

//

//--- Escreve Caracter/Letra em Linhas Duplas no Canvas do FlexLed ---

//

procedure TFlexLed.EscreveTextoDuplo(const pNomeFonte: TTipoFonte; const pTexto: String; const pPosicao, pLinha: Integer);

var

lLed : TLed;

lConfigFonte : String;

lIdx : Integer;

lLinha : SmallInt;

lNroLinhas : SmallInt;

lNroColunas : SmallInt;

begin

if NroDeLinhas(pNomeFonte, lNroLinhas) and

AchouConfigFonte(pNomeFonte, pTexto, lConfigFonte) then

begin

NroDeColunas(lConfigFonte, lNroLinhas, lNroColunas);

if (FPosicaoCursor + lNroColunas) > FlexNroColunas then

if Rolagem = tsNenhum then

begin

Beep;

Exit;

end else

Deslocar := Deslocar - lNroColunas;

try

{ ===

ShowMessage('Escreve Texto Linha Dupla' +#13+

'ASCII: ' +pTexto +#13+

'Posição: ' +IntToStr(pPosicao) +#13+

'Linha: ' +IntToStr(pLinha));

=== }

//--- Desenha/Escreve Caracteres na 1a Linha do FlexLed ---

if (pPosicao = 1) and

(pLinha = 0) then

begin

lLed := GetLed(0, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 1;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 1;

end;

Inc(lLinha);

if (lLinha > lNroLinhas) then

begin

lLinha := 1;

if not (lConfigFonte[lIdx] = '2') then

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

//--- Desenha/Escreve Caracteres na 2a Linha do FlexLed ---

if (pPosicao = 2) and

(pLinha = 8) then

begin

lLed := GetLed(8, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 8;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 2;

end;

Inc(lLinha);

if (lLinha > (7 + lNroLinhas)) then

begin

lLinha := 8;

if not (lConfigFonte[lIdx] = '2') then

begin

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

end;

finally

PosicaoCursor := FPosicaoCursor;

end;

end;

end;

//

//--- Escreve Caracter/Letra com Divisao de Coluna no Canvas do FlexLed ---

//

procedure TFlexLed.EscreveTextoColuna(const pNomeFonte: TTipoFonte; const pTexto: String; const pPosicao, pLinha: Integer);

var

lLed : TLed;

lConfigFonte : String;

lIdx : Integer;

lLinha : SmallInt;

lNroLinhas : SmallInt;

lNroColunas : SmallInt;

begin

if NroDeLinhas(pNomeFonte, lNroLinhas) and

AchouConfigFonte(pNomeFonte, pTexto, lConfigFonte) then

begin

NroDeColunas(lConfigFonte, lNroLinhas, lNroColunas);

if (FPosicaoCursor + lNroColunas) > FlexNroColunas then

if Rolagem = tsNenhum then

begin

Beep;

Exit;

end else

Deslocar := Deslocar - lNroColunas;

try

{ ===

ShowMessage('Escreve Texto Com Divisão COLUNA' +#13+

'ASCII: ' +pTexto +#13+

'Posição: ' +IntToStr(pPosicao) +#13+

'Linha: ' +IntToStr(pLinha));

=== }

//--- Desenha/Escreve Caracteres ANTES da Divisao da Coluna do FlexLed ---

if (pPosicao = 3) then

begin

lLed := GetLed(0, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 1;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 1;

end;

Inc(lLinha);

if (lLinha > lNroLinhas) then

begin

lLinha := 1;

if not (lConfigFonte[lIdx] = '2') then

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

//--- Desenha/Escreve Caracteres DEPOIS da Divisao da Coluna do FlexLed ---

if (pPosicao = 0) then

begin

lLed := GetLed(0, FPosicaoCursor);

if Assigned(lLed) then

begin

lLinha := 1;

for lIdx := 1 to length(lConfigFonte) do

begin

lLed := GetLed(lLinha -1, FPosicaoCursor);

if Assigned(lLed) then

begin

lLed.Ligado := (lConfigFonte[lIdx] = '1');

lLed.Posicao := 1;

end;

Inc(lLinha);

if (lLinha > lNroLinhas) then

begin

lLinha := 1;

if not (lConfigFonte[lIdx] = '2') then

FPosicaoCursor := FPosicaoCursor +1;

end;

end;

end;

end;

finally

PosicaoCursor := FPosicaoCursor;

end;

end;

end;

//

//--- Localiza Coordenadas do Led ---

//

function TFlexLed.GetLed(const pLinha: Integer; const pColuna: Integer; const pRect: TRect; const pCriar: Boolean): TLed;

var

lIdx : Integer;

begin

for lIdx := 0 to Length(FMatrixLeds) - 1 do

if assigned(FMatrixLeds[lIdx]) then

if (FMatrixLeds[lIdx].Linha = pLinha) and

(FMatrixLeds[lIdx].Coluna = pColuna) then

Break;

if (lIdx >= (Length(FMatrixLeds) - 1)) then

begin

if pCriar then

begin

lIdx := Length(FMatrixLeds);

SetLength(FMatrixLeds, lIdx + 1);

Inc(FLedID);

if (FDivisaoNaColuna > 0) and (pColuna < FDivisaoNaColuna) then

FMatrixLeds[lIdx] := TLed.Create(FCorDivisao, FLedID)

else

FMatrixLeds[lIdx] := TLed.Create(FCorPadrao, FLedID);

FMatrixLeds[lIdx].FFlexLed := Self;

FMatrixLeds[lIdx].Linha := pLinha;

FMatrixLeds[lIdx].Coluna := pColuna;

FMatrixLeds[lIdx].Coordenadas := pRect;

if not(FLinha2Ativa) then

FMatrixLeds[lIdx].Posicao := 1

else

begin

if ((FMatrixLeds[lIdx].Linha >= 0) and

(FMatrixLeds[lIdx].LedID <= 6)) then

FMatrixLeds[lIdx].Posicao := 1

else

FMatrixLeds[lIdx].Posicao := 2;

end;

end else

begin

Result := nil;

exit;

end;

end;

Result := FMatrixLeds[lIdx];

end;

//

//--- Atribui Configuracao ao Led para Localizar ---

//

function TFlexLed.GetConfig(const pColunaIni: SmallInt): TCfgChar;

var

lIdx : SmallInt;

begin

Result := GetConfig(pColunaIni, lIdx);

end;

//

//--- GetConfig-Led - Localiza Configuracao do Led ---

//

function TFlexLed.GetConfig(const pColunaIni: SmallInt; out pIdx: SmallInt): TCfgChar;

var

lIdx, lIdxL1, lIdxL2 : SmallInt;

begin

Result := nil;

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

//--- 1a Linha do FlexLed ---

if not(FLinha2Ativa) then

begin

for lIdxL1 := 0 to Length(FConfig) -1 do

begin

if assigned(FConfig[lIdxL1]) and

(FConfig[lIdxL1].Posicao = 1) and

(FConfig[lIdxL1].Linha = 0) then

if (pColunaIni >= FConfig[lIdxL1].Inicio) and

(pColunaIni < FConfig[lIdxL1].Fim) then

begin

Result := FConfig[lIdxL1];

pIdx := lIdxL1;

{ ===

ShowMessage('Busca na 1a Linha' +#13+

'Nro: ' +IntToStr(lIdxL1) +#13+

'ASCII: '+IntToStr(FConfig[lIdxL1].ASCII) +#13+

'Inicio: ' +IntToStr(FConfig[lIdxL1].Inicio) +#13+

'Fim: ' +IntToStr(FConfig[lIdxL1].Fim) +#13+

'Posição: '+IntToStr(FConfig[lIdxL1].Posicao) +#13+

'Linha: ' +IntToStr((FConfig[lIdxL1].Linha)));

=== }

end;

end;

end else

begin

//--- 2a Linha do FlexLed ---

for lIdxL2 := 0 to Length(FConfig) -1 do

begin

if assigned(FConfig[lIdxL2]) and

(FConfig[lIdxL2].Posicao = 2) and

(FConfig[lIdxL2].Linha = 8) then

if (pColunaIni >= FConfig[lIdxL2].Inicio) and

(pColunaIni < FConfig[lIdxL2].Fim) then

begin

Result := FConfig[lIdxL2];

pIdx := lIdxL2;

{ ===

ShowMessage('Busca na 2a Linha' +#13+

'Nro: ' +IntToStr(lIdxL2) +#13+

'ASCII: '+IntToStr(FConfig[lIdxL2].ASCII) +#13+

'Inicio: ' +IntToStr(FConfig[lIdxL2].Inicio) +#13+

'Fim: ' +IntToStr(FConfig[lIdxL2].Fim) +#13+

'Posição: '+IntToStr(FConfig[lIdxL2].Posicao) +#13+

'Linha: ' +IntToStr((FConfig[lIdxL2].Linha)));

=== }

end;

end;

end;

end else

begin

//--- SEM - Divisao na Linha ---

for lIdx := 0 to Length(FConfig) -1 do

begin

if assigned(FConfig[lIdx]) then

if (pColunaIni >= FConfig[lIdx].Inicio) and

(pColunaIni < FConfig[lIdx].Fim) then

begin

Result := FConfig[lIdx];

pIdx := lIdx;

end;

end;

end;

end;

//

//--- Localiza Led ---

//

function TFlexLed.GetLed(const pRect: TRect; const pCriar: Boolean): TLed;

var

lIdx : Integer;

begin

lIdx := 0;

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

//--- 1a Linha do FlexLed ---

if not(FLinha2Ativa) then

begin

for lIdx := 0 to Length(FMatrixLeds) -1 do

begin

if assigned(FMatrixLeds[lIdx]) and

(FMatrixLeds[lIdx].Posicao = 1) then

if (pRect.Left >= FMatrixLeds[lIdx].Coordenadas.Left) and

(pRect.Left <= FMatrixLeds[lIdx].Coordenadas.Right) and

(pRect.Top >= FMatrixLeds[lIdx].Coordenadas.Top) and

(pRect.Top <= FMatrixLeds[lIdx].Coordenadas.Bottom) then

Break;

end;

end;

//--- 2a Linha do FlexLed ---

if (FLinha2Ativa) then

begin

for lIdx := 0 to Length(FMatrixLeds) -1 do

begin

if assigned(FMatrixLeds[lIdx]) and

(FMatrixLeds[lIdx].Posicao = 2) then

if (pRect.Left >= FMatrixLeds[lIdx].Coordenadas.Left) and

(pRect.Left <= FMatrixLeds[lIdx].Coordenadas.Right) and

(pRect.Top >= FMatrixLeds[lIdx].Coordenadas.Top) and

(pRect.Top <= FMatrixLeds[lIdx].Coordenadas.Bottom) then

Break;

end;

end;

end else

begin

//--- SEM - Divisao na Linha ---

for lIdx := 0 to Length(FMatrixLeds) -1 do

begin

if assigned(FMatrixLeds[lIdx]) then

if (pRect.Left >= FMatrixLeds[lIdx].Coordenadas.Left) and

(pRect.Left <= FMatrixLeds[lIdx].Coordenadas.Right) and

(pRect.Top >= FMatrixLeds[lIdx].Coordenadas.Top) and

(pRect.Top <= FMatrixLeds[lIdx].Coordenadas.Bottom) then

Break;

end;

end; //--- FIM - Divisao da Linha ---

Result := FMatrixLeds[lIdx];

end;

//

//--- Localiza Retangulo/Imagem do Led ---

//

function TFlexLed.GetRectImage: TRect;

begin

Result.Left := 0;

Result.Top := 0;

Result.Right := FTamanhoLed;

Result.Bottom := FTamanhoLed;

end;

//

//--- Localiza Rotulo do FlexLed ---

//

function TFlexLed.GetRotulo: String;

var

lIdx : SmallInt;

lStr : array of char;

begin

Result := EmptyStr;

SetLength(lStr, 0);

//-VER

for lIdx := 0 to Length(FConfig) -1 do

if assigned(FConfig[lIdx]) then

begin

if Length(lStr) < FConfig[lIdx].Inicio +1 then

SetLength(lStr, FConfig[lIdx].Inicio +1);

lStr[FConfig[lIdx].Inicio] := Chr(FConfig[lIdx].FASCII);

end;

for lIdx := 0 to Length(lStr) -1 do

if not (lStr[lIdx] = #0) then

Result := Result + lStr[lIdx];

end;

//

//--- Localiza Tipo de Fonte ---

//

class function TFlexLed.GetTipoFonte(const pTipoFonte: String): TTipoFonte;

begin

if pTipoFonte = '1' then

Result := tfArtelogic5x5

else

if pTipoFonte = '2' then

Result := tfArtelogic6x5

else

if pTipoFonte = '3' then

Result := tfArtelogic6x6

else

if pTipoFonte = '4' then

Result := tfArtelogic8x4

else

if pTipoFonte = '5' then

Result := tfArtelogic8x5

else

if pTipoFonte = '6' then

Result := tfArtelogic8x6

else

if pTipoFonte = '7' then

Result := tfArtelogic8x7

else

if pTipoFonte = '8' then

Result := tfArtelogic11x6

else

if pTipoFonte = '9' then

Result := tfArtelogic11x8

else

if pTipoFonte = '10' then

Result := tfArtelogic13x7

else

if pTipoFonte = '11' then

Result := tfArtelogic13x8

else

if pTipoFonte = '12' then

Result := tfArtelogic13x9

else

Result := tfNenhum;

end;

//

//--- Funcao Localiza Tipo de Fonte ---

//

class function TFlexLed.GetTipoFonte(const pTipoFonte: TTipoFonte): String;

begin

case pTipoFonte of

tfArtelogic5x5: Result := '1';

tfArtelogic6x5: Result := '2';

tfArtelogic6x6: Result := '3';

tfArtelogic8x4: Result := '4';

tfArtelogic8x5: Result := '5';

tfArtelogic8x6: Result := '6';

tfArtelogic8x7: Result := '7';

tfArtelogic11x6: Result := '8';

tfArtelogic11x8: Result := '9';

tfArtelogic13x7: Result := '10';

tfArtelogic13x8: Result := '11';

tfArtelogic13x9: Result := '12';

else

Result := EmptyStr;

end;

end;

//

//--- GetConfig - Funcao Grava Configuracao do Caracter/Letra na Matrix do FlexLed ---

//

function TFlexLed.GetConfig(const pNomeFonte: TTipoFonte; const pTexto: String; const pColunaIni: SmallInt; const pColunaFim: SmallInt): TCfgChar;

var

lIdx : Integer;

lAchou : Boolean;

begin

lAchou := False;

for lIdx := 0 to Length(FConfig) -1 do

begin

lAchou := Assigned(FConfig[lIdx]) and

(pColunaIni >= FConfig[lIdx].Inicio) and

(pColunaFim <= FConfig[lIdx].Fim) and

( (not(FLinha2Ativa) and (FConfig[lIdx].Linha = 0)) or

( FLinha2Ativa and (FConfig[lIdx].Linha = 8)) );

if lAchou then

Break;

end;

if not lAchou then

begin

lIdx := Length(FConfig);

SetLength(FConfig, lIdx +1);

FConfig[lIdx] := TCfgChar.Create;

end;

FConfig[lIdx].TipoFonte := pNomeFonte;

FConfig[lIdx].ASCII := StrToInt(pTexto);

FConfig[lIdx].Inicio := pColunaIni;

FConfig[lIdx].Fim := pColunaFim;

//

//--- Cursor Posicionado no PAINEL 1 - FRONTAL ---

//--- Define qual Posicao que esta o Caracter no FlexLed ---

//--- Posicao : 0 - Divisao de Linha DESATIVADA ---

//--- 1 - Posicionado na 1a LINHA ---

//--- 2 - Posicionado na 2a LINHA ---

//--- 3 - Divisao na COLUNA com LINHA UNICA ---

//--- Define qual Linha que o Caracter esta no FlexLed ---

//--- Linha : 0 - Posicionado na Linha 0 ---

//--- 8 - Posicionado na Linha 8 ---

//--- Define qual Alinhamento do Caracter no FlexLed ---

//--- Alinhamento : 0 - na ESQUERDA ---

//--- 1 - no CENTRO ---

//--- 2 - na DIREITA ---

//

if not(FDivisaoNaLinha) then

begin

if (FDivisaoNaColuna > 0) then

FConfig[lIdx].Posicao := 3

else

FConfig[lIdx].Posicao := 0;

FConfig[lIdx].Linha := 0;

FConfig[lIdx].Alinhamento := 0;

end else

begin

if (Tag = 1) and

((pNomeFonte = tfArtelogic5x5) or

(pNomeFonte = tfArtelogic6x5) or

(pNomeFonte = tfArtelogic6x6)) then

begin

if not(FLinha2Ativa) then

begin

FConfig[lIdx].Posicao := 1;

FConfig[lIdx].Linha := 0;

FConfig[lIdx].Alinhamento := 0;

end else

begin

FConfig[lIdx].Posicao := 2;

FConfig[lIdx].Linha := 8;

FConfig[lIdx].Alinhamento := 0;

end;

end else

begin

FConfig[lIdx].Posicao := 0;

FConfig[lIdx].Linha := 0;

FConfig[lIdx].Alinhamento := 0;

end;

end;

Result := FConfig[lIdx];

end;

//

//--- Localiza Posicao do Led no FlexLed ---

//

function TFlexLed.GetLed(const pLinha, pColuna: Integer; const pCriar: Boolean): TLed;

var

lRect : TRect;

begin

lRect.Left := 0;

lRect.Top := 0;

lRect.Right := 0;

lRect.Bottom := 0;

Result := GetLed(pLinha, pColuna, lRect, pCriar);

end;

//

//--- Verfica Qual Tecla Que Foi Pressionada ---

//

procedure TFlexLed.OnPressionouTecla(Sender: TObject; var Key: Char);

begin

if (FModo = ModoTexto) then

//--- and ((Key in ['0'..'9']) or (Key in ['A'..'Z']) or (Key in ['a'..'z'])) then

EscreveTexto(FFonteUtilizada, IntToStr(Ord(Key)));

end;

//

//--- Verifica Que Tecla de Apoio Foi Pressionada ---

//--- Setas: Esquera, Direita, Cima, Baixo e ---

//--- End, Home, Insert, Delete, BackSpace, Enter ---

//

procedure TFlexLed.OnPressionouTeclaApoio(Sender: TObject; var Key: Word; Shift: TShiftState);

var

lConfig : TCfgChar;

begin

if (FModo = ModoTexto) then

begin

case Key of

//--- Tecla - SETA a ESQUERDA ---

VK_LEFT :

begin

RetirarFoco;

if (PosicaoCursor = 0) and

(Deslocar < 0) then

Deslocar := 0;

if (PosicaoCursor = 0) then

begin

Beep;

Exit;

end;

PosicaoCursor := PosicaoCursor -1;

lConfig := GetConfig(PosicaoCursor);

if Assigned(lConfig) then

PosicaoCursor := lConfig.Inicio;

if not (Rolagem = tsNenhum) and

(PosicaoCursor >= FFlexNroColunas) then

if Assigned(lConfig) then

Deslocar := Deslocar + (lConfig.Fim - lConfig.Inicio)

else

Deslocar := Deslocar +1;

//--- COM Divisao na Linha ---

if Assigned(lConfig) and

(Tag = 1) and

(FDivisaoNaLinha) and

((lConfig.TipoFonte = tfArtelogic5x5) or

(lConfig.TipoFonte = tfArtelogic6x5) or

(lConfig.TipoFonte = tfArtelogic6x6)) and

(FLinha2Ativa) then

begin

// Refresh;

PosicaoCursor := PosicaoCursor -1;

end;

end;

//--- Tecla - SETA a DIREITA ---

VK_RIGHT :

begin

RetirarFoco;

if (Rolagem = tsNenhum) and

(PosicaoCursor >= FFlexNroColunas) then

begin

Beep;

Exit;

end;

PosicaoCursor := PosicaoCursor +1;

lConfig := GetConfig(PosicaoCursor);

if Assigned(lConfig) then

PosicaoCursor := lConfig.Fim;

if not (Rolagem = tsNenhum) and

(PosicaoCursor >= FFlexNroColunas) then

if Assigned(lConfig) then

Deslocar := Deslocar - (lConfig.Fim - lConfig.Inicio)

else

Deslocar := Deslocar -1;

//--- COM Divisao na Linha ---

if Assigned(lConfig) and

(Tag = 1) and

(FDivisaoNaLinha) and

((lConfig.TipoFonte = tfArtelogic5x5) or

(lConfig.TipoFonte = tfArtelogic6x5) or

(lConfig.TipoFonte = tfArtelogic6x6)) and

(FLinha2Ativa) then

begin

// Refresh;

PosicaoCursor := PosicaoCursor - 1;

end;

end;

//--- Tecla - END ---

VK_END :

begin

RetirarFoco;

PosicaoCursor := MaxColuna;// FFlexNroColunas;

end;

//--- Tecla - HOME ---

VK_HOME :

begin

RetirarFoco;

PosicaoCursor := 0;

end;

//--- Tecla - BACKSPACE ---

VK_BACK :

begin

RetirarFoco;

if (PosicaoCursor = 0) then

begin

Beep;

Exit;

end;

PosicaoCursor := PosicaoCursor -1;

lConfig := GetConfig(PosicaoCursor);

if Assigned(lConfig) then

begin

PosicaoCursor := lConfig.Inicio;

ApagaAtePosicao(lConfig, lConfig.Fim);

end;

ApagaPosicao(lConfig);

if (PosicaoCursor >= FFlexNroColunas) and

Assigned(lConfig) then

Deslocar := Deslocar + (lConfig.Fim - lConfig.Inicio);

end;

//--- Tecla - DELETE ---

VK_DELETE :

begin

RetirarFoco;

lConfig := GetConfig(PosicaoCursor);

if Assigned(lConfig) then

begin

PosicaoCursor := lConfig.Inicio;

ApagaAtePosicao(lConfig, lConfig.Fim);

ApagaPosicao(lConfig);

if (PosicaoCursor >= FFlexNroColunas) and

Assigned(lConfig) then

Deslocar := Deslocar + (lConfig.Fim - lConfig.Inicio);

end;

end;

//--- Tecla - INSERT ---

VK_INSERT :

begin

FInserir := not FInserir;

end;

//--- Tecla - ENTER / RETURN ---

VK_RETURN :

begin

if (Tag = 1) and

(FDivisaoNaLinha) and

not(FLinha2Ativa) then

begin

RetirarFoco;

if (FDivisaoNaColuna > 0) then

PosicaoCursor := FDivisaoNaColuna

else

PosicaoCursor := 0;

FLinha2Ativa := True;

end;

end;

//--- Tecla - SETA para CIMA ---

VK_UP :

begin

if (Tag = 1) and

(FLinha2Ativa) and

(FDivisaoNaLinha) then

begin

RetirarFoco;

FLinha2Ativa := False;

PosicaoCursor := PosicaoCursorCfg;

Refresh;

end;

end;

//--- Tecla - SETA para BAIXO ---

VK_DOWN :

begin

if (Tag = 1) and

not(FLinha2Ativa) and

(FDivisaoNaLinha) then

begin

RetirarFoco;

FLinha2Ativa := True;

PosicaoCursor := PosicaoCursorCfg;

Refresh;

end;

end;

end; //- FIM - Loop Case ---

end;

end;

//

//--- Escreve Caracter/Letra So na 2a Linha no FlexLed ---

//

procedure TFlexLed.TextoNa2aLinha(const pNomeFonte: TTipoFonte; const pTexto: String);

var

lLed : TLed;

lConfigFonte : String;

lIdx : Integer;

lLinha : SmallInt;

lNroLinhas : SmallInt;

lNroColunas : SmallInt;

lLinhasFonte : SmallInt;

begin

if NroDeLinhas(pNomeFonte, lNroLinhas) and

AchouConfigFonte(pNomeFonte, pTexto, lConfigFonte) then

begin

NroDeColunas(lConfigFonte, lNroLinhas, lNroColunas);

if (PosicaoCursor + lNroColunas) > FlexNroColunas then

begin

if Rolagem = tsNenhum then

begin

Beep;

Exit;

end else

Deslocar := Deslocar - lNroColunas;

end;

//--- Desenha/Escreve Caracteres na 2a Linha do FlexLed ---

if (FLinha2Ativa) then

begin

FTimer.Enabled := False;

lLinhasFonte := 0;

case pNomeFonte of

tfArtelogic5x5: lLinhasFonte := 5;

tfArtelogic6x5: lLinhasFonte := 6;

tfArtelogic6x6: lLinhasFonte := 6;

end;

lLinha := 8;

for lIdx := 1 to lLinhasFonte do

begin

lLed := GetLed(lLinha -1, PosicaoCursor);

if Assigned(lLed) then

lLed.Ligado := (lConfigFonte[lIdx] = '1');

Inc(lLinha);

end;

end;

PosicaoCursor := PosicaoCursor-1;

FTimer.Enabled := True;

end;

end;

//

//--- Inicializa Gerador de Desenho (Paint) ---

//

procedure TFlexLed.Paint;

begin

inherited;

ColocaGrade;

end;

//

//--- Pinta Pixel do Led no FlexLed ---

//

procedure TFlexLed.PintaImagem(const pCoordenadas: TRect; const pCorLed: TColor; const pLigado: Boolean);

var

X : Integer;

Y : Integer;

procedure PintaPixel(const pColor: TColor);

begin

FImage.Canvas.Pixels[X, Y] := pColor;

end;

begin

for X := 0 to FTamanhoLed do

for Y := 0 to FTamanhoLed do

if (X = 0) or (Y = 0) or (X = FTamanhoLed) or (Y = FTamanhoLed) then

PintaPixel(CorFundo)

else

if (X = 1) or (Y = 1) or (X = 6) or (Y = 6) then

PintaPixel(CorFundo)

else

if (X = 2) and (Y = 2) then

PintaPixel(CorFundo)

else

if (X = 2) and (Y = 5) then

PintaPixel(CorFundo)

else

if (X = 5) and (Y = 2) then

PintaPixel(CorFundo)

else

if (X = 5) and (Y = 5) then

PintaPixel(CorFundo)

else

if not pLigado then

PintaPixel(CorFundo)

else

PintaPixel(pCorLed);

end;

//

//--- Inicializa Pisca Cursor ---

//

procedure TFlexLed.PiscaCursor(Sender: TObject);

begin

FCursorLigado := not FCursorLigado;

if (FModo = ModoTexto) and FCursorLigado then

DesenhaCursorModoTexto

else

RetirarFoco;

end;

//

//--- Busca Posicao do Cursor ---

//

function TFlexLed.PosicaoCursorCfg: Integer;

var

lIdx, lIdxL1, lIdxL2 : SmallInt;

begin

Result := 0;

//--- COM - Divisao na Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((FonteUtilizada = tfArtelogic5x5) or

(FonteUtilizada = tfArtelogic6x5) or

(FonteUtilizada = tfArtelogic6x6)) then

begin

//--- 1a Linha do FlexLed ---

if not(FLinha2Ativa) then

begin

for lIdxL1 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxL1]) and

(Result < FConfig[lIdxL1].Fim) and

(FConfig[lIdxL1].Posicao = 1) and

(FConfig[lIdxL1].Linha = 0) then

Result := FConfig[lIdxL1].Fim;

end;

end;

//--- 2a Linha do FlexLed ---

if (FLinha2Ativa) then

begin

for lIdxL2 := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdxL2]) and

(Result < FConfig[lIdxL2].Fim) and

(FConfig[lIdxL2].Posicao = 2) and

(FConfig[lIdxL2].Linha = 8) then

Result := FConfig[lIdxL2].Fim;

end;

end;

end else

begin

//--- SEM - Divisao de Linha ---

for lIdx := 0 to Length(FConfig) -1 do

begin

if Assigned(FConfig[lIdx]) and (Result < FConfig[lIdx].Fim) then

Result := FConfig[lIdx].Fim;

end;

end;

end;

//

//--- Posicao do Eixo X do Mouse ---

//

function TFlexLed.PosicaoMouseX: Integer;

begin

Result := FPosicaoMouseX;

end;

//

//--- Posicao do Eixo Y do Mouse ---

//

function TFlexLed.PosicaoMouseY: Integer;

begin

Result := FPosicaoMouseY;

end;

//

//--- Quando FlexLed Recebe Foco ---

//

procedure TFlexLed.RecebeFoco;

begin

if Enabled and Assigned(Edit1) and (Modo = ModoTexto) then

Edit1.SetFocus;

end;

//

//--- FlexLed Recebe Foco ---

//

function TFlexLed.RecebendoFoco: Boolean;

begin

Result := Assigned(Edit1) and Edit1.Enabled and Edit1.Focused;

end;

//

//--- Registra Posicao do Mouse ---

//

procedure TFlexLed.RegistraPosicaoMouse(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

FPosicaoMouseX := X;

FPosicaoMouseY := Y;

if FModo = ModoSelecao then

begin

//???

end;

if Assigned(FOnMostraPosicaoMouse) then

FOnMostraPosicaoMouse(Self);

if FMouseLigado then

LigarLedPainel(Sender);

end;

//

//--- Funcao Retorna Matrix de Leds ---

//

class function TFlexLed.RetornaMatrix(const pMatrix: String): String;

var

lIdx : Integer;

lPos : SmallInt;

lTmp : String;

lLin : SmallInt;

lCol : SmallInt;

lColor : TColor;

lLigado : Boolean;

lRotulo : Boolean;

lTipoFonte : TTipoFonte;

procedure Inicializa;

begin

lTipoFonte := tfNenhum;

lPos := 1;

lTmp := EmptyStr;

lLin := 0;

lCol := 0;

lColor := 0;

lLigado := False;

end;

procedure ApuraResultado;

begin

if (lPos = 1) then

begin

lTmp := IntToStr(lLin);

lLin := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end

else

if (lPos = 2) then

begin

lTmp := IntToStr(lCol);

lCol := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end

else

if (lPos = 3) then

begin

lTmp := IntToStr(lColor);

lColor := StrToInt(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

end

else

if not lRotulo and (lPos = 4) then

lLigado := (pMatrix[lIdx] = 'T')

else

if (lPos = 4) then

begin

lTmp := GetTipoFonte(lTipoFonte);

lTipoFonte := GetTipoFonte(Concat(lTmp, pMatrix[lIdx]));

lTmp := EmptyStr;

Inicializa;

end;

end;

begin

Result := EmptyStr;

Inicializa;

lRotulo := False;

if Length(pMatrix) > 0 then

begin

for lIdx := 1 to Length(pMatrix) do

begin

if (pMatrix[lIdx] = ')') then

lRotulo := not lRotulo

else

if (pMatrix[lIdx] = '(') then

begin

if lLigado then

Result := Concat(Result, '1')

else

Result := Concat(Result, '0');

lRotulo := True;

Inicializa;

end else

if not lRotulo and (pMatrix[lIdx] = '|') then

begin

if lLigado then

Result := Concat(Result, '1')

else

Result := Concat(Result, '0');

Inicializa;

end else

if (pMatrix[lIdx] = '|') then

else

if pMatrix[lIdx] = '-' then

Inc(lPos)

else

ApuraResultado;

end;

end;

end;

//

//--- Atribui/Inicializa Alinhamento ---

//

procedure TFlexLed.SetAlinhamento(const Value: TAlignment);

begin

FAlinhamento := Value;

AlinhaTexto(FAlinhamento);

end;

//

//--- Atribui/Inicializa Cor da Divisao ---

//

procedure TFlexLed.SetCorDivisao(const Value: TColor);

begin

FCorDivisao := Value;

ColocaGrade;

end;

//

//--- Atribui/Inicializa Cor de Fundo ---

//

procedure TFlexLed.SetCorFundo(const Value: TColor);

begin

FCorFundo := Value;

ColocaGrade;

end;

//

//--- Coloca a Cor Padro no FlexLed ---

//

procedure TFlexLed.SetCorPadrao(const Value: TColor);

var

lIdx : Integer;

begin

FCorPadrao := Value;

for lIdx := 0 to Length(FMatrixLeds) -1 do

if (FDivisaoNaColuna > 0) and

(FMatrixLeds[lIdx].Coluna < FDivisaoNaColuna) then

FMatrixLeds[lIdx].Color := FCorDivisao

else

FMatrixLeds[lIdx].Color := FCorPadrao;

Quadricular(FFlexNroLinhas, FFlexNroColunas, FTamanhoLed);

end;

//

//--- Atribui/Inicializa Delocar ---

//

procedure TFlexLed.SetDeslocar(const Value: Integer);

begin

FDeslocar := Value;

ColocaGrade;

end;

//

//--- Atribui/Inicializa Divisao na Coluna ---

//

procedure TFlexLed.SetDivisaoNaColuna(const Value: Integer);

begin

FDivisaoNaColuna := Value;

SetCorPadrao(FCorPadrao);

DesenhaDivisaoColuna;

end;

//

//--- Atribui/Inicializa Divisao na Linha ---

//

procedure TFlexLed.SetDivisaoNaLinha(const Value: Boolean);

begin

FDivisaoNaLinha := Value;

SetCorPadrao(FCorPadrao);

DesenhaDivisaoLinha;

end;

//

//--- Atribui/Inicializa Numero de Colunas do FlexLed ---

//

procedure TFlexLed.SetFlexNroColunas(const Value: Integer);

begin

FFlexNroColunas := Value;

Width := FFlexNroColunas * 5;

end;

//

//--- Atribui/Inicializa Numero de Linha do FlexLed ---

//

procedure TFlexLed.SetFlexNroLinhas(const Value: Integer);

begin

FFlexNroLinhas := Value;

Height := FFlexNroLinhas * 5;

end;

//

//--- Atribui/Inicializa Fonte Utilizada ---

//

procedure TFlexLed.SetFonteUtilizada(const Value: TTipoFonte);

begin

FFonteUtilizada := Value;

end;

//

//--- Iverte/Espelho os Leds ---

//

procedure TFlexLed.InverteLeds;

var

lIdx : Integer;

lModo : TModo;

begin

lModo := Modo;

Modo := ModoGrafico;

try

for lIdx := 0 to Length(FMatrixLeds) -1 do

FMatrixLeds[lIdx].Ligado := not FMatrixLeds[lIdx].Ligado;

finally

Modo := lModo;

end;

end;

//

//--- Atribui/Inicializa Modo do FlexLed ---

//

procedure TFlexLed.SetModo(const Value: TModo);

begin

FModo := Value;

if Assigned(Edit1) then

Edit1.Enabled := (FModo = ModoTexto);

if Assigned(FTimer) then

FTimer.Enabled := Assigned(Edit1) and Edit1.Enabled;

RecebeFoco;

end;

//

//--- Atribui/Inicializa Antes de Desenhar ---

//

procedure TFlexLed.SetOnAntesDesenhar(const Value: TNotifyEvent);

begin

FOnAntesDesenhar := Value;

end;

//

//--- Atribui/Inicializa Apos de Desenhar ---

//

procedure TFlexLed.SetOnAposDesenhar(const Value: TNotifyEvent);

begin

FOnAposDesenhar := Value;

end;

//

//--- Atribui/Inicializa Apos Definir Posicao do Cursor ---

//

procedure TFlexLed.SetOnAposDefinirPosicaoCursor(const Value: TNotifyEvent);

begin

FOnAposDefinirPosicaoCursor := Value;

end;

//

//--- Atribui/Inicializa Mostra Posicao do Mouse ---

//

procedure TFlexLed.SetOnMostraPosicaoMouse(const Value: TNotifyEvent);

begin

FOnMostraPosicaoMouse := Value;

end;

//

//--- Atribui/Inicializa Recebe Foco ---

//

procedure TFlexLed.SetOnRecebeFoco(const Value: TNotifyEvent);

begin

FOnRecebeFoco := Value;

end;

//

//--- Atribui/Inicializa Quando Saiu da Area do Mouse ---

//

procedure TFlexLed.SetOnSaiuAreaMouse(const Value: TNotifyEvent);

begin

FOnSaiuAreaMouse := Value;

end;

//

//--- Atribui/Inicializa Posicao do Cursor ---

//

procedure TFlexLed.SetPosicaoCursor(const Value: Integer);

begin

if FNaoMostraCursor then

RetirarFoco;

FPosicaoCursor := Value;

if FNaoMostraCursor and Assigned(OnAposDefinirPosicaoCursor) then

OnAposDefinirPosicaoCursor(Self);

end;

//

//--- Desenha Cursor Nas Linhas do FlexLed ---

//

procedure TFlexLed.DesenhaCursorModoTexto;

var

lLedInicial : TLed;

lLedFinal : TLed;

lLeft : Integer;

lNroLinhas : Smallint;

lPosicaoCursor : SmallInt;

begin

if Assigned(Parent) then

begin

NroDeLinhas(FFonteUtilizada, lNroLinhas);

if lNroLinhas > FFlexNroLinhas then

lNroLinhas := FFlexNroLinhas;

if (FDivisaoNaColuna > 0) and

(FLinha2Ativa) then

lPosicaoCursor := FDivisaoNaColuna

else

lPosicaoCursor := FPosicaoCursor;

lLedInicial := GetLed(0, lPosicaoCursor);

lLedFinal := GetLed(lNroLinhas -1, lPosicaoCursor);

if Assigned(lLedInicial) and Assigned(lLedFinal) then

begin

if FInserir then

Canvas.Pen.Color := clLaranja

else

Canvas.Pen.Color := clInserindo;

if lLedInicial.Coordenadas.Left > 0 then

lLeft := lLedInicial.Coordenadas.Left

else

lLeft := 1;

if not(FLinha2Ativa) then

begin

//--- Mostra Cursor na 1a Linha do FlexLed ---

Canvas.MoveTo(lLeft, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft, lLedFinal.Coordenadas.Bottom);

Canvas.MoveTo(lLeft+1, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft+1, lLedFinal.Coordenadas.Bottom);

end else

begin

//--- Posiciona Cursor na 2a Linha ---

lLedInicial.FCoordenadas.Top := 8 + Trunc(FFlexNroLinhas * FTamanhoLed / 2);

lLedFinal.FCoordenadas.Bottom := lLedInicial.FCoordenadas.Top +

lLedFinal.FCoordenadas.Bottom;

//--- Mostra Cursor na 2a Linha do FlexLed ---

Canvas.MoveTo(lLeft, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft, lLedFinal.Coordenadas.Bottom);

Canvas.MoveTo(lLeft+1, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft+1, lLedFinal.Coordenadas.Bottom);

end;

end;

end;

end;

//

//--- Desenha a Divisao da Coluna no FlexLed ---

//

procedure TFlexLed.DesenhaDivisaoColuna;

var

lLedInicial : TLed;

lLedFinal : TLed;

lLeft : Integer;

lNroLinhas : Smallint;

lPosicaoCursor : SmallInt;

begin

if Assigned(Parent) and (FDivisaoNaColuna > 0) then

begin

NroDeLinhas(FFonteUtilizada, lNroLinhas);

if lNroLinhas > FFlexNroLinhas then

lNroLinhas := FFlexNroLinhas;

lPosicaoCursor := FDivisaoNaColuna;

lLedInicial := GetLed(0, lPosicaoCursor);

lLedFinal := GetLed(lNroLinhas -1, lPosicaoCursor);

if Assigned(lLedInicial) and Assigned(lLedFinal) then

begin

Canvas.Pen.Color := clDivisaoColuna;

if lLedInicial.Coordenadas.Left > 0 then

lLeft := lLedInicial.Coordenadas.Left

else

lLeft := 1;

Canvas.MoveTo(lLeft, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft, lLedFinal.Coordenadas.Bottom);

Canvas.MoveTo(lLeft+1, lLedInicial.Coordenadas.Top);

Canvas.LineTo(lLeft+1, lLedFinal.Coordenadas.Bottom);

end;

end;

end;

//

//--- Desenha a Divisao da Linha no FlexLed ---

//

procedure TFlexLed.DesenhaDivisaoLinha;

var

lLedInicial : TLed;

lLedFinal : TLed;

lLeft : Integer;

lNroLinhas : Smallint;

lPosicaoCursor : SmallInt;

vTamanhoLinha : Integer;

vCentroLinha : Integer;

begin

lLeft := 0;

if Assigned(Parent) and

(FDivisaoNaLinha) then

begin

if (FDivisaoNaColuna > 0) then

begin

NroDeLinhas(FFonteUtilizada, lNroLinhas);

if lNroLinhas > FFlexNroLinhas then

lNroLinhas := FFlexNroLinhas;

lPosicaoCursor := FDivisaoNaColuna;

lLedInicial := GetLed(0, lPosicaoCursor);

lLedFinal := GetLed(lNroLinhas -1, lPosicaoCursor);

if Assigned(lLedInicial) and Assigned(lLedFinal) then

if lLedInicial.Coordenadas.Left > 0 then

lLeft := lLedInicial.Coordenadas.Left;

end;

vCentroLinha := Trunc(FFlexNroLinhas * FTamanhoLed / 2);

vTamanhoLinha := Trunc(FFlexNroColunas * FTamanhoLed);

EspessuraLapis := 2;

Canvas.Pen.Color := clDivisaoColuna;

Canvas.MoveTo(lLeft, vCentroLinha);

Canvas.LineTo(vTamanhoLinha, vCentroLinha);

end;

end;

//

//--- Atribui/Inicializa Rolagem ---

//

procedure TFlexLed.SetRolagem(const Value: TSentidoRolagem);

begin

FRolagem := Value;

end;

//

//--- Atribui/Inicializa Tamanho do Led ---

//

procedure TFlexLed.SetTamanhoLed(const Value: Integer);

begin

FTamanhoLed := Value;

ColocaGrade;

end;

//

//--- Retorna Total de Leds ---

//

function TFlexLed.TotalLeds: Integer;

begin

Result := Length(FMatrixLeds);

end;

//

//--- Funcao Descarrega Matrix de Leds ---

//

function TFlexLed.DescarregaMatrix(const pNroLinhas, pNroColunas: Integer): String;

var

lCol : SmallInt;

lLin : SmallInt;

lLed : TLed;

lIdx : SmallInt;

begin

Result := EmptyStr;

for lCol := 0 to pNroColunas -1 do

for lLin := 0 to pNroLinhas -1 do

begin

lLed := GetLed(lLin, lCol);

if not (Trim(Result) = EmptyStr) then

Result := Result + '|';

if lLed.Ligado then

Result := Result + IntToStr(lLed.Linha) + '-' + IntToStr(lLed.Coluna) + '-' + IntToStr(lLed.Color) + '-T'

else

Result := Result + IntToStr(lLed.Linha) + '-' + IntToStr(lLed.Coluna) + '-' + IntToStr(lLed.Color) + '-F';

end;

//-VER

if (Length(FConfig) > 0) and not (Trim(Result) = EmptyStr) then

Result := Result + '(';

for lIdx := 0 to Length(FConfig) -1 do

if assigned(FConfig[lIdx]) then

begin

if not (Trim(Result) = EmptyStr) and not (lIdx = 0) then

Result := Result + '|';

Result := Result + IntToStr(FConfig[lIdx].Inicio) + '-' + IntToStr(FConfig[lIdx].Fim) + '-' + IntToStr(FConfig[lIdx].FASCII) + '-' + GetTipoFonte(FConfig[lIdx].TipoFonte);

end;

if (Length(FConfig) > 0) then

Result := Result + ')';

end;

//

//--- Funcao Descarrega Matrix de Leds ---

//

class function TFlexLed.DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; const pTodoVazio: Boolean): String;

var

lCol : SmallInt;

lLin : SmallInt;

begin

Result := EmptyStr;

for lCol := 0 to pNroColunas -1 do

for lLin := 0 to pNroLinhas -1 do

begin

if not (Trim(Result) = EmptyStr) then

Result := Result + '|';

Result := Result + IntToStr(lLin) + '-' + IntToStr(lCol) + '-' + IntToStr(clYellow) + '-F';

end;

end;

//

//--- Atribui/Inicializa Definicao de Cores ---

//

procedure TFlexLed.DefineCores(const pCorDivisao, pCorPadrao, pCorFundo: TColor);

begin

FCorDivisao := pCorDivisao;

FCorPadrao := pCorPadrao;

FCorFundo := pCorFundo;

end;

//

//--- Atribui/Inicializa Definicao do Modo ---

//

procedure TFlexLed.DefineModo(const pModo: TModo);

begin

FModo := pModo;

if Assigned(Edit1) then

Edit1.Enabled := (FModo = ModoTexto);

end;

//

//--- Funcao Descarrega Matrix de Leds ---

//

function TFlexLed.DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; out pMemoryStream: TMemoryStream): String;

var

lIdx : Integer;

lByte : Byte;

begin

Result := DescarregaMatrix(pNroLinhas, pNroColunas);

if not (Result = EmptyStr) then

begin

pMemoryStream := TMemoryStream.Create;

pMemoryStream.Position := 0;

for lIdx := 1 to length(Result) do

begin

lByte := $ + Ord(Result[lIdx]);

pMemoryStream.Write(lByte, 1);

end;

end

else

pMemoryStream := nil;

end;

//

//--- Desenha Led na Posicao ---

//

procedure TFlexLed.DesenhaPosicao(const pCfgChar: TCfgChar);

begin

if Assigned(pCfgChar) then

begin

try

//--- COM - Divisao de Linha ---

if (FDivisaoNaLinha) and

(Tag = 1) and

((pCfgChar.FTipoFonte = tfArtelogic5x5) or

(pCfgChar.FTipoFonte = tfArtelogic6x5) or

(pCfgChar.FTipoFonte = tfArtelogic6x6)) then

begin

PosicaoCursor := pCfgChar.Inicio;

EscreveTextoDuplo(pCfgChar.FTipoFonte, IntToStr(pCfgChar.FASCII), pCfgChar.Posicao, pCfgChar.FLinha);

end else

begin

//--- COM - Divisao de Coluna ---

if (FDivisaoNaColuna > 0) then

begin

PosicaoCursor := pCfgChar.Inicio;

EscreveTextoColuna(pCfgChar.FTipoFonte, IntToStr(pCfgChar.FASCII), pCfgChar.Posicao, pCfgChar.FLinha);

end else

begin

//--- SEM - Divisao de Coluna ---

PosicaoCursor := pCfgChar.Inicio;

EscreveTexto(pCfgChar.FTipoFonte, IntToStr(pCfgChar.FASCII));

end;

end;

finally

PosicaoCursor := PosicaoCursorCfg;

end;

end;

end;

//

//--- Retira Foco do FlexLed ---

//

procedure TFlexLed.RetirarFoco;

var

lIdx : SmallInt;

lNroLinhas : SmallInt;

lLed : TLed;

begin

if Assigned(Parent) then

begin

NroDeLinhas(FFonteUtilizada, lNroLinhas);

for lIdx := 0 to lNroLinhas -1 do

begin

lLed := GetLed(lIdx, FPosicaoCursor, False);

if Assigned(lLed) then

lLed.DesenhaLed;

end;

DesenhaDivisaoColuna;

DesenhaDivisaoLinha;

end;

end;

//

//--- Atribui/Inicializa Apaga Posicao ---

//

procedure TFlexLed.ApagaPosicao(const pCfgChar: TCfgChar);

begin

ApagaPosicao(pCfgChar, True);

end;

//

//--- Descarrega Matrix de Leds ---

//

class procedure TFlexLed.CarregaMatrix(const pMatrix: TMemoryStream; out pTxtMatrix: String);

var

lMeuByte : byte;

lNaoAcabou : Boolean;

begin

pTxtMatrix := EmptyStr;

if Assigned(pMatrix) then

begin

pMatrix.Position := 0;

lNaoAcabou := pMatrix.Size > 0;

while lNaoAcabou do

begin

pMatrix.Read(lMeuByte, SizeOf(lMeuByte));

pTxtMatrix := pTxtMatrix + Chr(lMeuByte);

lNaoAcabou := (pMatrix.Position < pMatrix.Size);

end;

end;

end;

//

//--- Atribui/Inicializa Cor da Divisao 1 ---

//

procedure TFlexLed.SetCorDivisao1(const Value: TColor);

begin

FCorDivisao := Value;

end;

//

//--- Atribui/Inicializa Cor de Fundo 1 ---

//

procedure TFlexLed.SetCorFundo1(const Value: TColor);

begin

FCorFundo := Value;

end;

//

//--- Atribui/Inicializa Cor padrão 1 ---

//

procedure TFlexLed.SetCorPadrao1(const Value: TColor);

begin

FCorPadrao := Value;

end;

//

//--- Atribui/Inicializa Divisao na Coluna 1 ---

//

procedure TFlexLed.SetDivisaoNaColuna1(const Value: Integer);

begin

FDivisaoNaColuna := Value;

end;

//

//--- Atribui/Inicializa Divisao na Linha 1 ---

//

procedure TFlexLed.SetDivisaoNaLinha1(const Value: Boolean);

begin

FDivisaoNaLinha := Value;

end;

//

//--- Atribui/Inicializa Espessura do Lapis ---

//

procedure TFlexLed.SetEspessuraLapis(const Value: Integer);

begin

FEspessuraLapis := Value;

end;

//

//--- Atribui/Inicializa Numero de Colunas 1 ---

//

procedure TFlexLed.SetFlexNroColunas1(const Value: Integer);

begin

FFlexNroColunas := Value;

end;

//

//--- Atribui/Inicializa Numero de Linhas 1 ---

//

procedure TFlexLed.SetFlexNroLinhas1(const Value: Integer);

begin

FFlexNroLinhas := Value;

end;

//

//--- Funcao Descarrga Matrix de Leds ---

//

class function TFlexLed.DescarregaMatrix(const pNroLinhas, pNroColunas: Integer; out pMemoryStream: TMemoryStream; const pTodoVazio: Boolean): String;

var

lIdx : Integer;

lByte : Byte;

begin

Result := DescarregaMatrix(pNroLinhas, pNroColunas, True);

if not (Result = EmptyStr) then

begin

pMemoryStream := TMemoryStream.Create;

pMemoryStream.Position := 0;

for lIdx := 1 to length(Result) do

begin

lByte := $ + Ord(Result[lIdx]);

pMemoryStream.Write(lByte, 1);

end;

end else

pMemoryStream := nil;

end;

{ TCfgChar }

//

//--- Inicializa/Cria Caracteres ---

//

constructor TCfgChar.Create;

begin

FNovo := True;

end;

//

//--- Destroi Caracteres da Memoria ---

//

destructor TCfgChar.Destroy;

begin

inherited;

end;

//

//--- Atribui/Inicializa ASCII ao Caracter ---

//

procedure TCfgChar.SetASCII(const Value: Integer);

begin

FASCII := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa Fim do Caracter ---

//

procedure TCfgChar.SetFim(const Value: Integer);

begin

FFim := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa Inicio do Caracter ---

//

procedure TCfgChar.SetInicio(const Value: Integer);

begin

FInicio := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa o Novo Caracter ---

//

procedure TCfgChar.SetNovo(const Value: Boolean);

begin

FNovo := Value;

end;

//

//--- Atribui/Inicializa Posicao do Caracter no FlexLed ---

//

//--- Define qual Posicao que esta o Caracter na Tela, ---

//--- sendo o Cursor Posicionado no PAINEL 1 - FRONTAL : ---

//--- Posicao : 0 - Divisao de Linha DESATIVADA ---

//--- 1 - Caracter Posicionado na 1a LINHA ---

//--- 2 - Caracter Posicionado na 2a LINHA ---

//

procedure TCfgChar.SetPosicao(const Value: Integer);

begin

FPosicao := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa Linha do Caracter no FlexLed ---

//

//--- Define qual Linha esta Posiconado o Caracter na Tela ---

//--- sendo o Cursor Posicionado no PAINEL 1 - FRONTAL : ---

//--- Linha : 0 - Caracter na Parte SUPERIOR do Painel ---

//--- : 8 - Caracter na Parte INFERIOR do Painel ---

//

procedure TCfgChar.SetLinha(const Value: Integer);

begin

FLinha := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa Alinhamento Caracter no FlexLed ---

//

//--- Define qual Alinhamento do Caracter na Tela, ---

//--- sendo o Cursor Posicionado no PAINEL 1 - FRONTAL : ---

//--- Alinhamento : 0 - na ESQUERDA ---

//--- 1 - no CENTRO ---

//--- 2 - na DIREITA ---

//

procedure TCfgChar.SetAlinhamento(const Value: Integer);

begin

FAlinhamento := Value;

FNovo := False;

end;

//

//--- Atribui/Inicializa Tipo da Fonte ---

//

procedure TCfgChar.SetTipoFonte(const Value: TTipoFonte);

begin

FTipoFonte := Value;

FNovo := False;

end;

end.

//--- FIM - FlexLed ---

Segue abaixo um Lick do Exemplo do Componente:

http://yfrog.com/9gflexledp

OU

http://a.imageshack.us/img340/975

Agradecido por toda Ajuda e fico no aguardo.

Julio C S

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Olá, Amigo Jhonas Grato pela Atenção desde já.

Estou enviando pra você o programa que estou usando e modificando atualmente.

Você deve criar uma pasta chamada Editor na raiz do Disco onde ira instalar o mesmo.

Salvei e compactei o programa em um destes links:

Nome: Editor.zip

http://www.mediafire.com/?hov4g4g1sm68bfs

Editor.zip

ou

http://www.mediafire.com/file/hov4g4g1sm68bfs/Editor.zip

http://www.mediafire.com/file/hov4g4g1sm68...ditor.zip"" target="_blank">Editor2.zip</a>

Aquele problema que informei aqui sobre o cursor consegui solucionar, mas esta ocorrendo outro:

1) Quando salvo o destino no HD do micro ele gera dois arquivos em no Exemplo: Frontal, Latera, Traseiro e Auxiliar tudo beleza salva OK.

Dentro da pasta Destinos possui um já pronto : F_L_T_A_3Rotativos.fz1

2) Entre no programa novamente e abro um projeto já existente, carrega na pasta destinos na parte abaixo do programa.

Mas quando seleciono os mesmos dando dois cliques em cima ele carrega o primeiro rotulo em todos os paineis, até aqui OK.

3) Mas quando clico no Botão Próximo ele somente carrega o Último painel ou seja o AUXILIAR.

AQUI QUE ESTÁ O PROBLEMA - ELE DEVERIA CARREGAR TOS OS QUATRO PAINEIS E NÃO SÓ O ÚLTIMO.

Já fiz de tudo para resolver o problema mas não estou conseguindo se tiver a gentiliza de Ajudar fico muito grato desde já.

Júlio (LuloNet)

MSN: lulonet@hotmail.com

Editado por LuloNet
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo ... voce tem componentes instalados no seu Delphi que eu não tenho , portanto não consigo ver a marioria dos componentes na tela.

em uma analise rápida feita usando o seu executavel, percebi que voce ao clicar na linha do DBGrid o primeiro conteudo é trazido para tela.

OBS: fiz um teste usando 2 linhas do DBgrid, e o conteudo da segunda linha não é trazido para o LED quando voce clica nela ( dar uma verificada ) e o cursor vai direto para o campo Auxiliar

ao clicar no botão proximo, somente a ultima informação do grid aparece ( ex: Auxiliar 1 , Auxiliar 2 e Auxiliar 3 ) enretanto voce deve observar que ocorre um deslocamento da palavra para a direita em virtude da contagem de caracteres no campo do DBgrid :

exemplo: Auxiliar 1 | Auxiliar 2 | Auxiliar 3

então esta mostrando assim

Auxiliar 1

_Auxiliar 2

__Auxiliar 3 /// veja que o deslocamente é igual ao numero de espaços entre os caracteres na linha

O que dá a impressão é que o cursor não está parando na posição correta para fazer a leitura dos campos anteriores

então preciso que me indique ou poste a parte do código que está no botão anterior e proximo e no duplo click do DBGrid

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Amigo Jhonas.

Desde já grato pela atenção.

OBSERVAÇÃO:

===========

O PROBLEMA EXATAMENTE NÃO É MAIS COM A POSIÇÃO DO CURSOR MAIS SIM, QUANDO ELE CARREGA DEPOIS QUE FOI SALVO NO ARQUIVO .fz1 NA PASTA DESTINOS.

Como você citou sobre o Auxiliar1/Auxiliar2/Auxiliar3 estão deslocados porque o programa preve a ordenação dos leds no painel tipo: Esquerda, Centro e Direita, isto está correto.

Para poder instalar o programa e funcionar corretamente você tem que instalar os componentes Jedi, Rx e QuickReport dai vai conseguir abrir e ver totalmente o seu funcioamento.

O problema é quando tenho mais de um painel colocado na tela e faço 2 Rotativos ou mais isso quando você clica no Botão Próximo ou nos números abaixo dai ele vai adicionando até 8 rotativos.

Exemplo com 2 Paineis e 2 Rotativos: Frontal1 | Frontal 2 e Lateral 1 | Lateral 2.

a) Depois alvo no Botão abaixo: Salvar Destino, para ir acumulando no Grid dos Destinos, e por final clico no Botão: Salvar no HD.

B) Quando retorno no início do programa chamo clico no Botão: Abrir Arquivo Existente no Janela Frm_TipoOnibus. o que aconte:

- Carrega normalmente no Grid de Destinos abaixo.

- Quando selecionou 1 Destino no Grid de dou duplo clique ele carrega o mesmo dai na tela aparece certo Frontal1 e Lateral1 para o primeiro rotativo, mas quando clico no botão Próximo ai acontece o problema só traz o Lateral2, quando tem 2 paineis na tela, e quando for 4 a partir do segundo só aparece o último também.

Vou postar um passo a passo das partes para voce compreender melhor e onde creio que esta o problema:

1) UDtmDestino, Inicia quando abre o arquivo salvo coloca num ClientDataSet chamado Cds_DestinosExtras:

//

//--- Funcao : Abrir - DATA MODULE DESTINOS ---

//

function TDtm_Destino.Abrir(const pPathNomeArquivo: String): Boolean;

begin

try

Result := Cds_DestinosExtras.Active;

if not Result and

(Trim(pPathNomeArquivo) = EmptyStr) then

Cds_DestinosExtras.CreateDataSet

else

if FileExists(pPathNomeArquivo) then

Cds_DestinosExtras.LoadFromFile(pPathNomeArquivo);

Result := Cds_DestinosExtras.Active;

finally

CarregaPaineis;

end;

end;

2) No FrmPrincipal, ele coloca o Rotativo 1 dos paineis que existem:

Isso o programa faz quando carrega o 1o Rotativo.

//

//--- Carrega Destino nos Paineis ---

//

procedure TFrm_Principal.CarregarDestino(Sender: TObject);

var

lIdx : Integer;

lAchouDestino : Boolean;

lExiste : Boolean;

function EhExtra: Boolean;

begin

Result := Fme_Destinos.AcionaExtra;

end;

function DestinoAtual: Integer;

begin

if not Fme_Destinos.DestinosVazios then

Result := Fme_Destinos.GetDestino.Cds_RotulosNRO_DESTINO.AsInteger

else

Result := 1;

end;

begin

if not Fme_Destinos.RotulosVazios then

begin

Fme_Destinos.CancelarOperacao;

if Assigned(FProjetoAtual) then

FProjetoAtual.FlexLedDestino.Inicializar(True);

//--- F R O N T A L ---//

if Assigned(FProjetoAtual.FlexLedDestino.PainelFrontal) then

begin

lAchouDestino := Fme_Destinos.GetDestino.Cds_DestinosExtras.Locate('EXTRA;PAINEL;NRO_DESTINO', VarArrayOf([EhExtra, FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, DestinoAtual]), []);

if lAchouDestino then

begin

FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem := Fme_Destinos.GetDestino.CampoPorNome('ROLAGEM').AsBoolean;

//--- Carrega Rotativo ---//

for lIdx := 1 to 8 do

if not Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx).IsNull then

begin

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).TempoExposicao := Fme_Destinos.GetDestino.CampoPorNome('TPO_ROTATIVO', lIdx).AsInteger;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).Sentido := FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetSentidoRotativo(Fme_Destinos.GetDestino.CampoPorNome('SENTIDO_ROTATIVO', lIdx).AsInteger);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).Vazio := False;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).Rotulo := Fme_Destinos.GetDestino.CampoPorNome('ROTULO', lIdx).AsString;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).Linha1Rotulo := Fme_Destinos.GetDestino.CampoPorNome('LINHA1_ROT', lIdx).AsString;

Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx, True).SaveToStream(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, lIdx, lExiste).Painel);

end;

FProjetoAtual.FlexLedDestino.PainelFrontal.CarregaMatrix(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, 1, lExiste).Painel);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.AtivarIDRotativo(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag, 1);

if FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem then

FProjetoAtual.FlexLedDestino.PainelFrontal.PosicaoCursor := 0;

end;

//--- Grava Destinos no Grid Destinos ---//

if Fme_Destinos.GetDestino.TemRegistros and not lAchouDestino then

begin

Fme_Destinos.GetDestino.Inserir(FProjetoAtual.FlexLedDestino.PainelFrontal.Tag);

Fme_Destinos.GetDestino.CampoPorNome('NRO_DESTINO').AsInteger := DestinoAtual;

Fme_Destinos.GetDestino.CampoPorNome('PAINEL').AsInteger := FProjetoAtual.FlexLedDestino.PainelFrontal.Tag;

Fme_Destinos.GetDestino.CampoPorNome('EXTRA').AsBoolean := EhExtra;

Fme_Destinos.GetDestino.CampoPorNome('NOVO').AsBoolean := True;

Fme_Destinos.GetDestino.Salvar(True);

end;

end;

//--- L A T E R A L ---//

if Assigned(FProjetoAtual.FlexLedDestino.PainelLateral) then

begin

lAchouDestino := Fme_Destinos.GetDestino.Cds_DestinosExtras.Locate('EXTRA;PAINEL;NRO_DESTINO', VarArrayOf([EhExtra, FProjetoAtual.FlexLedDestino.PainelLateral.Tag, DestinoAtual]), []);

if lAchouDestino then

begin

FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem := Fme_Destinos.GetDestino.CampoPorNome('ROLAGEM').AsBoolean;

//--- Carrega Rotativo ---//

for lIdx := 1 to 8 do

if not Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx).IsNull then

begin

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, lIdx, lExiste).TempoExposicao := Fme_Destinos.GetDestino.CampoPorNome('TPO_ROTATIVO', lIdx).AsInteger;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, lIdx, lExiste).Sentido := FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetSentidoRotativo(Fme_Destinos.GetDestino.CampoPorNome('SENTIDO_ROTATIVO', lIdx).AsInteger);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, lIdx, lExiste).Vazio := False;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, lIdx, lExiste).Rotulo := Fme_Destinos.GetDestino.CampoPorNome('ROTULO', lIdx).AsString;

Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx, True).SaveToStream(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, lIdx, lExiste).Painel);

end;

FProjetoAtual.FlexLedDestino.PainelLateral.CarregaMatrix(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, 1, lExiste).Painel);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.AtivarIDRotativo(FProjetoAtual.FlexLedDestino.PainelLateral.Tag, 1);

if FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem then

FProjetoAtual.FlexLedDestino.PainelLateral.PosicaoCursor := 0;

end;

//--- Grava Destinos no Grid Destinos ---//

if Fme_Destinos.GetDestino.TemRegistros and not lAchouDestino then

begin

Fme_Destinos.GetDestino.Inserir(FProjetoAtual.FlexLedDestino.PainelLateral.Tag);

Fme_Destinos.GetDestino.CampoPorNome('NRO_DESTINO').AsInteger := DestinoAtual;

Fme_Destinos.GetDestino.CampoPorNome('PAINEL').AsInteger := FProjetoAtual.FlexLedDestino.PainelLateral.Tag;

Fme_Destinos.GetDestino.CampoPorNome('EXTRA').AsBoolean := EhExtra;

Fme_Destinos.GetDestino.CampoPorNome('NOVO').AsBoolean := True;

Fme_Destinos.GetDestino.Salvar(True);

end;

end;

//--- T R A S E I R O ---//

if Assigned(FProjetoAtual.FlexLedDestino.PainelTraseiro) then

begin

lAchouDestino := Fme_Destinos.GetDestino.Cds_DestinosExtras.Locate('EXTRA;PAINEL;NRO_DESTINO', VarArrayOf([EhExtra, FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, DestinoAtual]), []);

if lAchouDestino then

begin

FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem := Fme_Destinos.GetDestino.CampoPorNome('ROLAGEM').AsBoolean;

//--- Carrega Destinos ---//

for lIdx := 1 to 8 do

if not Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx).IsNull then

begin

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).TempoExposicao := Fme_Destinos.GetDestino.CampoPorNome('TPO_ROTATIVO', lIdx).AsInteger;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).Sentido := FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetSentidoRotativo(Fme_Destinos.GetDestino.CampoPorNome('SENTIDO_ROTATIVO', lIdx).AsInteger);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).Vazio := False;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).Rotulo := Fme_Destinos.GetDestino.CampoPorNome('ROTULO', lIdx).AsString;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).Linha1Rotulo := Fme_Destinos.GetDestino.CampoPorNome('LINHA1_ROT', lIdx).AsString;

Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx, True).SaveToStream(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, lIdx, lExiste).Painel);

end;

FProjetoAtual.FlexLedDestino.PainelTraseiro.CarregaMatrix(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, 1, lExiste).Painel);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.AtivarIDRotativo(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag, 1);

if FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem then

FProjetoAtual.FlexLedDestino.PainelTraseiro.PosicaoCursor := 0;

end;

//--- Grava Destinos no Grid Destinos ---//

if Fme_Destinos.GetDestino.TemRegistros and not lAchouDestino then

begin

Fme_Destinos.GetDestino.Inserir(FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag);

Fme_Destinos.GetDestino.CampoPorNome('NRO_DESTINO').AsInteger := DestinoAtual;

Fme_Destinos.GetDestino.CampoPorNome('PAINEL').AsInteger := FProjetoAtual.FlexLedDestino.PainelTraseiro.Tag;

Fme_Destinos.GetDestino.CampoPorNome('EXTRA').AsBoolean := EhExtra;

Fme_Destinos.GetDestino.CampoPorNome('NOVO').AsBoolean := True;

Fme_Destinos.GetDestino.Salvar(True);

end;

end;

//--- A U X I L I A R ---//

if Assigned(FProjetoAtual.FlexLedDestino.PainelAuxiliar) then

begin

lAchouDestino := Fme_Destinos.GetDestino.Cds_DestinosExtras.Locate('EXTRA;PAINEL;NRO_DESTINO', VarArrayOf([EhExtra, FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, DestinoAtual]), []);

if lAchouDestino then

begin

FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem := Fme_Destinos.GetDestino.CampoPorNome('ROLAGEM').AsBoolean;

//--- Carrega Rotativo ---//

for lIdx := 1 to 8 do

if not Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx).IsNull then

begin

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).TempoExposicao := Fme_Destinos.GetDestino.CampoPorNome('TPO_ROTATIVO', lIdx).AsInteger;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).Sentido := FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetSentidoRotativo(Fme_Destinos.GetDestino.CampoPorNome('SENTIDO_ROTATIVO', lIdx).AsInteger);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).Vazio := False;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).Rotulo := Fme_Destinos.GetDestino.CampoPorNome('ROTULO', lIdx).AsString;

FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).Linha1Rotulo := Fme_Destinos.GetDestino.CampoPorNome('LINHA1_ROT', lIdx).AsString;

Fme_Destinos.GetDestino.CampoPorNome('CONFIG_PAINEL', lIdx, True).SaveToStream(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, lIdx, lExiste).Painel);

end;

FProjetoAtual.FlexLedDestino.PainelAuxiliar.CarregaMatrix(FProjetoAtual.FlexLedDestino.Fme_Rotativo.GetConfigRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, 1, lExiste).Painel);

FProjetoAtual.FlexLedDestino.Fme_Rotativo.AtivarIDRotativo(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag, 1);

if FProjetoAtual.FlexLedDestino.Fme_Rolagem.Rolagem then

FProjetoAtual.FlexLedDestino.PainelAuxiliar.PosicaoCursor := 0;

end;

//--- Grava Destinos no Grid Destinos ---//

if Fme_Destinos.GetDestino.TemRegistros and not lAchouDestino then

begin

Fme_Destinos.GetDestino.Inserir(FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag);

Fme_Destinos.GetDestino.CampoPorNome('NRO_DESTINO').AsInteger := DestinoAtual;

Fme_Destinos.GetDestino.CampoPorNome('PAINEL').AsInteger := FProjetoAtual.FlexLedDestino.PainelAuxiliar.Tag;

Fme_Destinos.GetDestino.CampoPorNome('EXTRA').AsBoolean := EhExtra;

Fme_Destinos.GetDestino.CampoPorNome('NOVO').AsBoolean := True;

Fme_Destinos.GetDestino.Salvar(True);

end;

end;

end;

end;

3) No FmePainel ele usa a rotina abaixo para ler apartir do 2o Rotativo:

//

//--- CARREGA ROTATIVOS DOS PAINEIS ---

//

procedure TFme_Painel.CarregaRotativo(Sender: TObject);

var

lCfgRotativo: TCfgRotativo;

lExiste: Boolean;

begin

try

//--- Painel - FRONTAL ---

if Assigned(FPainelFrontal) and

(FPainelFrontal.Rolagem = tsNenhum) then

begin

FPainelFrontal.ApagaLeds;

lCfgRotativo := Fme_Rotativo.GetConfigRotativo(FPainelFrontal.Tag, Fme_Rotativo.IDAtivo, lExiste);

<=== NESTE PONTO ELE já TRAZ O ÍNDICE ERRADO OU NÃO TEM O CfgRotativo.Painel DEVE ESTAR VAZIO ===>

FPainelFrontal.DefineCores(FPainelFrontal.CorDivisao, FPainelFrontal.CorPadrao, FPainelFrontal.CorFundo);

FPainelFrontal.CarregaMatrix(lCfgRotativo.Painel);

end;

//--- Painel - LATERAL ---

if Assigned(FPainelLateral) and

(FPainelLateral.Rolagem = tsNenhum) then

begin

FPainelLateral.ApagaLeds;

lCfgRotativo := Fme_Rotativo.GetConfigRotativo(FPainelLateral.Tag, Fme_Rotativo.IDAtivo, lExiste);

FPainelLateral.DefineCores(FPainelLateral.CorDivisao, FPainelLateral.CorPadrao, FPainelLateral.CorFundo);

FPainelLateral.CarregaMatrix(lCfgRotativo.Painel);

end;

//--- Painel - TRASEIRO ---

if Assigned(FPainelTraseiro) and

(FPainelTraseiro.Rolagem = tsNenhum) then

begin

FPainelTraseiro.ApagaLeds;

lCfgRotativo := Fme_Rotativo.GetConfigRotativo(FPainelTraseiro.Tag, Fme_Rotativo.IDAtivo, lExiste);

FPainelTraseiro.DefineCores(FPainelTraseiro.CorDivisao, FPainelTraseiro.CorPadrao, FPainelTraseiro.CorFundo);

FPainelTraseiro.CarregaMatrix(lCfgRotativo.Painel);

end;

//--- Painel - AUXILIAR ---

if Assigned(FPainelAuxiliar) and

(FPainelAuxiliar.Rolagem = tsNenhum) then

begin

FPainelAuxiliar.ApagaLeds;

lCfgRotativo := Fme_Rotativo.GetConfigRotativo(FPainelAuxiliar.Tag, Fme_Rotativo.IDAtivo, lExiste);

FPainelAuxiliar.DefineCores(FPainelAuxiliar.CorDivisao, FPainelAuxiliar.CorPadrao, FPainelAuxiliar.CorFundo);

FPainelAuxiliar.CarregaMatrix(lCfgRotativo.Painel);

end;

finally

RecebeFoco;

end;

end;

4) Neste código Acima ele chama o Frame:

...Fme_Rotativo.GetConfigRotativo...

Creio que alí está o problema, abaixo segue a rotina no FmeRotativo:

OBS: Possui 2 Rotinas GetConfigRotativo.

//

//--- GET_CONFIG_ROTATIVO - 01 ---

//

function TFme_Rotativo.GetConfigRotativo(const pID: SmallInt; const pPosicionar: Boolean): TCfgRotativo;

var

lPainelAtivo : SmallInt;

lExiste : Boolean;

begin

if Assigned(FOnRetornaPainelAtivo) then

FOnRetornaPainelAtivo(Self, lPainelAtivo)

else

raise Exception.Create('ATENÇÃO:' +#13+

'O evento "OnRetornaPainelAtivo" não foi informado.');

Result := GetConfigRotativo(lPainelAtivo, FIDAtivo, lExiste);

if pPosicionar then

AtivarIDRotativo(lPainelAtivo, Result.ID);

end;

//

//--- Verifica se Existe Configuracao do Rotativo - 02 ---

//

function TFme_Rotativo.GetConfigRotativo(const pNroPainel: SmallInt; const pID: SmallInt; out pExiste: Boolean): TCfgRotativo;

var

lIdx : SmallInt;

begin

pExiste := False;

for lIdx := 0 to Length(FCfgRotativo) -1 do

begin

if Assigned(FCfgRotativo[lIdx]) then

begin

pExiste := (pNroPainel = FCfgRotativo[lIdx].NroPainel) and <=== AQUI ELE NÃO LOCALIZA O ÍNDICE CORRETO

(pID = FCfgRotativo[lIdx].ID);

if pExiste then

Break;

end;

end;

if not pExiste then

begin

lIdx := Length(FCfgRotativo);

SetLength(FCfgRotativo, lIdx +1);

FCfgRotativo[lIdx] := TCfgRotativo.Create(pNroPainel, pID); <=== QUANDO CRIA O NOVO FCfgRotativo: Não Grava

end; Correto o ROTULO e o PAINEL que é um MemoryStream

Result := FCfgRotativo[lIdx]; <== RETORNA O ÍNDICE ERRADO <===

end;

Criei um arquivo texto para ver o que grava no FCfgRotativo:

1) ROTULO Principal para cada Painel cria somente no 1o Rotativo;

2) ROTULO1, ... , ROTULO8 também no 1o Rotativo;

3) CONFIG_PAINEL1, ... , CONFIG_PAINEL8 também no 1o Rotativo;

4) A partir do 2o Rotativo não tem nada está tudo branco este campos;

O estranho é o programa parece que perde o não consegue se achar nesta rotina, creio que o probleme esta ai.

Amigo Jhonas agradeço desde já pela vossa compreenção e ajuda.

Fico no aguardo, não mais o que posso fazer para solucionar o problema.

Julio (LuloNet)

MSN: lulonet@hotmail.com

Editado por LuloNet
Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que percebi, este é um programa que voce usa para configurar os painéis eletronicos dos onibus, e passa essa configuração para o sistema do onibus via pendrive ... estou certo ?

bom.. voce utiliza concatenação de strings para armazenar o texto dos letreiros, e salva essa concatenação no banco de dados .. o problema acontece quando voce tenta carregar os dados depois que foi salvo no arquivo .fz1

o problema ocorre justamente no valor dos indices ... veja que se

lIdx := Length(FCfgRotativo); // o valor de lIdx já começa com o valor do tamanho maximo do FCfgRotativo

ao ser aplicado esse valor de indice o mesmo já se encontra fora do escopo da pesquisa dentro da string

exemplo:

012345678901234567890123456 // nesse caso o valor do indice já começaria em 26

Auxiliar 1 | Auxiliar 2 | Auxiliar 3

for lIdx := 0 to Length(FCfgRotativo) -1 do
begin
if Assigned(FCfgRotativo[lIdx]) then
begin
pExiste := (pNroPainel = FCfgRotativo[lIdx].NroPainel) and <=== AQUI ELE NÃO LOCALIZA O ÍNDICE CORRETO
(pID = FCfgRotativo[lIdx].ID);
if pExiste then
Break;
end;
end;

apesar do For começar com 0 a instrução do pExiste se perde no indice em virtude do lIdx := Length(FCfgRotativo);

eu optaria por fazer leitura somente dos registros da tabela e não de colunas dentro do campo

caso queira se manter nessa lógica, sugiro pesquisar a string concatenada dentro do campo, sendo o seu delimitador o caracter "|" e uma vez encontrado voce faz a leitura com um comando ( copy ) do inicio até o delimitador, depois voce joga o conteudo para uma variavel da rotina

OBS: não posso instalar agora os componentes Jedi no meu micro, pois estou no meio de um projeto complexo e não posso me arriscar a algo dar errado ..

mas dentro do possivel tentarei ajudá-lo ... ok ?

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Amigo Jhonas.

Muito obrigado pela atenção e colaboração dada a mim.

Estou um pouco perdido neste programa, uma outra pessoa que foi que construiu ele, eu estou fazem manutenção e acrescentando coisa novas.

Qual a maneira mais facil e pratica de soluciona este problema?

Abraços.

Julio (LuloNet)

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz outro teste aqui... depois de selecionar a linha do DBGrid os textos referentes a primeiro grupo aparecem, se voce clicar no botao proximo eles somem ... entretanto se voce digitar novamente nos campos em branco e novamente clicar no botão proximo e novamente digitar nos campos em branco, ao clicar no botão simulador, todos os textos aparecem na sequencia, dando a impressão que eles estão salvos, mas na verdade não estão, somente estão na memoria.

creio eu que a maneira mais simples de resolver isso, é salvar individualmente cada um dos textos Frontal, Lateral, Auxiliar e Trazeiro em cada registro da tabela.

o botão proximo seria usado para ler o proximo registro, fazer a leitura de cada campo e atribuir os respectivos valores a cada FlexLed.

neste caso voce poderia criar mais um campo de controle na tabela para identificar qual o modeo de onibus está sendo atribuido esses valores.... neste caso tambem, voce pode dispensar o uso de indices, pois não seria necessario.

como não posso instalar os componentes Jedi no momento, fica dificil até para te dar um exemplo, pois não posso mexer no código e testa-lo.

experimente criar um novo projeto somente para testar o FlexLed com a tabela ( salvar e recuperar as informações da tabela e use componentes nativos do delphi ... assim poderei acompanhar o seu raciocínio e testar aqui tambem )

uma coisa bem simples, somente para testar a rotina ... se funcionar voce depois pode implementa-la no outro código

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Amigo Jhonas.

Mais uma vez obrigado pela Grande Ajuda.

Vou pedir uma coisa para você não sei se vai funcionar corretamente ou se tem como implantar neste programa por aqui.

Tenho:

UFmePainel que este conseguisse enchergar as procedure/variavies publicas do UFrmPrincipal

ou

UFmePainel enchergase o UDtmDestino.

TEM COMO FAZER ISSO?

Julio (LuloNet).

Link para o comentário
Compartilhar em outros sites

  • 0
Tenho:

UFmePainel que este conseguisse enchergar as procedure/variavies publicas do UFrmPrincipal

ou

UFmePainel enchergase o UDtmDestino.

tem sim, basta dentro do UFmePainel declarar a uses do UFrmPrincipal, depois é só utilizar os nomes das procedures e variaveis publicas do UFrmPrincipal.

supondo que UDtmDestino seja um DataModule, é feito a mesma coisa .. basta declarar a uses do UDtmDestino dentro do UFmePainel.

exemplo: voce tem um Form1 e um Form2 e no Form2 voce tem procedures, function e variaveis publicas ...

para que o Form1 veja as procedures, functions e varaiveis publicas do Form2 , voce declara na uses do Form1 a unit do Form2

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2; // Referente ao Form2

dessa maneira o Form1 podera usar tudo o que estiver no Form2 ( procedures, functions , etc ..)

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Amigo Jhonas e pessoal do Forum.

1) Que banco de dados poderia usar para criar este sistema novamente, e que este banco fosse possível instalar e configurar quando mando for desponibilizar a versão oficial ?

2) Num programa instalável usando o ISTool ou outro similar?

Grato pela ajuda e atenção.

Julio C S

LuloNet

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
1) Que banco de dados poderia usar para criar este sistema novamente, e que este banco fosse possível instalar e configurar quando mando for desponibilizar a versão oficial ?
voce pode usar Paradox, Interbase, Firebird, Access, Mysql, etc ... no seu caso o Paradox seria tranquilo, so dependo do componente de acesso que deseja usar.

2) Num programa instalável usando o ISTool ou outro similar?

para criar o instalador do programa voce pode usar o proprio installshield que acompanha o delphi ou pode usar o InoSetup ou outro

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, pessoal do forum e Amigo Jhonas.

Por um acaso você sabe de algum componente (mais funcional) que ou possa usar para criar o novo projeto para estes itinerários eletrônicos.

Por exemplo:

Um programa tipo PAINT com fontes em Delphi ou algo parecido, qual a melhor maneira de fazer?

Lulonet

Desde já gratos pele atenção e dicas.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...