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

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ich habe meinem ersten Beitrag eine Aufgaben Liste hinzugefügt, die ich Heute erstellt habe. Schaut sie euch mal an und sagt mir was ihr davon Haltet.

Wenn ihr noch Vorschläge habt, Werde ich sie in der Liste hinzufügen.
ich weiß das sind recht viele Aufgaben, die ich mir vorgenommen habe.

ich habe aber auch nicht vor das Projekt Morgen fertig zu stellen.
Ich habe Zeit der Welt, für dieses Projekt.

Wenn ich Version 1.0 Fertig habe, bin ich schon zufrieden.
Besonders dann wenn ich bei Version 4.0 angelangt bin *Freu*.
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

pluto hat geschrieben:Ich habe meinem ersten Beitrag eine Aufgaben Liste hinzugefügt, die ich Heute erstellt habe. Schaut sie euch mal an und sagt mir was ihr davon Haltet.


Hallo!

Verstehe ich das richtig: Mit Version 1 werden die Grundfunktionen alle vorhanden sein und funktionieren? - finde ich gut.

Habe mir mal deinen Quelltext angeguckt. Bei größeren Projekten (und diese Oberfläche ist ja bei einem Entwickler auch schon größer) hat es mir immer geholfen, wenn ich bei der Namensgebung der Variablen die Funktion oder den Inhalt der Variablen wiederfinde. Variablennamen "i", "str", "s" u.s.w. können für Verwirrung sorgen, wenn man zu einem späteren Zeitpunkt nicht mehr weiß, was sie genau beinhalten und bedeuten.
Würde dir also empfehlen, möglichst aussagekräftige Variablennamen zu vergeben. Dann bleibt das Projekt schön übersichtlich und erleichtert die Arbeit beim Debuggen :)

Viele Grüße, Alexander

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

Beitrag von pluto »

Dern Quellcode den du angeschaut hast, ist leider noch ein Alter.
Aber ich stimme dir zu.
Ich bin nur zu faul mir passende Namen auszudenken. Da ich mir einbilde die müssten immer englisch sein, und da kenne ich noch nicht so viele.

Wenn ich denn Quellcode das nähste mal hochlade habe, möchte ich versuchen das zu berücksichtigen.
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 »

English ist sicher gut, aber wenn du mich fragst...nicht zwingend notwendig. Es ist allemal besser, ordentliche deutsche namen zu haben, als solche undurchsichtigen Abkürzungen, und selbst wenn du Englisch haben willst...einfach mal LEO fragen und da gibts dann schon was passendes ;)
Johannes

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

pluto hat geschrieben:Da ich mir einbilde die müssten immer englisch sein, und da kenne ich noch nicht so viele.


Müssen die doch nicht. Ich verwende NIE englische Bezeichnungen, weil ich die Sprache nicht mag. Mir wäre es sogar lieb, wenn es ein deutsches PASCAL gäbe ;)

Außerdem wird das Programm durch die englischen Begriffe doch auch nur unübersichtlich?

Aber ich würde dir wirklich empfehlen, ab einer gewissen Größe, aussagekräftige Namen zu wählen. Am Besten auf Deutsch ;)

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

Beitrag von pluto »

Naja ich finde bei Deutsch gibt es das Problem mit den umlauten.
Ich verstehe einfach nicht warum die als "Fehler" Gekennzeichnet werden.
Es sind doch einfach nur "Sonderzeichenn" .

Ich stimme dir aber zu "Euklid".
ach ja, ich weiß nicht ob das besser ist. Ich meine schon.
Ich habe gelesen, wenn man bei String kein const davor schreib bei Proceduren und Funktionen, Produziert der Complier mehr Code. Weil er die Variable schützt. Deshalb habe ich jetzt vor jeder Variable egal ob Integer, Strings, oder sonstwas ein Const geschrieben.

das habe ich hier gelesen:
http://www.manuel-poeter.de
da gibt es noch mehr "spande" sachen.

Edit00:
Wie währe es denn mit einem Mischmasch aus Englisch und Deutsch.
Weil Hinzufügen geht ja nicht und Hinzufuegen finde ich blöd. und auch zu Lang.
da nehme ich liber Add
MFG
Michael Springwald

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

Beitrag von pluto »

ich habe das Programm noch mal neu hochgeladen.

Ihr könnt es euch ja nochmal anschauen.
Große Archive gehen jetzt auch ohne Problem.
Aber Bitte nicht übertreiben mit 4.5 GB oder so.
Ob das auch geht weiß ich nicht, bestimmt, wenn ihr genügent Ram und Zeit habt *G*
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:Aber Bitte nicht übertreiben mit 4.5 GB oder so.


Ich probiers dann, ich nehm auch nur 1,75, wenn das nicht geht, ists eh untragbar. :D
Johannes

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

Beitrag von pluto »

Wer hat bitte schon 1,75 GB große Archive ?
das Dauert doch viel zu lange das lesen.
Obwohl bei einem eigenen Archive Wüsste ich wie ich das kompensieren kann *G*. und bei 7Z müsste ich wohl oder übel die DLL'S irgendwie einbinden.

Hat da jemand eine Idee ? ich habe nur Windows DLL'S gefunden und keine .so Dateien für Linux.
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 »

Du musst keine DLLs einbinden, alles quatsch.

Und > 1 GB Archive sid Standard bei mir, und ein Programm kann nicht mit der Anmerkung erscheinen, "Aber bitte keine großen Archive mit diesem Programm öffen..." was wäre das den dann bitteschön?

