ATOUTFOX
    COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO

Forum AtoutFox

Le forum AtoutFox

Forum

RSS © www.atoutfox.org - Forum

Re: Problème FoxPro 9
Le jeu. 14 octobre 2021, 11h39 GLS a écrit :
> Lorsque vous utilisez un poste client, l'application VFP est-elle installée sur le poste client ?
> Si la réponse que je suppose est oui, il semble ne pas s'agir d'un problème de MS SQL..
> J'émets ces 2 hypothèses:
> - l'ODBC installé sur le serveur n'est pas identique à celui installé sur le poste de travail
> - un logiciel tiers scrute le dossier et ou l'application VFP sur le serveur dans lequel s'exécute l'application et ralenti Foxpro et ses accès
> - le serveur possède une carte graphique, une carte ethernet, qui mettent mal à l'aise Foxpro (j'ai le cas sur un serveur DELL XEON très récent utilisé sous Windows 10 pro ou l'application est 2 à 3 fois plus lente que un PC basique dans tous les accès disques)
>
>
> .En changeant de session utilisateur avec les droits appropries sur le même serveur , tout fonctionne normalement.
De toute évidence, il s'agit d'une configuration erronée mais a quel niveau ?
>



Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Les remarques de Gilles sont pertinentes, il a peut-être raison, mais la piste de SQL server lui-même doit encore être examinée (y compris une modif de paramétrage):

Quels sont les protocoles SERVEUR activés pour accéder au serveur SQL (mémoire partagée, TCP IP...)?
Quels sont les protocoles CLIENT activés sur ce poste qui est à la fois client et serveur SQL, et quel est l'ordre de ces protocoles?


Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Lorsque vous utilisez un poste client, l'application VFP est-elle installée sur le poste client ?
Si la réponse que je suppose est oui, il semble ne pas s'agir d'un problème de MS SQL..
J'émets ces 2 hypothèses:
- l'ODBC installé sur le serveur n'est pas identique à celui installé sur le poste de travail
- un logiciel tiers scrute le dossier et ou l'application VFP sur le serveur dans lequel s'exécute l'application et ralenti Foxpro et ses accès
- le serveur possède une carte graphique, une carte ethernet, qui mettent mal à l'aise Foxpro (j'ai le cas sur un serveur DELL XEON très récent utilisé sous Windows 10 pro ou l'application est 2 à 3 fois plus lente que un PC basique dans tous les accès disques)


Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Le jeu. 14 octobre 2021, 11h12 Michel Lévy a écrit :
> De combien de RAM dispose ce serveur?
> Quelle est la taille maxi de la mémoire affectée à SQL Server?
>
>
> Je vous informe que tout fonctionnait impeccablement auparavant.
Lorsque j'accède a partir d'un poste client tout fonctionne également.
Je pense plutôt à une modification d'un paramétrage qui a pu m'échapper et qui a engendré cette lenteur (ODBC peut être)

18Go Ram
SQL a 2Go Ram
>



Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
De combien de RAM dispose ce serveur?
Quelle est la taille maxi de la mémoire affectée à SQL Server?


Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Le mer. 13 octobre 2021, 20h57 Michel Lévy a écrit :
> Est-ce que le serveur SQL est sur une machine différente, ou bien sur la même machine que l'application?
> Quelle édition et quelle version de SQL server?
>
> sql serveur est sur la meme machine
Sql server 2008 R2 entreprise
> .
>



Thu, 14 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Est-ce que le serveur SQL est sur une machine différente, ou bien sur la même machine que l'application?
Quelle édition et quelle version de SQL server?


Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Le mer. 13 octobre 2021, 16h21 Francis Faure a écrit :
> Un disque dur en RAID 1 détecté en erreur SMART depuis 2 mois sans être changé !???
>
>
> .Oui problème de disponibilité des spares , le serveur est plutôt ancien
>



Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Le mer. 13 octobre 2021, 16h24 Francis Faure a écrit :
> Donc clairement le problème n'est pas le formulaire / appli VFP -> mais le serveur ou le lien vers le serveur MS SQL en question...
>
> Le mer. 13 octobre 2021, 15h03 james123 a écrit :
> > Bonjour,
> >
> > IL y'a une base de données SQL Server pour ce formulaire
> > Tous les formulaires causent le même problème uniquement sur ce serveur
> > les mêmes formulaires exécutés sur un serveur similaire s'exécute sans aucun soucis de lenteur.
> >
> > Cordialement,
> >
> >
Oui puisque j'ai essayé d'y acceder à distance a partir d'un poste client, ça fonctionne nickel. du coups je ne comprends plus rien
> > .
> >
>
>
>
> .
>



Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Donc clairement le problème n'est pas le formulaire / appli VFP -> mais le serveur ou le lien vers le serveur MS SQL en question...

Le mer. 13 octobre 2021, 15h03 james123 a écrit :
> Bonjour,
>
> IL y'a une base de données SQL Server pour ce formulaire
> Tous les formulaires causent le même problème uniquement sur ce serveur
> les mêmes formulaires exécutés sur un serveur similaire s'exécute sans aucun soucis de lenteur.
>
> Cordialement,
>
>
> .
>



Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Un disque dur en RAID 1 détecté en erreur SMART depuis 2 mois sans être changé !???


Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Bonjour,

IL y'a une base de données SQL Server pour ce formulaire
Tous les formulaires causent le même problème uniquement sur ce serveur
les mêmes formulaires exécutés sur un serveur similaire s'exécute sans aucun soucis de lenteur.

Cordialement,


Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Bonjour,

Merci de votre réponse;

J'ai effectué les vérifications préconisées une à une sans qu'aucunes de ces pistes n'ai été établi:
Il n'y a eu aucun changement de configuration sur le serveur.

Par contre, nous avons le serveur un système RAID 1 (mise en miroir sur 2 disques physiques), l'un des disques clignote en orange depuis 2 mois, (SMART prédictive), sans qu'aucun ralentissement n'ai été ressenti.

Le problème de ralentissement est survenu depuis quelques jours seulement,
Es ce potentiellement en rapport avec le disque clignotant en orange?

Cordialement,


Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Bonjour,

Le message "Exécution à distance .Appuyez sur ECHAP pour annuler.." me fait penser à une requête sqlexe() ou un vue dans ce formulaire : donc à l'attente d'un serveur SQL : MS SQL / postgresql / mysql / Oracle...
-> il faudrait voir le contenu du programme / vue dans ce formulaire
il y a une base de données SQL pour ce formulaire ?

Cordialement
Francis


Wed, 13 Oct 2021 09:33:46 GMT

Re: Problème FoxPro 9
Bonjour,
quelques pistes à vérifier:

- Si vous avez un anti-virus, avez-vous pensé à y paramétrer en exclusion le dossier de votre application foxpro 9 ainsi que le dossiers des datas de votre application ?
- Si les données (tables et database) de votre application sont sur un réseau local, y -a-t-il eu changement de l'OS du serveur de fichiers ou se situent vos données ?
- Avez-vous dans votre application une fonction pour maintenir les tables de données (réindexation et compactage) si oui l'avez vous exécuté ?
- Y-a-t-il parmi vos fichiers DBF/FPT de vos tables un fichier qui dépasse les 1,5GigaOctets et approche les 2GO?

Cordialement


Wed, 13 Oct 2021 09:33:46 GMT

Problème FoxPro 9
Bonjour,

Depuis quelques jours nous avons un soucis lors de l'exécution d'un formulaire développée en Foxpro 9.
Un message apparait accompagné d'une lenteur dans l'exécution.

Exécution à distance .Appuyez sur ECHAP pour annuler..

Merci pour votre aide.





Wed, 13 Oct 2021 09:33:46 GMT

Re: Re=3a Solution Int=c3=a9gr=c3=a9e sous VFP
do you want it not in update mode or simply selected by another user?



Wed, 06 Oct 2021 09:33:46 GMT

Jean =c3=a0 Grenoble
C'est tout bon !

Bonne soirée à tous

Jean à Grenoble
Wed, 15 Sep 2021 09:33:46 GMT

Jean =c3=a0 Grenoble
Bonsoir,
sur le DVD, j'ai trouvé le fichier soaptoolkit\soapsdk.msi. Je l'ai
executé et cela fonctionne ... presque.
Il manque maintenant mscomctl.ocx. Je le recherche ...
Merci pour les infos

Jean à Grenoble

Wed, 15 Sep 2021 09:33:46 GMT

