Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String (Dateipfad) verkürzt darstellen (mit ...) (https://www.delphipraxis.net/26580-string-dateipfad-verkuerzt-darstellen-mit.html)

dopeline 25. Jul 2004 20:55


String (Dateipfad) verkürzt darstellen (mit ...)
 
Hallo!

Wie kriege ich das hin:

Ich habe einen String
('D:\Eigene Dateien\Dokumente\Schule\Biologie\Experiment.doc') . Aus dem soll folgendes werden:
('D:\Eigene Dateien\...\Experiment.doc').

WIe macht man das?


Gruß, dopeline

Mirilin 25. Jul 2004 21:03

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
:hi:

Klick


mfg Tobias

mirage228 25. Jul 2004 21:07

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
Hi,

eventuell hilft dir ja auch die Funktion "MinimizeName" aus der Unit "FileCtrl" ;)

mfG
mirage228

mischerr 25. Jul 2004 21:09

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
Prüfe doch einfach über TCanvas.TextWidth wie breit der String wird.
Ermittle über ExtractFilePath und ExtractFileName Path und Dateiname.
Kürze nun den Path-String solange, bis er inkl '...\'+Dateiname in die von dir gewünschte Anzeigefläche passt.

Grüsse!

dopeline 25. Jul 2004 21:11

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
Ah, Danke!

ich habe noch eine kleine Frage zur anwendung:
was bedeuten die Variablen "NumSlashesBegin" und "NumSlashesEnd" ?

Bestimmt von welchem bis welchem slash er punkten soll oder? Ich kann doch aber vorher nicht wissen, wieviele slash's im string drin sind. wenn ich einen ordner in dem pfadstring habe, der gaaanz lang ist, soll er bereitsnach einem slash punkten. aber wenn ich mehrere kleinerer ordner drin habe soll ers erst nach dem 5ten tun. kann man nicht einfach sagen, er soll nach 20 zeichen anfangen durchzulaufen und dann beim erstauftauchenden slash beginnen und vor dem letzten aufhören?

Wie muss man den quelltext dafür abändern?


Gruß, dopeline

Luckie 25. Jul 2004 21:18

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
Steht alles als Kommentar unter dem Copyright in der Unit. :roll:

dopeline 25. Jul 2004 21:26

Re: String (Dateipfad) verkürzt darstellen (mit ...)
 
Oh... :oops:

Jetzt, wo du's sagst...

Nach ein bischen rumprobieren habe ich eine gute kombination gefunden:
Delphi-Quellcode:
procedure TForm5.Label2Click(Sender: TObject);
var max,lang,backs:integer;
    pathtemp:string;
begin
 if SelectDirectory('Ordner wählen', '', CoverPfad) then //Ein OrdnerAuswahlFenster öffnet sich
  begin
   Label2.Caption:=ShortPath(CoverPfad,1,CountBackSlashes(CoverPfad)-2); //weist dem Label2 den Verkürzten Pfad zu
  end;
end;
Ich danke euch für die hilfe!!!



Gruß, dopeline


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 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