ShellExecute will einfach nicht!
Hey,
ich bekomme jedesmal einen Error mit dem Coder hier:
Delphi-Quellcode:
Unzwar sagt er mir bei der Zeile:
if ShellExecute(Application.Handle,
'open', PChar('cmd.exe'), PChar('copy /b ' + Edit1.Text + ' + ' + Edit2.Text + ' ' + Edit3.Text), nil, nil, SW_NORMAL) <= 32 then begin ShowMessage('Fehler!'); end; nil, nil, SW_NORMAL) <= 32 then [Pascal Fehler] Unit1.pas(85): E2010 Inkompatible Typen: 'Integer' und 'Pointer' weiß nicht mehr weiter ^^ Ich habe soviele Varianten ausprobiert, aber keine klappt so richtig. |
Re: ShellExecute will einfach nicht!
Ein nil zuviel?
[edit] Schneller :tongue: [/edit] |
Re: ShellExecute will einfach nicht!
Das 2. nil muss weg, ansonsten hast du einen Parameter zu viel :zwinker:
|
Re: ShellExecute will einfach nicht!
ahh danke xD
Edit: ich habe leider noch ein paar probleme mit dem copy wie bekomme ich das genau hin? Im momment habe ich das noch so:
Delphi-Quellcode:
jedoch will das nicht so richtig ^^
ShellExecute(Application.Handle,
'open', PChar('command.com'), PChar('copy /b ' + Edit1.Text + ' + ' + Edit2.Text + ' ' + Edit3.Text), nil, SW_NORMAL); |
Re: ShellExecute will einfach nicht!
Moin, Moin,
so auf die Schnelle fällt mir auf, dass du als Kommandozeileninterpreter jetzt command.com eingesetzt hast. Das kann, muss aber nicht richtig sein. Bis Windows?? war das command.com, jetzt nennt er sich cmd.exe. Am besten machst du das variabel und fragst das System, wie er sich nennt. Das geht z.B. mit
Delphi-Quellcode:
Anstelle von command.com / cmd.exe fügst du dann "CmdInterpreter" in den Aufruf ein. Schau mal, ob es daran liegt. :hi:
CmdInterpreter:=GetEnvironmentVariable('comspec');
|
Re: ShellExecute will einfach nicht!
jetzt wird die cmd.exe gestaret, jedoch passiert dann nichts mehr ^^
|
Re: ShellExecute will einfach nicht!
Hmmm, also jetzt wage ich mich mal ganz weit aus dem Fenster. Irgendwie war da noch was mit "/c" - aber war das in diesem Zusammenhang? Versuche's mal mit "cmd.exe /c copy ......." und sei nicht enttäuscht, wenn das jetzt Unsinn ist.
|
Re: ShellExecute will einfach nicht!
Mach mal ein /K vor die Parameter, so:
Delphi-Quellcode:
Gehts so? Evtl wars auch /C, weiß ich nicht so genau
ShellExecute(Application.Handle,
'open', PChar('command.com'), PChar('/K copy /b ' + Edit1.Text + ' + ' + Edit2.Text + ' ' + Edit3.Text), nil, SW_NORMAL); |
Re: ShellExecute will einfach nicht!
Kannst Du die Dateien nicht mit Delphi selbst kopieren? (CopyFile, FileStream etc. pp.?)
|
Re: ShellExecute will einfach nicht!
Mit /k sagt er, dass die Datei nicht gefunden wurde und mit /c schließt sich das cmd sofort und es passiert nichts
@Muhkuh gibt es denn auch die gleichen möglichkeiten wie über die console? also mit /b und 2 dateien verbinden? |
Re: ShellExecute will einfach nicht!
Zitat:
|
Re: ShellExecute will einfach nicht!
Kannst Du sicherlich mit FileStreams oder klassisch per AssignFile und Konsorten machen :)
|
Re: ShellExecute will einfach nicht!
die dateien wurden aber per OpenDialog ausgewählt
|
Re: ShellExecute will einfach nicht!
Na, dann prüfe doch zunächst einmal, ob die beiden Dateiangaben überhaupt korrekt sind (das müssen sie ja sein, egal ob du's mit cmd.exe oder mit einem Delphicode machst). Füge doch einfach mal zum Testen an geeigneter Stelle folgendes ein:
Delphi-Quellcode:
(und gleiches für das zweite edit!) - Das solltest du erst einmal klären, bevor wir hier an der falschen Stelle suchen.
if FileExists(Edit1.text) then ShowMessage('datei gefunden')
else showmessage('datei nicht gefunden'); // edit: und wieso stehen die pfade dann in einem edit? |
Re: ShellExecute will einfach nicht!
Schließ die Pfade mal in Anführungszeichen ein (z.B.: "D:\Bild.jpg"), denn wenn ein Leerzeichen im Pfad ist, wird der Teil danach al neuer Parameter angesehen.
|
Re: ShellExecute will einfach nicht!
Servus!
Ich denke das geht soo...
Delphi-Quellcode:
lg
ShellExecute(Application.Handle,
'open', PChar('command.com'), PChar('copy "' + Edit1.Text+'"' + Edit2.Text+'"'+ ' "' + Edit3.Text+'"'), nil, SW_NORMAL); Edit: Wieso eigentlich 3 Edit's ?? Der Befehl geht ja so: (copy C:\Datei.txt C:\Copy\Datei.txt) |
Re: ShellExecute will einfach nicht!
es passiert genau das gleich wenn ich das so schreibe:
PChar('/c copy /b C:\Dokumente und Einstellungen\th16rv\Desktop\1.jpg + C:\Dokumente und Einstellungen\th16rv\Eigene Dateien\clip0001.rar C:\Dokumente und Einstellungen\th16rv\Desktop\Output.jpg'), Edit:
Delphi-Quellcode:
ShellExecute(Application.Handle,
'open', PChar('cmd.exe'), PChar('/c copy /b "' + Edit1.Text + '" + "' + Edit2.Text+'" ' + '"' + Edit3.Text+'"'), nil, SW_NORMAL); Endlich geschafft ^^ es klappt endlich! Danke an euch alle! |
Re: ShellExecute will einfach nicht!
Du solltest das Copy vorneran stellen und nicht den Parameter /c?
|
Re: ShellExecute will einfach nicht!
Zitat:
Das bedeutet ja eigentlich "Clip00001.rar" mit "1.jpg" wird kopiert nach "...Output.jpg", oder nicht? Du kannst ja nur eine Datei zu einem anderen Ort kopieren,aber doch nicht 2 Dateien zu einer Datei!?! ...Oder check ich da was nicht? |
Re: ShellExecute will einfach nicht!
warum muß es denn unbedingt ShellExecute sein, obwohl man diese Opreration auch sehr leicht selber lösen könnte?
|
Re: ShellExecute will einfach nicht!
Zitat:
@ Himitsu: Das frage ich mich auch :gruebel: |
Re: ShellExecute will einfach nicht!
Zitat:
|
Re: ShellExecute will einfach nicht!
bild.jpg + archiv.rar ziel.jpg
jetzt hat man ein ganz normales bild, doch wenn du die endung zu .rar änderst und das bild (archiv) entpackst, hast du den inhalt der archiv.rar datei |
Re: ShellExecute will einfach nicht!
aber wozu wöllte man eine Datei so in einem Bild verstecken?
dazumal dieses ersten nicht wirklich versteckt ist und als Schutz dieht es genauso wenig. PS: hier gab es vor kurzem mal wieder ein Projekt, wo die Daten direkt in den Pixeln versteckt werden, was praktisch ohne Kenntnis, daß da überhaupt was drin ist, "nicht" entdeckt werden kann. PSS: hast du 'ne Antword auf Beitrag #20? und wozu soll dieses denn gut sein, bzw. was willst du erreichen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 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