Page 1 of 1

Imprimir un código ascii

PostPosted: Wed Jan 04, 2023 2:26 pm
by José Camilo
Buenos Días. Feliz año a todos!!!
Necesito imprimir un un código ascii que al ponerlo en mi editor no lo toma, (no se por que).
como puedo imprimirlo ?
Gracias

Re: Imprimir un código ascii

PostPosted: Wed Jan 04, 2023 2:48 pm
by cnavarro
Ponlo como Chr( nn )
"Mi cadena " + Chr( 88 ) + " Resto de cadena"

O es un problema de codepage
Por cierto, qué editor usas ?

Re: Imprimir un código ascii

PostPosted: Wed Jan 04, 2023 9:57 pm
by José Camilo
Gracias Cristobal.
Estoy usando el xEdit. Estoy viendo de reinstalar el Multi-Edit que tenia en otro disco que perdi.
Muchas Gracias.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 12:21 am
by José Camilo
Cristobal, le comento que no me funciono. imprime Í cuando pongo chr(205) que seria el guion medio continuo.
seguire buscando otra solucion.
Muchas gracias igual.

José Camilo

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 10:50 am
by Garbi
A mi me pasa lo mismo al imprimir chr(205) me sale í , pero si quieres imprimir = , el símbolo de igual .

Puedes hacerlo de dos maneras :

oPrn:Cmsay(4.2,0.8,("Factura nº ")+transform((cfactura)->numero,"@E 9,999,999")+" = "+chr(61),oFonttitulo)

chr(61) -> =

En esta https://ascii.cl/es/codigos-html.htm puedes ver que el chr(205) es equivalente a í y no esta el símbolo que buscas.

Pero hoy en día, por lo menos en el editor que gasto yo, puedo poner el símbolo que quiera para que lo imprima directamente : contexteditor

Espero que te sirva la respuesta.

Saludos.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 1:22 pm
by José Camilo
Muchas gracias Garbi.!!!
Estoy buscando imprimir la linea simple o doble pero continua que no es la misma que el =. esta es ═ que aca lo obtengo con ALT+205.
es lo que no logro. lo intento con esto: oPrn:Say(prow, pcol*5 ,Replicate('-',90) ,oCour_n_10). aca el caracter es el guion comun, no el continuo.
Al hacer oPrn:Say(prow, pcol*5 ,Replicate(chr(205),90) ,oCour_n_10) me imprime la i mayuscula acentuada.
Seguiremos buscando.
Muchas gracias.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 1:55 pm
by karinha
Simples:

Code: Select all  Expand view

// \SAMPLES\TESTPRN.PRG

// Printing a whole window sample
// You may use also :hardCopy() method without creating a PRINT object

#include "FiveWin.ch"

#define PAD_LEFT            0
#define PAD_RIGHT           1
#define PAD_CENTER          2

static oWnd

MEMVAR nCopias

FUNCTION Main()

   nCopias := 1  // ponga en el dialogo Number of copies.

   DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60 TITLE "Printing a Window"

   @ 3, 3 BUTTON "&Print me" OF oWnd SIZE 80, 20 ;
      ACTION PrintMe_Copias()  // try also with oWnd:HardCopy()

   ACTIVATE WINDOW oWnd

RETURN NIL

FUNCTION PrintMe_Copias()

   LOCAL nI

   FOR nI := 1 TO nCopias

      SYSREFRESH()

      PrintMe()

   NEXT

RETURN NIL

