Skip to content

Commit

Permalink
Добавление новых функций
Browse files Browse the repository at this point in the history
Добавлена загрузка doc
Добавлено удаление слов
  • Loading branch information
777petruh committed Mar 22, 2024
1 parent 0ab1998 commit 1f30285
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Project1.dproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<ProjectVersion>20.1</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Application</AppType>
Expand Down
73 changes: 67 additions & 6 deletions Unit1.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -221,32 +221,48 @@ object Form1: TForm1
AlignWithMargins = True
Left = 4
Top = 4
Width = 185
Width = 158
Height = 25
Align = alLeft
Caption = #1055#1086#1083#1091#1095#1080#1090#1100' '#1074#1089#1077' '#1076#1072#1085#1085#1099#1077
TabOrder = 0
OnClick = Button9Click
ExplicitLeft = 195
end
object DBNavigator1: TDBNavigator
Left = 413
Left = 469
Top = 1
Width = 240
Height = 31
DataSource = DataSource1
Align = alLeft
TabOrder = 1
ExplicitLeft = 472
ExplicitTop = -4
end
object CheckBox1: TCheckBox
Left = 192
Left = 165
Top = 1
Width = 221
Width = 140
Height = 31
Align = alLeft
Caption = #1074#1082#1083'. '#1088#1077#1076#1072#1082#1090#1080#1088'. '#1089#1090#1088#1086#1082
TabOrder = 2
OnClick = CheckBox1Click
end
object Button10: TButton
AlignWithMargins = True
Left = 308
Top = 4
Width = 158
Height = 25
Align = alLeft
Caption = #1044#1086#1073#1072#1074#1080#1090#1100' Word '#1074' '#1073#1072#1079#1091
TabOrder = 3
Visible = False
OnClick = Button10Click
ExplicitLeft = 428
end
end
object DBRichEdit1: TDBRichEdit
Left = 0
Expand Down Expand Up @@ -327,6 +343,7 @@ object Form1: TForm1
Align = alRight
Caption = 'Panel9'
TabOrder = 2
Visible = False
object Button6: TButton
Left = 1
Top = 26
Expand Down Expand Up @@ -419,7 +436,7 @@ object Form1: TForm1
Connection = FDConnection1
SQL.Strings = (
'select * from main where Text_for_seach like :S1')
Left = 469
Left = 389
Top = 400
ParamData = <
item
Expand All @@ -432,6 +449,7 @@ object Form1: TForm1
Top = 312
object N1: TMenuItem
Caption = #1059#1076#1072#1083#1080#1090#1100' '#1089#1083#1086#1074#1086' '#1080#1079' '#1087#1088#1086#1074#1077#1088#1082#1080' '#1074' '#1073#1072#1079#1077
OnClick = N1Click
end
end
object DataSource1: TDataSource
Expand All @@ -445,7 +463,50 @@ object Form1: TForm1
Connection = FDConnection1
SQL.Strings = (
'select * from main ')
Left = 541
Left = 461
Top = 400
end
object OpenDialog1: TOpenDialog
Filter = #1060#1072#1081#1083#1099' Word|*.doc*'
Left = 837
Top = 392
end
object FDQuery3: TFDQuery
BeforePost = FDQuery2BeforePost
FieldOptions.BlobDisplayValue = dvFullText
Connection = FDConnection1
SQL.Strings = (
'insert into main values (:s1,:s2,:s3) ')
Left = 533
Top = 400
ParamData = <
item
Name = 'S1'
ParamType = ptInput
end
item
Name = 'S2'
ParamType = ptInput
end
item
Name = 'S3'
ParamType = ptInput
end>
end
object FDQuery4: TFDQuery
BeforePost = FDQuery2BeforePost
FieldOptions.BlobDisplayValue = dvFullText
Connection = FDConnection1
SQL.Strings = (

'UPDATE main SET Text_for_seach = REPLACE (Text_for_seach, :S1, '#39 +
#39');')
Left = 605
Top = 400
ParamData = <
item
Name = 'S1'
ParamType = ptInput
end>
end
end
97 changes: 89 additions & 8 deletions Unit1.pas
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ interface
FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet,
FireDAC.Comp.Client, FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef,
FireDAC.Stan.ExprFuncs, FireDAC.Phys.SQLiteWrapper.Stat, Vcl.Menus, Vcl.Grids,
Vcl.DBGrids, Vcl.DBCtrls, Vcl.Buttons;
Vcl.DBGrids, Vcl.DBCtrls, Vcl.Buttons,ComObj;

type
TForm1 = class(TForm)
Expand Down Expand Up @@ -56,6 +56,10 @@ TForm1 = class(TForm)
Panel1: TPanel;
ProgressBar1: TProgressBar;
Button7: TButton;
Button10: TButton;
OpenDialog1: TOpenDialog;
FDQuery3: TFDQuery;
FDQuery4: TFDQuery;
procedure FormResize(Sender: TObject);
Function Find_in_DB(FindString:string; ADD_in_result:boolean ):boolean;
procedure Button1Click(Sender: TObject);
Expand All @@ -76,6 +80,8 @@ TForm1 = class(TForm)
procedure FDQuery2BeforePost(DataSet: TDataSet);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
Expand Down Expand Up @@ -160,7 +166,7 @@ implementation
var Znaki:string;
i:integer;
begin
Znaki:='!?:;".,<>—…0123456789-−«#»%()';
Znaki:='!?:;".,<>—…0123456789-−«#»%()\/';
ProgBar.Position:=0;
ProgBar.Max:=length(Znaki);

Expand Down Expand Up @@ -190,23 +196,23 @@ implementation
SpisokSort.Free;

T:=Tstringlist.Create;
T.LoadFromFile('Союзы.txt');
T.LoadFromFile(ExtractFilePath(Application.ExeName)+'Союзы.txt');
ProgBar.Position:=0;
ProgBar.Max:=t.Count-1;
for i := 0 to t.Count-1 do
begin
s:=StringReplace(s,#13#10+T[i]+#13#10,#13#10,[rfReplaceAll, rfIgnoreCase]);
ProgBar.Position:=i;
end;
T.LoadFromFile('Предлоги.txt');
T.LoadFromFile(ExtractFilePath(Application.ExeName)+'Предлоги.txt');
ProgBar.Position:=0;
ProgBar.Max:=t.Count-1;
for i := 0 to t.Count-1 do
begin
s:=StringReplace(s,#13#10+T[i]+#13#10,#13#10,[rfReplaceAll, rfIgnoreCase]);
ProgBar.Position:=i;
end;
T.LoadFromFile('Местоимения.txt');
T.LoadFromFile(ExtractFilePath(Application.ExeName)+'Местоимения.txt');
ProgBar.Position:=0;
ProgBar.Max:=t.Count-1;
for i := 0 to t.Count-1 do
Expand Down Expand Up @@ -279,12 +285,13 @@ procedure TForm1.FDQuery2BeforePost(DataSet: TDataSet);
FDQuery1.First;
while not FDQuery1.eof do
begin

s:='';
Memos[j]:=TRichEdit.Create(ScrollBox1);
Memos[j].Parent:=ScrollBox1;
Memos[j].Align:=alTop;
Memos[j].ScrollBars:=ssVertical;
Memos[j].Lines.Text:=FDQuery1.FieldByName('Text_All').AsString;
If FDQuery1.FieldByName('punkt').AsString.Length>0 then s:='▒▒▒ '+FDQuery1.FieldByName('punkt').AsString+' ▒▒▒'+#10;
Memos[j].Lines.Text:=s+FDQuery1.FieldByName('Text_All').AsString;
Memos[j].OnSelectionChange:=RichEdit1SelectionChange;
Memos[j].PopupMenu:=PopupMenu1;
Memos[j].StyleElements:=[seClient,seBorder];
Expand All @@ -306,6 +313,73 @@ procedure TForm1.FDQuery2BeforePost(DataSet: TDataSet);

end;

procedure TForm1.Button10Click(Sender: TObject);
var Word,CurTable:OleVariant;
s:string;
begin
If opendialog1.Execute then
begin
StatusBar1.Panels[2].Text:='Начало загрузки';
Word:=CreateOleObject('Word.Application'); // создаём приложение Word
Word.Visible:=false; // делаем приложение видимым
Word.DisplayAlerts := false;
try
//Открываем ворд
Word.Documents.Open(opendialog1.FileName);
///Получить число таблиц таблицу
var tablecount:integer:= Word.ActiveDocument.Tables.Count;
If tablecount=0 then
begin
///Получить весь текст
s:=Word.ActiveDocument.range.text;
//s:=s.Replace(#13,'');
//s:=s.Replace(#1,'');
FDQuery3.ParamByname('S1').DataType := ftString;
FDQuery3.ParamByname('S1').Clear;
FDQuery3.ParamByname('S2').AsString:=ansilowercase(s);
FDQuery3.ParamByname('S3').AsString:=ansilowercase(s);
FDQuery3.ExecSQL;
end
else
begin
for var i := 1 to tablecount do
begin
s:=Word.ActiveDocument.range.text;
CurTable:=Word.ActiveDocument.Tables.Item(i);
var iCols:integer := CurTable.Rows.Count;
//var iRows:integer := CurTable.Columns.Count;

for var j := 1 to iCols do
begin
try
FDQuery3.ParamByname('S1').AsString:=ansilowercase(CurTable.cell(j,1).range.text);
FDQuery3.ParamByname('S2').AsString:=ansilowercase(CurTable.cell(j,2).range.text);
FDQuery3.ParamByname('S3').AsString:=ansilowercase(CurTable.cell(j,2).range.text);
FDQuery3.ExecSQL;
except

end;
end;


end;

end;




finally
Word.ActiveDocument.close;
Word.Application.Quit;
StatusBar1.Panels[2].Text:='Готово';
Showmessage('Готово');
end;
Word := Unassigned;

end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

Expand Down Expand Up @@ -503,7 +577,7 @@ procedure TForm1.Button8Click(Sender: TObject);

procedure TForm1.Button9Click(Sender: TObject);
begin

FDQuery2.Close;
FDQuery2.Open();
DBRichEdit1.DataField:='Text_for_seach';
DBRichEdit2.DataField:='Text_All';
Expand All @@ -512,6 +586,7 @@ procedure TForm1.Button9Click(Sender: TObject);
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
If CheckBox1.Checked then dbgrid1.Options := dbgrid1.Options + [dgEditing] else dbgrid1.Options := dbgrid1.Options - [dgEditing];
If CheckBox1.Checked then button10.Visible:=CheckBox1.Checked else button10.Visible:=CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
Expand All @@ -535,6 +610,12 @@ procedure TForm1.FormResize(Sender: TObject);
Panel8.Width:=Form1.Width div 2;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
FDQuery4.ParamByname('S1').AsString:=ansilowercase(RichEdit1.SelText);
FDQuery4.ExecSQL;
end;

procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Expand Down
Binary file modified Win32/Debug/New
Binary file not shown.
2 changes: 1 addition & 1 deletion Win32/Release/Местоимения.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�����-������-���������-�������-�����-������-���������-���������-�������-���������-����������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�����-������-���������-�������-�����-������-���������-���������-�������-���������-�������������������������
Expand Down

0 comments on commit 1f30285

Please # to comment.