Feedback

C# - Pfad kürzen

Veröffentlicht von am 31.05.2008
(2 Bewertungen)
Diese Funktion kürzt einen Pfad ab so das aus
"C:\Windows\System32\Test\Test.dll" dann "C:\Windows\...\Test.dll" wird.

Dies ist die in C# übersetzte Version dieses Snippets: http://dotnet-snippets.de/dns/pfad-kuerzen-SID276.aspx
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

/// <summary>
/// Diese Funktion kürzt einen Pfad ab so das aus
/// "C:\Windows\System32\Test\Test.dll" dann "C:\Windows\...\Test.dll" wird.
/// </summary>
/// <param name="Path">Der Pfad, der gekürzt zurückgegeben werden soll.</param>
/// <param name="Length">Die gewünschte Länge, die nicht überschritten werden darf.</param>
/// <param name="TextFont">Die Schriftart, die angewendet wird.</param>
public string PathShorten(string Path, int Length, Font TextFont)
{
    string[] PathParts = Path.Split('\\');
    StringBuilder PathBuild = new StringBuilder(Path.Length);
    string LastPart = PathParts[PathParts.Length - 1];
    string PrevPath = "";

    //Erst prüfen ob der komplette String evtl. bereits kürzer als die Maximallänge ist
    if (TextRenderer.MeasureText(Path, TextFont).Width < Length)
    {
        return Path;
    }

    for (int i = 0; i < PathParts.Length - 1; i++)
    {
        PathBuild.Append(PathParts[i] + @"\");
        if (TextRenderer.MeasureText(PathBuild.ToString() + @"...\" + LastPart, TextFont).Width >= Length)
        {
            return PrevPath;
        }
        else
        {
            PrevPath = PathBuild.ToString() + @"...\" + LastPart;
        }
    }
    return PrevPath;
}
Abgelegt unter Pfad, String, kürzen.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!