Turbo Delphi XP です。
特種フォルダの取得方法を調べているのですが、いろいろ参考になる
ページはバージョンの違いが原因なのか、うまく動きません。
マイドキュメントのパスを表示するだけでいいんですが、お願いします。
http://madia.world.coocan.jp/delphi/Win32API/ShFolder.htm
試したのかな?
さっそくの返答ありがとうございます。
試しましたが。
この部分でエラーがでます。
function GetFolderPath(nFolder : integer):string;
>この部分でエラーがでます
どんなエラーかを具体的に書くのが正しいお作法というもの。
あたしとした事が・・・・
大変申し訳ございません。
[Pascal エラー] *****.pas(17): E2065 forward または external 宣言された '*****.GetFolderPath' が見つかりません
なのですが。
ずっとVBをやっていてDelphi初心者です、出来れば優しくお願いします。
http://homepage3.nifty.com/m-and-i/tips/tipspage.htm
のNo4がいいお
すいませんどうにも・・・・
ここに書いてもらえませんか?
>[Pascal エラー] *****.pas(17): E2065 forward または external 宣言された '*****.GetFolderPath' が見つかりません
ソースコードのほうは、どのように書いているのですか?
下記にソースをいれてみます。
ぞうぞよろしくお願いします。
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.
>下記にソースをいれてみます。
各特殊フォルダのパスを取得する
http://madia.world.coocan.jp/delphi/Win32API/ShFolder.htm
の
>function TForm1.GetFolderPath(nFolder : integer):string;
>Var
から
>end;
までの部分が抜けています。
#“TForm1.”の部分は、“TMee”に置き換える必要はあります。
解決いたしましたw
ほんとにこんな私のためにありがとうございます。
ツイート | ![]() |