向delphi的大侠赐教

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:47:05
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.

shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
setlength(s,100);
shGetPathFromIDList(pitem,pchar(s));
ss:=IncludeTrailingPathDelimiter(s)+'1.url';//我改了这一行
ini:=TIniFile.Create(ss);

把ss,showmessage出来看看是不是有问题

把分给我吧。

var
ini:TIniFile;
s:string;
ss:string;
pitem:PITEMIDLIST;

procedure TForm1.FormCreate(Sender: TObject);
begin
shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
setlength(s,MAX_PATH);
shGetPathFromIDList(pitem,pchar(s));
SetLength(s, StrLen(PChar(s)));
ss:=s+'\1.txt';
ini:=TIniFile.Create(ss);
ini.WriteString('test', 'hehe', 'is a test');
end;

create只是建立对象,并不写文件.
你的失误在于:
1) 你连接字符串造文件名的时候没有截取和加斜杠
2) 你没有写东西