⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prvalozinkadlg.cpp

📁 load data from pc to hand held terminal and vice versa
💻 CPP
字号:
// PrvaLozinkaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "RucniTerminal.h"
#include "LozinkaDlg.h"
#include "Korisno.h"
#include "PrvaLozinkaDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPrvaLozinkaDlg dialog


CPrvaLozinkaDlg::CPrvaLozinkaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPrvaLozinkaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPrvaLozinkaDlg)
	m_Lozinka1 = _T("");
	m_Lozinka2 = _T("");
	m_PCAppID = _T("");
	//}}AFX_DATA_INIT
}


void CPrvaLozinkaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPrvaLozinkaDlg)
	DDX_Text(pDX, IDC_LOZINKA1, m_Lozinka1);
	DDV_MaxChars(pDX, m_Lozinka1, 20);
	DDX_Text(pDX, IDC_LOZINKA2, m_Lozinka2);
	DDV_MaxChars(pDX, m_Lozinka2, 20);
	DDX_Text(pDX, IDC_PCAPP_ID, m_PCAppID);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPrvaLozinkaDlg, CDialog)
	//{{AFX_MSG_MAP(CPrvaLozinkaDlg)
	ON_BN_CLICKED(IDOK, OnSnimiNaTerminal)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPrvaLozinkaDlg message handlers

BOOL CPrvaLozinkaDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

    // Postavi inicijalnu vrednost polja za 'ID aplikacije'
    string cAppIDhex = KVazeciID::Instance()->DajAppID();
    cAppIDhex = KKorisno::Instance()->FormatString( cAppIDhex, FS_BCD_ASCII, true );

    m_PCAppID = cAppIDhex.data();

    // Osvezi polja forme ( usaglasi sa vrednostima odgovarajucih promenljivih )
    this->UpdateData( FALSE );
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPrvaLozinkaDlg::OnSnimiNaTerminal() 
{
    // Preuzmi podatke iz forme u odgovarajuce promenljive
    this->UpdateData();

    // Proveri da li je ID ispravno unet
    string cPoruka;
    if ( !ProveriAppID( string(m_PCAppID), cPoruka ) ) {
        AfxMessageBox( cPoruka.data() );
        GotoDlgCtrl( GetDlgItem( IDC_PCAPP_ID ) );
        return;
    }

	// Proveri da li su lozinke ispravno unete
    string cStaraLozinka = "1234567890ABCDEFGHIJ"; // bitno samo da budu alfanumericki znaci
    if ( !CLozinkaDlg::ProveriLozinke( cStaraLozinka,
                                       string(m_Lozinka1), string(m_Lozinka2),
                                       cPoruka ) ){
        AfxMessageBox( cPoruka.data() );
        GotoDlgCtrl( GetDlgItem( IDC_LOZINKA1 ) );
        return;
    }

    // Prevedi ID iz 'HEX' u 'obican' string ( niz bajtova koji odgovaraju HEX oznakama )
    KString cAppID = (string)m_PCAppID;
    cAppID = KKorisno::Instance()->DeformatString( cAppID, FS_BCD_ASCII );

    // Snimi lozinku na terminal i prikazi poruku o ishodu.
    CRucniTerminalApp* pRTApp = ( CRucniTerminalApp* ) AfxGetApp();

    pRTApp->PrikaziPorukuIKursorZaCekanje( IDS_SNIMANJE_PODATAKA, this );
    bool bUspelo = CLozinkaDlg::SnimiLozinku( cStaraLozinka, string(m_Lozinka1), cAppID, 
                                              KT_IZMENA_LOZINKE );
    pRTApp->UkloniPorukuIKursorZaCekanje();

    if ( bUspelo )
        pRTApp->MyMessageBox( IDS_SNIMANJE_USPELO );
    else
        pRTApp->MyMessageBox( IDS_SNIMANJE_NEUSPELO );
}

// Funkcija proverava da li je 'ID aplikacije' ispravno unet u polju za editovanje ID-a
bool CPrvaLozinkaDlg::ProveriAppID( string cAppID,string& cPoruka ){
    // Proveri da li je ID uopste unet
    if ( cAppID.length() == 0 ){
        cPoruka = "Morate uneti ID !";
        return false;
    }

	// Proveri da li su svi znakovi ID-a HEX cifre ili razmaci
    if ( !KInterpret::Instance()->ProveriSkupZnakovaZaID( cAppID ) ){
        cPoruka = "Dozvoljene su samo HEX cifre za ID !";
        return false;
    }

    return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -