IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Extraire des informations string entre guillemets


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Sam Placi
    Homme Profil pro
    Développeur occasionnel
    Inscrit en
    Octobre 2019
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur occasionnel

    Informations forums :
    Inscription : Octobre 2019
    Messages : 68
    Par défaut
    Salut à tous,

    Je ne suis pas un professionnel de la programmation et les quelques cours que j’ai reçus m’ont permis de développer quelques programmes utiles.
    Je comprends parfaitement les codes de Phil Rob mais je suis bien incapable de faire de la programmation orientée objet. Bien sûr, sous VB.Net j’utilise pleins d’objets qui sont donnés par l’IDE, mais je n’en crée pas.

    ... tu fais autre chose que de la critique acerbe et stérile ...
    C’est vrai que les messages du style « critique sanction » sont stériles. Par contre, une diversité d’exemples et conseils positifs enrichit le forum (ce n’est évidemment que mon avis). Le principal avantage d’exemples implémentant des technologies différentes et de permettre à celui qui a posé la question, et à tous les autres lecteurs de la discussion ensuite, de « faire son marché », de choisir ce qui lui convient en fonction de ses besoins et de sa compréhension des codes proposés.

    Je pense (c’est encore un avis qui n’engage que moi) que ceux qui maîtrise les sujet abordés devraient faire preuve de pédagogie (avec les exemples) et d’humilité en acceptant que ceux qui fouillent les forums à la recherche de solutions ne sont parfois pas du tout du même niveau.

    Cordialement,
    Sam

  2. #2
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut StringBuilder
    Salut String,

    Merci pour ton code écrit sur notepad++

    Effectivement c'est du CSharp pas de soucis pour le convertir le problème est ailleurs.
    Effectivement c'est un peu compliqué pour moi d'implémenter cela dans le logiciel j'ai pas l'habitude, il faudrait que déjà en Csharp les erreurs soient corrigées car je n'est jamais fait de CS (je le converti avec un module sur visual studio en vb.net).
    Ayant pas d'indication particulière j'ai tout mis à la suite dans MainForm.cs
    j'ai essayé d'importer plusieurs choses using system.etccc ;
    En tout il y a 120 erreurs mais si tu veux ce sont toujours les mêmes qui reviennent.
    Nom : Attributes.PNG
Affichages : 119
Taille : 1,7 Ko
    Nom : charenstring.PNG
Affichages : 119
Taille : 1,8 Ko
    Nom : cpcdosobjet.PNG
Affichages : 127
Taille : 3,2 Ko
    Nom : declaration.PNG
Affichages : 137
Taille : 1,7 Ko
    Nom : retourerreur.PNG
Affichages : 156
Taille : 1,5 Ko
    Nom : retourerreur.PNG
Affichages : 156
Taille : 1,5 Ko
    Nom : surchargeerreur.PNG
Affichages : 125
Taille : 1,9 Ko
    Nom : this erreur forum.PNG
Affichages : 119
Taille : 2,5 Ko
    Nom : erreurforum.PNG
Affichages : 117
Taille : 504 octets
    Nom : avertissement.PNG
