Bonjour, je voudrait savoir comment je peux faire pour demander à PB de compiler
un code dans un fichier externe, dans un fichier texte par exemple.
Je dois surement lancer le compilateur avec RunProgram() ?
Puis de lui donner le code à compiler ?
Merci de votre aide.
Comment demander a pb de compiler un fichier source EXTERNE.
Comment demander a pb de compiler un fichier source EXTERNE.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment demander a pb de compiler un fichier source EXTE
Dans l'aide , rubrique "L'IDE PureBasic" chapitre : Commutateurs de la ligne de commande tu as tout sont dont tu as besoin.
Re: Comment demander a pb de compiler un fichier source EXTE
Ok, Merci G-Rom.
Voici un exemple pour demander à PB de compiler un code en faisant appel à sont compilateur:
Premier fichier, c'est le fichier principal, nommez-le par exemple Main.pb, c'est le code que vous devez lancer.
Deuxième fichier nommez-le impérativement Compilation.pb
ça fera un exemple de base si jamais quelqu'un veut savoir comment faire.
Voilà ce que je voulais faire, tester un code pour voir s'il est bon ou pas
ce n'est qu'une ébauche, mais c'est fonctionnel
PB va compiler le code 'Compilation.pb' en y incluant le code source de l'éditeur puis afficher les résultat dans les deux éditeur.
Voici un exemple pour demander à PB de compiler un code en faisant appel à sont compilateur:
Premier fichier, c'est le fichier principal, nommez-le par exemple Main.pb, c'est le code que vous devez lancer.
Code : Tout sélectionner
Enumeration
#Fenetre
#EditeurExpression
#BoutonVerifier
#EditeurResultat
#EditeurMessageErreur
EndEnumeration
Global ErreurCompilation = 0
Global ErreurCode = 0
Global MessageErreur$ = ""
Global Sortie$ = ""
Procedure AppelCompilateur()
Compilateur = RunProgram(#PB_Compiler_Home + "/Compilers/pbcompiler", "Compilation.pb", "", #PB_Program_Open | #PB_Program_Read)
Sortie$ = ""
MessageErreur$ = ""
If Compilateur
While ProgramRunning(Compilateur)
If AvailableProgramOutput(Compilateur)
Tmp$ = ReadProgramString(Compilateur)
If FindString(Tmp$, "Line")
MessageErreur$ = Tmp$ + Chr(13)
EndIf
EndIf
Wend
ErreurCompilation = ProgramExitCode(Compilateur)
CloseProgram(Compilateur) ; Ferme la connection vers le programme
EndIf
Delay(200)
If ReadFile(1, "Log Compilation.txt")
MessageErreur$ + ReadString(1)
CloseFile(1)
EndIf
EndProcedure
OpenWindow(#Fenetre, 0, 0, 800, 700, "Exemple test Code", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
TextGadget(#PB_Any, 20, 5, WindowWidth(#Fenetre) - 40, 20, "Entrez votre code ici:", #PB_Text_Center)
EditorGadget(#EditeurExpression, 20, 25, WindowWidth(#Fenetre) - 40, 400)
SetGadgetText(#EditeurExpression, "A = 15 * 89" + Chr(13) + "B$ = " + Chr(34) + "45" + Chr(34) + Chr(13) + "C = A + Val(B$)")
TextGadget(#PB_Any, 20, 428, WindowWidth(#Fenetre) - 40, 20, "Résultat de la compilation:", #PB_Text_Center)
EditorGadget(#EditeurResultat, 20, 448, WindowWidth(#Fenetre) - 40, 90, #PB_Editor_ReadOnly)
TextGadget(#PB_Any, 20, 542, WindowWidth(#Fenetre) - 40, 20, "Méssage d'érreur de compilation:", #PB_Text_Center)
EditorGadget(#EditeurMessageErreur, 20, 562, WindowWidth(#Fenetre) - 40, 90, #PB_Editor_ReadOnly)
ButtonGadget(#BoutonVerifier, (WindowWidth(#Fenetre) / 2) - 50, 660, 100, 30, "Vérifier")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #BoutonVerifier
CreateFile(1, "Code Source.pb")
WriteString(1, GetGadgetText(#EditeurExpression))
CloseFile(1)
AppelCompilateur()
ClearGadgetItems(#EditeurResultat)
ClearGadgetItems(#EditeurMessageErreur)
SetGadgetText(#EditeurResultat, Str(ErreurCompilation))
SetGadgetText(#EditeurMessageErreur, MessageErreur$)
DeleteFile("Log Compilation.txt")
DeleteFile("Code Source.pb")
DeleteFile("PureBasic.exe")
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
Code : Tout sélectionner
Procedure ErrorHandler()
CreateFile(1, "Log Compilation.txt")
WriteString(1, ErrorMessage())
CloseFile(1)
End
EndProcedure
OnErrorCall(@ErrorHandler())
IncludeFile "Code Source.pb"
CreateFile(1, "Log Compilation.txt")
WriteString(1, "Pas d'erreur ")
CloseFile(1)
Voilà ce que je voulais faire, tester un code pour voir s'il est bon ou pas
ce n'est qu'une ébauche, mais c'est fonctionnel
PB va compiler le code 'Compilation.pb' en y incluant le code source de l'éditeur puis afficher les résultat dans les deux éditeur.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !