GUI à l'initiative de la foule. Test bêta ouvert. - page 19

 
Реter Konow:

C'est drôle :) Le noyau entier est rempli d'objets.

Alexey, tu as promis d'aider à le tester. C'est grâce à vous que ce rédacteur verra la lumière du jour. Vous m'avez motivé à finir le travail.

Dès que j'aurai mis en place l'éditeur (mardi), nous créerons ensemble un simple panneau de boutons, de cases à cocher et de champs de saisie et nous le connecterons à un simple conseiller expert. Et toutes les questions trouveront une réponse immédiate)).

Peter, donc je n'abandonne pas les tests. ))

Que voulez-vous dire par "OBJET" ?

 
Алексей Барбашин:

Peter, ce n'est pas comme ça que je refuse d'être testé. ))

Que voulez-vous dire par "OBJET" ?

Dans mon implémentation technique, il s'agit d'une série numérotée de propriétés inhérentes à une entité unique et typée. Il n'en existe que quelques-uns : fenêtre, élément, étiquette, icône, texte et paramètre. Ce sont les types d'objets. Pour chacun d'entre eux, des lignes sont allouées dans le noyau (paramètre séparé). Chacun d'entre eux est accessible directement depuis n'importe quel endroit du programme, et peut être modifié à la volée (comme vous le dites). En raison de l'absence de conventions, de règles et de restrictions syntaxiques, le système croît et se développe très rapidement. La condition principale - la tête doit se mettre derrière le potentiel de déploiement des idées, qui émergent facilement sur le sol fertile de la liberté et de la facilité d'interaction des objets.

 
Реter Konow:

Dans mon implémentation technique, il s'agit d'une série numérotée de propriétés inhérentes à une entité unique et typée. Il n'y en a que quelques-uns : fenêtre, élément, étiquette, icône, texte et paramètre. Ce sont les types d'objets. Pour chacun d'entre eux, des lignes sont allouées dans le noyau (paramètre séparé). Chacun d'entre eux est accessible directement depuis n'importe quel endroit du programme, et peut être modifié à la volée (comme vous le dites). En raison de l'absence de conventions syntaxiques, de règles et de restrictions, le système croît et se développe très rapidement. La condition principale - la tête doit sauter derrière le potentiel de déploiement des idées, qui émergent facilement sur le sol fertile de la liberté et de la facilité d'interaction des objets.

Il y a une explosion dans ma tête...

La programmation procédurale fonctionne uniquement avec des fonctions et des variables. L'objet maximum en programmation procédurale ne peut être qu'une variable. En l'absence de POO, les variables ne peuvent posséder que des types simples : nombre, chaîne de caractères, date, booléen. Ces types ne peuvent pas avoir de propriétés. Les fonctions ne peuvent pas être des objets.

L'objet le plus primitif pourrait être une structure, mais c'est le domaine de la POO.

J'ai du mal à imaginer la structure du type :

int OnInit()
{
ТипКнопка Кнопка1 = новый ТипКнопка();

Кнопка1.ЦветРамки = Новый Цвет(234,123,90);

Форма.Добавить(Кнопка1, КоординатаХ, КоординатаY);

Кнопка1.УстановитьСобытие("Нажатие", НажатиеНаКнопку1);
}

void НажатиеНаКнопку1(ТипКнопка  кнопка)

{

}

Soit Peter rate quelque chose, soit il essaie de remplacer le concept d'"objet" par quelque chose qui lui est propre... L'objectif de la POO est de nous permettre de créer n'importe quel type avec n'importe quelles propriétés et ensuite n'importe quel développeur pourrait améliorer ou changer les propriétés des OBJETS hérités.

 
Алексей Барбашин:

Il y a une explosion dans ma tête...

La programmation procédurale fonctionne uniquement avec des fonctions et des variables. L'objet maximum en programmation procédurale ne peut être qu'une variable. En l'absence de POO, les variables ne peuvent avoir que des types simples : nombre, chaîne, date, booléen. Ces types ne peuvent pas avoir de propriétés. Les fonctions ne peuvent pas être des objets.

L'objet le plus primitif pourrait être une structure, mais c'est le domaine de la POO.

J'ai du mal à imaginer la structure du type :

Soit Peter rate quelque chose, soit il essaie de remplacer le concept d'"objet" par quelque chose qui lui est propre... C'est pourquoi la POO a été inventée afin que nous puissions créer nos propres types avec n'importe quelles propriétés et que n'importe quel développeur puisse construire ou modifier les propriétés des OBJETS hérités.

Alexei, pourquoi as-tu décidé qu'un objet, en tant que concept, est lié à une syntaxe et une représentation prédéfinies ? Pour certaines règles... Vous décrivez un objet dans une classe, je dans une série d'une grande matrice. Même objet et mêmes propriétés. N'est-il plus un objet ? Est-ce qu'il disparaît ?)

Non. L'objet est invariant en tant qu'idée et vous pouvez le décrire de différentes manières. Dans une classe ou un tableau est une question secondaire.

 
Реter Konow:

Alexey, pourquoi avez-vous décidé que l'Objet en tant que concept est lié à une syntaxe et une représentation prédéfinies ? Pour certaines règles... Vous décrivez l'objet dans une classe, je le décris dans une série d'une grande matrice. Même objet et mêmes propriétés. N'est-il plus un objet ? Est-ce qu'il disparaît ?)

Non. L'objet est invariant en tant qu'idée et vous pouvez le décrire de différentes manières. Dans une classe ou un tableau est une question secondaire.

Peter - L'objet, c'est une entité intégrale décrite par un certain type, ou plutôt définie par un certain type. On peut donner un nom arbitraire à l'objet, on peut le créer, le transférer, y accéder, le détruire.

var Button1 = GlobalArrayElement[10];

Ça ne marche pas comme ça ! Une référence à une position de tableau ne peut pas être une variable nommée !

Mais je ne vais pas discuter avec vous, je préfère attendre le résultat.

var ButtonBuy = СоздатьЭлементКнопки("ИмяКнопки", Ширина, Высота, ПозицияХ, ПозицияY);

Cela ne fonctionnera pas non plus, car toutes les variables dans mql sont strictement typées.

 
Алексей Барбашин:

Peter - Un objet est une entité complète décrite par un certain type, ou plutôt définie par un certain type. L'objet peut recevoir un nom arbitraire, l'objet peut être créé, transféré, manipulé, détruit.

Ça ne marche pas comme ça ! Une référence à une position de tableau ne peut pas être une variable nommée !

Mais je ne vais pas discuter avec vous, je préfère attendre le résultat.

J'ai tout le temps des variables qui se réfèrent aux positions des tableaux (noyaux). Le curseur se déplace dans l'interface et les éléments sont mis en évidence. Leur numéro est écrit dans une variable et, grâce à elle, j'accède à la ligne souhaitée dans le noyau à n'importe quel moment du programme. En outre, divers événements sont déclenchés et les gestionnaires traitent directement l'objet, l'élément, la fenêtre et le paramètre requis. Je n'ai rien vu de plus efficace ici.


Mon approche a un inconvénient - elle n'est pas universelle, dans ce cas - elle est conçue pour créer et gérer des interfaces graphiques. Elle fonctionne mieux que toute autre approche, mais je ne l'ai jamais utilisée en dehors de ce domaine.

 
Реter Konow:

J'ai des variables qui font référence aux positions du tableau (noyau) tout le temps. Le curseur se promène dans l'interface et les éléments se mettent en évidence. Leur numéro est écrit dans une variable et grâce à elle, j'accède à la ligne souhaitée dans le noyau à n'importe quel moment du programme. En outre, divers événements sont déclenchés et les gestionnaires traitent directement l'objet, l'élément, la fenêtre et le paramètre requis. Je n'ai rien vu de plus efficace ici.

Peter, il n'est pas nécessaire de substituer des concepts communs. C'est la substitution qui sème la confusion dans l'esprit de vos adversaires.

Toutes vos variables font référence à des positions dans le tableau, mais pas à des objets. Vous ne les avez pas ; vous avez seulement un tableau et les positions qu'il contient. Il n'est pas nécessaire d'appliquer un concept tel que celui d'"objet" à un tableau de types primitifs.

En programmation, les concepts de "Nombre", "Chaîne", "Date", "Booléen", "Fonction", "Variable", "Classe", "Tableau", "Structure", "Objet" ne sont pas invariants, comme vous le dites !

 
Алексей Барбашин:

Peter, il n'est pas nécessaire de substituer des concepts acceptés. C'est la substitution qui sème la confusion dans l'esprit de vos adversaires.

Toutes vos variables font référence à des positions dans le tableau, mais pas à des objets. Vous ne les avez pas ; vous avez seulement un tableau et les positions qu'il contient. Il n'est pas nécessaire d'appliquer un concept tel que celui d'"objet" à un tableau de types primitifs.

En programmation, les concepts de "Nombre", "Chaîne", "Date", "Booléen", "Fonction", "Variable", "Classe", "Tableau", "Structure" et "Objet" ne sont pas invariants, comme vous le dites !

Pensez-vous qu'une rangée de propriétés dans un tableau décrivant une entité spécifique n'est PAS un objet ?

Et le numéro de cette ligne n'est PAS une référence à un objet ?

 
Реter Konow:

Pensez-vous qu'une rangée de propriétés dans un tableau décrivant une entité spécifique n'est PAS un objet ?

Et le numéro de cette ligne n'est PAS une référence à un objet ?

Non, ce n'est ni une référence ni un objet. Une référence est un élément que vous pouvez placer dans une variable. Vous avez une valeur spécifique qui peut être mise dans une variable - un index ! L'index n'est pas la chaîne du tableau elle-même, c'est un nombre spécifique !

 
Je suis impatient de voir le combat :) .