IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Envoyer fichier sur site !


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut Envoyer fichier sur site !
    Bonjour à toutes et à tous,

    J'ai une procédure qui me permet d'envoyer un émail si le changement de l'Ip est intervenu.

    Ma question, serait t'il possible d'envoyer l'Ip sous forme de fichier "HTM" ou "TXT" sur le site de ma fille ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    procedure TFServer.Timer2Timer(Sender: TObject);
    var lastIp,IpActual:string;
    begin
     
      lastIP:=IPServer2.Text; //on récupère l'IP en cours
      IpActual:=GetLocalIp;  //on va chercher le nouvel IP
      if lastIP<>IPServer2.Text then
      begin
    //*******si différent on l'envoie
        If Mail_Transmition(Exp_Ed.Text,Dest_Ed.Text,SMTP_Ed.Text, IPServer2.Text) then
        Begin
          Connect_State_Ed.Text:='Mail Envoyé !'; beep;
        end;
      end;
    Si vous avez une idée, merci d'avance,

    @+,

    Cincap

    end;

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut
    J'ai oublié de préciser que pour l'envoi d'un fichier texte ou htm vers le site c'est ok.

    Pour la lecture de ce fichier depuis le site c'est aussi ok.

    Ou je bloque c'est pour sauver le contenu du Tedit qui a l'Ip dans un fichier texte mais pas ini, dans le répertoire de l'application.

    Merci éventuellement de votre aide.

    @+,

    Cincap

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    with TMemo.Create(nil)
    do begin
      try
        try
          Text := Edit1.Text;
          SaveToFile(IncludeTrailingBackSlash(ExtractFilePath(Application.ExeName))+'MyIP.txt');
        finally
          Free;
        end;
      except
        on E: Exception
        do ShowMessage(E.Message);
      end;
    end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut
    @ tourlourou, merci de ton aide, entre temps je suis arrivé à une solution qui fonctionne en ajoutant simplement une variable (F: TextFile) au code de l'envoi de l'émail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     //Fichier texte
      AssignFile(F, 'ip.txt');
      Rewrite(F);
      WriteLn(F, ipserver.Text);
      CloseFile(F);
    Pour donner ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    var
    lastIp,IpActual:string;
     
      F: TextFile;
     
    begin
     
      lastIP:=IPServer2.Text; //on récupère l'IP en cours
      IpActual:=GetLocalIp;  //on va chercher le nouvel IP
      if lastIP<>IPServer2.Text then
      begin
    //*******si différent on l'envoie
      //Fichier texte
      AssignFile(F, 'ip.txt');
      Rewrite(F);
      WriteLn(F, ipserver.Text);
      CloseFile(F);
     
        //Fichier émail
        If Mail_Transmition(Exp_Ed.Text,Dest_Ed.Text,SMTP_Ed.Text, IPServer2.Text) then
        Begin
          Connect_State_Ed.Text:='Mail Envoyé !'; beep;
        end;
      end;
     
    end;
     
    Je testerai ton idée naturellement.
     
    @+,
     
    Cincap

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut Désolé
    je réouvre ce topic, en effet lorsque je suis sur le site et que j'affiche la liste des fichiers, j'aurai aimé pouvoir effacer le fichier de l'IP car si pas, les Ip s'additionnent dans le fichier "monip.txt".

    J'ai testé ceci sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    begin
      if TransferringData then idFTP1.Abort;
      if IdFTP1.Connected then IdFTP1.Disconnect;
      try
        EnableControls(false);
        IdFTP1.Host := Edit1.Text;
        IdFTP1.UserName := Edit2.Text;
        IdFTP1.Password := Edit3.Text;
        IdFTP1.Connect;
        if idFTP1.Connected then
          try
            GetServerTypeFromSyst(idFTP1);
            IdFTP1.List(ListBox1.Items);
          //if fileexists('monip.txt') then deletefile('monip.txt');//Sans succès
          except;
          end;
      finally
        EnableControls(true);
      end;
    end;
    Merci d'avance.

    @+,

    Cincap

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    que veux dire "sans succès" ? C'est vague.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Papy214, c'est cette commande qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if idFTP1.Connected then
          try
            GetServerTypeFromSyst(idFTP1);
            IdFTP1.List(ListBox1.Items);
          //if fileexists('monip.txt') then deletefile('monip.txt');//Sans succès
          except;
    Le fichier se trouve bien dans la liste et je suis bien dans le dossier du serveur.

    A moins qu'IdFTP1 à une commande spécifique.

    @+,

    Cincap

  8. #8
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Pour savoir si le fichier existe : http://delphi.developpez.com/faq/?pa...yfichierexiste et pour l'effacer, IdFTP1.Delete('IP.txt'); non ?

    Mais il est vrai que je n'ai pas bien saisi ton problème.

    Sinon, il y a aussi if ListBox1.Items.IndexOf( 'monip.txt' ) > -1 then ...
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Tourlourou, en fait, lorsque je sauve la 1ère fois sur le site suite à un changement d'ip, le fichier monip.txt mais si la 2ième fois je le sauve, ce fichier contiendra 2 ip à co^té de l'autre, donc la solution avant de le sauver, c'est de tester si il existe puis de le détruire.

    Ta suggestion avait été utilisée mais j'avais une exception dans la fonction sur "Apath" identificateur non déclaré.

    Mon test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    procedure TFTransfert.BconnecterClick(Sender: TObject);
    begin
      if TransferringData then idFTP1.Abort;
      if IdFTP1.Connected then IdFTP1.Disconnect;
      try
        EnableControls(false);
        IdFTP1.Host := Edit1.Text;
        IdFTP1.UserName := Edit2.Text;
        IdFTP1.Password := Edit3.Text;
        IdFTP1.Connect;
        if idFTP1.Connected then
          try
            GetServerTypeFromSyst(idFTP1);
            IdFTP1.List(ListBox1.Items);
     
        if FTPFileExists(IdFTP1,'/monip.txt') then begin
        MessageDlg('Le fichier existe !', mtInformation, [mbOK], 0);
        IdFTP1.Delete('/monip.txt')
        end
      else
        MessageDlg('Le fichier n''existe pas.', mtInformation, [mbOK],0);
     
          except;
          end;
      finally
        EnableControls(true);
      end;
    end;
    @+,

    Cincap

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Tourlourou, merci pour ton lien, j'ai compris qu'il fallait le "/" et grace à ton lien, c'est ok.

    @+,

    Cincap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Problème ouverture fichier sur site
    Par AbouZaid dans le forum Langage
    Réponses: 8
    Dernier message: 04/05/2012, 17h11
  2. envoyer fichier sur serveur
    Par dharkan dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/03/2011, 09h47
  3. [AC-2003] ADO ConnectionString vers fichier sur site HTTPS
    Par Oliv- dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/11/2009, 14h43
  4. script pour automatiser upload fichier sur site https
    Par ludo_93 dans le forum VBScript
    Réponses: 0
    Dernier message: 03/10/2008, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo