请问一个编程的问题,学过的人应该都会!!
请问一个编程的问题,学过的人应该都会!!菜鸟级别的也应该会!
我用DELPHI编写了如下代码?
var 
 t1:textfile;
begin
  if open.execute then;
    begin
  assignfile(t1.open.filename);
  reset(t1); 
  memo1.lins.loadfile(t1);
end;
end;
open是opendialog组件
memo1是memo文本组建我要达到的目的只打开这个文本文件
可是就memo1.lins.loadfile(t1);有错误
DELPHI怎么也不肯运行/
谁可以帮帮我呀!!!
高手们
我是初学编程的小弟哦!
还有,比如说我有一个TXT文件
内容是
1.ddddddd2.sssssssss3.eeeeeee4.ffffffffffff我想打开这个文件,但只读出eeeeeee这个一条内容来修改
然后保存的时候也是其他不变,不eeeeeee内容换掉好比说
我把eeeeeee改成ppppppppp了
那么我就希望这个文件变成
1.ddddddd2.sssssssss3.ppppppppp4.ffffffffffff各位高手听明白了吗?我该怎么写呀!?

解决方案 »

  1.   

    改为下面的就可以了
    begin
      if open.execute then;
      memo1.lines.loadfromfile(open.filename);
    end;
      

  2.   

    var
      index: integer;
    begin
      if open.execute then;
      begin
        memo1.lines.loadfromfile(open.filename);
        index := memo1.lines.indexof('eeeeeee');
        if index >= 0 then
        begin
          memo1.lines[index] := 'ppppppppp';
          memo1.lines.savetofile(open.filename);  
        end;
    end;
      

  3.   

    第一个问题,改为下面的就可以了
    begin
      if open.execute then//去掉了;号
         memo1.lines.loadfromfile(open.filename);end;第二个问题,由于文本文件不是流式文件,所以无法直接定位到某一行,要读就只能读完:-)
    所以,有点麻烦!
    可以这样:
    var
    lst : TStringList;
    i: integer;lst := TStringList.Create;
    lst.Loadfromfile(open.filename);
    i := lst.indexof('eeeeeee');
    if i >= 0 then
       memo1.lines[0] := 'eeeeeee';修改后,
    lst.strings[i] := memo1.lines[0];
    lst.savetofile(open.filename);
    lst.free;
      

  4.   

    第一个问题,改为下面的就可以了
    begin
      if open.execute then//去掉了;号
         memo1.lines.loadfromfile(open.filename);end;第二个问题,由于文本文件不是流式文件,要编辑无法只读某一行,要读就只能读完:-)
    所以,有点麻烦!
    可以这样:
    var
    lst : TStringList;
    i: integer;lst := TStringList.Create;
    lst.Loadfromfile(open.filename);
    i := lst.indexof('eeeeeee');
    if i >= 0 then
       memo1.lines[0] := 'eeeeeee';修改后,
    lst.strings[i] := memo1.lines[0];
    lst.savetofile(open.filename);
    lst.free;