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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2016, 13:56   #91
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от OTGB Посмотреть сообщение
1. Нельзя БД.
вот так - просто "нельзя", без объяснения причин?
Цитата:
Сообщение от OTGB Посмотреть сообщение
2.нужно именно в Delphi
это что, учебная задача (лаба, курсовик, диплом)?


Цитата:
Сообщение от OTGB Посмотреть сообщение
3.Логин и пароль обязан быть.
Вы меня не поняли. У Вас в вашей программе будет логин и пароль (кстати, а где их предполагается хранить? неужели внутри самого EXE-шника?!!).
Но любой пользователь может отследить, к какому файлу программа обращается и залезть внутрь файла своими шаловливыми ручками.
Без вашей программы! Вас это не смущает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.04.2016, 14:04   #92
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Serge_Bliznykov
1. у нас не бд сейчас. Поэтому всякие Access и т.д запрещены.
2. Это практика.
3. Я не особо понимаю как сделать защиту лучше.
P.S я правда не силён в этом.
OTGB вне форума Ответить с цитированием
Старый 12.04.2016, 14:31   #93
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Как сделать так что бы memo выводилось фамилия имя отчество дата награждения и сама награда?
Код:
unit search_file;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, xpman, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    OpenDialog1: TOpenDialog;
    XPManifest1: TXPManifest;
    procedure ScanDir(StartDir: string; Mask: string; List: TStrings); //поиск в папке
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ts: TStringList; // списко строк, сюда загружеются все пути к файлам *.txt

implementation

{$R *.dfm}

procedure tform1.ScanDir(StartDir: string; Mask: string; List: TStrings);
//процедура поискаи заполнения   списка строк
var
  SearchRec: TSearchRec;
begin
   Mask := '*.txt';

  if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\';
  if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat
      Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then
        List.Add(StartDir + SearchRec.Name)
      else
        if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
        begin
          List.Add(StartDir + SearchRec.Name + '\');
          ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
        end;
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);

begin
  memo1.ReadOnly := True; //отмена редактирования содержимого memo1
  memo1.clear; // чистка мемо
  ts := tstringlist.Create(); //создаем список строк
  ts.Clear; //чистим
            //1 параметр-путь к папке с файлами
            //2-маска
            //3-куда заполняем
  ScanDir(ExtractFilePath(ParamStr(0)), '1', ts);

  


end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ts.free; //освобождаем память, занятую ts
end;

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;

fam := Trim(AnsiLowerCase(LabeledEdit2.text)); //убираем пробелы и приводим к общему регистру
 god := Trim(AnsiLowerCase(LabeledEdit1.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 - 5 do //выполняем поиск по списку пока не последняя строка
      begin
         if ( (j mod 7)=1 )and ( Pos( fam,Trim(AnsiLowerCase(search[j]))) =1 ) then
            memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+4]);

             if ( (j mod 7)=0 )and ( Pos( god,Trim(AnsiLowerCase(search[j]))) =1 ) then
           memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+5]);

          if ( (j mod 7)=2 )and ( Pos( im, Trim(AnsiLowerCase(search[j]))) =1 ) then
          memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+3]);

           if ( (j mod 7)=3 )and ( Pos( otch,Trim(AnsiLowerCase(search[j]))) =1 ) then
          memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+2]);

             end;
             begin


           end ;





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

       

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






      //end;    }




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


  end;

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




end.
Вложения
Тип файла: rar WinRAR archive.rar (183.5 Кб, 4 просмотров)
OTGB вне форума Ответить с цитированием
Старый 12.04.2016, 15:15   #94
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

Сделал что бы всё выводило, вот только если мне заполнить все 4 поля он 4 раза выведет ответ в memo.
Код:
 for j := 0 to search.count - 5 do 
      begin
         if ( (j mod 7)=1 )and ( Pos( fam,Trim(AnsiLowerCase(search[j]))) =1 ) then
           memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+0]+', '+ search[j+1]+', '+ search[j+2]+', '+ search[j+ -1]+', '+ search[j+4] );

             if ( (j mod 7)=0 )and ( Pos( god,Trim(AnsiLowerCase(search[j]))) =1 ) then
           memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+1]+', '+ search[j+2]+', '+ search[j+3]+', '+ search[j+0]+', '+ search[j+5] );

          if ( (j mod 7)=2 )and ( Pos( im, Trim(AnsiLowerCase(search[j]))) =1 ) then
          memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+ -1]+', '+ search[j+0]+', '+ search[j+1]+', '+ search[j+ -2]+', '+ search[j+3] );

           if ( (j mod 7)=3 )and ( Pos( otch,Trim(AnsiLowerCase(search[j]))) =1 ) then
          memo1.Lines.Add(' ' + ExtractFileName(ts[i])+', ' + search[j+-2]+', '+ search[j+-1]+', '+ search[j+0]+', '+ search[j+-3]+', '+ search[j+2] );
OTGB вне форума Ответить с цитированием
Старый 12.04.2016, 15:24   #95
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

http://programmersforum.ru/showpost....8&postcount=78
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 12.04.2016, 15:51   #96
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

и всё же не могу понять
OTGB вне форума Ответить с цитированием
Старый 12.04.2016, 16:23   #97
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

http://programmersforum.ru/showpost....8&postcount=80
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 12.04.2016, 17:00   #98
OTGB
Форумчанин
 
Аватар для OTGB
 
Регистрация: 06.05.2015
Сообщений: 120
По умолчанию

evg_m
куда это прописывать?
OTGB вне форума Ответить с цитированием
Старый 12.04.2016, 17:03   #99
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

в код этого сообщения (но не тупое копирование!!)
P.S. между прочим ссылки были на ВАШУ же тему.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.04.2016 в 17:05.
evg_m вне форума Ответить с цитированием
Старый 12.04.2016, 17:24   #100
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

OTGB, а зачем Вы создали ещё одну тему про то же самое?
Может быть, слить эти обе темы вместе?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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