Вниз
Скачать: CL | DM;

Поиск по файлу   Найти похожие ветки 

 
lmz ©   (2005-05-24 18:07) [40]


> в файле 1Г

Почему 1Г, размер файла может быть от 2 метров до 50 метров...


 
Viktop   (2005-05-24 20:23) [41]

to Defunct
Пост 31

P.S.: Я, кажется простое решение нашёл:
function InStr(index: integer; str1: string; str2: string): integer;
var
 i,len, pos: integer;
begin
 pos:=0;
 len:=length(str2);
 for i:=index to length(str1) do begin
   if copy(str1,i,len)=str2 then begin
     pos:=i;
     break; // здесь можно писать свои условия
   end;
 end;
 result:=pos;
end;


Параметры функции:
номер символа, с которго ищем, в какой строке ищем, что ищем


 
Defunct ©   (2005-05-24 20:55) [42]

Viktop   (24.05.05 20:23) [41]

Функция ищет не количество подстрок, а позицию подстроки в файле. При этом в отличие от Pos поиск не приостанавливается на служебных символах #0 и т.п. Изначально функция [22] была предназначена для поиска подстрок в бинарном файле.


 
Viktop   (2005-05-25 04:50) [43]

Ну ведь можно добавить:
For i:=index to length(str1) do begin
  if copy(str1,i,len)=str2 then begin
    pos:=i;
    Inc(numder)
  end;

А зачем поиск должен приостанавливаться?



Страницы: 1 2 вся ветка

Скачать: CL | DM;



Память: 0.52 MB
Время: 0.028 c
1-1117517605
Grach
2005-05-31 09:33
2005.06.14
Сжатие файлов (преобразование Фурье)


14-1117195061
Alena
2005-05-27 15:57
2005.06.14
Не работает exe-шник


14-1116850080
AlexOl
2005-05-23 16:08
2005.06.14
Нужен программист работающий с Delphi + MSSQL/Oracle


9-1111162648
Andrewk
2005-03-18 19:17
2005.06.14
Glscene


1-1117003474
Ji
2005-05-25 10:44
2005.06.14
Запуск процедуры при загрузке dll




   Наверх