Мегаобучалка Главная | О нас | Обратная связь


Пример 2. Создание многоуровневой ИС



2020-03-17 204 Обсуждений (0)
Пример 2. Создание многоуровневой ИС 0.00 из 5.00 0 оценок




 

Рассмотрим пример создания многоуровневой ИС, в которой клиент из банкомата может обратиться к серверу банка и выполнить нужные ему операции (рис. 15).

 

Рисунок 15

 

Для ускорения обработки данных серверы банков реализованы в разных каналах. 

Пример следует рассмотреть самостоятельно, руководствуясь комментариями к нижеприведенному коду программы.

 

Xaction.idl

enum EnumAction {

balance,

withdraw,

deposit

};

enum EnumStatus {

OK,

invalid,

complete,

incomplete

};

struct xaction {

long UserID;

long PIN;

long account;

double amount;

::EnumAction action;

double balance;

::EnumStatus status;

};

interface Server {

exception NoServer {

string message;

};

::xaction HandleTransaction(

inout ::xaction Transaction

);

/* raises(

::Server::NoServer

);

*/

long Balance();

};

Banking.idl

#include "xaction.idl"

interface BankServer {

::xaction HandleTransaction(

inout ::xaction Transaction

);

long BankID();

};

module Bank {

interface Account {

float balance();

};

interface AccountManager {

::Bank::Account open(

in string name

);

};

};

 

Рисунок 16. Проект и интерфейс банкомата

 

 

Рисунок 17. Режим «Администрирование»


ATMUnit/h

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

#ifndef atmunitH

#define atmunitH

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ExtCtrls.hpp>

#include <ComCtrls.hpp>

#include <Buttons.hpp>

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

class ATMObject

{

 private:

long _ID;

String _serverName;

 public:

ATMObject(){_serverName = "Wells Fargo"; _ID = 100;};

ATMObject(String name){_serverName = name; _ID = 100;};

String serverName(){return _serverName;}

void serverName(String name){_serverName = name;}

long ID(){return _ID;}

void ID(long id){_ID = id;}

};

class TFormATM : public TForm

{

__published:  // IDE-managed Components

TEdit *NameBox;

TEdit *PINBox;

TEdit *AmountBox;

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TRadioGroup *Action;

TMemo *Memo1;

TRadioGroup *AccountType;

TStatusBar *StatusBar1;

   TBitBtn *BitBtn1;

   TBitBtn *BitBtn2;

   TGroupBox *GroupBox1;

   TGroupBox *GroupBox2;

   TBitBtn *BitBtn3;

   TLabel *Label4;

   TLabel *Label5;

   TBevel *Bevel1;

   void __fastcall FormCreate(TObject/* */ *Sender);

   void __fastcall BitBtn1Click(TObject *Sender);

   void __fastcall BitBtn2Click(TObject *Sender);

   void __fastcall BitBtn3Click(TObject *Sender);

private: // User declarations

public:            // User declarations

__fastcall TFormATM(TComponent* Owner);

ATMObject * ATM;

long __fastcall TestConnection();

};

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

extern PACKAGE TFormATM *FormATM;

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

#endif

ATMUnit.cpp

#include <vcl.h>

#pragma hdrstop

#include "atmunit.h"

#include "servname.h"

#include "xaction_c.hh"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

USE_STD_NS

TFormATM *FormATM;

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

__fastcall TFormATM::TFormATM(TComponent* Owner)

: TForm(Owner)

{

}

char * const * argV;

int argC;

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

// /////////////////////////////////////

// Mimic streaming to VCL Memo Window

// /////////////////////////////////////



2020-03-17 204 Обсуждений (0)
Пример 2. Создание многоуровневой ИС 0.00 из 5.00 0 оценок









Обсуждение в статье: Пример 2. Создание многоуровневой ИС

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (204)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)