特種フォルダの取得

解決


ペンネ  2008-07-31 03:11:52  No: 31413

Turbo Delphi XP  です。

特種フォルダの取得方法を調べているのですが、いろいろ参考になる
ページはバージョンの違いが原因なのか、うまく動きません。

マイドキュメントのパスを表示するだけでいいんですが、お願いします。


これは  2008-07-31 03:53:55  No: 31414

http://madia.world.coocan.jp/delphi/Win32API/ShFolder.htm
試したのかな?


ぺんね  2008-07-31 03:55:07  No: 31415

さっそくの返答ありがとうございます。
試しましたが。

この部分でエラーがでます。
function GetFolderPath(nFolder : integer):string;


お作法  2008-07-31 04:25:24  No: 31416

>この部分でエラーがでます
どんなエラーかを具体的に書くのが正しいお作法というもの。


ぺんね。  2008-07-31 04:29:43  No: 31417

あたしとした事が・・・・
大変申し訳ございません。

[Pascal エラー] *****.pas(17): E2065 forward または external 宣言された '*****.GetFolderPath' が見つかりません

なのですが。
ずっとVBをやっていてDelphi初心者です、出来れば優しくお願いします。


どぞ  2008-07-31 04:42:42  No: 31418

http://homepage3.nifty.com/m-and-i/tips/tipspage.htm
のNo4がいいお


ぺんね  2008-07-31 05:50:17  No: 31419

すいませんどうにも・・・・

ここに書いてもらえませんか?


igy  2008-07-31 06:18:55  No: 31420

>[Pascal エラー] *****.pas(17): E2065 forward または external 宣言された '*****.GetFolderPath' が見つかりません

ソースコードのほうは、どのように書いているのですか?


ぺんね。  2008-07-31 06:39:07  No: 31421

下記にソースをいれてみます。
ぞうぞよろしくお願いします。

unit me;

interface

uses
//追加 ShlObj,ActiveX
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,ShlObj,ActiveX;

type
  TMee = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private 宣言 }
     function GetFolderPath(nFolder : integer):string;//+

  public
    { Public 宣言 }
    
  end;

var
  Mee: TMee;

implementation

{$R *.dfm}

procedure TMee.FormCreate(Sender: TObject);
Var                 //+
                    //+
Ret :string;        //+
Root : PItemIDList; //+
Buffer : PChar;     //+
Memory : IMalloc;   //+

begin
//フォーム部分
ShowMessage('HI');

ShowMessage(GetFolderPath(CSIDL_STARTMENU)); //+
SHGetMalloc(Memory);

Buffer := Memory.Alloc(MAX_PATH);

//特殊フォルダの位置を取得する
SHGetSpecialFolderLocation(TMee.Handle,nFolder, Root); ←nFolderがエラー

//ItemIDList構造体からパス名を取り出す
SHGetPathFromIDList(Root,Buffer);

Result:= Buffer;←Resultがエラ

//メモリの解放
Memory.Free(Root);
Memory.Free(Buffer);

end;

end.


igy  2008-07-31 06:46:30  No: 31422

>下記にソースをいれてみます。

各特殊フォルダのパスを取得する
http://madia.world.coocan.jp/delphi/Win32API/ShFolder.htm

>function TForm1.GetFolderPath(nFolder : integer):string;
>Var
から
>end;
までの部分が抜けています。
#“TForm1.”の部分は、“TMee”に置き換える必要はあります。


ぺんね。  2008-07-31 06:54:41  No: 31423

解決いたしましたw
ほんとにこんな私のためにありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加