Computador velho como terminal de consulta de preços, versão 2

Uma outra forma de por em prática o projeto de um terminal de consultas usando um PC antigo

Ao invés de uma página HTML estática que contenha a lista de produtos, página essa que exigiria edição manual para acréscimo e retirada de produtos em estoque, vamos usar uma página com um pouco de PHP para carregar automaticamente o arquivo TXT gerado pelo seu programa de automação, tornando a manutenção muito mais simples e rápida.

É uma alteração bem fácil e que não vai exigir muito mais da capacidade do PC, no entanto é aconselhável usar Windows XP no lugar do 98. 256 de RAM é recomendável.

PÁGINAS EM PHP PRECISAM DE UM SERVIDOR

Para que uma página com PHP funcione, você precisará de um servidor web rodando na máquina. A melhor opção nesse caso é o Server2Go. Baixe a versão mais simples e zipada aqui. Ele é um servidor portátil, ou seja, não precisa ser instalado e pode ser carregado até mesmo num pendrive.

CONFIGURANDO O SERVIDOR

Descompacte o Server2Go e copie a pasta para o lugar onde ele ficará no HD, recomendo que seja na raiz mesmo, em C:/

No diretório do programa, vá em htdocs e jogue dentro os arquivos terminal.txt e index.php (o arquivo de texto puro gerado pelo seu programa de automação e o arquivo contendo o código que eu forneço abaixo). Já existe um arquivo index.php nesse diretório. Você pode optar por renomear o arquivo original ou simplesmente substituí-lo.

EIS O CÓDIGO DA PÁGINA HTML COM PHP

Abra o bloco de notas e cole esse código. Salve com a extensão .php e com o nome index. Talvez você tenha algum problema na hora de copiar e colar o código e perca as quebras de linha. Se vire, quebre tudo manualmente caso isso aconteça e deixe exatamente como exibido abaixo, senão vai dar zebra (ATUALIZAÇÃO: não dá pra deixar o código aqui no wordpress. Faça o download aqui).

O QUE VOCÊ PRECISA CONFIGURAR

O endereço e nome do arquivo txt e o separador de campo (no exemplo, o separador é |)

