AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dos command

Ein Thema von value is NULL · begonnen am 30. Mär 2012 · letzter Beitrag vom 30. Mär 2012
Antwort Antwort
Seite 2 von 4     12 34   
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#11

AW: Dos command

  Alt 30. Mär 2012, 10:22
Es geht mir nicht nur um DIR sondern um Alle Befehle, welche ich in einem CMD Prompt executen kann. (ipconfig, dir, copy, usw usw )

Der Sinn liegt darin, das ich ein kleines commandline Tool bastle, indem ich verschiedene Befehle ausführen kann. hier möchte ich eben noch
oben genannte DOS Befehle einbinden dh. Die Eingabe sieht dann ca so aus: execcmd <DOS-BEFEHL>.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Dos command

  Alt 30. Mär 2012, 10:23
Bei mir funktioniert der Code. Hast Du denn nun endlich den Rückgabewert von ShellExecute ausgewertet? Was steht drin?

[edit] Oder was sagt diese Variante?
Delphi-Quellcode:
procedure ExecuteCommand(const command: string);
const
  ENV_VAR = '%COMSPEC%';
var
  comspec: string;
  ReturnValue: integer;
begin
  SetLength(comspec, ExpandEnvironmentStrings(ENV_VAR, nil, 0) + 1);
  ExpandEnvironmentStrings(ENV_VAR, PChar(comspec), Length(comspec));
  SetLength(comspec, StrLen(PChar(comspec)));
  if comspec <> 'then
    begin
      ReturnValue := ShellExecute(0, 'open', PChar(comspec),
        PChar('/k ' + command), nil, SW_SHOW);
      if ReturnValue < 33 then
        MessageBox(0, PChar(Format('Fehler bei ShellExecute: %d', [ReturnValue])
          ), nil, MB_OK or MB_ICONERROR);
    end
  else
    MessageBox(0, 'Kommandointerpreter konnte nicht ermittelt werden.', nil,
      MB_OK or MB_ICONERROR);
end;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (30. Mär 2012 um 10:36 Uhr)
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#13

AW: Dos command

  Alt 30. Mär 2012, 10:58
Das funktioniert echt gut! Aber wie krieg ich das in meine Consoleapp und nicht in das extra cmd Fenster ?

LG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Dos command

  Alt 30. Mär 2012, 11:07
Dein Programm ist eine Konsolenanwendung? Dann wird das mit ShellExecute vermutlich nicht funktionieren. Wenn ich die Hilfe zu MSDN-Library durchsuchenCreateProcess richtig deute, könnte es damit evtl. klappen, ist aber aufwändiger. In dem Zusammenhang wäre dann der dwCreationFlags-Parameter der Funktion interessant.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Dos command

  Alt 30. Mär 2012, 11:13
Jupp, du mußt dann die Handle deines Consolenfensters an die anderen Anwendungen übergeben,
nicht daß die sich noch eine eigene Console aufmachen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#16

AW: Dos command

  Alt 30. Mär 2012, 11:15
Ich gebe zu ich hab keinen Plan
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#17

AW: Dos command

  Alt 30. Mär 2012, 11:23
Ich empfehle dir ein Tutorial zu Handles dann anzugucken
Coffeecoder
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Dos command

  Alt 30. Mär 2012, 11:25
http://www.textarchiv.alojado.de/tex...den-ap777.html Probier halt ein wenig mit den verschiedenen Möglichkeiten herum.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Dos command

  Alt 30. Mär 2012, 11:28
Du möchtest eine Consolenanwendung erstellen, die ähnlich wie die CMD.EXE agiert, zusätzlich aber noch die Möglichkeit bietet, Abfragen an eine DB zu schicken.

Mir ist entfallen welche DB Du nutzt, aber ich möchte wetten, daß auch diese eine Möglichkeit bietet per Kommandozeile auf sie zuzugreifen.

Vielleicht wäre es einfacher für Dich, bereits vorhandene Tools zu nutzen, als das Rad noch einmal neu zu erfinden?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#20

AW: Dos command

  Alt 30. Mär 2012, 11:40
Vielleicht ist das nen Blick wert: DOSCommand

Hab damit mal ein eigenes "Konsolenfenster" programmiert und ihm Extrafeatures verpasst. Geht ja fast in deine Richtung.

Gruß,

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf