/[projects]/dao/DelphiScanner/Components/tpsystools_4.04/examples/CBuilder/datamrg0.cpp
ViewVC logotype

Contents of /dao/DelphiScanner/Components/tpsystools_4.04/examples/CBuilder/datamrg0.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2671 - (show annotations) (download)
Tue Aug 25 18:15:15 2015 UTC (8 years, 9 months ago) by torben
File size: 6346 byte(s)
Added tpsystools component
1 // ***** BEGIN LICENSE BLOCK *****
2 // * Version: MPL 1.1
3 // *
4 // * The contents of this file are subject to the Mozilla Public License Version
5 // * 1.1 (the "License"); you may not use this file except in compliance with
6 // * the License. You may obtain a copy of the License at
7 // * http://www.mozilla.org/MPL/
8 // *
9 // * Software distributed under the License is distributed on an "AS IS" basis,
10 // * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 // * for the specific language governing rights and limitations under the
12 // * License.
13 // *
14 // * The Original Code is TurboPower SysTools
15 // *
16 // * The Initial Developer of the Original Code is
17 // * TurboPower Software
18 // *
19 // * Portions created by the Initial Developer are Copyright (C) 1996-2002
20 // * the Initial Developer. All Rights Reserved.
21 // *
22 // * Contributor(s):
23 // *
24 // * ***** END LICENSE BLOCK *****
25 //---------------------------------------------------------------------------
26 #include <vcl.h>
27 #pragma hdrstop
28
29 #include "datamrg0.h"
30 #pragma link "stmerge"
31 #pragma link "sttxtdat"
32 //---------------------------------------------------------------------------
33 #pragma package(smart_init)
34 #pragma resource "*.dfm"
35 TForm1 *Form1;
36 //---------------------------------------------------------------------------
37 __fastcall TForm1::TForm1(TComponent* Owner)
38 : TForm(Owner)
39 {
40 }
41 //---------------------------------------------------------------------------
42 void __fastcall TForm1::DoUnknownTag(TObject *Sender, AnsiString Tag, AnsiString &Value, bool &Discard)
43 {
44 if (Tag == "TIME") {
45 Value = FormatDateTime("hh:mm:ss", Now());
46 }
47 else {
48 Value = InputBox("Unknown Tag", "Value for " + Tag, "");
49 }
50 }
51 //---------------------------------------------------------------------------
52 void __fastcall TForm1::DisableButtons(void)
53 {
54 SpeedButton1->Enabled = false;
55 SpeedButton2->Enabled = false;
56 SpeedButton3->Enabled = false;
57 SpeedButton4->Enabled = false;
58 }
59 //---------------------------------------------------------------------------
60 String __fastcall TForm1::NextFile(void)
61 {
62 TVarRec FmtParam[] = { MergeNo };
63 String S = ChangeFileExt(ExtractFileName(TemplateName),
64 Format(".M%.2d", FmtParam, ARRAYSIZE(FmtParam) - 1));
65 MergeNo++;
66 return S;
67 }
68 //---------------------------------------------------------------------------
69 void __fastcall TForm1::UpdateButtons(void)
70 {
71 if (DataSet->Active) {
72
73 SpeedButton1->Enabled = true;
74 SpeedButton2->Enabled = true;
75 SpeedButton3->Enabled = true;
76 SpeedButton4->Enabled = true;
77
78 if (DataSet->BOF()) {
79 SpeedButton1->Enabled = false;
80 SpeedButton2->Enabled = false;
81 }
82
83 if (DataSet->EOF()) {
84 SpeedButton3->Enabled = false;
85 SpeedButton4->Enabled = false;
86 }
87
88 } else {
89 DisableButtons();
90 }
91 }
92 //---------------------------------------------------------------------------
93 void __fastcall TForm1::UpdateTagDisplay(void)
94 {
95 Memo2->Lines->Assign(DataSet->CurrentRecord->FieldList);
96 }
97 //---------------------------------------------------------------------------
98 void __fastcall TForm1::FormCreate(TObject *Sender)
99 {
100 Merger = new TStTextMerge;
101 Merger->DefaultTags->Add("FIRST_NAME=Sir or Madam");
102 Merger->DefaultTags->Add("CITY=ANYTOWN");
103 Merger->DefaultTags->Add("COLOR=BLUE");
104 Merger->OnGotUnknownTag = DoUnknownTag;
105 DisableButtons();
106 }
107 //---------------------------------------------------------------------------
108 void __fastcall TForm1::FormDestroy(TObject *Sender)
109 {
110 delete Schema;
111 delete DataSet;
112 delete Merger;
113
114 }
115 //---------------------------------------------------------------------------
116 void __fastcall TForm1::ClearMemo(TObject *Sender)
117 {
118 dynamic_cast<TMemo *>(Sender)->Lines->Clear();
119 }
120 //---------------------------------------------------------------------------
121 void __fastcall TForm1::NavClick(TObject *Sender)
122 {
123 if (Sender == SpeedButton1) {DataSet->First();};
124 if (Sender == SpeedButton2) {DataSet->Prior();};
125 if (Sender == SpeedButton3) {DataSet->Next();};
126 if (Sender == SpeedButton4) {DataSet->Last();};
127
128 UpdateButtons();
129 UpdateTagDisplay();
130 }
131
132 //---------------------------------------------------------------------------
133 void __fastcall TForm1::Button1Click(TObject *Sender)
134 {
135 if (OpenDialog1->Execute()) {
136 TemplateName = OpenDialog1->FileName;
137 MergeNo = 1;
138 Merger->LoadTemplateFromFile(TemplateName);
139 Memo3->Lines->Assign(Merger->Template);
140 }
141 }
142 //---------------------------------------------------------------------------
143 void __fastcall TForm1::Button2Click(TObject *Sender)
144 {
145 if (OpenDialog2->Execute() && OpenDialog3->Execute()) {
146 delete Schema;
147 Schema = new TStTextDataSchema;
148 Schema->LoadFromFile(OpenDialog2->FileName);
149
150 delete DataSet;
151 DataSet = new TStTextDataRecordSet;
152 DataSet->Schema = Schema;
153 DataSet->LoadFromFile(OpenDialog3->FileName);
154 DataSet->First();
155
156 UpdateButtons();
157 UpdateTagDisplay();
158
159 }
160 }
161 //---------------------------------------------------------------------------
162 void __fastcall TForm1::Button3Click(TObject *Sender)
163 {
164 Merger->MergeTags->Assign(Memo2->Lines);
165 Merger->Merge();
166 Memo1->Lines->Assign(Merger->MergedText);
167 }
168 //---------------------------------------------------------------------------
169 void __fastcall TForm1::Button4Click(TObject *Sender)
170 {
171 SaveDialog1->FileName = NextFile();
172 if (SaveDialog1->Execute()) {
173 Memo3->Lines->SaveToFile(SaveDialog1->FileName);
174 }
175 }
176 //---------------------------------------------------------------------------
177 void __fastcall TForm1::Button5Click(TObject *Sender)
178 {
179 SaveDialog2->FileName = TemplateName;
180 if (SaveDialog2->Execute()) {
181 TemplateName = SaveDialog2->FileName;
182 Memo3->Lines->SaveToFile(TemplateName);
183 Merger->Template->Assign(Memo3->Lines);
184 }
185 }
186 //---------------------------------------------------------------------------
187 void __fastcall TForm1::Button6Click(TObject *Sender)
188 {
189 if (DataSet && DataSet->Active) {
190 DataSet->Active = False;
191 delete DataSet;
192 DataSet = NULL;
193 Memo2->Lines->Clear();
194 DisableButtons();
195 }
196 }
197 //---------------------------------------------------------------------------

  ViewVC Help
Powered by ViewVC 1.1.20