delphi 读写文件属性

uses comobj,activex;

const

IID_IPropertySetStorage:TGUID = ‘{0000013A-0000-0000-C000-000000000046}‘;

FMTID_SummaryInformation:TGUID=‘{F29F85E0-4FF9-1068-AB91-08002B27B3D9}‘;

function StgOpenStorageEx( pwcsName: POleStr; grfMode: dword;
  stgfmt: DWORD; grfAttrs: DWORD; pStgOptions: STGOPTIONS; reserved2: Pointer;
  riid: PGUID; out ppObjectOpen: IPropertySetStorage): HResult; stdcall;external ‘ole32.dll‘;

var

pPropSetStg: IPropertySetStorage;

pPropStg:IPropertyStorage;

propspec:TPropSpec;

propWrite:TPropVariant;

StgOpenStorageEx(PWChar(‘文件名‘),STGM_DIRECT or STGM_SHARE_EXCLUSIVE or STGM_READWRITE,STGFMT_ANY, 0,nil,nil ,@IID_IPropertySetStorage, pPropSetStg);

//写入

pPropSetStg.Create( FMTID_SummaryInformation, FMTID_SummaryInformation,0,STGM_CREATE or STGM_READWRITE or STGM_SHARE_EXCLUSIVE,pPropStg);

propWrite.vt:= VT_LPWSTR;

propWrite.pwszVal:= pwchar(‘写入的数据‘);

pPropStg.WriteMultiple( 1, @propspec,@propWrite, PID_FIRST_USABLE );

//读出

pPropSetStg.Open( FMTID_SummaryInformation,STGM_READ or STGM_SHARE_EXCLUSIVE,pPropStg );

pPropStg.ReadMultiple( 1, @propspec, @propWrite );

时间: 2024-08-07 06:06:05

delphi 读写文件属性的相关文章

delphi读写INI系统配置文件

delphi读写INI系统配置文件 一.调用delphi内建单元 uses System.IniFiles; 1.使用类TIniFile 2.类TIniFile的主要方法和函数: {$IFDEF MSWINDOWS}   { TIniFile - Encapsulates the Windows INI file interface (Get/SetPrivateProfileXXX functions) }   TIniFile = class(TCustomIniFile)   public

delphi读写剪贴板的一些参考

设置剪贴板数据: 先用GlobalAlloc在堆中分配空间,返回的Hmem句柄将作为SetClipboardData的第二个参数.然后用GlobalLock把Hmem转为指针,再用delphi的strCopy把字符串写入. 取剪贴板数据:获取剪贴板里的数据时,是不知道当前剪贴板里是否有数据的,也不知道剪贴板里的数据格式是什么.那么下面就来解决这两个问题,先使用函数IsClipboardFormatAvailable来获取剪贴板里的格式是否可以处理,接着使用函数OpenClipboard打开剪贴板

delphi 读写文本文件(函数比较全)

需要两个按钮和两个Richedit控件,采用默认名称即可. procedure TForm1.Button1Click(Sender: TObject);  //写文件 var wText: TextFile;begin  AssignFile(wText, 'ip.txt');  Rewrite(wText);//创建文件,或者使用ReSet打开文件  Writeln(wText, richedit1.text);  CloseFile(wText);end; procedure TForm1

Delphi读写UTF-8、Unicode格式文本文件

// UTF-8文件写入函数procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True);var  MemStream: TMemoryStream;  HeaderStr: String;begin  if S = '' then Exit; MemStream := TMemoryStream.Create;  try    if WriteHeader then    begin 

delphi 读写文本

将字符串写入txt文档,读取txt文档中的内容. //一次写字符串到文本文件,每次都会将原来的内容替换掉. procedure FilePutContents(f,s:String); // f为文件名,s为存的内容 var ss:TStrings; begin ss:=TStringList.Create; ss.Text:=s; ss.SaveToFile(f, TEncoding.UTF8); ss.Free; end; 下面为不替换原来的内容,追加写入文本: procedure File

未测试 Delphi读写UTF-8、Unicode格式文本文件

// UTF-8文件写入函数 procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True); var MemStream: TMemoryStream; HeaderStr: String; begin if S = '' then Exit; MemStream := TMemoryStream.Create; try if WriteHeader then begin HeaderS

Delphi 读写Excel

两种方法,一是用ADO连接,问题是Excel文件内容要规则,二是用OLE打开,但操作就没有象操作数据库那么方便了. 一.用ADO连接:设置属性ConnetionString 选择 Microsoft Jet 4.0 OLE DB provider Select or enter a datasorce name -> 选择你要打开Excel文件 User name默认是Admin 密码默认为空,可以不用理会 Extended properties 设为:Excel 8.0 sql语句 selec

delphi 读写记录类型文件Record

type personInfo=Record //定义Record Name:String[10]; Age:integer; end; //写记录包括新键与添加记录 procedure WriteRec; var NewRec:PersonInfo; //声明Rec变量 F:File of PersonInfo; //Rec型文件变量 RecFileName:ShortString; //保存Rec的文件全名 RecCount:integer; //Rec数量 begin NewRec.Nam

delphi文件操作(比较全)

Delphi中默认有input和output两个文件变量,使用可以不用定义,直接使用. 但: input:只读.output:只写.用时注意以免引起异常. 文件是由文件名标识的一组数据的集合,文件通常存放在磁盘上.源程序.学生档案记录.图形.音乐等均可以作为文件存储在磁盘上.操作系统是以文件为单位对数据进行管理的,也就是说,如果想读取外存介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据.要向外存介质上存储数据,也必须先建立一个文件(以文件名标识),才能向它输出数据.在程序运