主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];

向下

如何读取大文件??? 找到类似的分支


Art   (2001-12-14 13:09) [0]

我需要完整阅读一个大文件!



softland   (2001-12-14 13:15) [1]

什么,文件显着更多RAM?



Vitaly   (2001-12-14 13:19) [2]

还等什么?



Art   (2001-12-14 13:20) [3]

是的,没有更多的255字节,并且在正常的当前行中非常适合!



MBo   (2001-12-14 13:37) [4]

具体化问题。 什么样的档案?
在Delphi中string = ansistring到4 Meg(如果不是{$ H-})



Art   (2001-12-14 14:06) [5]

好吧,有一个文件大小可以达到100kb我需要阅读它!



gek   (2001-12-14 14:08) [6]

>>艺术
我不明白在哪里读东西?
100 kb是胡说八道



NickBat   (2001-12-14 14:10) [7]

那么在哪里服用? 你怎么读?



Dimka Maslov   (2001-12-14 14:11) [8]

您在内存中分配缓冲区并将信息读入其中。 没有问题。



MBo   (2001-12-14 14:11) [9]

还有另一个具体问题
如果你有一个需要在一行中读取的文本文件,那么也可以这样做,例如,FileStream
或者Stringlist.loadfromfile有效吗?



Polevi   (2001-12-14 16:02) [10]

procedure ReadAnyFile(FileName:string);
VAR
fHandle,fmHandle:THANDLE;
fBuffer:指针;
FileSize,FileSizeHigh:Cardinal;
开始
fHandle:= CreateFile(PChar(FileName),GENERIC_READ或GENERIC_WRITE,
0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
如果fHandle <> INVALID_HANDLE_VALUE则
开始
FileSize:= GetFileSize(fHandle,@ FileSizeHigh);
如果FileSizeHigh = 0那么
开始
fmHandle:= CreateFileMapping(fHandle,nil,PAGE_READWRITE,0,0,nil);
if(fmHandle <> 0)和(GetLastError <> ERROR_ALREADY_EXISTS)然后
开始
fBuffer:= MapViewOfFile(fmHandle,FILE_MAP_WRITE,0,0,0);
如果fBuffer <>那么
开始
//与文件一起使用,与地址fBuffer的内存区域一样
结束;
CloseHandle(fmHandle);
结束;
结束;
CloseHandle(fHandle);
结束;
结束;



DK   (2001-12-15 03:58) [11]

如果文件是文本文件,您可以非常简单地执行:
1。 创建TStringList
2。 然后它的loadfromfile
3。 认为一切:)



Anatoly Podgoretsky   (2001-12-15 12:11) [12]

MBo©(14.12.01 13:37)
长度(S)= INTEGER

DK©(15.12.01 03:58)
让我们等待正常问题,这样就可以理解,如果不是下雨,那就没有必要了。



Art   (2001-12-15 17:34) [13]

我通常会问这个问题:任务:将文件读入变量(完全,整个文件),文件是普通的文本文件,文件大小可能大于4 megs。(现在没关系???)



Anatoly Podgoretsky   (2001-12-15 18:18) [14]

BlockRead(F,S,N)是众多方法之一。



DK   (2001-12-16 02:11) [15]

所以我说:DK©(15.12.01 03:58)
他亲自上传了16 megs(这不是限制)。
快速加载,然后轻松使用字符串。



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.01.08;
下载:[xml.tar.bz2];

楼上









内存:0.6 MB
时间:0.039 c
1-22164
WarChilD
2001-12-19 21:46
2002.01.08
ListBox - >行选择


1-22018
DelphiG
2001-12-18 01:51
2002.01.08
从备忘录打印文字! 我有什么不对......


14-22322

2001-11-03 14:10
2002.01.08
谁会这样做? 它对所有人都有用。


1-22026
Romualds stashans
2001-12-18 11:07
2002.01.08
Delphi如何运行* .exe ....


14-22349
Ivan Shikhalev
2001-11-06 21:48
2002.01.08
致阿纳托利·波德戈雷茨基





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский