AGB  ·  Datenschutz  ·  Impressum  







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

Dateinamen aus String filtern

Ein Thema von Basic-Master · begonnen am 25. Apr 2003 · letzter Beitrag vom 26. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2      
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#1

Dateinamen aus String filtern

  Alt 25. Apr 2003, 18:49
Hi,
kennt ihr ne methode, um dateinamen aus nem beliebigen string zu filtern? mir fällt nix ein um sowas zu verwirklichen : ausblabla,bla:test.exe>bla-hier ist noch einer...datei.bmp;bla wird dann z.b.
Delphi-Quellcode:
test.exe
datei.bmp
also mir fällt nix ein um sowas zu verwirklichen... please help!
Christian
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 25. Apr 2003, 18:55
Moin Basic Master,

nur so als grobe Idee:
Du könntest nach den Endungen suchen, nach denen Du filtern willst, und Dich dann, von der Fundstelle aus, rückwärts durch den String "hangeln", bis Du auf ein Zeichen gestossen bist, dass nicht in einem Dateinamen vorkommen kann.
Je nachdem, ob Du nach ganzen Pfaden, oder nur Dateinamen suchen willst, und ob es sich um Namen mit oder ohne Leerzeichen handeln kann sieht die Suchstrategie immer etwas anders aus.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#3
  Alt 25. Apr 2003, 19:06
Also 100%tig wirst du das wohl nicht hinbekommen. Du müsstest, wie schon Christian gesagt hat, nach einer Dateiendung suchen. Wenn du aber dann zu einem Leerzeichen kommst, kann das Programm ja nicht wissen ob das Leerzeichen dazugehört oder nicht. Bei einem Ganzen Pfad ist das einfacher: Nach dem ersten "\" suchen, wenn davor dann ein ":" steht nach einem anderen Buchstaben direkt davor suchen und schon hast du das Laufwerk zum namen. Dann müsstest du nur noch nach einer dateiendung suchen und alles was dazwischen ist, ist dann der komplette pfad mit datei. (Natürlich nicht zwangsweise )

Man liest sich Stanlay
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#4
  Alt 25. Apr 2003, 19:15
hmm also mit pos+copy und variablen?
Christian
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 25. Apr 2003, 20:22
Moin Basic Master,

im Wesentlichen: Ja.

@Stanlay:
Was Du dabei übersiehst: UNC Pfade, also z.B. \\Server\Share\pfad1\pfad2\dateiname.ext

Das mit den Leerstellen im Dateinamen lässt sich noch gut abfragen, weil dann, hoffentlich (), der Pfad in " eingeschlossen ist, so dass man bei einem " hinter der Extension mit der Annahme arbeiten kann, dass der Pfad in " eingeschlossen ist.
Dazu wäre es dann noch ganz sinnvoll auf die Anzahl von " im String , bzw. vor der Extension zu prüfen. Existiert z.B. ein " direkt hinter der Extension, aber kein " vorher, dann kann der Pfad nicht in " eingeschlossen sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#6
  Alt 25. Apr 2003, 21:54
hmm mir ist glaub ich was eingefallen: gibts ne funktion, um alle installierten dateierweiterungen auszugeben? dann könnte man nämlich den text mit den dateierweiterungen splitten und anschliessend "weiterverarbeiten".
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#7
  Alt 25. Apr 2003, 22:07
Dazu müsste man alle registrierten Endungen aus der Registry auslesen, oder? Weiß nicht , ob es dafür ne Funtkion gibt, wie bei Ini Dateien.

man liest sich Stanlay
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#8
  Alt 25. Apr 2003, 22:12
hmm ok wo die ganzen "ordner" der reg liegen, wo die endungen drin sind weiss ich... nur da bräuchte man dann sowas wie readsections bei tinifile...
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#9
  Alt 25. Apr 2003, 22:16
Das ist ja das Problem. Ich hab in der Delphi Hilfe nix dazu gefunden. ich glaub, das liegt daran, dass man ja, wenn man einen neuen Schlüssel auslesen will, erstmal den letzten schließen muss.
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#10
  Alt 25. Apr 2003, 23:05
Du hast IMHO keine Chance, da dieses
Code:
bla-hier ist noch einer...datei.bmp;bla
ein gültiger Dateiname ist. Wieso sollte jetzt ausgerechnet der Teil
Code:
datei.bmp
der gewünschte Dateiname sein?

Aus der Registry die Dateiendungen auszulesen nützt auch nichts, da nirgendwo steht, dass eine Dateiendung in der Registry angeführt sein muss.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:20 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