AGB  ·  Datenschutz  ·  Impressum  







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

Im TreeView Dateien ohne endung

Ein Thema von Uwe 111 · begonnen am 5. Apr 2010 · letzter Beitrag vom 21. Jan 2011
Antwort Antwort
Seite 1 von 3  1 23      
Uwe 111

Registriert seit: 29. Nov 2005
61 Beiträge
 
#1

Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 19:59
Hallo und Frohe Ostern noch

Mein Problem ist, ich habe dieTreeView aus ein Ordner befüllt. Aber ich möchte die endungen wie .txt nicht haben.
Also zum Beispiel die Datei Test.txt soll nur Test im Treeview stehen.

Hier mein Quellcode wie ich die TreeView befüllt habe

Delphi-Quellcode:
type
  pNodeInfo = ^tNodeInfo;
  tNodeInfo = record
      Path: Boolean;
      Name: String;
    end;


procedure TForm1.FindFilesTree(aTree: tTreeView; aPath: String;
  aNode: tTreeNode; aWithFiles: Boolean);
Var
  SearchRec: tSearchRec;
  NodeTmp: tTreeNode;
  Info: pNodeInfo;
Begin
  aTree.Items.BeginUpdate;

  // Wenn am Ende der Pfadangabe noch kein \ steht, dieses hinzufügen
  If aPath [Length (aPath)] <> '\Then
    aPath := aPath + '\';

  If FindFirst (aPath + '*.*', faDirectory, SearchRec) = 0 Then
    Begin
      Repeat
        // Wenn es sich um ein Verzeichnis handelt
        If (SearchRec.Attr and faDirectory = faDirectory)
          and (SearchRec.Name[1] <> '.')
        Then
          Begin
            If (SearchRec.Attr and faDirectory > 0) then
              Begin
                New (Info);
                Info^.Path := True;
                Info^.Name := aPath + SearchRec.Name;

                // zum aktuellen Eintrag hinzufügen
                aNode := aTree.Items.AddChildObject (aNode, SearchRec.Name, Info);
              End;

            // Eintrag merken
            NodeTmp := aNode.Parent;
            // auf Untereinträge prüfen
            FindFilesTree (aTree, aPath + SearchRec.Name, aNode, aWithFiles);
            // Eintrag wiederholen
            aNode := NodeTmp;
          End
        Else
          // Eintrag ist eine Datei
          If aWithFiles
            and (SearchRec.Name <> '.') and (SearchRec.Name <> '..')
          Then
            Begin
              New (Info);
              Info^.Path := False;
              Info^.Name := aPath + SearchRec.Name;

              aTree.Items.AddChildObject (aNode, SearchRec.Name, Info);
            End;

      // solange weiter bis keine wieteren Dateien/Verzeichniss gefunden werden
      Until FindNext (SearchRec) <> 0;

      FindClose(SearchRec);
    End;

  aTree.Items.EndUpdate;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Path := ExtractFilePath(Application.ExeName) + 'Daten\';
  FindFilesTree (TreeView1, Path, nil, True);
end;
MfG
Uwe 111
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:03
Dann schneide den String doch entsprechend ab:
-Position von letzem Punkt ermitteln ( Pos()/PosEx()) und dann in anderen Strinb kopieren (Copy()) oder Kürzen (SetLength())
Markus Kinzler
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#3

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:03
Schau dir mal die Funktion ExtractFileName

Delphi-Quellcode:
var
  myFileName : string;
begin
  ShowMessage(ExtractFileName(myFileName));
end;
an.
Lars
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:04
ExtractFileName() entfernt dern Pfad, aber nicht die Endung!
Markus Kinzler
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#5

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:06
Zitat von mkinzler:
ExtractFileName() entfernt dern Pfad, aber nicht die Endung!
Stimmt, hatte ich vergessen.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:07
ExtractFileName Holt doch nur den Dateinamen (samt Endung) aus einem Pfad raus?

ChangeFileExt mit '' als neue Endung wäre da passender.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Uwe 111

Registriert seit: 29. Nov 2005
61 Beiträge
 
#7

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:20
Hallo

himitsu
Zitat:
ExtractFileName Holt doch nur den Dateinamen (samt Endung) aus einem Pfad raus?

ChangeFileExt mit '' als neue Endung wäre da passender.
Ich möchte im Treeview überhaubt keine endung haben.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:21
Das macht doch das ChangeFileExt()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:25
Zitat von mkinzler:
Das macht doch das ChangeFileExt()
Jupp, ChangeFileExt mit '' würde die Dateiendung durch '' (zwei Apostroph mit nichts dazwischen) aka Nichts ersetzen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 20:26
Aber nur im String, an der Datei wird nichts geändert
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:29 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