FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Wrapper autour de KGF.dll par procédures

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 5 Oct 2012 - 22:27

Heureux d'avoir fait avancer le schmilblick... Wink


Edit : je viens de passer les fonctions du player, tout fonctionne chez moi !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 22:55



Merci Klaus

J’ai rechargé ,mais je n’ai pas trouvé sur ton WebDav le fichier KGF.HLP.
J’en ai un provenant d’un telechargement anterieur.
J’ai tout mis dans un même repertoire.
Pour KGF.HLP, j’ai dû indiquer le chemin complet.
J’ai lancé RUN et

!!! MIRACLE TOUT MARCHE A MERVEILLE !!!.

Même Mikey.bas était au rendez-vous.


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Ven 5 Oct 2012 - 23:08

Super ! Merci, Papydall, pour ta persévérance !

J'étudie l'utilisation de fichiers *.CHM, en plus des *.HLP. C'est en cours.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 1:23

J'essaye d' envoyer un message à un autre programme, mais je n'arrive pas à comprendre comment procéder avec les sub.
Je veux au moyen d'un edit, donner les informations pour soit donner le nom d'un fichier, ou de prendre le contenu du presse papier ou autre à un loader, et là comme cela je ne comprend pas. C'est à dire à partir d'un programme Panoramic, envoyer le message à un autre Panoramic compilé. Je sais le faire de façon habituelle, mais si je rajoute l'include de sub, cela me paraissais plus intelligent de procéder ainsi. Ce qui veut dire le principe de celui qui l'envoi, et le principe de celui qui reçoit, sans qu'il y ait le besoin d'un accusé-réception ou d'aller-retour avec IPC.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 1:38

@Cosmos70:

1. dans le programme qui reçoit, tu déclares la boite à lettres (BAL) par un EDIT qui peut être caché et qui a un TOP et un LEFT négatif. C'est cette valeur qui sert d'identificatif (d'adresse postale). Exemple:
Code:

' récepteur.bas
label reception : ' on va ici sur réception d'un message dans la BAL
dim ID% : ID% = 0 - 1789 : ' c'est l'adresse de la BAL
dim message_recu$
EDIT 100 : ' c'est la BAL (le numéro d'objet n'a aucune importance
TOP 100,ID% : left 100,ID% : ' par contre, ceci est essentiel !
on_change 100,reception
...
reception:
message_recu$ = text$(100)
' traiter le message ici
return

Dans le programme expéditeur, il faut, au début, récupérer le handle de la BAL du récepteur. C'est la fonction IPCGetHandle qui fait cela:

Code:

dim ID% : ID% = 0 - 1789 : ' c'est l'adresse de la BAL
dim dest$ : dest$ = "Caption de la form 0 du destinataire"
...
' au début, il faut repérer la BAL du destinataire:
IPCGetHandle(dest$,ID%) : ' récupérer le handle de la BAL
...
' pour envoyer un message:
' la fonction IPGGetHandle a défini la variable IPCGetHandle% !
IPCSendMessage("Mon message",IPCGetHandle%)
' et c'est tout!
...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 1:43

Merci Klaus, depuis j'ai à peu-près retrouvé les lignes. Je vais étudier cela de prêt. Cela va prendre un peu de temps, j'ai un module à faire aussi et ensuite essayer.
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 13:17

Je n'y arrive pas.
J'ai fais un programme provisoire de réception avec le minimum:
(il me semble qu'il n'est pas nécessaire d'y ajouter la dll et les sub. Si je me souvient bien, l'expéditeur écrit directement dans l'edit)
Code:
rem lanceur pour pagiciel
caption 0,"EXÉCUTION DU PROGRAMME" :height 0,50
' il faut un edit placé en -1234 de réception
dim message_recu$ 
label reception
' il me semble pas qu'il soit nécessaire de lancer la dll, mais je le fais.
 KGF_initialize("c:\PANO\DLL\DLLs\KGF.dll")
EDIT 1:LEFT 1,-1234:TOP 1,-1234
   ON_CHANGE 1,reception       
end
' insert kgf'
#include |3| 
' =============================================================================='
reception:   
message "le text a changé"
   message_recu$ = text$(1)
   ' traitement:
   message message_recu$
   terminate
return

et pour les essais un programme d'envoi que je lance une fois le premier présent:
Code:
rem le programme de réception est déjà lancé manuellement avant
dim dll$ :left 0,500:height 0,50
dll$ = "c:\PANO\DLL\DLLs\KGF.dll"
KGF_initialize(dll$)
envoi("ceci est un essai")

END
sub envoi(mess$)
   dim_local i% , dest$
   i% = 0 - 1234
   dest$ = "EXÉCUTION DU PROGRAMME" :' caption du programme visé.
   IPCGetHandle(dest$,i%) : message ipcgethandle%
   wait 500 
   IPCSendMessage(mess$,IPCGetHandle%) 
end_sub
' charger KGF.dll
#include |3|   

J'ai l'impression que le handle de l'edit n'est pas reconnu.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 13:26

@Cosmos70:
Je vais regarder ton problème.

@Tous:
Nouvelle fonction dans KGF.dll: SpeakVoices. Cette fonction retourne la liste des voix installlées, dans une chaîne de caractères. Du coup, KGF.dll change de version:
1.66 06/10/2012 ajout fonction SpeakVoices, correction d'un bug avec LoadProgramMinimized

KGF_SUB.bas et demo_KGF_SUB.bas sont adaptés (fonction 179). La procédure est SpeakVoices(). La doc est mise à jour aussi (rubrique du texte prononcé).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 14:12

@Cosmos70:
Ca marche parfaitement ! Seulement, comme tu lances le programme émetteur à partir de l'éditeur, la fenêtre de celui-ci te cache les fenêtres de message ouvertes par ton programme de réception, et tu as l'impression qu'on attend quelque chose, alors que ce n'est pas le cas.

Réduis la fenêtre de l'éditeur IMMEDIATEMENT après avoir lancé ton programme émetteur, ou comiple-le en EXE, tu tu verras qu'il n'y a pas de problème.

En passant, je te confirme que le programme purement récepteur n'a absolument pas besoin de KGF.dll ni du include de KGF_SUB.bas. Voici le code "épurée":
Code:
rem lanceur pour pagiciel
caption 0,"EXÉCUTION DU PROGRAMME" :height 0,50
' il faut un edit placé en -1234 de réception
dim message_recu$
label reception
EDIT 1:LEFT 1,-1234:TOP 1,-1234
  ON_CHANGE 1,reception
end
' =============================================================================='
reception:
message "le text a changé"
  message_recu$ = text$(1)
  ' traitement:
  message message_recu$
  terminate
return

En tout cas, ton code est bon - tu as parfaitement compris le principe pour ces fonctions.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 16:48

Petite précision pour la nouvelle fonction SpeakVoices:

Elle retourne une chaîne de caractères contenant la liste des voix installées. Chaque voix est sur une ligne terminée par CR LF. On peut donc faire ITEM_ADD de cette chaîne de caractères, directement dans un MEMO, et utiliser ensuite chaque ligne. Pour l'ajouter dans un COMBO, LIST ou DLIST, il faut séparer les lignes. Cela peut se faire comme dans l'exemple ci-dessous, par exemple. Il suffit de faire HIDE 10 pour n'avoir que la COMBO.

Un exemple d'un sélecteur de voix:
Code:

KGF_initialize("KGF.dll")

dim i%
memo 10 : top 10,10 : left 10,10 : width 10,500
combo 11 : top 11,10 : left 11,220 : width 10,200

SpeakVoices()  : ' cette fonction crée automatiquement la variable SpeakVoices$
item_add 10,SpeakVoices$  : ' la combo contient la liste des voix
for i%=1 to count(10)
  item_add 11,item_read$(10,i%)
next i%

end

#INCLUDE "KGF_SUB.bas"

Voici une procédure qui crée et affiche un sélecteur de voix sous forme de combo:
Code:
KGF_initialize("KGF.dll")

dim i%

SelecteurDeVoix(11,12,10,20,200)

end

sub SelecteurDeVoix(n_combo%,n_temp%,haut%,gauche%,large%)
  combo n_combo% : top n_combo%,haut% : left n_combo%,gauche% : width n_combo%,large%
  memo n_temp% : width n_temp%,500 : hide n_temp%
  SpeakVoices()  : ' cette fonction crée automatiquement la variable SpeakVoices$
  item_add n_temp%,SpeakVoices$  : ' le memo contient la liste des voix
  for i%=1 to count(n_temp%)
    item_add n_combo%,item_read$(n_temp%,i%)
  next i%
  delete n_temp%
end_sub

#INCLUDE "KGF_SUB.bas"

Et voici un programme qui prononce un texte saisi, avec le choix de la voix, de la vitesse et du volume:
Code:
' Demo_SelecteurDeVoix.bas

label prononcer

KGF_initialize("KGF.dll")

dim i%

alpha 10 : top 10,10 : left 10,10 : caption 10,"Voix installées:"
' *************** création su sélecteur **************************
SelecteurDeVoix(11,12,10,100,200)
' ****************************************************************
alpha 20 : top 20,40 : left 20,10 : caption 20,"Volume:"
scroll_bar 21 : top 21,40 : left 21,100 : width 21,200
  min 21,0 : max 21,100 : position 21,50
alpha 30 : top 30,70 : left 30,10 : caption 30,"Vitesse:"
scroll_bar 31 : top 31,70 : left 31,100 : width 31,200
  min 31,0 : max 31,20 : position 31,10
alpha 40 : top 40,100 : left 40,10 : caption 40,"Texte:"
memo 41 : top 41,100 : left 41,100 : width 41,400
button 50 : top 50,200 : left 50,100 : caption 50,"Prononcer"
  on_click 50,prononcer

end

prononcer:
  if item_index(11)=0
    message "Il faut sélectionner une langue"
    return
  end_if
' *************** prononcer le texte *****************************
  Speak(text$(41),position(21),position(31)-10,item_index(11))
' ****************************************************************
  return

sub SelecteurDeVoix(n_combo%,n_temp%,haut%,gauche%,large%)
  combo n_combo% : top n_combo%,haut% : left n_combo%,gauche% : width n_combo%,large%
  memo n_temp% : width n_temp%,500 : hide n_temp%
' *************** charger la liste des voix installées ***********
  SpeakVoices()  : ' cette fonction crée automatiquement la variable SpeakVoices$
' ****************************************************************
  item_add n_temp%,SpeakVoices$  : ' le memi contient la liste des voix
  for i%=1 to count(n_temp%)
    item_add n_combo%,item_read$(n_temp%,i%)
  next i%
  delete n_temp%
end_sub

#INCLUDE "KGF_SUB.bas"


Dernière édition par Klaus le Sam 6 Oct 2012 - 23:45, édité 10 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 16:50

Le déplassement des fenêtres, et autres, je l'avais fait.
J'ai regardé de nouveau, mais rien de rien. En enlevant tout ce que je peux de la fenêtre le message de vient pas.
Est-ce normal, qu'en mettant:
Code:
  message ipcgethandle%
, le résultat soit "0"
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 17:02

Le résultat est 0 si le programme récepteur n'est pas lancé. Ton programme marche tel qu'il est. Ajoute un PAUSE 1000 juste après la ligne "KGF_initialize(dll$)". Lance le récepteur (en EXE), puis lance l'émetteur (par l'éditeur) et réduis l'éditeur dans la barre de tâches. Tu verras que ça marche. Ou, mieux encore, compile l'émetteur en EXE et lance d'abord le récepteur, puis l'émetteur à partir de l'EXE. Plus de problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 18:03

Juste pour info: sur la page précédente, j'ai édité mon post pour actualiser le sélecteur de voix et pour ajouter un programme qui prononce un texte à saisir, avec le choix de la voix, de la vitesse et du volume.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Oct 2012 - 18:20

Petit souci avec Pierre

Pierre a du prendre des hormones,
il a la même voix que virginie... Laughing Laughing Laughing

Edit :

j'ai pensé que cela était peut être du au fait que la voix d' anna était sur deux lignes
et que c'était donc un problème d'item dans le combo
mais j'ai beau rallonger ce dernier, anna est toujours sur deux lignes.

virginie - ok!
anna - ok!
véronique - ok!
pierre = virginie

Edit 2 :

Si on sélectionne le bout de Anna qui est placé ( on ne sait pourquoi dans l'item suivant )
on a la voix de Pierre
ce Pb d'affichage d'Anna provoque un décalage dans les items

Chez moi :

En visuel,

Item 1 > Virginie
Item 2 > LH Véronique
Item 3 > Microsoft Anna.......
Item 4 > ....(bout restant de Anna)
Item 5 > LH Pierre

sauf que pour avoir la voix de pierre il faut sélectionner
le bout restant de Anna en Item 4 alors que visuellement il est en Item 5


Dernière édition par ygeronimi le Sam 6 Oct 2012 - 18:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 18:46

Chez moi, c'est:
1: Virginie
2: Véronique
3: Sam
4: Pierre

Et tout est OK

Dans la fonction Speak, on passe le numéro de la langue en dernier paramètre. Si cette valeur est 0, on utilise la langue nstallée comme langue par défaut (Panneau de configuration/Voix). Chez moi, c'est Virginie. Eh oui, c'est la plus belle, il n'y a pas photo !

Sam est une voix américaine fournie par MicroSoft. C'est drôle cinq minutes: on dirait un américain sans aucune connaissance du français, qui lit un texte phonétiquement à l'américaine. Mais c'est bien sûr inexplotable. Si par contre tu veux faire prononcer un texte en anglais, c'est parfait.

Pierr est Pierre, chez moi, solide comme un rock...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Oct 2012 - 18:49

cf edit du message précédent.

Aurais tu mis un format d' entrée style string$(255," ") qui coupe le titre de Anna ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 18:56

Dans KGF_SUB.bas, à la ligne 1230, il y a effectivement un string$(255," "). Peux-tu remplacer le 255 par une valeur plus grande, pour vérifier ? 2000, par exemple ?

EDIT

N'oublie pas de réenregistrer après la modif, avant d'exécuter ton programme...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Oct 2012 - 19:12

J' avais retrouvé le truc mais même à 2000 l' item d'Anna est coupé et le bout restant est mis à la ligne soit visuellement en Item 4.

voilà l' Item de Anna :

3: Microsoft Anna - English (United
States)

J' ai rallongé le combo - rien!
J' ai string$(2000," ") - rien!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 19:31

Alors passe la largeur de la combo à 300 ou 400: 5ème paramètre à la ligne 11 de DemoSelecteurDeVoix.bas.

La ligne est coupée si le récipient n'est pas assez large.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 19:46

Klaus a écrit:
Chez moi, c'est:
1: Virginie
2: Véronique
3: Sam
4: Pierre

Et tout est OK

Chez moi aussi, c’est exactement kifkif.

J’ai leur fais lire un texte avec seulement des voyelles (exemple : aaa ooo iii eee uuu ma ma ma me me me mi mi mi mo mo mo)

C’est très drôle !

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re    Sam 6 Oct 2012 - 19:59

J'ai mis 500 rien n' à faire, il reste coupé
je me demande si c'est pas le combo lui même qui limité en taille de l' item
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 20:09

Non. Tu peux mettre des strings très longs dans un combo, il n'y a aucun renvoi à la ligne. Regarde ceci:
Code:
combo 1 : width 1,200
dim s$ : s$ = "123456789."
dim i%
for i%=1 to 10
  s$ = s$ + s$
next i%
message str$(len(s$))
item_add 1,s$
end
plus de 10000 caractères, et tout est dans la même ligne.

As-tu bien pris demo_SelecteurDeVoix.bas ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Oct 2012 - 20:28

Oui, je suis sur

Demo_SelecteurDeVoix.bas
Code:
SelecteurDeVoix(11,12,10,100,500)

KGF_Sub.bas
Code:
sub SpeakVoices()
  if variable("SpeakVoices$")=0 then dim SpeakVoices$
  SpeakVoices$ = string$(2000," ")
  KGF_res% = DLL_call1("SpeakVoices",adr(SpeakVoices$))
  SpeakVoices$ = trim$(SpeakVoices$)
end_sub

KGF.dll 1.66

PS j'arrive pas à faire une capture avec le combo déplié, grrrr...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Wrapper autour de KGF.dll par procédures   Sam 6 Oct 2012 - 20:37

Alors, remplace le mot combo par memo...

Mais S'IL TE PLAIT: utilise demo_SelecteurDeVoix.bas !!!!!!!!!!!

Ce programme montre comment charger la combo à partir de la chaine retournée par SpeakVoices. Tu ne peux PAS le mettre directement dans un COMBO, seulement dans un MEMO !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Oct 2012 - 20:56

@ Klaus,

Mais j'utilise tes deux fichiers, j'ai juste mis les modifs pour pas faire de surcharge sur le forum. Wink

Autres choses, j'ai essayé de réduire l'item dans le combo à 20 caractères pour voir si l'affichage changeait.
et là :

1: ScanSoft Virginie
2: LH Veronique
3: Microsoft Anna -
States)
4: LH Pierre

curieux non ?!

sauf que les noms de voix passent en stockage avant d'attérir dans le combo
et je pense que c'est dans ce stockage que le retour chariot ce fait et après la boucle renvoi la coupure

Code:
sub SelecteurDeVoix(n_combo%,n_temp%,haut%,gauche%,large%)
  dim_local S$ : ' Modif YG
  combo n_combo% : top n_combo%,haut% : left n_combo%,gauche% : width n_combo%,large%
  memo n_temp%
' *************** charger la liste des voix installées ***********
  SpeakVoices()  : ' cette fonction crée automatiquement la variable SpeakVoices$
' ****************************************************************
  item_add n_temp%,SpeakVoices$  : ' le memi contient la liste des voix
  for i%=1 to count(n_temp%)
    S$=item_read$(n_temp%,i%) : ' Modif YG
    if len(S$)>20 then S$=left$(S$,20): ' Modif YG
    item_add n_combo%,S$
  next i%
  delete n_temp%
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Wrapper autour de KGF.dll par procédures   

Revenir en haut Aller en bas
 
Wrapper autour de KGF.dll par procédures
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» Problème avec ADR() et procédures
» Procédure à suivre avant de poster
» Quelques "sujets" autour de notre petit monde...info..intox...etc.(mettez ce que vous voulez!)
» Cadre autour de votre page (ou forum)
» [CLIP]Autour de la Memoire - Tcheky Karyo

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: