VB6 Récupérer des données dans un fichier

Résolu
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012 - 25 sept. 2012 à 13:42
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012 - 26 sept. 2012 à 15:29
bonjour

J'ai crée une petite application ou je rentre manuellement des données que je récupére dans un fichier "locator.adi".

Hors j'aimerai que mon application ouvre ce fichier, le lise ligne par ligne (le nombre de ligne est aléatoire) et récupère le code (toujours de 6 caractères) que l'on trouve toujours juste après <GRIDSQUARE:6> et à chaque récupération faire un print dans une picture.box




Quelqu'un peut il m'aider ou me mettre sur la voie.
merci pour votre aide.

JPhilippe

11 réponses

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
25 sept. 2012 à 17:45
Bonjour OM JPhilippe

Ne lis pas ton fichier ligne par ligne, ouvres le d'un bloc et fais un split sur <GRIDSQUARE:6> et prends les 6 caractères suivants.

73's et bon trafic

Cheyenne
3
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
25 sept. 2012 à 18:32
Re bonjour

Grace à ta piste j'ai trouvé ca http://faq.vb.free.fr/index.php?question=165
il me senble que c'est en bonne voie l'ouverture du bloc et le split :)

Encore merci je vais pouvoir avancer dans mon application et en plus j'ai appris quelque chose :)

73's, au plaisir

Tolens
MSN : Tolensfr@hotmail.com
------------------------------------------
3
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
26 sept. 2012 à 11:32
Bonjour

J'ai fait mon code pour l'ouverture de mon fichier en bloc et splitter :

Dim f As Integer
Dim Buffer As String
Dim t() As String
Dim fileContent As String

' Ouverture du fichier en 'Binary'
f = FreeFile
Open "L:\locator.txt" For Binary As #f

' préallocation d'un buffer à la taille du fichier
Buffer = Space$(LOF(f))

' lecture complète du fichier
Get #f, , Buffer
t() = Split(fileContent, "<GRIDSQUARE:6>")

Close #f


Je sèche concernant la récupération des 6 caractères après <GRIDSQUARE:6>" ! ?

Merci de votre aide

Tolens
MSN : Tolensfr@hotmail.com
------------------------------------------
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
26 sept. 2012 à 11:35
Bonjour,
Les "6 caractères suivants" ne sont jamais que les 6 premiers caractères de chaque sous-chaîne (hormise la première) résultant du Split, non ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
25 sept. 2012 à 18:26
Bonjour Cher OM Cheyenne :)

Merci pour la piste sur l'ouverture d'un bloc du fichier, mais j'ai pas compris split ? une commande dans VB ?

73's, le trafic en ce moment pas bon :) du coup on essaye la programmation hi hi

JPhilippe
0
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
26 sept. 2012 à 11:45
Bonjour

exact :) bon je vais rechercher comment appeler ma sous chaine après <GRIDSQUARE:6> dans une listbox et le tour est joué, afin je pense pour un novice :)

Merci encore,

Tolens
MSN : Tolensfr@hotmail.com
------------------------------------------
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
26 sept. 2012 à 13:18
Bonjour cher OM,

Tu n'as pas à nommer ta "sous-chaîne" celle-ci est en fait chaque élément du tableau t() rempli par le split.
Si ton fichier est assez conséquent mets <GRIDSQUARE:6> en Constant
For i = LBound(t) to Ubound(t)
   lstQRZ.Additem Left$(t(i), 6)
Next i

73's de Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
26 sept. 2012 à 13:26
Re,

Oups !!!!! lstQTH et non lstQRZ

Une idée en passant, à partir de ta liste de locators, un clic sur l'un de ceux-ci pourrait t'afficher les coordonnées (après conversion) dans Goggle Maps !

A+ Cheyenne
0
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
26 sept. 2012 à 13:46
Re
Super ca fonctionne j'ai maintenant dans listbox mes QTH locator.
Ma petite application à pour but à l'aide de l'extract du fichier .ADI de mon carnet traffic calculer la distance entre mon QTH locator et celui récupérer de mon carnet de trafic afin que je puisse faire des stats des contact en VHF UHF et SHF :) et pourquoi pas le faire afficher comme tu le dis sur google maps.

En tout cas merci à toi et aux autres qui non seulement m'ont bien aidé mais j'ai appris pas mal de choses....

73's au plaisir

Jphilippe
MSN : Tolensfr@hotmail.com
------------------------------------------
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
26 sept. 2012 à 15:18
Re,

Juste en passant quel logiciel utilises-tu pour le mode JTA65 ?

Merci, Cheyenne
0
Tolensfr Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 26 septembre 2012
26 sept. 2012 à 15:29
re,

JT65HF (Windows), ne pas oublier de synchroniser l'heure avec un serveur de temps. Un DX cluster pour ce mode http://hamspots.net/wsjt Je l'utilise avec une carte son externe Signalink USB, bien souvent 15 Watts, une antenne verticale DX88 Hygain ou une portable buddipole. Si tu veux on peut discuter via email si ce mode t'interesse car je ne fait pratiquement que du mode digital dont ce mode à 80 %.



Tolens
MSN : Tolensfr@hotmail.com
------------------------------------------
0