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.
Besoin d'une commande de lecture de mots individuels. Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Besoin d'une commande de lecture de mots individuels. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Besoin d'une commande de lecture de mots individuels. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Besoin d'une commande de lecture de mots individuels. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Besoin d'une commande de lecture de mots individuels. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Besoin d'une commande de lecture de mots individuels. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Besoin d'une commande de lecture de mots individuels. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Besoin d'une commande de lecture de mots individuels. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Besoin d'une commande de lecture de mots individuels. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Besoin d'une commande de lecture de mots individuels. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Besoin d'une commande de lecture de mots individuels. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Besoin d'une commande de lecture de mots individuels. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Besoin d'une commande de lecture de mots individuels. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Besoin d'une commande de lecture de mots individuels. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Besoin d'une commande de lecture de mots individuels. 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 du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Besoin d'une commande de lecture de mots individuels.

Aller en bas 
3 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptySam 8 Avr 2017 - 5:28

Bonjour.

J'aurais encore besoin d'une commande qui lirait les mots individuels d'une chaîne de caractères quelconque, et les placerait dans un objet combo ou autre.
Cette commande existant dans d'autres basics: SplitTokens.

Exemple:

Le chat boit du lait.

La combo contiendrait, après traitement:

le
chat
boit
du
lait


Le traitement de la chaîne ne doit pas tenir compte des ponctuations, ni des mots commençant par un chiffre.
Ce qui signifie que chacun des mots doit débuter par un caractère alphabétique.

Est-ce faisable ?

Merci de la suite.
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptySam 8 Avr 2017 - 9:52

Oui. Je vais voir ça...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptySam 8 Avr 2017 - 11:57

C'est fait. Regarde la nouvelle version de KGF.dll de ce jour.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptySam 8 Avr 2017 - 19:01

Bonsoir.

Encore merci Klaus de ta rapidité.
Cette nouvelle fonction accélère encore un peu plus mon logiciel de traduction.

C'est tout simplement génial.
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptySam 8 Avr 2017 - 21:34

Je viens de penser à un truc:
puisque cette nouvelle fonction est detinée à servir dans un cadre de logiciel de traduction, il y a peut-être un problème de jeu de caractères ? Je m'explque:

Je filtre tout ce qui n'est pas du texte et je ne transmets au résultat que les caractères de texte pur. Or, j'ai choisi les minuscules accentuées françaises: 'à','â','é','ê','ë','è','î','ï','ô','ù','û','ç'. Et si la chaîne à analyser est dans une autre langue ? Quels sont les caractères à considérer ?

Plus généralement, ne serait-ce pas judcieux d'avoir une deuxième fonction qui définirait le jeu de caractères considérés comme "texte". Ce choix serait mémorisé et utilisé par la fonction IsolateWordsFromString, jusqu'à ce qu'un autre appel de la deuxième fonction remplace le jeu de caractères. Ou est-ce que je suis compplètement à côté de la plaque ?

EDIT

Et qu'est-ce qu'il en est avec des mots comme aujourd'hui et grand-mère ?

EDIT

Actuellement, ça marche comme ça:
Besoin d'une commande de lecture de mots individuels. Aa212

Et si l'on faisait comme ceci:
Besoin d'une commande de lecture de mots individuels. Aa126

Quelle solution est préférable ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 3:23

Bon, dans le doute, je rends les choses paramétrables, avec la situation actuelle comme valeurs par défaut, présentes automatiquement. Je publierai la nouvelle version demain... enfin aujourd'hui, car nous sommes déjà demain, en fait !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 8:35

Bonjour.

Je rencontre un gros problème avec cette nouvelle commande.
Pourrais-tu réaliser un test de ton côté, comme suit:

- Avec la même chaîne de caractères dans le mémo, analyser la chaîne et la placer dans la combo.
- A la lecture du fichier 'mots.txt', on s'aperçoit que l'enregistrement du contenu de la combo laisse apparaître des lignes vides, ce qui fausse le traitement de mon programme par la suite.
Il semblerait qu'un retour chariot soit placé entre chaque mot.
- De plus, certains mots en fin de ligne sont mal lus, car ils se trouvent à la fin d'un item du memo.
On retrouve des mots accolés les uns aux autres.

Merci de la suite Klaus.

Code:
' test_IsolateWordsFromString.bas

label analyser

dim res%, txt$

dll_on "KGF.dll"


maximize 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Chaîne de caractères à analyser:"
edit 2 : top 2,30 : left 2,10 : width 2,400

alpha 3 : top 3,60 : left 3,10 : caption 3,"Résultat dans:"
option 10 : top 10,80 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,80 : left 11,110 : caption 11,"Memo"
option 12 : top 12,80 : left 12,210 : caption 12,"Combo"
option 13 : top 13,80 : left 13,310 : caption 13,"List"

button 20 : top 20,110 : left 20,10 : caption 20,"Analyser" : on_click 20,analyser