$f = fopen("terminal.txt", "r");
while (!feof($f)) { 
$arrM = explode("|",fgets($f)); 

O nome do arquivo TXT pode ser o que você quiser e inclusive ficar em outra pasta, apenas lembre-se de alterar o endereço e nome dele no arquivo PHP. Já este obrigatoriamente precisa se chamar index para ser aberto automaticamente ao iniciar o servidor. O Server2Go funciona muito bem nesse projeto porque, ao ser executado, abre o Internet Explorer diretamente na página index que estiver no diretório htdocs.

Uma vez definido o local do servidor (que pode ser num pendrive se você preferir), crie um atalho para o executável dele (Server2Go.exe) no menu iniciar para que ele seja aberto ao ligar o computador. Lembre-se que a ideia é que tudo seja o mais automático possível, isso precisa ser um front-end.

A maneira mais rápida e sem complicação de criar esse atalho, caso você não saiba, preste atenção, é clicar e segurar com o botão direito do mouse o arquivo executável e arrastar até o botão Iniciar do Windows, esperar abrir o menu, ir até Programas – Inicializar e soltar o botão. No menu que aparecer, clique em “Criar atalhos aqui”. Veja:

criar-atalho

Pronto! Com isso feito, o servidor vai iniciar sozinho quando o computador for ligado e abrirá o Internet Explorer direto na sua página de consultas.

CALIBRANDO O WINDOWS

Como estamos usando o Windows XP e supondo que foi recém instalado, provavelmente a resolução do monitor deve estar em 800 x 600. Bem melhor que os 640 x 480 default do Windows 98. Por causa disso, alterei um pouco a aparência da página, aumentando o tamanho das fontes.

Vamos primeiro dar uma calibrada para deixar o Windows mais esperto. Comece indo no Painel de Controle – Sistema. Na aba Avançado, clique em Desempenho – Configurações. Marque “Ajustar para obter um melhor desempenho” e clique OK. Agora vá na aba Atualizações Automáticas e marque “Desativar Atualizações Automáticas”. Na aba Remoto, desmarque “Permitir o envio de convites de assistência remota deste computador”. Clique OK.

Ainda no Painel de Controle, abra Barra de tarefas e menu iniciar e deixe configurado como mostrado nas telas abaixo:

config-1

config-2

Agora uma parte importante. Como queremos que o PC fique por sua conta, é importante que ele não durma e nem desligue o vídeo. Ainda no Painel de Controle, clique em Vídeo. Na aba Proteção de tela, selecione (Nenhum) no menu de proteção de tela. Em seguida, clique no botão Energia… e deixe tudo como mostrado na figura abaixo:

config-3

CALIBRANDO O INTERNET EXPLORER

Uma vez que você já tenha criado o atalho e anteriormente copiado os arquivos terminal e index para o diretório do servidor, reinicie o PC para vermos como ele vai se comportar. Provavelmente muito mal, mostrando algo mais ou menos assim:

primeiravez

Esses malditos balões amarelos vão ficar querendo aparecer a todo momento, atrapalhando nosso negócio. Posteriormente mostrarei como desabilitá-los. A princípio clique nesse do tour para que o windows sossegue.

Siga essa mandinga à risca: estique para todos os cantos a janela do IE ao máximo, sem clicar no botão maximizar. Clique com o botão direito do mouse na barra de ferramentas e desmarque tudo. Agora clique em Exibir e desmarque Barra de status. Agora feche o IE e reinicie o computador.

Já melhorou, agora o IE abre ocupando quase toda a tela. Clique em Exibir – Tela inteira. Os botões aparecem? Clique em cima dessa barra e marque “Ocultar automaticamente”. Feche o IE e reinicie o PC. Se você fez direito, agora o navegador vai abrir sempre em fullscreen.

Caso isso não aconteça, vá até o menu Iniciar, clique em Executar, escreva regedit e dê Enter. Vá até o diretório do registro abaixo e altere a chave Fullscreen para “yes”:

regedit-1

Aproveite que você está com o editor de registros aberto, vá em [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer”, clique com o botão direito, Novo – Valor DWORD, dê o nome “NoSMBalloonTip” e valor 1. Isso resolve o problema dos balões. Não é moleza?

Feche tudo e reinicie pra ver como ficou. Teste a busca algumas vezes seguidas, usando o leitor de código de barras ou mesmo digitando parte do nome de um produto. Em determinado momento, o IE vai perguntar se você quer habilitar o recurso de auto completar. Clique em NÃO. Depois disso não haverá mais surpresas e o sistema funcionará sozinho sem perigo de parar.

A tela é essa:

tela1

Pra animar um pouco, pus um gif e o subtítulo com marquee.

Se você ligar o computador a uma rede via cabo ou Wi-Fi, compartilhe a pasta htdocs para acesso completo, desse modo você pode atualizar o arquivo terminal.txt diretamente da sua máquina principal.

Não vou explicar como criar uma rede entre dois computadores, pesquise no google por “rede windows xp” e você encontrará vários tutoriais, como esse por exemplo. Basicamente os dois PCs precisam estar num grupo de trabalho de mesmo nome e com a pasta htdocs compartilhada com acesso total.

Se não for possível colocar o PC em rede, vai ter que usar um pendrive mesmo.

É isso, divirta-se!

Computador velho como terminal de consulta de preços

POST DESATUALIZADO, VEJA ESTE.

Se você tem um comércio e utiliza algum tipo de sistema de automação para controlar seus produtos, deve estar familiarizado com aqueles terminais de consulta onde o cliente passa o código de barras e vê o preço do item. São aparelhos tão úteis quanto caros.

Como estou (finalmente!) começando a informatizar meu pequeno sebo fui procurar saber desses terminais, já que para mim seria importante ter controle fácil e total sobre os preços dos livros. Alguns variam muito de acordo com a época do ano, a moda e etc. Acredito que o melhor é não deixar o preço afixado neles. Por outro lado, a lei exige terminais em estabelecimentos onde o preço não esteja afixado no produto.

Daí eu me vi numa situação complicada porque investir mais de mil reais num terminal de consultas fica além das minhas possibilidades.

Como sou brasileiro e brasileiro é antes de tudo uma gambiarra, encontrei uma solução “elegante” para o problema. É isso mesmo, usar um PC antigo como terminal de consulta!

A lista de coisas que você vai precisar:

  1. CPU velha com porta USB (um Pentium III com uns 256 MB de RAM e um HD pequeno e OK serve bem)
  2. Teclado PS2 ou USB
  3. Mouse PS2 ou USB
  4. Monitor de qualquer tipo (um de tubo de 14 polegadas serve bem)
  5. Leitor de código de barras PS2 ou USB
  6. Sistema operacional Windows (98, ME ou XP)
  7. Pendrive de qualquer tamanho

O funcionamento é bem simples: uma página web aberta em tela cheia no navegador Internet Explorer. Nessa página existe um campo de busca. Quando o cliente aponta o leitor para o código de barras do produto e aperta o botão, a busca retorna na tela os dados do produto. Depois de alguns segundos a página recarrega automaticamente, voltando o foco para o campo de busca e permitindo uma nova consulta. O cliente não precisará usar o teclado ou o mouse, apenas o leitor.

Parece legal? E é, mas tudo isso tem seus inconvenientes. Você precisará atualizar esse arquivo manualmente quando inserir novos produtos no seu estoque e eventualmente para retirar os esgotados.

Ou seja, você terá que:

  1. gerar o arquivo de produtos no seu software de estoque (geralmente é um arquivo txt)
  2. abrir esse arquivo no bloco de notas e copiar o conteúdo
  3. abrir o arquivo html também no bloco de notas e colar o que você copiou no espaço determinado
  4. salvar o arquivo html no pendrive e jogar esse arquivo no computador terminal.

É um procedimento sem segredos e fácil para quem está familiarizado. Se você não faz ideia do que estou falando, melhor pagar para o técnico que cuida da automação do seu negócio fazer isso.

O código que vou compartilhar é escrito em html arcaico e funciona bem no IE6, idealmente usando resolução de tela de 640×480.

Eu testei apenas com o windows ME, sistema operacional que tenho original, mas imagino que funcione com 98 e XP. Em outros navegadores não garanto que fique OK.

Para facilitar, salve o arquivo html diretamente no desktop. Abra e tecle F11 para deixar em tela cheia. Ao abrir, a tela deve parecer assim:

tela1

Quando uma busca é feita, o resultado aparece na faixa amarela:

tela2

Caso o produto pesquisado não esteja na lista, aparecerá uma mensagem de aviso. Não se preocupe, não será necessário teclar ENTER porque a mensagem desaparece ao tentar uma nova consulta com o leitor, e a página volta a carregar normalmente:

tela3

Antes de te fornecer esse código gratuitamente e de forma grátis e de graça, que eu sei que você está ansioso para por suas mãos sovinas, deixe-me explicar alguns detalhes e dar algumas dicas enquanto admiramos juntos essa obra prima da webgambiarra.

O código é antigo, desatualizado e todo errado segundo os padrões atuais, mas funciona que é uma beleza, pelo menos no IE6 do jeito que ele vem instalado no Windows e com resolução baixíssima de 640 x 480.

Tentei manter a página o mais enxuta e leve possível e marotamente consegui esconder o campo de busca simplesmente deixando as cores iguais a do fundo amarelo.

É conveniente desligar a proteção de tela e a economia de energia do computador. Também seria muito bacana fazer uma caixa ou decoração em volta do monitor para se parecer mais com um terminal de consulta, esconder a CPU etc. Colocar um atalho para o arquivo no menu start para abrir ao ligar o PC e dar um jeito de alterar o arquivo via rede também são coisas fáceis de se implantar.

A página está configurada para dar um refresh a cada 10 segundos, o que julgo ser um tempo ideal para o cliente ver o preço e fazer outra consulta sem ter que esperar muito. A cada atualização, o cursor volta ao campo de busca, então não há perigo de se precisar clicar em nada. O leitor de código de barras precisa estar configurado para dar ENTER.

Quando você colar a lista de produtos dentro da tag TEXTAREA, deixe sempre uma linha em branco no começo e no final. Não tente aumentar ou mudar a fonte usada para mostrar o produto, nem alterar para mais o valor COLS da tag TEXTAREA, senão a página pode ficar muito larga e exibir uma barra de rolagem horizontal.

Eu testei o arquivo html usando 20000 linhas de produtos e não houve perda significativa de velocidade na busca ou no carregamento e recarregamento. A imagem no pé da página é apenas uma graça, você pode substituir pelo logotipo da sua loja ou algo assim.

É isso. Está aí o seu terminal de consultas barato e enorme. Eis o código:






CONSULTA DE PREÇO





var TRange = null;

function Procurar(str) {
if (parseInt(navigator.appVersion) < 4) return;
var Resultado;
if (window.find) {

// CODE FOR BROWSERS THAT SUPPORT window.find
Resultado=self.find(str);
if (Resultado && self.getSelection && !self.getSelection().anchorNode) {
Resultado=self.find(str)
}
if (!Resultado) {
Resultado=self.find(str,0,1)
while (self.find(str,0,1)) continue
}
}
else if (navigator.appName.indexOf("Microsoft")!=-1) {

// EXPLORER-SPECIFIC CODE
if (TRange!=null) {
TRange.collapse(false)
Resultado=TRange.findText(str)
if (Resultado) TRange.select()
}
if (TRange==null || Resultado==0) {
TRange=self.document.body.createTextRange()
Resultado=TRange.findText(str)
if (Resultado) TRange.select()
}
}

if (!Resultado) alert ("PRODUTO SEM CADASTRO, PROCURE O VENDEDOR") 
return;
}




body {
background-color:blue;
margin:0;
padding:0;
border:0;
font-family:sans-serif;
overflow-y: hidden
}

div {
margin:0;
padding:0;
border:0;
}
form {
margin:0;
padding:0;
border:0;
}

*:focus {outline: none;}

.cabeca {
background-color:blue; 
color:white;
text-align:center
}

.resultado {background-color:yellow}

#busca {background-color:yellow;color:yellow;border:0}

.botao {background-color:yellow;color:yellow;border:0}
.campo {
overflow: hidden;
font-weight:bold;
background-color:yellow;
border:0;
margin:0;
padding:0;
font-size:12px;
font-family:monospace;
color:#000000;
text-transform:uppercase
}
.barra {text-align: center}




BUSCA PREÇO

APONTE O LEITOR PARA O CÓDIGO DE BARRAS DO PRODUTO E APERTE O BOTÃO

AGUARDE A CONSULTA ANTERIOR APAGAR ANTES DE REALIZAR OUTRA

 

9788588561021 Produto A 40.00 9788501074591 Produto B 28.00 1000177914116 Produto C 252.00 1000177918343 Produto D 15.00 1000177934930 Produto E 35.00
barcode