MAIL ANONYME

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 29 déc. 2004 à 16:55
Dreuteu Messages postés 44 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 28 février 2006 - 13 févr. 2005 à 12:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28491-mail-anonyme

Dreuteu Messages postés 44 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 28 février 2006
13 févr. 2005 à 12:17
... Bizarre... ca ne fonctionne pas sous la 8, et j'ai du supprimer pas mal de trucs pour compiler sous la 7 (et ca marche presque pas du tout...)

Tant pis... j'ai fait la meme avec les composants Indy...
SlunBreak Messages postés 10 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 22 avril 2005
13 févr. 2005 à 11:52
Salut,

J'utilise delphi 6... mais je n'ai pas le souvenir d'avoir utilisé de TidText. Quant au TidGauge je l'ai eu directement avec delphi 6 donc ca doit venir de ta version.

SB
Dreuteu Messages postés 44 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 28 février 2006
11 févr. 2005 à 15:53
Hu... je pense que ca vient de moi, mais je ne peux rien faire de ta source...

Je suis sous Delphi 8, et il me sort que la moitié des uses sont inconnues, et il refuse pas mal de Composants (notamment TidText et TidGauge)...

C'est vraiment moi ou on peut m'expliquer?

Dreuteu
Pourtant le code est attirant... :S
SlunBreak Messages postés 10 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 22 avril 2005
30 déc. 2004 à 17:38
Voila, c'est mis à jour ;)
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
29 déc. 2004 à 19:03
au fait je pense a un truc pour ta gauge, en fait tu dois compter combien d'étapes tu as dans ta procedure jusqu'a l'envoie du message. c ce chiffre que tu dois mettre dans le "max" de ta gauge. puis par la suite tu fais juste MaGauge.progress := MaGauge.progress+1; (je ne sais plus si la procedure ~.StepIp; existe sur une gauge)

aussi utilise toujours StrToIntDef() a la place de StrToInt() quand tu n'est pas sur que le contenu est un chiffre.
Logikement avec la procedure qui est dans ton OnKeyPress, ça doit fonctionner, mais StrToIntDef() est plutot pas mal, je l'exeplique en 2 mots :
String To Integer Default, si une exception de type co,version survient, la fonction renvoie la valeur par défaut. exemple :
si edit1.text vaut "01truc" et que je fais StrToIntDef(edit1.text,0) alors je vaix recevoir le 0 car il y a erreur.

encore une chose :)
Memo2.Lines.Add('Initialisation du port 25...');
mais tu proposes de changer le port 25, donc si je mets le port 33, ça me dit la meme chose ? pas logique !
je propose donc :
Memo2.Lines.Add('Initialisation du port '+LeEditDuPort.text);
mais peso je prefere avec la fonction Format(); ce qui donne
Memo2.Lines.Add(Format('Initialisation du port %s',[LeEditDuPort.text]);

regarde l'aide de la fonction format si tu veux :)

voila, a bientot ! j'attends la MAJ avant meme de telecharger :p
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
29 déc. 2004 à 17:40
Un autre conseil : enlève les fichiers de sauvegarde ~pas, ~dfm et ~dpr... ils ne servent à rien :-)

Moi aussi j'attend pour noter que le code soit un peu plus lisible ;-)
En tout cas bravo !
SlunBreak Messages postés 10 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 22 avril 2005
29 déc. 2004 à 17:39
:) Merci pour tous ces conseils ! Je modifierai tout ca... Il y a juste une chose que j'ai peur de ne pas comprendre, c est :

"la procedure du bouton1 est tout simplement ENORME :| decoupe la en morceaux"
la découper de quelle maniere ? désolé si c'est une question bete...

Encore merci :)
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
29 déc. 2004 à 16:55
hello,

je viens de regarder le unit1.pas, le code est tres "clair" :D tres eparpillé mais bon au moins c lisible.

qqs astuces/conseils :
- NOMME TES COMPOSANTS :( en lisant le .pas je ne sais pas a quoi correspond le edit4 ou la checkbox2 ou le memo2 ... c'est tres tres important si tu veux que ta source sois utile, sinon autent ne balancer que l'exe :/
- ne repete pas form1 a chaque fois, surtout que justement tu ne le repetes pas toujours ! alors pourquoi le mettre ?
- la procedure du bouton1 est tout simplement ENORME :| decoupe la en morceaux ou reduit le nb de lignes de blanc
- Form1.Gauge1.Progress := 91;
Form1.Gauge1.Progress := 92;
Form1.Gauge1.Progress := 93;
Form1.Gauge1.Progress := 94;
Form1.Gauge1.Progress := 95;
Form1.Gauge1.Progress := 96;
Form1.Gauge1.Progress := 97;
Form1.Gauge1.Progress := 98;
Form1.Gauge1.Progress := 99;
Form1.Gauge1.Progress := 100;
c'est quoi tout ça ? je veux dire, je vois bien que tu fait augmenter la gauge mais euh, c pas propre du tout ! en plus sans l'executer je suis sur ke 20 pas (steps) de gauge se font en une fraction de seconde et ke c invisible a l'oeil.
si tu veux ke ça sois visible, il faudrait faire qqchose comme :
for i:=0 10 do
begin
gauge1.progress := gauge1.progress + 1;
sleep(10);
end;

et là apres chak mouvement de gauge l'appli dors 10 millisecondes, mais ceci fait donc ralentir le fonctionnement, tout ça pour une "fausse" gauge :/ c moyen non ?
- pour le nombre de message a envoyer (vide = 1) je propose au lieu de ça :
**************************
if Form1.Edit5.Text = '' then
begin
Memo2.Lines.Add('Aucun nombre donné, initialisation au nombre par défaut (1)');
Memo2.Lines.Add('Tentative d''envoi...');
IdSMTP1.Send(IdMessage1);
end
else begin
Memo2.Lines.Add('Tentative d''envoi...');
i := Form1.Edit5.Text;
for u := 1 to i do
IdSMTP1.Send(IdMessage1);
end
******************************
je propose ça :
************************
Memo2.Lines.Add(Format('Nombre de mails à envoyer : %d'),[StrToIntDef(Edit5.Text,1)]));
for i:=0 to StrToIntDef(Edit5.Text,1) do
begin
Memo2.Lines.Add(Format('Tentative d''envoi du message n°%d',[i]));
IdSMTP1.Send(IdMessage1);
end;

ensuite
- supprimer Edit5Change : c vide
- pourquoi creer 2 procedures identiques ??
> Edit5KeyPressed et Edit65KeyPressed ! donne leur a toute les deux la meme procedure dans l'inspecteur de proprietes

mais avant toute modif : NOMME TES COMPOS !

quand je lis
"Form1.Radiobutton2.Enabled := False;
Form1.Button2.Enabled := False;
Form1.Radiobutton1.Enabled := False;
Form1.Edit3.Text := '';
Form1.Edit3.Enabled := False;"
je ne comprends rien !
alors que par exemple :

"edit_mail.text" ou "checkbox_envoyer" ou "memo_debug" ou "radio_avecfichier" c quand meme plus parlant !

je ne note pas encore :) modifie ça et reparlons en :D

en tout cas, tres bonne prog a part mes details de maniaque hahaha félicitations pour cette 1ere :) continue !