Outils personnalisés
Publié : mar. 03/juil./2007 21:25
				
				Je cherche à créer un pluggin qui modifie le code que j'édite
Voici le code du Pluggin :
Le soucis que je rencontre est que le fichier modifié n'est pas rechargé !
Si quelqu'un a une idée
			Voici le code du Pluggin :
Code : Tout sélectionner
Procedure Erreur(Text.s)
  MessageRequester("Erreur",Text,#MB_ICONERROR) 
  End
EndProcedure
#FichierInc="PbSnippet.pbi"
PParametre.s=ProgramParameter(0)
If PParametre="" Or UCase(Left(PParametre,8))="TEMPFILE"
  Erreur("Aucun fichier spécifié")
EndIf
;/ Vérifie que le chemin est valide
Path.s=GetPathPart(PParametre)
If FileSize(Path)<>-2
  Erreur("Chemin invalide")
EndIf
;/ Vérifie que le fichier spécifié n'est pas vide
FichierPB.s=PParametre
If FileSize(FichierPB)<1
  Erreur("Fichier vide")
EndIf
;/ Test si le fichier source inclus déjà le fichier pbi
Fid=ReadFile(#PB_Any,FichierPB)
flag=1
While Eof(Fid)=0
  Ligne.s=ReadString(Fid,#PB_Ascii) ; lit une ligne
  Ligne=UCase(Ligne) ; la mete en majuscule
  Ligne=ReplaceString(Ligne," ","") ; supprime tous les espaces
  LigneRecherchee.s="INCLUDEFILE"+Chr(34)+UCase(#FichierInc)+Chr(34)
  If Left(Ligne,Len(LigneRecherchee))=LigneRecherchee
    flag=0
  EndIf
Wend
;/ Insère la commande include si non incluse
If flag
  Beep_(750,300)
  Taille=FileSize(FichierPB)
  *Ptr=AllocateMemory(Taille)
  Fid=ReadFile(#PB_Any,FichierPB)
  ReadData(Fid,*Ptr,Taille)
  CloseFile(Fid)
  
  ; écrit le fichier avec la commande include en premier
  Fid=CreateFile(#PB_Any,FichierPB)
  WriteStringN(Fid,"IncludeFile "+Chr(34)+#FichierInc+Chr(34))
  WriteData(Fid,*Ptr,Taille)
  CloseFile(Fid)
  FreeMemory(*Ptr)
EndIfSi quelqu'un a une idée


