//---------------------------------------------------------------------------
#ifndef uEpromH
#define uEpromH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
#include "cgauges.h"
#include <Dialogs.hpp>
#include <graphics.hpp>
#include <registry.hpp>
#include "TDLPortIO.h"
#include <Buttons.hpp>
#include "CGAUGES.h"
#include <Graphics.hpp>
#include <ImgList.hpp>
//---------------------------------------------------------------------------
class TfrmEprom : public TForm
{
__published:	// IDE-managed Components
    TMainMenu *MainMenu1;
    TMenuItem *mnuFile;
    TMenuItem *mnuLoad;
    TMenuItem *mnuSave;
    TMenuItem *N1;
    TMenuItem *mnuExit;
    TMenuItem *mnuAction;
    TMenuItem *mnuRead;
    TMenuItem *mnuProgram;
    TMenuItem *mnuVerify;
    TMenuItem *mnuBlank;
    TMenuItem *mnuErase;
    TMenuItem *mnuHelp;
    TMenuItem *mnuTest;
    TMenuItem *N3;
    TMenuItem *About1;
    TImageList *ilDip;
    TPopupMenu *mnuDevice;
    TMenuItem *N24Cxx;
    TMenuItem *N27Cxx;
    TMenuItem *N28Cxx;
    TMenuItem *N29Fxx;
    TMenuItem *N28Fxx;
    TMenuItem *N16C1;
    TMenuItem *N12C50x1;
    TMenuItem *N93Cxx1;
    TMenuItem *N24C021;
    TMenuItem *N24C041;
    TMenuItem *N24C081;
    TMenuItem *N24C161;
    TMenuItem *N24C321;
    TMenuItem *N24C651;
    TMenuItem *N24C1281;
    TMenuItem *N24C2561;
    TMenuItem *N24C5121;
    TMenuItem *N27321;
    TMenuItem *N27C641;
    TMenuItem *N27C1281;
    TMenuItem *N27C2561;
    TMenuItem *N27C5121;
    TMenuItem *N27C0101;
    TMenuItem *N27C0201;
    TMenuItem *N27C0401;
    TMenuItem *N28C651;
    TMenuItem *N28C1281;
    TMenuItem *N28C2561;
    TMenuItem *N28C5121;
    TMenuItem *N28C0101;
    TMenuItem *N28C0201;
    TMenuItem *N28C0401;
    TMenuItem *N28F641;
    TMenuItem *N28F1281;
    TMenuItem *N28F2561;
    TMenuItem *N28F5121;
    TMenuItem *N28F0101;
    TMenuItem *N28F0201;
    TMenuItem *N28F0401;
    TMenuItem *N29F641;
    TMenuItem *N29F1281;
    TMenuItem *N29F2561;
    TMenuItem *N29F5121;
    TMenuItem *N29F0101;
    TMenuItem *N29F0201;
    TMenuItem *N29F0401;
    TMenuItem *N12C5081;
    TMenuItem *N12C5091;
    TMenuItem *N93C46A1;
    TMenuItem *N93C46B1;
    TMenuItem *N93C461;
    TMenuItem *N93C561;
    TMenuItem *N93C661;
    TOpenDialog *FileOpen;
    TSaveDialog *FileSave;
    TMenuItem *N27C10011;
    TDLPortIO *DLPortIO;
    TMenuItem *N28C161;
    TMenuItem *XLS28161;
    TMenuItem *XLS28641;
    TMenuItem *MCS511;
    TMenuItem *AT80Cx0511;
    TMenuItem *N28Fx001;
    TMenuItem *N29Fx001;
    TMenuItem *AVR1;
    TMenuItem *Autoselect1;
    TMenuItem *AT89C511;
    TMenuItem *AT89C521;
    TMenuItem *AT89C551;
    TMenuItem *AT89S531;
    TMenuItem *N89C531;
    TMenuItem *AT89C51RD1;
    TMenuItem *Autoselect2;
    TMenuItem *AT89C10511;
    TMenuItem *AT89C20511;
    TMenuItem *AT89C40511;
    TMenuItem *i28F2001;
    TMenuItem *i28F4001;
    TMenuItem *i28F8001;
    TMenuItem *Am29F2001;
    TMenuItem *Am29F4001;
    TMenuItem *Am29F8001;
    TMenuItem *Am29F1601;
    TMenuItem *AT28Cxxx1;
    TMenuItem *DS12xx1;
    TMenuItem *AT28C2561;
    TMenuItem *AT28C0101;
    TMenuItem *AT28C0201;
    TMenuItem *AT28C0401;
    TMenuItem *N29Cxxx1;
    TMenuItem *AT29C5121;
    TMenuItem *AT29C0101;
    TMenuItem *AT29C0201;
    TMenuItem *AT29C0401;
    TMenuItem *W29EE0111;
    TMenuItem *W29C0201;
    TMenuItem *mnuGetID;
    TMenuItem *AT49F5121;
    TMenuItem *AT49F0101;
    TMenuItem *AT49F0201;
    TMenuItem *AT49F0401;
    TMenuItem *N16C6201;
    TMenuItem *N16C6211;
    TMenuItem *N16C6221;
    TMenuItem *N16C841;
    TMenuItem *N16F841;
    TPageControl *PageControl1;
    TTabSheet *TabSheet1;
    TTabSheet *TabSheet4;
    TStringGrid *ProgGrid;
    TStringGrid *HexGrid;
    TPanel *Panel4;
    TLabel *Label12;
    TPanel *edDevice;
    TEdit *edBuffer;
    TEdit *edChecksum;
    TPanel *StatusBar;
    TPanel *pPosition;
    TImage *img32;
    TImage *img28;
    TImage *img24;
    TImage *img12c50;
    TImage *img16x84;
    TImage *img24xx;
    TImage *img25xx;
    TImage *img93xx;
    TTabSheet *TabSheet5;
    TPanel *Panel6;
    TImage *dip12;
    TImage *dip11;
    TImage *dip10;
    TImage *dip9;
    TImage *dip8;
    TImage *dip7;
    TImage *dip6;
    TImage *dip5;
    TImage *dip4;
    TImage *dip3;
    TImage *dip2;
    TImage *dip1;
    TLabel *lbON;
    TGroupBox *GroupBox2;
    TMaskEdit *edOffset;
    TLabel *Label4;
    TLabel *Label21;
    TLabel *Label2;
    TComboBox *cbPort;
    TComboBox *cbCheckType;
    TGroupBox *p27CSettings;
    TLabel *Label22;
    TLabel *Label3;
    TComboBox *cbMethod;
    TComboBox *cbSkipFF;
    TImage *JP_A18Vpp;
    TPanel *Panel1;
    TSpeedButton *SpeedButton1;
    TSpeedButton *SpeedButton2;
    TSpeedButton *sbRead;
    TSpeedButton *sbVerify;
    TSpeedButton *SpeedButton5;
    TSpeedButton *sbBlank;
    TSpeedButton *SpeedButton7;
    TSpeedButton *sbErase;
    TPanel *pProcess;
    TButton *btnCancel;
    TGroupBox *pPICSettings;
    TLabel *Label16;
    TLabel *Label15;
    TLabel *lPIC2;
    TLabel *Label8;
    TComboBox *cbCodeProtect;
    TComboBox *cbPic2;
    TComboBox *cbWatchDog;
    TComboBox *cbOscillator;
    TGroupBox *pF28Settings;
    TLabel *Label6;
    TComboBox *cbFastErase;
    TGroupBox *p24CSettings;
    TRadioButton *r24Cpin7high;
    TRadioButton *r24Cpin7Low;
    TImage *imgTSOP48;
    TMenuItem *SRAM1;
    TMenuItem *N61161;
    TMenuItem *N62641;
    TMenuItem *N622561;
    TMenuItem *N625121;
    TMenuItem *N6281281;
    TMenuItem *DS12201;
    TMenuItem *DS12251;
    TMenuItem *DS12301;
    TMenuItem *DS12451;
    TMenuItem *DS12491;
    TMenuItem *AT90S12001;
    TMenuItem *AT90S23131;
    TEdit *edShiftAdr;
    TLabel *Label1;
    TEdit *edPatternAdr;
    TEdit *edTWP;
    TEdit *edTWC;
    TLabel *Label5;
    TMenuItem *N2;
    TMenuItem *N27C10241;
    TMenuItem *N27C20481;
    TMenuItem *N27C40961;
    TMenuItem *N27xxx1;
    TMenuItem *N27161;
    TMenuItem *N27322;
    TMenuItem *N27641;
    TMenuItem *N271281;
    TMenuItem *N272561;
    TMenuItem *N275121;
    TMenuItem *N270101;
    TMenuItem *N270201;
    TMenuItem *N270401;
    TSpeedButton *sbGetID;
    TPanel *pIDcode;
    TLabel *Label7;
    TLabel *Label10;
    TEdit *edManufacID;
    TEdit *edDeviceID;
    TEdit *edManufacName;
    TButton *btnOK_ID;
    TPanel *Panel2;
    TPanel *pProcessCap;
    TMenuItem *Device1;
    TPanel *pGu;
    TCGauge *gProcess;
    TMenuItem *mnuClear;
    TMenuItem *N93C668bit1;
    TMenuItem *N93C768bit1;
    TMenuItem *N93C868bit1;
    TMenuItem *N93C06A16bit1;
    TMenuItem *N93C46A16bit1;
    TMenuItem *N93C5616bit1;
    TMenuItem *N93C6616bit1;
    TMenuItem *N93C7616bit1;
    TMenuItem *N93C8616bit1;
    TSpeedButton *sbWillem;
    TImage *imgwPIC12C50;
    TImage *imgwPIC16c84;
    TImage *imgwPIC24Cxx;
    TImage *imgwPIC25cxx;
    TImage *imgwPIC93Cxx;
        TEdit *edTemp;
    TMenuItem *W29EE0121;
    TMenuItem *W29C0401;
    TMenuItem *N4;
    TMenuItem *W29EE5121;
    TMenuItem *PH29EE0101;
    TMenuItem *ASD29F10081;
    TMenuItem *ASD29F20081;
    TMenuItem *AT29C0405121;
    TMenuItem *AT89C552;
    TImage *img8051;
    TImage *img2051;
    TPanel *pdLockBit;
    TPanel *Panel5;
    TComboBox *Mcs51_lockbit;
    TLabel *Label9;
    TButton *btnLockBit;
    TButton *btnCancelLock_;
    TSpeedButton *sbLockBit;
    TTabSheet *TabSheet2;
    TPanel *Panel3;
    TGroupBox *GroupBox3;
    TLabel *Label11;
    TLabel *Label13;
    TLabel *Label14;
    TLabel *Label17;
    TEdit *ed51at89S;
    TEdit *ed51tWP;
    TEdit *ed51tWC;
    TEdit *ed51Pulses;
    TEdit *ed51type;
    TEdit *ed51tWPb;
    TEdit *ed51tWPe;
    TEdit *ed51ird_lbit;
    TLabel *Label18;
    TLabel *Label19;
    TLabel *Label20;
    TLabel *Label23;
    TEdit *ed51tErase;
    TEdit *ed51sig_Lbit;
    TLabel *Label25;
    TLabel *Label26;
    TGroupBox *GroupBox4;
    TLabel *Label24;
    TLabel *Label27;
    TLabel *Label28;
    TLabel *Label29;
    TLabel *Label30;
    TLabel *Label31;
    TLabel *Label32;
    TLabel *Label33;
    TLabel *Label34;
    TLabel *Label35;
    TEdit *edEPRtwc;
    TEdit *edEPRtwp;
    TEdit *edEPRerp64;
    TEdit *edEPRpic;
    TEdit *edEPRserial;
    TEdit *edEPRwillem;
    TEdit *edEPRdip;
    TEdit *edEPRswap;
    TEdit *edEPReep;
    TEdit *edEPRadStep;
    TEdit *edEPRpin28;
    TEdit *edEPRpin30;
    TEdit *edEPRpin7;
    TEdit *edEPRqe;
    TEdit *edEPRat49F00x;
    TLabel *Label41;
    TLabel *Label42;
    TLabel *Label43;
    TLabel *Label44;
    TLabel *Label45;
    TMenuItem *AT49F0021;
    TMenuItem *AT49F0011;
    TMenuItem *AT49F0012;
    TMenuItem *AT49F0022;
    TMenuItem *AT49F0023;
    TGroupBox *p49F00xsetting;
    TCheckBox *cbProtect;
    TMenuItem *N5;
    TMenuItem *N87x511;
    TMenuItem *N87x521;
    TMenuItem *N87x541;
    TMenuItem *N87x581;
    TMenuItem *N6;
    TMenuItem *N27C8001;
    TMenuItem *N27C1601;
    TMenuItem *N27C3201;
    TPanel *pRdLB;
    TPanel *Panel8;
    TButton *btnRdLbOK;
    TEdit *edRdLB;
    TSpeedButton *sbRdLB;
    TMenuItem *AM29F0021;
    TMenuItem *Am29F002NT1;
    TMenuItem *AT28C5121;
    TMenuItem *AT28C64641;
    TMenuItem *AT29C5122;
    TMenuItem *N27C161;
    TGroupBox *p29CxxxSetting;
    TLabel *tWC;
    TComboBox *cb29C_twc;
    TPanel *pWillem;
    TLabel *Label53;
    TLabel *Label54;
    TLabel *Label55;
    TLabel *Label56;
    TLabel *Label57;
    TLabel *Label58;
    TLabel *Label59;
    TLabel *Label60;
    TLabel *Label61;
    TLabel *Label62;
    TLabel *Label63;
    TLabel *Label64;
    TPanel *pPCB3;
    TLabel *Label36;
    TLabel *Label37;
    TLabel *Label38;
    TLabel *Label39;
    TLabel *Label40;
    TLabel *Label46;
    TLabel *Label47;
    TLabel *Label48;
    TLabel *Label49;
    TLabel *Label50;
    TLabel *Label51;
    TLabel *Label52;
    TMenuItem *i28F001BXT1;
    TMenuItem *N28F0011;
    TMenuItem *AT29C2561;
    TMenuItem *AE49F20081;
    TMenuItem *AmiC291;
    TMenuItem *SyncMOSF29C51002T1;
    TMenuItem *N8;
    TMenuItem *N9;
    TComboBox *cbSsize;
    TLabel *Label65;
    TEdit *edEPRSsize;
    TLabel *Label66;
    TGroupBox *pMCS51Setting;
    TRadioButton *rbLock0;
    TRadioButton *rbLock1;
    TRadioButton *rbLock12;
    TRadioButton *rbLock123;
    TEdit *ed51LockBit;
    TLabel *Label67;
    TMenuItem *W27Exxx1;
    TMenuItem *W27E5121;
    TMenuItem *W27E0101;
    TMenuItem *W27C0101;
    TMenuItem *SyncMOSF29C51002T2;
    TMenuItem *SyncMOSF29C51004T1;
    TMenuItem *N7;
    TMenuItem *EpromEleErase1;
    TMenuItem *SST27SFxxx1;
    TMenuItem *SST27SF256Vpe12V1;
    TMenuItem *SST27SF512Vpe12V1;
    TMenuItem *SST27SF010Vpe12V1;
    TMenuItem *SST27SF020Vpe12V1;
    TMenuItem *N10;
    TMenuItem *N11;
        TTabSheet *TabSheet3;
        TGroupBox *GroupBox1;
        TButton *btnAddr0;
        TButton *btnAddr2aaaa;
        TButton *btnAddr55555;
        TButton *btnAddr7ffff;
        TGroupBox *GroupBox5;
        TButton *btnData0;
        TButton *btnDataAA;
        TButton *btnData55;
        TButton *btnDataFF;
        TGroupBox *GroupBox6;
        TButton *btnOELow;
        TButton *btnOEHigh;
        TButton *btnWEHigh;
        TButton *btnVppOn;
        TButton *btnPowerOn;
        TButton *btnPowerOff;
        TButton *btnVppOff;
        TButton *btnWELow;
        TButton *btnHWPresence;
        TButton *btnAllOff;
        TEdit *edDataOut;
        TEdit *edAddrOut;
        TLabel *Label68;
        TLabel *Label69;
        TGroupBox *pMXICF29040;
        TStringGrid *sgMXICF29SecVfyF29;
        TSpeedButton *sbMXICF29ChipUnprt;
        TSpeedButton *sbMXICF29SecProt;
        TSpeedButton *sbMXICF29SecStatus;
        TLabel *Label70;
    void __fastcall Message(String Notice, int Level);
    void __fastcall SetBufferSize(int Size);
    void __fastcall SetProcessGauge(String Notice, int Max, TColor Colour);
    void __fastcall SetFuses(void);
    void __fastcall mnuTestClick(TObject *Sender);
    void __fastcall About1Click(TObject *Sender);
    void __fastcall cbPortChange(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall mnuExitClick(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall cbMethodChange(TObject *Sender);
    void __fastcall cbFastEraseChange(TObject *Sender);
    void __fastcall MaskEdit1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y);

    void __fastcall M24C_Click(TObject *Sender);
    void __fastcall M27C_Click(TObject *Sender);
    void __fastcall M28C_Click(TObject *Sender);
    void __fastcall M28F_Click(TObject *Sender);
    void __fastcall M29F_Click(TObject *Sender);
    void __fastcall M12C_Click(TObject *Sender);
    void __fastcall M93C_Click(TObject *Sender);

    void __fastcall mnuBlankClick(TObject *Sender);
    void __fastcall Clear1Click(TObject *Sender);
    void __fastcall HexGridDrawCell(TObject *Sender, int Col, int Row,
          TRect &Rect, TGridDrawState State);
    void __fastcall mnuReadClick(TObject *Sender);
    void __fastcall cbPICChange(TObject *Sender);
    void __fastcall ProgGridDrawCell(TObject *Sender, int Col, int Row,
          TRect &Rect, TGridDrawState State);
    void __fastcall mnuLoadClick(TObject *Sender);
    void __fastcall mnuSaveClick(TObject *Sender);
    void __fastcall btnCancelClick(TObject *Sender);
    void __fastcall btnCancelKeyPress(TObject *Sender, char &Key);
    void __fastcall mnuProgramClick(TObject *Sender);
    void __fastcall mnuEraseClick(TObject *Sender);
    void __fastcall mnuVerifyClick(TObject *Sender);
    void __fastcall edOffsetExit(TObject *Sender);
    void __fastcall edOffsetChange(TObject *Sender);
    void __fastcall LoadSettings(void);
    void __fastcall SaveSettings(void);
    void __fastcall imgFlip1Click(TObject *Sender);


    void __fastcall i28Fx00_Click(TObject *Sender);
    void __fastcall GetID_Cick(TObject *Sender);
    void __fastcall r24Cpin7highClick(TObject *Sender);
    void __fastcall r24Cpin7LowClick(TObject *Sender);
    void __fastcall M27_Click(TObject *Sender);
    void __fastcall Am29Fx00_Click(TObject *Sender);
    void __fastcall btnLOCKBIT_Click(TObject *Sender);
    void __fastcall Device1Click(TObject *Sender);
    void __fastcall SRAM_Click(TObject *Sender);
    void __fastcall DS12XX_Click(TObject *Sender);
    void __fastcall sbWillem_Click(TObject *Sender);
    void __fastcall AT29C_Click(TObject *Sender);
    void __fastcall muMCS51_Click(TObject *Sender);
    void __fastcall AT89Cx051_Click(TObject *Sender);
    void __fastcall Mcs51_lockbitChange(TObject *Sender);
    void __fastcall btnLockBitClick(TObject *Sender);
    void __fastcall btnCancelLock_Click(TObject *Sender);
    void __fastcall sbLockBitClick(TObject *Sender);

    void __fastcall AT49F00x_Click(TObject *Sender);
    void __fastcall cbProtectClick(TObject *Sender);
    void __fastcall sbRdLBClick(TObject *Sender);
    void __fastcall btnRdLbOKClick(TObject *Sender);
    void __fastcall AT28Cxxx_Click(TObject *Sender);
    void __fastcall ChangePriority(bool Fast);
    void __fastcall cb29Ctwc_Change(TObject *Sender);
    void __fastcall cbSsizeChange(TObject *Sender);

    
    
    
    void __fastcall rbLock0Click(TObject *Sender);
    void __fastcall rbLock1Click(TObject *Sender);
    void __fastcall rbLock12Click(TObject *Sender);
    void __fastcall rbLock123Click(TObject *Sender);
    void __fastcall M27E_Click(TObject *Sender);
        void __fastcall btnPowerOnClick(TObject *Sender);
        void __fastcall TabSheet3Exit(TObject *Sender);
        void __fastcall btnPowerOffClick(TObject *Sender);
        void __fastcall btnVppOnClick(TObject *Sender);
        void __fastcall btnVppOffClick(TObject *Sender);
        void __fastcall btnWEHighClick(TObject *Sender);
        void __fastcall btnWELowClick(TObject *Sender);
        void __fastcall btnOEHighClick(TObject *Sender);
        void __fastcall btnOELowClick(TObject *Sender);
        void __fastcall btnAddr0Click(TObject *Sender);
        void __fastcall btnAddr2aaaaClick(TObject *Sender);
        void __fastcall btnAddr55555Click(TObject *Sender);
        void __fastcall btnAddr7ffffClick(TObject *Sender);
        void __fastcall btnData0Click(TObject *Sender);
        void __fastcall btnDataAAClick(TObject *Sender);
        void __fastcall btnData55Click(TObject *Sender);
        void __fastcall btnDataFFClick(TObject *Sender);
        void __fastcall btnHWPresenceClick(TObject *Sender);
        void __fastcall btnAllOffClick(TObject *Sender);
        void __fastcall edDataOutChange(TObject *Sender);
        void __fastcall edAddrOutChange(TObject *Sender);
        void __fastcall sbMXICF29ChipUnprtClick(TObject *Sender);
        void __fastcall sbMXICF29SecProtClick(TObject *Sender);
        void __fastcall sbMXICF29SecStatusClick(TObject *Sender);
    
    
    private:	// User declarations
public:		// User declarations
    __fastcall TfrmEprom(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmEprom *frmEprom;
//---------------------------------------------------------------------------
#endif
