
 RSS © www.atoutfox.org - Forum
Re: Attaquer une base SQL Server avec VFPBonjour,
Toutes les versions et éditions de SQL server sont disponibles sur le Web.
Si les clients pour qui tu penses développer en SQL ont déjà un serveur SQL, il te faudra vérifier quelle édition ils utilisent : Standard, Entreprise, Web, ou Express. 
Si tu as des clients qui utilisent du Standard ou de l'Entreprise, alors tu peux de ton côté développer sur une édition "Developer" qui a les mêmes capacités et perfs que Entreprise, mais elle est gratuite, MAIS elle est interdite en production, réservée au développement.
Si tes clients ont de l'Express, alors tu peux installer un Express sur ta machine de dev, pas la peine de t'encombrer avec des fonctionnalités que tu n'utiliseras jamais (SQL Broker, SQL Agent, etc...)
Pour ce qui est de la version, autant commencer par la 2022 (la 2025 est encore en preview)
Tue, 21 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonsoir Jean,
>>contributions 07-SQL SQL par l'exemple (id = 105)<<
Je crois l'avoir survolé, je vais m'y mettre désormais.
>>un excellent livre écrit par Tamar GRANOR<<
Est-ce que ce livre est encore disponible ? Ou est-ce que l'on peut l'avoir ?
Bonne soirée.
Mon, 20 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour Jean,
C'est vrai je ne le maitrise pas, mais j'ai l'habitude d'utiliser d'autres comme Informix 4GL, et un peu ORACLE. Cela fait très longtemps, mais je pense qu'il doit y avoir quelques similitudes. De toutes façons, je crois que je peux faire appel à votre expertise si besoin est. J'ai bien l'habitude d'utiliser de temps en temps RLOCK() et FLOCK(). Merci d'avance pour cela.
Cordialement.
Mon, 20 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour Michel,
Merci de m'édifier, je faisais allusion effectivement à un serveur SQL Server. Honnêtement je n'avais pas connaissance de SQL Express, sinon j'ai bien compris la contribution de GLS. Je suppose que SQL Express est disponible sur le Web. Je vous reviendrai certainement.
Merci de nouveau.
Cordialement.
Mon, 20 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPpour le SQL, il ya une excellente contribution dans atoutfox :
contributions 07-SQL  SQL par l'exemple    (id = 105)
et un excellent livre écrit par Tamar GRANOR et traduit en français par Atoufox.
Bonne journée
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Mon, 20 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour Damonzon,
tu nous a pas dit si tu maitrises SQL ! Si oui, cela va beaucoup simplifier ton 
travail puisque c'est le seul moyen de travailler avec SQL Server.
Sinon on va pouvoir te donner des exemples et comme le dit Michel ce n'est pas 
insurmontable.
Le seul 'problème' que je vois est la philosophie de "l'exclusion mutuelle". Si 
tu utilises encore RLOCK() et Flock(), il va y avoir du changement.
Bon après-midi
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Sun, 19 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour,
De quelle licence parles-tu? Quand tu utilises SQL Server, il te faut toujours voir les choses des deux côtés : coté client (ton appli VFP) et côté serveur (là où se trouvent tes données sur un serveur SQL Server).
* côté client, Gilles t'a donné les pistes de départ, tu vois qu'il n'est pas besoin de licence en plus, c'est dans VFP
* côté serveur, il te faut évidemment un serveur SQL Server. Selon le volume des données que tu va y stocker, tu va choisir une version différente. Il est plus que probable que tu aies besoin uniquement de la version gratuite de SQL Server, qui s'appelle SQL Express. Cette version fonctionne parfaitement sur un Windows pro partagée avec des applications clientes (il y a aussi une version Linux), et tu peux donc installer un SQL Express sur ta machine de développement.
Tu devras aussi, sur ta machine de dev, installer SSMS : Sql Server Management Studio. C'est ce qui qui va te permettre de créer, modifier et maintenir tes bases de données sur ton serveur SQL Server. C'est gratuit.
Tu verras, rien d'insurmontable!
Sun, 19 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour GLS,
Il faudrait déjà que je me procure une licence SQL Server. J'imagine qu'il y'aura du grain à moudre.
Merci beaucoup et à bientôt.
Cordialement.
Sun, 19 Oct 2025 22:38:44 GMTRe: Aperçu avant impression tronquéBonjour GLS,
Encore merci. Je vous reviendrai dès j'aurais fait cette opération.
Bonne journée de dimanche.
Sun, 19 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPEvidemment la base de données Foxpro devra être migrée sous SQL.
Une fois cela effectué, il y a 3 manières d'accéder et manipuler les données SQL.
- des vues distantes VFP sur SQL
- des requêtes envoyées par la commande VFP SQLEXE() et le retour dans des curseurs VFP
- l'utilisation de Foxpro CursorAdaptor
Bonne journée
Cdlt
Sun, 19 Oct 2025 22:38:44 GMTRe: Aperçu avant impression tronquéSur toutes les machines qui utilisent l'application.
Sun, 19 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour,
La base de données restera celle de VFP ou faut-il créer une base SQL Server et l'intégrer dans le projet VFP ?
Merci.
Sat, 18 Oct 2025 22:38:44 GMTRe: Aperçu avant impression tronquéMerci GLS,
Dois-je faire cette modification sur ma machine de développement ou sur celle du client concerné ?
Sat, 18 Oct 2025 22:38:44 GMTRe: Attaquer une base SQL Server avec VFPBonjour,
Le plus long et le plus fastidieux est qu'il faut revoir les accès aux datas de nos applications en remplaçant toutes les commandes de gestions des données Foxpro (replace, seek, (locate, found, etc..) par des équivalences en SQL  (update, select sql, etc..) pour préparer nos applications à gérer les accès en commande SQL
Cdlt
Gilles
Sat, 18 Oct 2025 22:38:44 GMTRe: Aperçu avant impression tronquéBonjour,
C'est certainement lié à la haute résolution de la carte graphique et son exploitation par Foxpro.
Pour régler le problème il faut depuis les propriété de l'exécutable de l'application  onglet compatibilité bouton "Modifier les paramètres PPP élevés puis clic sur la case "Remplacement de la mise à l'échelle PPP"
Cdlt
Gilles
Sat, 18 Oct 2025 22:38:44 GMTAttaquer une base SQL Server avec VFPBonjour chers Collègues
J'ai l'obligation d'utiliser VFP pour travailler sur SQL Server Database suite aux nombreuses opportunités que j'ai ratées. Quels sont les prérequis et autres conditions à remplir ?
Merci d'avance pour toutes contributions.
Cordialement.
Damonzon.
Sat, 18 Oct 2025 22:38:44 GMTAperçu avant impression tronquéBonjour chers Collègues,
Parmi la dizaine de clients qui utilisent mon logiciel GRH, il y'a seulement un chez qui l'aperçu avant impression est tronqué vers la droite. Ce qui se répercute sur les documents imprimés. J'ai réglé autant que je peux l'affichage, mais le problème demeure toujours. J'ai même donné à son affichage les paramètres que j'ais sur ma machine de développement, mais le problème est resté irrésolu. Et ça concerne tous les document imprimés. J'espère qu'un d'entre vous m'aidera à trouver la solution.
Merci d'avance.
Cordialement.
Damonzon.
Sat, 18 Oct 2025 22:38:44 GMTRe: FormulaireMerci beaucoup, bonne journée à toi aussi.
Thu, 21 Aug 2025 22:38:44 GMTRe: Formulairela fenêtre principale de VFP s'appelle _screen mais elle n'a pas de propriété 
closable. Pour faire ce que tu veux, il faut créer une fenêtre 'principale' qui 
elle aura une propriété closable et qui devra contenir le menu principal de ton 
application ...
Bonne journée
Jean à Grenoble
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 21 Aug 2025 22:38:44 GMTRe: FormulaireLe jeu. 21 août 2025, 10h45 Jean à Grenoble a écrit :
> Bonjour,
> 
> si je comprend bien, tu veux interdire la fermeture de l'écran principal de VFP
> ? A mon humble avis, c'est impossible car cela voudrait dire que l'on ne peut
> pas quitter VFP.
> 
> Si tu as un formulaire de ton application qui contient un menu, tu peux mettre
> la propriété closable à .F. (form.closable = .F.), cela va griser la croix en
> haut à droite. Mais dans ce cas tu dois avoir un moyen de fermer la fenêtre par
> programmation.
> 
> Et si ce n'est pas cela que tu veux, il faut que tu précises ta question !
> 
> Bonne journée
> 
> Jean à Grenoble
> 
> --
> Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
> www.avg.com
> .
> 
Bonjour et merci beaucoup,
en fait je voudrais interdire aux utilistaeurs de fermer leur session en cliquant sur la croix du formulaire qui contient la barre de menu, et les obliger à passer par l'item "Quitter" qui outre la fermeture de l'application nettoie un certain nombre de fichiers tampon. je n'ai pas pu trouver le nom de ce formulaire qui doit doit appartenir au système et être créé avec le gestionnaire de projet.. Avec le nom du formulaire il suffit de modifier la propriété "closable" mais je n'ai pas le nom. Merci de ton aide..
Thu, 21 Aug 2025 22:38:44 GMTRe: FormulaireBonjour,
si je comprend bien, tu veux interdire la fermeture de l'écran principal de VFP 
? A mon humble avis, c'est impossible car cela voudrait dire que l'on ne peut 
pas quitter VFP.
Si tu as un formulaire de ton application qui contient un menu, tu peux mettre 
la propriété closable à .F. (form.closable = .F.), cela va griser la croix en 
haut à droite. Mais dans ce cas tu dois avoir un moyen de fermer la fenêtre par 
programmation.
Et si ce n'est pas cela que tu veux, il faut que tu précises ta question !
Bonne journée
Jean à Grenoble
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 21 Aug 2025 22:38:44 GMTFormulairebonjour,
je souhaite neutraliser la fermeture du formulaire qui supporte la barre de menu. pouvez vous me donner la methode ou m'indiquer le nom du formulaire qui doit être crée par le système et n'apparait pas dans docs. merci.
Thu, 21 Aug 2025 22:38:44 GMTRe: Afficheur Client VFD avec COM7L'afficheur a été livré avec un câble USB. Il est reconnu sur le port COM7 dans le gestionnaire de périphérique. D'habitude je configure les afficheurs comme imprimante GENERIC avec TEXT ONLY puis je lance la commande SET PRINTER TO NAME AFFICHEUR et ça passe. Mais cette fois ci, cette méthode ne matche pas. Je pense que je dois avoir des problèmes avec l'utilisation du PORT avec VFP.
Tue, 22 Jul 2025 22:38:44 GMTRe: Afficheur Client VFD avec COM7Bonjour,
on pourrait avoir une peu plus de précisions ?
Est-ce que le problème est la gestion du port com7 ?
Est-ce que vous avez la documentation de l'afficheur avec le protocole de liaison ?
etc ...
Jean à Grenoble
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 22 Jul 2025 22:38:44 GMTAfficheur Client VFD avec COM7Bonjour!
Comment gérer un afficheur client avec port com7?
Mon, 21 Jul 2025 22:38:44 GMTRe: SQL Server 2012 et FoxPro 9 SP2Bonjour,
il y a plusieurs fonctions qui peuvent t'interesser :
  TRANSFORM()
  TTOC()
  TTOD()
