banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 30 August 2004 22:21

Maud Gaide
Invité

MapBasic: incrementation d'un nom d'enregistrement d'un fichier

Bonjour,

je voudrais enregistrer un fichier recupere dans un dossier predefini.
j'utilise:
Save File Path_localisation As "C:\Mes documents\Projet\realisationsMapbasic\mes productions\essaiphotos\nom_photo.jpg"

je voudrais que nom_photo soit une variable qui s'incremente de 1 a chaque enregistrement.
pour l'instant quelque soit le nom du fichier recupere, il l'enregistre sous le nom de nom_photo.jpg!

de plus je voudrais que le lien avec ce fichier (cette adresse) soit present dans un champ de ma table: est ce possible et comment dois je faire?

merci d'avance pour vos reponses

 

#2 Tue 31 August 2004 18:31

Florent Luquet
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: Luquet Florent
Bonjour,

Plusieurs solutions s'offrent a vous.

Solution 1. Si vous enregistrez toujours dans le meme dossier rien ne vous empeche de regarder l'ensemble des fichiers et d'extraire la derniere lettre (le numero dans votre cas) et de l'incrementer une fois recuperee.

Solution 2. La plus simple je pense. A chaque enregistrment, stocker la variable dans une table a la racine du prog (par exemple) ou fichier texte... puis la rappeller et l'incrementer.

Si quelqu'un voient d'autres solutions je suis preneur etant donne qu'a chaque ouverture et fermeture d'un mbx les variables en memoire sont reinitialisees (comme sous les autres langages d'ailleurs, il faut stocker en dur.)

Bon courage

 

#3 Wed 01 September 2004 11:42

Maud Gaide
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: maud
Bonjour,

merci pour votre reponse, cela m'a fait avancer.
En fait j'ai trouve une solution, c'est de recuperer l'ID de mon enregistrement puisque je voulais donner un numero pour nom de fichier
mais j'ai quand meme un probleme
je n'arrive pas a lui definir mon champ
j'ecrit: Dim chemin as string
Dim ID as string
ID = ID from BDphoto Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS)
chemin = "C:\Mes documents\Projet\realisationsMapbasic\mes productions\essaiphotos" + ID +" .jpg"

Path_localisation = FileSaveAsDlg(Path_Appli, *.jpg , JPG , Localisation de la Photo )

Save File Path_localisation As chemin
Update BDphoto set NOMphoto = chemin Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS)

en fait dans chemin = , je n'arrive pas a lui dire que ID est un champ de ma table BDphoto
si vous avez une solution je veux bien
merci d'avance
Maud

 

#4 Wed 01 September 2004 12:57

Annick Lagnion
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

dans les declaration le nom de champ c'est
dim nom_champ as alias

et peut-etre que ce serait plutot
ID = ID from BDphoto Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS) ??

 

#5 Wed 01 September 2004 23:57

Maud Gaide
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: maud
Si j'ecris:
Dim chemin as string
Dim ID as alias

ID = ID from BDphoto Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS)
chemin = C:\Mes documents\Projet\realisationsMapbasic\mes productions\essaiphotos" + ID + ".jpg"

il ne compile pas il me dit qu'il ne reconnait pas la commande from
si j'enleve from BDphoto..., il m'enregistre bien les photo dans le bon repertoire mais il ne leur affecte pas l'id, les photos s'appellent .jpg
si je met ID dans chemin, entre guillemets, il appelle les photos ID.jpg

je ne sais pas comment faire pour recuperer l'identifiant de ma derniere ligne d'enregistrement dans ma table?!
je veux bien vos idees
merci d'avance
Maud

 

#6 Thu 02 September 2004 09:49

Maud Gaide
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: maud
Bonjour,

merci beaucoup pour les infos que tout le monde m'a envoye,
j'ai encore un probleme
le programme se compile bien mais dans
Select ID from BDphoto Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS)

quand je lance le programme il me dit Variable ou champ BDphoto non defini j'ai essaye de mettre des guillemets, j'ai essaye de remplacer BDphoto par table pour voir et la il me dit que la table table n'est pas ouverte

j'ai essaye aussi de marquer l'extension par exemple BDphoto.mdb

mais la encore il me dit que le resultat de l'expression ne correspond pas a une table

je suis perplexe, je ne comprend pas pourquoi il ne reconnait pas la table BDphoto puisqu'elle est ouverte depuis le debut du programme et que je l'ai sollicitee dans d'autres parties du programme sans probleme

si vous avez une idee du pourquoi ca ne fonctionne pas je veux bien!

merci d'avance

maud

 

#7 Wed 08 September 2004 11:52

Christophe Jean
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: christophe JEAN
est-ce que tu a nomme ta table lors de l'ouverture :

exemple

open table Chmm/.../..../.../BDphoto.tab as BDphoto

au lieu de :

open table Chmm/.../..../.../BDphoto.tab

 

#8 Wed 08 September 2004 14:55

Maud Gaide
Invité

Re: MapBasic: incrementation d'un nom d'enregistrement d'un fichier

De: maud
Merci pour toute les reponses
j'ai trouve, il fallait faire
Sub localisation
Dim chemin as string
Dim ID As alias
Dim numrow as integer

numrow = tableinfo(BDphoto,TAB_INFO_NROWS)

chemin = "C:\Mes documents_Projet\realisationsMapbasic\mes productions\essaiphotos" + Str(numrow) + ".jpg"
Path_localisation = FileopenDlg( "C:" , ""," JPG" , "Localisation de la Photo" )
Save File Path_localisation As chemin
Update BDphoto set NOMphoto = chemin Where Rowid = tableinfo(BDphoto,TAB_INFO_NROWS)
Commit Table BDphoto

merci a tous

 

Pied de page des forums

Powered by FluxBB