così avrai il solo nome del file
nomefile := ExtractFileName(nomefile);
nomefile := Copy(nomefile, 1, Pos(ExtractFileExt(nomefile), nomefile)-1);
Scusa @brunello, evidentemente mi sono espresso male, ma non è quello che mi serve ...
Supponiamo che mi arrivi questo nome di file:
c:\pippo\pluto\paperino.txt
A me interessa capire il nome "REALE" di quel file, e dell'intero percorso, sul disco.
Quindi, se ad esempio le directories hanno veramente il nome minuscolo, ma il file si chiama su disco "PaperinoO.TxT", il risultato deve essere:
c:\pippo\pluto\PaperinoO.TxT
Naturalmente, questa cosa ha senso solo perché il programma ha la visibilità su quei files, altrimenti non potrebbe mai funzionare.
Essendo quel percorso mappato dal programma Linux che gira a valle, se gli dovessi passare il primo nome, lui non lo vedrebbe, perché considera i nomi dei files case sensitive.
Ciao, Mario
Non poteva non esserci una simile utility ;D
prova con:
ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string;
Ritorna la stringa corretta con la path case sensitive. ;D
in MatchFound:
MatchFound Return value
mkNone The fully qualified path name, as returned by ExpandFileName.
mkExactMatch The fully qualified path name for the single case-sensitive match to FileName. This is the same value as the one returned when MatchFound is mkNone.
mkSingleMatch (on MacOS and Linux) The fully qualified path name for the single file that matches FileName case-insensitively.
mkAmbiguous (on MacOS and Linux) The fully qualified path name for one of the case-insensitve matches to FileName. This path name is not the same as the specified file, and not necessarily the closest match.
Ciao ciao, spero che funzioni.
Non poteva non esserci una simile utility ;D
prova con:
ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string;
Grazie, funziona, ma solo con "l'ultimo pezzo" ...
Mi spiego:
ExpandFileNameCase(LowerCase('c:\Pippo\Pluto\PaperinoO.TxT'), MatchFound)
mi da come risultato
c:\pippo\pluto\PaperinoO.TxT
Quindi, faccio lo stesso lavoro che ho descritto prima, ma invece di usare le "FindFirtst", uso questa !
Grazie, Mario