est-ce que tu as accès à l'aide de vfp9 ?
Bon dimanche
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Sun, 01 Jun 2025 22:38:44 GMTSQL Server 2012 et FoxPro 9 SP2Bonjour à tous,
Je developpe une application avec Visual Foxpro 9. La base de données et SQL.
J'ai des difficultés à manipuler les champs datetime de sql avec FoxPro.
Je souhaite recuperer et afficher les datetime SQL au format date de Foxpro (DD/MM/YY).
Quelqu'un pourrait-il m'aider SVP??
Merci !
Fri, 30 May 2025 22:38:44 GMTRe: Requete SQLJean à Grenoble avait écrit le 19-05-25 :
> la syntaxe générale est
> UPDATE nom_de_la_table SET lechamp = la_valeur_à_mettre WHERE la_condition_du 
> filtre
>
> sans ; à la fin pour VFP, avec un ; pour Postgre !
>
> Bonne soirée
> Jean
Jean
Voici la commande:
UPDATE `act_div3` SET `LIBRE` = REPLACE(`LIBRE`, 'Anonyme', 'GED cercle 
Hist. REBECQ') WHERE `LIBRE` LIKE '%Anonyme%' COLLATE utf8mb4_bin
Générée via l'éditeur.
Tout se passe coreectement, mais il n'affiche pas le résultat.
Je cherche le pourquoi, est-ce une limitation du serveur ou autre.
-- 
Guy Bonemme
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 29 May 2025 22:38:44 GMTRe: décompilationrefox lui même il me semble....
même si un gars à sortie la décompilation refox il me semble
sinon : il y a VPA : JCR pourra peut être nous dire si cela protége la "décompilation"
à noter dans l'environnement .NET : le code généré est de l'IL est c'est exactement même sujet
reste technique d'obfuscation...
Wed, 28 May 2025 22:38:44 GMTRe: Requete SQLJean à Grenoble a couché sur son écran :
> Bonsoir Guy,
>
> d'après ce que je comprend, une partie de l'import du .csv a déjà été faite 
> mais avec l'erreur dans le champ validation et il ne faut pas refaire 
> l'importation des ces lignes. Une autre partie du .csv n'a pas encore été 
> importée et il faut le faire mais il n'y a pas de problème de doublon.
>
> est-ce que c'est cela ?
>
> De toutes façons, a mon humble avis, il faut créer un CURSOR à partir du 
> .CSV. Puis faire un UPDATE de la table pour modifier le champ validation pour 
> les lignes de la table dont le champ validation contient "Anonyme" ou 
> "Anonyme2" et dont les champs date, nom et prénom sont présents dans le 
> CURSOR.
> Puis faire un INSERT des ligne du CURSOR dont les champs date, nom et prénom 
> ne sont pas dans la table avec la bonne valeur pour le champ validation.
>
> est-ce qu'on s'approche de la solution ?
>
> Cordialement,
> Jean
Pour la solution c'est correct mais je ne sais pas si dans PHP admin
je peux créer un curseur (CURSOR à partir du > .CSV ? de la table 
actuelle  275000 lignes sur base du contenu du champ "Validation"
Je vais retester. a suivre
-- 
Guy Bonemme
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 22 May 2025 22:38:44 GMTRe: Requete SQLBonsoir Guy,
d'après ce que je comprend, une partie de l'import du .csv a déjà été faite mais 
avec l'erreur dans le champ validation et il ne faut pas refaire l'importation 
des ces lignes. Une autre partie du .csv n'a pas encore été importée et il faut 
le faire mais il n'y a pas de problème de doublon.
est-ce que c'est cela ?
De toutes façons, a mon humble avis, il faut créer un CURSOR à partir du .CSV. 
Puis faire un UPDATE de la table pour modifier le champ validation pour les 
lignes de la table dont le champ validation contient "Anonyme" ou "Anonyme2" et 
dont les champs date, nom et prénom sont présents dans le CURSOR.
Puis faire un INSERT des ligne du CURSOR dont les champs date, nom et prénom ne 
sont pas dans la table avec la bonne valeur pour le champ validation.
est-ce qu'on s'approche de la solution ?
Cordialement,
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 20 May 2025 22:38:44 GMTRe: Requete SQLBONEMME a exprimé avec précision :
> Bonjour a tous
>
> Après une longue convalescence, j'essaye de me rappeler quelques
> notions  de SQL.
> Je voudrais traiter une table via phpadmin dans laquelle, je dois remplacer 
> dans un champs existant une autre valeur
>  par une autre. Simple Vfox...mais ma némoire me fait défault sur la syntaxe.
>
> Merci d'avance
> Guy
> Ps pour Jean je passe bientôt le cap des 80 ans.
>
> --
> Guy Bonemme
Merci Jean
La table est partie d'un prog: PHP Expoacte,(pas de Postgres) que je 
maintient ainsi que le site WEB, y compris les publications des 65 
dernières années soit 65 x 4 (publications/an) x 100 pages. Toutes en
 pdf et dans le cloud actuellement, accès aux membres seul.
Sur le site chfleron.be voir l'onglet 'Outils de recherches' et 
'Geneabel'.
Suite a une erreur de manipulation et de restriction en alimentant
la table via des fichiers .CSV.
Le champ "Validation"  à eté rempli par 'Anonyme' ou 'Anonyme2'
en lieu et place de "GED xyz" (nom de l'organisation déposantes.
Soit ca 15000 lignes dont une partie est déja enregistrée.
Pour éviter les doublons, un test sur la date, nom, prénom lors de
import de csv.
-- 
Guy Bonemme
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 20 May 2025 22:38:44 GMTRe: Requete SQLla syntaxe générale est
UPDATE nom_de_la_table SET lechamp = la_valeur_à_mettre WHERE la_condition_du filtre
sans ; à la fin pour VFP, avec un ; pour Postgre !
Bonne soirée
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Mon, 19 May 2025 22:38:44 GMTRe: Requete SQLBonsoir Guy,
si tu utilises phpadmin, c'est que tu travailles avec Postgre : vrai ?
Peux tu nous donner un exemple de ce que tu veux faire ?
Bonne soirée
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Mon, 19 May 2025 22:38:44 GMTRequete SQLBonjour a tous
Après une longue convalescence, j'essaye de me rappeler quelques
notions  de SQL.
Je voudrais traiter une table via phpadmin dans laquelle, je dois 
remplacer dans un champs existant une autre valeur
 par une autre. Simple Vfox...mais ma némoire me fait défault sur la 
syntaxe.
Merci d'avance
Guy
Ps pour Jean je passe bientôt le cap des 80 ans.
-- 
Guy Bonemme
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Mon, 19 May 2025 22:38:44 GMTRe: bonjour a tous  Recherche developpeur FoxincloudBonjour Hervé,
Il n'y a pas vraiment de développeur FoxinCloud mais des développeurs VFP qui ont adapté leur application au Web grâce à FoxInCloud.
Comme la plupart des adaptations nécessitent une connaissance de l'application, seul son auteur peut les réaliser sans risque.
Pour apprendre à réaliser ces adaptations, tu peux :
1- utiliser l'assistant d'adaptation qui identifie les adaptations, les localise dans le code et t'indique comment procéder
2- consulter le 'tutorial vivant FoxInCloud' où chaque cas d'adaptation est illustré sur un exemple basique, le code source avant et après adaptation étant visible au survol de la souris ; si tu as installé l'atelier de développement FoxInCloud, le menu 'FoxInCloud' te procure un accès rapide à ce tutoriel en local et en distant ; sinon voici l'URL : https://foxincloud.com/tutotest/bs/
3- poser tes questions avec exemple de code ici même, ou si tu préfères l'anglais, sur https://support.west-wind.com/
4- solliciter notre assistance privée selon des conditions à te communiquer par MP si tu le souhaites.
Bonne adaptation !
Wed, 14 May 2025 22:38:44 GMTRe: Extraction texte d'un PDF* PTCMD.EXE es una utilidad que crea un fichero de texto a partir del PDF 
	cCOMANDO='PTCMD.EXE '+a_pdf+' '+architxt
	#define SW_SHOW_HIDDEN 0 
	oShell = CreateObject("WScript.Shell") 
	oShell.Run(cComando, SW_SHOW_HIDDEN, .T.) 
	TEMP=INKEY(1)
Tue, 06 May 2025 22:38:44 GMTRe: Affichage d'image distante dans un formaulaireBonjour,
Première étape, vous devez copier le lien de l'image vers une variable mémoire ou stocker ce lien dans un enregistrement de table.
Deuxième étape, dans votre formulaire ou programme insérez la ligne de commande :
lnRetorno = URLDownloadToFile(0, m_lien, m_dossier, 0, 0)
Tarso
Tue, 06 May 2025 22:38:44 GMTRe: décompilationRefox peut-il également protéger l'exécutable de la décompilation ?
Mon, 05 May 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newJe suis content que tu sois arrivé.
Merci pour votre attention.
Mon, 05 May 2025 22:38:44 GMTdécompilationBonjour,
Existe-t-il un moyen de protéger l'exécutable contre la décompilation par ReFox ?
Cordialement,
Mon, 05 May 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newC'est une application qui doit disparaitre depuis .... 2017 ^^
On ne veut pas passer du temps dessus.
Sinon un collègue a réussi à me dépanner.
L'état est en police Letter Gothic . 
L'éditeur de PRG est en courrier new . 
Il faut déja passer l'éditeur en Letter Gothic (clic droit, police .. )  pour avoir un aperçu équivalent entre le codage et l'éxécution. 
Ensuite, il faut passer par la table de caractère de windows et copier le bon caractère. 
Si ça peut aider querlqu'un dans le futur :-) 
Tue, 29 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier new... j'ai aussi utilisé Clipper dans le passé ...
Sat, 26 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newBonsoir
Je comprends, j'ai aussi utilisé XXX dans le passé. Nous devions écrire les codes à la main. kkkk
Si vous le pouvez, essayez de créer les rapports avec le générateur de rapports et intégrez-les dans les codes, car vous aurez plus de ressources.
Je suis conscient que cela prendra beaucoup de temps.
Tarso
Sat, 26 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newHello,
je te remercie pour ta réponse.
c'est la version 6 .
Si j'ai bien compris. c'est de l'ancien code clipper recyclé.
tout est fait par code. on dirait qu'il crée un DBF converti en rapport. ( fichier ._SP dans le code ) 
Fri, 25 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newBonsoir,
Quelle version de Foxpro utilisez-vous ?
Dans votre projet, utilisez-vous des rapports créés avec le générateur de rapports "Modify Report" ?
Tarso
Fri, 25 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newBonjour,
je te remercie pour ta réponse.
Je vais essayé de m'exprimer au mieux car je ne maitrise pas tout. 
En fait, l'état est crée à partir d'un code en PRG . 
Voici des exemples 
[VFP] SPL_W(10,01,"ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿")
		   SPL_W(11,01,"³ Client   ³ Nom du Client                  ³ Analyses Demand,es                            ³ Courrier ³  Fax  ³ Total  ³")
		   SPL_W(12,01,"ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´") 
[/VFP]
ou les "a bizzares" affichent des lignes horizontales ..
La fonction appelée
[vfp]
*-----------------------------------------------------------
*     SPL_W()  FONCTION ECRITURE DU SPOOL
*              SPL_W(_lig,_col,_txt)
*              _lig :Nø DE LIGNE
*              _col :Nø DE COLONNE
*              _txt :TEXTE A ECRIRE
*              SI _lig=0 ---> SAUT DE PAGE
*-----------------------------------------------------------
FUNCTION SPL_W(_lig,_col,_txt)
_zone=SELECT()
SELECT _SPLF
GOTO BOTTOM
IF _lig=0
   APPEND BLANK
   REPLACE NULIG WITH 0 ,;
           TEXTE WITH CHR(12)
   SELECT(_zone)
   RETURN .T.
ENDIF
_maxlig=NULIG
DO WHILE _maxlig < _lig
  _maxlig=_maxlig+1
  APPEND BLANK
  REPLACE NULIG WITH _maxlig
ENDDO
DO WHILE _maxlig > _lig
   _maxlig=_maxlig-1
   SKIP -1
ENDDO
IF NULIG=_lig
   REPLACE NULIG WITH _maxlig,TEXTE with STUFF(TEXTE,_col,LEN(_txt),_txt)
ENDIF
SELECT(_zone)
RETURN .T.
[/vfp]
[vfp]
*-------------------------------------------------------------
*     SPL_L()  FONCTION  LECTURE DU SPOOL
*              SPL_L(_fic,_titre)
*              _fic   :NOM DU FICHIER
*              -titre :TITRE DE l'EDITION
*              _initd :CHAINE DEBUT INIT IMPRIMANTE
*              _initf :CHAINE FIN   INIT IMPRIMANTE
*-------------------------------------------------------------
FUNCTION SPL_L
PARAMETER _fic,_titre,_initd,_initf , _TITREPDF
LOCAL _AncFen
LOCAL liHWnd
LOCAL Zone 
PRIVATE tabImpression
DIMENSION tabImpression(4)
RECUP_CARTOUCHE(_titre,@tabImpression)
Zone = SELECT()
_fic=SPL_FIC(_fic)
IF SELECT('_SPLF')=0
   SELECT 0
   USE &_fic   ALIAS _SPLF
ELSE
   SELECT _SPLF
ENDIF
[/vfp]
[vfp]
*-------------------------------------------------------------
*    SPL_FIC()  FONCTION Interne FMT  FICHIER
*-------------------------------------------------------------
FUNCTION SPL_FIC
PARAMETER _fispl
RETURN ALLTRIM(_fispl)+"._SP"
[/vfp]
Thu, 24 Apr 2025 22:38:44 GMTRe: Caractère spécial dans un état avec la police Courier newBonsoir,
si tu modifie un label dans l'état, peux-tu essayer de taper 
 + 212 à 
l'endroit où tu veux le Ô ?
Je sais c'est un vieux truc ... mais je suis vieux !!
Si ce n'est pas cela, peux-tu nous donner plus de précisions : c'est dans un 
label, un champ, ...
Bonne soirée
Jean à Grenoble
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Wed, 23 Apr 2025 22:38:44 GMT
Caractère spécial dans un état avec la police  Courier new
Bonjour,
Je dois modifier un vieux programme sous Foxpro. 
Les états sont fait par code avec la police Courrier New. ( je pense qu'il utilise un DBF crée dynamiquement)
Je dois afficher le symbole 212 (https://www.math.fsu.edu/~mesterto/symbolfont.html ) - un O avec un accent circonflexe. 
Mais je n'y arrive pas . 
J'ai essayé de copier le symbole directement dans le texte de l'état mais cela ne fonctionne pas. 
(j'ai testé avec chr , c'est pas mieux ) 
une idée ?
je vous remercie
Olivier 
Wed, 23 Apr 2025 22:38:44 GMT
Re: SIRET vérification - clé de contrôle (dernier chiffre)
bonjour francis
réponse de chatgpt que j'ai pas testé mais qui doit pas être loin de ce que tu veux faire.
Le 14e chiffre est une clé de contrôle calculée via lâ€Talgorithme de Luhn
âo. Algorithme de Luhn (résumé) :
Pour vérifier un numéro SIRET : Prenez les 13 premiers chiffres.
Appliquez lâ€Talgorithme de Luhn pour calculer le 14e chiffre attendu.
Comparez-le au 14e chiffre du SIRET.
FUNCTION GetLuhnKey(tcSiret13)
    LOCAL i, nDigit, nTotal, nTmp, cDigit
    nTotal = 0
    * Parcourir les 13 chiffres de droite à gauche
    FOR i = 13 TO 1 STEP -1
        cDigit = SUBSTR(tcSiret13, i, 1)
        nDigit = VAL(cDigit)
        IF MOD(13 - i, 2) = 0
            * Position paire (depuis la droite) : doubler
            nTmp = nDigit * 2
            IF nTmp > 9
                nTmp = nTmp - 9
            ENDIF
        ELSE
            * Position impaire (depuis la droite) : laisser tel quel
            nTmp = nDigit
        ENDIF
        nTotal = nTotal + nTmp
    ENDFOR
    RETURN (10 - MOD(nTotal, 10)) % 10
ENDFUNC
Fri, 18 Apr 2025 22:38:44 GMT
Re: SIRET vérification - clé de contrôle (dernier chiffre)
J'ai oublié de préciser qu'il s'agit d'un calcul sur le siren et le siret basé sur un "modulo 10"
exemple trouvé sur google mon ami : 
http://www.granuloshop.com/devblog/blog-post-22.html
Wed, 16 Apr 2025 22:38:44 GMT
SIRET vérification - clé de contrôle (dernier chiffre)
Bonjour / Bonsoir,
Est-ce que quelqu'un a eu à coder la validité d'une saisie d'un numéro SIRET (calcul du dernier chiffre) en VFP
Merci
Cordialement
Francis
Wed, 16 Apr 2025 22:38:44 GMT
importer des données à partir d'une feuille de calcul Google Drive
Chers collègues, bonsoir.
Serait-il possible d'importer des données directement d'une feuille de calcul Google Drive vers un fichier Foxpro .dbf, tout en étant déjà connecté à Google Drive ?
Sun, 13 Apr 2025 22:38:44 GMT
Re: numéro de série du disque dur
Bonsoir,
Merci beaucoup pour le code.
Cordialement,
Tarso
Fri, 11 Apr 2025 22:38:44 GMT
Re: numéro de série du disque dur
petite réponse rapide (il faudrait tester l'existence du disque avant de lancer 
la recherche du n° de série) et mettre le createobject dans un TRY CATCH
fso = CreateObject("Scripting.FileSystemObject")
lcdisque = "D"
IF fso.DriveExists(m.lcdisque)
  LOCAL objdrive
  objDrive = fso.GetDrive( m.lcdisque)
  lcnumeroserie = IIF(VARTYPE(m.objdrive)=="O", m.objDrive.SerialNumber, "") 
   ENDIF && This.fso.DriveExists(m.lcdisque)
Jean à Grenoble
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 10 Apr 2025 22:38:44 GMT
numéro de série du disque dur
Bonjour
J'aimerais de l'aide de mes collègues, une fonction qui renvoie le numéro de série du disque dur.
Merci
Wed, 09 Apr 2025 22:38:44 GMT
bonjour a tous  Recherche developpeur Foxincloud
Bonjour
J'ai 2 programmes developpés en Foxpro 9  que je voudrais convertir en Web  Je cherche un cador (remu evidemment)  On peur en discuter   merci de me contacter  
Hervé
Tue, 25 Mar 2025 22:38:44 GMT
Re: Affichage de fichiers PDF
Bonjour,
J'ai foxpro version 7 installé sur mon ordinateur.
J'ai copié les lignes de commande d'un site Web. Les gens travaillent sur la version 9.
J'ai regardé ici et trouvé les lignes de commande ci-dessous, d'une manière différente : 
[vfp]
add object olecontrol1 as olecontrol with;
oleclass = 'AcroPDF.pdf.1',;
top = 48, ; 
left = 12, ;
height = 540, ;
width = 776, ;
name = 'Olecontrol1'
procedure command2.Click
local cFile
cFile = getfile([pdf])
Thisform.Olecontrol1.LoadFile(cFile)
endproc
[/vfp]
Et puis ça a marché.
Où serait en vente la version originale 9.0 ?
Merci de votre attention.
Tue, 25 Mar 2025 22:38:44 GMT
Re: Affichage de fichiers PDF
Bonjour,
dans le groupe AtoutFox, je suis le dernier à avoir maintenu des applications 
Foxpro 2.0 sous DOS. C'est dire si je suis vieux ! mais même moi je suis passé à 
VFP9 !!
Pourquoi garder une application sous VFP7 ?
Et l'erreur que tu nous exposes provient d'une nouvelle application ou bien elle 
fonctionnait avant dans une 'vieille' application et elle ne fonctionne plus 
dans cette même application ? (en espérant que Google traduise cela correctement !).
Bien cordialement,
Jean
-- 
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Mon, 24 Mar 2025 22:38:44 GMT
Re: fichiers icônes, bitmap ou jpeg gratuits
... Google  en fonction de votre astuce.
Sun, 23 Mar 2025 22:38:44 GMT