Eine Grafische Oberfläche für 7ZIP unter Linux

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
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)

Eine Grafische Oberfläche für 7ZIP unter Linux

Beitrag von pluto »

Hallo,
Dieses Tool soll eine Grafische Oberfläche für das Comandozeilen Tool 7za sein.
Zugleich möchte ich einen Dateimanger Basteln der sehr viele Funktionen hat.
Wie z.b. Dateien Kopieren, Löschen, Umbennen, Suchen, Erstellen, Anzeigen, Archive Öffnen.
Evlt. noch Backup Dateien zu erstellen und zu Verwalten.
Dies ist ein OpenSoruce Projekt, jeder der mitmachen möchte kann dies gerne tun.
Aber bitte vorehr mit mir absprechen.

Es wird im User Verzeichnis ein Temp Verzeichnis erstellt: 7ZGui

Wenn ihr noch Wünsche, Frage oder Verbesserung Vorschläge habt. Nur her damit.
21.12.2007, Edit09 [highlight=lime]
Info Dialog Verändert, da das alte etwas "seltsam" aussah. Dieses Sieht dafür
deutlich besser aus finde ich.

Anscheind gibt es noch massive Probleme bei der Memo Komponente mit dem Anzeigen von Texten. Das fällt mir erst jetzt wieder auf. :(


So ich weiß wieder warum ich dieses Projekt aufgeben habe: Es lag am Verschieben von Dateien und Verzeichnissen. Aber dieses Problem habe ich heute gelöst.

Ich werde wenn alles gut geht, am Sonntag wahrscheinlich eine neue Version hochladen.
Mit Folgenden Änderungen:
- Kopieren und Verschieben von Dateien und Verzeichnissen per Strg+C bzw X
- Einfügen
- Löschen von Dateien und Verzeichnissen.
- Ein eigenes Eigenschaft Dialog
- Ein neues Info Dialog.
- Verzeichnisse anlegen
- Dateien und Verzeichnis Umbennen(aber nur wenn ein Eintrag Markiert ist)
- Die Toolbar leicht geädernt z.b. nimmt Lazarus das & Zeichen dort nicht mehr an,

Kopieren und Verschieben habe ich so gelöst:
Beim Klicken werden zwei Stringlisten geleert.
Die eine nimmt alle Einträge auf, Verzeichnisse werden gleich durchsucht und in die Liste gepackt.
Die Zweite liste nimmt nur Verzeichnisse auf.
Die brauche ich fürs löschen also auch für die Verschieb Funktion

Löschen: Wird sofort gemacht, ohne Mülleimer, evlt. ändere ich das noch, beim Löschen bzw. davor kommt eine entsprechende Meldung.

Eigenschaften von Dateien und Verzeichnissen wollte ich so lösen:
Es nur eine Datei oder Verzeichnis Markiert werden folgende Eigenschaften angezeigt:
- Dateiname(ohne Erweiterung)
- Datei Verzeichnis
- Datei Erweiterung
- Dateityp und Dateigruppe(Aber erst Später)
- Datei Größe(ist es ein Verzeichnis kann dies Aufwunsch durchsucht werden)
- Datei Atributte nach Linux art
- Benutzerrechte also wem diese Datei oder Verzeichnis gehört.

Das Programm soll nicht nur eine Oberfläche für 7Zip Werden sondern eine art MC(Den von Linx für die Kommandozeile) sowas in dieser Richtung schwebt mir vor.

Im Rechten Fenster sollen aber ersteinmal nur ein Archiv geöffnet werden können.
Später soll hier noch ein zweites Verzeichnis rein können.

Und ich möchte für dieses Projekt noch ein Datei Betrachter haben. Der:
- Soruce Dateien anzeigen kann
- Dateien in der Hexansicht
- Multimedia Dateien abspielen
- Grafiken anzeigen

Aber ich werde mich wohl an meine "Alte" Todo liste halten.
[/highlight]

20.12.2007, Edit08
Da meine 7Zip Oberfläche immer wieder erwähnt wird und ich jetzt auch mehr
Erfahrung mit Lazarus habe, habe ich mich gestern entschieden das Projekt weiter zu
machen, dort wo ich aufgehört habe.

Ihr könnt also davon ausgehen, das in den nächsten Tagen eine neue Version hochgeladen ist: "Version 1.0 Final" Das ist mein angestrebtes Ziel !
Dann wird es auch eine Ausführbare Datei für Linux geben und eine für Windows.
Evlt. scheuen sich dann mehr Leute das Projekt an. Weil der Soruce wurde in der Letzen Monaten nur 7 Mal runter geladen.
Ich werde die neusten Infos zum Projekt blau herforheben, dann müsst ihr nicht lange suchen.

17.08.2007, Edit07
Tools und Tools_File können jetzt runter geladen werden.

13.05.2007, Edit06
- Kopieren, Verschieben, Einfügen, Löschen geht jetzt allerdings noch ohne Verzeichniss
nur Dateien
- Info Dialog hinzugefügt. Screenshot hochgeladen.
Ist das so ok ? ich meine besonders den Teil der nicht mich betrift.
- Jetzt sieht man auch nur noch die Menu Einträge die auch gehen, alle anderen habe ich auf Visible False gesetzt.

11.05.2007, Edit06
- Jetzt können die Funktionen per Tasten druck aufgerufen werden.
- Die Tasten können geändert werden z.b. sind solche werte möglich:
strg+alt+n+r+o+3
wobei die Frage nach dem Sin da ist... naja.
[highlight=red]- Einen kleinen Bug bein hinzufügen behoben, bei der Hochgeladenden Version kommt eine AV.
ich weiß auch warum. Bei mir ist der schon behoben.
[/highlight]
die Nähste Version die ich hochlade wird, die Version 0.8 sein.
Jetzt kommt das Kopieren, Verschieben, Löschen und Einfügen dran.

Währe schön wenn ihr noch Ideen hättet die in die Aufgabe liste eingebaut werden könnte.
Wenn es so weiter geht, ist "Version 1.0 Beta" am Sonntag Fertig *freu*.

10.05.2007, Edit05
- Dateien können wieder per Draq und Drop Hinzugefügt und Entpackt werden.
Wenn noch kein Archiv geöffnet ist, dann wird, das Neu Dialog angezeigt.
- Die SpeedButtons haben jetzt Icons.
- ich habe herrausgefunden wie das geht mit dem Deaktivert.
Dazu muss einfach nur die Eigenschaft:NumGlyphs auf 2 gestellt werden.
- Das Navigieren in Archiven Dürfte schneller gehen, weil ich nur noch
das gewünschte Verzeichnis auslese per 7za.
Problem ist nur noch das Root-Verzeichnis.
Ich schaffe es einfach nicht nur Dateien und Verzeichnisse vom Root Verzeichnis,
des Archives anzuzeigen.

Edit04
Neue Version hoch geladen von 02.05.2007 immer noch 0.5.
es haben sich folgende Dinge geändert:
1: es gibt jetzt eine Info leiste dort werden die Dateien und Verzeichnis gezähl.
Auf der Datei Broser seite kann das Panel Unsichtbar gemacht werden.
Und es werden die Datei Größen zusammen gezählt, wenn Markiert wird.

2: In der Statusbar wird jetzt der Status angezeigt *G*.
also was gerade passiert: Archiv Öffnen z.b.

Der Stop Button geht auch.

3: Quellcode aufgeteilt also in Verschinde Klassen und Units zum Teil mit Kometare versehen.

4: Wenn ein Archiv Geöffnet ist oder das hinzufügen/löschen Fertig ist,
wird die Prossesbar und der Status auto. nach einigen Augenblicken zurück gesetzt

ein Neues Archiv geht im Moment leider noch nicht. Genau so wie das Draq und Drop.
das eigentliche was ihr testen könnt sind folgende dinge:
Hinzufügen per H Button
Löschen per L Button
und Archive Öffnen per Doppelklick.

ach ja wie gesagt die Prossesbar spring zwischen durch einfach hin und her, ich weiß nicht warum.
Wenn ein Fehler kommt, öffnet bitte das Programm in der Console und Postet dann die Ausgabe.
ich habe einige WriteLn an bestimmten Stellen gepackt wo durch ich hoffe Fehler schneller und besser zu finden.

Beim Start Dürftet ihr eine leere ListView vorfinden, weil das Verzeichnis bei euch nicht gibt.
Bitte ändert es entsprechend.
Edit03 Aufgaben Liste für das Programm:
Funktionen Version 4.0
-----------------------------------------------------------------------
04 - Sicherung Dateien vom User Daten erstellen
A - Nachzeit, z.b. jeden Tag, nach jeder änderung.
B - Profil Manger erstellen.

03 - Ein test Profil erstellen
Es soll möglich sein, ein test Profil zu erstellen. Das Stelle
ich mir so vor:
Der Anwender möchte jetzt eine Funktion testen. Dazu klickt er dann
auf Profil Testen und dort wird das Aktuelle Profil rein kopiert.
Es die Funktion gut, kann sie in das Aktuelle Profil übernommen werden.

02 - Programm nur einmal starten
A - Beim Programm start soll eine Datei angelegt werden,
die einfach auf deren Inhalt geprüft wird.
Wenn die Datei vorhanden ist, soll das Programm nicht starten,
sondern, die "Alte" Anwendung soll hoch kommen mit dem
entsprechendem Fenstertyp.

Beim Beenden wird die Datei gelöscht.
Wird das Programm nicht richtig Beenden z.b. durch einen
abstutzt, könnte die alte Sitzung wieder hergestellt werden,
wenn die nötigten Infos in der besagten Datei drin stehen würden.

01 - Mehrer Fenster hinzufügen
A - Oberfläche erstellen, fertig
B - Jedes Fenster soll verschiedene Typen annehmen können:
Datei Browser, Datei Betrachter, Archiv Browser, Hex Editor


Funktionen Version 3.0
-----------------------------------------------------------------------
03 - Projekt für verschinde System Kompelieren:
A - Linux, GTK1
B - Linux, GTK2
C - Windows
D - Windows CE,wenn möglich
E - OS/2,wenn möglich
F - Für Gnome
G - Gibt noch mehr ?
02 - DLL's, für 7Za Verwenden
.................................................................
ich möchte nicht mehr "nur ein Programm aufrufen, sondern
DLL's verwenden, wenn möglich. Ich glaube einfach das es
sicherer ist und ich mehr Kontrolle über das geschehen habe.
Op das schneller ist weiß ich nicht. Aber ich kann es mir Vorstellen
Das es schneller ist.

01 - Baum Ansicht hinzufügen mit hilfe von der VST Komponente


Funktionen Version 2.0
-----------------------------------------------------------------------
10 - Datei Betrachter
A - Für Quellcode(SynEdit) und Text Dateien
B - Für Audio Dateien
C - Für Video Dateien
D - Für Bin Dateien(Hex Editor)
E - Für Grafik mit Hilfe von theo's TOPBitmap

09 - Such Funktion
A - Dateien oder Verzeichnisse suchen mit Maske(n)(*.txt, *., *.*
B - Texte in Dateien suchen
A - Nur in den Gefunden Dateien suchen, die
C - Mehr Such kretieren einfügen, wie z.b. Datei Größe oder Änderungs Datum
D - Such Ergebnisse und Angaben im Profil Abspeichern

08 - Dateilisten
A - Einmal in HTML
B - Einmal in einfachen Text Dateien
07 - Verschinde User Profile
06 - Mehrer Sprachen
A - Alles was mit Sprache zu tuen hat aus einer Datei Laden
B - Deutsch und Englische Sprache Datei erstellen

Funktionen Version 1.5
-----------------------------------------------------------------------
05 - Start Parameter
A - Fürs hinzufügen in Datei Archiven von der Shell
B - Fürs löschen aus Datei Archiven von der Shell
C - Neues Archiv Erstellen von der Shell
D - Archiv Öffnen aus der Shell
E - Verzeichnis Öffnen von der Shell oder Commandoline

04 - Icon neben Einträge
A - Eigene Icon Vorlagen, erstellen wo die Endung einfach drauf geschrieben wird
B - System Icons verwenden

03 - Farb Gruppen für Datei Typen z.b. alle Audio Dateien grün anzeigen
A - Vorlagen für Farb Gruppen Dateien erstellen
B - User Änderbar Interface dafür einbauen.

02 - Datei Infos auslesen und in ListView anzeigen
A - Datei Größe
B - Letzer Zugriff, Letzte Änderung
C - Datei Beschreibung
D - Welches Programm wird dafür verwendet ?
E - Datei Attribute auslesen.

01 - Sotierfunktionen für den Browser und für das Archiv.
A - Nur nach Endung
B - Nur nach Name
C - Nur nach Größe
D - Nur nach letzte Änderung
E - Nur nach letzer Zugriff

Funktionen Version 1.0
-----------------------------------------------------------------------
12 - Oberfläche erstellen, fertig
11 - Hinzufügen von Dateien und Verzeichnissen zum Archiv,fertig
10 - Löschen aus dem Archiv,fertig
09 - Neues Archiv erstellen,80% fertig
08 - Prossesbar in Statusbarfertig, Springt manche mal hin und her

Funktionen Version 0.5
-----------------------------------------------------------------------
07 - Dateien und Verzeichnisse Kopieren,fertig
06 - Einfügen,fertig
05 - Dateien und Verzeichnisse Verschieben,fertig
04 - Dateien und Verzeichnisse Löschen,fertig
-----------------------------------------------------------------------
03 - Icon einbauen für die Symboleiste und für das Mainmenu
02 - Tastenkombinationen einbauen
A - Tasten aus Datei laden
B - Interface für den User erstellen, damit die Tasten geändert werden können
01 - Abut Dialog einbauen
ich bin jetzt bei Version 0.5.
Wenn jemand Helfen möchte: Kein Problem.
Dann lade ich den Aktuellen Quellcode hoch.
Der Besteht aus verschinde Klassen und Units .

Die Funktion, könnte in einem Test Projekt Entwickelt werden. Und dann Baue ich sie in meinen Projekt mit ein.

Das stelle ich mir so vor:
Nehmen wir an jemand möchte die Datei Infos hinzufügen für den Report Modus/Styl:
Er sagt jetzt bescheid damit keine Aufgabe Doppelt ausgeführt wird und schreibt z.b. so eine Funktion:
ich verwendende z.b. die Data Eigenschaft von den ListView's.
Dort packe ich eine Klasse namens TDir rein. Dort wird das Verzeichnis Gespeichert.
TDir.dir.
Wenn der Style gewechselt wird, könnte die Procedure SetLVReport aufgerufen werden mit der angeben ListView.

Diese Procedure müsste jetzt nur noch jeden Eintrag durch gehen und die Infos hinzufügen also subitems. und fertig.

So stelle ich mir das bei jeder Aufgabe vor wo es möglich ist.

Es währe toll wenn jemand sich dazu entscheiden würde die eine oder andere Aufgabe zu erledigen egal wie klein sie auch ist.

Alle die mit Helfen werden natürlich im Programm unter "über das Programm" erwähnt mit allen Daten, die dort der Autor haben möchte. z.b.
Autor - Michael Springwald,
Alter 21 Jahre
HP : keine
E-mail: -----
Aufgaben, Erledigt: ......
und soweiter habt ihr noch Vorschläge für die Aufgaben Liste ?

Edit02
Alten Anhang gelöscht.
Die notwendigen Units habe ich auf Wunsch von monta gleich mit ins Archiv gepackt. und dort ist auch ein ausführbares Programm für Ubuntu drin. Bei gelgenheit gibt es noch eins für Windows.

Edit01
Neue Version: ich habe run7z verändern so das es mit größeren Archive zu recht kommen sollten, was es aber leider nicht tut. Es währe schön wenn sich einer von euch das mal anschauen Könnte und mir sagen was ich Falsch gemacht habe.
Dateianhänge
Units.zip
Tools.pas und Tools_File.pas
(9.33 KiB) 109-mal heruntergeladen
Das Info Dialog
Das Info Dialog
Bildschirmfoto-7Zip Obeffläche Tool.png
10.05.2007_soruce.zip
(739.03 KiB) 118-mal heruntergeladen
Zuletzt geändert von pluto am Fr 21. Dez 2007, 15:46, insgesamt 28-mal geändert.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Irgendwie passiert gerade garnichts, oder ich blicks gerade nicht.

Mach da doch nen paar Glyphs rei, dann sieht das netter aus, als O, N usw.

Und bitte pack deine eigene Unit auch mit ins Archiv, wenn du die Sourcen mitlieferst, denk ich, sollte die auch drin sein, sonst muss man sich die immer zusammensuchen und weis trotzdem nicht, obs die aktuelle ist, ich würde es nämlich gerne mal für GTK2 erstellen.

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)

Beitrag von pluto »

Das mit den Glyphs wollte ich später machen.

hast du auch 7zip installiert unter Ubuntu ?
weil das Programm ruft intern 7za auf, wenn du das nicht hast geht das nicht....

das mit denn eigenen units vergesse ich jedes mal, hänge ich gleich am ersten Beitrag ran.

ich brauche sie auch nur wegen GetToken/Numtoken /GetPrev1
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Wieso ist über die hälfte der Menüpunkte und Speedbuttons überhaupt nicht mit Ereignissen belegt? Da kann man ja lange rumklicken und sich wundern, das nichts passiert.
Disable die beispielsweise oder noch besser, wenn sie schon da sind, sollten sie auch ne Funktion haben und den benutzer nicht dumm dastehen lassen.

Ich nehme an, du meinst p7zip (p7zip_4.44_x86_linux_bin.tar.bz2)? Was verstehst du unter Installation? Es müsste doch langen, die entsprechenden dateien ins Startverzeichnis der Gui zu legen und gut ist?

Ich komm nicht bis zum Packen. Ich kann dateiene auswählen (nachdem ich den einzigen Funktionierenden Knopf gefunden hab ;)) und der Optionendialog erscheitn. Aber, sobald ich dann auch Ok gehe, nachdem ich meine Einstellungen getroffen hab, beendet sich das Programm ohne Tschüss zu sagen :(

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)

