Develop and Download Open Source Software

Browse Subversion Repository

Contents of /CopalPro/KDefConfig.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download) (as text)
Thu Jul 28 09:05:52 2011 UTC (12 years, 9 months ago) by kaityo
File MIME type: text/x-c++src
File size: 4710 byte(s)
First Commit
1 //---------------------------------------------------------------------------
2 // 言語別定義ファイル情報を管理するクラス
3 //---------------------------------------------------------------------------
4 #include <vcl.h>
5 #include <vcl\inifiles.hpp>
6
7 #pragma hdrstop
8
9 #pragma package(smart_init)
10 #include "KDefConfig.h"
11
12 //---------------------------------------------------------------------------
13 /**
14 * コンストラクタ
15 * ファイル名を受け取ってロードする
16 */
17 KDefConfig::KDefConfig(AnsiString _FileName) {
18 FileName = _FileName;
19 LoadFromFile();
20 }
21 //---------------------------------------------------------------------------
22 /**
23 * コンストラクタ
24 * 言語名とパスを受け取って自分を作成する
25 */
26 KDefConfig::KDefConfig(AnsiString _FileName,AnsiString _LangName, AnsiString _ExePath) {
27 FileName = _FileName;
28 LangName = _LangName;
29 ExePath = _ExePath;
30
31 LangExt = "";
32 UseHelpFile = false;
33 RegExpLang = "";//言語を判定する正規表現
34
35 Option = "";//オプション
36 LastFolder = "c:\\";//最後にアクセスしたフォルダ
37 HelpFile = "";//ヘルプファイル
38 TempFile = "Copal.tmp";//テンポラリファイルの名前
39
40 RegExpErr = ""; //エラー行取得用の正規表現
41 ShowError = false; //エラーコードを表示するか
42 CheckErrorCode = true;
43 UseTagJumpToOtherFile = false;
44
45 SaveToFile();
46 }
47 //---------------------------------------------------------------------------
48 /**
49 * ファイルのロード
50 * ファイルが無ければ勝手に作成する
51 */
52 void KDefConfig::LoadFromFile(void) {
53 TIniFile *IniFile = new TIniFile(FileName);
54
55 LangName = IniFile->ReadString("Language","Name","Perl");
56 LangExt = IniFile->ReadString("Language","Ext","pl");
57 RegExpLang = IniFile->ReadString("Language","RegExpLang","(^#!.*//perl.*)");
58
59 ExePath = IniFile->ReadString("Environment","ExePath","c:\\perl\\bin\\perl.exe");
60 Option = IniFile->ReadString("Environment","Option" , "");
61 LastFolder = IniFile->ReadString("Environment","LastFolder","c:\\");
62
63 UseHelpFile = IniFile->ReadBool("Environment","UseHelpFile",false);
64 HelpFile = IniFile->ReadString("Environment","HelpFile","");
65 TempFile = IniFile->ReadString("Environment","TempFile","copal.tmp");
66 TempDir = IniFile->ReadString("Environment","TempDir","");
67
68 RegExpErr = IniFile->ReadString("Debug","RegExpErr","line [0-9]+.?");
69 ShowError = IniFile->ReadBool("Debug","ShowError",false);
70 CheckErrorCode = IniFile->ReadBool("Debug","CheckErrorCode",true);
71
72 UseTagJumpToOtherFile = IniFile->ReadBool("Debug","UseTagJumpToOtherFile",false);
73 RegExpLine = IniFile->ReadString("Debug","RegExpLine","");
74 RegExpFile = IniFile->ReadString("Debug","RegExpFile","");
75
76
77 delete IniFile;
78 }
79 //---------------------------------------------------------------------------
80 /**
81 * ファイルのセーブ
82 */
83 void KDefConfig::SaveToFile(void) {
84
85 TIniFile *IniFile = new TIniFile(FileName);
86
87 IniFile->WriteString("Language","Name",LangName);
88 IniFile->WriteString("Language","Ext",LangExt);
89 IniFile->WriteString("Language","RegExpLang",RegExpLang);
90
91 IniFile->WriteString("Environment","ExePath",ExePath);
92 IniFile->WriteString("Environment","Option" ,Option);
93 IniFile->WriteString("Environment","LastFolder",LastFolder);
94
95 IniFile->WriteBool("Environment","UseHelpFile",UseHelpFile);
96 IniFile->WriteString("Environment","HelpFile",HelpFile);
97 IniFile->WriteString("Environment","TempFile",TempFile);
98 IniFile->WriteString("Environment","TempDir",TempDir);
99
100 IniFile->WriteString("Debug","RegExpErr",RegExpErr);
101 IniFile->WriteBool("Debug","ShowError",ShowError);
102 IniFile->WriteBool("Debug","CheckErrorCode",CheckErrorCode);
103
104 IniFile->WriteBool("Debug","UseTagJumpToOtherFile",UseTagJumpToOtherFile);
105 IniFile->WriteString("Debug","RegExpLine",RegExpLine);
106 IniFile->WriteString("Debug","RegExpFile",RegExpFile);
107
108 delete IniFile;
109 }
110 //---------------------------------------------------------------------------
111 AnsiString
112 KDefConfig::GetDefaultExt(void) {
113 if(LangExt.Trim() == "") {
114 return "";
115 }
116 TStringList *st = new TStringList;
117 st->CommaText = LangExt;
118 AnsiString Ext = st->Strings[0];
119 delete st;
120 return Ext;
121 }
122 //---------------------------------------------------------------------------
123 /**
124 * その拡張子を含むか
125 */
126 bool
127 KDefConfig::Contains(AnsiString Ext){
128 TStringList *st = new TStringList;
129 st->CommaText = LangExt;
130 for(int i=0;i<st->Count;i++){
131 AnsiString Ext2 = "."+st->Strings[i];
132 if(Ext2.LowerCase() == Ext.LowerCase()) {
133 delete st;
134 return true;
135 }
136 }
137 delete st;
138 return false;
139 }
140 //---------------------------------------------------------------------------
141

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26