AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Beste Methode, um "IsAbsoluteFilePathValid" narrensicher zu implementieren ?
Thema durchsuchen
Ansicht
Themen-Optionen

Beste Methode, um "IsAbsoluteFilePathValid" narrensicher zu implementieren ?

Ein Thema von Rollo62 · begonnen am 14. Sep 2023 · letzter Beitrag vom 14. Sep 2023
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#1

AW: Beste Methode, um "IsAbsoluteFilePathValid" narrensicher zu implementieren ?

  Alt 14. Sep 2023, 16:37
So richtig habe ich deine Anforderungen nicht verstanden, vielleicht so: [DELPHI]
Danke sehr für die Vorschlag, aber ich möchte mich eben möglichst nicht um die einzelne Elemente selber kümmern.

Ich bekomme irgendeinen FilePath als Text-String rein, der kann absolut, relativ, oder auch nur ein reiner "Filename.ext" sein.
Die Funktion soll einfach ein Go / NoGo geben, wenn der TextString formal OK und damit prinzipiell z.B. mit StringList.SaveToFile( AFilePath ) schreibbar wäre.

Ist der FilePath formal falsch, dann habe ich die Chance diesen VOR dem SaveToFile() zu korrigieren.

Sollten dann Zugriffsrechte fehlen oder sonstwas, dann kann es eine Exception werfen,
aber die Routine soll im Vorfeld den FilePath prüfen, ob es prinzipiell überhaupt schreibbar ist, ohne Nebeneffekte oder Exceptions.

Mein Vorschlag unten funktioniert prinzipiell für eine Reihe von Fällen, die Frage ist aber gibt es vielleicht etwas Optimaleres oder
vielleicht gibt es sogar etwas Fertiges in der RTL.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
482 Beiträge
 
#2

AW: Beste Methode, um "IsAbsoluteFilePathValid" narrensicher zu implementieren ?

  Alt 14. Sep 2023, 17:17
Ich bekomme irgendeinen FilePath als Text-String rein, der kann absolut, relativ, oder auch nur ein reiner "Filename.ext" sein. Die Funktion soll einfach ein Go / NoGo geben, wenn der TextString formal OK und damit prinzipiell z.B. mit StringList.SaveToFile( AFilePath ) schreibbar wäre.
Formal OK ist auch:
Delphi-Quellcode:
fileName := '..\..\data.txt';
if IsAbsoluteFilePathValid(fileName) then
begin
  with TStringList.Create do
  try
    Add('Hier bin ich...');
    SaveToFile(fileName);
  finally
    Free;
  end;
end;
Wenn es ausreicht, ist deine Lösung OK. Ich hatte die Frage so verstanden, dass du Kontrolle willst.

Bis bald...
Thomas

Geändert von mytbo (14. Sep 2023 um 17:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz