Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: c++ ovladanie gnome-terminalu  (Přečteno 2461 krát)

Martingt89

  • Návštěvník
  • Příspěvků: 59
c++ ovladanie gnome-terminalu
« kdy: 05 Prosince 2008, 22:28:43 »
Snažil som sa niečo pohladať na internete ale nevedel som kde hladať tak sa obraciam na vás s prozbou:

Chcel by som robiť nejake GUI pre konzolove aplikacie v jazyku C++ no nenašiel som žiadne navody, jedine prikaz system(), ktory určite nepracoval tak ako by som chcel.  ??? Ide o jednoduche ukony ako spusťať príakzy čítať výpisy atd.

Bol by som veľmi rád keby mi aspon niekto pomohl.

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
Re: c++ ovladanie gnome-terminalu
« Odpověď #1 kdy: 05 Prosince 2008, 22:43:01 »
Snažil som sa niečo pohladať na internete ale nevedel som kde hladať tak sa obraciam na vás s prozbou:

Chcel by som robiť nejake GUI pre konzolove aplikacie v jazyku C++ no nenašiel som žiadne navody, jedine prikaz system(), ktory určite nepracoval tak ako by som chcel.  ??? Ide o jednoduche ukony ako spusťať príakzy čítať výpisy atd.

Bol by som veľmi rád keby mi aspon niekto pomohl.
Nepochopil jsem to možná správně, ale co toto: spawnl
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martingt89

  • Návštěvník
  • Příspěvků: 59
Re: c++ ovladanie gnome-terminalu
« Odpověď #2 kdy: 06 Prosince 2008, 12:53:17 »
Hladal som ako sa to dalo, ale nie je spawnl pre windows??? pretože som nikde nenašieľ ako to použiť pod linuxom :(

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
Re: c++ ovladanie gnome-terminalu
« Odpověď #3 kdy: 06 Prosince 2008, 12:59:49 »
Zkoušel jste includovat metodu přes stdio.h? Popřípadě msdn uvádí _wspawnl pro wchar a ta je určitě v stdio ;)

Použití:

intptr_t _spawnl(
   int mode,
   const char *cmdname,
   const char *arg0,
   const char *arg1,
   ... const char *argn,
   NULL
);

¨Return Value
The return value from a synchronous _spawnl or _wspawnl (_P_WAIT specified for mode) is the exit status of the new process. The return value from an asynchronous _spawnl or _wspawnl (_P_NOWAIT or _P_NOWAITO specified for mode) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the exit routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of –1 indicates an error (the new process is not started). In this case, errno is set to one of the following values:

E2BIG
Argument list exceeds 1024 bytes
EINVAL
mode argument is invalid
ENOENT
File or path is not found
ENOEXEC
Specified file is not executable or has invalid executable-file format
ENOMEM
Not enough memory is available to execute new process
See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.

Remarks
Each of these functions creates and executes a new process, passing each command-line argument as a separate parameter.

Popřípadě můžete-li includovat Qt4, tak tam je na to metoda v třídě QProcess ;)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martingt89

  • Návštěvník
  • Příspěvků: 59
Re: c++ ovladanie gnome-terminalu
« Odpověď #4 kdy: 12 Ledna 2009, 17:31:37 »
Možno som tatar, možno sa len hrabem moc vysoko ale spustanie aplikacii v gnome-terminali som vyriesil prikazom exec, ale ak by sa dalo jednoducho vysvetlit ako z tohto terminalu precitat.
Priklad:
execl("/bin/sh","sh","-c","hcitool scan", (char*) NULL); //spusti sa prikaz hcitool scan - skenuje bluetooth zariadenia
Konzola vypise "No such device"
Pytam sa ako tento text dostat
a) nejaky externy subor napr. TXT
alebo
b) Priamo do programu napr do stringu
Ak by tu bol nejaky odbornik, poradil by mi ale najlepsie aj s prikladovym kodom dakujem.
« Poslední změna: 13 Ledna 2009, 22:35:26 od Martingt89 »

 

Provoz zaštiťuje spolek OpenAlt.