IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

retrouver rep spéciaux windows


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Par défaut [Résolu] retrouver rep spéciaux windows
    bonjour,

    quand je reprends le code d'Atlantis pour retrouver les rep de windows, j'obtiens le message d'erreur concernant la ligne:
    SHGetSpécialFolderLocation(Form.Hanle,Foldr,Sfolder);

    form.Handle: identificateur non déclaré; qu'est-ce que je dois faire?

    et est-ce que ça marche avec windows XP?

    Merci de votre aide, j'comprends pas tout !

    voici le code complet:

    unit trouve_rep_speciaux_wind;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, Shlobj, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    private
    { Déclarations privées }
    public
    { Déclarations publiques }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    function SpecialFolder(Folder: Integer): String;
    var SFolder : pItemIDList;
    SpecialPath : Array[0..MAX_PATH] Of Char;

    begin
    SHGetSpecialFolderLocation(Form.Handle, Folder, SFolder);
    SHGetPathFromIDList(SFolder, SpecialPath);
    Result := StrPas(SpecialPath);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    edit1.text := SpecialFolder(CSIDL_PERSONAL);
    end;

    end.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 35
    Par défaut
    c'est plus lisible
    Pour ce qui est de ton probleme si tu as fait un simple copier/coller de la fonction c'est normal que sa ne marche pas car ta form n'as pas forcement le meme nom que la form de la fonction copier.
    En clair verifie le nom de ta form..... et fais les modif necessaires si besoin

  3. #3
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 35
    Par défaut
    C'est aussi valable pour les autres composants bien sur.....

  4. #4
    Membre Expert
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Par défaut
    Sinon, va voir : exemple Michel

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Par défaut
    Merci
    en fait je ne sais pas à quoi correspond ce Form1.handle

    mais ça marche (y compris sous windows XP)

    code retouché:

    begin
    SHGetSpecialFolderLocation(Form1.Handle, Folder, SFolder);
    SHGetPathFromIDList(SFolder, SpecialPath);
    Result := StrPas(SpecialPath);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    memo1.text := SpecialFolder(CSIDL_PERSONAL);
    memo1.lines.add(SpecialFolder(CSIDL_desktopdirectory));
    memo1.lines.add(SpecialFolder(CSIDL_programs));
    memo1.lines.add(SpecialFolder(CSIDL_COMMON_PROGRAMS));
    end;


    PS comment on indique que le problème est résolu

  6. #6
    Seb
    Seb est déconnecté
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 81
    Par défaut
    Salut,
    Citation Envoyé par pegase21
    PS comment on indique que le problème est résolu
    En éditant ton premier message et en indiquant [Résolu] dans le sujet. Puis tu le reposte.

    Please : n'oublies pas non plus les balises Code quand tu posteras du code dans tes prochains messages (c'est plus lisible). Merci.

    A+,

    Seb.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Retrouver mémoire processus windows
    Par moi4567 dans le forum Programmation système
    Réponses: 1
    Dernier message: 14/08/2013, 20h43
  2. Réponses: 0
    Dernier message: 29/12/2011, 14h51
  3. Comment gérer des reps sous Windows & Linux ?
    Par Sylver--- dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2007, 13h04
  4. retrouver mes partition windows sous suse10.1
    Par zchallal dans le forum SUSE
    Réponses: 10
    Dernier message: 21/05/2007, 16h08
  5. Droit d'acces sur rep partagé Windows
    Par MrEddy dans le forum Réseau
    Réponses: 2
    Dernier message: 10/02/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo