Page 1 sur 1

Pk ce code ne marche pas ?

Publié : dim. 20/mars/2005 16:06
par gansta93
Bonjour,

Faites une lib avec TailBite avec ce code.

Code : Tout sélectionner

ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
  
  ProcedureReturn RunProgram("mailto:" + Address$)
  
EndProcedure

ProcedureCDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data.

If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(address$,"@",1))=1 Or FindString(Address$,".",FindString(address$,"@",1))=0
  TB_DebugError("The address "+address$+" is not valid.")
EndIf

EndProcedure

Publié : dim. 20/mars/2005 16:12
par Progi1984
Et ensuite ?

Publié : dim. 20/mars/2005 16:20
par Progi1984
J'ai essayé cela :
OpenMailClient("progi.1984@caramail.com")
ca fonctionne


Masi la seconde fonctionne m'affiche :

OpenMailClient_DEBUG() is not a function,an array or a linked list.

Publié : dim. 20/mars/2005 16:30
par gansta93
Progi1984 a écrit :Et ensuite ?
Ensuite, utilise cette fonction en y faisant des erreures volontaires ou même utilise-la normalemant, ça plante.

Publié : lun. 21/mars/2005 3:16
par El_Choni
Vrai, c'est un nouvel bug (P*tain, les bugs s'en accumulent ! :? )

Publié : lun. 21/mars/2005 10:21
par gansta93
Donc c pas moi, pour une fois... Merci El_Choni pour la réponse. :-)
On dirait que trop de vérification fait planter le programme.

Publié : mer. 23/mars/2005 16:35
par brossden
Bonjour tout le monde !
Je ne vois pas ou est le bug de PB !

1- Pourquoi ProcedureCDLL ? (d'ou sort le "C" )
2- Ou est définie la fonction TB_DebugError ?

Par contre le code modifié fonctionne trés bien

Code : Tout sélectionner

ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  ProcedureReturn RunProgram("mailto:" + Address$) 
  
EndProcedure 

ProcedureDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0 
    Debug("The address "+Address$+" is not valid.") 
  EndIf 
 
EndProcedure 

OpenMailClient_DEBUG("Brossden aol.com")
OpenMailClient("Brossden@aol.com")

Mais le mieux est peut être de réunir les deux :

Code : Tout sélectionner

ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0 
    MessageRequester("Message d'erreur","The address "+Address$+" is not valid.") 
  Else
    RunProgram("mailto:" + Address$) 
  EndIf 
 
EndProcedure 

OpenMailClient("Brossden aol.com")
OpenMailClient("Brossden@aol.com")

Publié : mer. 23/mars/2005 16:45
par brossden
brossden a écrit :Bonjour tout le monde !
Je ne vois pas ou est le bug de PB !

1- Pourquoi ProcedureCDLL ? (d'ou sort le "C" )
2- Ou est définie la fonction TB_DebugError ?

Par contre le code modifié fonctionne trés bien

Code : Tout sélectionner

ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  ProcedureReturn RunProgram("mailto:" + Address$) 
  
EndProcedure 

ProcedureDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0 
    Debug("The address "+Address$+" is not valid.") 
  EndIf 
 
EndProcedure 

OpenMailClient_DEBUG("Brossden aol.com")
OpenMailClient("Brossden@aol.com")

Mais le mieux est peut être de réunir les deux :

Code : Tout sélectionner

ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data. 
  
  If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0 
    MessageRequester("Message d'erreur","The address "+Address$+" is not valid.") 
    ProcedureReturn #False  
  Else
    ProcedureReturn RunProgram("mailto:" + Address$) 
  EndIf 
 
EndProcedure 

If OpenMailClient("Brossden aol.com") = #False
  If OpenMailClient("Brossden@aol.com") =#False
    MessageRequester("Message d'erreur","La requète n'a pu être exécutée") 
  EndIf
  
EndIf

Publié : mer. 23/mars/2005 20:30
par gansta93
Ce code est destiné à être compilé avec TailBite, c'est pour ça que je procède ainsi.
TB_DebugError() est une fonction de TailBite pour faire intervenire le debugger comme les autres librairies.
Le ProcedureCDLL, c'est comme ça que El_Choni a dit de procéder pour faire des fonctions avec vérification du Debugger.
Voilà pourquoi j'ai procéder ainsi, c'est pour ma librairie. Je pense que sinon, El_Choni n'aurait pas répondu. ;-)

Publié : jeu. 24/mars/2005 7:46
par brossden
Excuse moi Gansta93 je n'avais pas remarqué que nous étions sur le site de Tailbite !
Je ne vois pas l'interet d'utiliser des librairies qui ont un équivalent en purebasic de base, mais ce doit être l'apanage des "PROS".

Publié : jeu. 24/mars/2005 9:17
par gansta93
brossden a écrit :Excuse moi Gansta93 je n'avais pas remarqué que nous étions sur le site de Tailbite !
Il n'y a pas de forums de TailBite, et c'est pour ça que je l'ai mis dans débutant.
brossden a écrit :Je ne vois pas l'interet d'utiliser des librairies qui ont un équivalent en purebasic de base, mais ce doit être l'apanage des "PROS".
Qui parle de "pro" ?
Et si ma question ne te plaît pas, il te suffit de ne pas y répondre.