Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2015, 20:13   #41
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Алексей_2012 1) Это да, надо же потом ей новых выпускников добавлять.
2) да по всем, а то там фамилии и года иногда совпадают.
Вот например вёл я только год, программа и ищет только тех людей у которых год такой и выводит их и в каких альбомах эти люди расположены и всё это отображается в memo1.
OTGB вне форума Ответить с цитированием
Старый 03.06.2015, 20:35   #42
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Предлагаю поиск додумать самостоятельно, после файл заданной структуры

год1
фамилия1
имя1
отчество1
год2
фамилия2
имя2
отчество2

т.е. там нужно изменить цикл
и посмотреть какие параметры для поиска заполнены, по ним и искать.

Если условие верно, то выводим имя файла, потом проверяем другой параметр поиска и т.д. поиск в любом случае будет вестись по тем файлам, которые в папке.
Вложения
Тип файла: zip проект.zip (226.9 Кб, 9 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.06.2015, 20:45   #43
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Алексей_2012 Огромное спасибо.Постараюсь что нибудь сделать))

Уважаемый FaTaL простите меня за мою борзату, то что отвлекаю вас. Но есть вопросы всё по той же теме. Мне не понятно как сделать так чтобы каждый edit отвечал например за год,фамилию. и т.д.

Как понимаю для этого что то надо менять тут
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s, filespisok: string; // строка пути к одному файлу из списка ts[i]
//строка текущее
  i, j: integer; //переменная для адресации по tsp[i], и вторая переменная
  //для поиска в search списке
  search: TStringList; //список, куда грузится файл

  god, fam, im, otch: string;
begin
  search := TStringList.Create;
  memo1.Clear;

  god := Trim(AnsiLowerCase(LabeledEdit1.text));
  fam := Trim(AnsiLowerCase(LabeledEdit2.text)); //убираем пробелы и приводим к общему регистру
  im := Trim(AnsiLowerCase(LabeledEdit3.text));
  otch := Trim(AnsiLowerCase(LabeledEdit4.text));

  for i := 0 to ts.Count - 1 do //просмотр списка с путями к файлам
  begin
    s := ts[i]; //загрузка i-го пути в строку
    search.clear; //чистка списка с содержимым загруженного файла


    if FileExists(s) then //если файл найден, то
    begin
      search.LoadFromFile(ts[i]); //загружаем его в список

      for j := 0 to search.count - 1 do //выполняем поиск по списку пока не последняя строка
      begin

        if Pos(Trim(AnsiLowerCase(search[j])), fam) = 1 then //если есть вхождение подстрки
       // в строку, то выводим название файла
       //т.е. если ввели вор, а в файле воропаев, то условие сработает и в memo результат
       //выведится

          memo1.Lines.Add(' ' + ExtractFileName(ts[i]));


      end;




    end
    else
    begin
      ShowMessage('файл потерян!');
      Continue;
    end;


  end;

  search.free; //освобождаем память.
end;




end.
Вложения
Тип файла: zip задание.zip (228.0 Кб, 7 просмотров)

Последний раз редактировалось Stilet; 11.06.2015 в 10:31.
OTGB вне форума Ответить с цитированием
Старый 05.06.2015, 13:43   #44
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

OTGB, я не понимаю, что ты этим пытаешься сказать.
FaTaL вне форума Ответить с цитированием
Старый 05.06.2015, 14:36   #45
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

чтобы искать в файле именно ПО фамилии надо знать что вот эта строка и ЕСТЬ фамилия (а не имя похоже на фамилию).
Код:
     for j := 0 to search.count - 1 do //выполняем поиск по списку пока не последняя строка
      begin

        if (j mod 8)=4  and  // эта строка есть строка на которой ДОЛЖНА быть записана фамилия
                            Pos(Trim(AnsiLowerCase(search[j])), fam) = 1 then //если есть вхождение подстрки
аналогично для остальных типов данных
P.S. цифры для определения строки фамилии взяты произвольно.
P.P.S. использование позиционной (по номеру строк) системы очень-очень ненадежно,
если будет пропущена(или добавлена лишняя) строчка, то ВСЕ дальнейшие строки приобретут НЕВЕРНЫЙ тип (фамилия окажется именем, имя отчеством и т.д.)
т.е. ОЧЕНЬ не рекомендуется допускать ручную коррекцию (через блокнот) данных.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.06.2015 в 14:46.
evg_m вне форума Ответить с цитированием
Старый 05.06.2015, 14:43   #46
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

evg_m, по этому я и рекомендовал использовать INI-файл, чтобы было меньше проблем в дальнейшем.
FaTaL вне форума Ответить с цитированием
Старый 05.06.2015, 15:07   #47
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
evg_m, по этому я и рекомендовал использовать INI-файл, чтобы было меньше проблем в дальнейшем.
я бы пошел еще дальше, взял бы xml.

либо делал бы полу-позиционную схему.
разделение записей по ключу(строке определенного вида) и позиционная запись полей.
Код:
if search[j]='****' then levstring:=j; //определение начала записи
if (j -levstring =3) and // эта строка должно быть и есть фамилия
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.06.2015 в 15:22.
evg_m вне форума Ответить с цитированием
Старый 05.06.2015, 15:14   #48
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
я бы пошел еще дальше, взял бы xml.
Можно конечно, но если ТС с INI то разобраться не может, то уж куда ему XML.
FaTaL вне форума Ответить с цитированием
Старый 06.06.2015, 00:38   #49
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Цитата:
Можно конечно, но если ТС с INI то разобраться не может, то уж куда ему XML.
согласен. куда мне.

В чём ошибка и как её исправить?
Изображения
Тип файла: jpg йц.jpg (36.7 Кб, 137 просмотров)

Последний раз редактировалось Stilet; 11.06.2015 в 10:31.
OTGB вне форума Ответить с цитированием
Старый 08.06.2015, 09:18   #50
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
if ( (j mod 8)=4 ) and
  ( Pos(......, fam) =1 ) then
или так
Код:
if (j mod 8) =4 then 
begin
  if Pos(....., fam) =1 then 
    .....
end;
Вар 3 с учетом будущих поисков по другим полям (по нескольким полям ОДНОВРЕМЕННО).
Код:
case j mod 8 of
0: ///это ведь начало записи
    isgoodSearch:=false;
....
4: //это ведь фамилия
   isgoodsearch:=isgoodseach or  //А что если мы УЖЕ решили что это нам надо при проверке ДРУГИХ полей 
                      ( Pos(...., fam)=1 ); //да- да можно и так  отметить что нужно нам(fam) есть там где положено(в начале строки(1) с фамилией

/// 4:  if Pos(...., fam)=1 then isgoodsearch:=true; // ДРУГОЙ вариант отметить что поиск(проверка) была успешной
....
end;
if isgoodseeach and // и вот КОГДА решаем что подходящее найдено 
( КОД как бы на увериться что мы проверили ВСЕ поля (год/фамилия/имя/...) записи)  then begin 
  ... .// что-то делаем (куда-то что-то выводим
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 08.06.2015 в 10:29.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками в блокноте Lau Microsoft Office Word 11 10.08.2010 12:36
Написать в блокноте guffer Общие вопросы Delphi 10 23.08.2009 20:05
Цвет фона в блокноте. Alexxx92 Паскаль, Turbo Pascal, PascalABC.NET 4 18.05.2009 04:45
редактирование текста в блокноте. Kio Помощь студентам 16 21.07.2008 17:02
Как работает Замена в блокноте? Alar Софт 9 14.01.2008 11:07