Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24

Поиск информации по каталогу

13.04.2016, 18:18. Показов 860. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача
Программе указываешь каталог с файлами ( там могут быть xls, doc, docx, xlsx, ACCDB и MDB, также могут лежать базы mysql, sql и т.п.)
допустим в одном файле (таблице) найдена информация
файл1:
Иванов Иван Иванович 79996665555 ул.Гагарина 1
во втором файле есть такая строка
жигули х555хх777 2004 г.в.
третий файл содержит такую строку
12.04.2016 16:00 пр. Коммунистический 44 х555хх777 превышение скорости
четвертый
79996665555 Генадий ул.Гагарина 1 3 порции пиццы
и т.п.

надо по запросу в поиске получить всю информацию
например задал я Иванов
программа вывела мне
Иванов Иван Иванович машина жигули х555хх777 2004 г.в Часто бывает по адресу ул.Гагарина 1 что то в этом роде

Вопрос №1 какой алгоритм лучше использовать для реализации поиска
прочитать все файлы и записать в одну таблицу (проблема количество полей будет не совпадать) и потом каким оброзов вытащить всю информацию. Либо создовать для каждого файла таблицу и потом из кучи таблиц искать информацию

Вопрос№2 сам поиск допустим я ввел Иванов нашел в первом файле строки с таким совпадением записал куда-нибудь себе до окончания поиска и пошел дальше по всем файлам
записал все строки по первичному запросу
как организовать поиск по данным из полученных строк







Сильно не пинайте я ток разбираюсь в программирование
\Если есть какието мысли пните меня в какую сторону идти и что использовать
Зарание спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2016, 18:18
Ответы с готовыми решениями:

Поиск по диску и ошибка доступа к каталогу System Volume Information
Написал функцию поиска файлов по заданному каталогу рекурсивным методом: void DirSearch(string sDir, string type) { ...

Ввод информации в структуру и поиск элемента по информации, находящейся в этом же элементе
В сервис-центре хранятся квитанции о сданной в ремонт аппаратуре. Каждая квитанция содержит следующую информацию: наименование группы...

Запись в текстовый файл информации о студентах, поиск информации, сортировка
Здравствуйте помогите пожалуйста:( 3.1 Для записи в текстовый файл информации о студентах Вашей группы создать КФ WRITE_FD.BAT со...

16
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
13.04.2016, 21:51
Цитата Сообщение от zozo Посмотреть сообщение
Программе указываешь каталог с файлами ( там могут быть xls, doc, docx, xlsx, ACCDB и MDB, также могут лежать базы mysql, sql и т.п.)
то есть ты хочешь одной программой читать все эти файлы?
а ничего не треснет?

Цитата Сообщение от zozo Посмотреть сообщение
какой алгоритм лучше использовать для реализации поиска
если только магию

Цитата Сообщение от zozo Посмотреть сообщение
Вопрос№2
Цитата Сообщение от zozo Посмотреть сообщение
как организовать поиск по данным из полученных строк
это вообще
твоя программа будет уметь искать по всему-всему, а по своим же строкам не умеет?

Цитата Сообщение от zozo Посмотреть сообщение
Если есть какието мысли пните меня в какую сторону идти и что использовать
мозг, включи мозг
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
14.04.2016, 11:56  [ТС]
мозг, включи мозг
допустим включил написал программы умеет читать по каталогу определяю фйлы считывает с doc, docx, xls,xlsx подключается к аксесу и просматривает все таблицы

вопрос в в алгоритме


получаю я данные в строках

провожу поиск по первому слову программа находит совпадения в файлах и берет строку в которой нашла совпадение и так везде где нашла совпадения
Получаю список строк с совпадениями
дальше из этих строк надо выбрать ключевые чтобы запустить поиск по всем файлам по этим словам
а предполагаю что надо взять такие слова как адрес телефон номер машины то что может быть уникальным и привязанным к человеку
Как выделить из строки адрес Пример дана строка Иванов иван Иванович ленина 55 ваз2106 х555х777
надо получить
1. Леннина 55
2. ваз2106 х555х777
Иванов Иван Иванович Или Иванов И.И.

Добавлено через 7 минут
думал про написание справочников улиц хотя бы взять один город
и хранить их в тхт файлах
но тут проблема следующая в тхт файлах я будет либо улица Ленина а может быть и переулок Ленина в файле же может совсем не указана улица эта или переулок ил может будет сокращения типа ул. или пер. пр. (проспект)


выделить телефон думаю следующим обзором сделать маску типа xxxxxxxxxxx и при просмотре слов в строках сравнивать если текущее слово состоит из цифр и соответствует маске то это телефон

Пока только включил мозг вот до этой стадии дальше не знаю есть мысли по поводу реализации этого?
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
14.04.2016, 12:10
Цитата Сообщение от zozo Посмотреть сообщение
вопрос в в алгоритме
При такой постановке задачи
Цитата Сообщение от zozo Посмотреть сообщение
там могут быть xls, doc, docx, xlsx, ACCDB и MDB, также могут лежать базы mysql, sql и т.п.
универсальный алгоритм разработать не получится. Это файлы принципиально разных форматов. Кроме того, непонятно зачем читать файлы БД напрямую, когда можно воспользоваться СУБД (это легче и проще).
Цитата Сообщение от zozo Посмотреть сообщение
думал про написание справочников улиц хотя бы взять один город
и хранить их в тхт файлах
но тут проблема следующая в тхт файлах я будет либо улица Ленина а может быть и переулок Ленина в файле же может совсем не указана улица эта или переулок ил может будет сокращения типа ул. или пер. пр. (проспект)
Откройте для себя нечёткий поиск по БД.
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
14.04.2016, 13:27  [ТС]
Откройте для себя нечёткий поиск по БД.
спасибо обязательно прочту
Кроме того, непонятно зачем читать файлы БД напрямую, когда можно воспользоваться СУБД (это легче и проще).
согласен
возникает проблема при поиске в не соответствии типов
как использовать INFORMATION_SCHEMA в аксессе я не знаю
Сильно не пинайте я ток разбираюсь в программирование
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
14.04.2016, 13:39  [ТС]
Вот что у меня получилось на данный момент

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, Gauges,ComObj, Grids, OleServer, ExcelXP,
  DB, DBGrids, ADODB, ComCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Gauge1: TGauge;
    StringGrid1: TStringGrid;
    ExcelApplication1: TExcelApplication;
    ADOTable1: TADOTable;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    RichEdit1: TRichEdit;
    Edit1: TEdit;
    ADOQuery1: TADOQuery;
    Gauge2: TGauge;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure GetAllFiles( Path: string; Lb: TStringList);
var
 sRec: TSearchRec;
 isFound: boolean;
begin
 isFound := FindFirst( Path + '\*.*', faAnyFile, sRec ) = 0;
 while isFound do
  begin
   if ( sRec.Name <> '.' ) and ( sRec.Name <>  '..' ) then
    begin
     if ( sRec.Attr and faDirectory ) = faDirectory then
     GetAllFiles( Path + '\' + sRec.Name, Lb );
     Lb.Add( Path + '\' + sRec.Name );
    end;
   Application.ProcessMessages;
   isFound := FindNext( sRec ) = 0;
  end;
 FindClose( sRec );
end;
 
 
procedure GetFileXml;
var
SL , sl1, sl2,rezultat: TStringList;
  chosenDirectory,adress,sql,file_tip, strxls,straccses:String;
                           i,r,j,j1,n,c,x,xx,xxx,xxxx,x1:Integer;
                     wdApp, wdDocs, wdDoc,xlAPP, xlbook : Variant;
begin
   SL1:=TStringList.Create ;
   SL2:=TStringList.Create;
   rezultat:=TStringList.Create ;
  if SelectDirectory('Выберите папку c файлами xml', 'С:\,D:\', chosenDirectory)
  then
  begin
    SL:=TStringList.Create;  //Создаем TStringList
    GetAllFiles(chosenDirectory,SL); //Запускаем функцию сканирования папки
  end
  else
  begin
   exit; //Просто выход из процедуры: если пользователь ничего не выбрал, то не нужно продолжать выполнения процедуры
  end;
 if SL.Count>0  then // Это условие проверяет, есть ли в списке хоть одна ссылка (список не пустой)
 begin
    form1.Gauge1.MaxValue:=(SL.Count-1); //Так как обработка у нас пакетная, то хорошо бы отображать процесс в прогресс баре (здесь я использую TGauge, раздел Samples)
    for i:=0 to (SL.Count-1) do
    begin
    form1.Label1.Caption:='Идет анализ файлов';
    form1.Label1.Visible:=true;
 
    {----------------Если файл Ворд--------------------------}
     if (copy(sl[i],pos('.',sl[i])+1,length(sl[i]))='doc') or (copy(sl[i],pos('.',sl[i])+1,length(sl[i]))='docx') then
      begin
       try
         wdApp := CreateOleObject('Word.Application');
       except
         ShowMessage('Не удалось запустить MS Word. Действие отменено.');
        Exit;
       end;
         form1.Gauge1.Progress:=i;
         wdApp.Visible := false;
         wdDocs := wdApp.Documents;
         wdDoc := wdDocs.Open(FileName:=sl[i]);
         form1.RichEdit1.Text := wdDoc.Range.Text;
         form1.Gauge2.MaxValue:=form1.RichEdit1.Lines.Count-1;
          for x:=0 to form1.RichEdit1.Lines.Count-1 do
           begin
            if pos(form1.Edit1.Text, form1.RichEdit1.Lines[x])<>0 then
             rezultat.Add(form1.RichEdit1.Lines[x]);
             form1.Label2.Caption:=sl[i];
              form1.Gauge2.Progress:=x;
           end;
         wdApp.Quit; //Закрываем MS Word.
         wdApp := Unassigned;
      end;
      {--------если фаил XLS--------------}
        if (copy(sl[i],pos('.',sl[i])+1,length(sl[i]))='xls') or (copy(sl[i],pos('.',sl[i])+1,length(sl[i]))='xlsx') then
      begin
       try
         xlApp := CreateOleObject('Excel.Application');  //создаем объект Excel
       except
         ShowMessage('Не удалось запустить MS Excel. Действие отменено.');
        Exit;
       end;
         xlApp.Visible := false;    //скрываем Exel
         xlApp.Workbooks.Open(FileName:=sl[i]);  //открываем файл FileName:=sl[i]
         for xxx:=1 to xlApp.Sheets.Count do
         begin
         xlbook := xlApp.Workbooks[ExtractFileName(sl[i])].WorkSheets[xxx];   //создаем объект xlbook(страница) и указываем номер листа (xxx) в книге, с которого будем осуществлять чтение
         xlApp.Workbooks[ExtractFileName(sl[i])].WorkSheets[xxx].select;
         xlbook.Cells.SpecialCells( 11, EmptyParam).Activate;    //активируем последнюю ячейку на листе
         r := xlApp.ActiveCell.Row;    // Возвращает номер последней строки
         c := xlApp.ActiveCell.Column;    // Возвращает номер последнего столбца
         form1.StringGrid1.RowCount:= r;
         form1.StringGrid1.ColCount:=c;
         form1.Gauge2.MaxValue:= r;
          for j:= 1 to r do
           begin
            for n:= 1 to c do
             begin
              form1.StringGrid1.Cells[n-1,j-1]:= xlbook.cells[j,n]; //считываем значение из каждой ячейки и копируем в нашу таблицу
              if form1.StringGrid1.Cells[n-1,j-1]=form1.Edit1.Text then
              j1:= j-1;
             end;
             form1.Label2.Caption:=sl[i];
            form1.Gauge2.Progress:=j;
           end;
           {----поиск----}
           for j:= 1 to r do
           begin
            strxls:='';
            for n:= 1 to c do
             begin
              if form1.StringGrid1.Cells[n-1,j-1]=form1.Edit1.Text then
              for xx:=0 to c do
                begin
                 strxls:=strxls+' '+form1.StringGrid1.Cells[xx,j-1];
                end;
             end;
             if  strxls<>'' then
             rezultat.Add(strxls);
           end;
          end;
         {------------}
         form1.Gauge1.Progress:=i;   //отоброжаем прогресс оброботки программы
         xlApp.Quit;                 //закрываем приложение Excel
         xlApp := Unassigned;        //очищаем выделенную память
         xlbook:= Unassigned;
      end;
      {---------------access--------------}
      if copy(sl[i],pos('.',sl[i])+1,length(sl[i]))='accdb' then
      begin
       try
         form1.Gauge1.Progress:=i;
         form1.ADOConnection1.Connected:=false;
         form1.ADOConnection1.LoginPrompt:=false;
         form1.ADOConnection1.ConnectionString:='Provider=Microsoft.ACE.OLEDB.12.0;Data Source='+sl[i]+';Persist Security Info=False;'+'Jet OLEDB:Create System Database=true;';
         form1.ADOConnection1.Connected:=true;
         form1.ADOConnection1.GetTableNames(SL1, true);
         form1.ADOTable1.Connection:=form1.ADOConnection1;
         for  n:=0 to (SL1.Count-1) do
          begin
           if Pos('MSys',sl1[n])=0 then
            begin
             form1.ADOTable1.Active:=false;
             straccses:='';
             form1.ADOTable1.TableName:=sl1[n];
             form1.ADOTable1.Active:=true;
              {-----------поиск------------------------------------}
             form1.Gauge2.MaxValue:= form1.DBGrid1.DataSource.DataSet.RecordCount-1;
             for xxx:=0 to  form1.DBGrid1.DataSource.DataSet.RecordCount-1 do
              begin
              straccses:='';
               for xxxx:=0 to form1.DBGrid1.Columns.Count-1 do
                begin
                  if form1.DBGrid1.Columns[xxxx].Field.AsString=form1.Edit1.Text then
                   begin
                    for x1:=0 to  form1.DBGrid1.Columns.Count-1 do
                    straccses:=straccses+form1.DBGrid1.Columns[x1].Field.AsString+' ';
                   end;
                end;
               form1.Label2.Caption:=sl[i];
               form1.Gauge2.Progress:=xxx;
               form1.DBGrid1.DataSource.DataSet.Next;
               if  straccses<>'' then
               rezultat.Add(straccses);
              end;
              {----------------------------------------------------}
            end;
          end;
       except
         ShowMessage('Не удалось подключится к базе access. Действие отменено.');
        Exit;
       end;
      end
      {-----------------------------------}
      else
        form1.Gauge1.Progress:=i;
    end;
    form1.Label1.Caption:='Анализ завершен';
    showmessage(rezultat.GetText);
    sl.Free;
    sl1.Free;
    sl2.Free;
    rezultat.Free;
 end
 
 else
 begin
  ShowMessage('Не найдены файлы! Выберите другую папку.');
  exit;
 end;
end;
 
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
var
 a,s:string;
begin
if form1.Edit1.Text='' then
 showmessage('Не заданы критерии поиска')
else
 GetFileXml;
end;
 
end.
как делать дальше пока не придумал
во вложении исходник
Вложения
Тип файла: rar поиск.rar (696.6 Кб, 4 просмотров)
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
14.04.2016, 13:40  [ТС]
Если можно комментарии по коду и укажите на ошибки буду очень благодарен
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
14.04.2016, 13:54
Цитата Сообщение от zozo Посмотреть сообщение
возникает проблема при поиске в не соответствии типов
Так приведите всё к "общему знаменателю".
0
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
14.04.2016, 13:58
ужас
бессмысленный и беспощадный велосипед

особенно бесполезен поиск в БД (не зная логики хранения)
запароленные базы, эксельки, доки, базы больше чем 500 мб вызовут у этого большие проблемы
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
14.04.2016, 14:08  [ТС]
Цитата Сообщение от qwertehok Посмотреть сообщение
ужас
бессмысленный и беспощадный велосипед

дак скажи где именно что не правильно и как лучше все это реализовать
0
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
14.04.2016, 14:42
+100 велосипед! Сделайте им базу с четко заданными полями и пусть ручками все заново вносят со своих шпоргалок, возможно что-то и покопировать/позакачивать получится. А то вдруг у них еще где-то в левом кармане на кусочке туалетной бумаги тоже инфа есть которую поискать можно))

Добавлено через 15 минут
И хорошо, если просто поискать, а то по вашему заданию инфа же там же и останется. Значит в следующий раз опять заново головняк и ее поиском. Например файл doc переместили, бумажку с кармана выкинули - и все поиск не удачный
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
14.04.2016, 14:54
Цитата Сообщение от zozo Посмотреть сообщение
дак скажи где именно что не правильно и как лучше все это реализовать
В идеале, собрать все данные в одну общую БД и делать выборку с помощью нечёткого поиска.
P,S, Импорт в общую БД с определённой логикой хранения реализовать проще, чем поиск по 100500 файлам и БД самых различных форматов и содержимого.
1
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
14.04.2016, 16:07
Цитата Сообщение от zozo Посмотреть сообщение
дак скажи где именно что не правильно
для каждого типа файла свою процедуру

с БД точно нужна работа?
а если в базе все на справочниках и в таблицах только цифры? искать в базе нужно четко зная что\где лежит

результаты поиска сохранять в локальную бд

без потоков твоя программа - УГ

Напиши для чего это ты все делаешь
1
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
15.04.2016, 05:52  [ТС]
Цитата Сообщение от Streletz Посмотреть сообщение
В идеале, собрать все данные в одну общую БД и делать выборку с помощью нечёткого поиска.
Про это я думал что записать все в оду базу
Тут вопрос сразу может он и тривиальный но я не знаю как реализовать запись текстовых (doc) документов в бд
так как считывать можно построчно или абзацами я не пробывал считывать если в doc будет таблица, либо запихивать весь файл в поле...
Цитата Сообщение от kavasaka Посмотреть сообщение
+100 велосипед! Сделайте им базу с четко заданными полями и пусть ручками все заново вносят со своих шпоргалок
это не возможно по заданию файлы всегда разные разное количество
по поводу того что базы и файлы могут быть запароленны да такое возможно При Но считаем сейчас что мы знаем пароли от всех файлов и этот момент отпускаем
Цитата Сообщение от qwertehok Посмотреть сообщение
для каждого типа файла свою процедуру
тут полностью согласен
думал об этом когда стало не удобно читать код
Цитата Сообщение от qwertehok Посмотреть сообщение
с БД точно нужна работа?
Работа с бд необходима
но тут было бы классно не переливать с имеющийся базы в локальную а просто подключатся к ней используя СУБД текущий базы (непосредственно должны Быть установлены соответствующие СУБД)
Цитата Сообщение от qwertehok Посмотреть сообщение
а если в базе все на справочниках и в таблицах только цифры? искать в базе нужно четко зная что\где лежит
вот и именно что изначально о структуре файлов и БД нет информации
Цитата Сообщение от qwertehok Посмотреть сообщение
результаты поиска сохранять в локальную бд
результат первого поиска вы имели ввиду?
для формированиея ключивых слов для полного поиска по всем файлам


Резюмируем

1. Ставим задачу по другому:
Есть каталог все с теме же файлами
(все базы не запаролены или мы знаем пароль от них, файлы также, мы не рассматриваем большие БД хотя зависит скорость обрабодки и от железа на котором все это выполняется)
2. Надо написать чтоб программа
а) Читала и могла подключится к любому файлу и БД
б) делаем общюю структуру хранения данных сливаем каждый файл в отдельную таблицу одной БД
в) Если это бд то подключаемся к ней определяем таблицы, определяем поля, определяем типы полей далее организуем поиск исходя из исходного запроса на поиск тоесть ввыбираем из тех полей которые подходят по типу
г) После первого поиска по ключевому слову или словам создаем таблицы с совпадением по это слову
д) формируем из этой таблицы ряд параметров для поиска
е) ищем по очереди по этим параметром по всем файлам
ё)Результат также записываем в бд
ж) Делаем сборку результата убирая повторения информации
3. Поиск организуем как Нечёткий поиск в тексте и словаре вот по этому алгоритму https://habrahabr.ru/post/114997/
4. обработку каждого типа файла делаем отдельно

