Bonsoir à tous)
est il possible d'intégrer une fenêtre console dans une fenêtre window? si oui, j'en serais ravis de voir ça)
je pose la question car fut une époque, j'avais un ancien logiciel où sur le coin droit ou gauche de la fenêtre,
on pouvait observer la présence d'une console, je ne sais plus trop de quoi d'ailleur et j'ignore quelle
méthode avait été employé, mais cela m'intéresserais de faire la même chose pour un projet avenir
je m'en remets à vous les spécialistes
Integration console
Re: Integration console
Jamais je n'ai vu ca; donc...Ekim a écrit :est il possible d'intégrer une fenêtre console dans une fenêtre window?
Les consoles s'ouvrent sous windows et pas sur une fenetre windows.
Mais attendons que les ténors de PB s'expriment...
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Re: Integration console
Salut @SPH, il est vrai que sa aurait été plus simple de retrouver le nom du fameux soft
mais je cherche comme un malade dans mes anciens disque ext, bref c'est pas gagné
mais je cherche comme un malade dans mes anciens disque ext, bref c'est pas gagné
Re: Integration console
Il est plus simple de recuperer la sortie console et de l'afficher dans une fenêtre comme ça:
(ça vient du forum)
T'as plus qu'à taper help ou dir sous windows...
C'est dommage que "AltConsole" soit devenu payant parce qu'il est génial:
https://www.purebasic.fr/english/viewto ... ALtconsole
M.
(ça vient du forum)
Code : Tout sélectionner
;Rediriger l'invite de commande dans un gadget
Enumeration Font
#FontGlobal
EndEnumeration
Enumeration Window
#MainForm
EndEnumeration
Enumeration Gadget
#Result
EndEnumeration
Enumeration KeyBoard
#Up
#Down
EndEnumeration
Declare Start()
Declare RunCmd(Cmd.s)
Declare OnChange()
Declare OnKey()
Declare OnResize()
Start()
Procedure Start()
LoadFont(#FontGlobal, "", 11)
SetGadgetFont(#PB_Default, FontID(#FontGlobal))
If OpenWindow(#MainForm, 0, 0, 800, 600, "Terminal", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
EditorGadget(#Result, 5, 10, 790, 580)
SetGadgetColor(#Result, #PB_Gadget_BackColor, RGB(174, 191, 191))
SetActiveGadget(#Result)
AddKeyboardShortcut(#MainForm, #PB_Shortcut_Up, #Up)
AddKeyboardShortcut(#MainForm, #PB_Shortcut_Down, #Down)
BindEvent(#PB_Event_Menu, @OnKey(), #MainForm, #Up)
BindEvent(#PB_Event_Menu, @OnKey(), #MainForm, #Down)
BindEvent(#PB_Event_SizeWindow, @OnResize())
BindGadgetEvent(#Result, @OnChange(), #PB_EventType_Change)
Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
EndProcedure
Procedure RunCmd(Cmd.s)
Protected prg.i, Stdout.s, TagResult.b
Select LCase(cmd)
Case "cls"
ClearGadgetItems(#Result)
Case "exit"
End
Default
If LSet(Cmd, 3) = "cd "
SetCurrentDirectory(Trim(Mid(cmd, 3)))
AddGadgetItem(#Result, -1, "le dossier courrant est : " + GetCurrentDirectory())
ElseIf LCase(LSet(cmd, 5)) = "title"
SetWindowTitle(#MainForm, Trim(Mid(cmd, 6)))
Else
prg = RunProgram("cmd.exe", "/c " + Cmd, "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Hide|#PB_Program_UTF8);
If prg
While ProgramRunning(prg)
If AvailableProgramOutput(prg)
Stdout = ReadProgramString(prg, #PB_UTF8)
AddGadgetItem(#Result, -1, Stdout)
If Stdout <> ""
TagResult = #True
EndIf
EndIf
Wend
CloseProgram(prg)
If FindString(Cmd, ">") Or FindString(LCase(Cmd), "del")
TagResult = #True
EndIf
If Not TagResult
AddGadgetItem(#Result, -1, "Erreur de commande : " + Cmd)
EndIf
EndIf
EndIf
AddGadgetItem(#Result, -1, "")
EndSelect
EndProcedure
Procedure OnChange()
Protected Buffer.s = GetGadgetItemText(#Result, CountGadgetItems(#Result)-1)
Static Cmd.s
If Buffer = "" And cmd <> ""
RunCmd(cmd)
EndIf
Cmd = Buffer
SetGadgetState(#Result, CountGadgetItems(#Result))
EndProcedure
Procedure OnKey()
Protected Index = CountGadgetItems(#Result)
SetGadgetState(#Result, Index)
EndProcedure
Procedure OnResize()
Protected Width = WindowWidth(#MainForm)
Protected Height= WindowHeight(#MainForm)
ResizeGadget(#Result, #PB_Ignore, #PB_Ignore, Width - 10, Height - 20)
EndProcedure
C'est dommage que "AltConsole" soit devenu payant parce qu'il est génial:
https://www.purebasic.fr/english/viewto ... ALtconsole
M.
Re: Integration console
Salut @Mesa
Ton idée est génial, mais en fait, je m'était peut être mal exprimé
ce que j'entendais par "console" c'était la console propre à Pb et
non pas cmd, l'invite de commande de microsoft;
j'aurais peut être dû dire plutôt console Pb dans un Window Pb
mais ton idée est excellente merci pour le partage
Ton idée est génial, mais en fait, je m'était peut être mal exprimé
ce que j'entendais par "console" c'était la console propre à Pb et
non pas cmd, l'invite de commande de microsoft;
j'aurais peut être dû dire plutôt console Pb dans un Window Pb
mais ton idée est excellente merci pour le partage
Re: Integration console
Console PB ??Ekim a écrit :j'aurais peut être dû dire plutôt console Pb dans un Window Pb
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Integration console
Ne serais-ce pas plutôt la fenêtre de Debug ?ce que j'entendais par "console" c'était la console propre à Pb et
non pas cmd, l'invite de commande de microsoft;
j'aurais peut être dû dire plutôt console Pb dans un Window Pb
Dans ce cas, ce n'est pas une console, car elle ne fait que les sorties.
Les sorties "console" qu'on trouve par exemple dans les programmes de pilotages de machines CNC (Ex: imprimantes 3D, lasers de découpe etc) sont souvent des fenêtres faisant office de terminal série et permettant de "dialoguer" directement avec la machine pour lui passer les commandes directement (ex: passer des commandes GRBL))
Re: Integration console
Ok autant pour moi concernant les appellations techniques
Merci pour votre aide, comme vous le voyez, je viens de très loin))
encore merci
Merci pour votre aide, comme vous le voyez, je viens de très loin))
encore merci