Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

Wie lese ich eine große Datei? Finden Sie ähnliche Zweige


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

Ich muss eine große Datei vollständig lesen !!!



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

Was ist die Datei deutlich mehr RAM?



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

So what?



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

Ja, keine 255-Bytes mehr und in der normalen aktuellen Zeile passt so viel !!!



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

Konkretisieren Sie die Frage. Welche Art von Datei?
In Delphi string = an 4 Meg melden (falls nicht {$ H-})



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

Nun, es gibt eine Dateigröße erreichen kann 100kb Ich muss alles lesen!



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

>> Art
Ich habe etwas nicht verstanden, wo ich etwas lesen soll?
100 kb ist Quatsch



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

Wohin dann? Und wie liest du?



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

Sie ordnen einen Puffer im Speicher zu und lesen Informationen ein. Es gibt keine Probleme.



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

Noch eine Konkretisierung der Frage
Wenn Sie eine Textdatei haben, die in einer Zeile gelesen werden muss, dann tun Sie dies zum Beispiel mit FileStream
Oder funktioniert Stringlist.loadfromfile?



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

procedure ReadAnyFile (FileName: string);
jung
fHandle, fmHandle: THANDLE;
fBuffer: Pointer;
FileSize, FileSizeHigh: Cardinal;
beginnen
fHandle: = CreateFile (PChar (Dateiname), GENERIC_READ oder GENERIC_WRITE,
0, null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
wenn fHandle <> INVALID_HANDLE_VALUE dann
beginnen
FileSize: = GetFileSize (fHandle, @ FileSizeHigh);
wenn FileSizeHigh = 0 dann
beginnen
fmHandle: = CreateFileMapping (fHandle, nil, PAGE_READWRITE, 0,0, nil);
if (fmHandle <> 0) und (GetLastError <> ERROR_ALREADY_EXISTS)
beginnen
fBuffer: = MapViewOfFile (fmHandle, FILE_MAP_WRITE, 0,0,0);
wenn fBuffer <> nil dann
beginnen
// arbeitet hier mit der Datei wie mit dem Speicherbereich an der Adresse fBuffer
end;
CloseHandle (fmHandle);
end;
end;
CloseHandle (fHandle);
end;
end;



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

Wenn es sich bei der Datei um eine Textdatei handelt, können Sie dies ganz einfach tun:
1. Erstellen Sie TStringList
2. dann sein loadfromfile
3. denkt alles :)



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

MBo © (14.12.01 13: 37)
Länge (S) = INTEGER

DK © (15.12.01 03: 58)
Lassen Sie uns abwarten, wann die Frage normal gestellt wird, damit sie verstanden werden kann. Wenn es nicht regnet, ist dies nicht erforderlich.



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

Ich stelle die Frage normalerweise: Aufgabe: Lese die Datei in eine Variable (vollständig, die gesamte Datei), die Datei ist eine normale Textdatei, die Dateigröße kann größer als 4 Mega sein. (Jetzt ist es in Ordnung ???)



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

BlockRead (F, S, N) ist eine von vielen Methoden.



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

Also sage ich: DK © (15.12.01 03: 58)
Er hat persönlich 16-Megas hochgeladen (und dies ist nicht das Limit).
Lädt schnell und arbeitet dann problemlos mit Saiten.



Seiten: 1 ganze Branche

Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben





Speicher: 0.58 MB
Zeit: 0.029 c
1-22096
Mikhalyov Dmitry
2001-12-19 15:55
2002.01.08
Über TObject in Veranstaltungen


4-22504
Kuss
2001-09-11 11:11
2002.01.08
WinExec neponyatka


3-21904
Andrew
2001-11-29 22:18
2002.01.08
query


4-22457
Zabl
2001-11-01 13:15
2002.01.08
Problem mit der DLL


7-22418
Mikle
2001-09-20 09:06
2002.01.08
Dringend! Comp statt des Druckers.





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarisch katalanisch Chinesisch (vereinfacht) Chinesisch (traditionell) kroatisch Tschechisch Dänisch Niederländisch Englisch estnisch Philippinisch Finnisch Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italienisch Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegisch
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Schwedisch Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch Bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada Khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch