Les Snippets

Connexion

Vérifier et forcer la validité d'un fichier (caractères interdits)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 08/09/2007 10:37:35 et initié par PCPT [Liste]
Date de mise à jour : 14/09/2007 14:08:48
Vue : 3035
Catégorie(s) : Fichier / Disque, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- Delphi 5



Langage : VB6 , VBA
Date ajout : 08/09/2007
Posté par PCPT [Liste]
Sub SetValidFile(ByRef sFile As StringOptional ByVal sReplace As String = "_")
'   sReplace doit contenir un seul  caractère (valide)
    Const sForbidden As String "\/:*?""<>|"
    Dim As Integer
    
    If (Not LenB(sReplace) = 2Or (InStrB(1,  sForbidden, sReplace)) Then sReplace = "_"
    If LenB(sFile) Then
        For i = To LenB(sFile) Step 2
            If InStrB(1, sForbidden, MidB$(sFile, i, 2)) Then MidB$(sFile, i, 2) = sReplace
        Next i
    End If
End Sub
'
'
'  =====================
' EXEMPLE  D'UTILISATION
'  =====================
'
    Dim sFile As String
    sFile = "mon fichier?de dest*ination|.txt"
    Call SetValidFile(sFile)
'   sFile  contient alors "mon fichier_de dest_ination_.txt"

Langage : Delphi 5
Date ajout : 14/09/2007
Posté par f0xi [Liste]
DateMAJ : 14/09/2007
{ renvois True si le nom de fichier est valide }
function IsValidFilename(const FileName : string) : boolean;
var
  n : integer;
const
  fbd = ['\','/',':','*','?','"','<','>','|'];
begin
  for n := 1 to Length(FileName) do
  begin
    result := not (FileName[N] in fbd);
    if not result then
      exit;   
  end;
end;

{ retourne FileName avec tout les caracteres invalides remplacés par underscore "_" }
function SafeValidFilename(const FileName : string) : string;
var
  pBOut : ^byte;
const
  fbd = [$22,$2a,$2f,$3a,$3c,$3e,$3f,$5c,$7c];
begin
  result := filename;
  pBOut:= @Result[1];
  while pBOut^ <> $0 do
  begin
    if pBOut^ in fbd then
      pBOut^ := $5f;
    inc(pBOut);
  end;
end;


Snippets en rapport avec : Fichier, Validité, Chaîne, Format, Écriture



Codes sources en rapport avec : Fichier, Validité, Chaîne, Format, Écriture

{C / C++ / C++.NET} CREATION DE FICHIER PDF
Ce code montre comment créer un fichier PDF grâce à la librairie SFPDF que je développe également. C...

{C / C++ / C++.NET} GESTION DES CHAINES DE CARACTÈRES POUR OUVERTURE ET FERMETURE DES FICHIERS - WINDOWS
Gèere les chaines de caractère des chemins de fichiers (pratique lorsque l'on utilise les argv avec ...

{Visual Basic, VB6, VB.NET, VB 2005} JEUX D'ENREGISTREMENT DANS UN FICHIER
JEUX D'ENREGISTREMENT DANS UN FICHIER-->ajouter, supprimer, consulter des enregistrements a partir d...

{Delphi} DÉCRYPTER LES FICHIERS IMAGE JPG (VOUS AVEZ ÉGARÉ LA CLÉ)
Certains fichiers jpg cryptés nécessitent une clé pour être visionnés. L'algorythme de cryptage est ...

{PHP} ECRITURE AU DÉBUT D'UN FICHIER SANS ÉFFACER LE RESTE
Cette fonction vous permettra d'écrire au début d'un fichier. Elle prends en paramètres le fichier ...

{C / C++ / C++.NET} SUITE ET ÉCRITURE DANS UN FICHIER
bon ok ce code est super pourri et inutile mais c'est mon premier et j'en suis fier. J'ai allumé pou...

{Visual Basic, VB6, VB.NET, VB 2005} TROUVER LE FORMAT D'UN FICHIER MULTIMEDIA
Il suffit de relever son extension et de la comparer avec celles contenues dans WIN.INI ...

{PHP} [PHP 5.1] CLASS STRING : NOUVEL EXEMPLE SUR LA SPL
Cette classe a été écrite essentiellement pour montrer que l'on peut très facilement écrire ne class...

{Visual Basic, VB6, VB.NET, VB 2005} TRANSFERT DE FICHIERS ENTRE 2 PC DISTANTS
Bonjour, Cette source permet, pour commencer en quelques mots, d'échanger des fichiers à travers ...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR EXCEL EN MASSE, AMÉLIORATIONS
mabrouklepoux avait proposé un comparateur de fichiers Excel. http://www.vbfrance.com/code.aspx?ID=3...