FUNCTION PrintMe()

   LOCAL oPrn, oFont, oPen, aPrn
   LOCAL nLinI, nColI, nLinF, nColF

   aPrn := GetPrinters()

   IF Empty( aPrn ) // Empty( oPrn:hDC )

      MsgStop ("No se encontró impresora", "No se encontró impresora")

      RETURN NIL

   ENDIF

   PRINTER oPrn PREVIEW MODAL // PARA TESTAR A IMPRESSORA ANTES DE IMPRIMIR

   IF EMPTY( oPrn:hDC )

       MsgInfo ("HABÍA ALGO MAL CON LA IMPRESORA", "ENCIENDA LA IMPRESORA")

      oPrn:End()

      RETURN( .F. )

   ENDIF

   oPrn:End()

   // PRINT oPrn NAME "Impresión en Vertical.." PREVIEW
   PRINT oPrn PREVIEW

      DEFINE FONT oFont NAME "Arial" SIZE 0, -10 BOLD OF oPrn
      DEFINE PEN oPen WIDTH  2                        OF oPrn
 
      oPrn:SetPage(9)    // A4
      oPrn:SetPortrait() // Vertical

      PAGE

         nLinI :=  0.90
         nColI :=  0.90
         nLinF := 28.6
         nColF := 20.0

         oPrn:Cmtr2Pix(@nLinI, @nColI)
         oPrn:cmtr2Pix(@nLinF, @nColF)
         oPrn:Box(nLinI, nColI, nLinF, nColF, oPen  )
         oPrn:cmSay( 1.0,  1.0, "Superior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay( 1.0, 10.5, "Superior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay( 1.0, 20.0, "Superior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )

         // Simples:
         oPrn:cmSay( 5.0, 10.0, Replicate( OemToAnsi( "Í" ), 90 ), oFont,,CLR_BLACK,,PAD_CENTER )

         // .OR.
         oPrn:cmSay( 5.5, 10.0, Replicate( OemToAnsi( CHR(205) ), 90 ), oFont,,CLR_BLACK,,PAD_CENTER )

         oPrn:cmSay(28.0,  1.0, "Inferior Izquierda", oFont,,CLR_BLACK,,PAD_LEFT  )
         oPrn:cmSay(28.0, 10.5, "Inferior Centro",    oFont,,CLR_BLACK,,PAD_CENTER )
         oPrn:cmSay(28.0, 20.0, "Inferior Derecha",   oFont,,CLR_BLACK,,PAD_RIGHT )

      ENDPAGE

   ENDPRINT

   //   FWSavePreviewToPDF( oPrn, "Cartellino.pdf", .F. )

RETURN NIL
 


Regards, saludos.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 5:24 pm
by Garbi
Y poque no lo pones en la linea directamente

Code: Select all  Expand view
oPrn:Say(prow, pcol*5 ,Replicate("═", 90) ,oCour_n_10)
 

Es decir, poniendo directamente en el editor. A mi en mi editor no me hace falta poner el oemtoansi. Me coge el caracter directamente, como °, © etc.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 8:22 pm
by José Camilo
Karinha y Garbi.
Muchas gracias por su tiempo.
Karinha:
de ninguna de las 2 formas que sugieres obtengo lo que necesito.
en la primera me imprime otro caracter y en la segunda me imprime el guion comun o signo -.
Gracias.

Garbi:
con tu sugerencia me imprime el sigo = que no es lo que busco.
busco imprimir las caracteres con los que se forman recuadros o box, que son los guiones 'mas largos' o los signos = 'mas largos'.
no se si me explico.
Gracias.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 8:38 pm
by karinha
No és posible! Mira una imagen:

https://imgur.com/nGc4Uv4

Image

Que version de FWH usas?

Regards, saludos.

Re: Imprimir un código ascii

PostPosted: Thu Jan 05, 2023 9:15 pm
by karinha
Ó es esto?

Code: Select all  Expand view

         oPrn:cmSay( 6.0, 10.0, Replicate(  "_", 90 ), oFont,,CLR_BLACK,,PAD_CENTER )
 


Regards, saludos.

Re: Imprimir un código ascii

PostPosted: Fri Jan 06, 2023 12:59 am
by José Camilo
Karinha:
uso FWH 12.6
Tu mismo ejemplo demuestra lo que sucede.
Veamos si me explico mejor.
1 - El box que tu imprimes se logra con caracteres 'especiales' que NO están representados en el teclado por eso se recurre al código ascii.
2 - en dicho box se imprimen caracteres de guiones bajos completos (entre uno y otro NO hay separación)
3 - yo estoy tratando de usar esos caracteres especiales que son el guion MEDIO completo o el símbolo parecido al = pero es mas largo, con el siguiente no quedan espacios, se hace una linea doble continua. acá mismo oprimo alt+205 y obtengo ═ que no es lo mismo que =, me explico, los mismo pasa con el guion medio largo y el guion común como el que imprimes en tu ejemplo.
te cuento que descargue el editor CONTEXT y al escribir alt+205 obtengo un guion común.

No importa. no gastes mas tiempo. no es tan importante. le buscaré otra solución.

Muchas gracias por tu tiempo.

José

Re: Imprimir un código ascii

PostPosted: Fri Jan 06, 2023 6:30 pm
by acuellar
Estimado José

Y porque no hace líneas en vez de replicate
Code: Select all  Expand view

 oPrn:CmLine(nLn+0.1,1.8,nLn+0.1,19.0,oPen1)
 oPrn:CmLine(nLn+0.2,1.8,nLn+0.2,19.0,oPen1)
 

Re: Imprimir un código ascii

PostPosted: Fri Jan 06, 2023 8:21 pm
by José Camilo
Hola Adhemar.
Gracias por tu tiempo.
ya lo hice con tu sugerencia, el problema es que imprime con el guion bajo y buscaba hacerlo con el guion medio o el doble linea continuo.
ya buscare otra solución que sera imprimiendo la linea como dices pero manejando el espacio de salto entre lineas mas ajustado.
Muchas gracias!!!

José

Re: Imprimir un código ascii

PostPosted: Tue Jan 10, 2023 11:50 pm
by jacgsoft
- Usando el Bloc de notas del windows, te permite usar los códigos ASCCI, para hacer cuadros ╔═╗.

- Usando el Notepad++ (codificación UTF-8) tambien te permite usar los caracteres en cuestión.