Page 1 sur 1

Marre des déclarations de procédures

Publié : mar. 27/janv./2009 22:53
par Flastick
Vous en avez marre de déclarer vos procédures ??

Alors compilez mon programme ci-dessous en "declaration.exe" (par exemple) et ajoutez-le comme outil à purebasic ! (mettez %FILE sous arguments).

Comme ça un clique dans le menu outil , et il vous crée un nouveau fichier "declarations.pb" avec les procédures déclarées dedans !

Il vous suffit d'ajouter includefile "declarations.pb" à votre programme et d'éxecuter l'outil chaque fois avant de compiler.

PS: j'ai mis "G:\declaration.exe" sous commandline, mais c'est une clef usb et la lettre change. Donc il ne va plus trouver le programme. Vous savez comment on règle ce petit problème ??


Code : Tout sélectionner


#False = 0
NomFichier.s = ProgramParameter()
Fichier = ReadFile(#PB_Any, NomFichier)

  I = 1
  
Recommencer:

  J = FindString(NomFichier, "\", I)
  If J = 0
    NomFichier2.s = Left(NomFichier, J) + "declarations.pb"
  Else
     I = J + 1
     Goto Recommencer
  EndIf


Fichier2 = CreateFile(#PB_Any, NomFichier2)

    While Eof(Fichier) = #False; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File') 
      Ligne.s = Trim(ReadString(Fichier))
      If Left(LCase(Ligne) , 9)= "procedure" And Left(LCase(Ligne) , 15) <> "procedurereturn"
        WriteStringN(Fichier2, "Declare" + Right(Ligne,Len(Ligne) - 9))
      EndIf    
    Wend

CloseFile(Fichier2)
CloseFile(Fichier)

Publié : mar. 27/janv./2009 22:58
par Droopy
Moi je les met au début comme ça je les déclare pas :wink:

Publié : mer. 28/janv./2009 0:43
par Flastick
oui mais parfois tu en re-crées vite une en dessus qui finalement doit appeler celle d'en dessous et hop c'est la galère. .

Tandis qu'avec cette solution, c'est propre en ordre :D

Publié : mer. 28/janv./2009 0:47
par Flastick
Je me demande d'ailleurs pourquoi une telle routine toute simple n'est pas ajoutée au code du compilateur.. !!

On est pas en C++ ici je veux dire, c'est pas grave si le compilateur fait un tour de plus et prend x milisecondes de plus à compiler, enfin bref

Publié : mer. 28/janv./2009 0:54
par Ar-S
Flastick a écrit :Je me demande d'ailleurs pourquoi une telle routine toute simple n'est pas ajoutée au code du compilateur.. !!

On est pas en C++ ici je veux dire, c'est pas grave si le compilateur fait un tour de plus et prend x milisecondes de plus à compiler, enfin bref
Je suis assez d'accord.

Publié : mer. 28/janv./2009 10:50
par Backup
désolé Gnozal et ChaOS

j'ai éffacé par mégarde vos réponses :oops: :oops: :oops: :oops:

Gnozal disait que la déclaration des procedures dans JAPBE etait automatique
(une option je supose , je vais vérifier ça ;) )

chaOS , lui disait n'imp comme d'hab :lol: :lol: :lol:

Publié : mer. 28/janv./2009 11:15
par cha0s
Dobro a écrit :chaOS , lui disait n'imp comme d'hab :lol: :lol: :lol:
han la mauvaise foi :p

Publié : mer. 28/janv./2009 11:34
par Backup
cha0s a écrit :
Dobro a écrit :chaOS , lui disait n'imp comme d'hab :lol: :lol: :lol:
han la mauvaise foi :p
non , je suis vraiment désolé, c'est réellement une erreur de manip
:oops: j'ai voulu scinder pour récuperer une partie des messages
mais dans l'histoire ....

enfin bref, mes plus plates excuses :lol:

Publié : mer. 28/janv./2009 11:45
par gnozal
Dobro a écrit :Gnozal disait que la déclaration des procedures dans JAPBE etait automatique (une option je supose , je vais vérifier ça ;) )
Oui, dans 'Options du projet' si je me souviens bien. Une fois activé, un fichier 'declare' est créé chaque fois que la source est sauvegardée.
Personellement je ne l'utilise pas (j'ai l'habitude de placer les procédures avant leur appel dans le code).
1. Déclaration des constantes, variables, listes...
2. Procédures
3. Boucle des évènements
4. DataSection
Sinon, on peut insérer manuellement les déclarations avec menu : 'Projet' -> 'Insérer Déclarations'

Publié : mer. 28/janv./2009 15:44
par Ar-S
J'ai aussi tendance à les déclarer avant, c'est juste un peu contraignant pour l'ordre a respecter mais bon, c'est une question d'habitude.