delphi高手请看看

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:46:02
dephi报错
unable to write to C:\Documents and Settings\Administrator\桌面
程序代码如下 求高手赐教

unit Unit1;

interface

uses
Windows, shlobj, IniFiles, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
ini:TIniFile;
s:string;
ss:string;
pitem:PITEMIDLIST;

procedure TForm1.FormCreate(Sender: TObject);

begin
shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
setlength(s,100);
shGetPathFromIDList(pitem,pchar(s));
ss:=s+'1.url';
ini:=TIniFile.Create(ss);

而直接用 ini:=TIniFile.Create('C:\Documents and Settings\Administrator\桌面\1.

路径问题

setLength(s,100)之后,s的值就有问题了,还有ss:=s+'1.url';
记得要加个 "\"

------
unit Unit1;

interface

uses
Windows, shlobj, IniFiles, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
var
ini:TIniFile;
s: array[0..254] of Char;
ss:string;
pitem:PITEMIDLIST;

procedure TForm1.FormCreate(Sender: TObject);
begin
shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
shGetPathFromIDList(pitem,s);
ss:=s+'\1.url';
ini:=TIniFile.Create(ss);
ini.WriteString('1','1','1');
end;

end.

把ss,