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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2671 - (hide annotations) (download)
Tue Aug 25 18:15:15 2015 UTC (8 years, 10 months ago) by torben
File size: 6346 byte(s)
Added tpsystools component
1 torben 2671 // ***** 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