Affichages : 122
Taille : 2,5 Ko

    Voilà voilà ce qui revient souvent. Et tant que ce n'est pas corrigé je n'est pas la capacité de le translate en VB.

    Peut être qu'il fallait importer des choses en plus ? Mettre du code dans une class . cs ?

    Merci beaucoup

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Entre ma connexion internet abominable (2 Mbps en pointe aujourd'hui) et ma vie de famille, je vais essayer de corriger un peu dans la soirée, sinon ce sera dans le week-end.

    Je ne vous oublie pas

  4. #4
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Merci prend ton temps
    Faut faire cette mise à jour visual studio

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Ah non, je ne pense pas à un fichier par objet. Un seul fichier avec une ligne par objet, toutes les infos de l'objet dans SA ligne, séparées par un séparateur, le ; par exemple. Conceptuellement, vois cette ligne comme une ligne XLS avec le nom de l'objet en colonne A et les infos dans les colonnes voisines
    SI tu gères quelques centaines de lignes, c'est une solution facile. Pour de plus gros volumes ..., une DB, à voir...

  6. #6
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    D'accord merci, il y a un exemple sur le forum ?

  7. #7
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Sûrement, mais il faut chercher...
    SI tu peux faire un fichier TXT avec les infos que tu gèrerais pour 2 ou 3 objets (soit 2 ou 3 lignes dans le fichier), je verrai si je peux te trouver un exemple adapté.
    Exemple de ligne :
    Type;Bouton;Nom;BOK;Px;100;Py;50 ...
    Type;TextBox;Nom; ....

  8. #8
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Alors par exemple pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    fenetre/ APP1
             .titre                          = "My first window !"
    	 .px		                  = "100"
            .py		                  = "100"
    	.tx		                  = "420"
    	.ty		                  = "263"
            .Opacite                      = "100"
            .Parametres                  = "TYPE:0 ALPHAMODE:0"
            .CouleurFenetre             = "050,050,100"
            .CouleurTitre                 = "255,255,255"
            .CouleurFond                = "150,000,220"
            .Icone                         = "%OS_GUI%/ICO_DEF.png"
            .ImgTitre                      = "IMG_TITRE.PNG"
            .event                         = "%HOST_OS%/TEST.CPC"
    	@#Handle_Fenetre creer/
     
    Fin/ fenetre
     
    Textebloc/ Mon_Textebloc
    	 .Handle			= "%Handle_Fenetre%"
    	 .Parametres		= "BORD:1 IMGAUTO:1 COL:1"
    	 .Texte 			= "Hello!%CPC.CRLF%I'm textblock!%CPC.CRLF%Handle fenetre:%Handle_Fenetre%"
    	 .PX				= "5"
    	 .PY				= "5"
    	 .CouleurFond	    = "200,255,240"
    	 .CouleurTexte	    = "250,100,100"
    	 .tx				= "100"
             .ty				= "20"
    	creer/
    Fin/ Textebloc
     
    Bouton/ Mon_Bouton
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "130"
    	.PY				= "20"
    	.tx				= "100"
    	.ty				= "30"
    	.opacite		        = "100"
            .texte                        = "OpenGL test"
    	.Image			= "%OS_GUI%/Buttons/BTN_BLUE.png"
    	.event			= "%HOST_OS%/TEST.CPC=MouseClick,MouseLeave"
    	creer/
    Fin/ Bouton
    J'ai espacé pour la lisibilité (une seule ligne tt ca)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fenetre;APP1;My first window ! ; 100 ; 100 ; 420 ; 263 ; 100 ; TYPE:0 ALPHAMODE:0 ; 050; 050; 100; 255; 255; 255; 150; 000; 220; %OS_GUI%/ICO_DEF.png ; IMG_TITRE.PNG ; %HOST_OS%/TEST.CPC ; @#Handle_Fenetre
    'Pareil pour le reste
    Mais pour transformer les données de la datagrid en ligne, une ligne par objet ca serait bien aussi
    Merci

  9. #9
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Mais pour transformer les données de la datagrid en ligne, une ligne par objet ca serait bien aussi
    C'est bien ce que je proposais : une ligne par objet, non pas une ligne par propriété.

    En regardant tes exemples, je vois que tous les objets n'ont pas les mêmes propriétés (c'est normal ). Par exemple, un bouton a un propriété Image, le TextBox ne l'a pas.
    Dès lors, il faudrait que la ligne soit composée de : NomProprieté; ValeurPropriété; ... Par exemple, TypeObjet;Bouton;Nom;BCancel; PX;100; ..........

    Il s'agit bien finalement de copier le DataGridView d'un objet en une ligne dans le fichier. C'est le nom de l'objet que le distinguera d'un autre du même type. Je vois si je peux greffer un exemple sur les codes de l'autre jour.

  10. #10
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Oui mais on est d'accord que la syntaxe du CpcdosC+ n'est pas modifiable. Donc il faudrait pouvoir ouvrir le fichier cpcdosc+ dans une richtextbox extraire les données, les trier et les mettres dans un fichier text une ligne par objet

    Je demanderai à l'utilisateur de toujours mettre les paramètres dans un ordre précis ca limitera les bugs.

  11. #11
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Je n'ai pas retrouvé d'exemple convenable, aussi j'en ai bricolé un le code de l'autre jour.
    C'est largement améliorable, mais ça te donnera quand même de quoi passer tes insomnies.
    Il y aurait notamment à faire la mise en forme des données re-lues et affichées dans le DataGridView. Si je trouve du temps demain ...

    La video : https://www.dropbox.com/s/zzgthoo6zq...emet2.mp4?dl=0

    Le projet : CSV_0B.zip

    Bon amusement et bonne nuit

  12. #12
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Hey,
    Oui ça serait bien..
    Souvent les objets sont dans le même fichier faudrait trouver moyen.
    Merci encore pour ton temps et ce programme perso.

  13. #13
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Bonjour, et désolé d'arriver (une fois de plus) comme un cheveux sur la soupe.

    Avant de répondre précisément à la question, j'aimerais comprendre le besoin.

    En effet, j'ai la vague impression que le fichier contient ni plus ni moins un objet sérialisé.
    A partir de là, il me semblerait très judicieux non pas de partir d'un parsing CSV détourner (car ça n'a pas grand chose à avoir avec du CSV) et mapper tout ça dans un datagridview/des textbox, mais plutôt de créer une classe comportant toutes ces propriété et implémenter une méthode de désérialisation.
    => et si le fichier contient plusieurs objets à la suite, ou imbriqués, rien n'empêche de les désérialiser de la même manière

    En soit, ça ne va pas forcément changer grand chose au code qui parcours le texte en entrée, mais ça permettra d'avoir un code un peu plus lisible, structuré, et modulable.

    Ensuite, en fonction des réponses, notamment aux question 1 à 3 à mon avis il y a beaucoup plus simple pour parser le fichier, mais je ne voudrais pas trop m'avancer et t'envoyer sur une fausse piste.

  14. #14
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    C'est normal d'avoir un tel format de fichier ? c'est pire qu'un ini, de nos jours on utilise plutot un json ou un xml pour facilement sérialiser/désérialiser les données.

  15. #15
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Hello,

    Je n'ai pas l'habitude, mais si vous trouvez mieux pas de soucis.
    Je reprécise tout afin que ça soit clair: cpcdos est un kernel permettant de créer des OS. site cpcdos.net
    Les utilisateurs téléchargent le noyau et utilisent un langage simple le cpcdosC+ (Dans notepad ++ par exemple) pour interagir avec et le modifier (créer une barre des taches des applis des fonctions etc).
    Bref, ils sont obligés de coder les objets un par un sans concepteur de fenêtre rien, juste notepad++ et ca prend des heures.
    Mon logiciel est un IDE pour le CpcdosC+, je ne sais pas si vous connaissez SoftwareZator d’Étienne Beaudoux mais c'est un peu le même principe on mélange l'édition de code et la génération automatique du code en remplissant des formulaires windows form.
    J'élabore ma stratégie au fur et à mesure en fonction de ce qu'il est possible de faire en VB.net, et ce que l'on me propose sur le forum aussi.
    Là nous cherchons un moyen pour que quand le logiciel est en présence de code cpcdosc+ (langage non compilé considéré cela comme du texte pur) il puisse extraire les infos et les trier.
    Voici un exemple de fichier cpcdosC+ qui code une fenêtre et ses objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
     
     
    fenetre/ APP1
            .titre                          = "My first window !"
    	    .px				                = "100"
    	    .py				                = "100"
    	    .tx				                = "420"
    	    .ty				                = "263"
            .Opacite                        = "100"
            .Parametres                     = "TYPE:0 ALPHAMODE:0"
            .CouleurFenetre                 = "050,050,100"
            .CouleurTitre                   = "255,255,255"
            .CouleurFond                    = "150,000,220"
            .Icone                          = "%OS_GUI%/ICO_DEF.png"
            .ImgTitre                       = "IMG_TITRE.PNG"
            .event                          = "%HOST_OS%/TEST.CPC"
    	@#Handle_Fenetre creer/
     
    Fin/ fenetre
     
    Textebloc/ Mon_Textebloc
    	 .Handle			= "%Handle_Fenetre%"
    	 .Parametres		= "BORD:1 IMGAUTO:1 COL:1"
    	 .Texte 			= "Hello!%CPC.CRLF%I'm textblock!%CPC.CRLF%Handle fenetre:%Handle_Fenetre%"
    	 .PX				= "5"
    	 .PY				= "5"
    	 .CouleurFond	    = "200,255,240"
    	 .CouleurTexte	    = "250,100,100"
    	 .tx				= "100"
         .ty				= "20"
    	creer/
    Fin/ Textebloc
     
    Bouton/ Mon_Bouton
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "130"
    	.PY				= "20"
    	.tx				= "100"
    	.ty				= "30"
    	.opacite		= "100"
        .texte                  = "OpenGL test"
    	.Image			= "%OS_GUI%/Buttons/BTN_BLUE.png"
    	.event			= "%HOST_OS%/TEST.CPC=MouseClick,MouseLeave"
    	creer/
    Fin/ Bouton
     
    Bouton/ Mon_Bouton2
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "180"
    	.PY				= "80"
    	.tx				= "100"
    	.ty				= "30"
    	rem/ .opacite		= "100"
            .texte                  = "GZE test"
    	.Image			= "%OS_GUI%/Buttons/BTN_PPOR.png"
    	.event			= "%HOST_OS%/TEST.CPC"
    	creer/
    Fin/ Bouton
     
    Bouton/ Mon_Bouton3
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "180"
        .PY                             = "120"
    	.tx				= "100"
    	.ty				= "30"
    	rem/ .opacite		= "100"
    	.texte			= "Hello!"
    	.Image			= "%OS_GUI%/Buttons/BTN_PPOR.png"
    	.event			= "%HOST_OS%/TEST.CPC"
    	creer/
    Fin/ Bouton
     
     
    picturebox/ Image2
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:0"
    	.PX				= "10"
    	.PY				= "10"
    	.tx				= "200"
    	.ty				= "200"
    	.Image			= "%OS_GUI%/Ultima.png"
    	.opacite		= "100"
    	.event			= "OS/TEST.CPC"
    	creer/
    Fin/ Picturebox
     
    fenetre/ APP2
    	.titre 			= "Application test 2"
    	.px				= "200"
    	.py				= "150"
    	.tx				= "400"
    	.ty				= "226"
            .Opacite                        = "190"
            .Parametres                     = "TYPE:0 ALPHAMODE:1"
            .CouleurFenetre                 = "050,050,100"
            .CouleurTitre                   = "120,120,210"
            .CouleurFond                    = "100,240,100"
            .Icone                          = "%OS_GUI%/ICO_CFT.png"
            rem/ .ImgTitre                  = "IMG_TITRE.PNG"
            .event                          = ""
    	@#Handle_Fenetre creer/
    Fin/ fenetre
     
     
     
    rem/ sys/ /debug = 2
     
    picturebox/ Image3
    	.Handle			= "%Handle_Fenetre%"
     
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "0"
    	.PY				= "0"
    	.tx				= "300"
    	.ty				= "126"
    	.opacite		= "200"
    	.CouleurFond	= "255,010,010"
    	.CouleurTexte	= "000,255,000"
    	.Texte 			= "Blabla - handle parent %Handle_Fenetre%"
    	.Image			= ""
    	.event			= ""
    	creer/
    Fin/ Picturebox
     
    Imagebox/ Image4
    	.Handle			= "%Handle_Fenetre%"
    	.Parametres		= "IMGAUTO:2"
    	.PX				= "10"
    	.PY				= "10"
    	.tx				= "250"
    	.ty				= "200"
    	.opacite		= "200"
    	.Image			= "%OS_GUI%/CFT_FD.PNG"
    	.opacite		= "100"
    	.event			= ""
    	creer/
    Fin/ Imagebox
     
     
    Textbox/ MonTexteBox
    	.handle			= "%handle_fenetre%"
    	.parametres 	= "EDIT:1 MULTILINE:1"
    	.PX				= "50"
    	.PY				= "50"
    	.TX				= "200"
    	.TY				= "15"
    	.CouleurFond	= "255,255,255"
    	.CouleurTexte	= "000,000,000"
    	.texte			= "EDIT me !"
    	.event			= "%HOST_OS%/test.cpc"
    	Creer/
    Fin/ Textebox
     
    Checkbox/ MonCheckbox
    	.handle 			= "%Handle_Fenetre%"
    	.Texte				= "Coche moi!"
    	.Valeur				= "1"
    	.Parametres			= "COL:0"
    	.CouleurFond		= "255,255,255"
    	.CouleurTexte		= "000,000,000"
    	.PX					= "100"
    	.PY					= "80"
    	.TX					= "10"
    	.TY					= "10"
     
    	.evenement			= "%_exe_path_%=CLICK"
    	Creer/
    Fin/ checkBox
     
     
    Checkbox/ MonCheckbox
    	.handle 			= "%Handle_Fenetre%"
    	.Texte				= "La aussi !"
    	.Valeur				= "1"
    	.Parametres			= "COL:0"
    	.CouleurFond		= "255,255,255"
    	.CouleurTexte		= "000,000,000"
    	.PX					= "100"
    	.PY					= "100"
    	.TX					= "10"
    	.TY					= "10"
     
    	.evenement			= "%_exe_path_%=CLICK"
    	Creer/
    Fin/ checkBox
     
     
    Checkbox/ MonCheckbox
    	.handle 			= "%Handle_Fenetre%"
    	.Texte				= "Et moi !!"
    	.Valeur				= "1"
    	.Parametres			= "COL:0"
    	.CouleurFond		= "255,255,255"
    	.CouleurTexte		= "000,000,000"
    	.PX					= "100"
    	.PY					= "120"
    	.TX					= "10"
    	.TY					= "10"
     
    	.evenement			= "%_exe_path_%=CLICK"
    	Creer/
    Fin/ checkBox
    Vous pouvez remarquer la redondance des blocs, fenetre/ nom de la fenetre Les paramètres de la fenetre Fin/ fenetre , Bouton/ nom du bouton les paramètres du bouton Fin/ Bouton etc...
    Je veux que le logiciel puisse garder en mémoire les objets donc qu'il récupère les paramètres des objets écrits en cpcdosc+. Le logiciel après avoir lu le fichier ou la richtextbox qui contient le code, doit créer des "collections" si le code cpcdosc+ contient un bouton ou des boutons alors il doit créer des données qui rassemblent des infos sur ces/ce boutons (taille etc...) et le mettre dans la collection bouton afin que l'utilisateur puisse y accéder plus tard.
    Nom : boutonforum.PNG
