| |
|
|
- Seite 1 - |
|
| Hallo Frank also irgendwie komm ich mit den Flags nicht klar. sollten den nicht eigentlich mit dem Flag 31 auch versteckte Dateien angezeigt werden ???? Ausserdem kann ich zwischen Flag 31 mit/ohne Flag 512 keinen unterschied feststellen.Bei mir haben die Dateien immer ihre eigenen Icons.
Gruß Klaus |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
| HALLO, Danke für die Hilfe und viel Spass im Urlaub
Gruß Klaus |
|
|
| |
|
|
|
| Danke !!!
Hab ich gehabt...bis auf den Tag, als mir ein Angelhaken aus dem Finger geschnitten werden mußte... ...Pech...
Bin wieder aus dem Urlaub da und bereit für eure Fragen.
Gruß, Frank |
|
|
| |
|
|
|
| Hi Frank wäre es möglich bei dieser Funktion noch einen Dateifilter einzubauen.... also *.* bzw *.txt usw.
oder gibts das schon ?? gefunden hab ich nichts
Gruß Klaus |
|
|
| |
|
|
|
| Hallo,
nein, gibs noch nicht. Ich schau mal, was sich machen läßt.
Hab momentan noch arge Probleme mit der Manifest Resource und der Sortierung von Spalten, das gilt es zuerst zu lösen...
Gruß, Frank |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| Hi,
warum hat mir niemand gesagt, das die Listview-Sortierung nicht funktioniert, wenn das Profanprogramm im WinXP Manifest-Modus läuft ??? Naja, hab ja selber XP, aber das hatte ich wohl auch vergessen zu testen...
Ab jetzt funktioniert es jedenfalls und die Listview.dll nutzt von nun an im Manifest-Modus die WinXP gestylten Pfeile, um die Sortierrichtung anzuzeigen. Ansonsten gelten aber weiterhin die alten Pfeile.
Gruß, Frank |
|
|
| |
|
|
|
| Hi,
wäre es möglich bei dieser Funktion noch einen Dateifilter einzubauen.... also *.* bzw *.txt usw. oder gibts das schon ?? gefunden hab ich nichts
ich habe zwei Dateifilter-Funktionen eingebaut. Wäre nett, wenn 1 bis 2 Personen es testen würden... Bitte bei mir melden.
---
SetFilelistFilter(S)
Filterfunktion für FilelistToCsv(). Bis zu 32 Filterstrings können bestimmt werden, die beim Laden einer Fileliste ignoriert werden.
S : Zeiger auf einen String mit Filter(n).
Mit dieser Funktion kann erreicht werden, das ab dem nächsten FilelistToCsv() eine oder mehrere Dateinamen nicht mit in die Liste übernimmt. S ist die Adresse eines Strings, der mehrere Strings enthalten kann. Diese werden durch das Zeichen | getrennt werden. Das Trennzeichen wird durch die Tastenkombination LStrg LAlt < erreicht. Maximal werden 32 Teilstrings unterstützt. Jeder Teilstring darf höchstens 63 Zeichen groß sein (plus ein Nullbyte). Groß- und Kleinschrift wird nicht gesondert beachtet, es ist also egal, ob .bmp oder .BMP angegeben wird. Wildcards wie * oder ? werden nicht unterstützt. Wird SetFilelistFilter() ein zweites Mal oder öfter benutzt, dann werden die vorherigen (Teil) Strings gelöscht. Im gleichen Zusammenhang ist auch noch SetFilelistNoFilter() interessant.
Beispiel, um keine Bilderdateien in der Fileliste anzuzeigen (jedenfalls die gängigsten):
filter$=.bmp|.gif|.jpg|.png SetFilelistFilter(addr filter$)
Alle Dateien, in deren Name einer der Strings .bmp, .gif, .jpg oder .png vorkommen, werden nicht mit in die Fileliste übernommen.
---
SetFilelistNoFilter(S)
Filterfunktion für FilelistToCsv(). Bis zu 32 Filterstrings können bestimmt werden, die beim Laden einer Fileliste angezeigt werden. Alle anderen werden nicht mit in die Liste übernommen.
S : Zeiger auf einen String mit Filter(n).
Mit dieser Funktion kann erreicht werden, das ab dem nächsten FilelistToCsv() nur die Dateinamen mit in die Liste übernommen werden, die in S stehen. Das gilt nur für Programmnamen, nicht für Directories. S ist die Adresse eines Strings, der mehrere Strings enthalten kann. Diese werden durch das Zeichen | getrennt werden. Das Trennzeichen wird durch die Tastenkombination LStrg LAlt < erreicht. Maximal werden 32 Teilstrings unterstützt. Jeder Teilstring darf höchstens 63 Zeichen groß sein (plus ein Nullbyte). Groß- und Kleinschrift wird nicht gesondert beachtet, es ist also egal, ob .bmp oder .BMP angegeben wird. Wildcards wie * oder ? werden nicht unterstützt. Wird SetFilelistFilter() ein zweites Mal oder öfter benutzt, dann werden die vorherigen (Teil) Strings gelöscht. Im gleichen Zusammenhang ist auch noch SetFilelistFilter() interessant.
Beispiel, um nur Bilderdateien in der Fileliste anzuzeigen (jedenfalls die gängigsten):
filter$=.bmp|.gif|.jpg|.png SetFilelistNoFilter(addr filter$)
Nur Dateien, in deren Name einer der Strings .bmp, .gif, .jpg oder .png vorkommt, werden in die Fileliste übernommen. Andere dateien nicht ! Directories sind vom Filter nicht betroffen.
---
Gruß, Frank |
|
|
| |
|
|
|
| Hallo Frank also wie heute morgen schon geschrieben funzt soweit alles ganz gut bis auf das Problem mit dem PUNKT im Dateinamen
und noch was ist mir aufgefallen Proc Dateifilter declare DatFilter$ hier alle Dateien mit .txt einlesen = ok let DatFilter$=.txt SetFilelistNOFilter(addr(DatFilter$)) LoadDir1 C:
waitinput
und jetzt alle Dateien mit .xyz nicht einlesen = nicht ok es bleibt bei den .txt Dateien ???!!! let Datfilter$=.xyz SetFilelistFilter(addr(DatFilter$)) LoadDir1 C: endproc
Gruß Klaus |
|
|
| |
|
|
|
| Hallo, habe obiges Beispiel auch mal mit Leerzeichen versucht um wieder eine ganze Liste hinzubekommen.... ...jetzt sind alle Verzeichnisse verschwunden
Gruß Klaus |
|
|
| |
|
|
|
| Hallo Klaus,
nein, kann ich nicht nachvollziehen. Zuerst sperrst du alle Dateien, die NICHT .txt im Namen haben (SetFilelistNoFilter), dann sperrst du alle Dateinamen, die .xyz beinhalten. Die beiden Filter sind voneinander unabhängig und können gleichzeitig benutzt werden.
Das Leerzeichen ist ein Problem, damit werden Listview.dll-intern Ordnernamen gekennzeichnet, um später beim Sorieren Ordner und Dateinamen auseinander halten zu können. Ich verwende das Zeichen Chr$(160), Shift Space. Weil Groß-Kleinschreibung aber gleich behandelt wird, wird es im Filter als Space Chr$(32) behandelt... Das wird nicht zu ändern sein. Naja, immerhin gibt es jetzt eine Methode, um alle Ordner auszublenden
Einen Bug hast du mir indirekt gezeigt. Ist ein Dateiname kürzer als der Filtername, dann wird er nicht weiter beachtet. Das versuche ich zu korregieren.
Gruß und Dank, Frank |
|
|
| |
|
|
|
| Hallo Frank
das mit dem Leerzeichen ist mir nur so aufgefallen und auch nicht weiter wichtig(zumindest für mich) es gibt zwar Dateien ohne Endung...aber was solls
aber was ist wenn sich im Dateinamen zufällig der gleiche String befindet wie eine Dateiendung ? z.B. ArchivFormat.zip-Okt03.txt wenn ich jetzt nur .zip anzeigen als Filter verwende wird diese Datei auch angezeigt.
Ok,die Filter sind unabhängig vonneinander..hab ich verstanden das bedeutet also ich kann die Sperrung des Filters nicht rückgängig machen ?...das war eigentlich mein vorhaben.
1.)nur Dateien anzeigen die .txt beinhalten let DatFilter$=.txt SetFilelistNOFilter(addr(DatFilter$))
2.)dann wollte ich das wieder rückgängig machen und eben alle Dateien anzeigen die nicht .xyz(nur mal als Beispiel) beinhalten let Datfilter$=.xyz SetFilelistFilter(addr(DatFilter$))
nur wenn wie Du sagst die Filter unabhängig sind weis ich beim besten willen nicht wie ich nach einem Filter diesen wieder rückgängig machen soll ??
Vielleicht kannst Du mir da mal auf die Sprünge helfen
Gruß Klaus |
|
|
| |
|
|
|
| Hallo Klaus,
ach so, du willst den Filter wieder löschen... Dafür hab ich jetzt keine Extraoption eingefügt, nimm einfach ein in Dateinamen verbotenes Zeichen. Z.B.:
let DatFilter$=? SetFilelistFilter(addr(DatFilter$))
let DatFilter$=? SetFilelistNOFilter(addr(DatFilter$))
Gruß, Frank |
|
|
| |
|
|
|
| Hallo aber macht es den einen Unterschied ob nun ein verbotenes Zeichen oder eine nicht zutreffende Dateiendung genommen wird ?
es ist der gleiche effekt wie ich oben am 8.9 in dem Quellcode schnipsel beschrieben habe.
Es bleibt immer der zuletzt gesetzte Filter bestehen denn wie Du ja gesagt hast arbeiten die Filter unabhängig
ist also wenn ich das richtig verstanden habe FileListNoFilter einmal gesetzt wars das.... man kann zwar dem Filter immer neue Dateiendungen zuweisen diese werden auch korrekt eingelesen nur ein setzten des ? bringt hier nichts den es gibt ja keine Dateien mit ? ....also man nehme FileListFilter setze hier ein ? und nun sollten beim nächsten filelisttocsv eigentlich alle Dateien die KEIN ? enthalten eingelesen werden....aber es hängt irgendwo noch der zuletzt gesetzte Filter von FileListNoFilter rum.....und drum geht das nicht
sollte ich mich irren ...großes SORRY und bitte nochmals um Hilfe ... auch wenns Dich bischen Nerft aber ohne Dich krieg ich das nicht hin
Gruß Klaus |
|
|
| |
|
|