@Flype
En te priant de m'excuser pour le léger affront que je poste ici, je te demande de laisser le temps faire et de ne pas répondre hâtivement d'une manière aussi maladroite.
Indirectement, tu prends Selzig pour un con. On ne sait pas son projet précisément. Et je comprends parfaitement que l'on n'ait pas à le savoir, pour des raisons de confidentialité, et donc d'aboutissement. En outre, prétendre que PB est ou n'est pas résolument destiné au développement en SSII c'est prétendre connaître l'intelligence de Selzig ainsi que son projet précisément.
C'est à Selzig, de découvrir par ses capacités ce qu'il a en face de lui au bout de quelques jours. Et dans le cas où il se rend compte qu'il contrôle la création de son produit grâce à ce compilateur, si on lui sort des vérités mal pensées, c'est à Fred que tu auras fait du tort.
Sans me faire passer pour un gourou. Le modèle de réponse à cette question, c'est:
Oui, PureBasic convient à une entreprise purement informatique dans ces domaines de domination énumérés ci-dessous...
Non, PureBasic ne convient à une entreprise purement informatique dans ces domaines de médiocrité énumérés ci-dessous...
Dire seulement l'une de ces deux parties, c'est prématuré. Un produit, c'est une résultante technico-commerciale et non un système purement technique. Cette subtilité que tu as négligé prend en compte l'existence superbes trésors logiciels non distribuables sur le Web (le créateur serait perdant dès la diffusion), tout comme elle prend en compte l'existence d'une terrible concurrence avec la Chine, l'Inde et le Maghreb (le rapport prix de l'outil/prix de la main d'oeuvre est nettement supérieur à celui de la France) dont la pression concurrentielle est telle qu'à ton status tu penses avoir forcément et sans aucun orgueil malicieux raison de ce que tu affirmes.
Ensuite, au cas où tu ne le saurais pas, je n'ai JAMAIS expédié un mail de manière automatique, ni usé de la librairie Mail! Pourtant, j'essaie quand même de comprendre ce qu'il veut! Si tu bosses en SSII, peut-être qu'une réponse technique à sa question technique aurait été plus judicieux, sachant que sa question technique est dans le titre et qu'il la redemande en milieu de page 1.
Donc, soit on le laisse galérer à chercher SetMailBody() sur Google comme il l'indique si clairement en haut de cette page.
Soit on l'aide! ça lui fera peut-être les pieds pour savoir si PureBasic est bonne chaussure...
@Selzig
Ne perds pas ton temps sur Google pour trouver la signification d'une instruction qui se trouve dans ton aide!
On va partir de tout ce que moi j'ignore et de tout ce que toi tu sais.
J'ignore ce que c'est qu'un mail dans sa représentation finale à l'écran parce que je n'ai jamais expédié un mail via un système automatisé.
Tu sais qu'un mail c'est un fichier.
Tu sais qu'un fichier c'est une chaîne ASCII.
Tu sais qu'une chaîne ASCII c'est un enchaînement de caractère ASCII.
Tu sais qu'un caractère ASCII, c'est un code de 0 à 255 qui a une représentation visuelle et/ou fonctionnelle.
Il y a dans l'aide la table ASCII pour savoir à quelle représentation correspond tel code.
Exemple : code 65 représente la lettre A majuscule
Exemple : code 48 représente le chiffre 0
Exemple : code 13 représente le retour chariot (comme l'appui sur la touche Entrée)
En Basic, on obtient la représentation d'un caractère ASCII avec Chr()
(De l'anglais CHaRacter = caractère)
Exemple:
En Basic, on obtient le code ASCII d'une représentation avec Asc() (De l'anglais American Standard Code, l'abrégé du sigle ASCII)
Exemple:
En Basic, une chaîne stockée dans le listing du programme doit être entre guillemets
Le corps (anglais BODY) d'un mail c'est une chaîne texte.
Une chaîne texte c'est une chaîne où certains caractères entre 0 et 31 sont interdits. On va admettre que tous les caractères dont le code est entre 0 et 31 sont tous interdits, à l'exception de ceux que je préciserai plus bas.
Tous les autres caractères que tu peux donc voir dans l'aide (table ASCII) et qui ont code supérieur ou égal à 32 peuvent éventuellement exister dans une chaîne texte.
Une chaîne texte c'est comme la page d'un livre: c'est une succession de ligne. Pour séparer chaque ligne, on s'autorisera l'utilisation du caractère 13. C'est comme l'appui sur la touche [Entrée] dans un traitement de texte.
Exemple:
Code : Tout sélectionner
MessageRequester("Un titre", "Ligne 1" + Chr(13) + "Ligne 2")
Si un texte a 50 lignes, on ne va pas s'amuser à stocker une ligne immensément longue dans le listing du programme. Voici la méthode communément employée en Basic.
Code : Tout sélectionner
Texte$ = "Ligne 1" + Chr(13)
Texte$ + "Ligne 2" + Chr(13)
Texte$ + "Ligne 3"
MessageRequester("Message", Texte$)
L'instruction SetMailBody() contient deux arguments entre parenthères.
1er argument : le numéro du Mail en cours d'édition
2nd argument : le chaîne contenant le corps du mail
Donc, pour insérer un texte dans le corps de l'e-mail, on va procéder exactement comme l'exemple ci-dessus avec l'instruction MessageRequester().
Maintenant, dans ce texte qui va se trouver "emballé" entre des guillemets dans le listing du programme, le contenu n'est plus dans les normes du langage Basic, mais dans les
normes MIME (Source Wikipedia).
Regarde notamment dans la section "Message en plusieurs parties". Tu auras l'exemple de texte que j'ai posté en page 1.
Code : Tout sélectionner
Texte$ = "Content-type: multipart/mixed; boundary=" + Chr(34) + "separation" + Chr(34) + Chr(13)
Texte$ + "MIME-version: 1.0"
Texte$ + "Commentaire au pif"
Texte$ + "--separation"
Texte$ + "Content-type: text/plain"
Texte$ + "ça c'est le texte brut."
Texte$ + "--separation"
Texte$ + "Content-type: text/html"
Texte$ + "ça c'est le <b>texte</b> HTML"
Texte$ + "--separation--"
SetMailBody(MailNumero, Texte$)
Moi, je ne peux pas faire le test car je n'ai pas une boîte mail qui supporte le SMTP et avec un système anti-spam qui m'empêche de faire des tests d'envoi de tout petits e-mail comme ça.
Donc, ce qui serait bien c'est que tu crées ton e-mail comme dans l'exemple Mail.PB dans l'aide et que tu insères ce bout de code ci-dessus avant l'instruction SendMail()
Est-ce que tu comprends l'astuce?
Est-ce que tu peux créer le code d'envoi du mail?"
Est-ce que ça marche?
Si on n'y arrive pas, une autre solution sera de récupèrer un mail de pub que tu as reçu et qui contient l'astuce d'affichage direct et de me le transmettre, j'étudierai de près octet par octet le phénomène. ça ne doit pas être compliqué...
Ollivier