FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» demande explication KGF pour imprimer en mm
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar JL35 Hier à 17:28

» Petit passage furtif
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar Klaus Dim 3 Mar 2024 - 9:59

» Tangram-Toukaré
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar jjn4 Mer 28 Fév 2024 - 18:12

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar jjn4 Mer 28 Fév 2024 - 18:09

» KGF_dll - nouvelles versions
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar Klaus Mer 28 Fév 2024 - 17:01

» Mes souhaits d'amélioration de Panoramic.
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar Pedro Lun 26 Fév 2024 - 18:12

» Testez-votre-QI
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar jjn4 Dim 25 Fév 2024 - 17:12

» Utilisation d'Élip
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar jjn4 Sam 24 Fév 2024 - 18:33

» Récapitulatif ludothèque panoramic jjn4
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar jjn4 Sam 24 Fév 2024 - 18:11

» Générateur de mots de passe
Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Emptypar mindstorm Mar 20 Fév 2024 - 20:09

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier
Le Deal du moment : -17%
Casque de réalité virtuelle Meta Quest 2 ...
Voir le deal
249.99 €

 

 Problème de ITEM_ADD et COUNT avec DLIST

Aller en bas 
4 participants
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyVen 21 Jan 2011 - 1:18

Non, je veux simplement que les CR LF soient traités de façon identique, que ce soit par file_load, par item_add ou par item_insert.

Je fais un item_add avec un string contenant 3 segments séparés donc par 2 CRLF. Le list n'affiche qu'une seule ligne, et COUNT retourne 1. Item_read retourne un seul string qui s'affiche avec PRINT en une seule ligne. Les CRLF n'apparaissent nulle part. Soit.

Maintenant file_save. Le fichier résultant est sur 3 lignes ! Donc, les CRLF étaient bien quelque part !

Maintenant clear, puis file_load du même fichier. On est en droit de s'attendre que la séquence file_save, clear, file_load produise un résultat identique à celui avant le file_save. Mais que nenni ! File_load produit un list avec 3 lignes. Ceci veut dire que les CRLS, bien présents dans le fichier à charger, sont interprétés comme séparateur de lignes, alors qu'ils sont simplement ignorés par item_add et item_insert. Et ce n'est pas normal.

Démonstration:
Code:

dim crlf$
crlf$ = chr$(13) + chr$(10)
list 10 : top 10,100 : left 10,10
item_add 10,"aaaaa"+crlf$+"bbbbb"+crlf$+"ccccc"
print "après item_add: "+str$(count(10))+" lignes"
print item_read$(10,1)
file_save 10,"test.txt"
clear 10
file_load 10,"test.txt"
print "après file_save/file_load: "+str$(count(10))+" lignes"
end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyVen 21 Jan 2011 - 2:41

Il y a vraiment une divergence entre toi et moi sur ce problème.
La fonction à mon avis sur un list, est de faire une liste. D'accord tu veux que tu liste ait 3 segments. Mais pourquoi y mettre des retour chariots. Moi, quand je veux faire une séparation, je mets chr$(1...), quelque chose qui n’influe pas sur le fichier.
Si à la place de list, tu te sers de tableau avec dim, si tu mets un retour chariotdans une variable tableau, à l'enregistrement, il y aura aussi un séparateur, et à la lecture, tu le retrouveras.

Tu veux faire du list, un memo. Mais depuis quand que c'est la même chose!. Il faut une logique, et je ne vois pas comment tu peux résoudre ton problème dans un fichier, en incluant, en forçant un séparateur. Tu cherches les problèmes.

Toi même, tu interviens dans mes remarques pour me dire bien souvent que Delphi mets ceci ou cela, et on doit respecter, ou Delphi, une autre fois Windows. A ton tour de respecter Panoramic dans sa méthode. Ce sont les retours chariot qui servent de séparateur, donc trouves d'autre séparateurs.

Un memo est du texte à la frappe. Un list est accumulateur d'objets. Chaque ligne d'un list pour moi est un edit, et doit être traité comme tel. La différence est la sauvegarde, et je ne vois pas comment tu peux demander qu'il y ait un autre séparateur qu'un retour chariot. Tu as des datas qui ont des virgules, ou des fichiers qui ont des virgules comme séparateurs, c'est pas le pied, si tu veux te servir de virgule.

Soit tu changes de séparateurs, soit tu demandes la création d'un objet spécifique, avec la possibilité d'avoir des séparateurs spéciaux, ou alors,tu fais comme moi, tu utilise le nouvel objet GRID en hide pour y mettre tes segments.

Tu es suffisamment pointu et costaux en programmation, pour te sortir de ce problème. Il te restes les fichiers à accès directs qui ont un champ défini, mais ici c'est hors sujet, ça n'a pas été construit.

Si tu veux un nouvel objet, parce qu'un list ne traite que des lignes différentes, à l'inverse d'un memo, qui a une continuité, il te faut mettre un cahier des charges, et proposer la solution qui permette d'avoir la sauvegarde et la lecture de ton objet.

A moins que Jack ait un truc à lui. En MS-DOS, tu peux changer le prompt, peux-être demander une possibilité de mettre un séparateur à la demande, mais je suis dépassé, déjà par toi en premier.
Bonne nuit Klaus.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyVen 21 Jan 2011 - 2:56

Non,non, je ne veux pas transformer une list en quelque chose d'autre. Je veux simplement qu'après avoir exécuté:

list 10
list 11
item_add 10,s$
file_save 10,"test.txt"
clear 10
file_load 11,"test.txt"

la list numéro 11 soit identique à la list numéro 10. Et ce n'est pas le cas, et ce n'est pas normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyDim 23 Jan 2011 - 2:57

