Français
Source/ Codesnippets

Dateiname Pathremovefilespec Pfad Splitfilename Trennen

 

Michael
Wodrich
Dateinamen aufdröseln ab Version 10.0 (utilise Substr arriéré et Match$)
KompilierenMarqueSéparation
SplitFilename  (Test-Schnipsel)
Ab XProfan 10

Proc SplitFilename

    Parameters Vollname$
    Declare Laufwerk$, Pfad$, Datei$, Extension$
    Laufwerk$ = Match$(.:,Vollname$)
    Pfad$ = Match$(~.{0,2}\(.*\)?,Vollname$)
    Datei$ = SubStr$(Vollname$,-1,If(InStr(\,Vollname$),\,:))
    Extension$ = If(InStr(.,Datei$),SubStr$(Datei$,-1,.),)
    AddString Voller Dateiname: q + Vollname$ + q
    AddString Laufwerk + MkStr$(.,8) + : q + Laufwerk$ + q
    AddString Pfad + MkStr$(.,12) + : q + Pfad$ + q
    AddString Dateiname + MkStr$(.,7) + : q + Datei$ + q
    AddString Extension + MkStr$(.,7) + : q + Extension$ + q
    AddString

EndProc

ClearList
SplitFilename C:
SplitFilename Datei
SplitFilename Datei.
SplitFilename C:Datei.ext
SplitFilename C:Datei.ext
SplitFilename C:TestDatei
SplitFilename C:Test.$$$Datei.ext
SplitFilename C:Test.$$$Datei.
SplitFilename C:Test.$$$Datei
SplitFilename .Text.$$$
SplitFilename ....von weiter vorndatei.ext
ListBox$(die Ergebnisse,2)
VVV damit habe ich mal schnell die Ergebnisse abgegriffen
Declare s$,B#
Dim B#,50000
MoveListToMem(B#,
)
BlockWrite C:\Test_Splitfilename.txt,B#,0,Len(String$(B#,0))
Dispose B#
ShellExec(C:\Test_Splitfilename.txt,open,1)
Fin

et qui Ergebnisse:

Voller Dateiname: C:
Laufwerk........: C:
Pfad............:
Dateiname.......:
Extension.......:

Voller Dateiname: Dossier
Laufwerk........:
Pfad............:
Dateiname.......: Dossier
Extension.......:

Voller Dateiname: Dossier.
Laufwerk........:
Pfad............:
Dateiname.......: Dossier.
Extension.......:

Voller Dateiname: Catei.ext
Laufwerk........: C:
Pfad............:
Dateiname.......: Dossier.ext
Extension.......: ext

Voller Dateiname: Catei.ext
Laufwerk........: C:
Pfad............:
Dateiname.......: Dossier.ext
Extension.......: ext

Voller Dateiname: C:TestDatei
Laufwerk........: C:
Pfad............: Test
Dateiname.......: Dossier
Extension.......:

Voller Dateiname: C:Test.$$$Dossier.ext
Laufwerk........: C:
Pfad............: Test.$$$
Dateiname.......: Dossier.ext
Extension.......: ext

Voller Dateiname: C:Test.$$$Dossier.
Laufwerk........: C:
Pfad............: Test.$$$
Dateiname.......: Dossier.
Extension.......:

Voller Dateiname: C:Test.$$$Dossier
Laufwerk........: C:
Pfad............: Test.$$$
Dateiname.......: Dossier
Extension.......:

Voller Dateiname: .Text.$$$
Laufwerk........:
Pfad............: .Text.$$$
Dateiname.......:
Extension.......:

Voller Dateiname: ....de plus vorndatei.ext
Laufwerk........:
Pfad............: ....de plus vorn
Dateiname.......: fichier.ext
Extension.......: ext
 
Programmieren, das spannendste Detektivspiel der Welt.
16.06.2006  
 



[quote-part:283141f477=Michael Wodrich]
et qui Ergebnisse:
[box:283141f477]
Voller Dateiname: Catei.ext
[/box:283141f477][/quote-part:283141f477]
là fehlt un Backslash
Du devrait qui Laufwerksbuchstaben aussi avec BackSlash zurückgeben, alle API-Aufrufe akzeptieren
im allgemeinen beides, alors C: et C:, so cela es avec Backslash einheitlicher wäre.
Ansonsten très nützlich.
 
16.06.2006  
 




Michael
Wodrich
Ist pas entier richtig avec dem Backslash.

qui Dossier peux oui dans *chaque* Verzeichnis sur Laufwerk C: son, si vous so angegeben ist.

et c'est pas qui devoir eines Splitters pour une vollständigen Namen trop sorgen. ensuite wären nämlich aussi qui .. alle aufgelöst worden.

quelquefois braucht on simple seulement une Namens-Verhackstücker, weil on un partie en austauschen voudrais.

Korrekt wäre allerdings, den Dateinamen de qui Erweiterung trop befreien. ensuite reicht un simple addieren qui Teile et on hat wieder un Ganzes (c'est pourquoi: Laufwerk seulement qui Buchstabe et Doppelpunkt).

Ist chez den Snippets gelandet, weil on sich là oui quoi draus ableiten peux.

dans chaque le cas ca va maintenant avec XProfan 10 alles quelque chose kürzer trop écrivons.

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
16.06.2006  
 




Jac
de
Lad
Gibts dafpr pas aussi ne API? je mon, si je aus einem Dateinamen den Pfad extrahieren veux, je pourrait cela grad bien gebrauchen, finde cela mais pas.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.03.2007  
 




KompilierenMarqueSéparation
DEF @PathRemoveFileSpec(1) !shlwapi,PathRemoveFileSpecA
WindowTitle Dateinamen von Pfad trennen
Windowstyle 31+512
Window 0,0-640,440
Declare EingabeDatei$,Pfad#
Let EingabeDatei$=C:
Dim Pfad#,513

While EingabeDatei$<>

    let EingabeDatei$=@LoadFile$(Bitte Datei auswählen,*.*)
    String Pfad#,0=EingabeDatei$
    @PathRemoveFileSpec(Pfad#)
    Print @String$(Pfad#,0)

07.03.2007  
 



Michael Wodrich
Ist pas entier richtig avec dem Backslash.

qui Dossier peux oui dans *chaque* Verzeichnis sur Laufwerk C: son, si vous so angegeben ist.


Völlig korrekt car si sich un Prozess z.B. via chdir  sur d: befinded, zuvor mais pour c:sonstwasirgendwas modifié wurde - so serait qui Angabe de C:mon.fichier sur c:sonstwasirgendwasmeine.fichier montrer, statt sur c:mon.fichier.

Michaels Algo funzt IMHO absolu richtig.
 
07.03.2007  
 




Jac
de
Lad
@Andreas: merci!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.03.2007  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.316 Views

Untitledvor 0 min.
Rainer Hoefs11.06.2023
rafl03.10.2014
Christian Hahn05.07.2013
maxpayne200129.04.2013

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie