关于delphi读取一个文件内容的问题

作者&投稿:段干光 (若有异议请与网页底部的电邮联系)
delphi读取文件内容的问题~

//获取16进制数,你可以将没用的信息都替换掉,然后在重新组合。
HexListTxt.LoadFromFile(aStr);
for i:= 0 to HexListTxt.Count - 1 do
begin
sNewStr:= StringReplace(HexListTxt[i], '0x', '', [rfReplaceAll]);
sNewStr:= StringReplace(sNewStr, ',', '', [rfReplaceAll]);
ResultList.Add(sNewStr);
end;

//初始化HexListTxt
ConvertList:= TStringList.Create;
for i:= 0 to ResultList.Count - 1 do
begin
tmpStr:= ResultList[i];
for j:= 0 to 7 do
begin
ConvertList.Add(Copy(tmpStr, j * 4 + 1, 4));
end;
end;
HexListTxt.Text:= ConvertList.Text;
ConvertList.Free;
// Memo1.Text:= HexListTxt.Text;
ResultList.Free;

readln(f, s);
if s.Substring(10,5)='ABCDE' then
begin
ts := Copy(s, 1, 5)+Copy(s, 20, 5);

Writeln(rf, ts);

end
...
//while 结束

记录下sc:=s

在uses 后面添加 math;

procedure TForm1.Button1Click(Sender: TObject);
var txtname,proname:string;
txtf:TextFile;
readstr,values:string;
i,poss:Integer;
aresult:Real; // 计算结果值
begin
OpenDialog1.Title := '选择txt文件';
if not OpenDialog1.Execute then exit;
txtname := OpenDialog1.Files.Strings[0];
AssignFile(txtf,txtname);
Reset(txtf);
while not Eof(txtf) do begin
Readln(txtf,readstr); // 读取一行到保存到readstr
proname := 'voltage'; // 此处voltage改成其他项目名,变量values即可得到相应的值
poss := Pos(proname,readstr); // 找到你所需要的项目
if poss> 0 then begin
for i:= poss + Length(proname) + 1 to Length(readstr) do // 1 是你中间的冒号长度,如果冒号是中文版的冒号,则 1
// 应该改为 2
// 取值的方法是 从冒号后开始对每一位的ASCII值进行判断(数字0--9对应ASCII是48--57)
// 如果是数字就把该位的值保持到values中,并同时判断后一位的ASCII值是否也是数字,如果是的话
// 进行下一个循环,如果不是则说明数值位到此结束了,结束循环。
if ((Ord(readstr[i]) >=48) and ( Ord(readstr[i]) <= 57)) // 判断是数字
or (ord(readstr[i]) =46) then //判断是小数点
begin
SetLength(values,Length(values)+1);
values[Length(values)] := readstr[i];
if (( Ord(readstr[i+1]) < 48) and (ord(readstr[i+1]) <> 46))
or (Ord(readstr[i+1]) > 57) then Break;
end;
Break;
end;
end;
CloseFile(txtf);

if values = '' then Exit;
aresult := StrToFloat(values)*9*sin(45); // 计算结果
txtname := ExtractFilePath(txtname)+'result.txt'; // 保存文件到你选择的文件目录下
AssignFile(txtf,txtname);
if not FileExists(txtname) then Rewrite(txtf); // 如果不存在result.txt则创建一个
Append(txtf); // 追加内容
Writeln(txtf,'result:'+floattostr(aresult)); //(写一行)
CloseFile(txtf);
end;
-----------------------------------
说明:只取txt中第一个项目值,如果有多个相同的项目自己稍微改下

问题都不清不楚,还写什么程序啊?
你起码告诉人家文件格式啊,难道这个文件里面有几百万个voltage:10kv你叫人家怎么帮你。。。


delphi 数据读取的简单问题
这个问题应该这样写:(以下假设您的口令为OKOK,在我的机上,D7实验通过)procedure TForm1.Button1Click(Sender: TObject);begin if edit1.text='OKOK' then begin form2.dbedit1.text:=edit1.text;form2.dbedit1.enabled:=false;form2.Show;end else Messagebox(0,'不正确的口令!','警告'...

delphi 读取数据库中的数据并计算
第一种方法:改改SQL语句试试:SELECT sum(语文) as 语文总分,avg(语文) as 语文平均分 from 成绩 然后 xxxx := ADOQuery.FieldValues['语文总分']; \/\/取语文总分 xxxx := ADOQuery.FieldValues['语文平均分']; \/\/取语文平均分 第二种方法:【逐行读取的语句】ADOQuery.Active := Tru...

delphi 读取文本的问题
A1=B1 A2=B2 ...整个文件用AA: tstriglist读入,用 AA.Values[‘A1'] 即可返回 B1;

delphi读取文本文件
首先你要有一个stringlist类型的对象,假设是slist 你的字符串假设为s 用这个方法可以取得你要的字符ExtractStrings(['|'],[],PChar(s),slist);这样你就可以循环slist一一取得你要的字段了 for i:=0 to slist.Count-1 do begin ado.FIeld[i].asstring:=slist.Strings[i];end;如果楼主...

Delphi读取内存怎么读取1个字节
读取内存数据通常使用 ReadProcessMemory 函数,其原型定义如下:BOOL ReadProcessMemory( HANDLE hProcess,\/\/ handle of the process whose memory is read LPCVOID lpBaseAddress,\/\/ address to start reading LPVOID lpBuffer,\/\/ address of buffer to place read data DWORD nSize,\/\/ ...

delphi读取文本(一行一行读入)
i,a:integer;{i用来统计mylist的count,判断是不是到了mylist的最后一行;a用来重复递加,以便读取下一行} implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);begin a:=0;{赋a值为0,以便按button1时读mylist的第一行} if fileexists('E:\\aa.txt') then begin my...

请问在delphi中如何读取文本文件中的数据?
使用一个memo控件 可以轻松的完成读文本文件功能 memo.loadfromfile('文件名'); memo.lines[n].text ... 简单吧 查看更多答案>>

delphi怎么读取数据库里的数据
结果就在这个ADOQUERY1的数据集里面了。可以用1、AdoQuery1.Fieldbyname('字段名').Value2、AdoQuery1.Fields[0].Value \/\/因为你只有取一个字段的值,所以直接数组0就可以了

关于delphi 读取文件的问题
处理无格式文件的方法:var f:file;b:array [0..65535] of byte;begin assign(f,'a.dat');resetfile(f,1);blockread(f,b,sizeof(b));\/\/读数据,写回去的时候使用blockwrite closefile(f);end;函数具体的参数请你查看help提示。缓冲区可以是任何类型,比如string或者array of char ...

delphi读取文本问题
我要用DELPHI读取此文本[例如1]下的内容 如何读取呀仅仅是读取[例如1]距离内容举个例子无聊得很应该如何实现呢一楼的代码我知道但跟我的要求不一样并不能实现我所说的我说的这种文本类似INI文件要实现读取 一整个[]标签下的内容二楼的兄弟 我只说是类似INI文件 但是不同于INI文件啊他并没有INI文件里的关键字...

彭州市18421523316: Delphi如何将指定文件的内容读入 -
线秀意施: INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操作INI文件,最为简洁,这是因为Delphi提供了一个TInifile类,使我们可...

彭州市18421523316: delphi 中 怎么读入文本文件的内容? -
线秀意施: 给你一个实例: procedure TFormsdl1000.FormCreate(Sender: TObject); var MyTextFile:TextFile; s2:string; s1:string; i,j,k:integer; iMax:integer; AObj:TRegObj; msg:string; //A:array[0..255] of Char; beginTimer1.Enabled :=false;j:=0;iMax:=$3C; ...

彭州市18421523316: 请问在delphi中如何读取文本文件中的数据?
线秀意施: 使用一个memo控件 可以轻松的完成读文本文件功能 memo.loadfromfile('文件名'); memo.lines[n].text ..... 简单吧

彭州市18421523316: delphi中如何读取一个文本中的数据
线秀意施: procedure TForm1.Button1Click(Sender: TObject);var mylist:TStringlist;begin if fileexists('c:\test.txt') then begin mylist:=TStringlist.Create; mylist.LoadFromFile('c:\test.txt');{读文件到mylist} listbox1.Items:=mylist; end;end;

彭州市18421523316: DELPHI读取文本文件内容,因为文本文件随时会有别的程序往里写东西,所以DELPHI在读取的时候就会报错. -
线秀意施: To 楼主: 1、Reset并不是表示只读打开,它只是表示打开已有文件,如果文件不存在会失败; 2、Rewrite表示新建一个文件,如果原来有同名文件它会先删除再创建; 3、读写和共享模式需要用到一个System、SysUtils单元中的全局变量...

彭州市18421523316: delphi 中 读取文件 -
线秀意施: Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件.文本文件 文本文件类型的变量用如下方法声明: var TextFileVar: Text ; 文本文件是以行为单位进行读、写操作的.由于每一行长度不一定相同,不能计算...

彭州市18421523316: delphi如何读取TXT、 -
线秀意施: reset 打开一个已经存在的文件,文件指针在首 rewrite 打开一个文件,如果文件已经存在,则置空 append 打开一个已经存在的文件,文件指针在尾

彭州市18421523316: Delphi如何将指定文件的内容读入
线秀意施: procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.LoadFromFile('c:\1.txt'); end;

彭州市18421523316: 我怎么用delphi获取某网页文件内容 -
线秀意施: //试下用idhttp uses IdHTTP; function GetWebPage(const Url :string; IsUtf8 :Boolean = False):string; var idp :TIdHTTP; begin Result := ''; idp := TIdHTTP.Create(Application); try idp.HandleRedirects := True; idp.Request.UserAgent := 'Mozilla/5.0'; ...

彭州市18421523316: delphi如何读取文本文档的指定部分? -
线秀意施: procedure test; const testStr = '脉率12345中间插个中文吧6789诊断987654321结果……'; var tmpInt: Integer; begin tmpInt := Pos('脉率', testStr) +Length('脉率'); ShowMessage(Copy(testStr, tmpInt, Pos('诊断', testStr) -tmpInt)); end;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网