Précédent   Forum des professionnels en informatique > Autres langages > Pascal > Lazarus
Lazarus Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 15h30   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 36
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2010
Messages : 36
Points : 12
Points : 12
Par défaut Télécharger/Lire un fichier d'un serveur Web

Bonjour,

Je suis à la recherche d'une unité ou fonction qui me permettrait de télécharger un fichier depuis un serveur web distant.

Par exemple, au lancement de l'application, celle ci télécharge checking.ini qui est stocké sur un serveur web (par exemple http://monsite.free.fr/checking.ini).

Ce fichier est téléchargé dans le même dossier que mon application, après peu d'importance de vous le dire, mais bon je lis ce fichier pour afficher X ou Y chose dans mon application, puis le supprime. Ou même de le lire comme un .ini normal grâce à INIFile sans le télécharger, mais là je pense que je rêve

Cela me permet de modifier et d'afficher certaines données dans l'application en dynamique, sans avoir à faire tourner un serveur MySQL. (La plupart des hébergeurs n'acceptant pas une connexion arrivante externe).

Connaissez-vous ce genre d'unité/fonction/composant qui permette cela ?

Merci,

Jean-François.
jeffk_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 17h42   #2
Membre Expert
 
Homme
Étudiant
Inscription : juin 2009
Messages : 902
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France, Aveyron (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 902
Points : 1 596
Points : 1 596
Salut

Tu peux utiliser la librairie de composants Indy10. Je ne sais pas si elle fonctionne sous Linux, mais elle te permettra, a l'aide du composant IdHTTP de récuperer le contenu de ton document, et tu pourra en faire ce que tu veux (l'enregistrer, l'utiliser avec Inifile, etc.).

Quand tu dis sans le télécharger, cela n'a pas vraiment de sens. Pour lire un fichier, tu es obligé de le télécharger. Par contre, tu n'est pas obligé de l'enregistrer sur ton ordinateur. Tu peux l'analyser en mémoire, et le supprimer quand tu as fini.

Bonne chance

Mick605
mick605 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/12/2011, 10h41   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 2
Points : 2
Par défaut Voir les composants inet

Bonjour,
Pour faire ce genre de choses ,sur des pages free,j'utilise les composants iNet.
Cela fonctionne sur Windows,et sur Linux(je suis sous Ubuntu).
Quand tu télécharge les composants,il y a des exemples.
cordialement
microb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 11h38   #4
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 36
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2010
Messages : 36
Points : 12
Points : 12
Bonjour

En effet hier j'ai penché sur Indy 10.

Quel...Bordel...

L'installation est plus que bancale, erreur de compilation du packet, erreur de reconstruction de Lazarus à cause de Indy 10, obligé de modifier les chemins et option du compilateur, puis les remettre par défaut, il ajoute 15 Tab dans IDE.

Ca marche quand même grâce à idHTTP, + une unit filedownload développé appart qu'il faut chercher sur le net... Après 3h à essayer de l'installer correctement (sans rire) ça pseudo-marche.

De temps en temps le composant ne fait plus partis de l'IDE, obligé de tout recompilé, les unités ne veulent plus compilé, obligé de fermer/ré-ouvrir, idHTTP deviens introuvable.

Bref.... C'est une misère ce truc...

Je vais regarder du coté de iNet pour voir si c'est mieux, pour le moment ça marche avec ça :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
uses filedownload, IdHTTP,
 
procedure Tfrm_main.lireALouverture();
var
 
  Filedownload1 : TFileDownload;
 
begin
 
 
  FileDownload1 := TFileDownload.Create(Self);
  FileDownload1.FileFrom := 'http://127.0.0.1/www/event.ini';
  FileDownload1.FileTo := 'event.ini';
  FileDownload1.Run;        
 
end;
jeffk_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 12h11   #5
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 599
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 599
Points : 570
Points : 570
Bonjour,

Peut-être un peu tard, mais j'ai mis à disposition un patch d'installation d'indy10 sur ce forum. Il fonctionne aussi bien pour Win que pour Nux.

Pour utiliser Indy dans mes projets, dans leurs options de compilation, j'ajoutais (à adapter évidemment) :
G:\lazarus\0.9.31-30276-fpc-2.4.3-20110413\components\indy-10.2.0.3\;G:\lazarus\0.9.31-30276-fpc-2.4.3-20110413\components\indy-10.2.0.3\fpc\
dans Autres fichiers unité (-Fu) et Librairies (-FI).

Cordialement. Gilles
selzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 15h15   #6
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 36
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2010
Messages : 36
Points : 12
Points : 12
Bon finalement j'ai laissé tomber Indy 10, trop de problèmes de compilation/construction...et ce "n'importe quand", des fois l'installation ce passe bien, mais d'une compilation à une autre, il ne trouve plus les classes, les unités, etc...

J'ai essayé Lnet, installation du package OK, mais 40 lignes pour DL un fichier.

Finalement, coup de coeur pour Synapse (version 39), pas d'installation de package à faire, juste copier les .pas qu'on à besoin dans le projet.

ça donne :

Code :
1
2
3
4
5
6
7
8
9
10
11
uses httpsend;  
 
procedure Tfrm_main.lireALouverture();
var   
  fs: TFileStream;   
 
begin
 fs := TFileStream.Create('event.ini', fmCreate);
 HttpGetBinary('http://127.0.0.1/www/event.ini', fs);
 fs.Free;
end;
Hop
jeffk_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2012, 13h50   #7
Membre habitué
 
Inscription : janvier 2006
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 238
Points : 147
Points : 147
Bonjour,
ca a l'air pas mal ce truc. Quelqu'un aurait il essayé sous MAC OS X ?

Merci.
arkhamon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2012, 15h19   #8
Membre habitué
 
Inscription : janvier 2006
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 238
Points : 147
Points : 147
bon finalement apres rapides coups d'oeil, je reste sur l'excellentissime NativeXml que j'utilisais déjà sous Delphi...
arkhamon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h35.


 
 
 
 
Partenaires

Hébergement Web