Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Batch in Delphi (https://www.delphipraxis.net/142783-batch-delphi.html)

CazperFuture 3. Nov 2009 18:11


Batch in Delphi
 
Hallo,
ich würde gerne eine Batch-Datei in eine Delphi-*.exe einbinden. Wenn ich z.B. auf einen Button klicke soll die *.exe gestartet werden. Ich möchte die Batch-exe nicht mit dem DateiPfad starten, sondern ich möchte nur eine *.exe haben.
wie geht das ??


danke schon mal :glaskugel:

DeddyH 3. Nov 2009 18:18

Re: Batch in Delphi
 
Sofern ich aus dem Kauderwelsch schlau werde: Batch-Dateien sind ganz normale Textdateien mit der Endung .bat. Die kannst Du doch einfach aus Deinem Programm heraus erstellen und starten.

patti 3. Nov 2009 18:31

Re: Batch in Delphi
 
Ich verstehe dein Problem ehrlich gesagt nicht ganz (und ich glaube DeddyH geht es genauso). Wo genau liegt denn das Problem? Geht es um das Einbinden der Batch-Datei in die EXE (Stichwort Ressourcen) oder das Ausführen der Batch-Datei (evtl. über ShellExecute, bin mir da grad nicht ganz sicher)? Vielleicht solltest du uns noch einpaar Details zu deinem Problem nennen ;-)

Patti

Edit: der 333. Beitrag :drunken:

DeddyH 3. Nov 2009 18:59

Re: Batch in Delphi
 
Meinst Du vielleicht so etwas?
Delphi-Quellcode:
uses ShellAPI;

resourcestring
  Batchinhalt = '@echo off' +
                sLineBreak +
                'dir %windir%' +
                sLinebreak +
                'pause' +
                sLineBreak +
                'del %0';

procedure TFormBla.ButtonBatchClick(Sender: TObject);
var TempPath, TempFile: string;
    Lines: TStringlist;
    ErrorCode: Cardinal;
begin
  SetLength(TempPath, MAX_PATH + 1);
  if GetTempPath(MAX_PATH, @TempPath[1]) <> 0 then
    begin
      SetLength(TempPath, StrLen(PChar(TempPath)));
      TempFile := IncludeTrailingPathDelimiter(TempPath) + 'wuppdi.bat';
      Lines := TStringlist.Create;
      try
        Lines.Text := Batchinhalt;
        Lines.SaveToFile(TempFile);
        ErrorCode := ShellExecute(0,'open',PChar(TempFile),nil,nil,SW_SHOW);
        if ErrorCode < 33 then
          MessageBox(0,PChar(Format('Fehlercode: %d',[Errorcode])),'Oha!',0);
      finally
        Lines.Free;
      end;
    end;
  SetLength(TempPath,0);
end;

sx2008 4. Nov 2009 05:28

Re: Batch in Delphi
 
Just for Info:
Dateien mit der Endung .cmd sind die "besseren Batchdateien" weil Windows den neueren Kommandoprozessor cmd.exe anstelle von Command.com verwendet.

CazperFuture 5. Nov 2009 11:51

Re: Batch in Delphi
 
ja genau das meinte ich, danke DeddyH :thumb:

CazperFuture 13. Nov 2009 19:34

Re: Batch in Delphi
 
es ist zwar eine zeit her aber ich habe eine frage und möchte dafür keinen neuen tread eröffnen, wenns geht.
ich möchte zwei exedatein miteinander "verschmelzen" oder mal ein beispiel:

ich habe eine .exedatei und wenn ich auf einen button drücke wird eine beliebige exe gestartet, die beiden exen sollen allerdings als eine datei existieren.
der sinn der sache ist dass ich die exe verschicken will.

DeddyH 13. Nov 2009 19:47

Re: Batch in Delphi
 
:?: Kannst Du das mal präzisieren?

Luckie 13. Nov 2009 19:48

Re: Batch in Delphi
 
Zitat:

Zitat von CazperFuture
es ist zwar eine zeit her aber ich habe eine frage und möchte dafür keinen neuen tread eröffnen, wenns geht.
ich möchte zwei exedatein miteinander "verschmelzen" oder mal ein beispiel

Nein geht nicht. Die Frage hat absolut nichts mit deiner ursprünglichen Frage zu tun. Bitte mach dazu einen neuen Thread auf. Aber bitte benutze vorher mal die Suche.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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