
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
por favor, informe como obter corretamente uma lista de ferramentas na janela de pedido (F9)?
Eu recebo o número de elementos, mas não consigo obter exatamente as linhas por número, retorna -1.
#define ID_SYMBOL 0x053E // nome do personagem a selecionar
cmhandle ComboBox
Alexey, obrigado, a função funciona, mas...
Apenas a identificação do fio é necessária, pois tenho dois terminais em uso.
Eu saí com a identificação do cabeçalho, mas ainda gostaria de saber como determinar a identificação do fio de baixo do testador?
Antes de receber qualquer texto, você deve primeiro preparar um buffer suficientemente grande para receber o texto........
TEXTO!!!
Ao adaptar sua função às minhas necessidades
se deparou com o fato de que o buffer de string string textbuf, declarado localmente no nível de função, é inicializado apenas uma vez na primeira chamada,
e depois se comporta como uma variável estática.
Você gostaria de comentar sobre esta situação?TEXTO!!!
Ao adaptar sua função às minhas necessidades
se deparou com o fato de que o buffer de string string textbuf, declarado localmente no nível de função, é inicializado apenas uma vez na primeira chamada,
e depois se comporta como uma variável estática.
Você poderia comentar sobre esta situação?Estou entendendo o que quero dizer. Você quer dizer que o buffer armazena o antigo valor buscado na GetText. Lembro-me que também costumava me surpreender. Mas é uma característica da MQL. Em algum lugar no fórum, os desenvolvedores disseram que todas as cordas constantes definidas no nível do compilador são permanentemente armazenadas na memória em um lugar separado e não são perdidas (sobrescritas) ao deixar a função. Seu endereço é inicialmente conhecido e não muda durante a operação do programa. Portanto, ao chamar a função novamente, quando a mesma seqüência constante é acessada, ela é retirada do mesmo endereço. Mas temos ali um texto diferente que foi colocado pela função GetText.
Da mesma forma, você pode simplesmente imprimir ("Abvgdezijklmnostu") e obter um texto diferente :) Portanto, não se trata de variável textbuf, trata-se de uma string constante. Em tempo de compilação, todas as cordas constantes são verificadas e colocadas no banco de dados, e apenas cordas únicas. Se forem detectadas cordas idênticas, apenas uma instância comum de banco de dados é criada para elas. Conseqüentemente, se você estragar esta instância enquanto trabalha, todas as chamadas para tal seqüência de qualquer parte do programa também retornarão um resultado confuso.
Se você não gostar, você pode criar um buffer programático:
Então, não haverá tal problema. Não me lembro se não há problema em fazer isso. Você não receberá um erro de acesso à memória, no entanto. Você deveria tentar.
Dessa forma, tal problema não ocorreria. Mas não me lembro agora se é possível fazê-lo dessa forma. Será que ocorreria um erro de acesso à memória? Experimente.
Assim que li que "255 caracteres não cabem na tela e estragam o visual do fórum", eu o fiz.
Mas esta opção não funcionou, a função API não devolveu nada... Portanto, deixei sua variante.
......
Muito obrigado de qualquer forma, por outra resposta completa.
Assim que li que "255 caracteres não cabem na tela e estragam o visual do fórum", eu o fiz imediatamente.
Mas esta opção não funcionou, a função API não devolveu nada... Foi por isso que deixei sua variante.
......
Muito obrigado de qualquer forma, por outra resposta completa.
O prazer é meu.
Tanto quanto sei, a razão é que neste caso a referência ao buffer de texto original pertencente à variável não é passada para a função, mas para sua cópia, ou seja, um buffer temporário que é criado antes que a função seja chamada. Portanto, mesmo que a função altere o texto neste buffer, ele não tem efeito, pois o buffer original permanece inalterado. E a referência ao buffer temporário é perdida quando a função sai. Uma vez me esforcei para passar um fio para a DLL por causa disso. Mas existe uma solução. Você precisa passar um elemento de matriz de cordas para a função. Neste caso, nenhum buffer intermediário é criado, e a função recebe uma referência ao buffer original.
Isto deve funcionar.
Eu posso obter o comprimento normalmente, mas não consigo obter o texto :-(
Favor explicar como inicializar a seqüência de caracteres corretamente e, em geral, é possível implementá-la sem a dll externa ?
é necessário encontrar um símbolo na lista de ferramentas e selecioná-lo.
Eu posso obter o comprimento normalmente, mas não consigo obter o texto :-(
Favor explicar como inicializar a seqüência de caracteres corretamente e, em geral, é possível implementá-la sem a dll externa ?
é necessário encontrar um símbolo na lista de ferramentas e selecioná-lo.
Sobre a inicialização da corda, acabei de explicar em uma mensagem anterior ao camarada laço. Você pode usar um elemento de uma matriz de string, ou simplesmente inicializar a variável string com constante de comprimento suficiente. No seu caso, é mais fácil usar uma constante, porque você sabe antecipadamente que o tamanho da corda resultante não excederá 78 bytes:
12 bytes (ticker do instrumento) + 2 bytes (vírgula e espaço) + 64 bytes (nome completo do instrumento) . Este é o comprimento máximo possível de cordas. Bem, você pode arredondar até 80.
Mas se você quiser apenas SELECCIONAR um instrumento específico na lista, não é necessário obter seu nome. Basta usar a mensagem CB_SELESTRING. Ali, como parâmetro de cadeia, basta enviar apenas a parte inicial do nome ("EURUSD") e ele encontrará e selecionará o item apropriado da lista por si só.
O consultor de robô API Milhão de dólares do futuro próximo: Ele faz muitos negócios lucrativos no próprio terminal. :) e quando em um ou dois meses um milionário recém-fundado tentar retirar seu lucro do corretor, ele descobrirá que não houve uma única operação... mas o período de reembolso para o assessor terminou... :))))))))
Pessoal, por favor, ajudem-me a identificar o cabo dos botões Comprar/Vender na caixa de Pedido. Encontrei o cabo da caixa de encomendas:
Em seguida, eu tento determinar o cabo do botão (por exemplo, Comprar), mas recebo 0 em resposta.
O mais interessante é que eu não consigo encontrar o cabo de nenhum item na caixa deExecução Imediata. Também não consigo encontrar um cabo para a Execução Imediata propriamente dita. Embora WinSpy++ o veja como um elemento separado e mostre o ID 0xFFFFFFFF para ele.
Por favor, não julgue estritamente, eu sou um principiante.