Forum AtoutFox
Forum
 RSS © www.atoutfox.org - Forum report label en reseaubonjour quelqu'un peut me dire pourquoi sur vfp8 en réseau si j'affiche a l'écran une étiquette (par label form) un autre poste qui veut l'afficher a un message d'erreur (accès au fichier refusé) alors qu'avec un etat (report form ) ca ne le fait pas ? merci Wed, 20 Jan 2021 01:12:51 GMTRe: Affichage localisation via google mapBonjour Francis, La solution de Mike a le même problème que moi aujourd'hui. Voir copie écran ci-dessous : https://ibb.co/y4gDvzC Je pense que le site de maps.google a modifié son interface qui n'est plus compatible avec l'accès comme on l'utilise. Françoise Thu, 07 Jan 2021 01:12:51 GMTRe: Affichage localisation via google mapBonjour et merci pour votre réponse. Tout d'abord meilleurs voeux pour cette nouvelle année! Le but de mon programme est d'avoir la carte en interactif dans mon formulaire, mais si je ne trouve pas d'autre solution, j'ouvrirai la page web comme vous me l'avez indiqué. Merci! Thu, 07 Jan 2021 01:12:51 GMTRe: lettres en chiffresBonne année à tous. Merci Francis, mais Marc avait vu juste ... Il s'agit en pratique de récupérer la date d'un document (officiel) qui est écrite en lettres. Ne m'intéressant qu'à 19xx et 20xx, il n'est pas difficile d'extraire le millésime. Par la suite, je n'ai besoin que des 99 premiers nombres. Je les récupère dans un fichier texte sous la forme: Un Deux Trois ... Et la fonction ATCLINE() me founit la valeur en chiffres. Pas très élégant mais efficace. Mon, 04 Jan 2021 01:12:51 GMTRibbon headerhttps://doughennig.blogspot.com/2020/12/microsoft-office-365-like-ribbon-control.html Wed, 30 Dec 2020 01:12:51 GMTRe: VFPWINSOCK encore ..Bonjour, J'ai une solution pour envoyer des e-mails en MAPI32. [VFP] LOCAL oSess, oMsg,lcCurdir,lnSessionID lcCurdir=SYS(5)+CURDIR() oSess=CREATEOBJECT("MSMAPI.MAPISession") IF VARTYPE(oSess)="O" oSess.DownloadMail=.f. oSess.UserName="username" oSess.Password="password" oSess.SignOn() lnSessionID=oSess.SessionID IF lnSessionID>0 oMsg=CREATEOBJECT("MSMAPI.MAPIMessages") IF VARTYPE(oMsg)="O" oMsg.SessionID=lnSessionID oMsg.compose() oMsg.AddressResolveUI = .f. oMsg.MsgSubject = "Subject" oMsg.MsgNoteText = "This is so easy they say!" oMsg.RecipAddress = "info@test.nl" oMsg.RecipDisplayName = "info@test.nl" oMsg.ResolveName() oMsg.RecipDisplayName = "test" oMsg.Send() ENDIF oSess.SignOff() ENDIF ENDIF oSes=null oMsg=null SET DEFAULT TO (lcCurdir) RETURN [/VFP] Si cela ne fonctionne pas: Exécuter le projet à partir d'échantillons, les solutions Activex envoient du courrier. RUN / N Regsvr32 / s MSMAPI32.ocx. Fri, 25 Dec 2020 01:12:51 GMTRe: lettres en chiffresAh j'ai mal compris ! ou lu trop vite... Merci Marc de "ce recadrage"... dans ce cas : non pas connaissance de l'inverse : il faut écrire un parseur... en prenant en compte les "fautes" courante sur les nombres... (je n'en ai jamais eu besoin dans ce sens... je ne vois pas trop dans quel contexte l'utiliser...) Cordialement Le jeu. 24 décembre 2020, 14h27 Marc Thivolle a écrit : > Sans vouloir faire le rabat-joie, il me semble que la question posée est : "comment passer de 24 décembre 2020" à "24/12/2020" ou de "deux mille cent quarante-cinq euros" à "2145 €". Ou, pour nos amis belges et/ou suisses, "septante trois" par "73". > > > > . > Thu, 24 Dec 2020 01:12:51 GMTRe: lettres en chiffresSans vouloir faire le rabat-joie, il me semble que la question posée est : "comment passer de 24 décembre 2020" à "24/12/2020" ou de "deux mille cent quarante-cinq euros" à "2145 €". Ou, pour nos amis belges et/ou suisses, "septante trois" par "73". Thu, 24 Dec 2020 01:12:51 GMTRe: VFPWINSOCK encore ..Bonjour, Cet objet CDO appartient à Microsoft Office 2007. Une autre version d'Office peut avoir un nom d'objet différent. Sincères salutations, Jan Flikweert Thu, 24 Dec 2020 01:12:51 GMTRe: lettres en chiffresVincent, Oups, Je vois que je n'ai pas mis de liens, sur Atoutfox : http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000839 Voir à ce lien si ce n'est pas une version + récente : http://www.vfp.fr/nombre-en-lettres.asp Cordialement Francis Le mer. 23 décembre 2020, 17h42 Francis Faure a écrit : > Bonsoir Vincent, > > Hé oui, votre serviteur l'a déjà fait depuis un moment... > > Cordialement > Francis > > > . > Thu, 24 Dec 2020 01:12:51 GMTRe: VFPWINSOCK encore ..Bonjour Jan Merci pour votre réponse J'essayerai cette solution as soon Bonne fêtes Thu, 24 Dec 2020 01:12:51 GMTRe: VFPWINSOCK encore ..Bonjour, Ici une solution email: [VFP]SELECT mllst1_dlnmrs_pst GO TOP CALCULATE COUNT() TO nrecords antwoord=Messagebox("Weet u zeker dat u ook de mail wilt versturen?",4) If antwoord=6 loMessages = Createobject("CDO.Message") loConf = Createobject("CDO.Configuration") Flds = loConf.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = 'ml.zt.nl' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 5 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "fl" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "=b9" .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = .T. .Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update Endwith With loMessages .Configuration = loConf .From = "Inwedstrijden " Endwith With loMessages .Subject = "Controle mail en telefoon" .HTMLBody=" STORE 0 TO _MLINE IF MEMLINES(tbl_messages.contr_mail_telf)> 0 aantal_regels= MEMLINES(tbl_messages.contr_mail_telf) FOR teller= 1 TO aantal_regels .HTMLBody=.HTMLBody+ALLTRIM(MLINE(tbl_messages.contr_mail_telf,1,_MLINE ))+" " NEXT teller ENDIF SELECT mllst1_dlnmrs_pst GO TOP teller=0 IF test_omgeving=1 .to="f3@z.nl" .Send() .to="ffl@z1e.nl" .Send() .to="in1f@z3e.nl" .Send() ELSE SCAN ALL .HTMLBody=.HTMLBody+" "+" " .HTMLBody=.HTMLBody+"De bij ons bekende gegevens " .HTMLBody=.HTMLBody+"E-mail: "+ALLTRIM(mllst1_dlnmrs_pst.eml)+" " .HTMLBody=.HTMLBody+"Telefoon: "+ALLTRIM(mllst1_dlnmrs_pst.tlfn)+" " .to=Alltrim(mllst1_dlnmrs_pst.eml) .Send() ENDSCAN ENDIF Endwith loMessage = .Null. loConf = .Null. Release loMessage,loConf Messagebox("Het bericht is verzonden.") ELSE loMessage = .Null. loConf = .Null. Release loMessage,loConf Messagebox("Het bericht niet verzonden.") ENDIF WAIT CLEAR
[/VFP]
Wed, 23 Dec 2020 01:12:51 GMT
Re: HTMLedit avec RTF Bonsoir Koen,
Ta question est un peu "Floue" :
- tu veux éditer du RTF ? si oui : il y a pas mal de contribution à ce sujet sur ce site (je pense à celles de Mike et Ludo) www.atoutfox.org/recherche.asp?tables=ARTICLES&mots=RTF
- Si tu veux "HTMLedit" : cela veut dire que tu veux éditer du code HTML, ce n'est pas du RTF : pour cela il y a la classe de Frédéric
Si tu veux convertir du RTF en HTML... ou l'inverse ce n'est pas compliqué : mais il te faudra faire un petit parseur à poster ici en contributions ;-)
Cordialement Francis
Le mer. 02 décembre 2020, 22h54 Koen a écrit : > Bonjour, > > Il semble d'etre possible d'utiliser cette classe avec une table et remplacer le field (M) avec le texte RTF composer avec HTMLEdit, mais comment? > où dois-je saisir la ControlSource? > Existe-t-il un exemple de travail avec RTF? > > Cordialement, > > Koen > > > . >
Wed, 23 Dec 2020 01:12:51 GMT
Re: Affichage localisation via google map Bonsoir
à ce sujet, Voir l'article de Mike Gagnon : http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000714
Cordialement Francis
Wed, 23 Dec 2020 01:12:51 GMT
Re: lettres en chiffres Bonsoir Vincent,
Hé oui, votre serviteur l'a déjà fait depuis un moment...
Cordialement Francis
Wed, 23 Dec 2020 01:12:51 GMT
Re: Affichage localisation via google map voila la correction de ta procédures VFP -------------------------------------------------------- * Localisation LCurl = "https://maps.google.com/maps?q=122-route-des-Puthods,01340,CRAS-SUR-REYSSOUZE,FRANCE";
ShowMap(m.LCurl)
***** Procedure ShowMap(tcUrl) Public oForm oForm = Createobject('form1') oForm.Show() Declare ShellExecute In shell32.Dll Integer, String, String, String, String, Integer * Laisser windows de decider, quelle browser il va appler (le browser par defaukt) ShellExecute( 0 , [open] , LCurl , [] , [] , 1 ) * undeclare API-function Clear Dlls [ShellExecute] * release form oForm.RELEASE() Endproc *****FIN Function GetHTML Local myVar TEXT to myVar noshow ENDTEXT Return myVar Endfunc
Define Class HTMLViewer As OleControl OleClass = 'Shell.Explorer'
Procedure Refresh Nodefault Endproc
Procedure LoadHTML(tcHTML) With This .Navigate2("about:blank") .Document.Write(m.tcHTML) Endwith Enddefine
Define Class form1 As Form Height = 600 Width = 800 Caption = "HTML sample"
Add Object HTMLViewer As HTMLViewer With ; Top = 10, ; Left = 10, ; Height = 580, ; Width = 780, ; Anchor = 15,; Visible = .T., ; Name = "HTMLViewer"
Procedure Init Lparameters tcHTML If !Empty(m.tcHTML) With Thisform.HTMLViewer .LoadHTML(m.tcHTML) Endwith Endif Endproc
Procedure HTMLViewer.NavigateError Lparameters pdisp, url, frame, statuscode, Cancel Set Step On Cancel = .T. Endproc
Procedure HTMLViewer.BeforeNavigate2 Lparameters pdisp, url, Flags, targetframename, postdata, headers, Cancel Cancel = .T. && prevents actual navigation Endproc
Procedure HTMLViewer.Refresh Nodefault Endproc Enddefine
Wed, 23 Dec 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. Bonjour,
Le problème est que le courrier est en effet possible avec mapi.
Mais comment envoyer une chaîne via TCP au port localhost 8888?
Je recherche l'équivalent de:
"cat test.txt | netcat localhost 8888".
Dans Windows 10, il n'y a pas de netcat.
Cordialement,
Jan Flikweert
Wed, 23 Dec 2020 01:12:51 GMT
Re: midi message out winmm.dll a externe usb midi device Bonjour,
Merci pour le conseil. Je l'avais vu aussi, mais j'ai abandonné la vidéo. J'en ai trouvé un autre: https://github.com/ChristianEhlscheid/vfp2c32 et je pense que je le comprends aussi. Dans la préparation, je suis toujours à la recherche de midiconnect dans winmm. L'inconvénient est que cela ne peut pas être séparé par canal MIDI.
Une autre option consiste à trouver l'équivalent du code VB suivant:
Bonjour,
Merci pour le conseil. Je l'avais vu aussi, mais j'ai abandonné la vidéo. J'en ai trouvé un autre: https://github.com/ChristianEhlscheid/vfp2c32 et je pense que je le comprends aussi. Dans la préparation, je suis toujours à la recherche de midiconnect dans winmm. L'inconvénient est que cela ne peut pas être séparé par canal MIDI.
Une autre option consiste à trouver l'équivalent du code VB suivant:
Function MidiInProc(ByVal hMidiIn As Integer, ByVal wMsg As UInteger, ByVal dwInstance As Integer, ByVal dwParam1 As Integer, ByVal dwParam2 As Integer) As Integer If MonitorActive = True Then TextBox1.Invoke(New DisplayDataDelegate(AddressOf DisplayData), New Object() {dwParam1}) End If End Function Il y a encore quelque chose à faire.
Sincères salutations,
Jan Flikweert Il y a encore quelque chose à faire.
Sincères salutations,
Jan Flikweert
Wed, 23 Dec 2020 01:12:51 GMT
Re: Affichage localisation via google map Bonjour
*Voila un moyen très simple d'ouvrir une URL avec le navigateur par défaut (MS IE ou MS Edge ou Google Crome etc.) de Windows: * que tu peux appeler dans ton application *************************************************
LCurl= [https://maps.google.com/maps?q=122-route-des-Puthods,01340,CRAS-SUR-REYSSOUZE,FRANCE] * declare API-function 'ShellExecute' DECLARE ShellExecute IN shell32.dll Integer, String, String, String, String, Integer
* Laisse windows de decide, quelle app va traiter et afficher URLs ShellExecute( 0 , [open] , lcUrl , [] , [] , 1 )
* undeclare API-function CLEAR DLLS [ShellExecute] ************************************
je l ai essayer sur Edge (par défaut sur mon pc) ca marche bien sans erreur
Tue, 22 Dec 2020 01:12:51 GMT
Re: midi message out winmm.dll a externe usb midi device Bonjour,
https://www.youtube.com/watch?v=JDjHrpdGOWQ
Cordialement,
Koen
Tue, 22 Dec 2020 01:12:51 GMT
Re: midi message out winmm.dll a externe usb midi device Bonne après-midi,
Ce code est presque correct. Remplacez la 9ème ligne par:
[VFP]FOR nIndex = 1 TO nCount[/VFP]
attribution de la valeur nIndex à hDevice dans playnotes.prg.
La seule chose qui peut être faite est de traiter plusieurs messages MDI simultanément pour plusieurs appareils MIDI.
Autant que je sache, VFP ne peut pas fonctionner avec le multitâche ou le multi-thread?
Un .exe séparé pour chaque appareil et canal MIDI?
Meilleures salutations,
Jan Flikweert
Mon, 21 Dec 2020 01:12:51 GMT
Re: Windows 10 v2004 bonjour, ok un grand merci pour ce retour d'expérience je vais pouvoir mettre cela en place plus sereinement !
cordialement David
Thu, 17 Dec 2020 01:12:51 GMT
Re: Windows 10 v2004 Bonjour
Votre description fichiers tmp fox et fichier tmp de l'application est bien ce que j'ai chez mes clients. Chacune des sessions bureau à distance à son dossier dans le user.. Chaque tmp généré par VFP pour ses besoins propres est dans un dossier commun pour toutes les sessions. Je n'ai jamais eu à constater des fichiers temporaires VFP comportant le même nom. Cela ne veut pas obligatoirement dire que cela ne pourrait jamais arriver, mais je ne l'ai jamais constaté.
Cordialement Gilles
Wed, 16 Dec 2020 01:12:51 GMT
Re: Windows 10 v2004 bonjour, merci de votre réponse, ok j'ai bien compris la différence entre changer le répertoire temporaire des fichiers générés par Foxpro (via fichier config.fpw) et changer directement le répertoire temporaire de windows pour toutes les applications (variable système TMP)
en changeant juste dans config.fpw, dans le cas d'un serveur tse avec plusieurs utilisateurs connectés, cela veut dire que plusieurs personnes sont connectés simultanément sur la même machine (le serveur), les utilisateurs ont des droits différents, ils n'ont pas accès aux fichiers des uns des autres, mais via le fpw le répertoire temporaire FOX de ces utilisateurs sera le même.
Du coup je m'interroge sur des conflits potentiels que cela pourrait engendrer, car je ne contrôle pas le nom des fichiers temporaires générés automatiquement par fox, ne risque-t-il pas de me faire le même nom de fichier temporaire pour 2 utilisateurs différents ?? (quand je dis fichiers temporaires, j'attends par là des fichiers générés automatiquement par fox lors de certaines commandes, et non pas des fichiers que je décide de créer moi même)
je m'inquiète peut etre pour rien, mais je préfère valider ce genre de chose avant de mettre en place chez un client
Avez vous déjà mis cela en place dans des situations similaires ?
Cordialement David
Wed, 16 Dec 2020 01:12:51 GMT
Re: Windows 10 v2004 Bonsoir, ce sont uniquement les fichiers temp de mon application que je met dans un dossier spécifique, les fichiers temporaires des comptes utilisateurs de chaque bureau à distance restent dans leur répertoire ..users respectifs. Cordialement GLS
Tue, 15 Dec 2020 01:12:51 GMT
lettres en chiffres Bonjour,
On a tous fait l'opération inverse, mais quelqu'un aurait-il une idée ou (mieux) du code pour convertir des nombres en lettres en chiffres.
En l'occurrence, il s'agit d'une date sous la forme: le quinze décembre deux mille vingt.
Merci, portez vous bien.
Tue, 15 Dec 2020 01:12:51 GMT
Re: Windows 10 v2004 Bonjour, je reviens sur cette réponse de forcer un répertoire temporaire particulier qui me sembles prometteuse pour certains problème que je rencontre chez des clients.
Chez certains de nos clients, l'application est hébergée dans un répertoire du serveur et plusieurs utilisateurs se connectent sur celui ci en bureau à distance pour lancer l'application. Mettre un répertoire C:\vfptemp\ implique que le répertoire temporaire devient le même pour tous les utilisateurs, j'ai peur que cela engendre d'autres soucis.
Avez vous déjà mis en place ce paramétrage dans ce genre de situation ?
merci David
Tue, 15 Dec 2020 01:12:51 GMT
Affichage localisation via google map Bonjour à tous, Nous utilisons dans notre appli l'affichage de la localisation à partir d'une adresse postale en utilisant google maps. Depuis quelques semaines, la carte s'affiche partiellement et on a une erreur de script. Pour mieux comprendre, vous pouvez exécuter le code ci-dessous qui est sensé localiser l'adresse "122-route-des-Puthods,01340,CRAS-SUR-REYSSOUZE,FRANCE" Rq: Celle-ci s'affiche correctement depuis une page web Local lcUrl
* Localisation lcURL = "https://maps.google.com/maps?q=122-route-des-Puthods,01340,CRAS-SUR-REYSSOUZE,FRANCE" ShowMap(m.lcUrl)
Procedure ShowMap(tcUrl) Public oForm oForm = Createobject('form1') oForm.Show() oForm.HTMLViewer.Navigate2(m.tcUrl) Endproc
Function GetHTML Local myVar TEXT to myVar noshow ENDTEXT Return myVar Endfunc
Define Class HTMLViewer As OleControl OleClass = 'Shell.Explorer'
Procedure Refresh Nodefault Endproc
Procedure LoadHTML(tcHTML) With This .Navigate2("about:blank") .Document.Write(m.tcHTML) Endwith Enddefine
Define Class form1 As Form Height = 600 Width = 800 Caption = "HTML sample"
Add Object HTMLViewer As HTMLViewer With ; Top = 10, ; Left = 10, ; Height = 580, ; Width = 780, ; Anchor = 15,; Visible = .T., ; Name = "HTMLViewer"
Procedure Init Lparameters tcHTML If !Empty(m.tcHTML) With Thisform.HTMLViewer .LoadHTML(m.tcHTML) Endwith Endif Endproc
Procedure HTMLViewer.NavigateError Lparameters pdisp, url, frame, statuscode, Cancel Set Step On Cancel = .T. Endproc
Procedure HTMLViewer.BeforeNavigate2 Lparameters pdisp, url, Flags, targetframename, postdata, headers, Cancel Cancel = .T. && prevents actual navigation Endproc
Procedure HTMLViewer.Refresh Nodefault Endproc Enddefine
Si quelqu'un a une idée... Merci. Françoise
Thu, 10 Dec 2020 01:12:51 GMT
fichier mdecom32.ocx Bonjour je cherche un le fichier mdecom32.ocx comment je peut l'avoir merci de vous conseils.
Sun, 06 Dec 2020 01:12:51 GMT
Re: WEB SERVICE Bonjour,
Please delete the ; on line 1 ( lcUrl = "https://api.whatsapp.com/send/"; )
Stay healthy,
Koen
Thu, 03 Dec 2020 01:12:51 GMT
Re: Champs mémo Olivier, Ai une problemème de passer un object RTF dans cette classe: J'ai une table 'monTable.information' Information est Memo. Où, dans quelle propriety, dois-je indiquer ceci? Et comment saver les changements dans cette table? Cordialement, Koen
Wed, 02 Dec 2020 01:12:51 GMT
Re: WEB SERVICE
Cher ami Bonjour
1) l exemple ci-dessus comporte des erreurs syntaxiques la syntaxe de js ou jason en brut n'est pas valable en foxpro
2) Regarde Chilkat ActiveX pour foxpro : pour l usage de "https://api.whatsapp.com/send/" en foxpro réfères toi aux api :
https://www.example-code.com/foxpro/whatsapp.asp
ci-dessus l exemple de send de message vers un nmero wathsapp *---------------------------------------------------------------------------------------- * (Visual FoxPro) WhatsApp - Send a Text Message *-------------------------------------------------------------------- LOCAL loHttp LOCAL lnSuccess LOCAL loJson LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lcId LOCAL i LOCAL lnCount_i
* This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat_9_5_0.Http')
* Implements the following CURL command:
* curl -X POST https://example.com/v1/messages \ * -H "Authorization: Bearer your-auth-token" \ * -d ' * { * "preview_url": false, * "recipient_type": "individual", * "to": "whatsapp-id-or-group-id", * "type": "text", * "text": { * "body": "your-text-message-content" * } * }'
* Use the following online tool to generate HTTP code from a CURL command * Convert a cURL Command to HTTP Source Code
* Use this online tool to generate code from sample JSON: * Generate Code to Create JSON
* The following JSON is sent in the request body.
* { * "preview_url": false, * "recipient_type": "individual", * "to": "whatsapp-id-or-group-id", * "type": "text", * "text": { * "body": "your-text-message-content" * } * }
loJson = CreateObject('Chilkat_9_5_0.JsonObject') loJson.UpdateBool("preview_url",0) loJson.UpdateString("recipient_type","individual") loJson.UpdateString("to","whatsapp-id-or-group-id") loJson.UpdateString("type","text") loJson.UpdateString("text.body","your-text-message-content")
* Adds the "Authorization: Bearer your-auth-token" header. loHttp.AuthToken = "your-auth-token"
loResp = loHttp.PostJson3("https://example.com/v1/messages","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson CANCEL ENDIF
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder') loResp.GetBodySb(loSbResponseBody) loJResp = CreateObject('Chilkat_9_5_0.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0
? "Response Body:" ? loJResp.Emit()
lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loResp RELEASE loHttp RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF
RELEASE loResp
* Sample JSON response: * (Sample code for parsing the JSON response is shown below)
* { * "messages": [ * { * "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" * } * ] * }
* Sample code for parsing the JSON response... * Use the following online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON
i = 0 lnCount_i = loJResp.SizeOfArray("messages") DO WHILE i < lnCount_i loJResp.I = i lcId = loJResp.StringOf("messages[i].id") i = i + 1 ENDDO
RELEASE loHttp RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp
* bon courage
Wed, 02 Dec 2020 01:12:51 GMT
HTMLedit avec RTF Bonjour,
Il semble d'etre possible d'utiliser cette classe avec une table et remplacer le field (M) avec le texte RTF composer avec HTMLEdit, mais comment? où dois-je saisir la ControlSource? Existe-t-il un exemple de travail avec RTF?
Cordialement,
Koen
Wed, 02 Dec 2020 01:12:51 GMT
Re: Unicode en _cliptext c'est en espagnol mais vous pouvez utiliser le traducteur du google: https://vfpimaging.blogspot.com/
Wed, 25 Nov 2020 01:12:51 GMT
Re: Unicode en _cliptext Bonjour,
Est ce un Problème de 'propriété de la font' utilisée'
A.MAHALLA
Tue, 24 Nov 2020 01:12:51 GMT
WEB SERVICE
Chers aînés, veuillez expliquer pourquoi ces codes ne fonctionnent pas
[vfp]
lcUrl = "https://api.whatsapp.com/send/" lcWp__Phone = [923000000000] lcWp__Body = [This is a new test at ] + TRANSFORM(DATETIME()) TEXT TO lcPost TEXTMERGE NOSHOW { "phone": "<>", "text": "<>" } ENDTEXT
MESSAGEBOX(lcPost) llErr = .F.
lo = CREATEOBJECT([Msxml2.ServerXMLHTTP.6.0]) lo.OPEN([POST], lcUrl, .F.) lo.setRequestHeader([Content-Type], [application/json]) TRY lo.SEND(lcPost) CATCH TO loError ? [Err - ] + loError.MESSAGE STRTOFILE(loError.MESSAGE,'D:\e.txt',0) llErr = .T. ENDTRY
IF NOT llErr
IF lo.readyState = 4 && Descarga completa IF lo.STATUS = 200 && Ok ? [Ok - ] + lo.responseText ELSE && IF loHTTP.STATUS = 200 && Ok ? [Err - ] + lo.responseText ENDIF && IF loHTTP.STATUS = 200 && Ok ELSE && IF lo.readyState = 4 && Descarga completa ? [Err - Timeout en la conexión] ENDIF && IF lo.readyState = 4 && Descarga completa ENDIF && IF NOT llErr lo = NULL
[/vfp]
Tue, 24 Nov 2020 01:12:51 GMT
Re: Unicode en _cliptext Bonjour,
Est ce que vous avez essayé de copier dans un bloc notre? Pourquoi vous voulez copier dans MS-WORD ?
Mon, 23 Nov 2020 01:12:51 GMT
Re: Unicode en _cliptext Bonjour,
je ne connais pas la réponse à la question mais quelque chose me chiffonne ! Au lieu d'utiliser cette fonction compliquée, avez-vous essayé de faire : _cliptext = tcUnicodeText ?
Jean à Grenoble Mon, 23 Nov 2020 01:12:51 GMT
Unicode en _cliptext Monsieur, c'est mon premier message sur votre forum, j'espère que tous les membres iront bien. Ma question concerne le texte Unicode.
Supposons que j'ai ce texte unicode
tcUnicodeText=[اسلام علیکم] [vfp]tcUnicodeText=[اسلام علیکم][/vfp]
Je veux copier cette chaîne dans _cliptext
Pour cela, j'ai trouvé ce lien utile https://www.berezniker.com/content/pages/visual-foxpro/copy-unicode-text-clipboard
J'ai utilisé ma chaîne avec ce code comme suit
[vfp] DO CopyUnicodeText2Clipboard WITH tcUnicodeText && Copy Unicode text into Clipboard FUNCTION CopyUnicodeText2Clipboard(tcUnicodeText) LOCAL lnDataLen, lcDropFiles, llOk, i, lhMem, lnPtr, lcUnicodeText #DEFINE CF_UNICODETEXT 13 && Global Memory Variables with Compile Time Constants #DEFINE GMEM_MOVABLE 0x0002 #DEFINE GMEM_ZEROINIT 0x0040 #DEFINE GMEM_SHARE 0x2000 && Load required Windows API functions =LoadApiDlls() llOk = .T. lcUnicodeText = tcUnicodeText + CHR(0)+CHR(0) lnDataLen = LEN(lcUnicodeText) && Copy Unicode text into the allocated memory lhMem = GlobalAlloc(GMEM_MOVABLE+GMEM_ZEROINIT+GMEM_SHARE, lnDataLen) lnPtr = GlobalLock(lhMem) =CopyFromStr(lnPtr, @lcUnicodeText, lnDataLen) =GlobalUnlock(lhMem) && Open clipboard and store Unicode text into it llOk = (OpenClipboard(0) <> 0) IF llOk =EmptyClipboard() llOk = (SetClipboardData(CF_UNICODETEXT, lhMem) <> 0) && If call to SetClipboardData() is successful, the system will take ownership of the memory && otherwise we have to free it IF NOT llOk =GlobalFree(lhMem) ENDIF && Close clipboard =CloseClipboard() ENDIF RETURN llOk FUNCTION LoadApiDlls && Clipboard Functions DECLARE LONG OpenClipboard IN WIN32API LONG HWND DECLARE LONG CloseClipboard IN WIN32API DECLARE LONG EmptyClipboard IN WIN32API DECLARE LONG SetClipboardData IN WIN32API LONG uFormat, LONG hMem && Memory Management Functions DECLARE LONG GlobalAlloc IN WIN32API LONG wFlags, LONG dwBytes DECLARE LONG GlobalFree IN WIN32API LONG HMEM DECLARE LONG GlobalLock IN WIN32API LONG HMEM DECLARE LONG GlobalUnlock IN WIN32API LONG HMEM DECLARE LONG RtlMoveMemory IN WIN32API As CopyFromStr LONG lpDest, String @lpSrc, LONG iLen RETURN [/vfp]
Les codes fonctionnent avec succès, mais lorsque je colle les données du presse-papiers dans MS.Word, ces données apparaissent comme ceci 폇쟡 ⃣ 飭 ⃣ 臂 頠 폭 Y 炙? 뷑 ᄐ 芖 g﹌ 䛦 覒 蠀
[vfp]폇쟡 ⃣ 飭 ⃣ 臂 頠 폭 Y 炙? 뷑 ᄐ 芖 g﹌ 䛦 覒 蠀[/vfp]
au lieu de [vfp]اسلام علیکم[/vfp]
Comment est-il possible de copier des données Unicode dans _clipboard.
S'il vous plaît
Sun, 22 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid si un patient a un seul test, c'est celui que l'on doit afficher Si un patient a plusieurs tests le même jour, on veut afficher le seul test positif ou si tous les tests sont négatifs ou tous les tests positifs on affiche (par exemple) que le test salivaire
L'astuce est que la lettre P est après la lettre N dans le code ASCII et que 'PCR' est avant 'SAL'
SELECT tp.cNom, tp.itelephoneId, tp.ddate, tp.ddateResult, tp.cresult, ; tp.ctype, tp.iid, tp.labo FROM tp_Tri tp ; INNER JOIN (SELECT iid, MAX(ddate) AS maxdate, MAX(cresult) AS maxres, ; MIN(ctype) AS typtest FROM tp_tri GROUP BY iid) AS ma ; ON tp.iid = ma.iid AND tp.ddate = ma.maxdate AND tp.cresult = ma.maxres ; AND tp.ctype = ma.typtest ; INTO CURSOR derniers_tests
Peux-tu essayer ?
Jean à Grenoble Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid dans ce cas une légère amélioration fera l'affaire :
SELECT distinct cNom , itelephoneId , ddate , ddateResult , cresult , ctype , tp_Tri.iid , labo FROM tp_Tri ; INNER JOIN Teleph T ON tp_Tri.itelephoneId = T.iid WHERE ALLTRIM(R_E) == 'E' AND tp_tri.iid > m.nValueEmpl ; AND tp_tri.ddate = ( SELECT MAX(T.ddate) as ddate FROM tp_Tri T WHERE T.itelephoneId = tp_Tri.itelephoneId ); WHERE cresult="P" Order BY cNom , itelephoneId INTO CURSOR tc_empl
Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Bonjour jean,
ta solution marcherait égalment mais 2 requetes. On a aussi le problème des 2 tests réalisés le même jour.
Cordialement
Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Bonjour OMARI,
Merci pour cette aide.
On se rapproche fortement de la solution.
SELECT cNom , itelephoneId , ddate , ddateResult , cresult , ctype , tp_Tri.iid , labo FROM tp_Tri ; INNER JOIN Teleph T ON tp_Tri.itelephoneId = T.iid WHERE ALLTRIM(R_E) == 'E' AND tp_tri.iid > m.nValueEmpl ; AND tp_tri.ddate = ( SELECT MAX(T.ddate) as ddate FROM tp_Tri T WHERE T.itelephoneId = tp_Tri.itelephoneId ); Order BY cNom , itelephoneId INTO CURSOR tc_empl
MAIS on a un gros problème si 2 tests sont réalisés le même jour . Dans le cas sur la photo on a 1 travailleur avec 2 tests réalisés le 22 octobre ( salivaire et PCR )
le salivaire donne un résultat négatif et le PCR positif.( salivaire moins sensible ). cresult = 'P' ou 'N'
Evidemment on voudrait uniquement le résultat positif.
https://ljda-my.sharepoint.com/:i:/g/personal/bernhart_milcent_ljda_onmicrosoft_com/EcyaxyN_r1FMorXI1w3HKPgBDNvv5QJZYOn8VPA1pM-rVQ?e=1pTfsL
une idée ?
Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Bonjour Bernhart,
je ne peux pas tester mais tu peux essayer : si tu ne veux que le id et la date : SELECT Itelephoneid, MAX(ddate) AS recente ; FROM Tp_tri ; GROUP BY Itelephoneid ; ORDER BY MAX(ddate) DESCENDING ; INTO CURSOR plus_recentes
Si tu veux toute la ligne de Tp_tri qui correspond à la date la plus récente ! SELECT tp.Itelephoneid, tp.Cresult, tp.Cdate, tp.Ctype, tp.lieu, ; tp.labo, tp.cert, tp.Crern, tp.ddate, to.ddateresult ; FROM Tp_tri tp ; WHERE tp.ddate IN ; (SELECT MAX(ddate) FROM tp_tri ma WHERE ma.Itelephoneid = tp.Itelephoneid) ; ORDER BY ddate DESCENDING ; INTO CURSOR plus_recentes
Peux-tu essayer ?
A+
Jean à Grenoble Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Bonjour,
Si j'ai bien compris, voici une proposition de requête qui vous donne la liste des analyses du dernier jour :
select * from tp_tri inner join (SELECT MAX(ddate) as lastdate FROM tp_tri) cursor_datej ontp_tri.ddate= cursor_datej.lastdate into cursor liste_dernieres_analyses
Mon, 16 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Ok. Me voilà rassurer.
Je n'ai pas programmé du SQL depuis une une dizaine d'années. Dans mon souvenir, pour résoudre ton problème je te conseille de l'attaquer en deux phases : - la première pour récupérer la liste des identifiants du personnel (une requête avec un GROUP BY) - une seconde passe qui pour chaque ligne du résultat de la requête précédente récupére la donnée la plus récente avec un ORDER BY DESC.
Je suis sûr qu'il est possible de faire le tout en une seule passe. Je laisse la formulation de cette hypothèse à des spécialistes plus jeunes ou plus acharnés que moi à la pratique du SQL.
Cordialement,
Marc
Sun, 15 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Bonsoir,
il n'y a aucune données personnelles sur la photo que j'ai mise en lien. ce ne sont que des primary ket et des dates Ou avez vous une entorse au RGPT ?
condialement
Sun, 15 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid Je n'ose pas cliquer sur le lien. Si je comprends bien la question il s'agit de faire une requête sur un fichier de données personnelles. Et la protection des données !
Sun, 15 Nov 2020 01:12:51 GMT
Re: Requete SQL sur travailleur Covid désolé je me suis trompé de lien
https://ljda-my.sharepoint.com/:i:/g/personal/bernhart_milcent_ljda_onmicrosoft_com/EWatDPczIF9DlcYjRJjvE9MBPPzFOYiijBqiIpqi3ohJVA?e=mAguEF
Sun, 15 Nov 2020 01:12:51 GMT
Requete SQL sur travailleur Covid Bonjour à tous,
les travailleurs ont eu plusieurs tests PCR. Nous avons une Liste classée ci joint.
Je Voudrais en une simple requête récupérer le test le plus recent ( ddate ).
https://ljda-my.sharepoint.com/:x:/g/personal/bernhart_milcent_ljda_onmicrosoft_com/EfnHekjeQPVLlYIVNqwbpEQBZG0VSOtxDJyx_ZpoiRwZrg?e=3A7H1E
merci d'avance pour l'aide.
Sun, 15 Nov 2020 01:12:51 GMT
Re: compression et decompression de fichier avec une application VFP
Bonsoir et merci pour votre réponse.
Alain
Sun, 08 Nov 2020 01:12:51 GMT
Re: compression et decompression de fichier avec une application VFP http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000190
Sun, 08 Nov 2020 01:12:51 GMT
compression et decompression de fichier avec une application VFP
Bonjour,
Il me semblait qu'il y avait une application (?) faite avec VFP pour compresser et décompresser des fichiers.
Merci et bonne journée.
Alain
Sun, 08 Nov 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. ok!
Thu, 05 Nov 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. Merci bien Mike, j'essaye de faire le tour de la question ! Et puisque j'y sui, comme je te lis depuis les années 90, merci pour tout !
Thu, 05 Nov 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. JM Si tu as des questions je suis là.
Thu, 05 Nov 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. Merci Gilles J'avais essayé les librairies de notre ami argentin mais cela n'avait pas fonctionné correctement ! Je vais revoir l'article de Mike Cordialement JMA
Wed, 04 Nov 2020 01:12:51 GMT
Re: VFPWINSOCK encore .. Bonjour, De mon expérience, hormis VFPWinsock, je n'ai pas trouvé d'autres solutions pour envoyer des emails qui répondent en même temps à vos deux critères! Soit c'est assez complexe à mettre en service en passant par exemple par MAPI ( voir http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000120 de Mike Gagnon) soit c'est payant comme ChildKat..
Si une autre solution existe, simple et entièrement en VFP je suis aussi preneur..
Cordialement Gls
Wed, 04 Nov 2020 01:12:51 GMT
VFPWINSOCK encore .. Bonjour aux confinés et aux autres,
Je n'avais pas encore été touché par le pb de blocage des ports par Orange, mais là c'est fait. J'ai lu les derniers messages d'avril de Koen et le sujet évoqué en 2016. Quelle solution de remplacement (simple et gratuite) utiliser avec VFP, mes adhérents ne voulant pas changer d'opérateur.? Merci d'avance Jean-Michel André
Wed, 04 Nov 2020 01:12:51 GMT
Re: Window 10 probleme d'accent Bonjour,
Je viens de tester, et effectivement en décochant l'option, les accents reviennent.
Merci à tous pour votre aide.
Tue, 27 Oct 2020 01:12:51 GMT
|
|