Suffix/Dateiendung herausfinden



  • Hallo Leute!

    Bitte entschuldigt diesen Thread, ich weiß den hat es sicher schon mindestens 300 mal gegeben. Ihr müsst mir glauben, ich habe das Internet nen ganzen Tag nach Hilfe durchforstet, aber die wenigen Artikel die mir helfen könnten (Microsoft Seiten, Forenbeiträge,etc.), waren für mich absolut unverständlich. Programmieren ist nicht wirklich meine Stärke, mich interessiert viel eher das Designen von Benutzeroberflächen, Websiten etc.
    Ich hoffe ihr könnt mir trotzdem helfen, sonst muss ich heut noch irgeneinen Nachbar aus Frustation erchiessen. 😉

    Also jetzt meine eigentliche Frage:
    Ich hab ein kleines Programm geschrieben, welches ansich schon zu 90% fertig ist. Dieses Prog soll automatisch erkennen welche Dateiendung der Dateipfad (String) hat und führt dementsprechend eine andere Funktion aus.

    Grundsätzlich wollte ich das ganze so lösen, dass das Programm einfach schaut wo sich der Punkt im String befindet und dann alles was dahinter ist ausgibt. Um das Problem zu übergehen, dass er nicht den letzen Punkt nimmt beginnt er von hinten und zählt rückwärts bis er nen punkt findet. Das ganze sieht bei mir so aus.

    String ext, exepath;
    int j, i;
    for(i=exepath.Length();exepath[i]!='.';i--) ext[j]=exepath[i];
    

    (Ja ich weiß das der Suffix dann verkehrt gespeichert wird)

    Jetzt ergibt sich dort aber ein weiteres Problem, dass mich so frustiert hat. Sobald ich das Programm kompiliere kommt eine Fehlermeldung dass der Range überschritten wurde und er springt auf die Zeile:

    ThrowIfOutOfRange(idx); in dstring.h

    Es würde mich sehr freuen wenn mir jemand helfen könnte das Problem zu beheben oder eine bessere Alternative kennt. Ich hoffe ihr könnt mir helfen. Und Sorry für den Thread.

    LG
    Kennedy



  • Wahrscheinlichste Ursache: Der Inhalt von j ist nicht definiert, deshalb schlägt der Zugriff auf ext[j] fehl.

    Betreffs Alternative: Sieh dir mal die anderen Funktionen von AnsiString an, wie z.B. Pos, SubString, LastDelimiter.



  • Schau doch mal in die Hilfe zu ExtractFileExt.
    Gruss



  • Vielen Dank für eure Hilfe. ExtractFileExtension hat wunderbar funktioniert. Danke euch beiden 🙂

    Ach ja und noch eine Frage, wäre toll wenn ihr das auch noch beantworten könntet:

    Kann ich irgendwie verhindern, dass ein Programm in der Taskleiste erscheint (oder als Prozess definieren)?

    LG

    Edit: Geht in Ordnung, dachte nur wenn ich schon mal da bin...



  • Siehe FAQ.

    In Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Danke!


Anmelden zum Antworten