Beitrag von pluto »

Es gehen nur die SpeedButtons.
Ich arbeite an einer neuen besseren Oberflächen.

im Anhang befinden sich mein 7za Datei

edit:
starte mal bitte das Programm im Terminal und poste die Ausgabe wenn sich das Programm wieder verabschieden sollte.
Dateianhänge
7za.zip
einfach ins /usr/bin Verzeichnis packen
evlt. läuft das Programm dann.
(407.41 KiB) 112-mal heruntergeladen
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

So, mal die diversen Shellausgaben...vielleicht kannst du ja was mit anfangen.

So...Programm starten, Verzeichnis auswählen und anschließend will ich in der linken Kombobox Dateien markieren. Dies mach ich bei gedrückter linker Maustaset, wenn ich sie loslasse ist das Programm blitzartig weg.

Code: Alles auswählen

/home/wolf/Desktop/
TControl.BeginDrag ListView1:TListView Immediate=False
"x  -o/home/wolf/Desktop/ @extract.list"
Wenn ich sie einzeln mit gedrückter Strg-Taste und Klick markiere, gehts. Kann also auch an der Listbox an sich liegen (?)

Dateien nun über Klick ausgewählt und auf 'N', Optionsdialog erscheint, 7zip und als Verzeichnis Desktop gewählt und den rest gelassen, Ergebnis ebenfalls ein Programmende:

Code: Alles auswählen

/home/wolf/Desktop/
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
[TCustomForm.WMSize] :THintWindow Message.SizeType=6 Message.Width=137 Message.Height=20
[TCustomForm.WMSize] :THintWindow Message.SizeType=128 Message.Width=137 Message                       .Height=20
[TCustomForm.WMSize] saving restored bounds :THintWindow 137x20
[TCustomForm.WMSize] :THintWindow Message.SizeType=128 Message.Width=137 Message                        .Height=20
[TCustomForm.WMSize] saving restored bounds :THintWindow 137x20
[TCustomForm.WMSize] :THintWindow Message.SizeType=128 Message.Width=137 Message                        .Height=20
[TCustomForm.WMSize] saving restored bounds :THintWindow 137x20
[TCustomForm.WMSize] Form2:TForm2 Message.SizeType=128 Message.Width=406 Message                         .Height=387
[TCustomForm.WMSize] saving restored bounds Form2:TForm2 406x387
"a -t7z -mLZMA -mx5 ""/home/wolf/Desktop/testhaus.zip"" @NeueList.lst -w"/home/wolf/Desktop/"
 
"l "/home/wolf/Desktop/testhaus.zip" -slt"
Dritter Versuch, diesmal Versucht aus der linken Listbox eine datei in die Rechte zu ziehen...der Optionendialog erscheint...keine änderungen und nach ok ist das Programm wieder weg.

Code: Alles auswählen

/home/wolf/Desktop/
TControl.BeginDrag ListView1:TListView Immediate=False
[TCustomForm.WMSize] Form2:TForm2 Message.SizeType=128 Message.Width=406 Message.Height=387
[TCustomForm.WMSize] saving restored bounds Form2:TForm2 406x387
"a -tzip  -mx5 ""/media/hda7/testhaus2.zip"" @NeueList.lst -w"/media/hda7/"
 
"l "/media/hda7/testhaus2.zip" -slt"
Und noch ne Frage, wieso liefert mir
media:/sda13/windows/E/lazarus
keine Dateiliste?

Und der Versuch, ne 7z zu öffnen schlug auch fehl:

Code: Alles auswählen

/home/wolf/Desktop/
TControl.BeginDrag ListView1:TListView Immediate=False
 
"l "/home/wolf/Desktop/typo3.7z" -slt"

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)

Beitrag von pluto »

gut die meisten Fehler habe ich verstanden z.b. beim hinzufügen über all wo
"a -tzip -mx5 ""/media/hda7/testhaus2.zip"" @NeueList.lst -w"/media/hda7/"
steht doppelte "" Zeichen. Zweiten hast du /media/hda7 als Verzeichnis ?

ich werde sobald ich unter Linux bin(evlt. heute noch), meine Version hochladen evlt, habe ich da noch was geändert.

also das 7z Format wird noch nicht richtig unterstütz bei mir, wegen den Extra Optionen.

und warum das öffnen nicht geht kann ich im moment nicht sagen. das muss ich bei mir probieren.

Seltsam, bei mir ging es alles problemlos. Die Frage ist wird ein Verzeichnis unter /home/wolf angelegt ? und findes du dort die NeueList.lst ?
wenn ja poste mal deren Inhalte. also von allen listen die es in diesem Verzeichnis gibt.
ich meine es muss eine 7zgui Verzeichnis geben.

ach ja beim neue Dialog, also wenn du auf N klickst muss du den Dateinamen anpassen und das Verzeichnis.

Ich sehe gerade das ist der Fehler. Du musst das Verzeichnis ändern, evlt geht es dann.

Nochmals vielen Dank für diese Tests. und für die gedult.

im Moment ist mir noch unglar warum
das nicht geht.
"l "/home/wolf/Desktop/typo3.7z" -slt"

sind dort geheime Daten drin ? Password geschützt ?

wenn nicht mach bitte mal ein:
7za l "/home/wolf/Desktop/typo3.7z"
in der Commandozeile müsste gehen

und poste mal die Ausgabe oder lade sie hoch oder so.... oder per PM

weil es kann sein das 7z Archive wieder ganz anders aufgebaut sind von der Dateispeicherung also wie die Pfade aussehen, das habe ich noch nicht getestet.

Edit: was übersehen:
Und noch ne Frage, wieso liefert mir
Zitat:
media:/sda13/windows/E/lazarus
keine Dateiliste?
wie meinst du das jetzt ?
wenn du Direct 7za nutzt oder in meinem Tool ?
ich würde sagen wegen dem : nach media
mach mal daraus
/media/sda13/windows/E/lazarus
das müsste gehen.

ich sehe gerade was, das Programm habe ich nur für Linux geschrieben nicht für Windows.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ich wage es mir ja keum zu sagen, aber ich hab vergessen, 7za als Ausführbar zu kennzeichnen, daherging es nicht. habs gerade gemerkt, weil beim direkten ausführen aus der Shell die Meldung kam, das ich keine Berechtigung hab.

Also zieh ich die fehlermeldung mi der Archiverstellung zurück, :oops:
sind dort geheime Daten drin ? Password geschützt ?

wenn nicht mach bitte mal ein:
7za l "/home/wolf/Desktop/typo3.7z"
Nein...ken Passwort. Ein ganz normales unter Windows erstelltes Archiv, liegt dort der fehler? Sollte sich doch eigentlich trotzdem öffnen lassen.
Dank der richtigen Berechtigung stürtzt dein Prog nichtmehr ab. Aber wenn ich das Archiv öffnen will, friert es ein. Im Archiv sind knapp über 3000Dateien. Über die shell wird der Inhalt dagegen problemlos aufgelistet:

Code: Alles auswählen

...
2007-03-06 01:55:20 ....A         5659               typo3/typo3/sysext/adodb/adodb/xsl/convert-0.2-0.1.xsl
2007-03-06 01:55:20 ....A         7711               typo3/typo3/sysext/adodb/adodb/xsl/convert-0.2-0.3.xsl
2007-03-06 01:55:20 ....A         1479               typo3/typo3/sysext/adodb/adodb/xsl/remove-0.2.xsl
2007-03-06 01:55:20 ....A         1479               typo3/typo3/sysext/adodb/adodb/xsl/remove-0.3.xsl
------------------- ----- ------------ ------------  ------------
                              20507134      6860571  3512 files

Code: Alles auswählen

/media/sda13/windows/E/lazarus
das müsste gehen.
hatte ich auch schon probiert und die Liste bleibt genauso leer.
Im übrigen mag es dein programm scheinbar nicht, wenn der abschließende '/' fehlt. Könnte man denn nicht eventuell automatisch setzen?
Weil:
Wenn ich /home/wolf/desktop angebe, zeigt er mir unten [Desktop] an.
Das geht ja noch, aber wenn ich auf Desktop klicke, steht oben dann '/home/wolf/DesktopDesktop/' und das ist ja quatsch.
Nochmals vielen Dank für diese Tests. und für die gedult.
Kein problem, ich habs ja vorhin auch selbst verbockt.

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)

Beitrag von pluto »

also ein Archiv über 3000 Dateien ist schon groß, würde ich sagen, es dauert nur etwas länger. Wie lange weiß ich nicht.

Wenn du ein neues Verzeichnis angibst muss du auf den Button .... daneben drücken. Das passiert nicht auto. Du musst ein Verzeichnis haben, was du als normler nutzter auch sehen kannst und auch zugreifen kannst. System Dateien und Versteckte Dateien werde leider noch nicht gefunden.
Ein ganz normales unter Windows erstelltes Archiv, liegt dort der fehler? Sollte sich doch eigentlich trotzdem öffnen lassen.
Also Eigentlich bin ich deiner Meinung, würde es dir etwas aus machen eine länger Ausgabe zu posten ? oder evlt. wenn die Datei nicht zu groß ist mir zu senden. um die Daten geht es mir nicht, ich möchte nur wissen warum, die Datei nicht geöffnet werden kann.

Weil normlerweise müsste es klappen.
wenn der abschließende '/' fehlt. Könnte man denn nicht eventuell automatisch setzen?
ja das habe ich noch nicht ganz durch schaut, bei 7zip darf es nicht am Anfang stehen.
und ja das könnte auto. gesetzt werden. für den test habe ich drauf versichtet.

gehen denn kleinere Archive ?
z.b. Zip oder so ? weil bei mir lief es einband frei.
ach ja du darf nicht vergessen beim Ausführen von 7za wird ja die gesammte Ausgabe erst in einer TStringlist geladen und dann erst gepasst, das wollte ich in der neuen Version aufjedenfall ändern.

Das hier wahr nur der Feld Versuch.

edit:
Mein Programm nutzt das Script 7za was unter /usr/bin liegen müsste.
dieses Script ruft 7z auf. Beide müssen als ausführbar gegenzeichnet sein, sonst geht es nicht.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ob kleinere gehen...muss ich nochmal testen, hab aber gerade Windows laufen.

Ich hab dir besagtes Archiv aber mal als Mail geschickt. Dann kannst du es selbst mal probieren, obs bei dir geht.

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)

Beitrag von pluto »

Vielen Dank.
ich würde sagen es liegt daran das ich erst die Komplete Ausgabe in eine TStringlist kopiere und dann erst mit den laden anfangen.

Ich werde das mal bei Gelgenheit ändern.

kannst du denn auch packen/entpacken aus kleineren Archiven ?
und was hälst du von der Idee mit den zwei Fenstern ?
bzw. von der neuen Oberfläche die ich im anderen Trehad gepostet habe.
(nur als Bild)
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

pluto hat geschrieben:evlt. sollte ich mir mal Version Nummern für das Archiv überlgen *G*
Sehr sinnvolle Idee, :!: hier weis man sonst überhaupt nicht, was man eigentlich testet.

Und wieso eigentlich zwei Archive, die fast gleich groß sind?

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)

Beitrag von pluto »

die Änderungen sind auch nicht so gewaltig. evlt. werde ich auch das alte löschen.
ich habe nur das mit der run7za procedure gemacht damit die Ausgabe von 7za schneller geladen werden kann. was ja nicht so ganz hinhaut :(
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Lösch bitte das alte und verpass em neuen ne Ordentliche Versionsbezeichnung, sonst test ich hier nichts mehr, wenn man erstmal suchen muss, was überhaupt das aktuelle ist.
Und ganz toll wäre es, wenn du die beiden zusätzlichen Units gleich ins Zip packst und nicht als extra Zip packst, was man sich immer erstmal suchen muss.

So, nun zum Programm, zip scheint zu gehen, hinzufügen, öffen.
Aber, beim zweiten Erstellen eines Archives, nachdem das erste mal problemlos funktioniert hat, kommt der nette Dialog, siehe Anhang und ich weiß nicht recht, was ich da eingeben soll, vor allem wo :lol:

Code: Alles auswählen

-- linecount = 18 --
/home/wolf/Desktop/
TControl.BeginDrag ListView1:TListView Immediate=False
 
-- linecount = 18 --
TControl.BeginDrag ListView1:TListView Immediate=False
 
-- linecount = 186 --
TControl.BeginDrag ListView2:TListView Immediate=False
TControl.BeginDrag ListView2:TListView Immediate=False
TControl.BeginDrag ListView2:TListView Immediate=False
TControl.BeginDrag ListView2:TListView Immediate=False
-- linecount = 186 --
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView2:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
TControl.BeginDrag ListView1:TListView Immediate=False
[TCustomForm.WMSize] :THintWindow Message.SizeType=6 Message.Width=137 Message.H
eight=20
[TCustomForm.WMSize] :THintWindow Message.SizeType=128 Message.Width=137 Message
.Height=20
[TCustomForm.WMSize] saving restored bounds :THintWindow 137x20
[TCustomForm.WMSize] :THintWindow Message.SizeType=128 Message.Width=137 Message
.Height=20
[TCustomForm.WMSize] saving restored bounds :THintWindow 137x20
 
Gtk-CRITICAL **: file gtkstyle.c: line 515 (gtk_style_attach): assertion `window                                        != NULL' failed.
 
Gdk-CRITICAL **: file gdkwindow.c: line 1777 (gdk_window_get_events): assertion                                        `window != NULL' failed.
 
Gdk-CRITICAL **: file gdkwindow.c: line 1804 (gdk_window_set_events): assertion                                        `window != NULL' failed.
 
Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_                                       IS_LABEL (label)' failed.
 
Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `G                                       TK_IS_LABEL (label)' failed.
 
Gtk-CRITICAL **: file gtklabel.c: line 261 (gtk_label_set_text): assertion `GTK_                                       IS_LABEL (label)' failed.
 
Gtk-CRITICAL **: file gtklabel.c: line 285 (gtk_label_set_pattern): assertion `G                                       TK_IS_LABEL (label)' failed.
[TCustomForm.WMSize] Form2:TForm2 Message.SizeType=128 Message.Width=406 Message                                       .Height=387
[TCustomForm.WMSize] saving restored bounds Form2:TForm2 406x387
 
Gtk-CRITICAL **: file gtkstyle.c: line 568 (gtk_style_detach): assertion `style != NULL' failed.
 
Gdk-CRITICAL **: file gdkwindow.c: line 726 (gdk_window_unref): assertion `window != NULL' failed.
 
Gtk-CRITICAL **: file gtkstyle.c: line 621 (gtk_style_unref): assertion `style != NULL' failed.
Abbruch vom erstellen
Und es mangelt noch entscheident an Funktionalität. Wenn man die Archiv-Art auswählt, sollte die dateiendung automatisch gesetzt werden.
Wenn ich nen Pfad eingebe, will ich eigentlich auch mit Enter diesen bestäigen können, ohne erst wieder die Maus suchen zu müssen ;)
Dateianhänge
Neues_Archiv.png

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)

Beitrag von pluto »

könntes du mir bitte ein kleinen Gefallen tuen beim testen ?
nach jedem versuch bitte eine Trennlinie in den Ausgaben. Danke.

Dem Fehler im Bilde hatte ich heute auch schon, nur nicht in meinem Programm.
hast du es gleich nochmal versucht ?

ich habe deine Änderungen im ersten Beitrag eingebaut. Version ist jetzt 0.5.

Das mit der Funktionalität da hast du, natürlich recht, wie schon gesagt es ist für mich nur ein Test Projekt für das eigentliche Programm.
Nämlich für die Neue Oberfläche. Dort sollen die Ergebnisse von hier einfließen dachte ich mir. Dort bin ich jetzt soweit das ich mich nur noch um die Archiv aufgaben kümmer möchte. Erstmal und später um die anderen Aufgaben.

Ich habe eigentlich nicht vor aus dem Test Projekt ein Fertiges Projekt zu machen. Mit allem drum und dran.
(nur wenn ihr meint, das es sinnvoll währe und auch genutzt werden wird)
weil der Archiver der bei meinem ubuntu dabei ist kann jetzt auch 7z Archive Lesen und Schreiben.
MFG
Michael Springwald

Antworten