#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=Resources\img\ICO-IDE.ico #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Res_Description=Editeur de scripts FSProg #AutoIt3Wrapper_Res_Fileversion=1.3.0.0 #AutoIt3Wrapper_Res_ProductVersion=1,3,0,0 #AutoIt3Wrapper_Res_LegalCopyright=© 2012 LeCoindAide.com #AutoIt3Wrapper_Res_Language=1036 #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_Run_Obfuscator=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region AutoIt3Wrapper directives section #EndRegion #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.8.1 Author: TT22 Script Function: FSProg IDE basé sur BatchProg 1.3 #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include #include #Include #include #include #include #include #include If IniRead(@AppDataDir&"\FSProg\Reglages.ini","start","nopicture","0") = 0 Then SplashImageOn("",@ScriptDir&"\Resources\img\IMG1.BMP",500,300,-1,-1,1);Affichage de l'image. Sleep(1000) SplashOff() EndIf $Old_Title = "FSProg IDE ; Projet sans titre" Global $File = "" Dim $Color[163][2] = [["#include",0xF016CD],["#replace",0xF016CD],["#isReplace",0xF016CD],["#noNotifyErr",0xF016CD], _; Référence pour la coloration syntaxique... ["//",0x00FF00],["(",0xFF0000],[")",0xFF0000],[",",0xFF0000], _ ["console",0x0000FF],["dCopy",0x0000FF],["dCreate",0x0000FF],["dDel",0x0000FF],["dMove",0x0000FF],["exitLoop",0x0021A8],["fCopy",0x0000FF],["fCreate",0x0000FF],["fDel",0x0000FF],["fMove",0x0000FF], _ ["fRead",0x0000FF],["fRun",0x0000FF],["fWrite",0x0000FF],["kDown",0x0000FF],["kSend",0x0000FF],["kUp",0x0000FF],["message",0x0000FF],["mLeft",0x0000FF],["mMove",0x0000FF],["mRight",0x0000FF], _ ["pDel",0x0000FF],["pExist",0x0000FF],["pSet",0x0000FF],["pWait",0x0000FF],["random",0x0000FF],["sleep",0x0000FF],["sExitCode",0x0000FF],["sGetOsInfo",0x0000FF],["sSetErr",0x0000FF],["sWriteErr",0x0000FF], _ ["sGetEnv",0x0000FF],["sSetEnv",0x0000FF],["strInStr",0x0000FF],["strLeft",0x0000FF],["strLen",0x0000FF],["strRight",0x0000FF],["strReplace",0x0000FF],["cWrite",0x0000FF],["cClear",0x0000FF],["cGet",0x0000FF], _ ["cTitle",0x0000FF],["cExec",0x0000FF],["isDeclared",0x0000FF],["fExist",0x0000FF],["dExist",0x0000FF],["wActivate",0x0000FF],["wWait",0x0000FF],["wExist",0x0000FF],["wSetPos",0x0000FF],["wGetPos",0x0000FF],["wSetSize",0x0000FF],["wGetSize",0x0000FF], _ ["_script;",0xFF00BF],["_dir;",0xFF00BF],["_user;",0xFF00BF],["_deskW;",0xFF00BF],["_deskH;",0xFF00BF],["_year;",0xFF00BF],["_mon;",0xFF00BF],["_day;",0xFF00BF],["_hour;",0xFF00BF],["_min;",0xFF00BF], _ ["_sec;",0xFF00BF],["_par;",0xFF00BF],["_error;",0xFF00BF],["_cr;",0xFF00BF],["_lf;",0xFF00BF],["_crlf;",0xFF00BF],["_ver;",0xFF00BF],["_compiled;",0xFF00BF], _ ["$",0xBA0004],["+",0xFF0000],["-",0xFF0000],["*",0xFF0000],["/",0xFF0000],["%",0xFF0000],["=",0xFF0000],[">",0xFF0000],[">=",0xFF0000], _ ["<",0xFF0000],["<=",0xFF0000],["&&",0xFF0000],["||",0xFF0000],["!",0xFF0000], _ ["if",0x0021A8],["elseIf",0x0021A8],["else",0x0021A8],["while",0x0021A8],["endW",0x0021A8],["for",0x0021A8],["next",0x0021A8],["exit",0x0021A8],["func",0x0021A8],["endF",0x0021A8],["return",0x0021A8], _ ["{d}",0x808080],["{v}",0x808080],["{p}",0x808080],["{u}",0x808080],["{po}",0x808080],["{pc}",0x808080],["{plus}",0x808080],["{less}",0x808080],["{mult}",0x808080],["{divi}",0x808080], _ ["{modu}",0x808080],["{em}",0x808080],["{and}",0x808080],["{vb}",0x808080],["{{}",0x808080],["{}}",0x808080], _ ["{win}",0xFFB600],["{tab}",0xFFB600],["{ctrl}",0xFFB600],["{alt}",0xFFB600],["{esc}",0xFFB600],["{print}",0xFFB600],["{enter}",0xFFB600],["{bs}",0xFFB600],["{del}",0xFFB600],["{caps}",0xFFB600], _ ["{space}",0xFFB600],["{up}",0xFFB600],["{down}",0xFFB600],["{left}",0xFFB600],["{right}",0xFFB600],["{f1}",0xFFB600],["{f2}",0xFFB600],["{f3}",0xFFB600],["{f4}",0xFFB600],["{f5}",0xFFB600], _ ["{f6}",0xFFB600],["{f7}",0xFFB600],["{f8}",0xFFB600],["{f9}",0xFFB600],["{f10}",0xFFB600],["{f11}",0xFFB600],["{f12}",0xFFB600], _ ["{pause}",0xFFB600],["{pup}",0xFFB600],["{pdown}",0xFFB600],["{end}",0xFFB600],["{home}",0xFFB600],["{sel}",0xFFB600],["{ins}",0xFFB600],["{apps}",0xFFB600],["{sleep}",0xFFB600],["{sep}",0xFFB600],["{numlock}",0xFFB600],["{scroll}",0xFFB600], _ ["{mail}",0xFFB600],["{media}",0xFFB600],["{app1}",0xFFB600],["{app2}",0xFFB600],["{attn}",0xFFB600]] If Not FileExists(@AppDataDir&"\FSProg\Reglages.ini") Then DirCreate(@AppDataDir&"\FSProg\") IniWrite(@AppDataDir&"\FSProg\Reglages.ini","langue","langue","Français") IniWrite(@AppDataDir&"\FSProg\Reglages.ini","start","nopicture","1") EndIf $Langue = IniRead(@AppDataDir&"\FSProg\Reglages.ini","langue","langue","Français");Lecture de la langue par défaut. Global $Gui = GUICreate("FSProg IDE ; Projet sans titre",1000,500,0,0,BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX),$WS_EX_ACCEPTFILES);Création de la GUI. $Fichier = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier","Fichier"));Début de la création des menus. $Fichier_Nouveau = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_nouveau","Nouveau"),$Fichier) $Fichier_Ouvrir = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_ouvrir","Ouvrir..."),$Fichier) $Fichier_Enregistrer = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrer","Enregistrer"),$Fichier) $Fichier_EnregistrerSous = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrersous","Enregistrer sous..."),$Fichier) $Fichier_OuvrirAvecColoration = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_ouvriraveccoloration","Ouvrir avec coloration"),$Fichier) GUICtrlCreateMenuItem("",$Fichier) $Fichier_Quitter = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_quitter","Quitter Échap"),$Fichier) $Commandes = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes","Commandes")) $Commandes_Directives = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Directives","Directives"),$Commandes) $Commandes_Directives_include = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Directives_include","Inclure un fichier #include"),$Commandes_Directives) $Commandes_Directives_replace = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Directives_replace","Remplacer une chaine #replace"),$Commandes_Directives) $Commandes_Directives_noNotifyErr = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Directives_noNotifyErr","Ne pas afficher les erreurs #noNotifyErr"),$Commandes_Directives) $Commandes_Directives_isReplace = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Directives_isReplace","Vérifie si une chaine de caractères est utilisée par un #replace #isReplace"),$Commandes_Directives) $Commandes_Console = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console","Console"),$Commandes) $Commandes_Console_console = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_console","Afficher/cacher la fenêtre console console"),$Commandes_Console) $Commandes_Console_cWrite = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_cWrite","Ecrire dans la console cWrite"),$Commandes_Console) $Commandes_Console_cClear = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_cClear","Effacer la console cClear"),$Commandes_Console) $Commandes_Console_cGet = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_cGet","Obtenir le flux stdin cGet"),$Commandes_Console) $Commandes_Console_cTitle = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_cTitle","Modifier le titre de la fenêtre console cTitle"),$Commandes_Console) $Commandes_Console_cExec = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Console_cExec","Executer une commande DOS cExec"),$Commandes_Console) $Commandes_Fichiers = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers","Fichiers"),$Commandes) $Commandes_Fichiers_fWrite = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fWrite","Ecrire fWrite"),$Commandes_Fichiers) $Commandes_Fichiers_fDel = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fDel","Supprimer fDel"),$Commandes_Fichiers) $Commandes_Fichiers_fExist = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fExist","Vérifier l'existence fExist"),$Commandes_Fichiers) $Commandes_Fichiers_fCreate = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fCreate","Créer fCreate"),$Commandes_Fichiers) $Commandes_Fichiers_fMove = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fMove","Déplacer fMove"),$Commandes_Fichiers) $Commandes_Fichiers_fCopy = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fCopy","Copier fCopy"),$Commandes_Fichiers) $Commandes_Fichiers_fRead = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fRead","Lire fRead"),$Commandes_Fichiers) $Commandes_Fichiers_fRun = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fichiers_fRun","Lancer fRun"),$Commandes_Fichiers) $Commandes_Repertoires = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires","Répertoires"),$Commandes) $Commandes_Repertoires_dDel = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires_dDel","Supprimer dDel"),$Commandes_Repertoires) $Commandes_Repertoires_dExist = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires_dExist","Vérifier l'existence dExist"),$Commandes_Repertoires) $Commandes_Repertoires_dCreate = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires_dCreate","Créer dCreate"),$Commandes_Repertoires) $Commandes_Repertoires_dMove = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires_dMove","Déplacer dMove"),$Commandes_Repertoires) $Commandes_Repertoires_dCopy = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Repertoires_dCopy","Copier dCopy"),$Commandes_Repertoires) $Commandes_Processus = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Processus","Processus"),$Commandes) $Commandes_Processus_pDel = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Processus_pDel","Supprimer pDel"),$Commandes_Processus) $Commandes_Processus_pSet = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Processus_pSet","Modifier pSet"),$Commandes_Processus) $Commandes_Processus_pExist = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Processus_pExist","Vérifier pExist"),$Commandes_Processus) $Commandes_Processus_pWait = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Processus_pWait","Attendre pWait"),$Commandes_Processus) $Commandes_Souris = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Souris","Souris"),$Commandes) $Commandes_Souris_mMove = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Souris_mMove","Déplacer mMove"),$Commandes_Souris) $Commandes_Souris_mLeft = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Souris_mLeft","Clique gauche mLeft"),$Commandes_Souris) $Commandes_Souris_mRight = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Souris_mRight","Clique droit mRight"),$Commandes_Souris) $Commandes_Clavier = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Clavier","Clavier"),$Commandes) $Commandes_Clavier_kSend = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Clavier_kSend","Appuyer rapidement kSend"),$Commandes_Clavier) $Commandes_Clavier_kDown = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Clavier_kDown","Appuie prolongé kDown"),$Commandes_Clavier) $Commandes_Clavier_kUp = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Clavier_kUp","Relacher kUp"),$Commandes_Clavier) $Commandes_Chaines = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines","Chaines de caractères"),$Commandes) $Commandes_Chaines_strLen = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines_strLen","Obtenir la longueur d'une chaine de caractères strLen"),$Commandes_Chaines) $Commandes_Chaines_strInStr = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines_strInStr","Vérifier si une sous-chaine de caractères est présente dans une chaine de caractères strInStr"),$Commandes_Chaines) $Commandes_Chaines_strReplace = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines_strReplace","Remplacer une sous-chaine de caractères par une autre dans une chaine de caractères strReplace"),$Commandes_Chaines) $Commandes_Chaines_strRight = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines_strRight","Obtenir les caractères d'une chaine en partant de droite strRight"),$Commandes_Chaines) $Commandes_Chaines_strLeft = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Chaines_strLeft","Obtenir les caractères d'une chaine en partant de gauche strLeft"),$Commandes_Chaines) $Commandes_Systeme = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme","Système"),$Commandes) $Commandes_Systeme_sExitCode = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sExitCode","Quitter le script avec un code de retour spécifique sExitCode"),$Commandes_Systeme) $Commandes_Systeme_sGetOsInfo = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sGetOsInfo","Obtenir des informations sur le système d'exploitation sGetOsInfo"),$Commandes_Systeme) $Commandes_Systeme_sSetErr = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sSetErr","Modifie la valeur retournée par la macro _error; sSetErr"),$Commandes_Systeme) $Commandes_Systeme_sWriteErr = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sWriteErr","Affiche une erreur FSProg sWriteErr"),$Commandes_Systeme) $Commandes_Systeme_sGetEnv = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sGetEnv","Obtenir la valeur d'une variable d'environnement sGetEnv"),$Commandes_Systeme) $Commandes_Systeme_sSetEnv = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Systeme_sSetEnv","Modifier la valeur d'une variable d'environnement sSetEnv"),$Commandes_Systeme) $Commandes_Fenetres = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres","Fenêtres"),$Commandes) $Commandes_Fenetres_wActivate = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wActivate","Mettre une fenêtre au premier plan wActivate"),$Commandes_Fenetres) $Commandes_Fenetres_wWait = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wWait","Attendre une fenêtre wWait"),$Commandes_Fenetres) $Commandes_Fenetres_wSetPos = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wSetPos","Déplacer une fenêtre wSetPos"),$Commandes_Fenetres) $Commandes_Fenetres_wGetPos = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wGetPos","Obtenir la position d'une fenêtre wGetPos"),$Commandes_Fenetres) $Commandes_Fenetres_wSetSize = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wSetSize","Redimensionner une fenêtre wSetSize"),$Commandes_Fenetres) $Commandes_Fenetres_wGetSize = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wGetSize","Obtenir la taille d'une fenêtre wGetSize"),$Commandes_Fenetres) $Commandes_Fenetres_wExist = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Fenetres_wExist","Vérifier si une fenêtre existe wExist"),$Commandes_Fenetres) $Commandes_Autre = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre","Autre"),$Commandes) $Commandes_Autre_message = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre_message","Fenêtre de message message"),$Commandes_Autre) $Commandes_Autre_exit = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre_exit","Fin du script exit"),$Commandes_Autre) $Commandes_Autre_sleep = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre_sleep","Faire une pause sleep"),$Commandes_Autre) $Commandes_Autre_random = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre_random","Génèrer un nombre pseudo-aléatoire random"),$Commandes_Autre) $Commandes_Autre_isDeclared = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Autre_isDeclared","Vérifier si une variable existe isDeclared"),$Commandes_Autre) $Commandes_Macros = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros","Macros"),$Commandes) $Commandes_Macros_script = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_script","Nom du fichier exécuté _script;"),$Commandes_Macros) $Commandes_Macros_dir = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_dir","Emplacement du fichier exécuté _dir;"),$Commandes_Macros) $Commandes_Macros_user = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_user","Nom de l'utilisateur _user;"),$Commandes_Macros) $Commandes_Macros_deskW = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_deskW","Largeur de l'écran _deskW;"),$Commandes_Macros) $Commandes_Macros_deskH = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_deskH","Hauteur de l'écran _deskH;"),$Commandes_Macros) $Commandes_Macros_hour = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_hour","Heure _hour;"),$Commandes_Macros) $Commandes_Macros_min = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_min","Minutes _min;"),$Commandes_Macros) $Commandes_Macros_sec = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_sec","Secondes _sec;"),$Commandes_Macros) $Commandes_Macros_year = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_year","Année _year;"),$Commandes_Macros) $Commandes_Macros_mon = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_mon","Mois _mon;"),$Commandes_Macros) $Commandes_Macros_day = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_day","Jour _day;"),$Commandes_Macros) $Commandes_Macros_par = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_par","Paramètres de lancement _par;"),$Commandes_Macros) $Commandes_Macros_error = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_error","Dernier code d'erreur _error;"),$Commandes_Macros) $Commandes_Macros_cr = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_cr","Retour chariot _cr;"),$Commandes_Macros) $Commandes_Macros_lf = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_lf","Saut de ligne _lf;"),$Commandes_Macros) $Commandes_Macros_crlf = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_crlf","Retour à la ligne _crlf;"),$Commandes_Macros) $Commandes_Macros_ver = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_ver","Version de FSProg _ver;"),$Commandes_Macros) $Commandes_Macros_compiled = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes_Macros_compiled","Script compilé ou non _compiled;"),$Commandes_Macros) $Lancer = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer","Lancer")) $Lancer_LancerNormalement = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancernormalement","Lancer normalement"),$Lancer) $Lancer_LancerLesLignes = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerleslignes","Lancer les lignes..."),$Lancer) $Lancer_LancerAvecParametres = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerlavecpar","Lancer avec paramètres..."),$Lancer) $Compiler = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler","Compiler")) $Compiler_compilerlescriptouvert = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerlescriptouvert","Compiler le script ouvert"),$Compiler) $Compiler_compilerunscript = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerunscript","Compiler un script"),$Compiler) $Options = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options","Options")) $Options_Langue = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_langue","Langues"),$Options) $Options_Langue_Francais = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_langue_francais","Français"),$Options_Langue) $Options_Langue_Anglais = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_langue_anglais","Anglais"),$Options_Langue) GUICtrlCreateMenuItem("",$Options) $Options_Aide = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_aide","Aide"),$Options) $Options_APropos = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_apropos","À propos de FSProg IDE"),$Options);Fin de la création des menus. $Edit = GUICtrlCreateEdit("",40,0,960,380); Création de l'editeur de ligne. GUICtrlSetFont($Edit,10,15,-1,"Lucida Console") GUICtrlSetState($Edit,$GUI_DROPACCEPTED) $NumLine = ""; Numérote les lignes. For $i = 1 To 70 Step 1 $NumLine &= $i & @CRLF Next $Label = GUICtrlCreateLabel($NumLine,0,2,40,365); Crétaion du Label d'affichage du n° de ligne. GUICtrlSetFont($Label,10,15,-1,"Lucida Console") $Old_Ind = 1 $ConsoleStdOut = GUICtrlCreateEdit("",00,382,499,98); Création de la console de flux stdout. GUICtrlSetFont($ConsoleStdOut,10,15,-1,"Lucida Console") $ConsoleError = GUICtrlCreateEdit("",501,382,499,98); Création de la console d'erreur. GUICtrlSetFont($ConsoleError,10,15,-1,"Lucida Console") GUICtrlSetColor($ConsoleError,0xFF0000) GUISetState(@SW_SHOW); Affichage de la GUI, WinSetState($GUI,"",@SW_MAXIMIZE); en plein écran. If UBound($CmdLine) > 1 Then; Vérifie si un fichier a été lancer comme paramètre. If StringRight($CmdLine[1],4) <> ".fsp" Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"ouvrir","pasfsp","Erreur, le fichier choisis n'est pas un fichier FSProg !")) Else $Path = FileGetLongName($CmdLine[1]) $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf While 1 $ind_1 = _GUICtrlEdit_GetFirstVisibleLine($Edit)+1; Lit le n° de la première ligne visible dans l'editeur de texte. If $ind_1 <> $Old_Ind Then; Vérifi et change le n° de ligne affiché si un scroll est effectué. $NumLine = "" For $i = $ind_1 To $ind_1+70 Step 1 If $i = 666 Then; N'affiche pas le n° 666. $NumLine &= "" & @CRLF Else $NumLine &= $i & @CRLF EndIf Next GUICtrlSetData($Label,$NumLine) $Old_Ind = $ind_1 EndIf $Msg = GUIGetMsg() Switch $Msg Case $GUI_EVENT_DROPPED; Si un fichier est déposé dans l'Edit, il est chargé. GUICtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),@GUI_DragFile,"")) If Not (FileRead($File) == GUICtrlRead($Edit)) Then $Choice = MsgBox(3,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","sauvegarde_l1","Attention, le fichier ouvert n'as pas été sauvegardé !")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","sauvegarde_l2","Voulez-vous le sauvegarder maintenant ?")) If $Choice = 6 Then If _Save() Then $Path = FileGetLongName(StringReplace(@GUI_DragFile,@CRLF,"")) $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path If StringRight($File,4) <> ".fsp" Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"ouvrir","pasfsp","Erreur, le fichier choisis n'est pas un fichier FSProg !")) Else GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf ElseIf $Choice = 7 Then $Path = FileGetLongName(StringReplace(@GUI_DragFile,@CRLF,"")) $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path If StringRight($File,4) <> ".fsp" Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"ouvrir","pasfsp","Erreur, le fichier choisis n'est pas un fichier FSProg !")) Else GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf ElseIf FileRead($File) = GUICtrlRead($Edit) Then $Path = FileGetLongName(StringReplace(@GUI_DragFile,@CRLF,"")) $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path If StringRight($File,4) <> ".fsp" Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"ouvrir","pasfsp","Erreur, le fichier choisis n'est pas un fichier FSProg !")) Else GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf Case $GUI_EVENT_CLOSE; Quitte si la fenêtre est fermée. _Exit() Case $Fichier_Nouveau; Menu du nouveau fichier. If Not (FileRead($File) == GUICtrlRead($Edit)) Then $Choice = MsgBox(3,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","sauvegarde_l1","Attention, le fichier ouvert n'as pas été sauvegardé !")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","sauvegarde_l2","Voulez-vous le sauvegarder maintenant ?")) If $Choice = 6 Then _Save() $File = "" GUICtrlSetData($Edit,"") WinSetTitle($Old_Title,"","FSProg IDE ; Projet sans titre") $Old_Title = "FSProg IDE ; Projet sans titre" ElseIf $Choice = 7 Then $File = "" GUICtrlSetData($Edit,"") WinSetTitle($Old_Title,"","FSProg IDE ; Projet sans titre") $Old_Title = "FSProg IDE ; Projet sans titre" EndIf ElseIf FileRead($File) = GUICtrlRead($Edit) Then $File = "" GUICtrlSetData($Edit,"") WinSetTitle($Old_Title,"","FSProg IDE ; Projet sans titre") $Old_Title = "FSProg IDE ; Projet sans titre" EndIf Case $Fichier_Ouvrir; Menu d'ouverture d'un fichier. If Not (FileRead($File) == GUICtrlRead($Edit)) Then $Choice = MsgBox(3,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","sauvegarde_l1","Attention, le fichier ouvert n'as pas été sauvegardé !")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","sauvegarde_l2","Voulez-vous le sauvegarder maintenant ?")) If $Choice = 6 Then _Save() $Path = FileGetLongName(FileOpenDialog(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","ouvrir","Choisissez un fichier à ouvrir :"),@UserProfileDir&"\FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","extensions","Fichiers FSProg (*.fsp)|Tous les fichiers (*.*)"))) If Not @error = 1 Then $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf ElseIf $Choice = 7 Then $Path = FileGetLongName(FileOpenDialog(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","ouvrir","Choisissez un fichier à ouvrir :"),@UserProfileDir&"\FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","extensions","Fichiers FSProg (*.fsp)|Tous les fichiers (*.*)"))) If Not @error = 1 Then $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf ElseIf FileRead($File) = GUICtrlRead($Edit) Then $Path = FileGetLongName(FileOpenDialog(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","ouvrir","Choisissez un fichier à ouvrir :"),@UserProfileDir&"\FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","extensions","Fichiers FSProg (*.fsp)|Tous les fichiers (*.*)"))) If Not @error = 1 Then $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path GUICtrlSetData($Edit,FileRead($File)) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName EndIf EndIf Case $Fichier_Enregistrer; Menu d'enregistrement. _Save() Case $Fichier_EnregistrerSous; Menu "Enregistrer Sous". $OldFile = $File $File = "" $Save = _Save() If $Save = 0 Then $File = FileGetLongName($File) EndIf Case $Fichier_OuvrirAvecColoration; Coloration syntaxique. If Not IsDeclared("COLORATION_GUI_ALSO_CREATED") Then $Gui_Coloration = GUICreate(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"coloration","coloractionsyntaxique","Coloration syntaxique"),@DesktopWidth-100,@DesktopHeight-100) $Edit_Coloration = _GuictrlCreateColoredEdit(GUICtrlRead($Edit),$Color,10,10,@DesktopWidth-120,@DesktopHeight-160) $Button_OpenColoration = GUICtrlCreateButton(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"coloration","copier","Copier dans l'éditeur"),10,@DesktopHeight-140,@DesktopWidth-120,30) $COLORATION_GUI_ALSO_CREATED = True EndIf GUISetState(@SW_SHOW,$Gui_Coloration) GUISetState(@SW_ENABLE,$Gui_Coloration) AdlibRegister("__Edit2HTML",100) GUICtrlSetData($Edit_Coloration[0],GUICtrlRead($Edit)) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $Button_OpenColoration GUICtrlSetData($Edit,GUICtrlRead($Edit_Coloration[0])) ExitLoop EndSwitch WEnd AdlibUnRegister("__Edit2Html") GUISetState(@SW_HIDE,$Gui_Coloration) WinSetState($Gui,"",@SW_ENABLE) GUISwitch($Gui) Case $Fichier_Quitter; Menu quitter _Exit() Case $Commandes_Directives_include; Ecriture rapide des fonctions. Send("{#}include ") Case $Commandes_Directives_replace Send("{#}replace ") Case $Commandes_Directives_noNotifyErr Send("{#}noNotifyErr") Case $Commandes_Directives_isReplace Send("{#}isReplace") Case $Commandes_Console_console Send(@CRLF&"console()") Case $Commandes_Console_cWrite Send("cWrite()") Case $Commandes_Console_cClear Send("cClear()") Case $Commandes_Console_cGet Send("cGet()") Case $Commandes_Console_cTitle Send("cTitle()") Case $Commandes_Console_cExec Send("cExec()") Case $Commandes_Fichiers_fWrite Send("fWrite()") Case $Commandes_Fichiers_fDel Send("fDel()") Case $Commandes_Fichiers_fExist Send("fExist()") Case $Commandes_Fichiers_fCreate Send("fCreate()") Case $Commandes_Fichiers_fMove Send("fMove()") Case $Commandes_Fichiers_fCopy Send("fCopy()") Case $Commandes_Fichiers_fRead Send("fRead()") Case $Commandes_Fichiers_fRun Send("fRun()") Case $Commandes_Repertoires_dDel Send("dDel()") Case $Commandes_Repertoires_dExist Send("dExist()") Case $Commandes_Repertoires_dCreate Send("dCreate()") Case $Commandes_Repertoires_dMove Send("dMove()") Case $Commandes_Repertoires_dCopy Send("dCopy()") Case $Commandes_Processus_pDel Send("pDel()") Case $Commandes_Processus_pSet Send("pSet()") Case $Commandes_Processus_pExist Send("pExist()") Case $Commandes_Processus_pWait Send("pWait()") Case $Commandes_Souris_mMove Send("mMove()") Case $Commandes_Souris_mLeft Send("mLeft()") Case $Commandes_Souris_mRight Send("mRight()") Case $Commandes_Clavier_kSend Send("kSend()") Case $Commandes_Clavier_kDown Send("kDown()") Case $Commandes_Clavier_kUp Send("kUp()") Case $Commandes_Chaines_strLen Send("strLen()") Case $Commandes_Chaines_strInStr Send("strInStr()") Case $Commandes_Chaines_strReplace Send("strReplace()") Case $Commandes_Chaines_strRight Send("strRight()") Case $Commandes_Chaines_strLeft Send("strLeft()") Case $Commandes_Systeme_sExitCode Send("sExitCode()") Case $Commandes_Systeme_sGetOsInfo Send("sGetOsInfo()") Case $Commandes_Systeme_sSetErr Send("sSetErr()") Case $Commandes_Systeme_sWriteErr Send("sWriteErr()") Case $Commandes_Systeme_sGetEnv Send("sGetEnv()") Case $Commandes_Systeme_sSetEnv Send("sSetEnv()") Case $Commandes_Fenetres_wActivate Send("wActivate()") Case $Commandes_Fenetres_wWait Send("wWait()") Case $Commandes_Fenetres_wSetPos Send("wSetPos()") Case $Commandes_Fenetres_wGetPos Send("wGetPos()") Case $Commandes_Fenetres_wSetSize Send("wSetSize()") Case $Commandes_Fenetres_wGetSize Send("wGetSize()") Case $Commandes_Fenetres_wExist Send("wExist()") Case $Commandes_Autre_message Send("message()") Case $Commandes_Autre_exit Send("exit") Case $Commandes_Autre_sleep Send("sleep()") Case $Commandes_Autre_random Send("random()") Case $Commandes_Autre_isDeclared Send("isDeclared()") Case $Commandes_Macros_script Send("_script;") Case $Commandes_Macros_dir Send("_dir;") Case $Commandes_Macros_user Send("_user;") Case $Commandes_Macros_deskW Send("_deskW;") Case $Commandes_Macros_deskH Send("_deskH;") Case $Commandes_Macros_hour Send("_hour;") Case $Commandes_Macros_min Send("_min;") Case $Commandes_Macros_sec Send("_sec;") Case $Commandes_Macros_year Send("_year;") Case $Commandes_Macros_mon Send("_mon;") Case $Commandes_Macros_day Send("_day;") Case $Commandes_Macros_par Send("_par;") Case $Commandes_Macros_error Send("_error;") Case $Commandes_Macros_cr Send("_cr;") Case $Commandes_Macros_lf Send("_lf;") Case $Commandes_Macros_crlf Send("_crlf;") Case $Commandes_Macros_ver Send("_ver;") Case $Commandes_Macros_compiled Send("_compiled;") Case $Lancer_LancerNormalement; Menu Lancer. $Save = _Save() If $Save = 1 Then $ExitLoop = False $OldStdInfoContent = FileRead(@TempDir&"\stdinfo") $ErrorScript = False Run('"'&@ScriptDir&'\FSProg.exe" "'&$File&'"',@ScriptDir) GUICtrlSetData($ConsoleStdOut,"") GUICtrlSetData($ConsoleError,"") While 1 If Not ProcessExists("FSProg.exe") Then Sleep(500) $ExitLoop = True EndIf $StdInfoContent = FileRead(@TempDir&"\stdinfo") If $OldStdInfoContent <> $StdInfoContent Then GUICtrlSetData($ConsoleStdOut,$StdInfoContent) $StdInfoSplit = StringSplit($StdInfoContent,@CRLF) $StdOutLine = StringTrimLeft($StdInfoContent,StringLen($OldStdInfoContent)) $OldStdInfoContent = $StdInfoContent If StringInStr($StdOutLine,"erreur") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If (StringLeft($Split[$i],6) = "erreur") Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) If StringLeft($Split[$i+2],2) = "l'" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i+2]&@CRLF) EndIf _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine,"attention") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],9) = "attention" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine," ==> ") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],5) = " ==> " Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) $ErrorScript = True _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf EndIf _GUICtrlEdit_Scroll($ConsoleStdOut,3) If $ExitLoop Then ExitLoop WEnd GUICtrlSetData($ConsoleStdOut,GUICtrlRead($ConsoleStdOut)&@CRLF&" ==> Fin de l'exécution.") _GUICtrlEdit_Scroll($ConsoleStdOut,4) _GUICtrlEdit_Scroll($ConsoleError,4) If $ErrorScript = True Then If MsgBox(52,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr","FSProg a rencontré une erreur et a fermé.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr_2","Voulez-vous afficher le rapport de fermeture ?")) = 6 Then _DisplayErrLog() EndIf EndIf EndIf Case $Lancer_LancerLesLignes; Menu "Lancer les lignes". $Save = _Save() If $Save = 1 Then If _FileCountLines($File) > 1 Then $Gui2 = GUICreate(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","guinom","Lignes"),500,500) $ListView = GUICtrlCreateListView("",0, 0, 500, 400) _GUICtrlListView_SetExtendedListViewStyle($ListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES)) _GUICtrlListView_AddColumn($ListView, IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","ligne","Ligne"), 500) $ButtonLunch = GUICtrlCreateButton(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","lancer","Lancer"),20,420,460,60) SplashTextOn("FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","chargligne_1","Chargement des lignes...")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","chargligne_2","Si votre fichier est long, cette opération peut prendre quelques secondes !"),600,70) Local $ListViewItem[_FileCountLines($File)] For $i = 1 To _FileCountLines($File) Step 1 $ListViewItem[$i-1] = _GUICtrlListView_AddItem($ListView,FileReadLine($File,$i),0) Next SplashOff() GUISetState() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE $Ok = False GUIDelete($Gui2) ExitLoop Case $ButtonLunch $Ok = True ExitLoop EndSwitch WEnd If $Ok = True Then SplashTextOn("FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","prepafichier","Préparation du fichier...")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","chargligne_2","Si votre fichier est long, cette opération peut prendre quelques secondes !"),600,70) $ListViewReturn = "" For $i = 1 To (_FileCountLines($File)) Step 1 If _GUICtrlListView_GetItemChecked(GUICtrlGetHandle($ListView),$i-1) Then $ListViewReturn = $ListViewReturn&FileReadLine($File,$i)&@CRLF EndIf Next GUIDelete($Gui2) FileDelete(StringTrimRight($File,4)&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","lance_perso","-Lancement personnalisé.fsp")) FileWrite(StringTrimRight($File,4)&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","lance_perso","-Lancement personnalisé.fsp"),$ListViewReturn) Sleep(500) SplashOff() $ExitLoop = False $OldStdInfoContent = FileRead(@TempDir&"\stdinfo") $ErrorScript = False $PIDProcess = Run('"'&@ScriptDir&'\FSProg.exe" "'&StringTrimRight($File,4)&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","lance_perso","-Lancement personnalisé.fsp")&'"',@ScriptDir) GUICtrlSetData($ConsoleStdOut,"") GUICtrlSetData($ConsoleError,"") While 1 If Not ProcessExists("FSProg.exe") Then Sleep(500) $ExitLoop = True EndIf $StdInfoContent = FileRead(@TempDir&"\stdinfo") If $OldStdInfoContent <> $StdInfoContent Then GUICtrlSetData($ConsoleStdOut,$StdInfoContent) $StdInfoSplit = StringSplit($StdInfoContent,@CRLF) $StdOutLine = StringTrimLeft($StdInfoContent,StringLen($OldStdInfoContent)) $OldStdInfoContent = $StdInfoContent If StringInStr($StdOutLine,"erreur") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If (StringLeft($Split[$i],6) = "erreur") Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) If StringLeft($Split[$i+2],2) = "l'" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i+2]&@CRLF) EndIf _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine,"attention") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],9) = "attention" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine," ==> ") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],5) = " ==> " Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) $ErrorScript = True _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf EndIf _GUICtrlEdit_Scroll($ConsoleStdOut,3) If $ExitLoop Then ExitLoop WEnd GUICtrlSetData($ConsoleStdOut,GUICtrlRead($ConsoleStdOut)&@CRLF&" ==> Fin de l'exécution.") _GUICtrlEdit_Scroll($ConsoleStdOut,4) _GUICtrlEdit_Scroll($ConsoleError,4) If $ErrorScript = True Then If MsgBox(52,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr","FSProg a rencontré une erreur et a fermé.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr_2","Voulez-vous afficher le rapport de fermeture ?")) = 6 Then _DisplayErrLog() EndIf EndIf EndIf Else MsgBox(64,"FSProg IDE ; Info","A quoi ça sert de faire ça si tu n'as qu'une ligne ?") EndIf EndIf Case $Lancer_LancerAvecParametres $Save = _Save() If $Save = 1 Then $Parametres = InputBox("FSProg "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerlavecpar","Lancer avec paramètres..."),IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"lancer","lancer_lancerlavecpar","Choisissez le paramètre à utiliser :")) If Not @error Then $ExitLoop = False $OldStdInfoContent = FileRead(@TempDir&"\stdinfo") $ErrorScript = False $PIDProcess = Run('"'&@ScriptDir&'\FSProg.exe" "'&$File&'" "'&$Parametres&'"',@ScriptDir) GUICtrlSetData($ConsoleStdOut,"") GUICtrlSetData($ConsoleError,"") While 1 If Not ProcessExists("FSProg.exe") Then Sleep(500) $ExitLoop = True EndIf $StdInfoContent = FileRead(@TempDir&"\stdinfo") If $OldStdInfoContent <> $StdInfoContent Then GUICtrlSetData($ConsoleStdOut,$StdInfoContent) $StdInfoSplit = StringSplit($StdInfoContent,@CRLF) $StdOutLine = StringTrimLeft($StdInfoContent,StringLen($OldStdInfoContent)) $OldStdInfoContent = $StdInfoContent If StringInStr($StdOutLine,"erreur") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If (StringLeft($Split[$i],6) = "erreur") Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) If StringLeft($Split[$i+2],2) = "l'" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i+2]&@CRLF) EndIf _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine,"attention") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],9) = "attention" Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf If StringInStr($StdOutLine," ==> ") Then $Split = StringSplit($StdOutLine,@CRLF) For $i = 1 To UBound($Split)-1 Step 1 If StringLeft($Split[$i],5) = " ==> " Then GUICtrlSetData($ConsoleError,GUICtrlRead($ConsoleError)&$Split[$i]&@CRLF) $ErrorScript = True _GUICtrlEdit_Scroll($ConsoleError,3) EndIf Next EndIf EndIf _GUICtrlEdit_Scroll($ConsoleStdOut,3) If $ExitLoop Then ExitLoop WEnd GUICtrlSetData($ConsoleStdOut,GUICtrlRead($ConsoleStdOut)&@CRLF&" ==> Fin de l'exécution.") _GUICtrlEdit_Scroll($ConsoleStdOut,4) _GUICtrlEdit_Scroll($ConsoleError,4) If $ErrorScript = True Then If MsgBox(52,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr","FSProg a rencontré une erreur et a fermé.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"erreur","afficher_stderr_2","Voulez-vous afficher le rapport de fermeture ?")) = 6 Then _DisplayErrLog() EndIf EndIf EndIf EndIf Case $Compiler_compilerlescriptouvert $Save = _Save() If $Save = 1 Then ShellExecute(@ScriptDir&"\Fsp2Exe.exe",$File) EndIf Case $Compiler_compilerunscript $FileToCompile = FileOpenDialog(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"compiler","titre","Choisissez un fichier à compiler..."),@UserProfileDir&"\FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"compiler","filtre","Fichiers FSProg (*.fsp)")) If Not @error Then ShellExecute(@ScriptDir&"\Fsp2Exe.exe",$FileToCompile) EndIf Case $Options_Langue_Francais; Menu de langue : Français. If $Langue = "Français" Then MsgBox(64,"FSProg IDE","Vous êtes déjà en Français !") ElseIf $Langue = "English" Then IniWrite(@AppDataDir&"\FSProg\Reglages.ini","langue","langue","Français") MsgBox(64,"FSProg IDE","Vos modifications ont été enregistrées !"&@CRLF&"Elle prendront effet au prochain démarrage du logiciel.") EndIf Case $Options_Langue_Anglais; Menu de langue : English. If $Langue = "English" Then MsgBox(64,"FSProg IDE","You are already in English !") ElseIf $Langue = "Français" Then IniWrite(@AppDataDir&"\FSProg\Reglages.ini","langue","langue","English") MsgBox(64,"FSProg IDE","Your changes have been saved !"&@CRLF&"It will take effect at next startup of the software.") EndIf Case $Options_Aide; Affichage de l'aide. $Gui3 = GUICreate("FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","titre","Aide"),500,100) $Label2 = GUICtrlCreateLabel(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","aide","Choisisez l'élément dont vous souhaitez obtenir l'aide..."),50,25,500,100) GUICtrlSetFont($Label2,10,5000) $FichierA = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier","Fichier")) $Fichier_NouveauA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_nouveau","Nouveau Ctrl+N"),$FichierA) $Fichier_OuvrirA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_ouvrir","Ouvrir... Ctrl+O"),$FichierA) $Fichier_EnregistrerA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrer","Enregistrer Ctrl+S"),$FichierA) $Fichier_EnregistrerSousA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrersous","Enregistrer sous... Ctrl+Maj+S"),$FichierA) GUICtrlCreateMenuItem("",$FichierA) $Fichier_QuitterA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_quitter","Quitter Échap"),$FichierA) $CommandesA = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes","Commandes")) $CommandesClickA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","cliqueici","Cliquez ici pour afficher l'aide..."),$CommandesA) $LancerA = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer","Lancer")) $Lancer_LancerNormalementA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancernormalement","Lancer normalement F5"),$LancerA) $Lancer_LancerLesLignesA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerleslignes","Lancer les lignes... L+F5"),$LancerA) $Lancer_LancerAvecParametresA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerlavecpar","Lancer avec paramètres..."),$LancerA) $CompilerA = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler","Compiler")) $Compiler_compilerlescriptouvertA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerlescriptouvert","Compiler le script ouvert"),$CompilerA) $Compiler_compilerunscriptA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerunscript","Compiler un script"),$CompilerA) $OptionsA = GUICtrlCreateMenu(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options","Options")) $Options_LangueA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_langue","Langues"),$OptionsA) GUICtrlCreateMenuItem("",$OptionsA) $Options_AideA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_aide","Aide F1"),$OptionsA) $Options_AProposA = GUICtrlCreateMenuItem(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_apropos","À propos de FSProg IDE"),$OptionsA) GUISetState(@SW_SHOW) While 1 $nMsg2 = GUIGetMsg() Switch $nMsg2 Case $GUI_EVENT_CLOSE ExitLoop Case $Fichier_NouveauA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_nouveau","Nouveau"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_nouveau","Efface le contenu de l'éditeur de texte et ferme le fichier ouvert.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_nouveau_2","Une confirmation vous sera demandé si le fichier ouvert n'est pas sauvegardé.")) Case $Fichier_OuvrirA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_ouvrir","Ouvrir..."), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_ouvrir","Ouvre un fichier et le charge dans l'éditeur de texte.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_ouvrir_2","Une confirmation vous sera demandé si le fichier ouvert n'est pas sauvegardé.")) Case $Fichier_EnregistrerA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrer","Enregistrer"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_enregistrer","Enregistre le fichier ouvert.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_enregistrer_2","Si aucun fichier n'est ouvert, vous devrez entrer un nom.")) Case $Fichier_EnregistrerSousA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_enregistrersous","Enregistrer sous..."), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_enregistrersous","Enregistre le fichier ouvert sous un autre nom.")) Case $Fichier_QuitterA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","fichier_quitter","Quitter Échap"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_quitter","Quitte FSProg IDE")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","fichier_quitter_2","Une confirmation vous sera demandé si le fichier ouvert n'est pas sauvegardé.")) Case $CommandesClickA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","Commandes","Commandes"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","commandes","Choisissez une action pour que la commande s'écrive dans votre script.")) Case $Lancer_LancerNormalementA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancernormalement","Lancer normalement"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lancernormalement","Lance le fichier dans le répertoire où il est enregistré.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lancernormalement_2","Si aucun fichier n'est ouvert, vous devrez entrer un nom.")) Case $Lancer_LancerLesLignesA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerleslignes","Lancer les lignes..."), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lancerleslignes","Lance les lignes spécifiques d'un fichier (que vous choisirez).")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lancerleslignes_2","Si aucun fichier n'est ouvert, vous devrez entrer un nom.")) Case $Lancer_LancerAvecParametresA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","lancer_lancerlavecpar","Lancer avec paramètres..."), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lanceravecpar","Lance le fichier ouvert avec un paramètre spécifique.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","lancer_lanceravecpar_2","Si aucun fichier n'est ouvert, vous devrez entrer un nom.")) Case $Compiler_compilerlescriptouvertA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerlescriptouvert","Compiler le script ouvert"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","compiler_compilerlescriptouvert","Compile le fichier ouvert.")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","compiler_compilerlescriptouvert_2","Si aucun fichier n'est ouvert, vous devrez entrer un nom.")) Case $Compiler_compilerunscriptA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","compiler_compilerunscript","Compiler un script"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","compiler_compilerunscript","Compile un script FSProg.")) Case $Options_LangueA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_langue","Langues"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","options_langue","Définis la langue (Français ou Anglais).")) Case $Options_AideA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_aide","Aide"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","options_aide","Affiche l'aide (celle que vous êtes entrain de lire).")) Case $Options_AProposA MsgBox(64, "FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_apropos","À propos de FSProg IDE"), IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"aide","options_apropos","Affiche des informations sur FSProg IDE.")) EndSwitch WEnd GUIDelete($Gui3) Case $Options_APropos ; Affichage des information sur FSProg IDE. $GuiAbout = GUICreate("FSProg IDE ; "&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","options_apropos","À propos de FSProg IDE"),500,500) GUISetBkColor(0xCCCCCC) $Licence = GUICtrlCreatePic(@ScriptDir&"\Resources\img\Creative Commons.bmp",400,460,88,31) $Site = GUICtrlCreatePic(@ScriptDir&"\Resources\img\Site_"&$Langue&".bmp",170,320,157,42) GUICtrlCreatePic(@ScriptDir&"\Fichiers\Logo.bmp",170,10,100,100) $APropos = _StringBetween(FileRead(@ScriptDir&"\Resources\Langues\"&$Langue),"[APropos]","[/APropos]") GUICtrlCreateLabel($APropos[0],10,10,480,250) GUICtrlSetFont(-1,-1,-1,-1,"Arial Black") GUICtrlCreatePic(@ScriptDir&"\Resources\img\ICO.bmp",370,10,120,87) GUICtrlCreateLabel("Licence Creative Commons :",210,467,180,15) GUICtrlSetFont(-1,-1,-1,-1,"Arial Black") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE GUIDelete($GuiAbout) ExitLoop Case $Licence ShellExecute("http://creativecommons.org/licenses/by-nc-nd/2.0/fr/") GUIDelete($GuiAbout) ExitLoop Case $Site ShellExecute("http://fsp.lecoindaide.com/") GUIDelete($GuiAbout) ExitLoop EndSwitch WEnd EndSwitch WEnd Func _Exit(); Fonction de fermeture du programme. If Not (FileRead($File) == GUICtrlRead($Edit)) Then $Choice = MsgBox(3,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","sauvegarde_l1","Attention, le fichier ouvert n'as pas été sauvegardé !")&@CRLF&IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"menu","sauvegarde_l2","Voulez-vous le sauvegarder maintenant ?")) If $Choice = 6 Then $Save = _Save() If $Save = 0 Then $Choice = MsgBox(4,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","attentionnonsauverror","Le fichier n'a pas pu être sauvegardé, voulez-vous vraiment quitter ?")) If $Choice = 6 Then Exit EndIf ElseIf $Save = 1 Then Exit EndIf ElseIf $Choice = 7 Then Exit EndIf ElseIf FileRead($File) = GUICtrlRead($Edit) Then Exit EndIf EndFunc Func _Save(); Fonction de sauvegarde. If $File = "" Then $Path = FileSaveDialog(IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","sauvegarde2","Choisissez le nom du fichier à enregistrer :"),@UserProfileDir&"\FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","extensions","Fichiers FSProg (*.fsp)|Tous les fichiers (*.*)"),-1,".fsp") If Not @error Then $Path = FileGetLongName($Path) $String = StringSplit($Path,"\") $FileName = $String[UBound($String)-1] $File = $Path FileDelete($File) $Write = FileWrite($File,GUICtrlRead($Edit)) If $Write = 1 Then MsgBox(64,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","fichiersauv","Le fichier a été sauvegardé !")) WinSetTitle($Old_Title,"","FSProg IDE ; "&$FileName) $Old_Title = "FSProg IDE ; "&$FileName Return 1 ElseIf $Write = 0 Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","fichiernonsauv","Une erreur s'est produite et le fichier n'a pas été sauvegardé !")) Return 0 EndIf EndIf ElseIf $File <> "" Then FileDelete($File) $Write = FileWrite($File,GUICtrlRead($Edit)) If $Write = 1 Then MsgBox(64,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","fichiersauv","Le fichier a été sauvegardé !")) Return 1 ElseIf $Write = 0 Then MsgBox(16,"FSProg IDE",IniRead(@ScriptDir&"\Resources\Langues\"&$Langue,"sauvegarde","fichiernonsauv","Une erreur s'est produite et le fichier n'a pas été sauvegardé !")) Return 0 EndIf EndIf EndFunc Func _DisplayErrLog() $ERRORLOG=@TempDir&"\FSPErr.txt" Dim $wTitle = '[REGEXPTITLE:(?i)System Information; CLASS:#32770]', $Item, $Text $Memeory=_TotalPhysicalMemory() If Not(IsDeclared("$cI_CompName")) Then $cI_CompName = @ComputerName EndIf $cI_VersionInfo = "00.03.08" Dim $cI_aName = 0, _ $cI_aDesc = 4 Dim $wbemFlagReturnImmediately = 0x10, _ ;DO NOT CHANGE $wbemFlagForwardOnly = 0x20 ;DO NOT CHANGE Dim $ERR_NO_INFO = "Array contains no information", _ $ERR_NOT_OBJ = "$colItems isnt an object" $OLD_COMMENT="" Local $MAIN_GUI Local $COMMENT_GUI Local $INFOS_GUI $MAIN_GUI=GUICreate("Journal d'erreurs - FSProg", 800, 500,Default,Default,BitOR($WS_OVERLAPPED,$WS_POPUPWINDOW), $WS_EX_CONTROLPARENT) GUICtrlCreateLabel("", 0, 0, 800, 50, "", $WS_EX_CLIENTEDGE) $ADD_COMMENT=GUICtrlCreateIcon(@SystemDir&"\mmcndmgr.dll", -80, 10, 5, 40, 40, "", $WS_EX_DLGMODALFRAME) GUICtrlCreateLabel("", 250, 4, 4, 42, "", $WS_EX_DLGMODALFRAME) GUICtrlSetBkColor(-1, 0xFFFFFF) $LOG_LABEL=GUICtrlCreateLabel("Journal d'erreurs de FSProg", 265, 10, 260, 30, 0x01) GUICtrlSetFont(-1,10,3000) GUICtrlCreateLabel("", 545, 4, 4, 42, "", $WS_EX_DLGMODALFRAME) GUICtrlSetBkColor(-1, 0xFFFFFF) $BOT_LABEL=GUICtrlCreateLabel(" Copyright © 2012 Au'Soft Corporation. Tous droits réservés.", -2, 480, 803, 23, "", $WS_EX_CLIENTEDGE) $EXIT=GUICtrlCreateIcon(@SystemDir&"\mmcndmgr.dll", -10, 750, 5, 40, 40, "", $WS_EX_DLGMODALFRAME) $REFRESH=GUICtrlCreateIcon(@SystemDir&"\mmcndmgr.dll", -47, 60, 5, 40, 40, "", $WS_EX_DLGMODALFRAME) $INFOS=GUICtrlCreateIcon(@SystemDir&"\mmcndmgr.dll", -64, 700, 5, 40, 40, "", $WS_EX_DLGMODALFRAME) $EDIT_LOG=GUICtrlCreateEdit("Loading ErrorLog.txt ...", 10, 60, 780, 410, 0x0800+0x00200000) GUICtrlSetFont($EDIT_LOG,-1,-1,-1,"Lucida Console") GUISetState(@SW_SHOW) sleep(1000) $CPU="" $CPU_NUM=-1 For $i = 1 To 50 $CPU_NUM=$CPU_NUM+1 Local $var = RegEnumKey("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\", $i) If $CPU="" Then $CPU=RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\"&$CPU_NUM, "ProcessorNameString") Else $CPU=$CPU&"; "&RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\"&$CPU_NUM, "ProcessorNameString") Endif If @error <> 0 Then ExitLoop Next If FileExists($ERRORLOG)=0 Then GUICtrlSetData($EDIT_LOG, "Unable to load ErrorLog.txt, the file probably doesn't exist") ElseIf FileRead($ERRORLOG)="" Then GUICtrlSetData($EDIT_LOG, "The file ErrorLog.txt is empty") Else GUICtrlSetData($EDIT_LOG, FileRead($ERRORLOG)) EndIf $MOUSE_ACT=0 $MOUSE_ACT2=0 While 1 $MOUSE=GUIGetMsg(1) $ACTIVE=WinActive("Journal d'erreurs - FSProg", "") If $ACTIVE<>0 Then If($MOUSE_ACT=0 Or $MOUSE_ACT=2 Or $MOUSE_ACT=3 Or $MOUSE_ACT=4 Or $MOUSE_ACT=5 Or $MOUSE_ACT=6 Or $MOUSE_ACT=7) And $MOUSE[3]>10 And $MOUSE[3]<50 And $MOUSE[4]>5 And $MOUSE[4]<45 Then GUICtrlSetData($BOT_LABEL, " Ajouter un commentaire personnel au journal d'erreurs") $MOUSE_ACT=1 ElseIf ($MOUSE_ACT=0 Or $MOUSE_ACT=2 Or $MOUSE_ACT=1 Or $MOUSE_ACT=4 Or $MOUSE_ACT=5 Or $MOUSE_ACT=6 Or $MOUSE_ACT=7) And $MOUSE[3]>60 And $MOUSE[3]<100 And $MOUSE[4]>5 And $MOUSE[4]<45 Then GUICtrlSetData($BOT_LABEL, " Recharger le journal") $MOUSE_ACT=7 ElseIf ($MOUSE_ACT=0 Or $MOUSE_ACT=1 Or $MOUSE_ACT=2 Or $MOUSE_ACT=3 Or $MOUSE_ACT=4 Or $MOUSE_ACT=6 Or $MOUSE_ACT=7) And $MOUSE[3]>750 And $MOUSE[3]<790 And $MOUSE[4]>5 And $MOUSE[4]<45 Then GUICtrlSetData($BOT_LABEL, " Quitter le journal d'erreur") $MOUSE_ACT=5 ElseIf($MOUSE_ACT=1 Or $MOUSE_ACT=2 Or $MOUSE_ACT=3 Or $MOUSE_ACT=4 Or $MOUSE_ACT=5 Or $MOUSE_ACT=0 Or $MOUSE_ACT=7) And $MOUSE[3]>700 And $MOUSE[3]<750 And $MOUSE[4]>5 And $MOUSE[4]<45 Then GUICtrlSetData($BOT_LABEL, " Afficher les informations complémentaires") $MOUSE_ACT=6 ElseIf ($MOUSE_ACT=1 Or $MOUSE_ACT=2 Or $MOUSE_ACT=3 Or $MOUSE_ACT=4 Or $MOUSE_ACT=5 Or $MOUSE_ACT=6 Or $MOUSE_ACT=7) And (($MOUSE[3]>200 And $MOUSE[3]<650) Or $MOUSE[4]>50) Then GUICtrlSetData($BOT_LABEL, " Copyright © 2012 Au'Soft Corporation. Tous droits réservés.") $MOUSE_ACT=0 EndIf $MOUSE2=GUIGetMsg(1) If $MOUSE2[3]>10 And $MOUSE2[3]<50 And $MOUSE2[4]>5 And $MOUSE2[4]<45 And _IsPressed("01") Then GUICtrlSetStyle($ADD_COMMENT, "", $WS_EX_CLIENTEDGE) sleep(100) $COMMENT_GUI=GUICreate("Ajouter un commentaire", 350, 185, -1, -1, $WS_EX_LAYERED) GUICtrlCreateLabel("Ecrivez dans ce champ un commentaire concernant les circonstances dans lesquelles le problème lors de l'utilisation de FSProg est survenue.", 5, 5, 340, 55) $COMMENTAIRE=GUICtrlCreateInput("", 5, 70, 332, 25, $WS_EX_CLIENTEDGE) $CANCEL=GUICtrlCreateLabel("Annuler", 180, 110, 80, 30, 0x01+0x0200, $WS_EX_DLGMODALFRAME) $ADD=GUICtrlCreateLabel("Ajouter", 85, 110, 80, 30, 0x01+0x0200, $WS_EX_DLGMODALFRAME) GUISetState(@SW_SHOW) While 1 $ACTIVE2=WinActive("Ajouter un commentaire", "") $MOUSE_COM=GUIGetMsg(1) IF $ACTIVE2<>0 Then If $MOUSE_COM[3]>180 and $MOUSE_COM[3]<260 And $MOUSE_COM[4]>110 and $MOUSE_COM[4]<140 and _IsPressed("01") Then GUICtrlSetStyle($CANCEL, 0x01+0x0200, $WS_EX_CLIENTEDGE) GUIDelete($COMMENT_GUI) ExitLoop ElseIf $MOUSE_COM[3]>85 and $MOUSE_COM[3]<165 And $MOUSE_COM[4]>110 and $MOUSE_COM[4]<140 and _IsPressed("01") Then GUICtrlSetStyle($ADD, 0x01+0x0200, $WS_EX_CLIENTEDGE) FileWrite($ERRORLOG,@CRLF&"// "&GUICtrlRead($COMMENTAIRE)) GUIDelete($COMMENT_GUI) GUICtrlSetData($EDIT_LOG, FileRead($ERRORLOG)) ExitLoop EndIf EndIf Switch GUIGetMsg() case -3 GUIDelete($COMMENT_GUI) ExitLoop EndSwitch WEnd GUICtrlSetStyle($ADD_COMMENT, "", $WS_EX_DLGMODALFRAME) ElseIf $MOUSE2[3]>60 And $MOUSE2[3]<100 And $MOUSE2[4]>5 And $MOUSE2[4]<45 And _IsPressed("01") Then GUICtrlSetStyle($REFRESH, "", $WS_EX_CLIENTEDGE) sleep(100) GUICtrlSetData($EDIT_LOG, FileRead($ERRORLOG)) GUICtrlSetStyle($REFRESH, "", $WS_EX_DLGMODALFRAME) ElseIf $MOUSE2[3]>750 And $MOUSE2[3]<790 And $MOUSE2[4]>5 And $MOUSE2[4]<45 And _IsPressed("01") Then GUICtrlSetStyle($EXIT, "", $WS_EX_CLIENTEDGE) sleep(100) GUISetState(@SW_HIDE,$MAIN_GUI) GUISetState(@SW_HIDE,$COMMENT_GUI) GUISetState(@SW_HIDE,$INFOS_GUI) Return 0 ElseIf $MOUSE2[3]>700 And $MOUSE2[3]<740 And $MOUSE2[4]>5 And $MOUSE2[4]<45 And _IsPressed("01") Then GUICtrlSetStyle($INFOS, "", $WS_EX_CLIENTEDGE) sleep(100) $INFOS_GUI=GUICreate("Informations, Journal d'erreurs - FSProg", 400, 360, -1, -1, $WS_EX_LAYERED) GUICtrlCreateLabel("Développé par Augustin Walter."&@CRLF&"© 2012 Au'Soft. Touts droits reservés."&@CRLF&@CRLF&" > Nom d'utilisateur : "&@UserName&@crlf&" > OS type : "&@OSType&@crlf&" > OS version : "&@OSVersion&@crlf&" > OS build : "&@OSBuild&@crlf&" > OS service pack : "&@OSServicePack&@CRLF&" > Architecture : "&@OSArch&@crlf&" > Langage : "&@OSLang&@crlf&" > Adresse IP : "&BinaryToString(InetRead("http://data.lecoindaide.com/utilities/ip/",1))&@CRLF&" > Ecran :"&@CRLF&" - Height : "&@DesktopHeight&" px"&@CRLF&" - Width : "&@DesktopWidth&" px"&@CRLF&" - Depth : "&@DesktopDepth&" bit"&@CRLF&" - Refresh : "&@DesktopRefresh&" Hz"&@CRLF&" > Physical Memory : "&$Memeory/1000000&" Mb"&@CRLF&" > CPU : "&@CRLF&" - Number : "&$CPU_NUM&@crlf&" - Processor(s) name/model : "&$CPU , 5, 5, 380, 280) $CLOSE_INFO=GUICtrlCreateLabel("Fermer", 160, 290, 80, 30, 0x01+0x0200, $WS_EX_DLGMODALFRAME) GUISetState(@SW_SHOW) While 1 $MOUSE_INFO=GUIGetMsg(1) $ACTIVE3=WinActive("Informations, Journal d'erreurs - FSProg", "") If $ACTIVE3<>0 Then If $MOUSE_INFO[3]>160 and $MOUSE_INFO[3]<240 And $MOUSE_INFO[4]>290 and $MOUSE_INFO[4]<320 and _IsPressed("01") Then GUICtrlSetStyle($CLOSE_INFO, 0x01+0x0200, $WS_EX_CLIENTEDGE) GUIDelete($INFOS_GUI) ExitLoop EndIf EndIf Switch GUIGetMsg() Case -3 GUIDelete($INFOS_GUI) ExitLoop EndSwitch WEnd GUICtrlSetStyle($INFOS, "", $WS_EX_DLGMODALFRAME) EndIf EndIf Switch GUIGetMsg() Case $ADD_COMMENT Case -3 GUISetState(@SW_HIDE,$MAIN_GUI) GUISetState(@SW_HIDE,$COMMENT_GUI) GUISetState(@SW_HIDE,$INFOS_GUI) Return 0 EndSwitch WEnd EndFunc Func _TotalPhysicalMemory() Local $objWMI = ObjGet("winmgmts:\\.\root\cimv2") Local $collection = $objWMI.ExecQuery("Select * from Win32_OperatingSystem") Local $FreeMemory Local $TotalMemory Local $obj For $obj In $collection $FreeMemory = $obj.FreePhysicalMemory Next $collection = $objWMI.ExecQuery("Select * from Win32_ComputerSystem") For $obj In $collection $TotalMemory = $obj.TotalPhysicalMemory Next return $TotalMemory EndFunc ; Coloration syntaxique... Func _GuictrlCreateColoredEdit( $Text, $Color, $Left = Default, $Top = Default, $Width = Default, $Height = Default) Global $COLORED_EDIT_COLOR_REF = $Color Global $COLORED_EDIT_IE_Embedded = _IECreateEmbedded() Global $COLORED_EDIT_IE_Object = GUICtrlCreateObj($COLORED_EDIT_IE_Embedded, $Left, $Top, $Width, $Height) Global $COLORED_EDIT_InvisibleEdit = GUICtrlCreateEdit($Text, $Left+9, $Top+14, $Width-8, $Height-12) GUICtrlSetFont($COLORED_EDIT_InvisibleEdit,10,Default,Default,"Lucida Console") __GuiCtrlMakeTrans($COLORED_EDIT_InvisibleEdit,1) GUISetCursor(2,1) Global $COLORED_EDIT_FIRST_LOADING = True Global $COLORED_EDIT_Path = @TempDir&"\"&@ScriptName&".Temp.ColoredEdit.html" Global $COLORED_EDIT_OLD_EDIT_CONTENT = "" FileDelete($COLORED_EDIT_Path) FileWrite($COLORED_EDIT_Path,"") $URL = __Path2URL($COLORED_EDIT_Path) _IENavigate($COLORED_EDIT_IE_Embedded, $URL, 0) Dim $Return[2] = [$COLORED_EDIT_InvisibleEdit,$COLORED_EDIT_IE_Object] Return $Return EndFunc Func __Edit2HTML() $Data = GUICtrlRead($COLORED_EDIT_InvisibleEdit) $Selected = _GUICtrlEdit_GetSel($COLORED_EDIT_InvisibleEdit) If Not $COLORED_EDIT_FIRST_LOADING Then $Data = StringLeft($Data,$Selected[0])&"[#####SELECTED_START_FOR_COLORED_EDIT#####]"&StringMid($Data,$Selected[0]+1,($Selected[1]-$Selected[0]))&"[#####SELECTED_END_FOR_COLORED_EDIT#####]"&StringTrimLeft($Data,$Selected[1]) Else _GUICtrlEdit_SetSel($COLORED_EDIT_InvisibleEdit,0,0) $COLORED_EDIT_FIRST_LOADING = False EndIf If $COLORED_EDIT_OLD_EDIT_CONTENT <> $Data Then $COLORED_EDIT_OLD_EDIT_CONTENT = $Data $Data = StringReplace($Data,"&","&") $Data = StringReplace($Data,"<","<") $Data = StringReplace($Data,">",">") $Data = StringReplace($Data,'"',""") $Data = StringReplace($Data," "," ") $Data = StringReplace($Data," "," ") $Data = StringReplace($Data,"=","=") $Data = StringReplace($Data,"/","/") $Data = StringReplace($Data,@CRLF,"
") For $i = 0 To UBound($COLORED_EDIT_COLOR_REF)-1 Step 1 $Data = StringReplace($Data,$COLORED_EDIT_COLOR_REF[$i][0],''&$COLORED_EDIT_COLOR_REF[$i][0]&"",0,1) Next $Data = StringReplace($Data,"[#####SELECTED_START_FOR_COLORED_EDIT#####]",'

') $Data = StringReplace($Data,"[#####SELECTED_END_FOR_COLORED_EDIT#####]",'

') $Data = ''&$Data&'' FileDelete($COLORED_EDIT_Path) FileWrite($COLORED_EDIT_Path,$Data) _IEAction($COLORED_EDIT_IE_Embedded,"refresh") __ReduceMemory() EndIf $COLORED_EDIT_IE_Embedded.document.body.scrollTop = (_GUICtrlEdit_GetFirstVisibleLine($COLORED_EDIT_InvisibleEdit)*13)-1 Return 0 EndFunc Func __GuiCtrlMakeTrans($iCtrlID,$iTrans=255) Local $pHwnd, $nHwnd, $aPos, $a $hWnd = GUICtrlGetHandle($iCtrlID); If $hWnd = 0 then Return SetError(1,1,0) $pHwnd = DllCall("User32.dll", "hwnd", "GetParent", "hwnd", $hWnd) If $pHwnd[0] = 0 then Return SetError(1,2,0) $aPos = ControlGetPos($pHwnd[0],"",$hWnd) If @error then Return SetError(1,3,0) $nHwnd = GUICreate("", $aPos[2], $aPos[3], $aPos[0], $aPos[1], 0x80000000, 0x00080000 + 0x00000040, $pHwnd[0]) If $nHwnd = 0 then Return SetError(1,4,0) $a = DllCall("User32.dll", "hwnd", "SetParent", "hwnd", $hWnd, "hwnd", $nHwnd) If $a[0] = 0 then Return SetError(1,5,0) If NOT ControlMove($nHwnd,'',$hWnd,0,0) then Return SetError(1,6,-1) GUISetState(@SW_Show,$nHwnd) WinSetTrans($nHwnd,"",$iTrans) If @error then Return SetError(1,7,0) GUISwitch($pHwnd[0]) Return $nHwnd EndFunc Func __Path2URL( $Path) $Path = StringReplace($Path,"\","/") Return "file:///"&$Path EndFunc Func __ReduceMemory() DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) Return 0 EndFunc ;==> _ReduceMemory