Filer v1.00 Alpha 31

Spezielles Forum für und um Filer
Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

Filer v1.00 Alpha 31

#1

Beitrag von Elle4u » Di 20. Dez 2005, 17:46

Filer v1.00 Alpha 31
-> 20.12.2005 17:25 Uhr

- neu: Menü: Datei-Sortierung in Ansicht "DataFiles" kann nun eingestellt werden (Alphabetisch, nach Dateigröße, nach Aufnahmedatum)
- neu: Menü: Datei-Sortierung in Ansicht "MP3" kann nun eingestellt werden (Alphabetisch, nach Dateigröße, nach Dateidatum)
- neu: mit der Taste "blau" kann die Datei-Sortierung auch direkt in der Verzeichnis-Ansicht durchgewechselt werden. Die jeweilige Einstellung wird sofort in der INI abgespeichert.
- neu: Das Menü von Filer kann nun direkt über TSRCommander aufgerufen werden
- geändert: Es wird nun das ImproBox Bookmark-File von Version 2.0 und 2.01b1 gleichzeitig unterstützt
- geändert: Aussehen des Fortschrittsbalken beim Festplattenplatz
- bekannter BUG: Alphabetische Datei-Sortierung in Ansicht "DataFiles" nicht korrekt (Warum?)
- bekannter BUG: Filer funktioniert auf 5200c nur teilweise
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß,
Elle4u

DeJe
Topfmeister
Topfmeister
Beiträge: 612
Registriert: Sa 10. Dez 2005, 13:57

#2

Beitrag von DeJe » Di 20. Dez 2005, 17:55

bekannter BUG: Alphabetische Datei-Sortierung in Ansicht "DataFiles" nicht korrekt (Warum?)
Mit was machst Du die Sortierung? String-Sortierung ist teilweise "tricky" in C, insbesondere bei den Umlauten wird es kompliziert. Sieh Dir mal die hex-Werte für die Buchstaben und Sonderzeichen in der ASCII-Table an, vielleicht hilft Dir das.
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#3

Beitrag von Elle4u » Di 20. Dez 2005, 18:05

DeJe hat geschrieben:Mit was machst Du die Sortierung? String-Sortierung ist teilweise "tricky" in C, insbesondere bei den Umlauten wird es kompliziert. Sieh Dir mal die hex-Werte für die Buchstaben und Sonderzeichen in der ASCII-Table an, vielleicht hilft Dir das.
Hallo.
Ich verstehe halt nicht warum es bei Verzeichnissen und MP3s funktioniert... :confused:

Hier der "Sortier-Code" (Bubblesort :oops: ):

Code: Alles auswählen

//sortiere gefundene Dateien nach Name
if (((FilerMode == Show_Dir_DataFiles || FilerMode == Show_Dir_RecycleBin) && options.SortDataFiles == 0) || (FilerMode == Show_Dir_MP3 && options.SortMP3 == 0)) {
   for (Counter = 0; Counter < FileCount; Counter++) {
      for (Counter2 = FileCount - 1; Counter2 > Counter; Counter2--) {
         if (strcmp(FileList[Counter2 - 1].File.name, FileList[Counter2].File.name) > 0) {
            FileTemp = FileList[Counter2 - 1];
            FileList[Counter2 - 1] = FileList[Counter2];
            FileList[Counter2] = FileTemp;
         }
      }
   }
}
Gruß,
Elle4u

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#4

Beitrag von Harvey » Di 20. Dez 2005, 18:55

Bei aufgenommenen Filmen ist der erste Buchstabe manchmal ein Sonderzeichen.
Gruss
Harvey

DeJe
Topfmeister
Topfmeister
Beiträge: 612
Registriert: Sa 10. Dez 2005, 13:57

#5

Beitrag von DeJe » Di 20. Dez 2005, 19:05

Hast Du mal ein Beispiel wo eine "falsche" Sortierung kommt?
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#6

Beitrag von Elle4u » Di 20. Dez 2005, 19:10

DeJe hat geschrieben:Hast Du mal ein Beispiel wo eine "falsche" Sortierung kommt?
Der Knochenjäger
40 Tage und 40 Nächte
Big Brother
NUMB3RS
...

Das ist nicht so ganz alphabetisch :eek:

Evtl. wg. dem ä in ...jäger?

