Seite 8 von 32

Verfasst: 23.02.2007 22:20
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

Verfasst: 25.02.2007 01:04
von ts-soft
Wann kriegt der Commander seine Commandline? :wink:

Verfasst: 25.02.2007 20:09
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:

Verfasst: 03.03.2007 21:00
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:

Verfasst: 05.03.2007 12:07
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.

Verfasst: 05.03.2007 19:20
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.

Verfasst: 05.03.2007 20:59
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

Verfasst: 05.03.2007 21:56
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.

Verfasst: 05.03.2007 22:10
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

Verfasst: 05.03.2007 22:43
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