Fazendo um projeto de crowdsourced em Tela - página 7

 
o_O:

infelizmente não há completude para o código. neste momento os eventos do gráfico não fazem distinção entre A e um

Eu já escrevi sobre isso em SD.

boas notícias do sd sobre esta edição

a próxima construção adicionará constantesTerminalInfoInteger para status de CapsLock e Shift

agora eles estão indocumentados.

1020 - CapsLock
1016 - Shift
1255 - código do idioma de entrada atual

ou seja, editar já está a meio caminho de funcionar. ))

A segunda tarefa é ensinar o gráfico a capturar espaço e entrar.

 
Vasiliy Sokolov:
Se houver algum atraso, ele é invisível a olho nu. Em meu painel de uma vez MouseMove estava enviando milhares de itens, inclusive invisíveis, então eu fiz uma correspondência mais inteligente, mas visualmente não aumentou a velocidade.
Há definitivamente atrasos. Depende do número de itens. Eu o verifiquei. Quando o número de objetos começa a ultrapassar 400 -500 arrastar e soltar minhas janelas começa a diminuir a velocidade... Há meses venho trabalhando para melhorar a eficiência do código, mas ainda não consegui superar este efeito. Penso que quanto mais poderoso for o computador, quanto mais objetos ele arrastar, mais lenta será a lentidão imperceptível.
 
Реter Konow:
Definitivamente, há freios. Depende do número de objetos. Eu verifiquei. Quando o número de objetos começa a ultrapassar 400-500, arrastar e soltar minhas janelas começa a diminuir a velocidade... Há meses venho trabalhando para melhorar a eficiência do código, mas ainda não consegui superar este efeito. Penso que quanto mais poderoso for o computador, mais objetos o atraso permanecerá imperceptível.
É o algoritmo de entrega do evento + resposta mínima do item ao evento passado que influencia o desempenho. Parece que no seu caso a desaceleração não foi por causa do evento em si, mas por causa dos algoritmos que trataram desses eventos.
 
o_O:

Múltiplas instâncias de um indikator saem para uma única tela? não sei. é um pouco assustador.

Nah. Tudo o que preciso é de um evento MouseDown, eu ficarei feliz.
 
Комбинатор:
Nah. De qualquer forma, tudo o que eu preciso é do evento MouseDown, eu vou
Monitorar o evento CHARTEVENT_MOUSE_MOVE, ele transmite o estado do mouse, Crtl e teclas Shift.
 
Vasiliy Sokolov:

Parece-me que depois dos artigos de Anatoly, é pelo menos um passatempo estranho criar novamente os mesmos ovos de perfil. Os gráficos não são um tema quente para a MT.

  • Os usuários não precisam de interfaces gráficas. Como conseqüência, é impossível monitorar a GUI e seu desenvolvimento nunca será rentável.
  • Se você quiser aumentar as habilidades, é melhor conseguir imediatamente um emprego em algum lugar júnior. Assim, pelo menos você começará a ganhar algum dinheiro imediatamente e aumentará suas habilidades lentamente.
  • Público alvo muito restrito. Quem precisa de bibliotecas? - Absolutamente ninguém, exceto um punhado de programadores, e há muito tempo eles escreveram todas as bibliotecas que precisam. Por exemplo, eu tenho duas bibliotecas gráficas próprias.

Não quero ensinar ninguém aqui presente, mas posso lhes dar alguns conselhos: rapazes, cheirem um pouco de pó. Aprenda a trabalhar com os usuários. Aprender sua psicologia. Aprenda a monitorar suas idéias. Então desça rapidamente à terra e você raciocinará de uma maneira completamente diferente. Eu também já acreditei em algumas idéias especiais e bonitas, mas todo esse absurdo não funciona. O que você está discutindo aqui não tem nenhuma utilidade para ninguém além de você.

+ é isso mesmo

A única vez que eu disse a um usuário - vamos fazer uma interface muito legal e bonita !

O que eles realmente precisam é de um Expert Advisor sem ornamentos florais e funcionalidades adicionais - ou seja, sem uma interface agradável e de fácil utilização!

A coisa mais importante que os usuários querem é o funcionamento do produto de acordo com os Termos de Referência.

Todos nós sabemos que o desenvolvimento da interface + no design - leva um tempo decente ainda para a depuração é um recurso muito caro TEMPO!

 
Ilyas:
Monitorar o evento CHARTEVENT_MOUSE_MOVE, ele envia o estado do mouse, Crtl e teclas Shift.
Como expliquei acima, este evento não está vinculado ao objeto e é enviado com muita freqüência. Não amarrado a um objeto é mais importante.
 
Ilyas:
Monitorar o evento CHARTEVENT_MOUSE_MOVE, ele transmite o estado do mouse, Crtl e teclas Shift.

não é exatamente o que se espera.

O evento OBJECT_CLICK é gerado depois que o mouse é levantado e não pode ser rastreado quando o mouse é pressionado sobre um objeto.

Eu quero um evento inicial. quando o mouse é pressionado sobre o objeto.

Combinador:
Expliquei acima, este evento não está ligado ao objeto e é enviado com muita freqüência. Não amarrado ao objeto é mais importante.
CHARTEVENT_OBJECT_DRAG - como me lembro, ele é gerado não no início do movimento, mas após a liberação do mouse?
 
o_O:
CHARTEVENT_OBJECT_DRAG é um evento quase inútil. Porque assinala o fim de arrastar um objeto gráfico da maneira padrão (ou seja, ele deve ser selecionado, e os objetos selecionados são perfeitamente apagados pressionando del)
 
Vasiliy Sokolov:
O desempenho é afetado pelo algoritmo de entrega do evento + resposta mínima do item ao evento aprovado. Parece que no seu caso a lentidão não foi por causa do evento em si, mas por causa dos algoritmos que trataram desses eventos.

Veja, a entrega do evento e o algoritmo são os mais simples possíveis: Em OnChartEvent() no evento MouseMove, dentro do qual o estado do botão esquerdo do mouse pressionado também é fixo, apanhamos o evento de movimento da janela pressionando o botão. Em seguida, chamar a função de movimentação de janela na qual um deslocamento X e Y (usando ObjectSetInteger()) igual ao deslocamento atual do cursor é aplicado a todos os objetos da janela dentro do laço. Isso é tudo.

Ao mesmo tempo, é claro que quanto mais objetos na janela, mais objetos devem ser movidos. Aparentemente, um grande número de objetos a serem movidos foi o que causou a desaceleração.