Je n(avais pas l’intention d'aller au delà, mais j'ai voulu essayer quelque chose.
Dès le départ, Klaus, moi je ne démord de l'idée qu'il faille revoir la sauvegarde de list. C'est trop tard, il faudrait revoir tous les fichiers qui ont étés fait jusqu’alors.

La sauvegarde a été faite comme un mémo, on ne peut revenir en arrière.

Maintenant comment faire. Le choix d'un séparateur est problématique, vu qu'en changeant de séparateur, dans six mois, tu voudras prendre ce nouveau séparateur pour séparer tes segments.

Il m'a fallu du temps pour avoir l'idée, surtout que je ne cherchais aps, j'ai mes propres problèmes. Et puis tout à l'heure j'ai eu l'idée. Il faut sauvegarder la longueur de chaque ligne.
Code:

' teste de récupération d'un liste avec lignes comprenant des retour-chariot
dim a%,b%,a$,b$,s$,f$  ,l%(100)
label doche:' !
s$=chr$(10)+chr$(13)
f$="C:\temp\teste liste.fic"
height 0,200
list 1 :height 1,150
button 2:left 2,160:caption 2,lecture : on_click 2,doche
list 3 :left  3,260:height 3,150:width 3,200

item_add 1,"salut"+s$+"comment ça va"+s$+"et toi?"
item_add 1,"Noi, rien à dire"+s$+"à quoi tu penses?"
item_add 1,"à rien"
item_add 1,"je reste couché "
' -------------------------------

FILE_OPEN_WRITE 1,f$
b$=""
for a%=1 to count(1)
  l%(a%)=len( item_read$(1,a%))
  b$=b$+str$( l%(a%))
  if a%<count(1) then b$=b$+","
next a%
file_writeln 1,b$
for a%=1 to count(1)
  file_writebuf 1,item_read$(1,a%),l%(a%)
next a%
file_close 1

end
' ====================================================================================
doche:
file_open_read 1,f$
file_readln 1,a$
  a%=0
  repeat
      b%=instr(a$,",")
      if b%>0 then b$=left$(a$,b%-1):a$=mid$(a$,b%+1,len(a$)-b%):a%=a%+1:l%(a%)=val(b$)
  until b%=0 or scancode=27
  for b%=1 to a%+1
      file_readbuf 1,a$,l%(b%)
      item_add 3,a$
  next b%
return

Et ça marche parfaitement.
Je me doute bien que tu dois connaitre cette possibilité, mais bon, j'ai le droit de faire le malin de temps en temps.
Bonne nuit, le clavier fait trop de bruit, et ma femme grince!
Revenir en haut Aller en bas
JL35




Nombre de messages : 7090
Localisation : 77
Date d'inscription : 29/11/2007

Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyDim 23 Jan 2011 - 10:58

Citation :
le clavier fait trop de bruit, et ma femme grince!
ou vice versa
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 EmptyDim 23 Jan 2011 - 11:41

Oui, je sais bien qu'avec FILE_READBUF on peut charger un fichier texte sans tenir compte des séparateurs, pour les restituer par la suite. Il y a tout une série de téchniques pour contourner ce problème que j'ai énoncé, à commencer par celle que j'ai utilisée: au lieu d'un DLIST, j'utilise un MEMO caché.

Seul hic: je ne peux pas faire SORT sur un MEMO. Je dois donc faire FILE_SAVE du MEMO, FILE_LOAD dans un LIST, SORT du LIST, FILE_SAVE du LIST, FILE_LOAD dans le MEMO. Laborieux, tout ça !

@Jack:
J'aimerais vraiment que tu donnes ton avis. Le code suivant marche bien si l'on remplace XXXX par MEMO. Mais pour LIST, DLIST et COMBO, ce code ne marche pas: le contenu de l'objet 11 n'est pas identique au contenu de l'objet 10. Et cela vient de ITEM_ADD (avec ITEM_INSERT, c'est pareil). CEs deux commandes ne gèrent pas lde CR LF en chargeant les données dans ces 3 types d'objet, alors que pour MEMO, c'est géré correctement. Ceci conduit, dans un LIST,DLIST ou COMBO à une seule ligne contenant la totalité du string y compris les CRLF. FILES_SAVE sauvegarde cela correctement dans un fichier. Mais dans ce fichier, il n'y a plus de distinction entre les CR LF ajoutés après chaque ligne de l'objet et les CR LF contenus à l'intérieur d'une ligne, si bien qu'après un FILE_LOAD de ce fichier, le résultat sera différent !

Je pense que ITEM_ADD et ITEM_INSERT devraient ajouter ou insérer une ligne pour chaque segment.

Si ce n'est pas possible, pourrait-on envisager des commandes de type ITEM_LIST_ADD et ITEM_LIST_INSERT ?

Code:
dim s$, crlf$
crlf$ = chr$(13)+chr$(10)
s$ = "aaaaaaa"+crlf$+"bbbbbb"
XXXX 10
XXXX 11 : left 11,200
item_add 10,s$
file_save 10,"test.txt"
clear 11
file_load 11,"test.txt"
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty
MessageSujet: Re: Problème de ITEM_ADD et COUNT avec DLIST   Problème de ITEM_ADD et COUNT avec DLIST - Page 2 Empty

Revenir en haut Aller en bas
 
Problème de ITEM_ADD et COUNT avec DLIST
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Problème avec select case Probleme réglé merci
» problème avec edit ou bien avec combo?
» Problème avec 'dim'.
» Problème avec les "if".
» Problème avec RemoveStringBetweenDelimiters.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: