É possível emitir texto em várias linhas em um objeto OBJ_TEXT? - página 6

 
Реter Konow:
Você pode ler os dados de um recurso usando ResourceReadImage, mas para fazê-lo você tem que escrevê-los lá usando ResourceCreate. A função ResourceCreate aceita apenas um array de dados uint, portanto, se precisarmos escrever um array de outro tipo de dados, temos que usar o union. Declare várias matrizes de diferentes tipos nele. Depois disso, podemos armazenar quaisquer dados no recurso, inclusive cordas. Para converter a corda em tipo char use StringToCharArray e vice versa use CharArrayToString. Portanto, não se trata de Kanvas, mas do recurso no qual você pode escrever qualquer tipo de dado com a ajuda dos sindicatos.

Obrigado por responder. Esse é exatamente o mistério do século para mim. Se você não se importa, mais detalhes sobre isso.

O recurso é criado usando ResourceCreate a partir de dados uint, mas a leitura do recurso não tem resultados. E se você ler as seguintes opiniões, você entenderá porque eu desisti, mas você me deu esperança.

 
Alexey Viktorov:

Obrigado por responder. Esse é exatamente o mistério do século para mim. Se você não se importa, mais detalhes sobre isso.

O recurso é criado usando ResourceCreate a partir de dados uint, mas a leitura do recurso não funcionou. E se você ler as seguintes opiniões, você entenderá porque eu desisti, mas você me deu esperança.

Não é isso que Peter diz :). Ele está em seu próprio comprimento de onda. Ele delineou um esquema de como os dados podem ser trocados entre EAs através de recursos.

Não tem nada a ver com sua tarefa de reconhecer a inscrição em Tela.

 
Andrey Barinov:

Não é isso que Peter diz :). Ele está em seu próprio comprimento de onda. Ele delineou um esquema de como os dados podem ser trocados entre EAs através de recursos.

Não tem nada a ver com sua tarefa de reconhecer a inscrição de Kanvas.

Não estou descartando o fato de não ter formulado a pergunta corretamente.

Se eu criar um recurso, ele será salvo ou posso forçá-lo a salvá-lo. E depois leia-o. Leia exatamente o recurso, como indicado na pergunta inicial.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

É possível emitir o texto em várias linhas no objeto OBJ_TEXT?

Alexey Viktorov, 2019.08.05 09:30

Nova pergunta: Posso ler o texto de um recurso em uma tela?

Por exemplo, estas linhas, ou qualquer uma delas.

Objetivo: O kanvas tem uma linha, que contém uma data. Esta é a data que queremos ler.

Ou usar um dos antigos métodos testados e aprovados, GV, arquivo, gráfico ou algo mais.


 
Alexey Viktorov:

Não estou descartando o fato de não ter formulado a pergunta de forma bastante correta.

Se eu criar um recurso, ele é salvo ou pode ser salvo à força. E depois leia-o. Para ler exatamente o recurso, como foi dito na pergunta inicial.


Bem, aqui está ele:

 
Andrey Barinov:

Bem, aí está:


Andrei, mas não passou despercebido por mim.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

É possível emitir o texto no objeto OBJ_TEXT em várias linhas?

Alexey Viktorov, 2019.08.06 13:19

Eu o encontrei, mas nada funciona. Eu tentei converter array em string, mas os tipos de array não correspondem. Eu não sei como fazer com que funcione. Talvez eu esteja fazendo algo errado, mas nenhuma idéia nova ainda.


E então você não ofereceu mais nada.
 
Alexey Viktorov:

Obrigado por responder. Esse é exatamente o mistério do século para mim. Se você não se importa de entrar em mais detalhes sobre isso.

O recurso é criado usando ResourceCreate a partir de dados uint, mas a leitura do recurso falhou. E se você ler as seguintes opiniões, entenderá porque eu desisti, mas você me deu esperança.

OK, vou tentar entrar em mais detalhes.

1. declarar o sindicato.

2. Dentro do sindicato, você declara várias matrizes de diferentes tipos.

Por exemplo:

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


3. Para escrever uma string, precisamos da matriz char_Send array.

4. Para ler uma seqüência, precisamos de um array char_Read.

5. Suponha que tenhamos uma seqüência "aalksdjghalkfhaerlkvhelvkjhalekhavk" e queremos escrevê-la em um recurso. Nós fazemos isso:

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

Depois disso, nosso fio está na matriz Char_Send.

6. Para que a cadeia esteja no recurso, temos que salvar a matriz uint_Send em ResourceCreate();

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

7. É importante entender que ao escrever a string em Char_Send, nós a convertemos para o tipo char, e a string aparecerá automaticamente no tipo uint. Esta é a essência dos sindicatos. Se você escrever uma string para Char_Send, ela já estará em Uint_Send. Basta salvá-lo com ResourceCreate();

8. Para extrair uma cadeia de caracteres de um recurso, use ResourceReadImage(); Especifique o nome do recurso e passe um uint_Read array para ele.

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

9. Depois disso, a string apresentada em uint_Read já estará na matriz char_Read (sem substituí-la), e você pode extraí-la de char_Read usando CharArrayToString().


Phew, eu acho que é isso...)

 
Реter Konow:

OK, vou tentar ser mais específico.


Phew, eu acho que é isso...)

Graças a Peter, tudo deu certo. Vale a pena notar que se você usar COLOR_FORMAT_XRGB_NOALPHA ao criar um recurso, a imagem não é a mesma, para dizer de forma branda. Se usarmos COLOR_FORMAT_ARGB_NORMALIZE, a imagem é bonita, mas contém múltiplos símbolos. Eu provavelmente deveria fazer experiências com a página de código. Talvez funcione...

 
Alexey Viktorov:

Graças a Peter, tudo deu certo. Vale a pena notar que se você usar COLOR_FORMAT_XRGB_NOALPHA ao criar um recurso, a imagem não é a mesma, para dizer de forma branda. Se usarmos COLOR_FORMAT_ARGB_NORMALIZE, a imagem é bonita, mas contém múltiplos símbolos. Eu provavelmente deveria fazer experiências com a página de código. Talvez funcione...

Se o recurso deve armazenar uma imagem, há três opções para o processamento de cores - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_ROW. Mas se o recurso for armazenar dados, a opção COLOR_FORMAT_XRGB_NOALPHA deve ser usada, pois o processamento de cores é inadequado.
 
Реter Konow:
Se o recurso deve armazenar uma imagem, há três opções para o processamento de cores - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_RAW. Mas se o recurso for armazenar dados, a opção COLOR_FORMAT_XRGB_NOALPHA deve ser usada, pois o processamento de cores não é apropriado.

Entendi, obrigado. Acontece que temos que fazer dois recursos diferentes para a transferência de imagens e dados.

 
Alexey Viktorov:

Estou vendo, obrigado. Acontece que você tem que fazer dois recursos diferentes para o quadro e a transferência de dados.

É claro.
Razão: