TXT listing format option truncates long path (in polish)

Post bugs here
Locked
Mateusz Bednarek
Fresh user
Posts: 1
Joined: Fri Dec 14, 2007 9:13 am
Location: Poland

TXT listing format option truncates long path (in polish)

Post by Mateusz Bednarek » Fri Dec 14, 2007 9:24 am

Miałem poprzednią wersję, nie spodziewałem się że nowa
wersja to całkiem inny program. Nawet program pomocny,
niby wszystko ok, ale po obszernych testach, wyszły w
nim pewne błędy. To nie jest takie listowanie łapu capu,
tylko w profesjonalnej archiwizacji katalogów. Gdyby ktoś
miał firmę i chciał skatalogować, a to jest ważne, kto,
kiedy jaki pracownik zrobił plik, kartotekę to nie można
się opierać na "mniej- więcej" zrobionemu listingowi plików.

Z tego co przeglądałem, w zrobionym przez program listingu
pojawił się w nazwie katalogu na końcu wykrzyknik !. Taki
dodany ad hoc. Nie wiem skąd on jest. Może to być błąd
systemu plików tak sobie myślę. Ale program robi inne figle,
skąd można wiedzieć, co jest grane, czy miało być tam wykrzyknik,
czy go nie miało w nazwie być. Gdyby to było tylko to,
mógłbym zapomnieć, ale program też się zawiesza.

Najważniejszy problem jest z listowaniem ścieżki katalogów.
W programie ustala się na sztywno długość ścieżki do plików, a na
dyskach jest system hierarchiczny katalogowania plików. Drzewo.
I po 80 czy tam 60 znakach jest dla programu próżnia. Głębiej
w nazwach jak przekraczają 80 znaków nie listuje ścieżki.

Powiem, że to ucinanie ścieżki wygląda raz nie elegancko,
raz bezużytecznie. Uwaga, oznacza to, co może wydawać się
dziwne, że program Directory Lister powyżej ustalonej
długości ścieżki nic nie listuje!

A więc nie da się odszukać wybranego głęboko leżącego
katalogu w listingu na przykład otwierając go w WordPadzie
komendą CTRL+F (szukaj).

Można oczywiście ustawić 500 znaków na ścieżkę, ale to
automatycznie powoduje, że plik jest nie wiem 400% większy,
z 2 MB robi się niepotrzebnie 8MB na prawdę ciężkiego
pliku. I jest nieczytelny bo przesuwa daty poza ekran
- aż o 500 znaków.

W wersji HTML długość nazwy się blokuje i program burzy
porządek wierzy, zawijając automatycznie wiersze po 76 znakach.

Wracając do listowania plików i katalogów do pliku txt.
I to można by było dojść do pełnej ścieżki, tej która została
ucięta, metodami dedukcji - po wcześniejszym wylistowaniu
podkatalogów, ale nie można. Bo. Po przegraniu plików, tracą
się daty więc nie można znaleźć, który folder należy do
odpowiedniego rekordu w listingu. Łatwo sobie wyobrazić gdy
foldery mają taką samą zawartość, ale inne daty i różnią się
jedynie dopiskiem na końcu nazwy katalogu. Na przykład "Pliki
graficzne" i drugi katalog "Pliki graficzne niebieska wersja"
Jak to jest często w robieniu projektów. (Również nie można
dojść po rozmiarach kartotek, kiedy one mają taki sam rozmiar.)

Program po wybraniu opcji >>Listing dla każdego katalogu<<
zawiesił się i zamknął. I tak się dzieje cyklicznie. Nie da
się wybierać tej opcji. A to po to wybrana jest ta opcja, że
może da się obejść poprzedni błąd.

Jak można by naprawić błąd długich ścieżek. Albo podać przy
listowaniu przed plikami katalogów (to trzeba wybrać w opcjach)
wstawiać numery kartotek i potem te numery wstawiać przed pełną
ścieżką dla listowanej kartoteki. Co jest już uwikłaniem
listingu w własny system opisu systemu plików. Rozwiązanie
nieczytelne, wprowadzające chaos i nieeleganckie.

Drugą metodą prostszą byłoby po prostu, listowanie od tyłu
ścieżki. Załóżmy że ścieżka do pliku ma 180 znaków, program
listuje 80, to znaczy że już nic nie listuje, bo ucina 100
znaków. Więc gdy listuje od tyłu, listuje 80 użytecznych
znaków, (i tak trzeba założyć że nazwa nie ma 80 znaków)
lub nazwa i poprzedni katalog nie mają więcej niż 80
znaków (żeby coś wylistował) i listuje tą ścieżkę od
tyłu. Całą ścieżkę, da się dojść po poprzednich ścieżkach.
(Ale tylko wtedy gdy poprzednie wszystkie katalogi będą
wylistowane.) Musiałaby być metoda adaptacyjna - żeby
program wylistował w tym wierszu katalogu od tyłu pełną
nazwę katalogu i nazwę przedostatniego katalogu.

Można zrobić zwyczajnie warning że ustalona z góry długość
dla nazwy jest za mała. A program podałby prawidłową długość.

Można to obejść w ten sposób że najpierw listować pliki
do CSV, a potem inny programem skonwertować go do pliku
TXT. Ale się nie da. Bo jak to zrobić, gdy program generuje
CSV'ały ze średnikami ";". Średników nie chce czytać większość
programów do CSV. Zainstalowałem dwa i te dwa nie czytają
plików CSV Direcotry Listera.

Podstawowe reguły ze standardami ogólnie obowiązują, ale
w listingu CSV Direcotry Listera, chyba nie. W programie nie
da się ustawić separatora. Jest on ustalony na stałe na
średnik ";". A przecież CSV oznacza Comma Separated Values,
czyli jak sama nazwa wskazuje wartości rozdzielane przecinkami
",".

Program też może, wracając do rozwiązania poprawnego listingu
w pliku txt, po prostu obliczyć najdłuższą ścieżkę katalogu
i po prostu ją wstawić w parametrze opcji >>Nazwa<<
automatycznie. Mógłby również automatycznie zawijać długą
nazwę ścieżki. Zresztą to jest problem twórców Directory
Listera co zrobić, żeby poprawnie listował długie ścieżki.

A więc tak jest z tym Directory Lister 1.04 krótkie testowanie
i wyszły w działaniu trzy niedopuszczalne błędy.

Ja jako użytkownik, który zapłaci za program, nie mogę
przeprowadzać fazy testów i wykazywać, że koncepcja listowania
jest błędna. 20 dolarów za program, który nie robi listingu
tak jak ma robić listing jest zastanawiająca.

admin
Site Admin
Posts: 321
Joined: Sun May 01, 2005 7:07 pm

Re: TXT listing format option truncates long path (in polish

Post by admin » Fri Dec 14, 2007 5:04 pm

Witam,

Pozwolę sobie po kolei rozwiać wątpliwości:
Mateusz Bednarek wrote: Z tego co przeglądałem, w zrobionym przez program listingu
pojawił się w nazwie katalogu na końcu wykrzyknik !.
Skłaniałbym się ku tezie, że taka właśnie jest nazwa tego katalogu.
Mateusz Bednarek wrote: Najważniejszy problem jest z listowaniem ścieżki katalogów.
W programie ustala się na sztywno długość ścieżki do plików, a na
dyskach jest system hierarchiczny katalogowania plików. Drzewo.
I po 80 czy tam 60 znakach jest dla programu próżnia. Głębiej
w nazwach jak przekraczają 80 znaków nie listuje ścieżki.
Aby rozwiązać ten problem wystarczy zaznaczyć opcję "Automatyczne szerokości kolumn" na zakładce "Opcje listingu". Wtedy program sam policzy jaka ma być szerokość każdej kolumny opierając się na maksymalnej długości występującej dla listowanych plików i katalogów.
Mateusz Bednarek wrote: W wersji HTML długość nazwy się blokuje i program burzy
porządek wierzy, zawijając automatycznie wiersze po 76 znakach.
Wiersze, a konkretnie kolumna "Nazwa" jest zawijana w zależności od szerokości wyświetlanego okna. Nie jest to w żaden sposób ustawione na sztywno.
Mateusz Bednarek wrote: Program po wybraniu opcji >>Listing dla każdego katalogu<<
zawiesił się i zamknął. I tak się dzieje cyklicznie. Nie da
się wybierać tej opcji.
Dziękuję za zgłoszenie tego problemu. Udało mi się go zreprodukować i będzie naprawiony w następnej wersji programu.
Mateusz Bednarek wrote: Drugą metodą prostszą byłoby po prostu, listowanie od tyłu
ścieżki.
Jest to interesujące rozwiązanie. Nie obiecuję, ale być może pojawi się w jednej z kolejnych wersji programu.
Mateusz Bednarek wrote: Podstawowe reguły ze standardami ogólnie obowiązują, ale
w listingu CSV Direcotry Listera, chyba nie. W programie nie
da się ustawić separatora. Jest on ustalony na stałe na
średnik ";".
Separator jak najbardziej można ustawić na zakładce "Opcje listingu" na dowolny znak, włączając w to tabulator.

Mateusz Bednarek wrote:Ja jako użytkownik, który zapłaci za program, nie mogę
przeprowadzać fazy testów i wykazywać, że koncepcja listowania
jest błędna. 20 dolarów za program, który nie robi listingu
tak jak ma robić listing jest zastanawiająca.
Wydaje się, że zbyt pochopnie napisał Pan tego posta, nie analizując wszystkich możliwych opcji programu. Błąd rzeczywiście jest jeden, nie w podstawowej funkcjonalności i tak jak napisałem zostanie wkrótce naprawiony.

Locked