ÍNDICE!" # $% & & & & '& & (& ) *) () *) +,) $-)... *,. *,... / /
(/ / 0/ $-,/ $-,1 1-1 -1-1 -1 -$2 $2 $-,2 -,2 32 $2 $4 $4 4 4 (5 5 5 #6 7 ( $ ( $ 8 +99 #:;080:3<='0=#&
Este manual descreve as funções da DLL PMTG e os retornos esperados para as mesmas. Inicialização e Finalização mt_startserver >? ; +,@ A A!" Esta é a primeira função que deve ser chamada. Se tiver sucesso na sua chamada, os terminais já conectarão ao servidor. mywhnd: Handle para a janela principal do programa do servidor, que é para onde a DLL irá mandar as mensagens para troca de dados. Se não quiser receber as mensagens deve seu valor deve ser NULL. conecmsg: Valor da mensagem que a DLL enviará quando um terminal conectar/desconectar. commumsg: Valor da mensagem que a DLL enviará quando terminal enviar dados. retorna: 1 se servidor inicializado com sucesso, 0 se houve algum erro. mt_finishserver!" Após chamar esta função, a DLL libera a memória armazenada, desconecta todos os terminais e para de aceitar novas conexões. mt_version!" Retorna versão da DLL. Ex.: 0x14 corresponde a versão 1.4. mt_connectlist 008B3:#C!", D +? :'+E..F" G008B3:#C" 008B3:#CE5FH5*55555555 008B3:#C$EFH5*B/5582#5 008B3:#C$EFH5*55555555 I Indica que no ID 1, existe um terminal conectado com o IP B600A8C0 (192.168.0.182).
Funções de tratamento de IP mt_gethostip!" Retorna o IP da máquina local em ASCII formatada por pontos. oip: array de bytes onde será escrito os dados. mt_inet_ntoa +? :'+!" ' 83# J +? :'+! mt_inet_ntoa_inv +? :'+!" ' 83# A$, J +? :'+! mt_inet_addr +? :'+!" ' +? :'+! J,$, 83# mt_inet_addr_inv +? :'+!" ' +? :'+!A$, J,$, 83# mt_ipfromid ' + J+
Comandos básicos para o terminal mt_sendlive = + 9! mt_restart ( +'! mt_ftpmode ( 0 + 06! Rede mt_sendconfig + A030#!" = + 330#! typedef struct { DWORD microt_ip; // Endereço IP do terminal DWORD server_ip; // Endereço IP do servidor DWORD msknet_ip; DWORD bdhcp; // Máscara de rede // 1 = IP dinâmico, 0 = IP fixo. }TSetupTCP; mt_reqconfig ( '( +< 30#! 8 +99 % ( $ $
mt_getconfig + A030#!" '$ +< 30# 8+99% ( $ J%$ JKH5$A mt_sendexconfig * + A0=*30#!" = + 3=*30#! typedef struct { DWORD gateway; // IP do gateway DWORD nameserver; // IP do servidor de nomes DWORD myname; // Nome do terminal }TExSetupTCP; mt_reqconfig (* '( < =*30#!8+ 99% ( $ $ * mt_getexconfig * + A0=*30#!" '$ +< =*30# 8+99% ($ J%$ JKH5$A Display mt_backspace $- = + B-3!
mt_carret = + #'! mt_linefeed = + 9! mt_formfeed = +! mt_gotoxy *, + AA!" = + < 0LM! NJ9#% mt_gotoxyref *, + AA!" = + < 0LM'! NJ9#% mt_dispstr + A!" = + + 3! J(%, mt_dispch + A!" = + + #!
J#(%, mt_dispclrln + A!" = + + #9! J,(% mt_seteditstring + ABM0=3AB:: 9: : AB:: 9?!" = + 3=3! 3J3 * : : J! 5!? J$!$ 5!! mt_reqeditstring ( '(= + $< =3!8+ 99% mt_geteditstring + A$!" '$ + 3=3 8+ 99 % ( $ $J(%$O= JKH5$A Teclado mt_setenablekey $-, + AB:: 9: :!" = + 3=$C,! : : J! 5!
mt_getenablekey $-, '( + $< =$C,!8+ 99% mt_reset = + '! mt_setcapslock - + AB:: 9: :!" = + 3#9-! : : J! 5!#9- mt_getcapslock - '( +$< #9-!8+99% mt_setnumlock - + AB:: 9: :!" =! + 3; 9-! : : J! 5!; 9- mt_getnumlock - '(! + $< ; 9-!8+ 99%
mt_programkbd -$ + ABM0=#!" = " +$ C$!8+99% #J%P($ $O mt_setbeep $ + AB:: 9: :!" = + 3B! : : J! 5!B mt_setbeepkey $-, + AB:: 9: :!" = + 3BC,! : : J! 5!B mt_getkey -, + A$!" '$ + < #0! $J$ Serial mt_setenableserial $ +ABM0=#: 6 AB:: 9: :!" = 3 + 3=$3! #: 6 JA H5 #: 6! : : J! 5!
mt_getenableserial $ + ABM0=#: 6!" '( + < =$3!8+ 99% #: 6 JA H5 #: 6! mt_sendbinserial $ + ABM0=#: 6 A9BM0=BABM0=!" = + $3B3! #: 6 JA H5 #: 6! BJ( J(( mt_getserial + A A$!" = + $< B3!8+ 99% ( $ J( 5H#: 6 $J J $, mt_sendconfigserial + A8'< #: 6 3=0Q 3='89!" = + $333! #J%$ J5A typedef struct { unsigned long baud; // baudrate: 300 a 115.200 unsigned short bits; unsigned short parity; unsigned short stops; // data bits // paridade // stop bits unsigned char handshaking; // 0 = sem handshaking, 1 = RTS/CTS } TSetupSerial; typedef struct {
unsigned char Com; TSetupSerial Setup; }ARG_COM_SETUPSERIAL; mt_reqconfigserial ( + ABM0=#: 6!" '( + < 33!8+ 99% ($ $ #: 6 JA H5 #: 6! mt_getconfigserial + A8'< #: 6 3=0Q 3='89!" '$ + < 33 8 + 99% ( $ J%$ JKH5$A mt_settermserial +ABM0=#: 6 ABM0=0='6 AB:: 9: :!" # 30 3 #: 6 JA H5 #: 6! 0='6 JB, : : J! 5!
Cartão Magnético mt_sendsetcard +AB:: 9: :!" = + 3# : : J! 5! mt_reqgetcard ( '( 7 + $< #!8+99% mt_getcardbuf $ + A8'< #8'+ $!" '$ 7 +$'B#8+99% ( $ JA$ JKH5$A typedef struct { unsigned char card[128]; unsigned long status; }ARG_CARD; Impressora mt_sendinitprn = + mt_reqgetstatusprn ( '( +< 3!8+99%
mt_sendbinprn $ + A9BM0=BABM0=!" = #" $ + $3B3! BJ( J(( A troca de mensagens do programa principal com a DLL + 99 %A 8+99 ( +99 A #RRBS * $ A +99 J #define COMUNICATION_MSG WM_USER + 1 #define CONNECT_MSG WM_USER + 2 % & ' ()*+,-!!.%/,-/ 0!#1.#-!%/ 23$ : % T!A#:;;=#06 3<U ( % ( N #:6 Q;#80:;6 3<U (%( + VW? % $ J!; (! %A J private: // User declarations virtual void fastcall WndProc(Messages::TMessage &Message);!+ AVW!J void fastcall TForm1::WndProc(Messages::TMessage &Message) { if (Message.Msg == COMUNICATION_MSG) { //recebe mensagens enviadas pelo terminal return; } else if (Message.Msg == CONNECT_MSG) { //recebe mensagens quando um terminal conectou/desconectou return; }
} TForm::WndProc(Message); //chama WndProc antiga $ $A O * CONTATOS GERTEC Suporte Técnico: suporte@gertec.com.br Tel.: (11) 25751000 Assistência Técnica: Gertec Telecomunicações Ltda. Rua Guaicurus, 145 Vila Conceição Diadema São Paulo CEP 09911-630 Tel.: (11) 2173-6500