![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias por responder tan pronto...
Verás, la seqüencia de caracteres para enviar al LPT1 y así abrir el cajón portamonedas es la siguiente: #27+'p0'+#100+#0 Todo lo que está en negrita es lo que necesita para abrirlo, ni mas ni menos. Lo que me encuentro es que al asignar mi variable global "cajon" de tipo String a ésta seqüencia el Delphi me da error, ya que interpreta cada comilla simple como un principio o final de cadena, y el resto "le sobra". O almenos eso es lo que yo entiendo. Ayuda algo lo que he dicho ahora? Muchas gracias. |
|
#2
|
|||
|
|||
|
prueba a poner lo sisguiente:
'#27+''p0''+#100+#0' en lugar de una comilla pon dos juntas, delphi las interpretara como una ![]() Creo q es esto lo q pides....
__________________
Hay 10 tipos de personas, las que entienden el código binario y las que no. ww.clubdelphi.com/foros/guiaestilo.php |
|
#3
|
||||
|
||||
|
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#4
|
|||
|
|||
|
El problema exacto es el siguiente:
La seqüencia para abrir el cajón la tengo en un fichero .ini, el cual leo al abrir mi aplicacion y asigno a una variable de tipo String llamada "cajon". Entonces, cuando quiero abrir el cajon a través del comando WriteLn(F, cajon), en lugar de abrirlo me imprime la seqüencia en la impresora; pero cuando pongo el comando WriteLn(F, #27+'p0'+#100+#0) abre el cajon sin problemas. Puede ser problema de la variable de tipo String? Nota: El cajon va a través de la impresora al puerto LPT1, al cual el fichero F está asignado. Gracias. |
|
#5
|
||||
|
||||
|
Al parecer Tecnic2 se resiste a poner el código, así que me aventuraré a contestar:
El problema no es de del tipo string, acabo de escribir tu cadena en un edit, pasarlo a una variable string y despues mostrarlo por pantalla y todo va bien. Lo unico que intuyo, es que al enviar la cadena por el puerto, el último caracter lo tome como caracter nulo y sea interpretado, en lugar de tormarlo literalmente, y por tanto, la secuencia de apertura no es la correcta. ¿Divagaciones mias? ![]() ![]() Intenta: WriteLn(F, cajon+#0) a ver que pasa Otra cosa es que la cadena deba ser interpretada antes de enviarla. Sin usar la variable, estas escribiendo codigos de control no?? Saludos Última edición por Lepe fecha: 17-11-2004 a las 11:57:15. |
|
#6
|
|||
|
|||
|
A ver, os voy a poner el fragmento de código:
Recuerdo que la cadena para abrir el cajon es: #27+'p0'+#100+#0 var cajon : String; F : TextFile; Ini : TIniFile; begin Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI')); AssignFile(F, 'LPT1'); Rewrite(F); cajon := FicheroIni.ReadString('LPT1', 'CAJON', '-'); WriteLn(F, cajon); end; WriteLn no me abre el cajon, sino que me escribe el texto en la impresora. Gracias por vuestra paciencia ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|