Copy Commander

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Copy Commander

Beitrag von corpsman »

So ich hab mal wieder was mit Lazarus Programmiert und das will ich euch nun natürlich nicht vor enthalten ;).

Es handelt sich hierbei um das Programm CopyCommander2, in der Verison 0.01.

CopyCommander2 kann wie der Name schon sagt, Dateien / Verzeichnisse Kopieren / Verschieben und Löschen.

Sinn macht Copy Commnader aus folgendem Grund :

Will man z.B. aus einem Verzeichnis mit sehr vielen evtl. großen Dateien, nur wenige herauskopieren, so
selecktiert man in der Regel alle einzeln mit der Maus und kopiert diese Dateien dann.

Hat man nun eine Datei übersehen, so mus man erst warten bis das Betriebsystem den kompletten Kopierauftrag
vollendet hat (Trifft nicht für Linux Mint Mate zu :) ), bevor man die vergessene Datei kopieren kann. Denn ein 2. Kopierauftrag wirkt sich
auf die Übertragungsrate leider Katastrpohal aus.

CopyCommander2 kopiert mittels einer Warteschlange, in diese können auch während eines Kopiervorgangs weitere Dateien / Verzeichnisse hinzugefügt oder wieder gelöscht werden.

Dank Multithreading ist ein Ruckelfreies bedienen der Anwendung während des Kopierens möglich ( insofern die CPU genug Power hat ;) ).

Ich habe euch eine Version für Windows, und Linux sammt Sourcecode ins Zip gepackt, also alles was das Herz begehrt ;).

So denn wünsche ich euch viel Spass beim Testen und hoffe mal das ihr keine Bugs mehr findet.

Mit foldenden Tastaturkommandos könnt ihr starten:
STRG + S Links mit Rechts vergleichen
F2 = Umbennen
F5 = Copy (aktuelle Ansicht in die Andere)
F6 = Move (aktuelle Ansicht in die Andere)
F7 = Verzeichnis Erstellen
F8 = Löschen

Hier das etwa 2 MB Große Zip File.
Und wer sehen will was ich sonst noch so zu CopyCommander geschrieben habe kann Hier den Veröffentlichungsthread lesen.

[Edit]
Nach gut 13 Jahren habe ich den Source nun komplett überarbeitet und eine neue Version online gestellt.
Und ne Vorschau gibt es nun auch:
CC_Preview.png
CC_Preview.png (64.29 KiB) 5303 mal betrachtet
Zuletzt geändert von corpsman am Di 15. Feb 2022, 18:10, insgesamt 4-mal geändert.
--
Just try it

hausi
Beiträge: 132
Registriert: Mi 23. Sep 2009, 08:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Copy Commander

Beitrag von hausi »

Sicher tolles Programm, leider kann ich es nicht unter Windows kompilieren.

Hausi

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Copy Commander

Beitrag von corpsman »

was schreibt der Compiler denn ?

Mir scheint, ich habe den source hochgeladen bevor ich ihn nach win compiliert habe ...

Nun habe ich auf Jedenfall das ganze nochmals hochgeladen und die version die jetzt on ist. Mus gehen, wenn nicht schreib mir bitte unbedingt was er anprangert.
( das es geht siehst du daran das der compiler 3 user generierte Warnungen ausgeben müste , .. )
--
Just try it

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:

Re: Copy Commander

Beitrag von monta »

Beim start der EXE: Division by Zero

Beim Kompilieren:

Code: Alles auswählen

unit2.pas(53,2) Warning: User defined: Sorry no Multimonitor support under Windows
unit2.pas(49,3) Note: Local variable "i" not used
unit2.pas(50,3) Note: Local variable "p" not used
unit2.pas(9,37) Hint: Unit "math" not used in Unit2
unit1.pas(251,3) Note: Local variable "s" is assigned but never used
unit1.pas(728,2) Warning: User defined: Sorry no Multimonitor support under Windows
unit1.pas(711,3) Note: Local variable "r" not used
unit1.pas(36,46) Hint: Parameter "CloseAction" not used
unit1.pas(44,7) Hint: Parameter "Shift" not used
unit1.pas(48,7) Hint: Parameter "Shift" not used
unit1.pas(1437,22) Warning: Function result does not seem to be set
unit1.pas(1459,11) Error: Identifier not found "Cint"
unit1.pas(1459,11) Error: Error in type definition
unit1.pas(1502,2) Warning: User defined: The Check Disk Space Function is not aviable under Windows
unit1.pas(1536,39) Hint: Local variable "buffer" does not seem to be initialized
unit1.pas(1574) Fatal: There were 2 errors compiling module, stopping


Was ist eigentlich Cint, wieso nicht einfach integer, dann kompillierts auch ordentlich.

Die DbZ beim starten kommt von deiner Button-Breiten-Berechnung, hab die mal auskommentiert, dann geht es:

Code: Alles auswählen

Procedure TForm1.Panel1Resize(Sender: TObject);
Var
  w, i: Integer;
Begin
  ListView1.Columns[0].Width := Panel1.Width - 35 - 45 - 30;
  ListView1.Columns[1].Width := 35;
  ListView1.Columns[2].Width := 45;
  //w := (Panel1.width - 14) Div ((high(Buttons) + 1) Div 2);
  w := 50;
  For i := 0 To ((high(Buttons) - 1) Div 2) Do Begin
    Buttons[i].width := w;
    Buttons[i].left := 7 + i * Buttons[0].width;
  End;
End;
 
Procedure TForm1.Panel2Resize(Sender: TObject);
Var
  w, i: Integer;
Begin
  ListView2.Columns[0].Width := Panel2.Width - 35 - 45 - 30;
  ListView2.Columns[1].Width := 35;
  ListView2.Columns[2].Width := 45;
//  w := (Panel2.width - 14) Div ((high(Buttons) + 1) Div 2);
w := 50;
  For i := ((high(Buttons) + 1) Div 2) To High(Buttons) Do Begin
    Buttons[i].width := w;
    Buttons[i].left := 7 + (i - ((high(Buttons) + 1) Div 2)) * w;
  End;
End;

Allerdings sehe ich unter Windows da oben keine Button, da soll doch sicher was in dem Leerraum oben erscheinen?
cc.png



Ansonsten noch ein Vorschlag, was mich etwas stört. Könnte man nicht wahlweise die Extension auch an den Dateinamen dran hängen. Das ist so, gerade bei gleichen Dateinamen mit unterschiedlichen Erweiterungen wie oben bei unit1 etwas unübersichtlich, finde ich zumindest.
Johannes

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Copy Commander

Beitrag von corpsman »

also den Div by 0 kann ich nachvollziehen, das war dann wohl mein Fehler, da bei mir ja immer Buttons da sine ..., und ja da gibts buttons oben, diese sind aber nur da, wenn der User, also du das machst was in der How_to.txt drin steht.

Dort ist genau erklärt :

If you want to use predefined loaddirectories create a file named "predirs.txt" in the
copycommander folder. This file contains the

number of Buttons
ButtonCaption ; ButtonLink
Link for left browser
Link for right browser

here is following a linux Sample file :

3
Home;/home/username
cdrom;/media/cdrom0
Media;/media
/home/username
/media

and here is one for Windows systems :

3
Eigene Dateien;C:\Eigene Dateien
Windows;C:\windows
CDROM;D:\
C:\Eigene Dateien
D:\


was die Dateiendung angeht, so ist das wohl geschmackssache, wie du dem source entnehmen kannst ist da auch noch nicht alles vollständig. das Sortieren nach den Dateiendungen fehlt z.b. auch noch...

Aber aus diesem Grund liegt der Source ja bei, so kann jeder sehen was ich verbockt habe *g*
--
Just try it

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:

Re: Copy Commander

Beitrag von monta »

ich gebe zu, ich hab die how_to.txt nicht gelesen. :oops:
Johannes

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Copy Commander

Beitrag von corpsman »

*g*

in gewisser Hinsicht, ist ads ja gut, sonst hättest du dir bestimmt diese Shortcut buttons gemacht, und der Bug wäre unendeckt geblieben ;)
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Copy Commander

Beitrag von corpsman »

So Nachdem ich das Forum in letzter Zeit doch ein wenig Arg mit Fragen bombadiert habe

viewtopic.php?f=18&t=14139
viewtopic.php?f=18&t=14131
viewtopic.php?f=18&t=14130

Sollt ihr heute auch die Ergebnisse Meiner Arbeit sehen.

Ich habe den CopyCommander nach gut 13 Jahren aus der Versenkung gehohlt und nochmal komplett überarbeitet.
Neue Features sind unter Anderem:
- Fast vollständig via Popup Menü Steuerbar (kein Editieren mehr von .ini Files)
- Jobs sind nun in einer Klasse und nicht irgendwelche Pseudo strings
- CheckDispSpace ist nun auf Linux und Windows Verfügbar
- Die Warteschlangen werden nun sauber in einer TTreeView Angezeigt und dort in Jobs und SubJobs zerlegt
- Anzeige wie lange es noch dauern wird
- Kleine Geschwindigkeitshistorie
- Der Synchronize Dialog wurde Komplett überabeitet

=> Wenn man es Genau nimmt hat vom Original Code so gut wie nichts überlebt :lol:

Wie es sich gehört habe ich die Links aus dem 1. Post Aktualisiert die zeigten mittlerweile auch ins Leere, und für alle die nicht Scrollen wollen ist der neue Download Link gleich hier
--
Just try it

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Copy Commander

Beitrag von Roland Chastain »

Sehr interessant. Aber ich weiß nicht, wie man das Programm benutzt. Es gibt keine How_to.txt-Datei mehr?
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Copy Commander

Beitrag von corpsman »

:lol:
Eignentlich sollte es Intuitiv sein.
Die Übersicht der Tastaturbefehle könnte ich allerdings schon noch mit anhängen.

STRG + S Links mit Rechts vergleichen
F2 = Umbennen
F5 = Copy (aktuelle Ansicht in die Andere)
F6 = Move (aktuelle Ansicht in die Andere)
F7 = Verzeichnis Erstellen
F8 = Löschen

und dann einfach in den Context Menüs nachsehen ...

Wer von Früher noch den Norton Commander oder von Linux den Midnight Commander kennt, ist quasi wie zu Hause.

[Edit]
So im Zip ist nun eine neue How_to_use.txt drin ;-)
--
Just try it

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Copy Commander

Beitrag von Roland Chastain »

Danke schön. Ich hatte nicht daran gedacht, es mit der rechten Maustaste zu versuchen. :oops:
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Copy Commander

Beitrag von Roland Chastain »

corpsman hat geschrieben:
Di 15. Feb 2022, 17:53
So im Zip ist nun eine neue How_to_use.txt drin ;-)
Gesehen. Danke.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Copy Commander

Beitrag von Aliobaba »

...Danke!!
gefällt mir sehr! :)

Nur ein Punkt: Wenn man in der Hierarchie-Ebene unter Windows "ganz oben" ist (also z.B. bei "C:\"), dann wäre es schön, wenn man dann bei weiterem Anklicken des "Pfeil nach oben" alle vorhandenen Laufwerks-Buchstaben angezeigt bekäme.
Manuell kann man ja den Laufwerksbuchstaben eingeben.

... uuups: Und soeben ist mir das Programm abgestürzt bei der Anwahl von "Diff viewer" [re. Maustaste]
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Copy Commander

Beitrag von wennerer »

Hi,
hast du gut gemacht! 👍️
Ein kleiner Bug ist mir aufgefallen. Wenn man mit F7 ein Verzeichnis erstellt (mit einem anderen Namen als NewFolder) und mit ok bestätigt startet der Dialog nochmal von Neuem. Mit dem Popup-Menü funktionierts wie es sollte. Getestet unter Linux.

Viele Grüße
Bernd

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: Copy Commander

Beitrag von h-elsner »

Wenn ich das Programm schließe, bekomme ich folgende Meldung:
Heap_dump.png
Heap_dump.png (9.74 KiB) 5191 mal betrachtet
Gruß HE

Antworten