Цитата Сообщение от qwertehok Посмотреть сообщение
Напиши для чего это ты все делаешь
Эта задача поставлена знакомым, мне стала очень интересна ее реализация для развития себя в написании программ так как программирование мне нравится но не всегда хватает времени на это
а чтобы в чем то разобраться надо это "пощупать по ковырять" читать можно много но практика все таки это практика я не говорю что читать не надо! надо но совместно с практикой

Всем спасибо кто откликнулся
буду дальше мозг включать
буду благодарен за ваши мысли по поводу этого всего или направлениях что и с помощью какого метода сделать
СПАСИБО!
0
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
15.04.2016, 08:58
Цитата Сообщение от zozo Посмотреть сообщение
Эта задача поставлена знакомым, мне стала очень интересна
похоже на разработку некоего искусственного интеллекта способного разобраться в любой заранее неизвестной ситуации. Напомнило сказку о Хадже Насредине который пообещал шаху через 50 лет научить осла говорить, при условии выплаты жалования Хадже в течении этого периода У тебя думаю срок выполнения примерно тот же, на счет зарплаты - тебе виднее
Я к тому что человек (или несколько их) справятся с задачей на порядок быстрее, хотя процесс конечно монотонный и неинтересный будет и база на тот же порядок скучнее получится. Так что дерзай, если очень интересно!
0
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
15.04.2016, 09:35
Цитата Сообщение от zozo Посмотреть сообщение
2. Надо написать чтоб программа
а) Читала и могла подключится к любому файлу и БД
ну нельзя бессмысленно искать по базе

представь себе таблицу вида
id | id_1 | id2 | id_3 | id4 | id_5 | id6 | id_7 | id8 | id_9 | id10 | id_11 |

где каждый ID это информация из справочника
что ты тут найдешь?

Цитата Сообщение от zozo Посмотреть сообщение
4. обработку каждого типа файла делаем отдельно
когда все сделаешь - попробуй вынести поиск в поток


и не забудь
5. убрать с формы все визуальные компоненты, кроме диалога выбора папки
0
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
15.04.2016, 10:06  [ТС]
qwertehok,
Спасибо!
Цитата Сообщение от qwertehok Посмотреть сообщение
представь себе таблицу вида
id | id_1 | id2 | id_3 | id4 | id_5 | id6 | id_7 | id8 | id_9 | id10 | id_11 |
это я понимаю что в индексах я не чего не найду
Цитата Сообщение от qwertehok Посмотреть сообщение
и не забудь
5. убрать с формы все визуальные компоненты, кроме диалога выбора папки
Ок
Цитата Сообщение от kavasaka Посмотреть сообщение
Так что дерзай, если очень интересно!
может быть и написание данной программы утопие но я получил уже хороший опыт и мудрые советы а дальше будет видно куда меня это приведет
по результатом буду отписываться и выкладывать для критики промежуточные этапы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2016, 10:06
Помогаю со студенческими работами здесь

Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле
Имеется много папок в каждой папке есть файл proc.txt, как можно по всем этим папкам пройтись и из каждой папки в этом файле достать...

Поиск информации
Добрый день! Прошу совета. В БД есть столбец ФИО, (внезапно :)), нужно осуществить по нему поиск, не различая буквы 'е' и 'ё'. Я вижу...

Поиск информации
Нужно чтобы выполнялся поиск информации о реквизитах организации, банка из интернета по их ИНН, БИК, как понял, нужно чтобы выполнялась...

Поиск информации
С помощью каких средств можно решить данную задачу? &gt;&gt; Выпускница механико-математического факультета Катя Шунько 11 мая 2012 года...

Поиск информации
Здраствуйте. В общем такие вот дела. Помогите с поиском информации в бд. У меня есть таблица рейсы и едит1. Как осуществить поиск....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru