Zip Routinen

Für Fragen von Einsteigern und Programmieranfängern...
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zip Routinen

Beitrag von pluto »

In den Link den ich weiter Oben gepostet habe, wird auch gezeigt wie es ohne "ExecuteProcess" geht. Dann hast du mehr Einstellungs-Möglichkeiten.
MFG
Michael Springwald

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Zip Routinen

Beitrag von felix96 »

Windows

Code: Alles auswählen

code := ExecuteProcess('C:\Programme\7-zip\7z.exe',['e','"C:\Datei 1.zip"']);
hatte nicht meine anpassungen gepostet
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zip Routinen

Beitrag von pluto »

mach es doch mit TProsses, dann hast du mehr Möglichkeiten.
MFG
Michael Springwald

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Zip Routinen

Beitrag von felix96 »

Hat jemand ein Beispiel wie man z.B. sowas C:\Programme\7-zip\7z.exe',['e','"C:\Datei 1.zip"'] aufrufen kann, ohne das es gesehen wird?
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: Zip Routinen

Beitrag von _X_ »

Also ich würd sagen das da -> http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
und dort

Code: Alles auswählen

TProcess.ShowWindow := swoHIDE;
mfg _X_

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zip Routinen

Beitrag von Socke »

_X_ hat geschrieben:Also ich würd sagen das da -> http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
und dort

Code: Alles auswählen

TProcess.ShowWindow := swoHIDE;
mfg _X_
Dein Code ist natürlich Müll :D und da "swoHIDE" auf der wiki-Seite nicht auftaucht, sollte man fairer Weise auch auf http://lazarus-ccr.sourceforge.net/docs ... ocess.html verlinken.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: Zip Routinen

Beitrag von _X_ »

Socke hat geschrieben:Dein Code ist natürlich Müll :D.
Find ich auch ^^
Die Doku hab ich einfach vergessen, sry

mfg _X_

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Zip Routinen

Beitrag von felix96 »

Das funktionirt ja gaz gut,

Code: Alles auswählen

memo1.Clear;
     AProcess := TProcess.Create(nil);
      AStringList := TStringList.Create;
     aprocess.ShowWindow := swohide;
     AProcess.CommandLine := 'C:\programme\7-zip\7z.exe';//['e','-phi','-y','"C:\hi.zip"'];
      AProcess.Options := AProcess.Options + [poUsePipes];
     AProcess.Execute;
      AStringList.LoadFromStream(AProcess.Output);
      memo1.Lines := astringlist;
      astringlist.Free;
     aprocess.Free;
Aber wie geht das

Code: Alles auswählen

//['e,'-phi','-y','"C:\hi.zip"'];
,
also wie kann ich 7-zip sagen was es machen soll :?:
Zuletzt geändert von felix96 am Sa 6. Mär 2010, 19:20, insgesamt 1-mal geändert.
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zip Routinen

Beitrag von pluto »

also wie kann ich 7-zip sagen was es machen soll
Musst du einfach als Parameter übergeben. Gibt mal in der Console 7Zip --help ein. Dann siehst du die Möglichkeiten.
MFG
Michael Springwald

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zip Routinen

Beitrag von Socke »

pluto hat geschrieben:
also wie kann ich 7-zip sagen was es machen soll
Musst du einfach als Parameter übergeben. Gibt mal in der Console 7Zip --help ein. Dann siehst du die Möglichkeiten.
Es geht wohl eher darum, wie man die Parameter übergibt.
Bei TProcess gehören die mit in die Eigenschaft CommandLine.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Zip Routinen

Beitrag von felix96 »

Wie, das geht nicht:

Code: Alles auswählen

AProcess.CommandLine := 'C:\programme\7-zip\7z.exe'['e','-phi','-y','"C:\hi.zip"'];
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: Zip Routinen

Beitrag von _X_ »

felix96 hat geschrieben:Wie, das geht nicht:

Code: Alles auswählen

AProcess.CommandLine := 'C:\programme\7-zip\7z.exe'['e','-phi','-y','"C:\hi.zip"'];
:shock: :shock:

Code: Alles auswählen

AProcess.CommandLine := 'C:\programme\7-zip\7z.exe -e -phi -y "C:\hi.zip"';
mfg _X_

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zip Routinen

Beitrag von Socke »

felix96 hat geschrieben:Wie, das geht nicht:

Code: Alles auswählen

AProcess.CommandLine := 'C:\programme\7-zip\7z.exe'['e','-phi','-y','"C:\hi.zip"'];
Ich glaube hier fehlen noch ein paar Grundlagen bezüglich Datentypen, speziell Strings und arrays sowie dem Verbinden von Strings betreffend.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Zip Routinen

Beitrag von felix96 »

Der Output ist jetzt aber immer:

Error:
Incorrect command line
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zip Routinen

Beitrag von Socke »

felix96 hat geschrieben:Der Output ist jetzt aber immer:

Error:
Incorrect command line
Ich finds ziemlich lustig, dass alle versuchen dir zu helfen (weil du wirklich "Hilfe" brauchst), du aber selbst nicht einmal die geringste Dokumentation bemühst um dir selbst zu helfen. Ein Kommentar deinerseits zu meiner Einschätzung würde mich sehr freuen.

Ich übersetze mal das, was du getan hast, und das, was heraus kommt, für dich:
  • Du kannst 7zip mittels TProcess aufrufen und StdOut lesen
  • 7zip wird auch wirklich gestartet
  • 7zip funktioniert auch richtig und hat keine funktionseinschränkenden Fehler
  • Du hast die Dokumentation zu 7zip nicht gelesen/verstanden
  • "Error: Incorrect command line" heißt auf deutsch übersetzt soviel wie "Fehler: Befehlszeile ist fehlerhaft". Gemeint ist nicht der Programmaufruf (C:\...\7zip) sonder das was dahinter steht (auch Kommandozeilenargumente genannt)
  • Welche Kommandozeilenargumente du wie angeben musst, steht in der Dokumentation
  • Ich hoffe du weißt, dass bei ExecuteProcess die Argumente in der Form ['a','b'] nicht gleich 'a'+'b' bei TProcess ist.
Ich hoffe dir trotz meiner vielleicht etwas zu sarkastischen Schreibweise (ist nicht böse gemeint) weitergeholfen zu haben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten