Додаток 1
Оригінальний текст программиUnit1;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, DB, Grids, DBGrids, ADODB, StdCtrls, ExtCtrls, Menus, DBTables,;=class (TForm): TADOConnection;:TDataSource ;: TDBGrid ;: TADOQuery ;: TButton ;: TButton ;: TButton ;: TComboBox ;: TLabel ;: TComboBox ;: TLabel ;: TDateTimePicker ;: TLabel ;: TLabeledEdit ;: TMainMenu ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TLabel ;: TComboBox ;: TButton ;: TButton ;: TComboBox ;: TLabel ;: TDateTimePicker ;: TLabel ;: TButton ;: TButton ;: TLabeledEdit ;: TButton ;: TButton ;: TSaveDialog; FormCreate (Sender: TObject); btnAddClick (Sender: TObject); btnDelClick (Sender: TObject); dbgrd1CellClick (Column: TColumn);tab_refresh();getPostId(name:string):string;getDetId(name:string):string;btnSaveClick(Sender: TObject); cbb_refresh (); FormActivate (Sender: TObject); btnF1Click (Sender: TObject); btnF2Click (Sender: TObject); btnF3Click (Sender: TObject); btn1Click (Sender: TObject); N2Click (Sender: TObject); N3Click (Sender: TObject); mysql_real_escape_string (const unescaped_string: string): string; WORDRep (title: string); NaklRep (vrab: string; vvak: string; vsum: string); StringReplaceExt (const S: string; OldPattern, NewPattern: array of string; Flags: TReplaceFlags): string; btn2Click (Sender: TObject); Button1Click (Sender: TObject);
{Private declarations}
{Public declarations} ;: TForm1; Unit2, Unit3, ComObj;
{$ R * .dfm} TForm1.WORDRep (title: string);=1;=0;=2;=1 ;, wdDoc, wdRng, wdTable: Variant ;, j, Res: Integer ;: TDateTime ;: TBookMark ;: TSaveDialog;
//{
Sd:=SaveDialog1;// SaveDialog1 вже повинен бути на формі.
if Sd.InitialDir= then Sd.InitialDir:=ExtractFilePath (ParamStr (0));
//Запуск діалогу збереження файла.not Sd.Execute then Exit;
//Якщо файл із заданим ім'ям існує, то запускаємо діалог з користувачем.
if FileExists (Sd.FileName) then begin
Res:=MessageBox (0, Файл із заданим ім'ям вже існує. Перезаписати?
, Увага! raquo ;, MB_YESNO + MB_ICONQUESTION + MB_APPLMODAL);
if Res lt; gt; IDYES then Exit;
end;
//Спроба запустити MS Word.
try:=CreateOleObject ( Word.Application );
except (0, Не вдається запустити MS Word. Дія відмінена.
, Увага! raquo ;, MB_OK + MB_ICONERROR + MB_APPLMODAL);
Exit ;;
//Робимо видимим вікно MS Word. На постійній основі або на час отладкі..Visible:=True;
//Створюємо новий документ.:=wdApp.Documents.Add;
//На випадок, якщо дуже багато даних і wdApp.Visible:=True - тоді
//для прискорення роботи відключаємо перерисовку вікна MS Word..ScreenUpdating:=False;:=wdDoc.Content;// Діапазон, що охоплює весь вміст документа.
//Параграф 1. Тема звіту.
//Тема звіту і переклад строкі..InsertAfter ( Робочі вакансії # 13 # 10);
//Вирівнювання по центру..ParagraphFormat.Alignment:=wdAlignParagraphCenter;
//Параметри шрифту.
wdRng.Font.Name:= Times New Roman raquo ;;. Font.Bold:=True; .Font.Size:=14;
//Параграф 2. Загальні відомості.
//Формуємо діапазон нового параграфа безпосередньо за поточним діапазоном.
wdRng.Start:=wdRng.End; .InsertAfter (# 13 # 10);:=Now; .InsertAfter ( Звіт сформований + FormatDateTime ( dd.mm.yyyy , D) + в + FormatDateTime ( hh: nn raquo ;, D) + # 13 # 10);
//Скидання параметрів параграфа..ParagraphFormat.Reset;
//Вирівнювання по лівому краю..ParagraphFormat.Alignment:=wdAlignParagraphLeft;
//Параметри шріфта..Font.Reset;// Скидання параметрів шріфта..Font.Size:=12; .Font.Bold:=True;
//Параграф 3. Тема табліци..Start:=wdRng.End;
wdRng.InsertAfter(#13#10);.InsertAfter(title+#13#10);.ParagraphFormat.Reset;.Font.Reset;.Font.Size :=12; .Font.Bold:=False;
//Параграф 4. Табліца.not qry1.Active then qry1.Open; .Start:=wdRng.End;
//Додаємо таблицю MS Word. Поки створюємо таблицю з двома рядками.
wdTable:=wdDoc.Tables.Add (wdRng.Characters.Last, 2, qry1.Fields.Count);
//Параметри ліній табліци..Borders.InsideLineStyle:=wdLineStyleSingle; .Borders.OutsideLineStyle:=wdLineSt...