Função - Método para ordenar uma série de estruturas. Prêmio 10$ - página 7

 
Artyom Trishkin:

1) Para você são duas dúzias de linhas obscuras.
Mas para mim isso significa dezenas de dias de trabalho, que foram inteiramente gastos para localização de problemas detectados, sua reprodução, descrição, busca de soluções, e não se esqueçam de fazer um novo teste após o lançamento de uma nova construção e relatório, para que nada fosse perdido...


2) Sobre pedir melhorias:

Bichos, insetos, perguntas

Sergey Dzyublik, 2019.05.23 13:52

Sugestões:
"Permitir que a função ArrayCopy copie classes e estruturas "complexas", de forma semelhante a como as estruturas fornecem uma profunda funcionalidade de cópia para qualquer tipo de objeto".


3) Sobre compartilhar o trabalho que fizemos:

Bichos, insetos, perguntas

Sergey Dzyublik, 2017.11.05 13:08

Problema: há um ano de freelance, diferentes truques não padronizados com o WinApi etc... útil para a comunidade.
Mas não vejo a utilidade de gastar tempo para encontrá-los, processá-los, colocá-los em kodobase - 0 lucro.

Sugestão: forneça o botão "Obrigado" no kodobase, através do qual você pode agradecer ao autor pelo código fornecido.
O dinheiro vai para a conta MQL, por sua vez a MQ deduz uma certa porcentagem pelo serviço fornecido.

 
Sergey Dzyublik:

1) Para você são duas dúzias de fios obscuros.
Mas para mim - dezenas de dias de trabalho, que passaram inteiramente na localização de problemas detectados, sua reprodução, descrição, busca de soluções, também não se esqueçam de fazer novos testes após o lançamento de uma nova construção e relatar a criação, o que não seria perdido...


2) Sobre pedir melhorias:


3) Sobre compartilhar seu trabalho:

  1. Não vou dizer incompreensível, mas irrelevante. Desculpe-me, mas quem está forçando você a fazer isso? Alguém ordenou que você fizesse tudo isso? Ou por você mesmo? Se você mesmo o fez, de sua livre vontade, então por que você está reclamando - ninguém o forçou.
  2. Isso é bom. Eu o vi. Às vezes os desenvolvedores vêem melhor porque há uma proibição desta ou daquela "melhoria". E isso acontece por uma série de razões que o "usuário" médio não pode adivinhar.
  3. Provavelmente faz mais sentido que eles estejam juntando poeira em uma prateleira, eles cairão no esquecimento mais rápido. E o nome é o mesmo lucro.
    Em algum lugar aqui no fórum você já escreveu "Pense mais profundamente".
 

Quem teria duvidado disso? Qualquer coisa desconfortável de ler é excluída.

Apenas alguns poucos estão autorizados a se manifestar. A correção de uma declaração é julgada pelo moderador, dependendo do humor e do clima.

Falem com vocês mesmos.

 
Artyom Trishkin:
  1. Não vou dizer incompreensível, mas irrelevante. Desculpe-me, mas quem está forçando você a fazer isso? Alguém ordenou que você fizesse tudo isso? Ou por você mesmo? Se você mesmo o fez, de sua livre vontade, então por que você está reclamando - ninguém o forçou.
  2. Isso é bom. Eu o vi. Às vezes os desenvolvedores vêem melhor porque há uma proibição desta ou daquela "melhoria". E isso acontece por uma série de razões que o "usuário" médio não pode adivinhar.
  3. O fato de tê-los recolhendo poeira em uma prateleira provavelmente faz muito mais sentido - eles se desvanecerão em esquecimento mais rapidamente. E o nome é o mesmo lucro.
    Em algum lugar aqui neste fórum você já escreveu "Pense mais profundamente".
  1. O homem está tentando fazer deste mundo um lugar melhor e ele é bem sucedido, pelo que é grato.
  2. -
  3. Honestamente, se amanhã Sergey colocará em recipientes normais kodobase, com um iterador, com uma macro que forneça uma lógica baseada no alcance, que porcentagem da comunidade local a entenderá e apreciará? E o tempo em que ele matou nele... É por isso que tais coisas são promovidas com puro entusiasmo, uma colher de chá por ano. E aqui os desenvolvedores devem atrair pessoas por um kopeck pequeno ou não tão pequeno, e então aparecerão recipientes normais e muitas outras coisas interessantes...
 

Vladimir Simakov:

Honestamente, se amanhã Sergey colocará em recipientes normais kodobase, com um iterador, com uma macro que forneça uma lógica baseada no alcance, que porcentagem da comunidade local a entenderá e apreciará? E o tempo em que ele matou nele... É por isso que tais coisas são promovidas com puro entusiasmo, uma colher de chá por ano. E aqui os desenvolvedores teriam que atrair pessoas com um kopeck pequeno ou não tão pequeno, e então aparecerão recipientes normais e coisas muito mais interessantes acontecerão...

tudo o que existe e tudo funciona - escreva um artigo e seja recompensado, surpreendentemente, Metaquotes é bastante fiel ao tema dos artigos

ou de que estamos falando? de uma explosão de aplausos?

imho, "normalidade" de uma solução de programa é algo que não pode ser avaliado, você pode escrever sobre brevidade de código, legibilidade, código indiano, por exemplo...ocode tentando avaliar uma criação, mas, imho, há um critério razoável para avaliação - relevância, mas infelizmente, esta avaliação estará disponível após a publicação.

Deixe-o publicar gratuitamente no KB ou escrever um artigo, "não se exiba como uma menina".

 
Igor Makanu:

tudo está lá e tudo funciona - escreva um artigo e seja recompensado, surpreendentemente, Metacquotes é bastante leal ao assunto dos artigos

ou de que estamos falando, de uma explosão de aplausos?

imho, "normalidade" de uma solução de programa é algo que não pode ser avaliado, você pode escrever sobre brevidade de código, legibilidade, código indiano, por exemplo...ocode tentando avaliar uma criação, mas, imho, há um critério razoável para avaliação - relevância, mas infelizmente, esta avaliação estará disponível após a publicação.

Deixe-o publicar gratuitamente no KB ou escrever um artigo, "não se exiba como uma menina".

Você deve ler o tópico desde o início, parece que você está julgando pelos últimos posts escritos não por Sergei.
 
Igor Makanu:

ou de que estamos falando, de uma explosão de aplausos?

Sobre o fato de que as pessoas que responderam sobre o tema e com um código de trabalho, foram molestadas no local.
Mencionou que ele passou muitas horas escrevendo e testando, por isso não apresenta os plushies extras... Bem, sim, o patético, deveria ser banido para o inferno.

Em geral, tudo estava bem com o tema até que um moderador apareceu com sua opinião sobre a situação.

ps: estranho, a segunda mensagem não foi apagada.

 

Tenho lido o fio desde o primeiro dia.

a questão é resolvida, mas não como o iniciante do tema pode usar a partir de sua experiência

sobre o "apertar o código" - aqui é simples - ou você compartilha ou não compartilha.... , também um moderador "vá para freelance" - no ano passado eu vi problemas da MQL5 no tópico ))))

Se você não se lembra, estamos em 2020, e 99% das soluções para problemas elementares estão disponíveis gratuitamente, enquanto as pessoas vêm ao fórum para economizar tempo ou obter o conhecimento que falta, mas não para histórias esclarecedoras e esclarecedoras com ensinamentos morais... Que é o que estamos fazendo agora))))

 

Infelizmente agora até mesmo os métodos que a fxsaber sugeriu não funcionam mais.

E estou procurando métodos de ordenação de uma série de estruturas. Alguém tem alguma variante de trabalho?

 
Vladimir Pastushak:

Infelizmente agora até mesmo os métodos que a fxsaber sugeriu não estão mais funcionando.

E estou procurando métodos de ordenação de uma série de estruturas. Alguém tem alguma variante de trabalho?

Pessoalmente, eu mesmo escrevi uma classe CStructWrapper, herdada do CObject (CMyObject é realmente a mesma, com campos de depuração adicionais), e para a classificação eu uso uma função padrão.

template <typename T>
class CStructWrapper:public CMyObject
{
protected:
   T  m_tObject;

public:
   CStructWrapper() {};
   CStructWrapper(T & tObj) { m_tObject = tObj; };
   ~CStructWrapper() {};

   // Копирование
   T CopyFrom(const T &tObj) { m_tObject = tObj; return (m_tObject); };
   T operator=(const T &tObj) { return (CopyFrom(tObj)); };
   T CopyFrom(const CStructWrapper<T> &tWObj) { m_tObject = tWObj.GetCoreObject(); return (m_tObject); };
   T operator=(const CStructWrapper<T> &tWObj) { return (CopyFrom(tWObj)); };

   // Возврат объекта   
   T GetCoreObject() const { return(m_tObject); };
};


Se eu precisar de um conjunto de estruturas, declaro uma classe derivada com base neste modelo. Nele, declaro uma função para comparar os campos necessários da estrutura. E então - uso uma classe padrão de uma série de objetos com ordenação.

Os objetos criados podem ser copiados diretamente das estruturas utilizando o operador de atribuição. Se necessário - eu os copio.