Un fichier .pbp est un fichier PureBasic Projet
c'est a dire un fichier qui peut comporter tous les éléments intervenants dans le projet.
Le projet le plus simple ne comporte qu'un seul fichier .pb
Un projet un peu complexe peut comporter des dizaines de fichiers .pb, .pbi, ...
Le fichier .pbp permet de regrouper le nom et la localisation des fichiers nécessaires dans un seul fichier.
A l'exécution du fichier .pbp, l'ensemble des fichiers du projet seront ouverts dans l'IDE PB
De plus, dans ce fichier, seront sauvés toutes les options Compiler des différents fichiers.
Ce fichier .pbp pourra contenir les numéros de version de l'application, les copyrights, les commentaires, ...
Le plus important a mes yeux, c'est que l'on peut indiquer le nom des fichiers compilés que l'on veut obtenir ainsi que l'endroit ou les enregistrer.
Mais on peut aussi et surtout indiquer avec quel compilateur compiler la/les applications.
Pour ma part, tous mes projets ont leur propres dossiers, par exemple pour le projet myPlayerIPTV:
Y:\PB\PB2\MYPLAYERIPTV\data
Y:\PB\PB2\MYPLAYERIPTV\icones
Y:\PB\PB2\MYPLAYERIPTV\x64\myPlayerIPTV.exe <-- obtenu en compilant en x64
Y:\PB\PB2\MYPLAYERIPTV\x86\myPlayerIPTV.exe <-- obtenu en compilant en x86
Y:\PB\PB2\MYPLAYERIPTV\myPlayerIPTV.exe <-- obtenu en compilant en x64
Y:\PB\PB2\MYPLAYERIPTV\myPlayerIPTV.pb
Y:\PB\PB2\MYPLAYERIPTV\myPlayerIPTV.pbi
Y:\PB\PB2\MYPLAYERIPTV\myPlayerIPTV.pbp
Un exemple valant mieux qu'un grand discours, voici un exemple réel avec le projet myPlayerIPTV.pbp:
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.purebasic.com/namespace" version="1.0" creator="PureBasic 6.12 LTS (Windows - x64)">
<section name="config">
<options closefiles="1" openmode="1" name="myPlayerIPTV.pbp"/>
<buildwindow autoclose="1"/>
</section>
<section name="data">
<explorer view="..\" pattern="0"/>
<log show="1"/>
<lastopen date="2024-11-14 20:17" user="admin" host="EBCAGE"/>
</section>
<section name="files">
<file name="myPlayerIPTV.pbi">
<config load="0" scan="1" panel="1" warn="1" lastopen="1" sortindex="1" panelstate=""/>
<fingerprint md5="5defa4f8d0ffd914f57dae72f441d478"/>
</file>
<file name="..\pb-include.pbi">
<config load="0" scan="1" panel="1" warn="1" lastopen="1" sortindex="2" panelstate="++"/>
<fingerprint md5="0d29ae6e30e8c192137291de621608d5"/>
</file>
<file name="..\pb-version.pbi">
<config load="0" scan="1" panel="1" warn="1" lastopen="1" sortindex="3" panelstate="++"/>
<fingerprint md5="a4a9773f06e4c24384a6eeecc40ab2c4"/>
</file>
<file name="myPlayerIPTV.pb">
<config load="1" scan="1" panel="1" warn="1" lastopen="1" sortindex="4" panelstate="+"/>
<fingerprint md5="035bb7b36c5aee44e9139e835c815e9c"/>
</file>
</section>
<section name="targets">
<target name="Default Target" enabled="1" default="1">
<inputfile value="myPlayerIPTV.pb"/>
<outputfile value="myPlayerIPTV.exe"/>
<compiler version="PureBasic 6.12 LTS (Windows - x64)"/>
<executable value="myPlayerIPTV.exe"/>
<options unicode="1" thread="1" xpskin="1" dpiaware="1" dllprotection="1" debug="1" optimizer="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="1">icones\tvfreefr.ico</icon>
<execonstant enable="1"/>
<versioninfo enable="1">
<field0 value="24,11,0,15"/>
<field1 value="24,11,0,15"/>
<field2 value="CAGE"/>
<field3 value="myPlayerIPTV"/>
<field4 value="24.11.15"/>
<field5 value="24.11.15"/>
<field6 value="myPlayerIPTV - TV utility by CAGE"/>
<field7 value="myPlayerIPTV.exe"/>
<field8 value="myPlayerIPTV.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
<target name="Default Target (x64)" enabled="1" default="0">
<inputfile value="myPlayerIPTV.pb"/>
<outputfile value="x64\myPlayerIPTV.exe"/>
<compiler version="PureBasic 6.12 LTS (Windows - x64)"/>
<executable value="x64\myPlayerIPTV.exe"/>
<options unicode="1" thread="1" xpskin="1" dpiaware="1" dllprotection="1" debug="1" optimizer="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="1">icones\myPlayerIPTV.ico</icon>
<execonstant enable="1"/>
<versioninfo enable="1">
<field0 value="24,11,0,15"/>
<field1 value="24,11,0,15"/>
<field2 value="CAGE"/>
<field3 value="myPlayerIPTV"/>
<field4 value="24.11.15"/>
<field5 value="24.11.15"/>
<field6 value="myPlayerIPTV - TV utility by CAGE"/>
<field7 value="myPlayerIPTV.exe"/>
<field8 value="myPlayerIPTV.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
<target name="Default Target (x86)" enabled="1" default="0">
<inputfile value="myPlayerIPTV.pb"/>
<outputfile value="x86\myPlayerIPTV.exe"/>
<compiler version="PureBasic 6.12 LTS (Windows - x86)"/>
<executable value="x86\myPlayerIPTV.exe"/>
<options unicode="1" thread="1" xpskin="1" dpiaware="1" dllprotection="1" debug="1" optimizer="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="1">icones\myPlayerIPTV.ico</icon>
<execonstant enable="1"/>
<versioninfo enable="1">
<field0 value="24,11,0,15"/>
<field1 value="24,11,0,15"/>
<field2 value="CAGE"/>
<field3 value="myPlayerIPTV"/>
<field4 value="24.11.15"/>
<field5 value="24.11.15"/>
<field6 value="myPlayerIPTV - TV utility by CAGE"/>
<field7 value="myPlayerIPTV.exe"/>
<field8 value="myPlayerIPTV.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
</section>
</project>
Les entrées importantes dans un fichier de projet .pbp:
<section name="files">...</section>
Contient tous les fichiers qui seront ouverts a l’exécution du fichier .pbp qu'ils participent ou pas a la création du projet.
Par exemple, on peut ouvrir un fichier qui contient des bouts de codes qu'on peut utiliser ou pas pour s'aider dans la création du projet.
<section name="targets">...</section>
Contient toutes les cibles "exécutables" a créer lors de l’exécution du menu Compiler/Build all Targets
Je te laisse découvrir.
cage