AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tiefe einer rekursiven Funktion

Ein Thema von Luckie · begonnen am 18. Feb 2005 · letzter Beitrag vom 18. Feb 2005
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Tiefe einer rekursiven Funktion

  Alt 18. Feb 2005, 21:44
Ich durchsuche mit einer Rekursiven Funktion Verzeichnisse und erstelle mir damit eine Html-Datei mit den Verzeichnisnamen und den enthaltenen Dateien. Funktioniert prima.
Jetzt will ich die Überschriftenebenen passend zur Verzeichnistiefe formatieren. Also H! für die oberste, H2 für die darunter, H3 für noch eins tiefer. Jetzt ist das Problem: Wie kann ich festellen, wann er im Verzeichnisbaum wieder eine Ebene höher geht?

Zur Verdeutlichung:

Code:
Root
 |-Sub1
 |  |-Sub1_1
 |  |-Sub1_2
 |-Sub2
    |-Sub2_1
    |-sUB2_2
Ergebnis:
Code:
H1: Root
  H2: Sub1
    H3: Sub1_1
    H3: Sub1_2
  H2: Sub2
    H3: Sub2_1
    H3: Sub2_2
Ich komme einfach nicht drauf, wie ich das hinbekommen soll. Ich glaube, ich sehe den Wald vor lauter Bäumen nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Tiefe einer rekursiven Funktion

  Alt 18. Feb 2005, 21:48
Ich mache es immer so, dass ich vor dem Aufrufen in die Funktion einen Wert inkrementiere und nach dem verlassen den Wert wieder runterzähle. Mit Startwert 0 weißt du dann in deiner Funktion immer, wie tief du schon in die Verzeichnisse "eingestiegen" bist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Tiefe einer rekursiven Funktion

  Alt 18. Feb 2005, 21:50



Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Tiefe einer rekursiven Funktion

  Alt 18. Feb 2005, 21:51
Hallo Luckie,

probiers mal so:
Delphi-Quellcode:
function DeineFunc(..., Level: Integer): ...;
begin
...
DeineFunc(..., Level+1);
end;
Bei mir funktionierts immer so, also wenn du die Funktion mit Level=1 aufrufst, dann brauchst du nur noch 'H'+IntToStr(Level) ausgeben, und du hast deine Ueberschrift

Greetz
alcaeus

[add][/add]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz