Comunicar 2 terminales en una LAN (SOLUCIONADO)
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Comunicar 2 terminales en una LAN (SOLUCIONADO)
Amigos foreros:
Tengo el reto de comunicar 2 terminales (PC) en una LAN, me explico, necesito
que cuando en una terminal terminen de registrar un nuevo pedido se envíe un
mensaje (ALERT) a una terminal X avisando que ya hay un nuevo pedido.
Alguien que me tire una hebra para saber por donde jalar??
Saludos
Tengo el reto de comunicar 2 terminales (PC) en una LAN, me explico, necesito
que cuando en una terminal terminen de registrar un nuevo pedido se envíe un
mensaje (ALERT) a una terminal X avisando que ya hay un nuevo pedido.
Alguien que me tire una hebra para saber por donde jalar??
Saludos
Last edited by Armando on Fri Sep 04, 2015 9:44 pm, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- wilsongamboa
- Posts: 614
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
- Been thanked: 5 times
Re: Comunicar 2 terminales en una LAN
Armando buenas tardes
SOLO una idea
Crear una tabla en modo comartico con campos como
id_term
nom_term
mensaje
usuario
Leido
indexada por medio de id_terminal
donde se graba la factura o pedido
abres esa tabla y grabas
un registro con la informacion del terminal donde debe ser leído el nombre de tu terminal escribes el mensaje y en el otro terminal lo abres en base al id_term y lo muestras y eliminas ese registro o lo marcas como leído
Bueno solo es una idea
saludos
Wilson
SOLO una idea
Crear una tabla en modo comartico con campos como
id_term
nom_term
mensaje
usuario
Leido
indexada por medio de id_terminal
donde se graba la factura o pedido
abres esa tabla y grabas
un registro con la informacion del terminal donde debe ser leído el nombre de tu terminal escribes el mensaje y en el otro terminal lo abres en base al id_term y lo muestras y eliminas ese registro o lo marcas como leído
Bueno solo es una idea
saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com
Re: Comunicar 2 terminales en una LAN
Armando wrote:Amigos foreros:
Tengo el reto de comunicar 2 terminales (PC) en una LAN, me explico, necesito
que cuando en una terminal terminen de registrar un nuevo pedido se envíe un
mensaje (ALERT) a una terminal X avisando que ya hay un nuevo pedido.
Alguien que me tire una hebra para saber por donde jalar??
Saludos
Antiguamente se utilizaba los comandos de Sistema Operativo net send y/o el comando msg
Tambien hay utilidades para esta funcionalidad, por ejemplo: http://www.zhornsoftware.co.uk/stickies/
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN
Amigos:
Wilson, gracias por la idea, aunque el problema que tengo es ¿Cómo enviar
el mensaje a la otra terminal?
Cristóbal:
También gracias por el tip, voy a leer más a detalle la idea que me aportas, puede ser!
Recuerdo que alguna vez alguien del foro publico el código para conectar/chatear de PC
a PC, pero ahora que lo necesito no lo encuentro
Alguien más con más ideas?
Saludos
Wilson, gracias por la idea, aunque el problema que tengo es ¿Cómo enviar
el mensaje a la otra terminal?
Cristóbal:
También gracias por el tip, voy a leer más a detalle la idea que me aportas, puede ser!
Recuerdo que alguna vez alguien del foro publico el código para conectar/chatear de PC
a PC, pero ahora que lo necesito no lo encuentro
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Alguien más con más ideas?
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN
Wilson:
Dándole vuelta a tu idea, con un pequeño cambio, puede ser la solución.
El cambio sería:
Crear un timer para que la opción del usuario receptor, cada x tiempo, "vea"
si hay algo nuevo en la tabla abra un dialogo con la información necesaria
permitiendo al usuario borrar el mensaje.
Creo que por ahí pueden ir los tiros.
Alguna otra idea?
Saludos al foro
Dándole vuelta a tu idea, con un pequeño cambio, puede ser la solución.
El cambio sería:
Crear un timer para que la opción del usuario receptor, cada x tiempo, "vea"
si hay algo nuevo en la tabla abra un dialogo con la información necesaria
permitiendo al usuario borrar el mensaje.
Creo que por ahí pueden ir los tiros.
![Smile :)](./images/smilies/icon_smile.gif)
Alguna otra idea?
Saludos al foro
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Comunicar 2 terminales en una LAN
mi estimado:
una vez descargue esos ejemplos, los voy a buscar y si los encuentro los publico, eran del foro de clipper hace muchos años.
saludos.
una vez descargue esos ejemplos, los voy a buscar y si los encuentro los publico, eran del foro de clipper hace muchos años.
saludos.
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
- karinha
- Posts: 7933
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN
Tocayo Lagunas:
Muchas gracias por la intención. Karinha ya puso el link.
Karinha:
Muchas gracias por el link, ahora tengo mas opciones.
Grandioso foro.
Saludos
Muchas gracias por la intención. Karinha ya puso el link.
Karinha:
Muchas gracias por el link, ahora tengo mas opciones.
Grandioso foro.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN
Amigos:
Pues ya quedó resuelto el problema, la solución fue tomar
la idea de Wilson y con el Timer y algunos otros detalles ha
quedado resuelto mi problema.
Gracias a todos
Saludos foreros
Pues ya quedó resuelto el problema, la solución fue tomar
la idea de Wilson y con el Timer y algunos otros detalles ha
quedado resuelto mi problema.
Gracias a todos
Saludos foreros
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- wilsongamboa
- Posts: 614
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
- Been thanked: 5 times
Re: Comunicar 2 terminales en una LAN (SOLUCIONADO)
Armando muy bien !!!
Si compartes algo de codigo se agradece
saludos
Wilson
Si compartes algo de codigo se agradece
saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN (SOLUCIONADO)
Wilson:
Que parte del código te interesa?, uso ADO!
Saludos
Que parte del código te interesa?, uso ADO!
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- wilsongamboa
- Posts: 614
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
- Been thanked: 5 times
Re: Comunicar 2 terminales en una LAN (SOLUCIONADO)
La parte visual
y algo del proceso
gracias
Wilson
pd: Muy interesante seria crear una clase en base a tu codigo para separar componentes e ir generando una usable por todos, ya que por ejemplo yo trabajo con adsntx
y algo del proceso
gracias
Wilson
pd: Muy interesante seria crear una clase en base a tu codigo para separar componentes e ir generando una usable por todos, ya que por ejemplo yo trabajo con adsntx
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Comunicar 2 terminales en una LAN (SOLUCIONADO)
Wilson y amigos del foro:
La idea es que cuando una PC términal registra una nueva orden de fabricación,
el área de fabricación reciba un aviso inmediatamente.
Siguiendo tu idea, cree una tabla donde se registra número de orden, fecha y
hora de la nueva orden de fabricación.
En el PRG main() puse un Timer para que cada x tiempo, en mi caso 5 minutos "vea" si hay
nuevos registros en la tabla AVISOS
Si hay registros nuevos son mostrados en un diálogo ON TOP y espera respuesta del usuario
del área de producción, cuando el usuario da clic sobre el botón ENTERADO se actualiza la
tabla con fecha y hora en que se dio clic. Es muy simple.
Esta es la imagen
[img]
http://postimg.org/image/6cegtrckp/[/img]
La idea es que cuando una PC términal registra una nueva orden de fabricación,
el área de fabricación reciba un aviso inmediatamente.
Siguiendo tu idea, cree una tabla donde se registra número de orden, fecha y
hora de la nueva orden de fabricación.
Code: Select all | Expand
// Agregamos la orden a los avisos
cCmdSql := "INSERT INTO " +;
"Avisos " +;
"SET " +;
"Avi_Ord = " + STR(oOrd:ORD,7,0) + "," +;
"Avi_Rev = " + STR(oOrd:REV,2,0) + "," +;
"Avi_Usu = 'Jesus A'," +;
"Avi_Fde = '" + DTOS(DATE()) + "'," +;
"Avi_Hde = '" + TIME() + "'," +;
"Avi_Lei = " + STR(0,1,0)
En el PRG main() puse un Timer para que cada x tiempo, en mi caso 5 minutos "vea" si hay
nuevos registros en la tabla AVISOS
Code: Select all | Expand
STATIC FUNCTION Tiempo()
// 60,000 es igual a 1 minuto, se crea y se activa solo una vez
DEFINE TIMER oTimer OF oWindow INTERVAL 10000 ACTION Revisar()
oTimer:Activate()
RETURN(NIL)
FUNCTION Revisar()
LOCAL oRsAvi
LOCAL oDlg
LOCAL aGets := ARRAY(03)
LOCAL oSays
LOCAL cSays
LOCAL oFont1
LOCAL oFont2
LOCAL nDiaDif := 0
LOCAL oAceptar
IF lVentana
lVentana := (.F.)
oSays := ARRAY(08)
cSays := ARRAY(08)
TRY
oRsAvi:= TOleAuto():New("adodb.recordset")
CATCH oError
MsgStop( "No se ha podido crear el RECORDSET de MENSAJES !", oApp:cAplicacion)
ShowError(oError)
oRsAvi := NIL
RETURN(.F.)
END
oRsAvi:CursorLocation := adUseClient
oRsAvi:LockType := adLockOptimistic
oRsAvi:CursorType := adOpenDynamic
oRsAvi:Source := "SELECT " +;
"* " +;
"FROM " +;
"Avisos " +;
"WHERE " +;
"! AVI_LEI"
oRsAvi:ActiveConnection(oApp:oCon)
TRY
oRsAvi:Open()
CATCH oError
MsgStop( "No se ha podido abrir el RECORDSET Mensajes !", oApp:cAplicacion)
ShowError(oError)
RETURN(.F.)
END
IF oRsAvi:BOF() .AND. oRsAvi:EOF()
RETURN(.T.)
ELSE
oRsAvi:MoveFirst()
DO WHILE ! oRsAvi:EOF()
nDiaDif := ROUND(DATE() - oRsAvi:Fields("AVI_FDE"):Value,0)
DO CASE
CASE nDiaDif == 0
cSays[01] := "Hoy:"
CASE nDiaDif == 1
cSays[01] := "Ayer:"
CASE nDiaDif == 2
cSays[01] := "Antier:"
OTHER
cSays[01] := "El día:"
ENDCASE
cSays[02] := DATE2TXT(oRsAvi:Fields("AVI_FDE"):Value)
cSays[03] := "A las"
cSays[04] := TIME()
cSays[05] := "Se registró la nueva orden"
cSays[06] := TRANSFORM(oRsAvi:Fields("AVI_ORD"):Value,"@Z 9999999")
cSays[07] := "Rev:"
cSays[08] := TRANSFORM(oRsAvi:Fields("AVI_REV"):Value,"@ 99")
DEFINE FONT oFont1 NAME "Arial" SIZE 0,-12
DEFINE FONT oFont2 NAME "Arial" SIZE 0,-20 BOLD
DEFINE DIALOG oDlg RESOURCE "SndMsg" OF oWindow COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE SAY oSays[01] VAR cSays[01] ID 101 OF oDlg FONT oFont1;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE SAY oSays[02] VAR cSays[02] ID 102 OF oDlg FONT oFont2;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE SAY oSays[03] VAR cSays[03] ID 103 OF oDlg FONT oFont1;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE SAY oSays[04] VAR cSays[04] ID 104 OF oDlg FONT oFont2;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE SAY oSays[05] VAR cSays[05] ID 105 OF oDlg FONT oFont1;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE GET aGets[01] VAR oRsAvi:Fields("AVI_ORD"):Value ID 106 OF oDlg UPDATE;
WHEN (.T.) .AND. (.F.) FONT oFont2;
PICTURE "@K 999999"
REDEFINE SAY oSays[07] VAR cSays[07] ID 107 OF oDlg FONT oFont1;
COLORS CLR_WHITE,RGB(060,097,145)
REDEFINE GET aGets[02] VAR oRsAvi:Fields("AVI_REV"):Value ID 108 OF oDlg UPDATE;
WHEN (.T.) .AND. (.F.) FONT oFont2;
PICTURE "@K 99"
REDEFINE BUTTON oAceptar ID 901 OF oDlg UPDATE;
ACTION (UpdAvi(oRsAvi),oDlg:END())
ACTIVATE DIALOG oDlg ON INIT SetWindowPos( oDlg:hWnd, -1, 0, 0, 0, 0, 3 )
oRsAvi:MoveNext()
ENDDO
lVentana := (.T.)
ENDIF
ENDIF
RETURN(NIL)
/*
* --------------------------------------------------------------------------*
* --------------------------------------------------------------------------*
*/
FUNCTION UpdAvi(oRsAvi)
LOCAL cCmdSql := ""
cCmdSql := "UPDATE " +;
"Avisos " +;
"SET " +;
"AVI_LEI = ! AVI_LEI,"+;
"AVI_FDL = '" + DTOS(DATE()) + "'," +;
"AVI_HDL = '" + TIME() + "' " +;
"WHERE " +;
"AVI_ORD = " + STR(oRsAvi:Fields("AVI_ORD"):Value,7,0) + " " +;
"AND " +;
"AVI_REV = " + STR(oRsAvi:Fields("AVI_REV"):Value,2,0)
TRY
oApp:oCon:Execute(cCmdSql)
CATCH oError
MsgInfo("No pude ejecutar el comando " + cCmdSql,oApp:cAplicacion)
RETURN(.F.)
END
RETURN(.T.)
Si hay registros nuevos son mostrados en un diálogo ON TOP y espera respuesta del usuario
del área de producción, cuando el usuario da clic sobre el botón ENTERADO se actualiza la
tabla con fecha y hora en que se dio clic. Es muy simple.
Esta es la imagen
[img]
http://postimg.org/image/6cegtrckp/[/img]
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- wilsongamboa
- Posts: 614
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
- Been thanked: 5 times
Re: Comunicar 2 terminales en una LAN (SOLUCIONADO)
Armando
Muchas gracias
Wilson
Muchas gracias
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com