Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manefilho

sistema de uma Lan House

Recommended Posts

Olá pessoal do Fórum iMasters!

 

Mais uma vez to precisando da ajuda de vocês. To desenvolvendo um programa de controle de tempo para Lan House simples, não tem muitos recursos. Bem, o que eu to tendo dificuldade em terminar é a parte onde o balcão se comunica com os computadores clientes.

 

Eu estou fazendo assim, no programa Cliente do Balcão eu tenho um ClienteSocket e no programa Servidor dos computadores do clientes eu tenho o ServerSocket.

 

No programa do Balcão onde tem o Cliente Socket eu coloquei botões que fazem com o que o ClienteSocket envie comandos de desligamento, como Desligar, Reiniciar, Travar, etc. E preciso também que o ClienteSocket envie um texto, do MaskEdit do programa Cliente, para um Caption de um Panel no programa Servidor dos outros Computadores.

 

Resumindo: Preciso enviar os comandos para as maquinas dos clientes de desligamento, e enviar também o tempo que a máquina vai ficar ativa (o crédito que o cliente adicionou) para o Caption do Panel do Servidor.

 

Bem, eu to tendo problemas quanto a isso. Tentei de várias maneiras e não consegui, alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Teria como compartilhar parte do seu código para que possamos analisar e ai te auxiliar?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro mano mano! :yes:

 

Esse é o código fonte do programa do balcão:

 

 

 

{-----------------------------------------------------------------------------------
Controle de Computadores - Lan House Bela Vista
Versão: 2.0 Revisão: 36 Source: 2.0
Essa é a Source (código fonte) da janela principal, ou seja, a primeira janela do
programa. A sua edição é permitida, lembre-se de não omitir os créditos dos desenvolvedores
originais ou dos recursos utilizados. Você pode usar como base esse código fonte, mas
não pode altera-lo para vende-lo. A venda de todo ou parte do programa é restrita, o
seu código fonte é aberto e pode ser alterado como desejado.
Caso altere algo e queira destribuir, você pode adicionar seus créditos na janela
"Sobre" (frm_Sobre). Adicione seu nome e o que alterou no programa. Não utilize esses
códigos fontes em outros projetos sem comunicar ao desenvolvedor original.
Esse código fonte foi desenvolvido sob medida para a Lan House Bela Vista. A cópia
para uso em outra forma é restrita a não ser que seja comunicado ao desenvolvedor do
programa.
Desenvolvido por: Francisco Assis Dantas Filho Email: manefilho1@hotmail.com
------------------------------------------------------------------------------------}
unit UPrincipal;
interface
{-----------------------------------------------------------------------------------
---> Adicionado a Uses
Clipbrd - Adicionado a Uses para copiar o Email do "lbl_EmailDesenvolvedor" para
a área de transferência.
IniFiles - Adicionado a Uses para criar e manipular arquivos de informação de
configuração, ou seja, usado para manipular arquivos "Ini" ou "Inf".
------------------------------------------------------------------------------------}
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Menus, ExtCtrls, ComCtrls, StdCtrls, Clipbrd, pngimage,
IniFiles, JvComponentBase, JvFormMagnet;
type
Tfrm_Principal = class(TForm)
mm_MenuPrincipal: TMainMenu;
il_ImagensMenus: TImageList;
Sistema1: TMenuItem;
AtualizarStatus1: TMenuItem;
N2: TMenuItem;
Configuraes1: TMenuItem;
Sair1: TMenuItem;
Comandos1: TMenuItem;
Desligarcomputador1: TMenuItem;
Reiniciarcomputador1: TMenuItem;
Bloquearcomputador1: TMenuItem;
N3: TMenuItem;
Crdito1: TMenuItem;
Iniciarcrdito1: TMenuItem;
Salvarcrdito1: TMenuItem;
N4: TMenuItem;
Fecharcrdito1: TMenuItem;
Ferramentas1: TMenuItem;
Calculadora1: TMenuItem;
MeuComputador1: TMenuItem;
Ajuda1: TMenuItem;
picosdeajuda1: TMenuItem;
Sobreosistema1: TMenuItem;
Maiscomandos1: TMenuItem;
Bloqueartela1: TMenuItem;
Bloquearmouse1: TMenuItem;
Bloquearteclado1: TMenuItem;
Desligarmonitor1: TMenuItem;
sb_BarraDeStatus: TStatusBar;
pnl_Forma: TPanel;
pc_Computadores: TPageControl;
ts_PC1: TTabSheet;
ts_PC2: TTabSheet;
ts_PC3: TTabSheet;
ts_PC4: TTabSheet;
ts_PC6: TTabSheet;
ts_PC7: TTabSheet;
ts_PC8: TTabSheet;
ts_PC5: TTabSheet;
pnl_TituloPC1: TPanel;
pnl_PC1: TPanel;
pnl_TituloPC3: TPanel;
pnl_TituloPC2: TPanel;
pnl_TituloPC4: TPanel;
pnl_TituloPC5: TPanel;
pnl_TituloPC6: TPanel;
pnl_TituloPC7: TPanel;
pnl_TituloPC8: TPanel;
t_DataHoraAtual: TTimer;
gb_HoraEntrada1: TGroupBox;
gb_HoraSaida1: TGroupBox;
gb_TempoRestante1: TGroupBox;
gb_TempoCorrido1: TGroupBox;
pnl_HoraEntrada1: TPanel;
pnl_HoraSaida1: TPanel;
pnl_TempoRestante1: TPanel;
pnl_TempoCorrido1: TPanel;
gb_StatusComputador: TGroupBox;
gb_ComandosRemotos1: TGroupBox;
btn_Desligar1: TButton;
btn_Reiniciar1: TButton;
btn_Bloquear1: TButton;
btn_BloquearTela1: TButton;
btn_BloquearMouse1: TButton;
btn_BloquearTeclado1: TButton;
btn_DesligarMonitor1: TButton;
gb_Informacoes1: TGroupBox;
lbl_NomeCliente1: TLabel;
lbl_ClienteAnterior1: TLabel;
lbl_TempoAdicionado1: TLabel;
pnl_NomeCliente1: TPanel;
pnl_ClienteAnterior1: TPanel;
pnl_TempoAdicionado1: TPanel;
lbl_ValorPagar1: TLabel;
pnl_ValorPagar1: TPanel;
lbl_StatusPagamento1: TLabel;
pnl_StatusPagamento1: TPanel;
lbl_ValorTempoAberto1: TLabel;
pnl_ValorTempoAberto1: TPanel;
btn_AdicionarCredito1: TButton;
btn_FecharCredito1: TButton;
btn_AdicionarMaisCredito1: TButton;
btn_SalvarCredito1: TButton;
Carregarcrditosalvo1: TMenuItem;
btn_CarregarCreditoSalvo1: TButton;
lbl_Sistema1: TLabel;
lbl_EmailDesenvolvedor1: TLabel;
pnl_PC2: TPanel;
lbl_Sistema2: TLabel;
lbl_EmailDesenvolvedor2: TLabel;
gb_HoraEntrada2: TGroupBox;
pnl_HoraEntrada2: TPanel;
gb_HoraSaida2: TGroupBox;
pnl_HoraSaida2: TPanel;
gb_TempoRestante2: TGroupBox;
pnl_TempoRestante2: TPanel;
gb_TempoCorrido2: TGroupBox;
pnl_TempoCorrido2: TPanel;
gb_ComandosLocais2: TGroupBox;
btn_AdicionarCredito2: TButton;
btn_FecharCredito2: TButton;
btn_AdicionarMaisCredito2: TButton;
btn_SalvarCredito2: TButton;
btn_CarregarCreditoSalvo2: TButton;
gb_ComandosRemotos2: TGroupBox;
btn_Desligar2: TButton;
btn_Reiniciar2: TButton;
btn_Bloquear2: TButton;
btn_BloquearTela2: TButton;
btn_BloquearMouse2: TButton;
btn_BloquearTeclado2: TButton;
btn_DesligarMonitor2: TButton;
gb_Informacoes2: TGroupBox;
lbl_NomeCliente2: TLabel;
lbl_ClienteAnterior2: TLabel;
lbl_TempoAdicionado2: TLabel;
lbl_ValorPagar2: TLabel;
lbl_StatusPagamento2: TLabel;
lbl_ValorTempoAberto2: TLabel;
pnl_NomeCliente2: TPanel;
pnl_ClienteAnterior2: TPanel;
pnl_TempoAdicionado2: TPanel;
pnl_ValorPagar2: TPanel;
pnl_StatusPagamento2: TPanel;
pnl_ValorTempoAberto2: TPanel;
pnl_PC3: TPanel;
lbl_Sistema3: TLabel;
lbl_EmailDesenvolvedor3: TLabel;
gb_HoraEntrada3: TGroupBox;
pnl_HoraEntrada3: TPanel;
gb_HoraSaida3: TGroupBox;
pnl_HoraSaida3: TPanel;
gb_TempoRestante3: TGroupBox;
pnl_TempoRestante3: TPanel;
gb_TempoCorrido: TGroupBox;
pnl_TempoCorrido3: TPanel;
gb_ComandosLocais3: TGroupBox;
btn_AdicionarCredito3: TButton;
btn_FecharCredito3: TButton;
btn_AdicionarMaisCredito3: TButton;
btn_SalvarCredito3: TButton;
btn_CarregarCreditoSalvo3: TButton;
gb_ComandosRemotos3: TGroupBox;
btn_Desligar3: TButton;
btn_Reiniciar3: TButton;
btn_Bloquear3: TButton;
btn_BloquearTela3: TButton;
btn_BloquearMouse3: TButton;
btn_BloquearTeclado3: TButton;
btn_DesligarMonitor3: TButton;
gb_Informacoes3: TGroupBox;
lbl_NomeCliente3: TLabel;
lbl_ClienteAnterior3: TLabel;
lbl_TempoAdicionado3: TLabel;
lbl_ValorPagar3: TLabel;
lbl_StatusPagamento3: TLabel;
lbl_ValorTempoAberto3: TLabel;
pnl_NomeCliente3: TPanel;
pnl_ClienteAnterior3: TPanel;
pnl_TempoAdicionado: TPanel;
pnl_ValorPagar3: TPanel;
pnl_StatusPagamento3: TPanel;
pnl_ValorTempoAberto3: TPanel;
pnl_PC4: TPanel;
lbl_Sistema4: TLabel;
lbl_EmailDesenvolvedor4: TLabel;
gb_HoraEntrada4: TGroupBox;
pnl_HoraEntrada4: TPanel;
gb_HoraSaida4: TGroupBox;
pnl_HoraSaida4: TPanel;
gb_TempoRestante4: TGroupBox;
pnl_TempoRestante4: TPanel;
gb_TempoCorrido4: TGroupBox;
pnl_TempoCorrido4: TPanel;
gb_ComandosLocais4: TGroupBox;
btn_AdicionarCredito4: TButton;
btn_FecharCredito4: TButton;
btn_AdicionarMaisCredito4: TButton;
btn_SalvarCredito4: TButton;
btn_CarregarCreditoSalvo4: TButton;
gb_ComandosRemotos4: TGroupBox;
btn_Desligar4: TButton;
btn_Reiniciar4: TButton;
btn_Bloquear4: TButton;
btn_BloquearTela4: TButton;
btn_BloquearMouse4: TButton;
btn_BloquearTeclado4: TButton;
btn_DesligarMonitor4: TButton;
gb_Informacoes4: TGroupBox;
lbl_NomeCliente4: TLabel;
lbl_ClienteAnterior4: TLabel;
lbl_TempoAdicionado4: TLabel;
lbl_ValorPagar4: TLabel;
lbl_StatusPagamento4: TLabel;
lbl_ValorTempoAberto4: TLabel;
pnl_NomeCliente4: TPanel;
pnl_ClienteAnterior4: TPanel;
pnl_TempoAdicionado4: TPanel;
pnl_ValorPagar4: TPanel;
pnl_StatusPagamento4: TPanel;
pnl_ValorTempoAberto4: TPanel;
pnl_PC5: TPanel;
lbl_Sistema5: TLabel;
lbl_EmailDesenvolvedor5: TLabel;
gb_HoraEntrada5: TGroupBox;
pnl_HoraEntrada5: TPanel;
gb_HoraSaida5: TGroupBox;
pnl_HoraSaida5: TPanel;
gb_TempoRestante5: TGroupBox;
pnl_TempoRestante5: TPanel;
gb_TempoCorrido5: TGroupBox;
pnl_TempoCorrido5: TPanel;
gb_ComandosLocais5: TGroupBox;
btn_AdicionarCredito5: TButton;
btn_FecharCredito5: TButton;
btn_AdicionarMaisCredito5: TButton;
btn_SalvarCredito5: TButton;
btn_CarregarCreditoSalvo5: TButton;
gb_ComandosRemotos5: TGroupBox;
btn_Desligar5: TButton;
btn_Reiniciar5: TButton;
btn_Bloquear5: TButton;
btn_BloquearTela5: TButton;
btn_BloquearMouse5: TButton;
btn_BloquearTeclado5: TButton;
btn_DesligarMonitor5: TButton;
gb_Informacoes5: TGroupBox;
lbl_NomeCliente5: TLabel;
lbl_ClienteAnterior5: TLabel;
lbl_TempoAdicionado5: TLabel;
lbl_ValorPagar5: TLabel;
lbl_StatusPagamento5: TLabel;
lbl_ValorTempoAberto5: TLabel;
pnl_NomeCliente5: TPanel;
pnl_ClienteAnterior5: TPanel;
pnl_TempoAdicionado5: TPanel;
pnl_ValorPagar5: TPanel;
pnl_StatusPagamento5: TPanel;
pnl_ValorTempoAberto5: TPanel;
pnl_PC6: TPanel;
lbl_Sistema6: TLabel;
lbl_EmailDesenvolvedor6: TLabel;
gb_HoraEntrada6: TGroupBox;
pnl_HoraEntrada6: TPanel;
gb_HoraSaida6: TGroupBox;
pnl_HoraSaida6: TPanel;
gb_TempoRestante6: TGroupBox;
pnl_TempoRestante6: TPanel;
gb_TempoCorrido6: TGroupBox;
pnl_TempoCorrido6: TPanel;
gb_ComandosLocais6: TGroupBox;
btn_AdicionarCredito6: TButton;
btn_FecharCredito6: TButton;
btn_AdicionarMaisCredito6: TButton;
btn_SalvarCredito6: TButton;
btn_CarregarCreditoSalvo6: TButton;
gb_ComandosRemotos6: TGroupBox;
btn_Desligar6: TButton;
btn_Reiniciar6: TButton;
btn_Bloquear6: TButton;
btn_BloquearTela6: TButton;
btn_BloquearMouse6: TButton;
btn_BloquearTeclado6: TButton;
btn_DesligarMonitor6: TButton;
gb_Informacoes6: TGroupBox;
lbl_NomeCliente6: TLabel;
lbl_ClienteAnterior6: TLabel;
lbl_TempoAdicionado6: TLabel;
lbl_ValorPagar6: TLabel;
lbl_SatusPagamento6: TLabel;
lbl_ValorTempoAberto6: TLabel;
pnl_NomeCliente6: TPanel;
pnl_ClienteAnterior6: TPanel;
pnl_TempoAdicionado6: TPanel;
pnl_ValorPagar6: TPanel;
pnl_StatusPagamento6: TPanel;
pnl_ValorTempoAberto6: TPanel;
pnl_PC7: TPanel;
lbl_Sistema7: TLabel;
lbl_EmailDesenvolvedor7: TLabel;
gb_HoraEntrada7: TGroupBox;
pnl_HoraEntrada7: TPanel;
gb_HoraSaida7: TGroupBox;
pnl_HoraSaida7: TPanel;
gb_TempoRestante7: TGroupBox;
pnl_TempoRestante7: TPanel;
gb_TempoCorrido7: TGroupBox;
pnl_TempoCorrido7: TPanel;
gb_ComandosLocais7: TGroupBox;
btn_AdicionarCredito7: TButton;
btn_FecharCredito7: TButton;
btn_AdicionarMaisCredito7: TButton;
btn_SalvarCredito7: TButton;
btn_CarregarCreditoSalvo7: TButton;
gb_ComandosRemotos7: TGroupBox;
btn_Desligar7: TButton;
btn_Reiniciar7: TButton;
btn_Bloquear7: TButton;
btn_BloquearTela7: TButton;
btn_BloquearMouse7: TButton;
btn_BloquearTeclado7: TButton;
btn_DesligarMonitor7: TButton;
gb_Informacoes7: TGroupBox;
lbl_NomeCliente7: TLabel;
lbl_ClienteAnterior7: TLabel;
lbl_TempoAdicionado7: TLabel;
lbl_ValorPagar7: TLabel;
lbl_ValorTempoAberto7: TLabel;
pnl_NomeCliente7: TPanel;
pnl_ClienteAnterior7: TPanel;
pnl_TempoAdicionado7: TPanel;
pnl_ValorPagar7: TPanel;
pnl_StatusPagamento7: TPanel;
pnl_ValorTempoAberto7: TPanel;
lbl_StatusPagamento7: TLabel;
pnl_PC8: TPanel;
lbl_Sistema8: TLabel;
lbl_EmailDesenvolvedor8: TLabel;
gb_HoraEntrada8: TGroupBox;
pnl_HoraEntrada8: TPanel;
gb_HoraSaida8: TGroupBox;
pnl_HoraSaida8: TPanel;
gb_TempoRestante8: TGroupBox;
pnl_TempoRestante8: TPanel;
gb_TempoCorrido8: TGroupBox;
pnl_TempoCorrido8: TPanel;
gb_ComandosLocais8: TGroupBox;
btn_AdicionarCredito8: TButton;
btn_FecharCredito8: TButton;
btn_AdicionarMaisCredito8: TButton;
btn_SalvarCredito8: TButton;
btn_CarregarCreditoSalvo8: TButton;
gb_ComandosRemotos8: TGroupBox;
btn_Desligar8: TButton;
btn_Reiniciar8: TButton;
btn_Bloquear8: TButton;
btn_BloquearTecla8: TButton;
btn_BloquearMouse8: TButton;
btn_BloquearTeclado8: TButton;
btn_DesligarMonitor8: TButton;
gb_Informacoes8: TGroupBox;
lbl_NomeCliente8: TLabel;
lbl_ClienteAnterior8: TLabel;
lbl_TempoAdicionado8: TLabel;
lbl_ValorPagar8: TLabel;
lbl_StatusPagamento8: TLabel;
lbl_ValorTempoAberto8: TLabel;
pnl_NomeCliente8: TPanel;
pnl_ClienteAnterior8: TPanel;
pnl_TempoAdicionado8: TPanel;
pnl_ValorPagar8: TPanel;
pnl_StatusPagamento8: TPanel;
pnl_ValorTempoAberto8: TPanel;
ts_Configuracoes: TTabSheet;
gb_ConfiguraConexao: TGroupBox;
edt_IPPC1: TLabeledEdit;
edt_IPPC2: TLabeledEdit;
edt_IPPC3: TLabeledEdit;
edt_IPPC4: TLabeledEdit;
edt_IPPC5: TLabeledEdit;
edt_IPPC6: TLabeledEdit;
edt_IPPC7: TLabeledEdit;
edt_IPPC8: TLabeledEdit;
edt_PortaPC1: TLabeledEdit;
edt_PortaPC2: TLabeledEdit;
edt_PortaPC3: TLabeledEdit;
edt_PortaPC4: TLabeledEdit;
edt_PortaPC8: TLabeledEdit;
edt_PortaPC7: TLabeledEdit;
edt_PortaPC6: TLabeledEdit;
edt_PortaPC5: TLabeledEdit;
img_Logo: TImage;
lbl_Informacao: TLabel;
btn_Aplicar: TButton;
btn_Cancelar: TButton;
od_SelecionaSkin: TOpenDialog;
img_Logo2: TImage;
Label1: TLabel;
Label2: TLabel;
jfm_Ima: TJvFormMagnet;
procedure t_DataHoraAtualTimer(Sender: TObject);
procedure lbl_EmailDesenvolvedor1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Sair1Click(Sender: TObject);
procedure Sobreosistema1Click(Sender: TObject);
procedure picosdeajuda1Click(Sender: TObject);
procedure Configuraes1Click(Sender: TObject);
procedure btn_AplicarClick(Sender: TObject);
procedure btn_CancelarClick(Sender: TObject);
procedure ts_ConfiguracoesShow(Sender: TObject);
procedure Calculadora1Click(Sender: TObject);
procedure MeuComputador1Click(Sender: TObject);
procedure AtualizarStatus1Click(Sender: TObject);
procedure Iniciarcrdito1Click(Sender: TObject);
procedure btn_FecharCredito1Click(Sender: TObject);
procedure Desligarcomputador1Click(Sender: TObject);
procedure Reiniciarcomputador1Click(Sender: TObject);
procedure Bloquearcomputador1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_Principal: Tfrm_Principal;
ArqConfiguracao: TIniFile;
implementation
uses
USobre, UTestaConexao, UAdicionaTempo;
{$R *.dfm}
procedure Tfrm_Principal.AtualizarStatus1Click(Sender: TObject);
begin
// ---> Mostra o assistente de teste de conexão
frm_TestarConexao.ShowModal;
end;
procedure Tfrm_Principal.Bloquearcomputador1Click(Sender: TObject);
begin
end;
procedure Tfrm_Principal.btn_AplicarClick(Sender: TObject);
var
data: TIniFile;
begin
data := TIniFile.Create('config\config.ini'); // Nome do arquivo Ini que será criado
// ---> O conteúdo será gravado
data.WriteString('ip', 'ip1', edt_ippc1.Text);
data.WriteString('ip', 'ip2', edt_ippc2.Text);
data.WriteString('ip', 'ip3', edt_ippc3.Text);
data.WriteString('ip', 'ip4', edt_ippc4.Text);
data.WriteString('ip', 'ip5', edt_ippc5.Text);
data.WriteString('ip', 'ip6', edt_ippc6.Text);
data.WriteString('ip', 'ip7', edt_ippc7.Text);
data.WriteString('ip', 'ip8', edt_ippc8.Text);
data.WriteString('port', 'port1', edt_portapc1.Text);
data.WriteString('port', 'port2', edt_portapc2.Text);
data.WriteString('port', 'port3', edt_portapc3.Text);
data.WriteString('port', 'port4', edt_portapc4.Text);
data.WriteString('port', 'port5', edt_portapc5.Text);
data.WriteString('port', 'port6', edt_portapc6.Text);
data.WriteString('port', 'port7', edt_portapc7.Text);
data.WriteString('port', 'port8', edt_portapc8.Text);
data.Free; //Libera a memória
MessageDlg('As informações foram salvas com êxito! :)', mtInformation, [mbOK], 0); // Mostra menssagem mostrando que a informações foram salvas
end;
procedure Tfrm_Principal.btn_CancelarClick(Sender: TObject);
begin
// ---> Esconde a aba de configurações
if MessageDlg('Configuração do Sistema' + #13 + 'Você salvou as configurações antes de fechar?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin // Caso responda que Sim...
ts_Configuracoes.TabVisible := False; // ...esconde a aba configurações.
pc_Computadores.ActivePage := ts_PC1; // Mostra a aba do PC 1
ts_PC1.SetFocus; // Direciona a tenção para a aba do PC 1
end else // Fim, mas caso...
ts_Configuracoes.TabVisible := True; // ...a resposta seja "Não", deixa a aplicação rodando
pc_Computadores.ActivePage := ts_Configuracoes; // Seleciona a aba configurações
ts_Configuracoes.SetFocus; // Direciona a atenção para a aba Configurações
end;
procedure Tfrm_Principal.btn_FecharCredito1Click(Sender: TObject);
begin
// ---> Limpa todas as informações
if MessageDlg('Limpar informações PC1', 'Tem certeza que deseja limpar as informações do Cliente 1?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin // Pergunta se quer limpar, se disser sim...
// Limpa tudo...
pnl_HoraEntrada1.Caption := ('00:00:00');
pnl_HoraSaida1.Caption := ('00:00:00');
pnl_TempoRestante1.Caption := ('00:00:00');
pnl_TempoCorrido1.Caption := ('00:00:00');
pnl_ClienteAnterior1.Caption := (pnl_NomeCliente1.Caption);
pnl_NomeCliente1.Caption := ('Nenhum');
pnl_TempoAdicionado1.Caption := ('00:00:00');
pnl_ValorPagar1.Caption := ('R$ 00,00');
pnl_StatusPagamento1.Caption := ('Sem uso!');
pnl_ValorTempoAberto1.Caption := ('R$ 00,00');
MessageDlg('As informações foram limpas! :)', mtInformation, [mbOK], 0); // Mostra messagem que tudo foi limpo
end else // Mas caso responda que não
frm_Principal.SetFocus; // Volta para a janela principal
pc_Computadores.ActivePageIndex := 0; // Seleciona a primeira aba
MessageDlg('As informações não foram alteradas! :)', mtInformation, [mbOK], 0); // Mostra menssagem que nada foi alterado
end;
procedure Tfrm_Principal.Calculadora1Click(Sender: TObject);
begin
// ---> Executa a calculadora
WinExec('calc.exe',SW_Normal);
end;
procedure Tfrm_Principal.Configuraes1Click(Sender: TObject);
begin
// ---> Mostra a aba de configurações
ts_Configuracoes.TabVisible := True;
end;
procedure Tfrm_Principal.Desligarcomputador1Click(Sender: TObject);
begin
end;
procedure Tfrm_Principal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
// ---> Pedir confirmação para fechar a aplicação
if MessageDlg('Sair da aplicação' + #13 + 'Tem certeza que deseja encerrar a aplicação?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin // Caso responda que Sim...
Action := caFree; // ...deixa a ação livre para ser executada (fecha a aplicação).
end else // Fim, mas caso...
Action := caNone; // ...a resposta seja "Não", deixa a aplicação rodando
end;
procedure Tfrm_Principal.FormShow(Sender: TObject);
var
data: TIniFile;
begin
// ---> Ao exibir a janela principal (frm_Principal), mostra a primeira aba (PC1) do "pc_Computadores" (PageControl)
pc_Computadores.ActivePage := ts_PC1; // Exibe a primeira aba
// ---> Oculta a aba "Configurações"
ts_Configuracoes.TabVisible := False;
// ---> Verifica arquivo de Skin
end;
procedure Tfrm_Principal.Iniciarcrdito1Click(Sender: TObject);
begin
// ---> Mostra dialogo para adicionar crédito
frm_AdicionarCredito.ShowModal;
end;
procedure Tfrm_Principal.lbl_EmailDesenvolvedor1Click(Sender: TObject);
begin
// --- > Ao clicar no Email (lbl_EmailDesenvolvedor) copia o Email para a área de transferência (adicionado "Clipbrd" nas Uses), mostra menssagem
Clipboard.AsText := lbl_EmailDesenvolvedor1.Caption; // Copia Email para área de transferência
MessageDlg('Email copiado para a área de transferência!', mtInformation, [mbOK], 0); // Mostra menssagem
end;
procedure Tfrm_Principal.MeuComputador1Click(Sender: TObject);
begin
// ---> Mostra o "Meu Computador"
WinExec('exeplorer.exe',SW_Normal);
end;
procedure Tfrm_Principal.picosdeajuda1Click(Sender: TObject);
begin
// ---> Mostra onde obter ajuda
MessageDlg('Você pode obter ajuda com o desenvolvedor do sistema pelo endereço de Email: manefilho1@hotmail.com ou pode solicitar a presença do mesmo. Esse endereço pode ser usado como menssageiro instantanêo.', mtInformation, [mbOK], 0); // Mostra menssagem
end;
procedure Tfrm_Principal.Reiniciarcomputador1Click(Sender: TObject);
begin
end;
procedure Tfrm_Principal.Sair1Click(Sender: TObject);
begin
// ---> Chama a ação "Close"
Close;
end;
procedure Tfrm_Principal.Sobreosistema1Click(Sender: TObject);
begin
// ---> Mostra a janela "Sobre" (frm_Sobre) [Adicionado "USobre" nas Uses)
frm_Sobre.ShowModal;
end;
procedure Tfrm_Principal.ts_ConfiguracoesShow(Sender: TObject);
var
data: TIniFile;
begin
data := TIniFile.Create('config\config.ini'); // Nome do arquivo Ini que será criado
// ---> O conteúdo será lido
edt_ippc1.Text := data.ReadString('ip', 'ip1', '');
edt_ippc2.Text := data.ReadString('ip', 'ip2', '');
edt_ippc3.Text := data.ReadString('ip', 'ip3', '');
edt_ippc4.Text := data.ReadString('ip', 'ip4', '');
edt_ippc5.Text := data.ReadString('ip', 'ip5', '');
edt_ippc6.Text := data.ReadString('ip', 'ip6', '');
edt_ippc7.Text := data.ReadString('ip', 'ip7', '');
edt_ippc8.Text := data.ReadString('ip', 'ip8', '');
edt_portapc1.Text := data.ReadString('port', 'port1', '');
edt_portapc2.Text := data.ReadString('port', 'port2', '');
edt_portapc3.Text := data.ReadString('port', 'port3', '');
edt_portapc4.Text := data.ReadString('port', 'port4', '');
edt_portapc5.Text := data.ReadString('port', 'port5', '');
edt_portapc6.Text := data.ReadString('port', 'port6', '');
edt_portapc7.Text := data.ReadString('port', 'port7', '');
edt_portapc8.Text := data.ReadString('port', 'port8', '');
data.Free; //Libera a memória
end;
procedure Tfrm_Principal.t_DataHoraAtualTimer(Sender: TObject);
begin
// ---> Muda campos do StatusBar (sb_BarraDeStatus)
sb_BarraDeStatus.Panels[0].Text := 'Administrador: LBV'; // Obtem nome do Administrador
sb_BarraDeStatus.Panels[1].Text := 'Balcão - Lan House Bela Vista'; // Nome do computador
sb_BarraDeStatus.Panels[2].Text := '' + FormatDateTime('dddd", "dd" de "mmmm" de "yyyy', Now); // Obtem data atual do sistema
sb_BarraDeStatus.Panels[3].Text := '' + FormatDateTime('hh:mm:ss', Now); // Obtem hora atual do sistema
end;
end.

 

 

Esse é o código fonte do programa dos computadores dos clientes (Form Principal):

 

 

 

 

{-----------------------------------------------------------------------------------
Controle de Computadores - Lan House Bela Vista
Versão: 2.0 Revisão: 36 Source: 2.0
Essa é a Source (código fonte) da janela principal, ou seja, a primeira janela do
programa. A sua edição é permitida, lembre-se de não omitir os créditos dos desenvolvedores
originais ou dos recursos utilizados. Você pode usar como base esse código fonte, mas
não pode altera-lo para vende-lo. A venda de todo ou parte do programa é restrita, o
seu código fonte é aberto e pode ser alterado como desejado.
Caso altere algo e queira destribuir, você pode adicionar seus créditos na janela
"Sobre" (frm_Sobre). Adicione seu nome e o que alterou no programa. Não utilize esses
códigos fontes em outros projetos sem comunicar ao desenvolvedor original.
Esse código fonte foi desenvolvido sob medida para a Lan House Bela Vista. A cópia
para uso em outra forma é restrita a não ser que seja comunicado ao desenvolvedor do
programa.
Desenvolvido por: Francisco Assis Dantas Filho Email: manefilho1@hotmail.com
------------------------------------------------------------------------------------}
unit UPrincipal;
interface
{-----------------------------------------------------------------------------------
---> Adicionado a Uses
IniFiles - Adicionado a Uses para criar e manipular arquivos de informação de
configuração, ou seja, usado para manipular arquivos "Ini" ou "Inf".
------------------------------------------------------------------------------------}
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, ExtCtrls, jpeg, pngimage, ScktComp;
type
Tfrm_Principal = class(TForm)
img_background: TImage;
pnl_titulo: TPanel;
t_relogio: TTimer;
pnl_relogio: TPanel;
t_protecao: TTimer;
ss_server: TServerSocket;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure t_relogioTimer(Sender: TObject);
procedure t_protecaoTimer(Sender: TObject);
procedure ss_serverClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
fecha: Boolean;
end;
var
frm_Principal: Tfrm_Principal;
implementation
{$R *.dfm}
Function GetStateK (Key: integer): boolean;
begin
Result := Odd (GetKeyState (Key));
end;
procedure Tfrm_Principal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
If Not fecha Then
Action := caNone Else
Action := caFree;
end;
procedure Tfrm_Principal.FormKeyPress(Sender: TObject; var Key: Char);
begin
If GetStateK (VK_LMENU) And (Key = 'VK_F4') Then
fecha := False;
end;
procedure Tfrm_Principal.FormShow(Sender: TObject);
var
data: TIniFile;
begin
// ---> Carrega título da janela, e título do Label
data := TIniFile.Create('config\config.ini'); // Nome do arquivo Ini que será criado
// ---> O conteúdo será gravado
frm_Principal.Caption := data.ReadString('cliente', 'nome', '');
pnl_titulo.Caption := data.ReadString('cliente', 'nome', '');
data.Free; //Libera a memória
pnl_relogio.Caption := '' + FormatDateTime('dddd", "dd" de "mmmm" de "yyyy', Now) + ' ' + FormatDateTime('hh:mm:ss', Now); // Obtem data atual do sistema
end;
procedure Tfrm_Principal.ss_serverClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Socket.ReceiveText = 'desligar' then begin
WinExec('shutdown.exe -s -t 01', SW_NORMAL);
end else
if Socket.ReceiveText = 'reiniciar' then begin
WinExec('shutdown.exe -r -t 01', SW_NORMAL);
end else
if Socket.ReceiveText = 'desbloquear' then begin
end else
if Socket.ReceiveText = 'bloquear' then begin
end else
if Socket.ReceiveText = 'bloqueartela' then begin
end else
if Socket.ReceiveText = 'bloquearmouse' then begin
end else
if Socket.ReceiveText = 'bloquearteclado' then begin
end else
if Socket.ReceiveText = 'desligarmonitor' then begin
end else
if Socket.ReceiveText = 'tempoesgotado' then begin
end;
end;
procedure Tfrm_Principal.t_protecaoTimer(Sender: TObject);
begin
frm_Principal.SetFocus;
end;
procedure Tfrm_Principal.t_relogioTimer(Sender: TObject);
begin
pnl_relogio.Caption := '' + FormatDateTime('dddd", "dd" de "mmmm" de "yyyy', Now) + ' ' + FormatDateTime('hh:mm:ss', Now); // Obtem data atual do sistema
end;
end.

 

Form onde contém o Panel para contar o tempo:

 

 

 

 

unit UContador;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, ExtCtrls, MPlayer;
type
Tfrm_Contador = class(TForm)
pnl_contador: TPanel;
t_aviso: TTimer;
t_contador: TTimer;
t_contadorR: TTimer;
mp_audio: TMediaPlayer;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure t_avisoTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
fecha: Boolean;
end;
var
frm_Contador: Tfrm_Contador;
implementation
{$R *.dfm}
Function GetStateK (Key: integer): boolean;
begin
Result := Odd (GetKeyState (Key));
end;
procedure Tfrm_Contador.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
If Not fecha Then
Action := caNone Else
Action := caFree;
end;
procedure Tfrm_Contador.FormKeyPress(Sender: TObject; var Key: Char);
begin
If GetStateK (VK_LMENU) And (Key = 'VK_F4') Then
fecha := False;
end;
procedure Tfrm_Contador.FormShow(Sender: TObject);
var
data: TIniFile;
begin
// ---> Carrega título da janela, e título do Label
data := TIniFile.Create('config\config.ini'); // Nome do arquivo Ini que será criado
// ---> O conteúdo será gravado
frm_Contador.Caption := data.ReadString('cliente', 'contador', '');
data.Free; //Libera a memória
mp_audio.FileName := ('media\temp_missing.wav');
mp_audio.Open;
frm_Contador.Top := Screen.Height - frm_Contador.Height - 40;
frm_Contador.Left := Screen.Width - frm_Contador.Width - 5;
end;
procedure Tfrm_Contador.t_avisoTimer(Sender: TObject);
begin
if pnl_contador.Caption = ('00:03:00') then
begin
MessageDlg('Seu tempo está acabando!' + #13 + '' + #13 + 'O seu tempo está acabando, resta apenas 3 minutos! Salve o seu trabalho e/ou feche suas contas de rede sociais.', mtInformation, [mbOK], 0);
mp_audio.Play;
end;
end;
end.

 

O que eu quero é que os comandos do programa do balcão sejam enviados para o Servidor dos computadores clientes. Eu tento e não consigo, dá certo o Cliente se conecta ao Servidor e tudo, mais quando eu clico pra enviar o comando, nada acontece, principalmente para enviar o Texto do MaskEdit que tá no Balcão, para o Caption do Panel no Servidor. Aí tá sem o código fonte de enviar os comandos por que eu apaguei ontem e deixei o código assim como vocês tão vendo... Alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Vou analisar e ver o que consigo descobrir pra te ajudar.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.