Débutant qui n'arrive pas à manipuler des tableaux

Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011 - 25 janv. 2011 à 18:57
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 9 févr. 2011 à 17:52
Bonjour,
Je débute avec visual basic express 2010 et malgré des jours entier à me débattre avec le code je suis incapable de faire un truc tout simple.

Je souhaite découper un texte (un Gcode pour CNC) et réorganiser, dans un certain ordre, les éléments découpés.

J'ai réussi à découper le texte en sous ensembles grâce à :


colUsinages = BlocsGcodesText.Split(SeparateurUsi)

Mais ensuite je ne comprend pas comment manipuler les éléments du tableau pour les remettre dans un ordre précis.
Je bute toujours sur une erreur où VB me dit qu'il est impossible de convertir un Array en String

Je précise que ne comprend rien a la doc de Microsoft sur la classe Array

Merci infiniment de toutes réponses que vous m'apporterez car je suis en grande souffrance

157 réponses

Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 19:27
En effet, tu as raison !
En fait, c'est pas évident à voir dans la petite fenêtre intelisens, mais en effet si je regarde dans le visualiseur de texte, la valeur de listitem(iter) est bien G0 Z3.0

toutes mes excuses, pour cette malheureuse confusion.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
2 févr. 2011 à 19:42
donc il y a un espace
c'est comme meme bizarre que tu lances le meme
code avec les memes données t'as une erreur
et j'en ai pas

il y arrive bien à la ligne
 zn = Double.Parse(listitems(iter).Substring("G0 Z".Length))


mais la Boum
il doit y avoir un G0 Z pas comme les autres
dans le fichier
0
Utilisateur anonyme
2 févr. 2011 à 20:23
Salut à tous les 2
Effectivement quand j'ouvre un g-code avec ton code ou avec ma version l'espace entre le G0 et le Z3.0 n'apparait plus
alors que dans un bloc-note il apparait bel et bien.

Il se peut que ce ne soit pas un espace (chr32) mais autre chose du style chr1 ou chr2 etc... (voir table ascii) et donc pas forcément visible sur l'un ou l'autre éditeur de texte.
Bonne soirée.
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 20:53
Mauvaise nouvelle, j'ai vérifié, il y a bien un espace entre G0 et Z dans l'affichage de la textbox.
En fait, la typo est différente et les espaces sont tout minces et faut reconnaitre que visuellement, on à vraiment
l'impression qu'il n'y a pas d'espace. Il faut que je m'achète des yeux ou un cerveau.

Ça aurait été trop facile si ça avait été la solution.

Bon, je vais décortiquer le g-code ligne par ligne pour essayer de trouver l'intrus.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 21:16
Bienvenu Banana32 dans notre galère

Je te remercie pour ton coup de main. Ton idée est à creuser je vais étudier le code ascii et ce peut-il que d'un logiciel à
l'autre il y ait des conflits entre ascii et utf-8 par exemple ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
2 févr. 2011 à 21:27
Don't give up

Mauvaise nouvelle, j'ai vérifié, il y a bien un espace entre G0 et Z dans l'affichage de la textbox.

mauvaise nouvelle non plutot bonne
mais sil n'y avait pas d'espace il ne serait
arrivé à la ligne
zn = Double.Parse(listitems(iter).Substring("G0 Z".Length))


tu sais quoi fais comme j'ai fait
copies et colles tout le gcode que tu as
envoyé dans le 1er post et mets le dans
un notepad et test avec
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 21:52
Je viens de copier et coller le g-code, du début, dans le wordpad et j'ai enregistré-sous, une copie, au format texte et une autre au format Unicode.
Malheureusement, aucun des deux ne fonctionne.
je continue dans d'autres formats.
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 22:11
Par contre j'ai trouvé deux G1 Z. Ce pourrait-il qu'ils puissent poser problème ?



( T2 : 60.0 )
T2 M6
M3 S1000
G1 Y173.1611
G1 Z0.0
G1 Y83.1613
G1 Y83.1611
G1 Y83.1613
G3 X84.0843 Y83.1611 I0.0002 J0.0
G1 X84.0842
G1 X84.0843
G1 X224.0842
G1 Y173.1611
G1 X224.0841
G1 X84.0842
G0 Z5.0


et

G0 Z3.0
G0 X84.0841 Y233.1611
G1 Z0.0
G3 X24.0842 Y173.1611 I0.0 J-60.0
G1 Y83.1611
G1 Y83.1609
G3 X84.084 Y23.1611 I60.0002 J0.0004
G1 X84.0842
G1 X224.0841
G1 X224.0842
G1 X224.0841
G3 X284.0842 Y83.1611 I0.0001 J59.9999
G1 Y83.1612
G1 Y83.1611
G1 Y173.1611
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
2 févr. 2011 à 22:19
non
copies et colles pas dans un wordpad mais
un text document
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
2 févr. 2011 à 22:50
je ne suis pas sur d'avoir bien compris la procédure que tu me propose.
j'ai aussi copier au format document texte mais sans succès.

Y'a un truc idiot que j'ai loupé ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
2 févr. 2011 à 23:03
avant de copier coller tu as créer un doc vide
avec le wordpad et coller dedans

mais moi j'ai crée un doc vide avec le nodepad
et coller dedans
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 08:30
OK, je n'avais pas installé notpad donc pas étonnant que je ne comprenais pas bien.

Bon,pour faire court, notepad installé mais Gcode pas marcher!

Je vais essayer d'installer visual studio express sur un autre pc pour voir si j'ai le même problème avec une autre machine.
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 11:39
J'ai installé visual studio express 2010 sur un ordinateur portable tout neuf. Ensuite j'ai installé notepad. Après,
j'ai reconstruit le windows form avec les boutons et les deux listbox. J'ai copier coller le code et renomé le form 1 en formcnc, j'ai corrigé le sub searchEndCode. Ensuite, j'ai créé un document texte dans le notepad et j'y ai collé
le gCode posté plus haut. Enfin, j'ai lancé le débogage, chargé le gCodeTest et appuyé sur le bouton procéder....




ERROR CODE G0
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
3 févr. 2011 à 12:53
Salut

par précaution j'ai meme copier coller avec
le wordpad avec les 3 sortes de format
text document
text document ms-dos format
unicode test document

les tests ont réussi

je veux savoir la valeur de
listitems(iter).Substring("G0 Z".Length)

qui cause le problème
donc mais un point d'arret F9 sur la ligne
MessageBox.Show("ERROR CODE G0")

lances avec le debug quand ça va s'arreter il
y a une faute il faut regarder la valeur
du listitems(iter) avec le watch

et la valeur de iter
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 13:10
J'ai mis le point d'arrêt et :

Pour un test j'ai obtenu la valeur : G0 Z5.0
J'ai recommencé plusieurs foi, mais j'obtiens toujours : G0 Z3.0

Et la valeur de iter est 4
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 13:14
J'ai testé avec un autre fichier et j'ai obtenu toujours : G0 Z3.0
mais avec une valeur de iter de 5
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 13:21
J'ai essayé de copier coller une nouvelle version du gcode en sélectionnant le gcode à partir du premier goz
et après débogage j'obtiens une valeur d'iter de 1
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 13:45
Petite rectification, dans mon dernier test j'avais commencé à sélectionner la ligne avant le premier G0 Z

Iter correspond-il à la position du premier G0 Z ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
3 févr. 2011 à 13:52
est ce que ça atteint la ligne
MessageBox.Show("ERROR CODE G0")
0
Treleau Messages postés 84 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 13:58
Oui, je crois, puisque l'application affiche le message d'erreur si appuis une foi sur F8
0
Rejoignez-nous