memo  21  : left 21,10  : top 21,140 : width 21,300 : height 21,400 : bar_both 21
combo 22  : left 22,310 : top 22,140 : width 22,300 : height 22,400
list  23  : left 23,620 : top 23,140 : width 23,400 : height 23,600
font_size 23,12
font_bold 23


item_add 21,"Là ! Voilà Jean. Jean est là. Voilà Charles. Charles est là. Mme Schimtt est là. Voilà M. Schmitt. Voici Jean. Voilà Charles."
item_add 21,"Voici Kiel. Voilà Vienne. Kiel est ici. Vienne est là. Voici Mme Schmitt. Voilà M. Schmitt. Mme Schmitt est ici. M. Schmitt est là."
item_add 21,"Là-bas! Voilà Bonn. Voilà Rome. Jean est là. Charles est là-bas. Jean est là-bas. Voilà Charles. Voilà M. Schmitt."
item_add 21,"Voici Vienne. Voilà Rome. Voilà Kiel. Mme Schmitt est ici. Hans est là. Charles est là-bas. Voici Mme Schmitt. Voilà Jean. Voilà Charles."

end

analyser:
  txt$ = text$(21)
  
  clear 22
  clear 23
  if checked(10)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),0,0)
    clipboard_paste 21
  end_if
  if checked(11)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),1,handle(21))
  end_if                                                                                                                    
  if checked(12)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),2,handle(22))
    file_save 22,"mots.txt"
  end_if
  if checked(13)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),3,handle(23))
  end_if

  message str$(res%)+" mots trouvés"
  
  return
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 10:27

Cela vient de la façon dont tu construis ta vriable txt$. Remplace
Code:
  txt$ = text$(21)
par
Code:
  txt$ = ""
  for i%=1 to count(21)
    txt$ = txt$ + item_read$(21,i%) + " "
  next i%
et ça marchera. Ton code devient:
Code:
' test_IsolateWordsFromString.bas

label analyser

dim res%, txt$, i%

dll_on "KGF.dll"


maximize 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Chaîne de caractères à analyser:"
edit 2 : top 2,30 : left 2,10 : width 2,400

alpha 3 : top 3,60 : left 3,10 : caption 3,"Résultat dans:"
option 10 : top 10,80 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,80 : left 11,110 : caption 11,"Memo"
option 12 : top 12,80 : left 12,210 : caption 12,"Combo"
option 13 : top 13,80 : left 13,310 : caption 13,"List"

button 20 : top 20,110 : left 20,10 : caption 20,"Analyser" : on_click 20,analyser

memo  21  : left 21,10  : top 21,140 : width 21,300 : height 21,400 : bar_both 21
combo 22  : left 22,310 : top 22,140 : width 22,300 : height 22,400
list  23  : left 23,620 : top 23,140 : width 23,400 : height 23,600
font_size 23,12
font_bold 23


item_add 21,"Là ! Voilà Jean. Jean est là. Voilà Charles. Charles est là. Mme Schimtt est là. Voilà M. Schmitt. Voici Jean. Voilà Charles."
item_add 21,"Voici Kiel. Voilà Vienne. Kiel est ici. Vienne est là. Voici Mme Schmitt. Voilà M. Schmitt. Mme Schmitt est ici. M. Schmitt est là."
item_add 21,"Là-bas! Voilà Bonn. Voilà Rome. Jean est là. Charles est là-bas. Jean est là-bas. Voilà Charles. Voilà M. Schmitt."
item_add 21,"Voici Vienne. Voilà Rome. Voilà Kiel. Mme Schmitt est ici. Hans est là. Charles est là-bas. Voici Mme Schmitt. Voilà Jean. Voilà Charles."

end

analyser:
'  txt$ = text$(21)
  txt$ = ""
  for i%=1 to count(21)
    txt$ = txt$ + item_read$(21,i%) + " "
  next i%
 
  clear 21
  clear 22
  clear 23
  if checked(10)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),0,0)
    clipboard_paste 21
  end_if
  if checked(11)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),1,handle(21))
  end_if                                                                                                                   
  if checked(12)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),2,handle(22))
    file_save 22,"mots.txt"
  end_if
  if checked(13)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),3,handle(23))
  end_if

  message str$(res%)+" mots trouvés"
 
  return

Ne pas oubier de faire
Code:
clear 21
avant d'appeler la fonction, car sinon, les mots trouvés seront ajoutés au mémo si le choix était presse-papier ou mémo !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 10:32

Bonjour.

Merci Klaus, je pensais bien que le problème venait de là.
Par contre, le problème avec la combo n'est pas résolu.

Merci de la suite.
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 15:20

Je n'ai aucun problème de contenu de combo, pas de lignes blanches, et autant de lignes que la fonction déclare avoir retournées.
Regarde ce test (sélectionne "combo"):
Code:
' test_IsolateWordsFromString.bas

