?? prvalozinkadlg.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 + -