EDIT: Wobei ich gerade merke: In einem anderen Verzeichnis ist es auch das 1. File was nicht stimmt... Evtl. habe ich mich da vertan?
Gruß,
Elle4u

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#7

Beitrag von Harvey » Di 20. Dez 2005, 19:17

Schau mal mit Hilfe von Altair, ob der 1. Buchstabe ein "|" ist.

Es kann zwar sein, dass Knockenjäger nicht zwischen Knochenjager und Knochenjbger landet, aber so sollte es nicht sein.

Achja: Gross- und Kleinbuchstaben spielen auch eine Rolle, trotzdem passt dein Beispiel nicht (ob die Library stricmp kann weiss ich nicht, dem wäre die Gross-Kleinschreibung egal)
Gruss
Harvey

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#8

Beitrag von Elle4u » Di 20. Dez 2005, 19:32

Harvey hat geschrieben:Schau mal mit Hilfe von Altair, ob der 1. Buchstabe ein "|" ist.

Es kann zwar sein, dass Knockenjäger nicht zwischen Knochenjager und Knochenjbger landet, aber so sollte es nicht sein.

Achja: Gross- und Kleinbuchstaben spielen auch eine Rolle, trotzdem passt dein Beispiel nicht (ob die Library stricmp kann weiss ich nicht, dem wäre die Gross-Kleinschreibung egal)
OK. DAS war es. In beiden Verzeichnissen!

Vielen Dank!

Dann ist der Bug doch kein Bug. :lol:

stricmp geht leider nicht.
Gruß,
Elle4u

Benutzeravatar
topfkieker
Topfversteher
Topfversteher
Beiträge: 324
Registriert: Sa 10. Dez 2005, 12:32
Receivertyp: TF5000PVR
Receiverfirmware: Jan.'07

#9

Beitrag von topfkieker » Di 20. Dez 2005, 20:30

Hallo!

Hatte das gleiche Problem wie Elle4U. Aber wie kommt es zu dem "|" vor einem Dateinamen (Topfield-Bug)???

Gruß topfkieker
TF-Peripherie: Alphacrypt Classic V3.09 | Sony Plasma KE-42MR1 | Sony 5.1-AV-Receiver STR-KSL 50 | Sony DVD-Player DVP-NS 430 | Logitech Harmony 525

AutoStart-Taps: ImproBox V2.3 | Filer V2.00 | 3PG V1.19 | Matrix Screensaver V1.7 | WSS killer V2.11 | Fastskip V1.1 | RecCopy V4.0

Benutzeravatar
mastercb
Erfahrener Benutzer
Erfahrener Benutzer
Beiträge: 198
Registriert: Fr 9. Dez 2005, 20:56
Receivertyp: SRP-2401CI+ RDE1161
Receiverfirmware: immer die Aktuelle ;-)

#10

Beitrag von mastercb » Di 20. Dez 2005, 20:41

topfkieker hat geschrieben: Hatte das gleiche Problem wie Elle4U. Aber wie kommt es zu dem "|" vor einem Dateinamen
Noch eine Frage @Elle4U:

Kannst Du im Filer gleich eine "Dateinamenskorrektur" einbauen ?? (d.h. if (erstes Zeichen ="|" Then verschiebe den ganzen Dateinamen um eins nach links).

oder, wenn Dir das zu "heiß" ist: Wende doch den Ausdruck einfach jeweils vor Deinen internen Sortierroutine an (in der lokalen String-Kopie)

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#11

Beitrag von Elle4u » Di 20. Dez 2005, 20:50

mastercb hat geschrieben:Noch eine Frage @Elle4U:

Kannst Du im Filer gleich eine "Dateinamenskorrektur" einbauen ?? (d.h. if (erstes Zeichen ="|" Then verschiebe den ganzen Dateinamen um eins nach links).

oder, wenn Dir das zu "heiß" ist: Wende doch den Ausdruck einfach jeweils vor Deinen internen Sortierroutine an (in der lokalen String-Kopie)
Man könnte ein Rename einbauen solange keine Aufnahme/Wiedergabe dieses Files läuft. Dürfte eigentlich kein Problem sein... :santa:
Gruß,
Elle4u

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#12

Beitrag von Harvey » Di 20. Dez 2005, 20:50

Ich weiss nicht, wonach ich im alten Board suchen muss. Irgend einem ist aufgefallen, unter welchen Umständen das passiert.


Nicht durch den Compiler gelaufen, von daher sehr wahrscheinlich buggy. Laufzeit: keine Ahnung. äöüß: unberücksichtigt, weil ich den topfinternen Code nicht kenne.

Code: Alles auswählen

int stricmp(unsigned char* s1, unsigned char* s2)
{
 unsigned char *p1, *p2;
 unsigned char c1, c2;

 for (p1=s1,p2=s2; *p1<>0 && *p2<>0; p1++,p2++)
 {
  c1 = *p1;
  if (c1 >= 97 && c1 < 122) c1-=32;
  c2 = *p2;
  if (c2 >= 97 && c2 < 122) c2-=32;

  if (c1 > c2) return -1;
  else if (c1 < c2) return 1;
 }
 return 0;
}
Gruss
Harvey

thensch
Super-Duper-Freak
Super-Duper-Freak
Beiträge: 4397
Registriert: Fr 9. Dez 2005, 15:16
Receivertyp: TF5000PVR
Receiverfirmware: 03.01.07 EGmHIPSTUUu

#13

Beitrag von thensch » Di 20. Dez 2005, 20:52

Elle4u hat geschrieben:Man könnte ein Rename einbauen solange keine Aufnahme/Wiedergabe dieses Files läuft. Dürfte eigentlich kein Problem sein... :santa:
Das wäre wohl die beste Lösung.
Gruß
thensch
FpLogger, PowerRestore, 3PG 1.22, ImproBox, Euro-Stirf, Macro TAP, RecCopy

Benutzeravatar
digitus
Topfversteher
Topfversteher
Beiträge: 269
Registriert: Mo 12. Dez 2005, 09:45
Wohnort: OHZ

#14

Beitrag von digitus » Di 20. Dez 2005, 20:52

Hallo Elle;

Wieso machst Du die Sortierung über den Befehl strcmp ??
Für so einen SortierAlgo denke ich es ist wirklich besser die Strings in einzelne Zeichen zu zerlegen diese dann in ASCII Werte ( Hex ) umzurechnen, dann zu vergleichen.


greetings
Topfield 5500 PVR Firmware 5.12.05.PH
with SilexServer SX2000WG
,Irdeto SE4.7EN,

Topfield 4000 PVR, Irdeto SE4.7EN
Topfield 7700 HDPVR mit Enigma 2 Spring-Image ;)
DMM 8000 ssst HDPVR NN Image

Taps :[ color=Red]1-QuickfinderA9[/color] , 2=Quicktimer,
3=Nicedisplay,4=Improbox,5=Filer,
6=TSRCommander, 7= ReZap,8=Jukebox,
9=JagsEPG,10=PowerRestore,11=Fastcopy,12=Overfly

(normally last versions)

:topf: :topf: :idea:

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#15

Beitrag von Elle4u » Di 20. Dez 2005, 21:38

thensch hat geschrieben:Das wäre wohl die beste Lösung.
Habe es jetzt versucht (testweise mal mit allen Aufnahmen, welche mit "g" beginnen):

Code: Alles auswählen

TAP_SPrint(textBuf, "%s", File.name);
textBuf[1] = 0;
if (strcmp(textBuf, "g") == 0) {
   TAP_Hdd_Rename(File.name, &File.name[1]);
}

FileList[FileCount].File = File;
FileCount++;
Wenn ich dies mache werden zwar die Files umbenannt aber gehen trotzdem mit dem alten Namen ins Array. Ein abspielen des Files ist dann (durch den falschen Namen) z.B. nicht möglich :(
Kann mir bitte jemand einen Tip geben wie man es besser macht? :oops:

Thx!
Gruß,
Elle4u

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#16

Beitrag von Elle4u » Di 20. Dez 2005, 21:39

digitus hat geschrieben:Hallo Elle;

Wieso machst Du die Sortierung über den Befehl strcmp ??
Für so einen SortierAlgo denke ich es ist wirklich besser die Strings in einzelne Zeichen zu zerlegen diese dann in ASCII Werte ( Hex ) umzurechnen, dann zu vergleichen.


greetings
Weil ich nicht weiß, wie man das macht? :oops: :oops: :oops:
Und weil ich das eine gute Möglichkeit fand...
Gruß,
Elle4u

Benutzeravatar
mega
Vielantworter
Vielantworter
Beiträge: 781
Registriert: Do 15. Dez 2005, 12:49
Receivertyp: SRP-2100 TMS
Wohnort: Münster
Kontaktdaten:

#17

Beitrag von mega » Di 20. Dez 2005, 21:53

Elle4u hat geschrieben:Weil ich nicht weiß, wie man das macht? :oops: :oops: :oops:
Und weil ich das eine gute Möglichkeit fand...
char c;
int j;
c = meinstring; // Gibt das Zeichen an Stelle i im String
j = (int)meinstring; // Gibt den ASCII-Wert des Zeichens an Stelle i im String

Hoffe mal, der Topf kann das so wie in ANSI C
SRP-2100 TMS

TF5500PVR 160GB mit improbox premium, NiceDisplay, 3PG, QuickTimer, ozArchive, standby, startchannel, overfly, matrix saver, stirf
TF5000PVR A BP 80GB mit improbox premium, NiceDisplay, 3PG, QuickTimer, ozArchive, standby, startchannel, overfly, Jukebox, matrix saver, stirf

Topf 5000PVR 160GB mit improbox premium, DisplayTAP, 3PG, QuickTimer, ozArchive, standby, startchannel, overfly, matrix saver, stirf

75 cm Schüssel auf Astra mit 5/8 Multiswitch


DeJe
Topfmeister
Topfmeister
Beiträge: 612
Registriert: Sa 10. Dez 2005, 13:57

#18

Beitrag von DeJe » Di 20. Dez 2005, 21:55

Für so einen SortierAlgo denke ich es ist wirklich besser die Strings in einzelne Zeichen zu zerlegen diese dann in ASCII Werte ( Hex ) umzurechnen, dann zu vergleichen.
?? strcmp macht doch nichts anderes. Zeichen für Zeichen wird der ASCII-Wert verglichen...
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#19

Beitrag von Harvey » Di 20. Dez 2005, 22:03

Der Codeschnipsel ist zu wenig für mich (zumal ich die API nur theoretisch kenne).

Er sollte aber abgesehen vom eigentlichen Problem nicht funktionieren, da z.B. strcmp("ga", "g") nicht 0 liefert, da ga größer ist als g ("sollte deshalb, weil mich jetzt wundert, dass es funktionierte).


Wahrscheinlich musst Du das Directory nach dem Umbenennen noch einmal komplett einlesen. Die Übergabe "File.name" bedeutet zwar, dass TAP_Hdd_Rename den Namen ändern könnte, wenn es wollte. Wer aber sagt, dass der neue Dateiname nicht erst mal in eine lokale Variable kopiert wird um damit weiter zu arbeiten, der Parameter deshalb aber nie verändert wird?
Zuletzt geändert von Harvey am Di 20. Dez 2005, 22:07, insgesamt 1-mal geändert.
Gruss
Harvey

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#20

Beitrag von Elle4u » Di 20. Dez 2005, 22:09

Harvey hat geschrieben:Er sollte aber abgesehen vom eigentlichen Problem nicht funktionieren, da z.B. strcmp("ga", "g") nicht 0 liefert, da ga größer ist als g ("sollte deshalb, weil mich jetzt wundert, dass es funktionierte).
Ich kürze ja vorher den String auf nur ein Zeichen:

Code: Alles auswählen

textBuf[1] = 0;
Dadurch funktioniert es.
Harvey hat geschrieben:Wahrscheinlich musst Du das Directory nach dem Umbenennen noch einmal komplett einlesen.
Denke ich auch...
Harvey hat geschrieben:Die Übergabe "&File.name[1]" bedeutet zwar, dass TAP_Hdd_Rename den Namen ändern könnte, wenn es wollte.
Sogar kann :lol:
Harvey hat geschrieben:Wer aber sagt, dass der neue Dateiname nicht erst mal in eine lokale Variable kopiert wird um damit weiter zu arbeiten, der Parameter deshalb aber nie verändert wird?
Tja. Der rename klappt aber der parameter ändert sich nicht... Hm. Evtl. kann ich den ja auch umsetzten...
mal schnell :type:
Gruß,
Elle4u

Gesperrt

Zurück zu „Filer“