Filer v1.00 Alpha 31
- Elle4u
- TAP-Chirurg
- 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
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
-> 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
Elle4u
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.bekannter BUG: Alphabetische Datei-Sortierung in Ansicht "DataFiles" nicht korrekt (Warum?)
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller
- Elle4u
- TAP-Chirurg
- 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:
Hallo.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.
Ich verstehe halt nicht warum es bei Verzeichnissen und MP3s funktioniert...
Hier der "Sortier-Code" (Bubblesort ops: ):
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
Elle4u
- Elle4u
- TAP-Chirurg
- 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:
Der KnochenjägerDeJe hat geschrieben:Hast Du mal ein Beispiel wo eine "falsche" Sortierung kommt?
40 Tage und 40 Nächte
Big Brother
NUMB3RS
...
Das ist nicht so ganz alphabetisch
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
Elle4u
- Harvey
- 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
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)
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
Harvey
- Elle4u
- TAP-Chirurg
- 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:
OK. DAS war es. In beiden Verzeichnissen!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)
Vielen Dank!
Dann ist der Bug doch kein Bug.
stricmp geht leider nicht.
Gruß,
Elle4u
Elle4u
- topfkieker
- Topfversteher
- Beiträge: 324
- Registriert: Sa 10. Dez 2005, 12:32
- Receivertyp: TF5000PVR
- Receiverfirmware: Jan.'07
Hallo!
Hatte das gleiche Problem wie Elle4U. Aber wie kommt es zu dem "|" vor einem Dateinamen (Topfield-Bug)???
Gruß topfkieker
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
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
- mastercb
- Erfahrener Benutzer
- Beiträge: 198
- Registriert: Fr 9. Dez 2005, 20:56
- Receivertyp: SRP-2401CI+ RDE1161
- Receiverfirmware: immer die Aktuelle ;-)
Noch eine Frage @Elle4U:topfkieker hat geschrieben: Hatte das gleiche Problem wie Elle4U. Aber wie kommt es zu dem "|" vor einem Dateinamen
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)
- Elle4u
- TAP-Chirurg
- 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:
Man könnte ein Rename einbauen solange keine Aufnahme/Wiedergabe dieses Files läuft. Dürfte eigentlich kein Problem sein...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)
Gruß,
Elle4u
Elle4u
- Harvey
- 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
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.
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
Harvey
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
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)
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)
- Elle4u
- TAP-Chirurg
- 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:
Habe es jetzt versucht (testweise mal mit allen Aufnahmen, welche mit "g" beginnen):thensch hat geschrieben:Das wäre wohl die beste Lösung.
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++;
Kann mir bitte jemand einen Tip geben wie man es besser macht? ops:
Thx!
Gruß,
Elle4u
Elle4u
- Elle4u
- TAP-Chirurg
- 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:
Weil ich nicht weiß, wie man das macht? ops: ops: ops: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
Und weil ich das eine gute Möglichkeit fand...
Gruß,
Elle4u
Elle4u
- mega
- Vielantworter
- Beiträge: 781
- Registriert: Do 15. Dez 2005, 12:49
- Receivertyp: SRP-2100 TMS
- Wohnort: Münster
- Kontaktdaten:
char c;Elle4u hat geschrieben:Weil ich nicht weiß, wie man das macht? ops: ops: ops:
Und weil ich das eine gute Möglichkeit fand...
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
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
?? strcmp macht doch nichts anderes. Zeichen für Zeichen wird der ASCII-Wert verglichen...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.
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller
- Harvey
- 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
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?
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
Harvey
- Elle4u
- TAP-Chirurg
- 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:
Ich kürze ja vorher den String auf nur ein Zeichen: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).
Code: Alles auswählen
textBuf[1] = 0;
Denke ich auch...Harvey hat geschrieben:Wahrscheinlich musst Du das Directory nach dem Umbenennen noch einmal komplett einlesen.
Sogar kannHarvey hat geschrieben:Die Übergabe "&File.name[1]" bedeutet zwar, dass TAP_Hdd_Rename den Namen ändern könnte, wenn es wollte.
Tja. Der rename klappt aber der parameter ändert sich nicht... Hm. Evtl. kann ich den ja auch umsetzten...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?
mal schnell
Gruß,
Elle4u
Elle4u