Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

C83ADDRESS() VERSION COURTE (8.3) DE L'ADRESSE D'UN FICHIER/DOSSIER EXISTANT


Information sur la source

Catégorie :Divers Classé sous : dos, api, fichiers Niveau : Débutant Date de création : 06/10/2004 Date de mise à jour : 06/10/2004 14:18:48 Vu : 1 959

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Fonction utile pour interfacer avec des programmes DOS.

Le code illustre :
- la fonction VarType() pour vérifier le passage du paramètre (particularité VFP, les variables sont créées par défaut avec le type Logique et la valeur .F.)
- la vérification de l'existence d'un dossier ou d'un fichier
- l'appel d'une fonction de l'API Windows à partir de Visual FoxPro
- la fonction IIF()
- l'algorithme positif avec sortie unique en fin de module (mon dada)
 

Source

  • ************************************************************************
  • FUNCTION c83Address && Version courte (8.3) de l'adresse d'un fichier/dossier EXISTANT
  • LPARAMETER tcPath
  • LOCAL lcResult
  • m.lcResult = Space(0)
  • * Si le fichier ou le dossier existe
  • IF Vartype(m.tcPath) == 'C'
  • m.tcPath = Upper(Alltrim(m.tcPath))
  • LOCAL llPath
  • m.llPath = Directory(m.tcPath)
  • IF NOT m.llPath && ce doit être une adresse de fichier
  • LOCAL ARRAY laFiles[1]
  • m.llPath = ADir(laFiles, m.tcPath) = 1 && file() ne fonctionne pas avec les adresses courtes
  • ENDIF
  • IF m.llPath
  • * Lire l'adresse courte
  • DECLARE INTEGER GetShortPathName IN Win32API;
  • STRING @lpszLongPath, ;
  • STRING @lpszShortPath,;
  • INTEGER cchBuffer
  • LOCAL lnLength, lcShortName, lnResult
  • m.lnLength = 260
  • m.lcShortName = SPACE (m.lnLength)
  • m.lnResult = GetShortPathName(@m.tcPath, @m.lcShortName, m.lnLength)
  • m.lcResult = Iif(m.lnResult > 0, ;
  • LEFT (m.lcShortName, m.lnResult),; && la conversion a réussi
  • m.tcPath) && la conversion a échoué : l'adresse spécifiée est 8.3
  • ENDIF
  • ENDIF
  • RETURN m.lcResult
************************************************************************
	FUNCTION c83Address && Version courte (8.3) de l'adresse d'un fichier/dossier EXISTANT
	LPARAMETER tcPath
	LOCAL lcResult
	m.lcResult = Space(0)

	* Si le fichier ou le dossier existe
	IF Vartype(m.tcPath) == 'C'
		m.tcPath = Upper(Alltrim(m.tcPath))
		LOCAL llPath
		m.llPath = Directory(m.tcPath)
		IF NOT m.llPath && ce doit être une adresse de fichier
			LOCAL ARRAY laFiles[1]
			m.llPath = ADir(laFiles, m.tcPath) = 1 && file() ne fonctionne pas avec les adresses courtes
		ENDIF
		IF m.llPath

			* Lire l'adresse courte
			DECLARE INTEGER GetShortPathName IN Win32API;
			  STRING @lpszLongPath,	;
			  STRING @lpszShortPath,;
			  INTEGER cchBuffer
			LOCAL lnLength, lcShortName, lnResult
			m.lnLength = 260
			m.lcShortName = SPACE (m.lnLength)
			m.lnResult = GetShortPathName(@m.tcPath, @m.lcShortName, m.lnLength)

			m.lcResult = Iif(m.lnResult > 0,	;
									LEFT (m.lcShortName, m.lnResult),; && la conversion a réussi
									m.tcPath) && la conversion a échoué : l'adresse spécifiée est 8.3
		ENDIF
	ENDIF

	RETURN m.lcResult

Historique

06 octobre 2004 14:18:48 :
Nouvelle description

Commentaires et avis

signaler à un administrateur
Commentaire de AbaqueInside le 06/10/2004 14:12:36

Illustre l'appel d'une fonction de l'API Windows à partir de Visual FoxPro

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

API windows [ par captainstf ] Salut à tous!Je travaille actuelle sur l'api windows et je gallère pas mal :1- Je cherche à mettre une application au premier plan, j'utilise :showwin fichiers necessaires au vfpoledb ? [ par lijohann ] bonjour,j'ai une appli sous excel qui utilise le vfpoledb pour accéder à mes donées.Mon probleme est que des utilisateurs doivent api de foxpro [ par jee0404 ] bonjour a tous,                 j'ai un problème pour l'affichage Vérification des fichiers en format .dbf [ par devham ] salut, je developpe en VB.net , mais cette fois je suis obligé à faire une appliquation en VFP, l'objectif de cette appliquation c'est de ve fichiers d'installation [ par info_maroc ] Bonjour1 - j'ai developpe une application sous visual foxpro 9 et je veux creer les fichiers d'installation, j'ai pas sur le menu de foxpro un moyen p creer fichiers installation [ par info_maroc ] bonjour   j'ai besoin de la procedure de generation des fichiers installation d'une application developpée par visual foxpro 9Merci Manipulation de fichier texte [ par rr_style ] Salut a tous Moi j'ai un serieux problème avec FoxPro j'ai développé une interface qui converti des données d'un logiciel vers un autre. grace à l Difference entre foxpro et visual foxpro [ par ducker88 ] >Bonjour à tous,Voila deux ans que je travaille sur foxpro (tant bien que mal...) et j'apprend aujourd'hui qu'il est possible que la base ai été mi un exe depuis un form [ par bensti ] Bonjour à tous.j'ai un formulaire composé d'un .scx et d'un sct. J'aimerai en faire un exécutable seul. C'est à dire que l'exe lancerait uniquement mo probleme api printer [ par ouadie_karouite ] bonjour tt le monde j'ai réalisé une application client serveur avec l'utilisation des api de printer pour creer des fichiers pdf a partir l'applicati


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.