منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "Main";
الأرشيف الحالي: 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 Мег (если не стоит {$H-})



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

Ну есть файл размер может доходить до 100кб мне надо его считать весь!!



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

>> Art
Я что-то не понял куда считывать-то?
100 kb это ерунда



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

Куда считать, то? И как ты считываешь?



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

Выделяешь в памяти буфер и считываешь в него информацию. Никаких проблем нет.



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

yet another Конкретизируй вопрос
если у тебя текстовый файл, который надо читать в одну строку, то так и делай- например, FileStream
Или Stringlist.loadfromfile подойдет?



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

procedure ReadAnyFile(FileName:string);
فار
fHandle,fmHandle:THANDLE;
fBuffer:Pointer;
FileSize,FileSizeHigh:Cardinal;
بدأ
fHandle:=CreateFile(PChar(FileName),GENERIC_READ or GENERIC_WRITE,
0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if fHandle<>INVALID_HANDLE_VALUE then
بدأ
FileSize:=GetFileSize(fHandle,@FileSizeHigh);
if FileSizeHigh=0 then
بدأ
fmHandle:=CreateFileMapping(fHandle,nil,PAGE_READWRITE,0,0,nil);
if (fmHandle<>0) and (GetLastError<>ERROR_ALREADY_EXISTS) then
بدأ
fBuffer:=MapViewOfFile(fmHandle,FILE_MAP_WRITE,0,0,0);
if fBuffer<>nil then
بدأ
//здесь работает с файлом, как с областью памяти по адресу 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)
Length(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 мегов (и это не предел).
Шустро загружает и легко потом работать со строками.



صفحات: 1 فرع كامل

المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

الطابق العلوي









الذاكرة: 0.6 ميغابايت
الوقت: 0.05 ج
1-22035
المهرب
2001-12-18 14:02
2002.01.08
محرر النص 2


14-22324
Yuraz
2001-11-04 11:37
2002.01.08
جغرافيا IP


3-21973
ZAV
2001-12-06 10:55
2002.01.08
مكون DBNavigator


1-22039
يوري btr
2001-12-18 10:46
2002.01.08
شكل


1-22176
Serg5
2001-12-20 14:57
2002.01.08
مرة أخرى ، مشكلة النص: أقوم بعرض Image1.Canvas.TextOut ، ولكن أسفل النص نفسه عداء أبيض. هل من الممكن إذا لم تقم بإزالة (ضع الحروف فقط) ، ثم اجعل العداء أسود على الأقل.





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch أنجليزي الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский