![]() |
Konsole in GUI-Anwendung?!
Hallöchen,
Ich hab mal ne klitzekleine Frage :) Also ich habe ein Programm, welches die lame.exe dafür verwendet, wav-Dateien in mp3-Dateien umzuwandeln. Es gibt eine Liste von umzuwandelden Dateien, die nach und nach abgearbeitet wird. Es wird der Prozess geöffnet und ab dann checkt das Programm jede halbe Sekunde, ob der Prozess noch existiert, sobald der Prozess "lame.exe" nicht mehr existiert, startet das Programm die Umwandlung der nächsten Datei. Das Ganze funktioniert ganz gut, aber aus optischen und programmiertechnischen Gründen wollt ich das Ganze optimieren. Ich würde gerne in meiner GUI ein Textfeld einfügen, in der die aktuellen Operationen der Konsolenanwendung "lime.exe" angezeigt werden. Ich will sozusagen eine Anwendung in meiner Anwendung ausführen, sodass nicht immer das Dos-Fenster erscheint. Ich bin dankbar für alle Vorschläge, die ihr mir macht, ihr könnt mir auch alternative Möglichkeiten nennen ^^ (Ausser die Umwandlung direkt in meiner Anwendung zu machen, dazu bin ich schlichtweg zu blöd ^^) Danke !! |
Re: Konsole in GUI-Anwendung?!
Hallo,
ich glaube du kannst die Ausgabe des prozesses auf eine pipe umleiten. irgendwie so:
Code:
nur die syntax weiß ich nicht. die pipe kannst du dann auslesen.
lame.exe --param --param value > \\pipe\lamepipe\
|
Re: Konsole in GUI-Anwendung?!
hört sich schon mal gut an, aber ich weiß darüber leider rein gar nichts ^^ also ich kann damit nichts anfangen
danke erstmal! |
Re: Konsole in GUI-Anwendung?!
Schau dir mal den Installer der JCL bzw. JVCL an. Dort ist alles enthalten was man dazu braucht, denn es wird dcc32.exe von Delphi versklavt.
|
Re: Konsole in GUI-Anwendung?!
Such mal nach ShellexecuteAndWait Diesem Befehl kannst du die gleichen Befehle wie Shellexecute übergeben, aber noch einstellen, dass auf des Ende des Programms gewartet werden soll. Dann könntest du damit ShellexecuteAndWait(0,'lame.exe',pchar(/c Dateiname),Ziel,SW_Hide,true)) aufrufen (oder so ähnlich. wichtig ist nur das /c, dass die Konsole nach der Abarbeitung des Befehls wieder schließt.)
Das kannst du dann in eine Schleife packen. |
Re: Konsole in GUI-Anwendung?!
![]() |
Re: Konsole in GUI-Anwendung?!
nimm doch einfach die DLL und nicht die Exe ;-)
|
Re: Konsole in GUI-Anwendung?!
Danke für die Antworten, die Antwort von Nikolas macht es natürlich einfacher, aber ich will ja, dass der Fortschritt in einem Memo angezeigt wird und das geht ja dann nicht. mit RunCaptured gehts auch nich, da dann bis zum Ende des Programms gewartet wird, bis es ausgegeben wird. Trotzdem Danke, ich hab mir erstmal die JEDI Kompos gesaugt.
|
Re: Konsole in GUI-Anwendung?!
willst du den Fortschritt in einer einzelnen Dateiumwandlung oder für deine ganze Sammlung?
|
Re: Konsole in GUI-Anwendung?!
der einzelnen Umwandlung
EDIT: Also die JCL/JVCL kompos bekomm ich nich installiert, weder mit install.bat, noch manuell, ich brauch also ne andere Möglichkeit, oder ich überlege wirklich das Ganze über die DLL zu machen, aber da hab ich wirklich 0 Ahnung, hab noch nie mit DLLs gearbeitet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz