PureFileMaster ein TotalCMD-Clone Released! (Version 3)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

Update 1.4 ab sofort verfügbar!
V1.4

- Eine HexRead Funktion für den FileViewer wurde hinzugefügt.
- Ein Bug beim auslesen der Laufwerke wurde behoben.
- Diverse Optimierungen.
- Einige änderungen.
Pure FileMaster Setup v1.4

Pure FileMaster ZIP v1.4
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wann kriegt der Commander seine Commandline? :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

ts-soft hat geschrieben:Wann kriegt der Commander seine Commandline? :wink:
Keine angst, ich habe dich natürlich nicht vergessen. :wink:
Dein Beispiel habe ich bereits auf meiner Platte. Ich habe mir
eine art ToDo-Plan aufgestellt den ich systematisch abarbeite.
Die möglichkeit besteht das es schon mit der nächsten version
kommt. Durch die Bug-behebung habe ich die 1.4 etwas vorgezogen.
Ursprünglich wollte ich eigentlich noch mehr Integrieren. Falls ich
noch rückfragen bezüglich der CMD-Leiste haben sollte, werde ich mich
an dich wenden. :allright:
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

@ts-soft

Ich habe jetzt die CommandLine integriert, aber es gibt probleme.
Und zwar lässt sich die SPACE & CRSR-Tasten nicht nutzen, da diese
bereits belegt sind. Auch eine abfrage mit GetActiveGadget()
bringt leider keine lösung. Zwar bleibt das Gadget dann aktiv und
der Cursor weiterhin zur eingabe bereit, aber er bewegt sich nicht mehr.
Weder bei den Cursortasten noch wenn ich SPACE drücke. Was könnte
man dagegen tun ?

BTW:

Ich bin mal schnell für ca. 2 Stunden weg. Also bis nachher. :wink:
Benutzeravatar
Dostej
Beiträge: 529
Registriert: 01.10.2004 10:02
Kontaktdaten:

Beitrag von Dostej »

Hm, ich weiss nicht wie Du das intern handhabst, aber Du könntest, solnage das Stringgadget aktiv ist, die Tasten in einer eigenen Routine abfragen und die Eingabeverarbeitung selbst machen und das Ergebnis als String dann im Gadget anzeigen. Das könnte evtl. ne mögliche Lösung sein.
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

Ich bin mir nicht sicher ob das funktionieren würde. Denn selbst wenn ich
mit SetActiveGadget() das Stringgadget erzwinge wird bspw. bei der Leertaste
kein Tastendruck registriert. Der Cursor bleibt an Ort und Stelle. Nur bei
"Normalen" eingaben wie Buchstaben & Zahlen klappt alles wie gewohnt,
da diese nicht mit dem Menü verknüpft sind wie die Leer- oder Cursortasten.
Was ich bräuchte wäre eine möglichkeit die Tastenbelegungen vorübergehend
abzuschalten. Am besten genau dann wenn man das Stringgadget aktiviert.
Mit hilfe der WinAPI ginge das vielleicht sogar, (SendMessage oder so)
die frage ist nur wer kennt sich damit aus und kann mir den entsprechenden
tip geben.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

al90 hat geschrieben:Am besten genau dann wenn man das Stringgadget aktiviert.
Hierzu kannst Du am besten EventType() auf #PB_EventType_Focus bzw. auf
#PB_EventType_LostFocus prüfen.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

Kiffi hat geschrieben:Hierzu kannst Du am besten EventType() auf #PB_EventType_Focus bzw. auf
#PB_EventType_LostFocus prüfen.
Ich fürchte ich habe nicht ganz verstanden wie Du das meinst?!
Also das problem ist eben das, daß wenn ich z.b. wärend der Eingabe
im Stringgadget die Cursortasten (Links/Rechts) benutze, daß das
Stringgadget verlassen wird, und auf die Anzeige oben (Selektierung/Deselektierung)
umgeschaltet wird. (Also der selbe effekt als würde ich oben irgendwohin
klicken und das Stringgadget somit verlassen. Mir ist somit noch nicht ganz
klar wie mir die Konstanten weiterhelfen könnten.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Sobald diese Events auftreten, überprüfst du, ob dieser Event durch einen tastendruck ausgeführt wurde, und ob in den Stringgadgets schon was steht.

Steht was drinne, und der Tastendruck war der Auslöser -> Abbruch, Fokus zurücksetzen
Steht nix drinne, oder es war die Maus, oder die Eingabetaste, mache nichts.

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
al90
Beiträge: 1101
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

@Tafkadasom2k5 und @Kiffi

Erstmal Thanks für die tips. Ich denke ich muss mich damit mal genauer
auseinandersetzen. Das braucht was mehr zeit. Deswegen wird es frühstens
mit der 1.6 kommen. Trotzdem hier mal schnell ein Teilausschnitt vom Code:

Code: Alles auswählen

    If em=147 ; EventMenu = 147 dann ENTER gedrückt!
      ;  EnterKey wurde gedrückt.
      If GetActiveGadget()=112 ; <--- ID 112 = Stringgadget der CommandLine
        a$=GetGadgetText(112)
        If a$<>""
          z=0
          x=CountGadgetItems(112)
          For i=0 To x-1
            If LCase(GetGadgetItemText(112,i,0))=LCase(a$)
              z+1
            EndIf
          Next
          If z=0
            AddGadgetItem(112, -1, a$)
          EndIf
          ShellExecute_(0, 0, a$, 0, 0, #SW_SHOWNORMAL)
        EndIf
      Else
        EnterKey=#True
      EndIf
    EndIf
An anderer stelle im Code erfolgt dann folgendes:

Code: Alles auswählen

;
;  Doppelklick auf Eintrag.
;

  If EventType()=#PB_EventType_LeftDoubleClick Or EnterKey=#True

    EnterKey=#False
   ...
   ...
   ...
Diese Routine reguliert dann die führung der ListIcons. D.H. also ob man
ein Verz. Doppelgeklickt hat oder mit der ENTER-Key u.s.w. Ich weis nicht
ob es jetzt so halbwegs verständlich ist, da ich es auf der schnelle aus dem
Code geholt habe. Ansonsten kann ich ja mal ein ausführlicheres beispiel machen.

Jetzt habe ich erstmal soweit die 1.5 Fertiggestellt.

Update 1.5
V1.5

- Eine Pattern Auswahl-Option für das Selektieren von Dateien wurde hinzugefügt.
- Eine CRC32 Checksummenanzeige für Dateien wurde hinzugefügt.
- Spanischer Catalog hinzugefügt. (Danke an Zikitrake)
- Einige änderungen am GUI.
Pure FileMaster Setup v1.5

Pure FileMaster ZIP v1.5
Antworten