FAT16 Ordnernamen in dem ich mich befinde herrausfinden

OP #474575
Lesenswert?
• ▲
▼
Hi,

ich nutze Stefan Seegels vfat Source um auf SD Karten zuzugreifen.
Jetz bin ich gerade dabei ein kleinen filebrowser zu implementieren.
Von einem Unterordner zum anderen zu springen und dann jeweils in der 
erste Zeile des Displays den Namen des aktuellen Ordners anzuzeigen, ist 
kein Problem.
Möchte ich jetzt aber wieder Ordner für Ordner zurück gehen, fehlen mir 
die Ordnernamen.
Um von einem Unterordner zum höher liegendem zu gehen, wähl ich einfach 
den Eintrag Nr. 1 aus dem aktuellen Ordner aus. Also "..",  zeigt ja auf 
das letzte dir.
1
dir_cluster = vfat_readDirEntry(dir_cluster, 1, &filesize, &fileattrib, mp3.name);
2
browse_directory(dir_cluster);
Jetzt bin ich im vorigem Ordner, nur wie finde ich dessen Namen raus?

Wär schön, wenn mir jemand helfen könnte.

Grüße,
Daniel
Gast #474583
Lesenswert?
• ▲
▼
das geht glaube ich indem du wieder nach dem .. suchst, dann einen höher 
gehst und schaust nach dem ordner welcher auf deinen ordner zeigt. dann 
nimmst du davon den dateinamen.

geht vielleicht auch besser, ist aber zumindest mal eine möglichkeit
OP #474716
Lesenswert?
• ▲
▼
Supi, das funktioniert :D
1
void search_dir_name(uint32_t dir_cluster)
2
{
3

4
  uint32_t filesize;
5
  uint8_t fileattrib;
6
  
7
  uint32_t dummy, dir_finder;
8
  uint8_t i = 0;
9
  
10
  
11
  dummy = vfat_readDirEntry(dir_cluster, 1, &filesize, &fileattrib, mp3.name);
12
  
13
    
14
  while(dir_finder != dir_cluster)
15
  {
16
     dir_finder = vfat_readDirEntry(dummy, i++, &filesize, &fileattrib, mp3.name);  
17
  
18
  }
19
  
20
  vfat_readDirEntry(dummy, i-1, &filesize, &fileattrib, mp3.active_dir);
21
  
22
  return;
23

24
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren