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
» Logiciel de planétarium.
[memo] Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
[memo] Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
[memo] Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
[memo] Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
[memo] Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
[memo] Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
[memo] Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
[memo] Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
[memo] Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
[memo] Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
[memo] Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
[memo] Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
[memo] Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
[memo] Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
[memo] Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 [memo]

Aller en bas 
3 participants
AuteurMessage
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: [memo]   [memo] EmptyLun 29 Oct 2012 - 2:21

J' ai voulu récupéré le texte de plusieurs memo que j'ai placé dans des variables $
puis j'ai voulu créer une ligne i$ ( item d' un fichier type csv )en additionnant ces variables.
Mais voilà que quand j'enregistre cette ligne i$ dans mon fichier, je me retrouve avec des retours charriot scratch

Quelqu'un a t il une astuce pour se débarrasser de ces retours charriot... Question
Revenir en haut Aller en bas
Invité
Invité




[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyLun 29 Oct 2012 - 7:41

Là je peux te répondre. C'est le principe que j'utilise dans pagiciel pour sauvegarder les memos ou alpha en ligne.

Lorsque tu veux récupérer les memos avec retour chariot, tu sauvegardes d'abord dans un fichier provisoire le memo avec file_save N, T.
Puis tu effaces un variable tampon, disons d$
Ensuite tu relies le memo sous forme de fichier, car là tu ne lis pas les items mais chaque ligne complète avec les retours chariots.
exemple pris dans pagiciel:
Code:
  rem il faut d'abord sauvegarder le memo, pour relire le fichier et savoir où sont les retour-chariot
  file_save 352,dossier$ + "provisoir.txt"
  rem on relit chaque ligne
  d$=""
  file_open_read 1,dossier$ + "provisoir.txt"
  while file_eof(1) <> 1
      file_readln 1,c$
      d$ = d$ + c$ + "®"
  end_while
  file_close 1
  c$ = left$(d$,len(d$)-1 ) :' on retire le dernier return
Dans le cas suivant j'ai mis ® comme retour chariot, mais ça c'est pour le principe de mon programme. Normalement un retour chariot c'est chr$(10)+chr$(13) (je ne crois pas me tromper dans l'ordre.)

A partir de maintenant tout le memo est dans la variable d$. La limite est faut faire le calcul dans les 65000. Tu t'amuseras à faire le calcul, je crois que c'est 65535 caractères avec les retours chariots.

Tu devrais mettre un titre plus explicite, pour permettre plus tard à comprendre le but du post, et pouvoir s'en servir.
Revenir en haut Aller en bas
Invité
Invité




[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyLun 29 Oct 2012 - 8:11

J'y pense, tout dépend de ce que tu veux faire. J'ai un cas particulier, mais si tu veux juste relire un memo en respectant les sauts de lignes, tu mets au memo: bar_horizontal ou bar_both.
Par contre je crois qu'une ligne ne dépasse pas 1024 caractères.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: re   [memo] EmptyLun 29 Oct 2012 - 15:12

@ cosmos70,

Mon problème est l'inverse du tien

je prends le memo, je le place dans une variable et ainsi de suite...
puis je veux créer une ligne dans mon fichier Bdd qui soit l'addition de ces variable je fais donc :

T$=i$(1)+"|"+i$(2)+"|"+i$(3)+...... que je sauvegarde dans ma mémoire temporaire ( dlist )en lieu et place de l'ancienne ligne

je sauvegarde cette dlist dans un fichier ( *. ce que tu veux Laughing )

mais la ligne est sauvegardé comme suit :

i$(1)+"|"+i$(2)+"|"
+i$(3)+"|"+i$(4)

alors que je veux :

i$(1)+"|"+i$(2)+"|"+i$(3)+"|"+i$(4)

ce qui me fait penser que je récupère un retour chariot depuis le memo
et je cherche donc à m'en défaire... Wink
Revenir en haut Aller en bas
Invité
Invité




[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyLun 29 Oct 2012 - 15:58

Le principe est le suivant:
Dans un texte disons de 50 lignes dans un memo, tu peux n'avoir qu'un, deux dix retours-chariots.
Pour savoir où sont les retours-chariots, il n'y a qu'une possibilité; faire un file_save N,T.
Dans le cas, où ceux-ci ne servent pas, alors tu prends ta ligne ou tes lignes, et tu sauvegarde ainsi:
Code:
file_open_write 1,nom$
file_writeln 1,ligne$ :' x fois si plusieurs lignes.
file_close 1

Normalement je ne crois pas me tromper, mais la limite est aussi de 65535 caractères dans une ligne. Après il y a un retour chariot.
Si tu charges après un memo en récupérant chaque ligne par file_readln, et que tu l'envoi dans un memo, les lignes vont s'accumuler dans le memo, et il n'y auras qu'un retour chariot pour cette ligne: Tu verras x lignes dans le memo, du contenu de la ligne additionnée, mais le retour chariot invisible, sera au bout de la dernière ligne.

Je ne sais pas si je me suis fait comprendre. Disons que j'ai la ligne:
"Au clair de la lune, mon ami Pierrot. Prêtes moi ta plume pour écrire un mot."
et que tu récupères dans un memo cette ligne par item_add, tu verras ceci (les sauts de lignes en rapport avec la largeur du memo)
Citation :
Au clair de la
lune, mon ami
Pierrot. Prêtes
ta plume pour
écrire un mot.®®

®® représentant les retours chariots qu'on ne voit pas. Si tu as un memo que tu mets full_space dans une petite fenêtre. En déplaçant le bord droit de ta fenêtre, ta phrase va s'adapter à la largeur du memo qui suit cette fenêtre en tenant compte du retour chariot. A condition qu'il n'y ait pas de barre horizontale.

Maintenant si tu récupères ta phrase dans un list, elle va être entière dans la ligne (si il n'y a pas de dépassement de capacité de caractères)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: re   [memo] EmptyLun 29 Oct 2012 - 16:04

Merci cosmos70 !

Je vais étudier çà de près...de très près.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyMar 30 Oct 2012 - 7:20

ygeronimi a écrit:
@ cosmos70,

[ ... ] T$=i$(1)+"|"+i$(2)+"|"+i$(3)+...... que je sauvegarde dans ma mémoire temporaire ( dlist )en lieu et place de l'ancienne ligne

je sauvegarde cette dlist dans un fichier ( *. ce que tu veux Laughing )
mais la ligne est sauvegardé comme suit :

i$(1)+"|"+i$(2)+"|"
+i$(3)+"|"+i$(4)

alors que je veux :

i$(1)+"|"+i$(2)+"|"+i$(3)+"|"+i$(4)

ce qui me fait penser que je récupère un retour chariot depuis le memo
et je cherche donc à m'en défaire... Wink
Pourquoi passer par une dlist alors ? scratch

Note: Que cela soit sauvegardé avec des retours chariot ne pose pas en soi de problème...
Ce qu'il faut voir c'est : qu'est ce que tu as l'intention d'en faire de ton fichier ?
Peut être qu'il faut voir du coté de l'utilisation de ce fichier...

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: re   [memo] EmptyMar 30 Oct 2012 - 14:29

@ Nardo26,

Je passe par une dlist pour une question de rapidité,
les fonctions s'appliquent sur quelque chose déjà en mémoire.
Donc je fais mes opérations sur la mémoire et je sauvegarde
dans un fichier pour les futurs utilisations.
Le fichier est une base de données qui est chargé en début de programme
dans le dlist approprié qui est lu ligne par ligne donc chaque retour chariot
provoque une erreur.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyMar 30 Oct 2012 - 17:47

J'ai peut être pas tout compris mais tu n'utilises pas ta dlist comme étant une simple chaine de caractère ?
scratch
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyMar 30 Oct 2012 - 18:12

Un exemple comment placer toutes les lignes d'un mémo dans une seule chaîne de caractères, avec un caractère de séparateur à la place des RETURN:
Code:

dim i%, sep$, chaine$
sep$ = ";" : ' juste un exemple de séparateur
memo 1 : ' on charge dedans ce que l'on veut...
...
' constitution de la chaîne contenant tout:
chaine$ = ""
if count(1)>0
  for i%=1 to count(1)
    if len(chaine$)=0
      chaine$ = item_read$(1,i%)
    else
      chaine$ = chaine$ + sep$ + item_read$(1,i%)
    end_if
  end_if
next i%
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: re   [memo] EmptyMar 30 Oct 2012 - 18:47

@ Nardo26

si je place le contenu d'un memo dans une variable v$, que je répète l' opération sur plusieurs memo
puis je rassemble le tout dans une variable comme ceci

I$=v$(1)+"|"+v$(2)+"|"+v$(3)+"|"+v$(4)+"|"+v$(5)

et que je place cette variable dans un dlist que je sauvegarde dans un fichier.
Dans le dit fichier je verrai :

v$(1)+"|"+v$(2)+"|"+v$(3)
+"|"+v$(4)+"|"+v$(5)

le problème est que mon fichier de sauvegarde n'a plus le bon format
quand je recharge sur une autre utilisation, je vais avoir dans mon dlist

v$(1)+"|"+v$(2)+"|"+v$(3)
+"|"+v$(4)+"|"+v$(5)

et ma fonction qui doit lire l'item lira : v$(1)+"|"+v$(2)+"|"+v$(3)
et quand je vais voulloir redécouper mon item pour récupérer mes données

1 la fonction va me renvoyer une erreur si je fais une boucle for ou autre d' ailleurs
2 il va me manquer 2 données

Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyMar 30 Oct 2012 - 18:56

Pourquoi passes-tu par une dlist ? Pourquoi tu ne fais pas simplement:
Code:

file_open_write 1,"monfichier.txt"
file_writeln 1,I$
file_close 1

Tu le relis par:
Code:

file_open_read 1,"monfichier.txt"
file_readln 1,I$
file_close 1

et ta variable sera complète.

Une variable string (I$) peut être très longue (2**32-1 caractères). Tu ne la satureras pas.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

[memo] Empty
MessageSujet: re   [memo] EmptyMar 30 Oct 2012 - 19:08

@ Klaus,

Le temps de réaction est plus long, il me semble.
Je crois que c'est surtout que j'aime pas revenir en arrière Wink
je crée si le fichier n'existe pas, j'ouvre, je charge
et après je ne fais plus que des sauvegardes.

mais c'est vrai que les procédures ont fait évoluer les choses
et que le nombre de lignes à écrire c'est considérablement réduit. Laughing
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

[memo] Empty
MessageSujet: Re: [memo]   [memo] EmptyMar 30 Oct 2012 - 19:46

ygeronimi a écrit:
@ Klaus,

Le temps de réaction est plus long, il me semble.
Je crois que c'est surtout que j'aime pas revenir en arrière Wink
je crée si le fichier n'existe pas, j'ouvre, je charge
et après je ne fais plus que des sauvegardes.

mais c'est vrai que les procédures ont fait évoluer les choses
et que le nombre de lignes à écrire c'est considérablement réduit. Laughing

On est bien d'accord alors ?
Le fait de passer par une chaine de caractères (ce que tu fais au final avec ta dlist) ne change rien avec ce que tu as écris plus haut...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Contenu sponsorisé





[memo] Empty
MessageSujet: Re: [memo]   [memo] Empty

Revenir en haut Aller en bas
 
[memo]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» MEMO et SCROLL_BAR
» MEMO ?
» Un super-memo
» ALPHA et MEMO
» Objet Memo.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: