Página 1 de 1
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 12:51 pm
por perolero
Hola:
Necesito enviar un mandato MS-DOS al puerto serie y gao lo siguiente:
RUN "MODE COM1:19200,N,8,1"
y funciona perefctamente, pero lo que necesito es que este mandato se ajuste a las caracteristicas del puerto serie al que lo quiero enviar, para lo cual tengo en el fichero Empresa los valores adecuados.
Doy el siguiente mandato y no funciona:
RUN "MODE COM1:" + LTRIM(STR(::oEmpresa:Velocidad)) + "," + ::oEmpresa:Paridad + "," + LTRIM(STR(::oEmpresa:BitsDatos)) + "," + LTRIM(STR(::oEmpresa:BitsStop)))
pruebo de esta otra forma y tampoco:
RUN "'MODE COM1:' + LTRIM(STR(::oEmpresa:Velocidad)) + ',' + ::oEmpresa:Paridad + ',' + LTRIM(STR(::oEmpresa:BitsDatos)) + ',' + LTRIM(STR(::oEmpresa:BitsStop)"
alguien me puede decir que estoy haciendo mal.
Un saludo.
Emilio Gil.
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 1:15 pm
por emeasoft
Emilio:
NOTA: Esto no funcionará en Windows Vista / 7.
Tendrá que utilizar HBCOMM.LIB.
Sin embargo probar:
RUN( 'MODE COM1:' + LTRIM(STR(::oEmpresa:Velocidad)) + ',' + ::oEmpresa:Paridad + ',' + LTRIM(STR(::oEmpresa:BitsDatos)) + ',' + LTRIM(STR(::oEmpresa:BitsStop) )
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 4:18 pm
por perolero
Hola Mario:
Efectivamente yo tengo instalado Windows 7 y no funciona, me podrías decir como hacerlo con HBCOMM.LIB
Anticipadamente gracias.
Emilio Gil.
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 4:51 pm
por Christian
nHandle:=Init_Port( 'COM1', 9600, 8, 0, 0, 250 )
Init_Port("Com","Núm.Baudios","Bits de Datos","Paridad","Bits de Parada")
El 26/04/2011 11:18 a.m., Emilio Gil escribió:
> Hola Mario:
>
> Efectivamente yo tengo instalado Windows 7 y no funciona,
> me podrías decir como hacerlo con HBCOMM.LIB
>
> Anticipadamente gracias.
>
> Emilio Gil.
>
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 5:07 pm
por emeasoft
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 7:39 pm
por perolero
Hola Mario:
Si precisamente ese post lo escribí yo mismo, pero ya le digo, no consigo abrir el puerto si no es con la orden directa
RUN "MODE COM1:19200,N,8,1"
Un saludo,
Emilio Gil.
Ayuda con comando RUN
Publicado: Mar Abr 26, 2011 8:25 pm
por zeasoftware
Hace unas lunas, alguien puso el codigo siguiente, yo lo uso y me funciona
para comandos DOS.
/----------------------------------------------------------- -------------------
FUNCTION MYRUN(cComando, nStyle, lWait, lShowResult)
LOCAL oShell, RET, lRetorno:=.T., oErro
*
IF OS_IsWin9x() .or. OS_IsWin98()
RUN (cComando)
ELSE
IF valtype( nStyle ) != "N"
nStyle := 0
ENDIF
IF ValType( lWait ) != "L"
lWait := .T.
ENDIF
IF ValType( lShowResult ) != "L"
lShowResult := .F.
ENDIF
*
TRY
oShell := CreateObject( "WScript.Shell" )
IF !GetEnv( "OS" ) == "Windows_NT"
cComando += "start " + cComando
ENDIF
RET := oShell:Run( "%comspec% /c " + cComando, nStyle, lWait )
IF lShowResult .AND. RET > 0 .and. RET <= 32
MessageBox(,"Erro Win_Run(): " + Str( RET,,, .t. ))
ENDIF
oShell := NIL
lRetorno:=(RET==0)
CATCH oErro
TRY
RUN (cComando)
CATCH oErro
MessageBox(,'Erro ao rodar MYRUN()')
END
END
ENDIF
RETURN lRetorno
//---------------------------------------------------------- --------------------
"Emilio Gil" escribió en el mensaje de
noticias:4db70343$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Hola Mario:
Si precisamente ese post lo escribí yo mismo, pero ya le
digo, no consigo abrir el puerto si no es con la orden
directa
RUN "MODE COM1:19200,N,8,1"
Un saludo,
Emilio Gil.
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
Ayuda con comando RUN
Publicado: Mié Abr 27, 2011 12:33 pm
por xhermita
Prueba a poner un logDebug ("MODE COM1:" +
LTRIM(STR(::oEmpresa:Velocidad)) + "," + ::oEmpresa:Paridad + "," +
LTRIM(STR(::oEmpresa:BitsDatos)) + "," + LTRIM(STR(::oEmpresa:BitsStop)))
Y comprueba si la cadena corresponde con lo que tu quieres que se
ejecute en el RUN
Cuidado con los paréntesis que aquí sobra uno
> Doy el siguiente mandato y no funciona:
>
> RUN "MODE COM1:" + LTRIM(STR(::oEmpresa:Velocidad)) + "," +
> ::oEmpresa:Paridad + "," + LTRIM(STR(::oEmpresa:BitsDatos))
> + "," + LTRIM(STR(::oEmpresa:BitsStop)))
>
Y aquí falta uno
> pruebo de esta otra forma y tampoco:
>
> RUN "'MODE COM1:' + LTRIM(STR(::oEmpresa:Velocidad)) + ',' +
> ::oEmpresa:Paridad + ',' + LTRIM(STR(::oEmpresa:BitsDatos))
> + ',' + LTRIM(STR(::oEmpresa:BitsStop)"
>
Ayuda con comando RUN
Publicado: Sab Abr 30, 2011 3:02 am
por Marcelo Coelho Silva
Emilio,
A melhor solução para conecção serial (COM1,COm2,etc) é utilizar a
HBCOMM.LIB.
No caso do comando RUN, voce esta abrindo uma nova seção no emulador de
DOS do Windows (XP/VISTA/7) e após a execução do comando solicitado,
esta seção será fechada perdendo seus efeitos.
Atenciosamente,
Marcelo Coelho Silva
Brasil.
Em 26/04/2011 07:51, Emilio Gil escreveu:
> Hola:
>
> Necesito enviar un mandato MS-DOS al puerto serie y gao
> lo siguiente:
>
> RUN "MODE COM1:19200,N,8,1"
>
> y funciona perefctamente, pero lo que necesito es que este
> mandato se ajuste a las caracteristicas del puerto serie al
> que lo quiero enviar, para lo cual tengo en el fichero
> Empresa los valores adecuados.
>
> Doy el siguiente mandato y no funciona:
>
> RUN "MODE COM1:" + LTRIM(STR(::oEmpresa:Velocidad)) + "," +
> ::oEmpresa:Paridad + "," + LTRIM(STR(::oEmpresa:BitsDatos))
> + "," + LTRIM(STR(::oEmpresa:BitsStop)))
>
> pruebo de esta otra forma y tampoco:
>
> RUN "'MODE COM1:' + LTRIM(STR(::oEmpresa:Velocidad)) + ',' +
> ::oEmpresa:Paridad + ',' + LTRIM(STR(::oEmpresa:BitsDatos))
> + ',' + LTRIM(STR(::oEmpresa:BitsStop)"
>
> alguien me puede decir que estoy haciendo mal.
>
> Un saludo.
>
> Emilio Gil.
>