Re: Re=3a Solution Int=c3=a9gr=c3=a9e sous VFP
Jean Claude,
L'idéal, serait une base de données par projet et avoir des accès par ci, par là. Ainsi chaque projet pourra procéder à des sauvegardes et restaurations sans préjudice aucune.
Merci.


Tue, 14 Sep 2021 09:33:46 GMT

Re: Re=3a Solution Int=c3=a9gr=c3=a9e sous VFP
Bonsoir Jean Claude,
>>et par exemple, pour ouvrir une vue d'une base ouverte mais non
sélectionnée :<<
voulez vous qui n'est pas en mode update ou simplement sélectionnée par un autre utilisateur?


Tue, 14 Sep 2021 09:33:46 GMT

Re: Re=3a Jean =c3=a0 Grenoble
bonjour jean Claude,
effectivement, selon la conception que je me fais du problème, aucun projet ne peut et ne doit modifier une base de données appartenant à un autre. il peut juste la consulter et mettre à la disposition des autres projets à la suite d'un processus, les résultats issus de ce traitement par l'intermédiaire des tables dédiées à cet effet.
qu'est-ce que vous en pensez?
merci.


Tue, 14 Sep 2021 09:33:46 GMT

Re=3a Jean =c3=a0 Grenoble
Ca, ça parait aller de soi ! :-D
Si tu modifies une base de données partagée dans un projet sans vérifier
les conséquences ailleurs, il y a de fortes chances que ça pose souci,
ce sont des "effets de bord" classiques.
Pour ma part, mes bases servent surtout à l'accès à des données
distantes, sont dans des répertoires particuliers "data" (je ne les
duplique pas pour chaque projet, elles sont vraiment partagées).

Bonne journée,
JC




Le 14/09/2021 à 09:14, Jean à Grenoble a écrit :
> Bonjour à tous,
> je met un petit bémol à la réponse de Jean-Claude !
> S'il est bien possible d'utiliser plusieurs bases de données dans une
> application et si il est bien possible de mettre plusieurs bases de
> données dans un projet (en prenant soin de les exclure), je me demande
> ce qu'il se passe si dans un projet on modifie une base de données
> appartenant aussi à un autre projet et si on reprend la base dans cet
> autre projet. Je n'ai jamais essayé !!
> Bonne journée à tous
>
> Jean à Grenoble

Tue, 14 Sep 2021 09:33:46 GMT

Jean =c3=a0 Grenoble
Bonjour à tous,
je met un petit bémol à la réponse de Jean-Claude !
S'il est bien possible d'utiliser plusieurs bases de données dans une
application et si il est bien possible de mettre plusieurs bases de
données dans un projet (en prenant soin de les exclure), je me demande
ce qu'il se passe si dans un projet on modifie une base de données
appartenant aussi à un autre projet et si on reprend la base dans cet
autre projet. Je n'ai jamais essayé !!
Bonne journée à tous

Jean à Grenoble
Tue, 14 Sep 2021 09:33:46 GMT

Re=3a Solution Int=c3=a9gr=c3=a9e sous VFP
Bonjour,

à toutes ces questions, oui.
voir : set database to, open database
et par exemple, pour ouvrir une vue d'une base ouverte mais non
sélectionnée :
use mabase!mavue in 0

Cdlt,
JC

Le 10/09/2021 à 13:24, Damonzon a écrit :
> Bonjour chers collègues,
> Je voudrai après avoir développé des solutions à part, j'ai de procéder à leur intégration dans un seul projet VFP. les questions qui me taraudent l'esprit sont les suivantes:
> 1°) Est-il possible de créer plusieurs bases de données dans un même et unique projet ?
> 2°) Est-il possible de déclarer dans un projet de gestion commerciale une base de données appartenant à la gestion comptable ?
> Chers collègues, telles sont mes préoccupations pour l'heure. C'est dire d'autres questions pourront venir de ma part en fonction des précisions que vous me demanderez.
> D'ici à là, je vous remercie d'avance pour toutes contributions de votre part.
> AtoutFoxement.
> Damonzon.
>
>

Mon, 13 Sep 2021 09:33:46 GMT

Solution Intégrée sous VFP
Bonjour chers collègues,
Je voudrai après avoir développé des solutions à part, j'ai de procéder à leur intégration dans un seul projet VFP. les questions qui me taraudent l'esprit sont les suivantes:
1°) Est-il possible de créer plusieurs bases de données dans un même et unique projet ?
2°) Est-il possible de déclarer dans un projet de gestion commerciale une base de données appartenant à la gestion comptable ?
Chers collègues, telles sont mes préoccupations pour l'heure. C'est dire d'autres questions pourront venir de ma part en fonction des précisions que vous me demanderez.
D'ici à là, je vous remercie d'avance pour toutes contributions de votre part.
AtoutFoxement.
Damonzon.


Fri, 10 Sep 2021 09:33:46 GMT

Re: MSXML2.DOMDOCUMENT.4.0
Bonjour Jean,

Si au démarrage de VFP le "Taskpane" (centre d'informations) ne se charge pas correctement :
il manque msxml des prérequis du CD VFP (première option d'installation du CD)
En solution charger le SDK Soap 3 dont le nom est "SOAP Toolkit 3.0"
Il me semble qu'il est sur le CD VFP (soapsdk.exe),
je ne sais pas s'il est encore téléchargeable en version 3.0 sur le site de MS
mais je l'ai pour les re-installations de poste : si besoin je pourrais te le mettre en téléchargement.

(ou dés-activer taskpane au démarrage si tu ne t'en sert pas...)

Cordialement
Francis


Fri, 10 Sep 2021 09:33:46 GMT

Re: MSXML2.DOMDOCUMENT.4.0
Bonjour Jean,

Je crois bien qu'on peut recompiler (c'est dans xSource)

Taskpane\foxpane.h contient une ligne
[vfp]
* MSXML DOM parser
#define MSXML_PARSER "MSXML2.DOMDocument.4.0"
[/vfp]


Fri, 10 Sep 2021 09:33:46 GMT

MSXML2.DOMDOCUMENT.4.0
Bonjour à tous,
une question qui a été mainte fois posée mais je ne voudrai pas faire de
bétise !
J'ai un tout nouveau pc sous W10. J'ai bien reinstallé VFP9 mais le
taskpane ne fonctionne pas. Il lui manque le MSXML2.DOMDOCUMENT.4.0.
A priori, on ne peut plus le telecharger.
Peut on télécharger une version plus moderne et modifier les paramètres
du taskpane ou même le recompiler ?

Jean à Grenoble
Thu, 09 Sep 2021 09:33:46 GMT

webdav - écriture différée
Bonjour à tous,

Avec un serveur WebDav, les tables distantes s'ouvrent sans problème.

Mais à la fermeture, j'obtiens un message "erreur lors de l'écriture différée"

Quelqu'un a t-il une expérience en ce domaine ?

Merci d'avance


Thu, 02 Sep 2021 09:33:46 GMT

Re: xFrame
Merci Gregory, je publierai leur réponse ...


Tue, 24 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour,
Voir aussi https://en.wikipedia.org/wiki/HMAC
[vfp]
HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
[/vfp]

La longueur de SHA256, et donc de HMAC_256 est 256 bits ou 256/8 = 32 bytes
En base64 cela sera 44 bytes
Il faudra regarder dans la doc ou les exemples comment ils font. Peut-être une combinaison, je n'en ai aucune idée.



Tue, 24 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Gregory,

Je ne sais pour quelle sombre raison, mais l'erreur que j'avais sur xCrypt_New_HMAC_SHA256 a disparu. Conflit dans les déclarations d'API peut être ... désolé.

J'obtiens donc bien une clé, mais la longueur de celle-ci est inférieure à celle proposée en exemple (de signature électronique qualifiée):

HMAC_256 ("eyAidHlwIjoiSldUIiwgImFsZyI6IlJTMjU2IiB9.eyAiaXNzIjoiOTU3ZmQ2MmEtNzU2MC00NTdlLTg1YzYtZjA5ZmM3OTZlZjk1IiwgImF1ZCI6ImFjY291bnQtZC5kb2N1c2lnbi5jb20iLCAiaWF0IjoxNjI4NTgzMDQyLCAiZXhwIjoxNjI4NTg2NjQyLCAic3ViIjoiYmFkM2Q4YTQtMTAxMy00M2RkLWJmMzYtYzU4ZDQ0MzU3ZjlkIiwgInNjb3BlIjoic2lnbmF0dXJlIGltcGVyc29uYXRpb24iIH0")
retourne:
VOeeL9CAwuRqtE39QvS2E0ZFAwNOnkVRTR6jqQBCHmT-jM5FgJE3Xo3yB_55GP3pY94NQIUYaL6e-N6U04bG00rK6aVCe9thLTDlVBq2z9nGuH5Lzwr3ThyA2WviB6-q_0EWjQ20GfQv-3mB39QgjwsZnOib5mRhLfprjMydGB_i9077bqkaRlvh8dVBehOciVM9z5EBPunninMswOcq0BErIB0h1uEOXFcSSgH_mVY1RjoElIZ9aH-w18tPlpA6tHp1JhhNo_GYMDjhdkIQVZVKiw0tiaaJrOX3jxSKu2-KIKXHQg6B9tOQU8P1zXUZxfmjHCAl8-VSRWlEozpOQg

Avec xFrame, j'obtiens:
omPsR29yUTi4VXFD/2qjk+kiKEAVa9dt0fYJ2BYTuZ4=

Comment gérer la longueur de la clé retournée ?

Merci par avance !


Tue, 24 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Gilles,

Merci pour ta réponse. Je ne doute pas que ça fonctionne, bien au contraire !

Seulement, je ne parviens pas à exécuter la démo de Gregory. xCrypt_New_HMAC_SHA256(@obj, m.key) me retourne toujours .F.

Cordialement,

Vincent


Fri, 20 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Gilles,

Il n'y a pas le feu pour changer. (if it ain't broke, don't fix it)
xFrame/xCrypt HMAC_SHA1 a passé les mêmes tests unitaires que ton module

cdlt,



Fri, 20 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Gregory,
ok..
Je verrai à utiliser xFrame si cela s'avère nécessaire en lieu et place du module que tu m'as réalisé.
Amicalement
Gilles


Fri, 20 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Gilles,

Pour info, tu utilises HMAC_SHA1 (ou HMAC_SHA160)

La partie xCrypt dans xFrame est basée sur les api CNG (Cryptographie Next Generation)
https://docs.microsoft.com/fr-fr/windows/win32/seccng/about-cng

cdlt,



Fri, 20 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Vincent,
j'utilise depuis déjà 3 ans un module développé par Greg pour effectuer les encryptages HMAC_SHA256 demandés lors des échanges avec Monetico (application bancaire du groupe Crédit Mutuel / CIC) et bien sur sur une appli web FoxInCloud.
Ce qu'a fait Greg, je te rassure fonctionne très bien.
xFrame doit effectuer la même chose (avec certainement plus de fonctionnalités et options que dans mon module)
Cordialement
Gilles


Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour Jean,

As-tu essayé ou simplement analysé le code ?


Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
C'est tout bon, Jean


Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
Le 19/08/2021 à 15:09, vh a écrit :
> Où la variable obj est-elle initialisée ?
>
>

Bonjour,
la variable obj est déclarée par l'instruction LOCAL. Elle est ensuite
initialisée par la fonction xCrypt_New_HMAC_SHA256 à qui on passe
l'adresse de la variable obj.
Si l'initialisation se passe mal, on déclenche le ERROR
Si elle se passe bien, on execute m.obj.HashString et là obj doit être
connue.

Un petit détail qui pourrait éventuellement poser un problème est : il
ne faut pas qu'un champ de la table courante se nomme obj. Pour éviter
cela j'aurais écrit :

case !xCrypt_New_HMAC_SHA256(@m.obj, m.key)

J'ai tout bon Gregory ;-)

Jean à Grenoble
Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
Où la variable obj est-elle initialisée ?


Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
J'ai essayé d'adapter une ancienne contribution et en utilisant AdvApi32.dll

Mais cette dll est abandonnée par MS et je n'ai pas réussi à importer la clé privée (CryptImportKey)

lnStatus = CryptImportKey (lhProv, @pbData, LEN (pbData), 0, 0, @phKey) me retourne toujours 0

Est-ce que ton programme fait la même chose (en mieux et plus moderne je suppose) ?


[VFP]
FUNCTION HmacSHA256
LPARAMETERS tcData
LOCAL lnStatus, lnErr, lhProv, lhHashObject, lnDataSize, lcHashValue, lnHashSize
lhProv = 0
lhHashObject = 0
lnDataSize = LEN (tcData)
lcHashValue = REPLICATE (Chr0, 16)
lnHashSize = LEN (lcHashValue)
pbData = STRTRAN (Cles ("privée"), RetChar, Vierge)
phKey = Vierge
TRY
DECLARE INTEGER GetLastError ;
IN Win32api AS GetLastError
DECLARE INTEGER CryptAcquireContextA ;
IN AdvApi32 AS CryptAcquireContext ;
INTEGER @lhProvHandle, ;
STRING cContainer, ;
STRING cProvider, ;
INTEGER nProvType, ;
INTEGER nFlags
* load a crypto provider
lnStatus = CryptAcquireContext(@lhProv, 0, 0, dnPROV_RSA_FULL, dnCRYPT_VERIFYCONTEXT)
IF lnStatus = 0
THROW GetLastError()
ENDIF
* Import de la clé privée
DECLARE INTEGER CryptImportKey ;
IN AdvApi32 AS CryptImportKey ;
INTEGER hProviderHandle, ;
STRING @pbData, ;
INTEGER lenData, ;
INTEGER hPubKey, ;
INTEGER dwFlags, ;
STRING @phKey
lnStatus = CryptImportKey (lhProv, @pbData, LEN (pbData), 0, 0, @phKey)
IF lnStatus = 0
THROW GetLastError()
ENDIF
#DEFINE CALG_SHA_256 0x0000800c
DECLARE INTEGER CryptCreateHash ;
IN AdvApi32 AS CryptCreateHash ;
INTEGER hProviderHandle, ;
INTEGER nALG_ID, ;
INTEGER hKeyhandle, ;
INTEGER nFlags, ;
INTEGER @hCryptHashHandle
* create a hash object that uses SHA256 algorithm
lnStatus = CryptCreateHash(lhProv, CALG_SHA_256, 0, 0, @lhHashObject)
#UNDEFINE CALG_SHA_256
IF lnStatus = 0
THROW GetLastError()
ENDIF
DECLARE INTEGER CryptHashData ;
IN AdvApi32 AS CryptHashData ;
INTEGER hHashHandle, ;
STRING @cData, ;
INTEGER nDataLen, ;
INTEGER nFlags
* add the input data to the hash object
lnStatus = CryptHashData(lhHashObject, tcData, lnDataSize, 0)
IF lnStatus = 0
THROW GetLastError()
ENDIF
DECLARE INTEGER CryptGetHashParam ;
IN AdvApi32 AS CryptGetHashParam ;
INTEGER hHashHandle, ;
INTEGER nParam, ;
STRING @cHashValue, ;
INTEGER @nHashSize, ;
INTEGER nFlags
* retrieve the hash value, if caller did not provide enough storage (16 bytes for MD5)
* this will fail with dnERROR_MORE_DATA and lnHashSize will contain needed storage size
lnStatus = CryptGetHashParam(lhHashObject, dnHP_HASHVAL, @lcHashValue, @lnHashSize, 0)
IF lnStatus = 0
THROW GetLastError()
ENDIF
DECLARE INTEGER CryptDestroyHash ;
IN AdvApi32 AS CryptDestroyHash;
INTEGER hKeyHandle
* free the hash object
lnStatus = CryptDestroyHash(lhHashObject)
IF lnStatus = 0
THROW GetLastError()
ENDIF
DECLARE INTEGER CryptReleaseContext ;
IN AdvApi32 AS CryptReleaseContext ;
INTEGER hProvHandle, ;
INTEGER nReserved
* release the crypto provider
lnStatus = CryptReleaseContext(lhProv, 0)
IF lnStatus = 0
THROW GetLastError()
ENDIF
CATCH TO lnErr
* clean up the hash object and release provider
IF lhHashObject != 0
CryptDestroyHash(lhHashObject)
ENDIF
IF lhProv != 0
CryptReleaseContext(lhProv, 0)
ENDIF
ERROR ("HmacSHA256 Failed")
ENDTRY
RETURN lcHashValue
ENDFUNC
[/VFP]


Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
J'ai testé le code avant de le poster

Voir aussi https://en.wikipedia.org/wiki/HMAC
[vfp]
HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
[/vfp]




Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
Merci Gregory. Mais j'obtiens:

"Variable OBJ is not found"



Thu, 19 Aug 2021 09:33:46 GMT

Re: xFrame
Bonjour,
[vfp]
local obj, key, exprInBase64, hash

exprInBase64 = strconv("coucou",13)

key = strconv("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq383eYsPA2DtLsR4/GQ+",14)
do case
case !xCrypt_New_HMAC_SHA256(@obj, m.key)
error "?"

case !m.obj.HashString(@m.hash, strconv(m.exprInBase64,14))
error "?"
otherwise
signature = strconv(m.hash, 13) && je suppose que le resultat doit etre mis en base64
?signature
endcase
[/vfp]


Thu, 19 Aug 2021 09:33:46 GMT

xFrame
Bonjour Gregory,

Merci pour ce travail remarquable et d'actualité.

Je souhaite signer une expression (en base64) à l 'aide d'une clé privée PEM style:

"-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq383eYsPA2DtLsR4/GQ+
...
-----END PUBLIC KEY-----"

Comment utiliser HMAC_SHA256 ?


Thu, 19 Aug 2021 09:33:46 GMT

Re: Windows 11 Compatible avec vfp ?
Bonjour,
Cela ne m'étonne pas. La différence avec windows 10 est que windows 11 ne s'installera plus sur des processeurs 32 bit.
Cdlt,



Sat, 07 Aug 2021 09:33:46 GMT

Re: Windows 11 Compatible avec vfp ?
Pour info j'ai testé une grosse appli vfp sous Windows 11 : aucun problème.


Fri, 06 Aug 2021 09:33:46 GMT

Re: recadrage auto de toutes les colonnes d'un grid
Essayez
[vfp]
=m.this.AutoFit()
[/vfp]


Fri, 30 Jul 2021 09:33:46 GMT

recadrage auto de toutes les colonnes d'un grid
Bonjour

quelqu'un peut-il me dire comment déclencher le double clic sur la petite case en haut à gauche d'un grid qui permet de recadrer automatiquement toutes les colonnes.

Merci pour votre aide.


Fri, 30 Jul 2021 09:33:46 GMT

Re: Importation fichier TSV - caractères accentués
Bonne après-midi,

Je pense avoir trouvé, en farfouillant sur le net, une solution assez propre et générique qui, dans mon cas, fonctionne apparemment correctement. En voici le code :
[VFP]
* gestion de la table destinatrice qui doit être vide
IF NOT USED("Journal1")
SELECT 0
USE journal1
ENDIF

SELECT journal1
* évite toutes les demandes du système
SET SAFETY OFF
ZAP

*conversion du fichier UTF-8 en Double
lcMyFile =STRCONV(FILETOSTR("Fabrique 23 - 2020 - Export Vfp9 (10).tsv"),11)
STRTOFILE(lcMyFile,"myNewFile.txt")

*restaure la sécurité des données
SET SAFETY ON

*importation et visualisation des données importées
SELECT journal1
APPEND FROM myNewFile.txt DELIMITED WITH tab
BROWSE last NOWAIT
[/VFP]

Voilà, voilà

Guy.


Fri, 23 Jul 2021 09:33:46 GMT

Importation fichier TSV - caractères accentués
Bonjour à tous,

Je me trouve dans une situation gênante avec les codes pages à l'occasion d'un append from d'un fichier TSV (en fait un fichier CSV délimité par TAB)
J'utilise windows 10 (à jour complet à ce jour 23 juillet) 64bits et vfp9

A partir d'une feuille de calcul Google Sheet, je crée un fichier TSV délimité par Tabulation (nb:Google sheet ne permet que l'exportation vers un CSV classique : séparation par virgule ou TSV - d'autres formats sont possibles mais ce n'est pas l'objet ici).
Quand j'examine le fiche par un éditeur de type NotePad++, je constate que tout se passe parfaitement, que tous les champs nécessaires sont présents et les caractères accentués correspondent parfaitement.

Au moment de l'importation dans la table Vfp (codepage de la table 1252) par l'instruction
[vfp]append from "c:\users\....Export Vfp9.tsv" delimited with TAB as 1252[/vfp]
je constate que la table Vfp a remplacé les caractères accentués par une combinaison de type "Aª" pour le "ê" par exemple et de plus certaines colonnes ne sont pas reprises dans l'importation.
Si je modifie le codepage à l'importation, j'obtiens, toujours dans l'exemple du "ê" la chaîne "+¬" pour les codepage 850 et 1250
lecodepage 437 donne le même résultat que le 1252.

Le fichier source TSV est encodé en UTF-8.
Il n'y a pas de config.fpw dans le répertoire
La table est indépendante

Comment pourrais-je me sortir de ce guépier et obtenir immédiatement les bons caractères ?

Merci d'avance

Guy


Fri, 23 Jul 2021 09:33:46 GMT

Re: Windows 11 Compatible avec vfp ?
Bonjour,
Windows 11 ne s'installera que sur des processeurs 64 bit.
Et supportera des applis 32 bit comme vfp
Voir ici en bas https://nerdschalk.com/can-windows-11-run-on-a-32-bit-processor/




Wed, 21 Jul 2021 09:33:46 GMT

Windows 11 Compatible avec vfp ?
Bonjour,
Windows 11 Compatible avec vfp ?


Wed, 21 Jul 2021 09:33:46 GMT

Résolution de l'état avec une table parent et plusieurs tables enfants (4 ou 5)
Bonjour Chers Collègues,
J'ai le plaisir de porter à votre connaissance que mon problème de "Report avec une table parent et plusieurs tables enfants (4 ou 5) a trouvé sa solution grâce à votre aimable collaboration et votre disponibilité. Je vous adresse mes sincères remerciements pour votre esprit de solidarité. Mais permettez-moi d'adresser des remerciements particuliers à Jean Maurice qui a bien voulu me faire profiter son expérience personnelle en le sujet. Après de fructueux échanges sur le problème, on a débouché sur un résultat définitif formidable. Compte de la paternité de Jean sur le sujet, je lui laisse si besoin est, de publier à votre intention son modèle qui a contribué à la résolution du problème.
Merci à tous et bonne journée.
Damonzon.


Wed, 30 Jun 2021 09:33:46 GMT

Re: App automatically opens default browser with atoutfox.org
Hi,
This behaviour can't come from scratch, it would be magic :-)
You could verify if there is a file called "config.fpw" beside the executable and edit it : perhaps it runs a command calling the atoutfox url. If not, I don't know...
JC


Wed, 23 Jun 2021 09:33:46 GMT

App automatically opens default browser with atoutfox.org
Good afternoon,

We have an app at work which uses FoxPro for database and after we open it, it automatically opens up the default browser with atoutfox.org/ip.asp. The developer of the app says it's not their fault, can you please help us with this problem?

Thank you so much for your help!


Wed, 23 Jun 2021 09:33:46 GMT

Re: Impossibilité de restaurer la base VFP9 sur le serveur
Damonzon a couché sur son écran :
> Bonjour Guy,
> Merci pour cette suite. Est ce à créer une routine qui va tourner en
> permanence en tâche de fond ? Ou peut on l'acquérir ? Bon dimanche.
> Damonzon.

Personellement, il tournait sur le serveur en paramétrant les temps et
la sorte de backup désiré complet (zip en option), avec incrémentation
du nom_1, 2 etc.
Ou un seul en ne sauvant que les records modifiés ou nouveau record.
Dans la version de base, les fichiers ouverts sont simplement ignorés.
Si ton serveur reste ouvert il est possible d'utiliser la version de
base, hors heures de travail et autres travaux? pour tester.
Rien empêche d'avoir une version sur un poste de travail (jamais
testé)
Sauf personellement pour automtiser mes backup sur NAS.
Je pensais l'utiliser pour le cloud pas encore testeé.

Bon travail
Guy

--
Guy Bonemme

--
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com

Thu, 17 Jun 2021 09:33:46 GMT

Re: Callback function winapi WINMM midiinopen
bonne journée,

Ce qui se passe, c'est que la fonction de rappel pour ouvrir le périphérique midi in est exécutée, le midiinop+start est exécuté sans erreur et l'exécution du programme passe à "READ EVENTS" comme il se doit. Si vous appuyez sur une touche du MIDI de l'appareil, le programme se ferme sans message d'erreur ni appel de la fonction de rappel.

Meilleures salutations,

Jan Flikweert


Thu, 17 Jun 2021 09:33:46 GMT

Reproduction totale ou partielle strictement interdite • Propulsé par KitWeb • Hébergement Wan AgainValid XHTML 1.0 Transitional