[R] Ajout d'un bouton parcourrir

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

[R] Ajout d'un bouton parcourrir

#1

Message par cbourdu57 »

Bonjour :)

Je fais appel a vous car j'ai un petit problème ...
J'ai créer une interface qui permet d'envoyer un mail par rapport a ce que l'utilisateur entre comme donnée dans les input ...
Tout fonctionne sauf quand l'utilisateur entre n'importe quoi dans le input des pièces jointes et qu'il click sur envoyer ...

Je voudrais donc vérifier le input pour les pièces jointes avant qu'il envoie le message, pour pas qu'il n'y est d'erreur ...
Donc soit faire une vérification avant qu'il envoie
Soit permettre de parcourir les fichiers :
Capture.PNG
Voici mon code

Code : Tout sélectionner

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        Case $Btn_envoyer

            const $olMailItem=0
            $oOApp = ObjCreate("Outlook.Application")
            $oOMail = $oOApp.CreateItem($olMailItem)
            $oOMail.Save

            With $oOMail
                .To = GUICtrlRead($Input_dest)
                .Subject = GUICtrlRead($Input_sujet)
                .Body = GUICtrlRead($Input_corps)
                .attachments.add (GUICtrlRead($Input_pieces))
                .Display
            EndWith

.....................

    EndSwitch
Wend
 
Merci :)
Modifié en dernier par cbourdu57 le ven. 17 mai 2013 09:13, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Ajout d'un bouton parcourrir

#2

Message par jguinch »

Salut.
La fonction que tu recherches est certainement FileOpenDialog.

En général, voilà comment je procède :
► Afficher le texteexemple
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [..] Ajout d'un bouton parcourrir

#3

Message par cbourdu57 »

Ouaaaa merci beaucoup ! Le code fonctionne nickel !
Il y avait juste un petit bug, quand tu ne m'étais rien dans pièces jointes il entrait dans le else et donc il afficher Erreur le fichier "..." n'existe pas
Donc pour ne pas obliger l'utilisateur a entrer quelque chose , il faut juste changer le if

Code : Tout sélectionner

If FileExists($file) or $file="" Then
                    MsgBox(0, "OK", "C'est bon")
                    $olMailItem=0
                    $oOApp = ObjCreate("Outlook.Application")
                    $oOMail = $oOApp.CreateItem($olMailItem)
                    $oOMail.Save

                    With $oOMail
                        .To = GUICtrlRead($Input_dest)
                        .Subject = GUICtrlRead($Input_sujet)
                        .Body = GUICtrlRead($Input_corps)
                        if $file<>"" then
                            .attachments.add (GUICtrlRead($Input_pieces))
                        EndIf
                        ;.Display
                        .Send
                    EndWith
                Else
                    MsgBox(16, "Erreur", "Le fichier " & $file & " n'existe pas")
                EndIf
 
Voilà pour ceux qui veulent une correction :D
En tout cas merci de ton aide !
J'aurai juste encore quelques questions , peut etre tu sais ...

Est il possible de mettre un texte de fond dans le input (genre : xxx@xxx.com)? car tu peux mettre un texte dans un input mais l'utilisateur fainéant doit toujours le supprimé avant d'écrire son adresse de destinataire

Est il possible d'obliger l'utilisateur, ou vérifier que l'utilisateur a bien entrer une adresse de type xxx@xxx.com ou .fr .de (et puis les autres xD je les connait pas) ?

Est il possible de rajouter au dessus du input la police, le style, les émoticones ... ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Ajout d'un bouton parcourrir

#4

Message par mikell »

1- Oui mais c'est pas top, vaudrait mieux mettre 'xxx@xxx.com' dans l'input et faire en sorte que ça s'efface au 1er clic sur l'input
2- Pour les adresses mail on peut vérifier que dans l'input l'entrée est bien de la forme 'machin@truc.ext'
Ce qui n'empêchera pas des petits malins d'écrire 'tagada@tsointsoin.zob' (comme tu peux le constater, le forum considère ça comme une adresse valide) mais a priori ceux-là n'ont rien à foutre dans ton programme :mrgreen:
3- comprends pas
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [..] Ajout d'un bouton parcourrir

#5

Message par cbourdu57 »

1 et 2 : aurais tu des pistes à me donner, des fonctions à utiliser pour faire cela ?
( tu m'a fait rire avec ton tsointsoin ! :lol: )

3 : avec une image c'est plus simple :
Capture2.PNG
Capture2.PNG (2.88 Kio) Vu 2112 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Ajout d'un bouton parcourrir

#6

Message par mikell »

1- Moins évident que ce que je pensais :mrgreen:
► Afficher le texte
2 - vite fait :
► Afficher le texte
3- si tu te lances dans ce genre de truc (en gros, refaire Word) alors vaut peut-être mieux oublier le script et prendre un freeware... sinon il y a la fonction _ChooseFont
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [..] Ajout d'un bouton parcourrir

#7

Message par cbourdu57 »

Oui bon les 3 là c'était juste pour l'esthétique, donc je vais laisser tomber la 3ème :)

En tout cas merci beaucoup pour les informations :)

Je vais tester tout ça !
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [R] Ajout d'un bouton parcourrir

#8

Message par cbourdu57 »

Je reviens vers toi car j'ai 2 petits soucis bizarre ...

Code : Tout sélectionner

Global $testinput = 0
While 1
; --------------------------------- Input email --------------------------------------
   If $testinput = 0 Then
    If _IsPressed("01") Then
     $a = GUIGetCursorInfo()
     If  $a[4] = $Input_dest Then
       GuiCtrlSetData($Input_dest, "")
       $testinput = 1
      EndIf
    EndIf
  EndIf

    $msg = GUIGetMsg()

    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit

 ; -------------------------------------------- GESTION DES EMAILS ---------------------------------------------------------------------

        Case $Btn_parcour_pieces
            $file = FileOpenDialog("Choisir un fichier", @ScriptDir, "Tous les fichies (*.*)", 5 )
            If $file <> "" Then GUICtrlSetData($Input_pieces, $file)

        Case $Btn_envoyer
            $file = GUICtrlRead($Input_pieces)

            If Not (StringRegExp(GUICtrlRead($Input_dest), '.+?@.{3,}\.\w{2,4}')) Then
                GuiCtrlSetData($Lbl_errdest, "Entrer une adresse mail valide !")
                GuiCtrlSetData($Lbl_errpieces, "")

            Else
                GuiCtrlSetData($Lbl_errdest, "Adresse mail valide !")
                If FileExists($file) or $file="" Then
                    GuiCtrlSetData($Lbl_errpieces, "Fichier valide !")
                    $olMailItem=0
                    $oOApp = ObjCreate("Outlook.Application")
                    $oOMail = $oOApp.CreateItem($olMailItem)
                    $oOMail.Save

                    With $oOMail
                        .To = GUICtrlRead($Input_dest)
                        .Subject = GUICtrlRead($Input_sujet)
                        .Body = GUICtrlRead($Input_corps)
                        if $file<>"" then .attachments.add (GUICtrlRead($Input_pieces))
                        .Display
                        ;.Send
                    EndWith

                Else
                    GuiCtrlSetData($Lbl_errpieces, "Ce fichier n'existe pas")
                EndIf

            EndIf

        Case $Btn_efface_mail
            GUICtrlSetData($Input_corps, "")

        Case $Btn_effacetout
            GUICtrlSetData($Input_dest, "nom@mail.com")
            GUICtrlSetData($Input_sujet, "")
            GUICtrlSetData($Input_pieces, "")
            GUICtrlSetData($Input_corps, "")

    EndSwitch
WEnd
 
Première erreur : Je n'arrive pas a clicker sur les boutons $Btn_efface_mail et $Btn_effacetout ... Trop bizarre ... (peut etre qu'il ne rentre pas dans les case ...)

Deuxième erreur (qui arrive que de temps en temps ...)
If $a[4]=$Input_dest Then
If $a^ ERROR

Error: Subscript used with non-Array variable
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Ajout d'un bouton parcourrir

#9

Message par mikell »

Pour les boutons, faudrait voir avec le code de la gui
Pour l'autre erreur essaie

Code : Tout sélectionner

$a = GUIGetCursorInfo($nom_de_la_gui)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [R] Ajout d'un bouton parcourrir

#10

Message par cbourdu57 »

Je te passe le code pcke sinon ça va faire long sur le forum :) et je ne vois plus d'erreur avec le $a pour l'instant :D
Fichiers joints
_Tableau de bord.au3
(4.89 Kio) Téléchargé 66 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Ajout d'un bouton parcourrir

#11

Message par mikell »

Ecris le GUIGetCursorInfo avec le nom de la gui, de toute façon c'est plus propre
Pour les boutons je te donne un indice : $Lbl_errpieces :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [R] Ajout d'un bouton parcourrir

#12

Message par cbourdu57 »

:lol: en gros j'ai mis le label trop grand ... et donc il se mettait au dessus des boutons ... J'ai honte :oops: ...

Mais bon l'erreur est humaine ! :roll:

Merci en tout cas :D
Répondre