Das öffnen mit dem Original-7z unter Windows dauert deutlich unter 10s, also überhaupt kein Problem.

Im übrigen kann ich dich beruhigen, auch dein Programm kann 1,75GB-Archive lesen, nur bei einigen Unterordnern gabs irgendwie kleine Probleme, das keine Dateien angezeigt wurden, aber im großen und ganzen ging es, wenn auch etwas langsamer aber für die Größe immernoch sehr erträglich.
Johannes

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

Beitrag von pluto »

das ist ja toll.
ich weiß glaube ich auch warum das länger dauert, weil mir 7zip alle Dateien auflistet.
ich habe noch kein weg gefunden, das zu beeinflussen.
Ich hoffe du weißt was ich meine.

z.b. sowas wie findfirst und findnext halt ohne die unterordner zu durchsuchen.

Du meinst ich brauche keine DLLS ?

ich mache das jetzt so:
ich lese Blockweise die Daten ein.
wenn du mit 7za l archiv.zip -slt machst.
Das Problem ist nur: leider sind diese Daten nicht einheitlich. Daher muss ich immer suchen.

Wie Findest du das zwei Fenster System ?
ich hätte gerne noch pro Fenster eine Leiste wie im Datei Manger von Windows oder der natulus von Linux.
weiß du was ich meine ?
leider habe ich kein Platzt mehr dafür.
Hättest du/ihr dafür Vorschläge ?

ach ja: zählt der denn auch die Dateien richtig ?
also die Info leiste unter der ListView ?
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 »

Nein, wozu brauchst du DLLs, du musst doch nur die Konsolen-App ansprechen, wie du es ja auch schon machst und das sollte langen.

Abgesehen davon, wieso Blockweises Lesen und nicht konsole starten, komplett durchlaufen lassen und output in Textdatei schreiben und die anschließend parsen?

Wie Findest du das zwei Fenster System ?
ich hätte gerne noch pro Fenster eine Leiste wie im Datei Manger von Windows oder der natulus von Linux.

Lass es um Himmels Willen und mach nicht noch mehr dazu, das verkompliziert die Sache nur.
Sorg lieber erstmal dafür, das man die vorhandenen Menüpunkte und Buttons ordentlich benutzen kann, ohne jedesmal suchen zu müssen, ob nun nichts passiert, weil man was falsch eingegeben hat, und Fehlermeldungen ohne Rückmeldung abgefangen werden, oder ob die Taste nicht belegt ist.
Das finde ich grauenhaft. Das begint schon beim Einlsen, eines Ordners, da fragt man sich dann immer, kommt da nun nichts, weil der Pfad falsch ist, oder ist der ordner leer, oder die Taste nicht belegt. Vielleicht wer ein bisschen mehr Interaktion an diesem Punkt sinnvoll, beispielsweise ne Meldung bei falschen Pfaden.

ach ja: zählt der denn auch die Dateien richtig ?

Da hab ich gar nicht geschaut, und mir ist nichts aufgefallen, beim nächsten mal achte ich mal drauf.
Johannes

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

Beitrag von pluto »

Also sobald die Prossebar einen Fortschritt anzeigt, dann kannst du davon ausgehen, das es geklappt hat.

Ich prüfe schon (glaube ich) ob es das Verzeichnis auch gibt.
Erstmal sind nur die SpeedButton wichtig. Die unterhalb vom Mainmenu sind.
im Mainmenu gehen nur unter ansicht zwei Punkte, mehr nicht.

Zu deiner Frage: das würde ja doppelt so viel zeit kosten:
erstmal muss er warten bis alles da ist, dann muss die Datei gespeichert werden. und dann noch einmal durch gegangen werden.

Ich glaube da geht einfach zu viel Zeit verloren, oder meinst du nicht ?
oder sehe ich das jetzt Falsch ?
Ich dachte das mit den Blockweise Lesen geht am schnellsten.

edit00
Vielen Dank für deine Tests. Und deine "Aussagekräftigen" Augmente.
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 »

Zu deiner Frage: das würde ja doppelt so viel zeit kosten:
erstmal muss er warten bis alles da ist, dann muss die Datei gespeichert werden. und dann noch einmal durch gegangen werden.

Wieso sollte das doppelt so lange dauern?
Die Shell/Terminal, wie auch immer mans nennen will, schreibt die Datei dynamisch, während des ganzen Prozesses, es würde also nicht bis zum Ende gewartet.
Und du arbeites doch nicht mit Treats, oder? Dann wird doch nicht zwischenzeitlich verarbeitet, also dauert es nicht länger, und das Blockweise lesen unterbricht letztlich auch für Millisekunden.

//edit: Cool, habs gerade gesehen, du hast entlich mal nen paar Glyphs gefunden, und die Oberfläche sieht etwas ansprechender aus ;)
Johannes

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

Beitrag von pluto »

wenn du mit Treats, Thread meinst, doch ich arbeite damit.

ja die Icons habe ich mal aus Langeweile eingefügt.
ich meine sogar das sind deine *G*.

Im Moment bin ich dabei den Dateibrowser zu verbessern.

Ganz verstehe ich dich nicht. Ich muss doch erstmal alle Daten, also die Ausgabe vom Programm 7za sammeln oder nicht ?
und dann einer Procedure übergeben die sie in einer Forschelife verarbeitet. Oder nicht ?

und das immer und immer wieder bzw. oder auch am ende, so wie es in deinem Beispiel gezeigt wahr. Muss ich mal bei Gelgenheit testen. ich bin davon überzeugt, das meine Methode schneller sein müsste als "deine". Evlt.
MFG
Michael Springwald

Antworten