Discussão do artigo "Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)"

 

Novo artigo Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6) foi publicado:

O desenvolvimento da biblioteca para a criação de interfaces gráficas continua. Os controles Horário e a Lista de Caixas de Seleção serão discutidos neste momento. Além disso, agora a classe CTable fornece a capacidade de classificar os dados em ordem crescente ou decrescente.

Vamos enumerar todos os componentes do controle Horário:

  • Fundo
  • Ícone
  • Descrição
  • Duas Caixas de Edição

Fig. 1. Componentes do Controle Horário.

Fig. 1. Componentes do Controle Horário.

Autor: Anatoli Kazharski

 

Tenho perguntas específicas:

1. Há uma linha de nomes de colunas na tabela que, ao rolar verticalmente, permanece estacionária ou sai do campo de visibilidade? Pergunta semelhante sobre a primeira coluna com nomes de linhas - ela vai para a esquerda quando você move o controle deslizante de rolagem horizontal para a direita ou não?

2. A largura das colunas é alterada?

3) A tabela do exemplo acima é desenhada na tela ou é feita de objetos?

 
Реter Konow:

Tenho perguntas específicas:

1. Há uma linha de nomes de colunas na tabela que, ao rolar verticalmente, permanece estacionária ou sai do campo de visibilidade? Pergunta semelhante sobre a primeira coluna com nomes de linhas - ela vai para a esquerda quando você move o controle deslizante de rolagem horizontal para a direita ou não?

2. A largura das colunas é alterada?

3 A tabela do exemplo acima é desenhada na tela ou feita de objetos?

1 Esses modos podem ser personalizados. Ou seja, a primeira linha e a primeira coluna podem ser fixas (cabeçalhos feitos) e não serão roladas com os dados da tabela.

2. Neste artigo, as atualizações se referem a uma tabela do tipo CTable. Nela, a largura das colunas é ajustada automaticamente à largura total da tabela.

3) A tabela do tipo CTable é composta de objetos gráficos padrão do tipo OBJ_EDIT.

Outros tipos de tabela e atualizações que foram lançadas para eles podem ser encontrados nos seguintes artigos (incluindo este):

Também haverá atualizações para listas e tabelas nos próximos artigos. Ainda há muito trabalho a ser feito.

 
Anatoli Kazharski:

1. Esses modos são personalizáveis. Ou seja, a primeira linha e a primeira coluna podem ser fixas (feitas de cabeçalhos) e não serão roladas com os dados da tabela.

2. Neste artigo, as atualizações se referem a uma tabela do tipo CTable. Nela, a largura das colunas é ajustada automaticamente à largura total da tabela.

3) A tabela do tipo CTable é composta de objetos gráficos padrão do tipo OBJ_EDIT.

Outros tipos de tabela e atualizações que foram lançadas para eles podem ser encontrados nos artigos a seguir (incluindo este):

Também haverá atualizações para listas e tabelas nos próximos artigos. Ainda há muito trabalho a ser feito.

Eu li esse material detalhadamente nos artigos. Em princípio, as classes e os métodos propostos criam as tabelas necessárias para o usuário e o satisfazem com seu nível de qualidade e consideração. É claro que você pode adicionar a capacidade de inserir diferentes elementos (caixas de seleção, listas suspensas, por exemplo) nas células da tabela, mas isso está no futuro.

Eu o aconselharia a pensar na intensidade da mão de obra para usar a tecnologia proposta. Para ser objetivo, a intensidade da mão de obra ainda existe.

O uso e a aplicação generalizados desses desenvolvimentos também dependem da facilidade de uso. Dificilmente é possível argumentar contra isso....

Para simplificar o processo de criação de tabelas, eu sugeriria desenvolver um método simples para o usuário, por meio do qual ele criará a tabela necessária sem aprender nada, mas, levando em conta a necessidade de treinar o usuário, digo que quanto mais trabalhoso, melhor...

 
Реter Konow:

...

Para simplificar o processo de criação de tabelas, eu sugeriria o desenvolvimento de um método simples para que o usuário crie uma tabela sem aprender nada, mas, considerando a necessidade de treinamento do usuário, eu diria que quanto mais trabalhoso for o melhor....

Os aspectos internos da biblioteca são descritos em detalhes para os desenvolvedores. Ou seja, para as pessoas que estão aprendendo programação, esses exemplos baseados em um projeto real serão muito úteis. Para os usuários que não querem se preocupar em criar uma biblioteca para criar interfaces gráficas, cada artigo tem aplicativos de teste que mostram exemplos simples de métodos para criar esse ou aquele controle.

É estranho que, depois de ler todos os artigos desta série (e você já deixou claro várias vezes que leu todos eles), você precise me explicar isso.

 
Anatoli Kazharski:

Os aspectos internos da biblioteca são descritos em detalhes para os desenvolvedores. Ou seja, para as pessoas que estão aprendendo a programar, esses exemplos baseados em um projeto real serão muito úteis. Para os usuários que não querem se preocupar em criar uma biblioteca para criar interfaces gráficas, cada artigo tem aplicativos de teste que mostram exemplos simples de métodos para criar este ou aquele controle.

É estranho que você, depois de ler todos os artigos desta série (e você já deixou claro várias vezes que leu todos eles), precise me explicar isso.

Infelizmente, ainda não li os artigos com atenção. Normalmente, eu só dou uma olhada nos gráficos das imagens, pois eles são a quintessência de todo o desenvolvimento.

Se eu começar a me aprofundar no código inteiro, receio que terei muitas vezes mais discordâncias com você sobre a abordagem.

Entretanto, a utilidade de seus artigos para ensinar programadores é óbvia.

P.S. Para ser mais preciso, acredito que o trabalho e a prática são a base do aprendizado e da aquisição de habilidades. Deve-se evitar "relaxamentos" desnecessários na educação. Por exemplo, - o uso de calculadoras nas escolas primárias pode tornar as aulas de matemática sem sentido. Acontece que se as calculadoras forem dadas aos alunos da primeira série, eles não aprenderão a contar corretamente. Eles precisam ser ensinados a contar de forma mecânica e explicada com os dedos. Mas e se for lucrativo para alguém vender essas calculadoras perto da escola? O que faremos então?

Acho que se deve explicar às crianças que não devem usar calculadoras, pois elas interferem em seu aprendizado.... Crianças conscientes com certeza ouvirão))).
 

Obrigado pelo artigo.......

Bem, agora podemos fazer painéis da era espacial.

(resta pensar em como usar toda essa riqueza).

 
Реter Konow:

Infelizmente, ainda não li os artigos com atenção. Geralmente, eu só observo os gráficos nas imagens, pois eles são a quintessência de todo o desenvolvimento.

Espero que existam poucos leitores que só olhem as fotos. )

Para os usuários comuns da biblioteca, haverá um artigo separado, no qual toda a atenção estará voltada para a forma de usar a biblioteca, sem se aprofundar no funcionamento interno da biblioteca. Além disso, haverá uma documentação detalhada com a descrição dos métodos que estão disponíveis para um usuário a partir de sua classe personalizada. Mas isso ainda vai demorar um pouco. Muitas funcionalidades úteis e necessárias serão implementadas antes disso.

 
Anatoli Kazharski:

Espero que existam poucos leitores que só olham as fotos. )

Para os usuários comuns da biblioteca, será preparado um artigo separado, no qual toda a atenção será concentrada em como usar a biblioteca, sem se aprofundar na estrutura interna. Além disso, haverá uma documentação detalhada com a descrição dos métodos que estão disponíveis para um usuário a partir de sua classe personalizada. Mas isso ainda vai demorar um pouco. Antes disso, muitas outras funcionalidades úteis e necessárias serão implementadas.

Vou repetir: infelizmente, ainda não li e não me aprofundei nas nuances da implementação de sua biblioteca. Essa é a minha desvantagem.

No futuro, quando eu tiver mais tempo livre, começarei a estudar sua biblioteca desde o início e entenderei todas as soluções, mas depois comentarei e criticarei detalhadamente e de forma tecnicamente sólida tudo o que eu considerar ineficaz e oferecerei outras soluções em paralelo. Talvez você não goste, mas não posso fazer isso de outra forma.


P.S. O que você vai fazer no futuro está certo. Continue desenvolvendo a biblioteca.

 
Реter Konow:

...

No futuro, quando eu tiver mais tempo livre, começarei a estudar sua biblioteca desde o início e entenderei todas as soluções, mas depois comentarei e criticarei detalhadamente e de forma tecnicamente sólida tudo o que eu considerar ineficaz e oferecerei outras soluções em paralelo. Talvez você não goste, mas não posso fazer isso de outra forma.

...

Só que, antes de começar a criticar, você terá de ler toda a série, pois os acréscimos e as correções são feitos da 10ª parte em diante. Se suas soluções forem tecnicamente comprovadas, ou seja, implementadas em código e puderem ser testadas, com base nas quais será possível tirar conclusões corretas, então não posso deixar de gostar. Pelo contrário, ficarei muito feliz. )

 
Anatoli Kazharski:

Só que antes de começar a criticar, você terá de ler toda a série, pois os acréscimos e as correções são feitos a partir da 10ª parte. Se suas soluções forem tecnicamente comprovadas, ou seja, implementadas em código e puderem ser testadas, com base nas quais será possível tirar conclusões corretas, então não posso deixar de gostar. Pelo contrário, ficarei muito feliz. )

Combinado).