Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
varf: File
; c: Char; begin
AssignFile(f, 'this.bin'); Reset(f, 1); BlockRead(f, c, sizeof(c)); CloseFile(f); end
;
functionFindInFile(cFileName: string
; cCh: char): boolean; var
fFile: file
; aBuf: array
[1..1024] of
char; lFound: boolean; x, nRead: integer; begin
Assign(fFile, cFileName); Reset(fFile, 1); lFound := False
; repeat
BlockRead(fFile, aBuf, SizeOf(aBuf), nRead); x := 1; while
not
lFound and
(x <= nRead) do
begin
lFound := (aBuf[x] = cCh) Inc(x) end
; until
(nRead < SizeOf(aBuf)) or
lFound; FindInFile := lFound end
;
Взгляните на следующий код:
varf: file
; c: Char; begin
AssignFile(f, 'c:autoexec.bat'); Reset(f, 1); <- Примечание: Размер записи = 1 байту это нормально! while
not
Eof(f) do
begin
BlockRead(f, c, SizeOf(c)); {Теперь обрабатываем c} end
; CloseFile(f); end
;
Для ускорения этой процедуры не следует за один проход читать по одному символу. Возможно, лучшим решением будет объявление PChar скажем, размером 200, и чтением за один проход блоков размером 200 байт. {например, BlockRead(f, p, 200);} Но для этого требуется немного больше кода, чем показано здесь... (Используйте все тот же recordsize, равный 1, меняется только blocksize).