gpt4 book ai didi

delphi - 在Delphi中读取文本文件

转载 作者:行者123 更新时间:2023-12-03 15:40:59 25 4
gpt4 key购买 nike

您好,我在运行读取文本文件的函数时遇到问题,问题似乎是我的防病毒软件阻止了我的 delphi 控制台程序,因为当我执行可视化表单时没有问题。

Tengos 的两个代码之一是这样的:

function LeerArchivox(const filename: TFileName): String;
var
List: TStringList;
begin

if (FileExists(filename)) then
begin

List := TStringList.Create;
List.Loadfromfile(filename);
Result := List.text;
List.Free;

end;

end;

这已经很完美了,但是不想使用组件类,因为程序的重量并不大。

我还有这个:

function leerarchivo(filealeer: string): string;

var
abriendo: TextFile;
lineasleyendo: string;
finaldearchivo: string;

begin

finaldearchivo := '';
AssignFile(abriendo, filealeer);
Reset(abriendo);

while not Eof(abriendo) do
begin
ReadLn(abriendo, lineasleyendo);
finaldearchivo := finaldearchivo + lineasleyendo;
end;

CloseFile(abriendo);

Result := finaldearchivo;

end;

其他代码。

function leerarchivo3(archivoaleer: string): string;

const
BUFF_SIZE = $8000;
var
dwread: LongWord;
hFile: THandle;
datafile: array [0 .. BUFF_SIZE - 1] of ansichar;
codigofinal: string;

begin

codigofinal := '';

hFile := CreateFile(PChar(archivoaleer), GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_READONLY, 0);

SetFilePointer(hFile, 0, nil, FILE_BEGIN);

Readfile(hFile, datafile, BUFF_SIZE, dwread, nil);

while (dwread > 0) do
begin
Readfile(hFile, datafile, BUFF_SIZE, dwread, nil);
codigofinal := codigofinal + datafile;
end;

Result := codigofinal;

end;

这是问题所在,因为当我使用防病毒软件时会删除它,我对其他替代方案的问题是我必须在不使用类的情况下读取文本文件。

有人可以帮助我吗?

最佳答案

此代码作为控制台应用程序(Delphi 2007,在 Win7 64 上运行)对我来说工作得很好:

“E:\TempFiles\Test.txt”的内容:

One
Two
Three
Four

来源:

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
Txt: TextFile;
s: string;
AllText: string;

begin
AllText := '';
AssignFile(Txt, 'E:\TempFiles\test.txt');
Reset(Txt);
while not Eof(Txt) do
begin
Readln(Txt, s);
AllText := AllText + s;

// Write out each line; comment out to stop.
Writeln(s);
end;
CloseFile(Txt);

// Write out all content as a single string.
WriteLn(AllText);
ReadLn;
end.

产生输出:

One
Two
Three
Four
OneTwoThreeFour

关于delphi - 在Delphi中读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19983202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com