Recuperer données dans un combobox apartir d'un fichier texte
black_hack_white
Messages postés6Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention18 février 2005
-
15 févr. 2005 à 19:15
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
21 févr. 2005 à 09:38
Salut à tous,
Je voudrais à partir d'un fichier texte qui se trouver sur une adresse web ( http://lien/fichier.txt ) récuperer le contenu dans un combobox. C'est-à-dire à chaque retour de ligne du fichier texte ajouter l'item qui correspond ;)
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 15 févr. 2005 à 20:04
Delphi n'ouvre pas les fichiers situés sur internet comme des fichiers disque... Je crois que black_hack_white va être obligé de télécharger le fichier pour ensuite le lire...
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 15 févr. 2005 à 21:24
En tout cas super code ni69 je le mets direct de coté. J'en ai pas
besoin dans l'immédiat mais je pense que ca pourra surement me servir
un jour.
Au sujet du compo idhttp il est dispo sur delphi depuis quelle version tu sais?
Juste une remarque si je peux me permettre plutot que de passer par une
boucle while jusqu'a la fin du fichier j'utiliserai plutot un
tstringlist (comme ci dessous). Je me demande quelle methode est la
plus rapide, la plus idéale ect ... si des gens ont des commentaires la
dessus car moi perso j'utilise celle qui m'arrange avant toute chose lol
procedure TForm1.Button1Click(Sender: TObject);
var Fs : TFileStream;
Datas : TStrings;
begin Fs := TFileStream.Create('c:\test.txt',fmCreate); // Le fichier temporaire
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 15 févr. 2005 à 22:10
Le compo IdHttp fait partie des composants Indy si tu ne l'as pas dans ta version de Delphi. Comme j'utilise la version perso de Delphi 6, je peux pas te dire dans lesquelles il est inclus... C'est vrai qu'elle est très limitée (pas de compos internet directement installés, pas d'accès aux bases de données...) Mais je n'ai pas les moyens d'en prendre une autre ! A 15 ans, on ne peut pas se permettre d'acheter une version d'entreprise
Pour la StringList, tu fais ce que tu veux (Pourvu que ça marche ! ) C'est vrai que ça évite d'utiliser une autre variable (Stg)... Il faudra que l'on avise de la meilleure
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
black_hack_white
Messages postés6Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention18 février 2005 17 févr. 2005 à 21:38
Ok je viens un peu de regarder vos codes ( merci d'ailleurs ) mais le code de jmp77 me conviendrais mieux en faite car le code de ni69 est super mais par exemple moi j'ai pas de disque dur nomé c:\ or le code télécharge sur c:\ il faudrais d'après mon avis allé rechercher dans la base de registre ( ici il me semble : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders ) les dossiers mes documents ou programes files etc mais le problème c'est que côté regedit je suis trop pomé
Donc je test le code de jmp77 voir si sa fonctionne, si oui tant mieux et si ni69 ou jmp77 sait regarder pour adapter le code de ni69 pour le télécharger n'importe ou sa serait super
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 17 févr. 2005 à 23:02
le code de jmp77 utilise quand même le chemin "C:"...
De quel code marchant sans utiliser de fichier temporaire parle-tu donc ?
Je crois que tu vas être obligé de télécharger le fichier en local...
Tiens, je te passe un code pour le répertoire TEMP de windows et je complèteavec le reste :
il est fait pour contenir des fichiers comm ça sauf qu'en plus nous on est gentils, on le supprime après ! Pas comme d'autres
function GetTempDir: string;
var Dossier: array[0..MAX_PATH] of Char;
begin result:= '';
if GetTempPath(SizeOf(Dossier), Dossier)<>0 then Result : = StrPas(Dossier);
end;
procedure TForm1.Button1Click(Sender: TObject);
var Fs : TFileStream;
Datas : TStrings;
begin Fs := TFileStream.Create(GetTempDir+'test.txt',fmCreate); // Le fichier temporaire
Datas := TStringList.Create;
black_hack_white
Messages postés6Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention18 février 2005 18 févr. 2005 à 16:00
Merci beaucoup pour ton code ni69 sa fonctionne, enfin presque quand je lance mon application il me mets : Impossible d'ouvrir le fichier "c:\DOCUME~1\User\LOCAL~1\Temp\fichier.txt". Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus."
Voilà si vous pouviez m'aider comme vous l'avez fait jusque maintenant sa serait super, et la correction de ce petit bug serait la réponse "total" à ce que je cherchais
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 18 févr. 2005 à 16:05
Hello,
Essaye comme cela :
function GetTempDir: string;
var Dossier: array[0..MAX_PATH] of Char;
begin result:= '';
if GetTempPath(SizeOf(Dossier), Dossier)<>0 then Result : = StrPas(Dossier);
end;
procedure TForm1.Button1Click(Sender: TObject);
var Fs : TFileStream;
Datas : TStrings;
begin Fs := TFileStream.Create(GetTempDir+'test.txt',fmCreate); // Le fichier temporaire
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 18 févr. 2005 à 18:14
Désolé jmp77, mais je crois que ce n'est pas encore ça....
J'ai trouvé mieux, sans var TStrings, et ça marche :
function GetTempDir: string;
var Dossier: array[0..MAX_PATH] of Char;
begin result:= '';
if GetTempPath(SizeOf(Dossier), Dossier)<>0 then Result : = StrPas(Dossier);
end;