AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GUI Anwendung mit Consolen-Ausgabe

Ein Thema von MrKnogge · begonnen am 8. Jul 2005 · letzter Beitrag vom 9. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#1

GUI Anwendung mit Consolen-Ausgabe

  Alt 8. Jul 2005, 23:41
Hallo,

ich würde gerne eine Gui-Anwendung schreiben, die wenn man sie aus der Eingabe-Aufforderung mit Parametern startet, die Ausgabe per Eingabe-Aufforderung geschieht, (wie beispielsweise 7z).

Ist das möglich, oder muss ich dann eine extra Consolen-Anwenung schreiben, die dann aus meiner Anwenung aufgerufen wird ?

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 16:16
Hallo Christian,

ein gesondertes Konsolenprogramm wird wohl nicht notwendig sein:

Delphi-Quellcode:
uses
  Windows;

var
  hIn: THandle;
  hOut: THandle;
  c: char;
  iRead, iWritten: cardinal;
  s: string;

begin
  AllocConsole;

  hIn := GetStdHandle(STD_INPUT_HANDLE);
  hOut := GetStdHandle(STD_OUTPUT_HANDLE);
  
  FlushFileBuffers(hIn);

  s := '';
  repeat
    ReadFile(hIn, c, 1, iRead, nil);
    if c = #13
      then Break
      else s := s + c;
  until false;

  WriteFile(hOut, s[1], Length(s), iWritten, nil);

  FreeConsole;
end.
Grüße vom marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#3

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 18:09
{$APPTYPE CONSOLE} ... wenn ein GUI-Programm auch Writeln() können soll
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 18:12
@olli: Nur leider kommt dann das Consolenprogramm standardmäßig immer, ich glaub aber der Sinn war dass, das Consolenfenster entweder gar nicht erscheinen sollte oder eben nur bei bestimmten Parametern... Ansonsten war das auch mein erster Gedanke, denn mit diesem Apptype (Console) und dann dem Projekt ein Form hinzufügen hat man leider genau den selben effekt wie gerade beschrieben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#5

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 18:24
Zitat von SirThornberry:
@olli: Nur leider kommt dann das Consolenprogramm standardmäßig immer, ich glaub aber der Sinn war dass, das Consolenfenster entweder gar nicht erscheinen sollte oder eben nur bei bestimmten Parametern... Ansonsten war das auch mein erster Gedanke, denn mit diesem Apptype (Console) und dann dem Projekt ein Form hinzufügen hat man leider genau den selben effekt wie gerade beschrieben.
Das stimmt, allerdings gehen bestimmte Sachen nicht, wenn du über AllocConsole() gehst. Das wäre die Alternative um sich auf die Schnelle eine Ausgabekonsole im normalen Windowsstil zu holen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 18:46
Hi Olli,

das WIN32 Console API bietet mir eigentlich alles was ich brauche, aber hier reicht das wohl nicht. Beim Starten des Programmes aus einer Konsole will MrKnogge wahrscheinlich kein neues Konsolfenster, sondern die Standard-Kanäle des offenen Fensters benutzen.

Nachdenkliche Grüße vom marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#7

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 18:51
@marabu: In diesem Falle sollte er es ganz simpel vergessen. <--- KEIN SCHERZ!
Ich habe das vor Jahren intensiv recherchiert. Das geht einfach nicht. Liegt daran, daß der PE-Loader je nach Flag des Subsystems (CUI/GUI) andere Sachen macht. Also vergeßt es ... alles was machbar ist ist eine Frickellösung! Natürlich ginge es sicher "irgendwie" über das Einschleichen in den Elternprozeß, so dieser das zuläßt.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#8

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 20:38
Zitat von marabu:
Beim Starten des Programmes aus einer Konsole will MrKnogge wahrscheinlich kein neues Konsolfenster, sondern die Standard-Kanäle des offenen Fensters benutzen.
Genau das wollte ich eigentlich, aber erstmal reicht die Funktion von dir auf jedenfall !

Könnte ich den das Offene Fenster benutzen, wenn ich noch eine "Consolen-Variante" meines Programmes schreiben würde ?

Der Aufwaand wäre eigentlich nicht mal zu hoch, wenn ich die benötigten funktionen aus meiner Haupt-exe exportieren würde.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#9

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 20:41
Zitat von MrKnogge:
Könnte ich den das Offene Fenster benutzen, wenn ich noch eine "Consolen-Variante" meines Programmes schreiben würde ?
Ein klares: JA!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#10

Re: GUI Anwendung mit Consolen-Ausgabe

  Alt 9. Jul 2005, 20:46
Muss ich da etwas beachten, oder kann ich einfach ganz normal mit ReadLn und WriteLn arbeiten ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz