¿Es posible imprimir texto en varias líneas en un objeto OBJ_TEXT? - página 6

 
Реter Konow:
Puedes leer datos de un recurso usando ResourceReadImage, pero para hacerlo tienes que escribirlo allí usando ResourceCreate. La función ResourceCreate sólo acepta un array de datos uint, por lo que si necesitamos escribir un array de otro tipo de datos, tenemos que usar union. Declara varias matrices de diferentes tipos en él. Después de eso, podemos almacenar cualquier dato en el recurso, incluyendo cadenas. Para convertir la cadena en tipo char utilice StringToCharArray y viceversa utilice CharArrayToString. Por lo tanto, no se trata del kanvas en absoluto, sino del recurso en el que se puede escribir cualquier tipo de datos con la ayuda de las uniones.

Gracias por responder. Ese es exactamente el misterio del siglo para mí. Si no te importa, más detalles al respecto.

El recurso se crea con ResourceCreate a partir de datos uint, pero la lectura del recurso no tiene resultados. Y si lees las siguientes opiniones, entenderás por qué me he rendido, pero me has dado esperanzas.

 
Alexey Viktorov:

Gracias por responder. Ese es exactamente el misterio del siglo para mí. Si no te importa, más detalles al respecto.

El recurso se crea con ResourceCreate a partir de datos uint, pero la lectura del recurso no ha funcionado. Y si lees las siguientes opiniones, entenderás por qué me he rendido, pero me has dado esperanzas.

Eso no es lo que dice Peter :). Está en su propia longitud de onda. Ha esbozado un esquema de cómo se pueden intercambiar datos entre los EA a través de los recursos.

No tiene nada que ver con su tarea de reconocer la inscripción del lienzo...

 
Andrey Barinov:

Eso no es lo que dice Peter :). Está en su propia longitud de onda. Ha esbozado un esquema de cómo se pueden intercambiar datos entre las EA a través de los recursos.

No tiene nada que ver con su tarea de reconocer la leyenda de Kanvas...

No descarto que no haya formulado bien la pregunta.

Si creo un recurso, se guarda o puedo forzar su guardado. Y luego léelo. Lea exactamente el recurso, como se indica en la pregunta inicial.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

¿Es posible imprimir el texto en varias líneas en el objeto OBJ_TEXT?

Alexey Viktorov, 2019.08.05 09:30

Nueva pregunta: ¿Puedo leer el texto de un recurso en un lienzo?

Por ejemplo estas líneas, o cualquiera de ellas.

Propósito: El kanvas tiene una línea, que contiene una fecha. Esta es la fecha que queremos leer.

O utilizar uno de los viejos métodos probados, GV, archivo, gráfico u otra cosa.


 
Alexey Viktorov:

No descarto que no haya formulado bien la pregunta.

Si creo un recurso, se guarda o se puede guardar a la fuerza. Y luego léelo. Para leer exactamente el recurso, como se decía en la pregunta inicial.


Bueno, aquí está:

 
Andrey Barinov:

Bueno, ahí lo tienes:


Andrei, pero no me pasó desapercibido

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

¿Es posible imprimir el texto del objeto OBJ_TEXT en varias líneas?

Alexey Viktorov, 2019.08.06 13:19

Lo he encontrado, pero nada funciona. He intentado convertir el array en cadena, pero los tipos de array no coinciden. No sé cómo hacerlo funcionar. Quizá esté haciendo algo mal, pero todavía no hay ideas nuevas.


Y luego no ofreciste nada más.
 
Alexey Viktorov:

Gracias por responder. Ese es exactamente el misterio del siglo para mí. Si no le importa entrar en más detalles al respecto.

El recurso se ha creado mediante ResourceCreate a partir de datos uint, pero la lectura del recurso ha fallado. Y si lees las siguientes opiniones, entenderás por qué me rendí, pero tú me diste esperanzas.

Bien, intentaré entrar en más detalles.

1. Declarar la unión.

2. Dentro de la unión, se declaran varias matrices de diferentes tipos.

Por ejemplo:

//--------------------------------------------------------------------
union SEND{uchar char_Send[32000]; uint uint_Send[8000];};
union READ{uchar char_Read[32000]; uint uint_Read[8000];};
//--------------------------------------------------------------------


3. Para escribir una cadena necesitamos el array char_Send.

4. Para leer una cadena, necesitamos un array char_Read.

5. Supongamos que tenemos una cadena "aalksdjghalkfhaerlkvhelvkjhalekhavk" y queremos escribirla en un recurso. Lo hacemos:

int q = StringToCharArray("aalksdjghalkfhaerlkvkhelvkjhalekhavk",send.Char_Send);

Después de eso, nuestra cadena está en el array Char_Send.

6. Para que la cadena esté en el recurso, tenemos que guardar el array uint_Send en ResourceCreate();

ResourceCreate("::Имя_ресурса",send.uint_Send,8000,1,0,0,0,COLOR_FORMAT_XRGB_NOALPHA);

7. Es importante entender que al escribir la cadena en Char_Send, la hemos convertido al tipo char, y la cadena aparecerá automáticamente en el tipo uint. Esta es la esencia de los sindicatos. Si escribe una cadena en Char_Send, ya estará en Uint_Send. Sólo tienes que guardarlo con ResourceCreate();

8. Para extraer una cadena de un recurso, utilice ResourceReadImage(); especifique el nombre del recurso y pásele una matriz uint_Read.

ResourceReadImage("::Имя_ресурса",read.uint_Read,width,height);

9. Después de eso, la cadena presentada en uint_Read ya estará en el array char_Read (sin sobrescribirlo), y puedes extraerla de char_Read usando CharArrayToString().


Uf, creo que eso es todo...)

 
Реter Konow:

Bien, intentaré ser más específico.


Uf, creo que eso es todo...)

Gracias Peter, todo ha funcionado. Sólo cabe señalar que si se utiliza COLOR_FORMAT_XRGB_NOALPHA al crear un recurso, la imagen no es la misma, por decirlo suavemente. Si utilizamos COLOR_FORMAT_ARGB_NORMALIZE, la imagen es bonita, pero contiene múltiples símbolos. Probablemente debería experimentar con la página de códigos. Tal vez funcione...

 
Alexey Viktorov:

Gracias Peter, todo ha funcionado. Sólo cabe señalar que si se utiliza COLOR_FORMAT_XRGB_NOALPHA al crear un recurso, la imagen no es la misma, por decirlo suavemente. Si usamos COLOR_FORMAT_ARGB_NORMALIZE, la imagen es bonita, pero contiene múltiples símbolos. Probablemente debería experimentar con la página de códigos. Tal vez funcione...

Si el recurso debe almacenar una imagen, hay tres opciones para el tratamiento del color - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_ROW. Pero si el recurso es para almacenar datos, se debe utilizar la opción COLOR_FORMAT_XRGB_NOALPHA, porque el tratamiento del color es inadecuado.
 
Реter Konow:
Si el recurso debe almacenar una imagen, hay tres opciones para el procesamiento del color - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_RAW. Pero si el recurso es para almacenar datos, se debe utilizar la opción COLOR_FORMAT_XRGB_NOALPHA, porque el procesamiento del color no es apropiado.

Lo tengo, gracias. Resulta que tenemos que hacer dos recursos diferentes para la transferencia de imágenes y datos.

 
Alexey Viktorov:

Ya veo, gracias. Resulta que hay que hacer dos recursos diferentes para la imagen y la transferencia de datos.

Por supuesto.
Razón de la queja: