Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-12-2006
Wolfyx Wolfyx is offline
Registrado
 
Registrado: nov 2006
Posts: 5
Poder: 0
Wolfyx Va por buen camino
Leer codigo de barras y peso a travez de un puerto serie

A los amigos del foro
Estoy desarrollando una aplicacion que lea el codigo de barras y el peso de una balanza a travez del puerto serie, estoy usando los componentes de Asyncpro, alguien que me envie algun ejemplo de como asignar la cadena a un tedit y avance automaticamente al siguiente control (tedit).

saludos
gracias
Responder Con Cita
  #2  
Antiguo 01-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Despues de mandar la cadena al TEdit, manda un caracter TAB o ENTER segun lo tengas programado para que se salte al sgiuiente campo. Recuerda que la mayor parte de estos aparatos funcionan emulando un teclado.

No se si pudieras poner algo de código...seria mas fácil.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 01-12-2006
Wolfyx Wolfyx is offline
Registrado
 
Registrado: nov 2006
Posts: 5
Poder: 0
Wolfyx Va por buen camino
envio algo del codigo..

este es el codigo que tengo, te comento que para avanzar entre campos uso el enter o tab, es decir ambos...como te daras cuenta el problema les que si pasas un producto por el lector, la cadena se sigue concatenando...


procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
I : Word;
C : Char;
Cadena : String;
begin
cadena := '';
for I := 1 to Count do
begin
C := ApdComPort1.GetChar;
case C of
#0..#31 : //;
else cadena := cadena + C;
end;
end;
edit1.Text := edit1.Text + cadena;
end;

gracias por tu ayuda estimado AzidRain

perdon si no envio la respuesta de manera correcta, soy nuevo en el foro, y no se exactamente como funciona...
Responder Con Cita
  #4  
Antiguo 01-12-2006
Wolfyx Wolfyx is offline
Registrado
 
Registrado: nov 2006
Posts: 5
Poder: 0
Wolfyx Va por buen camino
este es el codigo que tengo, te comento que para avanzar entre campos uso el enter o tab, es decir ambos...como te daras cuenta en el codigo que pongo el problema es que si pasas un producto por el lector, la cadena se sigue concatenando...


procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
I : Word;
C : Char;
Cadena : String;
begin
cadena := '';
for I := 1 to Count do
begin
C := ApdComPort1.GetChar;
case C of
#0..#31 : //;
else cadena := cadena + C;
end;
end;
edit1.Text := edit1.Text + cadena;
end;

gracias por tu ayuda estimado AzidRain

perdon si no envio la respuesta de manera correcta, soy nuevo en el foro, y no se exactamente como funciona...
Responder Con Cita
  #5  
Antiguo 04-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
He estado trantando de subirte la respuesta pero no se que pasa pero no me deja... De todos modos te paso el tip directamente de mi cuate Mirko Gajic en
About.Com

Código Delphi [-]
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean) ;
{
Parameters :
* key : virtual keycode of the key to send. For printable keys this is simply the ANSI code (Ord(character)) .
* shift : state of the modifier keys. This is a set, so you can set several of these keys (shift, control, alt, mouse buttons) in tandem. The TShiftState type is declared in the Classes Unit.
* specialkey: normally this should be False. Set it to True to specify a key on the numeric keypad, for example.

Description:
Uses keybd_event to manufacture a series of key events matching the passed parameters. 
The events go to the control with focus. Note that for characters key is always the upper-case version of the character. Sending without any modifier keys will result in a lower-case character, sending it with [ ssShift ] will result in an upper-case character!
}
type
   TShiftKeyInfo = record
     shift: Byte ;
     vkey: Byte ;
   end;
   ByteSet = set of 0..7 ;
const
   shiftkeys: array [1..3] of TShiftKeyInfo =
     ((shift: Ord(ssCtrl) ; vkey: VK_CONTROL),
     (shift: Ord(ssShift) ; vkey: VK_SHIFT),
     (shift: Ord(ssAlt) ; vkey: VK_MENU)) ;
var
   flag: DWORD;
   bShift: ByteSet absolute shift;
   j: Integer;
begin
   for j := 1 to 3 do
   begin
     if shiftkeys[j].shift in bShift then
       keybd_event(shiftkeys[j].vkey, MapVirtualKey(shiftkeys[j].vkey, 0), 0, 0) ;
   end;
   if specialkey then
     flag := KEYEVENTF_EXTENDEDKEY
   else
     flag := 0;

   keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;
   flag := flag or KEYEVENTF_KEYUP;
   keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;

   for j := 3 downto 1 do
   begin
     if shiftkeys[j].shift in bShift then
       keybd_event(shiftkeys[j].vkey, MapVirtualKey(shiftkeys[j].vkey, 0), KEYEVENTF_KEYUP, 0) ;
   end;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
Example of usage:
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.SpeedButton1Click(Sender: TObject) ;
begin
// Simulate PRINTSCREEN - snapshot of the full screen
PostKeyEx32(VK_SNAPSHOT, [], False) ;

// Simulate PRINTSCREEN - snapshot of the active window
PostKeyEx32(VK_SNAPSHOT, [ssAlt], False) ;

// Simulate left Windows key
PostKeyEx32(VK_LWIN, [], False) ;

// Simulate Alt+F4 - close active window
PostKeyEx32(VK_F4, [ssAlt], False) ;
end;

Esta función simula teclazos directametne en tu aplicación, de manera que puedes insertar este codigo debajo del edit1.Text:=...
Código Delphi [-]
Edit1.SetFocus // Le das el foco al Edit donde vas a poner lo que leas del scanner
PostKeyEx32(VK_TAB,[],false) //Pasamos con un tab al siguiente control
Ya lo probe y funciona bien...
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda al leer el puerto serie alloger C++ Builder 7 15-11-2006 14:01:12
Leer Codigo de barras desde una imagen angara Gráficos 1 04-09-2006 00:48:08
Leer codigo de barras hunabku Varios 2 27-04-2005 16:14:39
problema al leer codigo de barras squenda OOP 3 30-06-2004 08:22:58


La franja horaria es GMT +2. Ahora son las 06:46:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi