| |
|
|
- Page 1 - |
|
| Hallo Frank also irgendwie komm ich mit den Flags nicht klar. sollten den nicht eigentlich mit dem Flag 31 auch versteckte File angezeigt werden ???? Ausserdem kann ich zwischen Flag 31 mit/ohne Flag 512 keinen unterschied feststellen.Bei mir haben die File immer ihre eigenen Icons.
Saluto Klaus |
|
|
| |
|
|
|
| |
|
- Page 1 - |
|
| HALLO, Danke per die Aiuto und viel Spass im Urlaub
Saluto 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 per eure Fragen.
Saluto, Frank |
|
|
| |
|
|
|
| Hi Frank wäre es possibile bei dieser Funktion noch einen Dateifilter einzubauen.... also *.* bzw *.txt usw.
oder gibts das schon ?? gefunden hab ich nichts
Saluto Klaus |
|
|
| |
|
|
|
| Ciao,
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...
Saluto, Frank |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
| Hi,
warum hat mir niemand gesagt, das die Listview-Sortierung nicht funktioniert, wenn das Profanprogramm im WinXP Manifest-Modus corre ??? 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.
Saluto, Frank |
|
|
| |
|
|
|
| Hi,
wäre es possibile 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 per 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 supportati. Jeder Teilstring darf höchstens 63 Zeichen grande 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 supportati. 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 File, in deren Name einer der Strings .bmp, .gif, .jpg oder .png vorkommen, werden nicht mit in die Fileliste übernommen.
---
SetFilelistNoFilter(S)
Filterfunktion per 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 per Programmnamen, nicht per 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 supportati. Jeder Teilstring darf höchstens 63 Zeichen grande 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 supportati. 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 File, 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.
---
Saluto, 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 File mit .txt einlesen = ok let DatFilter$=.txt SetFilelistNOFilter(addr(DatFilter$)) LoadDir1 C:
waitinput
und jetzt alle File mit .xyz nicht einlesen = nicht ok es bleibt bei den .txt File ???!!! let Datfilter$=.xyz SetFilelistFilter(addr(DatFilter$)) LoadDir1 C: endproc
Saluto Klaus |
|
|
| |
|
|
|
| Ciao, habe obiges Beispiel auch mal mit Leerzeichen versucht um wieder eine ganze Liste hinzubekommen.... ...jetzt sind alle Verzeichnisse verschwunden
Saluto Klaus |
|
|
| |
|
|
|
| Hallo Klaus,
nein, kann ich nicht nachvollziehen. Zuerst sperrst du alle File, 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.
Saluto und Dank, Frank |
|
|
| |
|
|
|
| Hallo Frank
das mit dem Leerzeichen ist mir nur so aufgefallen und auch nicht weiter wichtig(zumindest per mich) es gibt zwar File ohne Endung...aber was solls
aber was ist wenn sich im Dateinamen zufällig der gleiche String è wie eine Dateiendung ? z.B. ArchivFormat.zip-Okt03.txt wenn ich jetzt nur .zip Mostra als Filter verwende wird diese File 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 File Mostra die .txt beinhalten let DatFilter$=.txt SetFilelistNOFilter(addr(DatFilter$))
2.)dann wollte ich das wieder rückgängig machen und eben alle File Mostra 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
Saluto 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$))
Saluto, 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 File mit ? ....also man nehme FileListFilter setze hier ein ? und nun sollten beim nächsten filelisttocsv eigentlich alle File 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 Aiuto ... auch wenns Dich bischen Nerft aber ohne Dich krieg ich das nicht hin
Saluto Klaus |
|
|
| |
|
|