Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande de fonction sur les tableaux. Sam 12 Nov 2016 - 8:23 | |
| Bonjour.
@Klaus.
J'aurais besoin d'une fonction réalisant ceci:
. Enregistrement des éléments d'un objet Dlist dans un tableau. . Enregistrement de tous les éléments d'un tableau dans un Dlist.
A noter que le tableau ne comporte qu'une seule dimension.
Merci de ta réponse. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Demande de fonction sur les tableaux. Sam 12 Nov 2016 - 9:48 | |
| @Pedro Alvarez
Les demandes à l'usage exclusif de Klaus seraient peut-être plus à leur place dans 'Le site de Klaus' qu'ici ? | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Demande de fonction sur les tableaux. Sam 12 Nov 2016 - 9:50 | |
| Bonjour Pedro Alvarez Je pense que tu peux gérer le contenu d'un DLIST avec les commandes SAVE_FILE et LOAD_FILE. - Code:
-
DIM n% , t$
DATA "111","222","333","444","555"
DLIST 1 FOR n%=1 TO 5 READ t$ : ITEM_ADD 1,t$ NEXT n% FILE_SAVE 1,"D:\tableau.txt"
MESSAGE "Les données sont entrées dans le DLIST !"
LIST 2 FILE_LOAD 2,"D:\tableau.txt"
MESSAGE "Les données sont visibles dans le LIST !"
END Bonne journée PS : je pense que JL35 a raison. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande de fonction sur les tableaux. Sam 12 Nov 2016 - 11:19 | |
| Pour clôre ce suhet, voici mon analyse de cette demande: Un objet DLIST contient une suite de chaînes de caractères, par nature de longueur variable. Un tableau de chaînes de caractères également. Je comprends donc aisément l'idée de vouloir copier facilement l'un dans l'autre. Mais c'est malheureusement impossible à faire pour une fonction DLL. En effet, pour copier une DLIST dans un tableau, il faudrait pouvoir créer de nouvelles chaînes de caractères dans le tableau, pour chaque élément de DLIST. Or, une DLL n'a aucun moyen de créer une chaîne de caractères Panoramic. Tout ce aue l'on peut faire, c'est "écraser" une chaîne existante par les données d'une autre, en veullant scrupuleusement à ne pas dépasser la fin de la chaîne de destination, et en mettant éventuellement des espaces pour finir de remplir la chaîne de destination si la chaîne source est plus courte. Cela implique donc de pré-créer, en Panoramic, tous les éléments du tableau de destination de la manière suivante: - Code:
-
dim i%, tableau%(3000),res% dlist 17 ... for i%=1 to count(17) tableau%(i%) = string$(length(item_read$(17))," ") next i% res% = dll_call... : ' appel de la fonction DLL de copie On coit immédiatement que ce sera beaucoup plus lent que de copier les éléments de la DLIST directement dans le tableau, en Panoramic pur. Ceci dit, la demande est intéressante et mérite qu'une extension de Panoramic soit suggérée à Jack, dans la section appropriée. Par exemple, sous la forme de deux nouvelles commandes: ARRAY_LOAD N,A : ' copier le tableau A dans l'objet NARRAY_SAVE N,A : ' copier l'objet N dans le tableau AN pouvant être un objet de type LIST, DLIST ou MEMO A étant un tableau Panoramic en 1 seule dimension de tout type - chaîne de caractères, entier ou flottant. C'est vrai - ce serait un enrichissement utile ! | |
|
Contenu sponsorisé
| Sujet: Re: Demande de fonction sur les tableaux. | |
| |
|