Affichages : 161
Taille : 33,5 Ko
    Je précise que cela correspond à la fonction "importer" du logiciel, donc une fois le code lu et les données prisent plus besoin de relire.
    Effectivement si l'utilisateur créé un bouton directement sur le logiciel, on passera pas par du code cpcdosC+ mais on enregistre directs les infos remplies dans le formulaire de création de bouton.
    Merci demandez moi si des choses sont à éclaircir.

  16. #16
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Btacorn Voir le message
    Mon logiciel est un IDE pour le CpcdosC+, je ne sais pas si vous connaissez SoftwareZator d’Étienne Beaudoux mais c'est un peu le même principe on mélange l'édition de code et la génération automatique du code en remplissant des formulaires windows form.
    Donc je confirme qu'il faut bel et bien passer par des objets, sinon tu ne vas jamais t'en sortir.

    Par contre cet outil est jeune ? Tu connais son auteur ?
    Car je suis vraiment perplexe quand je regarde la syntaxe...

    La logique ne saute clairement pas aux yeux, et avant qu'il soit trop tard, il me semblerait très judicieux de modifier tout ça !

    Par exemple un objet fenêtre est délimité par :
    Où "fenetre/" indique une "instruction" "fenêtre". Et "Ma_Fenetre" est le nom de la fenêtre.

    Et il est terminé par :
    On "fini un truc" et ce truc est une "fenetre".

    Ok, jusque là, je trouve ça abominable comme syntaxe, mais pourquoi pas.

    Maintenant, on passe au bouton.
    Je m'attends à la même logique...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bouton/ Mon_Bouton
        ...
    Fin/ Bouton
    Ben oui mais non... on commence un "bouton" et on fini un "Bouton". Est-ce que ça marche aussi avec un "BoUtOn" ? Tout est insensible à la casse ? Ou si c'est sensible à la casse et juste mal goupillé ?

    Pour déclarer des objets, pourquoi ne pas avoir utilisé une syntaxe JSON, ou même XML ?
    Ca aurait eu deux avantages : lisible facilement par tous, et surtout, normé.

    Un gros avantage avec le XML, c'est qu'en plus, avec un XSL bien goupillé, il serait possible d'afficher un pré-rendu des objets sans passer par une seule ligne de programmation.

  17. #17
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    C'est normal d'avoir un tel format de fichier ? c'est pire qu'un ini, de nos jours on utilise plutot un json ou un xml pour facilement sérialiser/désérialiser les données.
    Ben c'est même pas du INI, c'est un peu bâtard comme format. Car au pire, il aurait pu utiliser l'API Windows pour gérer son fichier.
    Visiblement c'est imposé par l'outil "CpcDosC+".

    Apparemment, j'ai trouvé ce site : https://cpcdos.net/fr

    Ca se veut "innovant", mais je sais pas en quelle année ça l'était

  18. #18
    Membre averti Avatar de Btacorn
    Homme Profil pro
    Officier de la marine marchande
    Inscrit en
    Avril 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Officier de la marine marchande

    Informations forums :
    Inscription : Avril 2020
    Messages : 24
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Ben c'est même pas du INI, c'est un peu bâtard comme format. Car au pire, il aurait pu utiliser l'API Windows pour gérer son fichier.
    Visiblement c'est imposé par l'outil "CpcDosC+".

    Apparemment, j'ai trouvé ce site : https://cpcdos.net/fr

    Ca se veut "innovant", mais je sais pas en quelle année ça l'était
    ? Ça n'a pas vocation à stocker des objets windows form, windows a visual basic Csharp etc... et Cpcdos a le CpcdosC+.

Discussions similaires

  1. extraire des informations d'un string complexe
    Par damien92 dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2007, 18h36
  2. Extraire des informations précises d'un fichier
    Par cameleon33 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 14/10/2006, 13h40
  3. Extraire des informations d'une page web
    Par lr dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 28/03/2006, 12h38
  4. [RegEx] Extraire des informations d'une requête SQL
    Par XtofRoland dans le forum Langage
    Réponses: 13
    Dernier message: 07/03/2006, 15h59
  5. Existe t-il un parseur HTML pou extraire des informations?
    Par danje dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/10/2005, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo