Forum: Mikrocontroller und Digitale Elektronik FAT16 Ordnernamen in dem ich mich befinde herrausfinden


von Daniel N. (bipak)


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

von Lupin (Gast)


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

von Daniel N. (bipak)


Lesenswert?

Ahja, das wär ne Möglichkeit. Mal schauen ob ich das hinbekomm.
Ich danke dir :)


von Daniel N. (bipak)


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
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.