Que disparate é esse sobre o caráter de tabulação? - página 3

 
Meat:

Não escreva bobagens! Fazê-lo através de objetos é fazê-lo através do traseiro. É preciso criar algumas centenas de objetos apenas para exibir texto na tela, enquanto há uma função especial chamada Comentário para exibir este texto (enfatizo: TEXTO, não etiquetas, para o qual o objeto Rótulo é projetado). Tal pilha de objetos, além de ser inconveniente, irá desperdiçar recursos, especialmente quando o Expert Advisor está correndo em vários gráficos. Portanto, pense um pouco antes de dar seus conselhos aqui. Em geral, eu gostaria de ouvir uma resposta dos desenvolvedores. Minha pergunta foi dirigida a eles.

Quanto aos "componentes gráficos", não tenho certeza do que você quer dizer com esse termo. Os editores de texto são programas, não componentes gráficos. Outra coisa é que se o programa usa um componente que suporta saída de várias linhas, a tabulação é usada lá também. Por exemplo, o objeto Memo.


Todo mundo está escrevendo coisas bobas. Mas algumas pessoas simplesmente não o entendem. Não estou falando de Sergeev, estou falando de você.
 

O que exatamente você vê como bobagem aqui? Eu até subestimei cerca de algumas centenas de objetos, tenho 10-15 colunas e 20-30 linhas. No total, eu preciso de 200-400 objetos em um único gráfico. E pode haver muitos destes gráficos abertos.

 
Meat:

O que exatamente você vê como uma tolice aqui?


Loucura é não poder ou não querer ouvir as experiências de outras pessoas. Não mais do que
 
Vinin:

Loucura é não poder ou não querer ouvir as experiências de outras pessoas. Não mais do que isso.


É tudo sobre como essa experiência é apresentada e se ela é relevante. Você leu como alguns posts anteriores essa pessoa sugeriu condescendentemente a substituição das abas por 4 espaços. O que mostra claramente que ele não entende nada do que é tabulação. E então ele se lembrou das fontes monoespaciais, embora não seja relevante para a função em questão. Então, onde você vê experiência aqui?

Caso contrário, eu só ficarei feliz se alguém compartilhar sua experiência.

 

"Você quer dirigir ou você quer dirigir?"

Dê uma olhada aqui https://www.mql5.com/ru/forum/122586 . Talvez você encontre sua própria solução.

 

sergeev: Мы же вроде все здесь не глупые и понимаем что в Comment не моноширный шрифт.

Carne : Não seja bobo!

OK, eu estava exagerando sobre os não estúpidos. Retiro o que disse, não se aplicava a você.

Carne : Fazer através de objetos é fazer através do rabo...

O que isso significa? Não seja tímido, somos todos amigos aqui.

Só para conseguir algumas centenas de objetos só para exibir texto na tela...

Não exagere. Você está dizendo que pode colocar 100 linhas de texto de Comentário em sua tela? Oh, eu duvido!

Tudo o que você precisa fazer é:

- é exibir o texto linha por linha em formato de objeto de etiqueta.
- usar uma fonte monoespaçada nessas etiquetas
- substituir as abas por espaços.

Tal pilha de objetos, além de ser inconveniente, também consumirá recursos,

Você acha que a função Comentar funciona de forma parcimoniosa? Ela come recursos não inferiores à saída de objetos. Porque ele atualiza o gráfico. E esta não é uma pequena parte dela. Você pode brincar a seu gosto com o cálculo do tempo.

PS (de uma forma condescendente).

Não há necessidade de agradecimentos. Tabs in Comment (especialmente em MT4) você vai esperar muito tempo.
Portanto, se você realmente precisar, seguirá meu conselho.
Quem tem o desejo - procura oportunidades, quem não tem - procura uma razão. amém.

 
sergeev:


Quem quiser, procura oportunidades, quem não quiser, procura uma razão.

Quem quer que esteja procurando uma razão, está essencialmente procurando alguém a quem culpar. Não é uma solução em absoluto. E isso não é de modo algum eficaz.

// Digo de tempos em tempos e de vez em quando. Uma e outra vez. Puramente para melhorar a atmosfera do fórum. Parece que algumas pessoas estão pegando o jeito...

 
Que bobagem - não é nem lua cheia, mas de repente há dois agravos no fórum....
 
Meat:


É tudo uma questão de como esta experiência é apresentada, e se é apropriada. Você leu como poucos posts antes este homem condescendentemente propôs a substituição da tabulação por 4 espaços. O que mostra claramente que ele não entende nada do que é tabulação. E então ele se lembrou das fontes monoespaciais, embora não seja relevante para a função em questão. Então, onde você vê experiência aqui?

Caso contrário, fico feliz por alguém poder realmente compartilhar sua experiência.


Paciência e trabalho vão levá-lo até lá! :)

É suficiente fazê-lo uma vez como função e usá-lo conforme necessário.

 

O fato de que no momento não há outras opções além do rótulo, eu mesmo o entendo muito bem. Eu não fiz a pergunta "como faço abas?", mas "por que os desenvolvedores não as implementam em Comentário?", mas ainda não tive notícias deles. Em vez disso, recebi um monte de sugestões como: "Para que você precisa de uma laranja? Coma uma maçã.

Mas tenho outra idéia para as fontes não-monospaced, tanto as Comment como a maioria das fontes Label. Precisamos, de alguma forma, obter a largura de cada personagem nessa fonte. Então você pode facilmente calcular o número de espaços necessários para ajustar as colunas ao mesmo nível. É claro que o ajuste não será exato, com um erro de 1-3 pixels, mas tudo bem. Se alguém tiver alguma dica sobre como descobrir a largura dos caracteres, eu ficaria muito grato. E em geral, que fonte é usada em Comentário? Suspeito que Arial, mas gostaria de saber especificamente.

Eu tentei encontrar uma solução usando funções winapi, encontrei uma função GetTextExtentPoint32, ela dá a largura de qualquer seqüência de texto em pixels, e existem funções similares para a largura de caracteres específicos, a essência é a mesma. Parece estar tudo bem, mas a largura resultante refere-se à fonte do Sistema. Pelo que entendi, esta fonte é definida por padrão para o contexto atual do dispositivo de exibição (DC) de nossa janela, na qual o texto é exibido (eu o pré-defini com a função GetDC). Mas o texto em Comentário é claramente exibido em uma fonte diferente, com caracteres de tamanhos diferentes. Isto se nota, por exemplo, nas proporções da largura das letras "i" e "w". Em geral, a questão é se você pode de alguma forma definir uma fonte diferente para o CD atual, ou criar seu próprio CD com uma fonte específica? Talvez alguém tenha se deparado com isso. Eu olhei tudo, mas ainda não descobri.