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]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

/// <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!