label analyser

dim res%, txt$, i%

dll_on "KGF.dll"


maximize 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Chaîne de caractères à analyser:"
edit 2 : top 2,30 : left 2,10 : width 2,400

alpha 3 : top 3,60 : left 3,10 : caption 3,"Résultat dans:"
option 10 : top 10,80 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,80 : left 11,110 : caption 11,"Memo"
option 12 : top 12,80 : left 12,210 : caption 12,"Combo"
option 13 : top 13,80 : left 13,310 : caption 13,"List"

button 20 : top 20,110 : left 20,10 : caption 20,"Analyser" : on_click 20,analyser

memo  21  : left 21,10  : top 21,140 : width 21,300 : height 21,400 : bar_both 21
combo 22  : left 22,310 : top 22,140 : width 22,300 : height 22,400
list  23  : left 23,620 : top 23,140 : width 23,400 : height 23,600
font_size 23,12
font_bold 23


item_add 21,"Là ! Voilà Jean. Jean est là. Voilà Charles. Charles est là. Mme Schimtt est là. Voilà M. Schmitt. Voici Jean. Voilà Charles."
item_add 21,"Voici Kiel. Voilà Vienne. Kiel est ici. Vienne est là. Voici Mme Schmitt. Voilà M. Schmitt. Mme Schmitt est ici. M. Schmitt est là."
item_add 21,"Là-bas! Voilà Bonn. Voilà Rome. Jean est là. Charles est là-bas. Jean est là-bas. Voilà Charles. Voilà M. Schmitt."
item_add 21,"Voici Vienne. Voilà Rome. Voilà Kiel. Mme Schmitt est ici. Hans est là. Charles est là-bas. Voici Mme Schmitt. Voilà Jean. Voilà Charles."

end

analyser:
'  txt$ = text$(21)
  txt$ = ""
  for i%=1 to count(21)
    txt$ = txt$ + item_read$(21,i%) + " "
  next i%
 
  clear 21
  clear 22
  clear 23
  if checked(10)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),0,0)
    clipboard_paste 21
  end_if
  if checked(11)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),1,handle(21))
  end_if                                                                                                                   
  if checked(12)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),2,handle(22))
    file_save 22,"mots.txt"
  end_if
  if checked(13)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),3,handle(23))
  end_if

  message str$(res%)+" mots trouvés"
 
  if checked(12)=1
    if count(22)<>res% then message "Ecart de nombre de lignes"
    for i%=1 to count(22)
      txt$ = item_read$(22,i%)
      if len(txt$)=0 then message "Ligne vide no. "+str$(i%)
    next i%
  end_if
 
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 15:27

Bonjour.

OK Klaus, pas de problème détecté dans la combo.

Mais il demeure un problème, lors de l'enregistrement, dans le fichier texte 'mots.txt', doit voici un extrait.
Les lignes vides contiennent chacune un retour-chariot chr$(13).

Code:


Voilà

Jean

Jean

est



Voilà

Charles
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 15:43

Ok, je vois. Je vais chercher d'où ça vient...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1594
Date d'inscription : 19/01/2014

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 16:25

Bonjour.

J'ai trouvé un indice qui te permettra certainement de résoudre le problème.
En ajoutant les lignes suivantes avant le return, tu verras que l'apostrophe finale est affichée sur une ligne différente, ce qui signifie que le dernier caractère de la ligne est un chr$(13).

Code:
txt$="'"+item_read$(22,1)+"'"

message txt$
Revenir en haut Aller en bas
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 19:04

Oui, j'ai trouvé. Fichu copier/coller - ce n'est pas la première fois que je me fais avoir avec ça.

Enfin, c'est corrigé, aussi bien pour le combo que pour la liste. Le presse-papier et le mémo n'étaient pas concernés.

Recharge simplement la DLL, et ça devrait marcher. Désolé pour la complication.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 19:35

D'ailleurs, qu'est-ce que tu penses de la possibilité de gérer la persistance ou non de certains caractères (trait d'union et apostrophe, par défaut), de changer cette liste, et de changer la liste des lettres spéciales pour avoir les accentués d'une autre langue ?
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

Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: re   Besoin d'une commande de lecture de mots individuels. EmptyDim 9 Avr 2017 - 19:43

Erreur de sujet
Désolé... Embarassed
Revenir en haut Aller en bas
Contenu sponsorisé





Besoin d'une commande de lecture de mots individuels. Empty
MessageSujet: Re: Besoin d'une commande de lecture de mots individuels.   Besoin d'une commande de lecture de mots individuels. Empty

Revenir en haut Aller en bas
 
Besoin d'une commande de lecture de mots individuels.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» besoin d' aide [ligne de commande]
» La commande COLOR a-t-elle besoin de prendre son souffle !
» pb de lecture du mag
» Couleur d'une variable qui n'est pas un mot-clé
» Lecture musique

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: