DracScript

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

DracScript

Message par Thyphoon »

J'essaie depuis pas mal de temps d'intégrer dans mon logiciel, DracScript. Je sais que certain parmis vous le connaisse.
ça marche tres bien a partir du moment ou je charge un script mais si je veux utiliser un script qui n'est pas charqué...ça ne fonctionne pas...

voici ce que j'ai rajouter a DracScript

Code : Tout sélectionner

Procedure.l DS_InitScriptFile(str.s,removeComments.b,index.l)
  ProcedureReturn DS_LoadScriptString(str.s,index)
EndProcedure

Code : Tout sélectionner

Procedure.b DS_DEFAULT_Box() ; 1 param
  SelectElement(DS_StackList(),0)
  *param1.DS_SYMBOL=@DS_StackList()
   
  ;test the param type
  If *param1\type<>#DS_TYPE_STRING
    DS_SetLastError("Box() expects a string  values.")
    ProcedureReturn 0
  EndIf 

  MessageRequester("Information",*param1\value,#PB_MessageRequester_Ok)

  ;return 
  DS_Return("",#DS_TYPE_NULL)
  ProcedureReturn 1 
EndProcedure

dans la procedure DS_RegisterDefault()

Code : Tout sélectionner

If DS_RegisterCommand(@DS_DEFAULT_Box(),"Box",1)=0
    ProcedureReturn 0
  EndIf
Et enfin voilà ce que je fais

Code : Tout sélectionner

 DS_Initialize(3,100)
    DS_Reset(0,1,1,0,1)
    str.s="If Bloc(100)>0"+Chr(13)
    str+"Box('coucou')"+Chr(13)
    str+"EndIf"+Chr(10)+Chr(13)
    DS_InitScriptFile(str.s,0,1)
   r= DS_Execute(1)
   Debug r
   If r<>#DS_RESULT_SUCCESS
       MessageRequester("Error type: "+Str(r),"Error in script. Line: "+Str(DS_Env\line+1)+Chr(13)+Chr(10)+DS_GetLastError())
    Else
    Debug"ok"
EndIf
la commande Box n'a pas l'air d'être pris en compte... je ne sais même pas si le script s'est vraiment executé.
Mais si pour le saut de ligne je met un chr(13)+chr(10) (ou l'invers) il me fait une erreur...

Quelqu'un aurait il une idée ?
Merci d'avance
Remy Vincent
Messages : 12
Inscription : sam. 15/oct./2005 18:33
Contact :

Message par Remy Vincent »

Trop dur de comprendre les tenants et aboutissants du programme,... mais sinon, il faut pas un "THEN" entre un IF et un ENDIF ????

DS_Reset(0,1,1,0,1)
str.s="If Bloc(100)>0 .............THEN.............."+Chr(13)
str+"Box('coucou')"+Chr(13)
str+"EndIf"+Chr(10)+Chr(13)
Les groupes affadissent votre QI
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Entre deux chr() il faut une chaîne vide (pour moi ça marche)
str+"EndIf"+Chr(10)+Chr(13)

Code : Tout sélectionner

str+"EndIf"+chr(10)+""+chr(13)
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Jacobus a écrit :Entre deux chr() il faut une chaîne vide (pour moi ça marche)
str+"EndIf"+Chr(10)+Chr(13)

Code : Tout sélectionner

str+"EndIf"+chr(10)+""+chr(13)
Apparement ça ne marche pas non plus ! ...currieux...
Répondre