小弟现遇到一个问题,要把dfm文件中有imename属性值wincontrol的该项属性删除,由于工程文件中dfm很多,不可能一个一个窗体来删,希望大侠们能指点一条光明大道
我的想法是,解析工!程文件中所有dfm文件,查找有没有此属性,有则删之。。不知该怎么实现。。急用!!
分可以在加。
我的想法是,解析工!程文件中所有dfm文件,查找有没有此属性,有则删之。。不知该怎么实现。。急用!!
分可以在加。
解决方案 »
- 高分求教:用OleContainer打开一个doc文档之后,如何在OleContainer修改此文档并保存?
- 指向对象成员的函数指针
- 高分求救----800RMB/Month 行吗
- 希望就一个算法讨论一下!估计最好的结果是没有结果,但是有一些好的想法提出来
- 在D7中用real组件,或是WebBrowser均不能观看电影?高分求助
- 为啥有时save all和run按钮同时都是灰的!
- ini文件中每个SECTION间如何加空行?
- 在com中如何定义方法的返还值是数组?
- INI问题:如何删除里面的数据.高手问题,在线等待!。×××××
- 请问各位~现在学什么、学到什么程度或者干什么、在哪里干能年薪十万或者更多~多谢参加讨论~~:)
- 你怎么看女程序员的?女孩适合作程序员吗?
- 有谁提供dephi编写的运行在服务器的服务中service程序例子,SOS!!!
AFile: TStrings;
FileText, NewFileText: String;
PFrom, PTo: Integer;
const
TextFrom = 'ImeName =';
TextTo = #13;
begin
AFile := TStringList.Create;
AFile.LoadFromFile('f:\Unit1.dfm');
FileText := AFile.Text;
PFrom := Pos(TextFrom, FileText);
while PFrom <> 0 do
begin
NewFileText := NewFileText + Copy(FileText, 1, PFrom - 1);
Delete(FileText, 1, PFrom);
PTo := Pos(TextTo, FileText);
if PTo <> 0 then
Delete(FileText, 1, PTo);
PFrom := Pos(TextFrom, FileText);
end;
NewFileText := NewFileText + FileText;
AFile.Text := NewFileText;
AFile.SaveToFile('f:\Unit1.dfm');
AFile.Free;
end;—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
只是用POS函数来查找你要替换或者删除的字符串的时候要仔细判断 因为pos函数查出来的不是完全匹配的
var
vSource,vTarget:TStringList;
I:Integer;
const
FindPropertyText='ImeName';
begin
try
vSource:=TStringList.Create ;
vTarget:=TStringList.Create ;
with vSource do
begin
LoadFromFile(ADFMPath);
vTarget.Clear;
for I:=0 to Count-1 do
if LeftStr(Trim(Strings[I]),7)<>FindPropertyText then
vTarget.Add(Strings[I]);
vTarget.SaveToFile(ADFMPath);
end;
finally
vSource.Free;
vTarget.Free;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
UpdateDFM('C:\CustomerFrm.DFM')
end;
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
怎么能看到dfm是不是以2进制的格式保存的!!??