truc et astuce delphi.pdf

8
 comment supprimer un dossier vide   procedure TForm1.Button 1Click(Sender: TObject); begin if  DirectoryExists(Edit1.Text) then RmDir(Edit1.Text ); //supprimer le dossier saisie dans Edit1 s'il existe  end;  ou  procedure TForm1.Button 1Click(Sender: TObject); begin if  DirectoryExists(Edit1.Text) then Removedir(Ed it1.Text); //supprimer le dossier saisie dans Edit1 s'il existe  end;  supprimer un fichier   procedure TForm1.Button 1Click(Sender: TObject); begin DeleteFile(edit1.text); //supprimer le fichier saisie dans Edit1 ou DeleteFile('C:\delphikam\exemple.txt);  end;  Convertir un nom de fichier au format court 8.3. format Dos  procedure TForm1.Button 18Click(Sender: TObject); begin showmessage(ExtractShortPathName( 'C:\delphikam\test.txt'  )); //le résulta seras C:\DELPHI~1\test.txt  end;  créer un dossier avec un icone personnalisé depuis Shell. DLL de Windows   procedure TForm1.Button 1Click(Sender: TObject);  var Liste : TStrings ; begin CreateDir( 'C:\delphikam'  ) ; Liste := TStringList.C reate; Liste.Add( '[.ShellClassInfo]'  ) ; Liste. Add( 'IconFile = ' + GetEnvironmentVariable( 'Windir'  )+ '\system32\SHELL32.DLL'  ) ; Liste. Add( 'IconIndex = 118'  ) ; Liste. Add( 'InfoTip = Dossier de mon site delphi'  ) ;//la phrase "Dossier de delphi" c'est la phrase a afficher lorsque la soourie parcoure ce dossier  Liste. SaveToFile( 'C:\delphikam\Desktop.ini'  );

Upload: hidouche2014

Post on 03-Nov-2015

20 views

Category:

Documents


0 download

TRANSCRIPT

  • comment supprimer un dossier vide

    procedure TForm1.Button1Click(Sender: TObject); begin if DirectoryExists(Edit1.Text) then RmDir(Edit1.Text); //supprimer le dossier saisie dans Edit1 s'il existe end;

    ou procedure TForm1.Button1Click(Sender: TObject); begin if DirectoryExists(Edit1.Text) then Removedir(Edit1.Text); //supprimer le dossier saisie dans Edit1 s'il existe end;

    supprimer un fichier

    procedure TForm1.Button1Click(Sender: TObject); begin DeleteFile(edit1.text); //supprimer le fichier saisie dans Edit1 ou DeleteFile('C:\delphikam\exemple.txt); end;

    Convertir un nom de fichier au format court 8.3. format Dos

    procedure TForm1.Button18Click(Sender: TObject); begin showmessage(ExtractShortPathName('C:\delphikam\test.txt')); //le rsulta seras C:\DELPHI~1\test.txt end;

    crer un dossier avec un icone personnalis depuis Shell.DLL de Windows

    procedure TForm1.Button1Click(Sender: TObject); var Liste : TStrings ; begin CreateDir('C:\delphikam') ; Liste := TStringList.Create; Liste.Add('[.ShellClassInfo]') ; Liste. Add('IconFile = ' + GetEnvironmentVariable('Windir')+ '\system32\SHELL32.DLL') ; Liste. Add('IconIndex = 118') ; Liste. Add('InfoTip = Dossier de mon site delphi') ;//la phrase "Dossier de delphi" c'est la phrase a afficher lorsque la soourie parcoure ce dossier Liste. SaveToFile('C:\delphikam\Desktop.ini');

  • SysUtils.FileSetAttr('C:\delphikam', SysUtils.faReadOnly) ; SysUtils.FileSetAttr('C:\delphikam\Desktop.ini',SysUtils.faSysFile or SysUtils.faHidden) ; Liste.Free ; end;

    crer un dossier avec un icone personnalis depuis un fichier icone

    procedure TForm1.Button1Click(Sender: TObject); var Liste : TStrings ; begin CreateDir('C:\delphikam') ; Liste := TStringList.Create; Liste.Add('[.ShellClassInfo]') ; Liste.Add('IconFile = ' + 'C:\mes icone\delphik.ico'); Liste.Add('IconIndex = 0') ; Liste. Add('InfoTip = Dossier de mon site delphi') ;//la phrase "Dossier de delphi" c'est la phrase a afficher lorsque la soourie parcoure ce dossier Liste. SaveToFile('C:\delphikam\Desktop.ini'); SysUtils.FileSetAttr('C:\delphikam', SysUtils.faReadOnly) ; SysUtils.FileSetAttr('C:\delphikam\Desktop.ini',SysUtils.faSysFile or SysUtils.faHidden) ; Liste.Free ; end;

    crer un fichier texte

    procedure TForm1.Button1Click(Sender: TObject); var Fichier: TextFile; //dclarer d'abord fichier comme textefile begin AssignFile(fichier,edit1.Text); //crer le dossier saisie dans Edit1 ou CreateDir('c:\delphikam'); end;

    dfinir le rpertoire en cours

    procedure TForm1.Button24Click(Sender: TObject); begin if SetCurrentDir('C:\delphikam')=true then showmessage('Chemin de Dossier en cours modifeir') else showmessage('Erreur de changement de chemin dossier en cours'); end;

  • extraire le chemin d'un fichier

    procedure TForm1.Button1Click(Sender: TObject); begin Edit1.text:=ExtractFilePath('c:\delphikam\exemple.txt'); //le resultat sera C:\delphikam end;

    Extraire le lecteur et le rpertoire d'un nom de fichier

    procedure TForm1.Button10Click(Sender: TObject); begin showmessage(ExtractFilePath ('C:\delphikam\test.txt'));//le rsulta seras C:\delphikam\ end;

    extraire le nom d'un fichier

    procedure TForm1.Button1Click(Sender: TObject); begin Edit1.text:=ExtractFileName('c:\delphikam\exemple.txt'); //le resultat sera Exemple.txt end;

    Extraire les parties contenant les noms du lecteur et du rpertoire d'un fichier

    procedure TForm1.Button15Click(Sender: TObject); begin showmessage(ExtractFileDir('C:\delphikam\test.txt'));//le rsulta seras C:\delphikam end;

    extraire l'extension d'un fichier

    procedure TForm1.Button16Click(Sender: TObject); begin showmessage(ExtractFileExt('C:\delphikam\test.txt'));//le rsulta seras .txt end;

    Modifier les attribues d'un fichier FileSetAttr

    procedure TForm1.Button3Click(Sender: TObject); var Attributes,NewAttributes:Word; begin if Checkbox1.Checked then NewAttributes :=NewAttributes or SysUtils.faReadOnly else NewAttributes :=NewAttributes and not SysUtils.faReadOnly; if Checkbox2.Checked then NewAttributes :=NewAttributes or faArchive else NewAttributes :=NewAttributes and not faArchive;

  • if Checkbox3.Checked then NewAttributes :=NewAttributes or faSysFile else NewAttributes :=NewAttributes and not faSysFile; if Checkbox4.Checked then NewAttributes :=NewAttributes or faHidden else NewAttributes :=NewAttributes and not faHidden; if NewAttributes Attributes then FileSetAttr(edit1.Text,NewAttributes); {...crire les nouvelles valeurs } end;

    Rechercher un fichier dans le chemin de rpertoire spcifi

    procedure TForm1.Button1Click(Sender:TObject); var FileToFind:string; begin FileToFind :=FileSearch(Edit1.Text,Edit2.text);//rechercher dans le dossier saisie dans Edit2 if FileToFind ='' then ShowMessage('Impossible de trouver '+Edit1.Text +'.') else ShowMessage('Trouv'+FileToFind +'.'); end;

    Renommer un fichier RenameFile

    procedure TForm1.Button23Click(Sender: TObject); begin RenameFile('C:\delphikam\test.txt','C:\delphikam\nouveau nom.txt'); end;

    Renvoyer la taille en octets du disque spcifi

    procedure TForm1.Button5Click(Sender: TObject); var Total:Int64; begin Total :=DiskSize(0); // 0 est le numero de de disque Label3.Caption :=IntToStr(Total div 1024)+'Ko.'; end;

    Renvoyer le chemin complet d'un nom de fichier au format UNC,le cas chant

    procedure TForm1.Button9Click(Sender: TObject); begin showmessage(ExpandUNCFileName ('C:\delphikam\test.txt'));//le rsulta seras C:\delphikam\test.txt end;

  • Renvoyer le chemin complet d'un nom de fichier relatif

    procedure TForm1.Button7Click(Sender: TObject); begin showmessage(ExpandFileName('C:\delphikam\test.txt');//le rsulta seras C:\delphikam\test.txt end;

    Renvoyer le nom du rpertoire en cours

    procedure TForm1.Button22Click(Sender: TObject); begin showmessage(GetCurrentDir); end;

    Renvoyer les attribues d'un fichier FileGetAttr

    procedure TForm1.Button2Click(Sender: TObject); var Attributes,NewAttributes:Word; begin Attributes :=FileGetAttr(edit1.Text); {lit les attributs de fichier } Checkbox1.Checked :=(Attributes and SysUtils.faReadOnly)=faReadOnly; Checkbox2.Checked :=(Attributes and faArchive)=faArchive; Checkbox3.Checked :=(Attributes and faSysFile)=faSysFile; Checkbox4.Checked :=(Attributes and faHidden)=faHidden; end;

    Renvoyer un nom de chemin relatif un rpertoire

    procedure TForm1.Button17Click(Sender: TObject); begin ExtractRelativePath('C:\delphikam','C:\astuce'); showmessage('Nom de chemin revoy'); end;

    Renvoyr le nombre d'octets disponibles sur le lecteur spcifi

    procedure TForm1.Button4Click(Sender: TObject); var AmtFree:Int64; begin AmtFree :=DiskFree(0); // 0 est le numero de de disque Label1.Caption :=inttostr(AmtFree div 1024)+'Ko.'; end;

  • Revoyer La taille d'un dossier

    je vous explique cette technique avec un exemple, placer sur votre fiche un composant TEdit, 1 TButton, 3 TRadioButton, 1 TCheckBox, 1 Tlabel.

    Inserez cette focnction qui calcule la taille de dossier juste au debut des procedure

    function DirSize(const ADirName : string; ARecurseDirs : boolean = true) : integer; const FIND_OK = 0; var iResult : integer; procedure _RecurseDir(const ADirName : string); var sDirName : string; rDirInfo : TSearchRec; iFindResult : integer; begin sDirName := IncludeTrailingPathDelimiter(ADirName); iFindResult := FindFirst(sDirName + '*.*',faAnyFile,rDirInfo); while iFindResult = FIND_OK do begin // Ignore . and .. directories if (rDirInfo.Name[1] '.') then begin if (rDirInfo.Attr and faDirectory = faDirectory) and ARecurseDirs then _RecurseDir(sDirName + rDirInfo.Name) // Keep Recursing else inc(iResult,rDirInfo.Size); // Accumulate Sizes end; iFindResult := FindNext(rDirInfo); if iFindResult FIND_OK then FindClose(rDirInfo); end; end; // DirSize Main begin Screen.Cursor := crHourGlass; Application.ProcessMessages; iResult := 0; _RecurseDir(ADirName); Screen.Cursor := crDefault; Result := iResult; end;

    Puis dans l'implimentation OnClick du Button1 inserez cette instruction

    procedure TForm1.Button1Click(Sender: TObject); var taille:integer; begin if checkbox1.Checked=true then taille:=DirSize(edit1.Text,true) else taille:=DirSize(edit1.Text,false);

  • if taille1024 then Label1.Caption:=floattostr(RoundTo(taille/ 1024,-2))+' Ko'; if taille>1048576 then Label1.Caption:=floattostr(RoundTo(taille/(1048576),-2))+' Mo'; end;

    Savoir si le fichier est en lecture seule

    procedure TForm1.Button20Click(Sender: TObject); begin if FileIsReadOnly('C:\delphikam\test.txt')= true then showmessage('fichier est on lecture seule') else showmessage('fichier n''est pas on lecture seule'); end;

    supprimer un dossier avec ses fichier

    procedure TForm1.Button1Click(Sender: TObject); var Dir: TSearchRec; n : Integer; begin n := FindFirst('C:\delphikam\*.*', FaAnyfile, Dir); while n = 0 do begin if ((Dir.Attr and FaDirectory FaDirectory) and (Dir.Attr and FaVolumeId FaVolumeID)) then if not DeleteFile(pChar('C:\delphikam\' + Dir.Name)) then ShowMessage('impossible de supprimer le fichier'); n := FindNext(Dir); end; SysUtils.FindClose(Dir); if not removedir ('C:\delphikam') then ShowMessage('impossible de supprimer le dossier'); end;

    vrifier l'existence d'un fichier

    procedure TForm1.Button1Click(Sender: TObject); begin if FileExists('c:\exemple.txt') then ShowMessage ('Le fichier existe') else ShowMessage ('Le fichier existe Pas') ; end;

  • vrifier l'existence d'un dossier

    procedure TForm1.Button1Click(Sender: TObject); begin if DirectoryExists(Edit1.Text) then ShowMessage('le dossier existe') else ShowMessage('le dossier existe pas'); end;

    crer un dossier

    procedure TForm1.Button1Click(Sender: TObject); begin CreateDir(Edit1.Text); //crer le dossier saisie dans Edit1 ou CreateDir('c:\delphikam'); end;