質問編集履歴
2
仕様等の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,63 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
A.txtの内容 (メインファイル)
|
6
|
-
|
7
|
-
object 1 ~
|
8
|
-
|
9
|
-
object 2 ~
|
10
|
-
|
11
|
-
object 31 ~
|
12
|
-
|
13
|
-
object 44 ~
|
14
|
-
|
15
|
-
object 55 ~
|
16
|
-
|
17
|
-
-----------------
|
18
|
-
|
19
|
-
B.txtの内容 (サブファイル)
|
20
|
-
|
21
|
-
object 1 object 102
|
22
|
-
|
23
|
-
object 2 object 99
|
24
|
-
|
25
|
-
object 31 object 10
|
26
|
-
|
27
|
-
object 55 object 501
|
28
|
-
|
29
|
-
object 60 object 552
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
変換したい内容は、
|
34
|
-
|
35
|
-
Aファイルの
|
36
|
-
|
37
|
-
object 1をobject 102
|
38
|
-
|
39
|
-
object 2をobject 99
|
40
|
-
|
41
|
-
object 31をobject 10
|
42
|
-
|
43
|
-
object 55をobject 501
|
44
|
-
|
45
|
-
とBの内容でAの内容を置換したです。
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
実際は1000行ぐらいあります。
|
50
|
-
|
51
|
-
テキストファイル内は記載している以外にも数字や文字列があります。
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
以上
|
56
|
-
|
57
|
-
よろしくお願いいたします。
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
<Aファイル>
|
5
|
+
<Aファイルサンプル>
|
62
6
|
|
63
7
|
Map From test
|
64
8
|
|
@@ -144,12 +88,72 @@
|
|
144
88
|
|
145
89
|
|
146
90
|
|
91
|
+
--------------------------------------------------------------
|
92
|
+
|
93
|
+
<やりたいこと>
|
94
|
+
|
95
|
+
ファイル内の
|
96
|
+
|
97
|
+
"Object半角スペース任意の整数半角スペース"
|
98
|
+
|
99
|
+
の行を他のファイルを参照して変換することです。
|
147
100
|
|
148
101
|
|
149
|
-
Aファイルは
|
150
102
|
|
151
|
-
Layer
|
103
|
+
経緯としては、Layer1データを初期化(他アプリで)すると、
|
152
104
|
|
153
|
-
|
105
|
+
Objectの番号が参照ファイルのように変更されてしまいます。
|
154
106
|
|
107
|
+
但し、AファイルのObjectの番号は手動で変更しなければならないので
|
108
|
+
|
109
|
+
何かいい方法はないかと悩んでいるところでした。
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
<Aファイルの主な仕様>
|
114
|
+
|
115
|
+
1.以下のような階層構造になっている
|
116
|
+
|
117
|
+
階層は不定で、
|
118
|
+
|
119
|
+
SetMap
|
120
|
+
|
121
|
+
Layer1
|
122
|
+
|
123
|
+
Layey2
|
124
|
+
|
125
|
+
SetMap
|
126
|
+
|
127
|
+
Layer1
|
128
|
+
|
129
|
+
といったケースもあります。
|
130
|
+
|
131
|
+
"SetMap""Layer"のキーワードは固定です。
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
2.置換対象は固定で"Object半角スペース任意の整数半角スペース"です。
|
136
|
+
|
137
|
+
Objectが置換対象外に記載される事はありません。
|
138
|
+
|
139
|
+
大文字小文字区別なし、ダブルクォーテーション考慮なしでいいかと。
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
<置換内容を記載した参照ファイル(csv)の仕様について>
|
144
|
+
|
145
|
+
Layer1,object 1,object 1
|
146
|
+
|
147
|
+
Layer1,object 24,object 2
|
148
|
+
|
149
|
+
Layer1,object 15,object 3
|
150
|
+
|
151
|
+
Layer1,object 9,object 4
|
152
|
+
|
155
|
-
と
|
153
|
+
といったファイルを用意します。
|
154
|
+
|
155
|
+
※変更は可能
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
Aと参照ファイルを掛け合わせるとAのObjectの数字部分が参照ファイルの内容に書き換わるといった内容です。
|
1
実ファイル記載
test
CHANGED
File without changes
|
test
CHANGED
@@ -55,3 +55,101 @@
|
|
55
55
|
以上
|
56
56
|
|
57
57
|
よろしくお願いいたします。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
<Aファイル>
|
62
|
+
|
63
|
+
Map From test
|
64
|
+
|
65
|
+
Position (0.0520833,0.0520833) Units "in"
|
66
|
+
|
67
|
+
Width 7.82292 Units "in" Height 4.5 Units "in"
|
68
|
+
|
69
|
+
Set Window FrontWindow() ScrollBars On Autoscroll On Enhanced On Smooth Text Antialias Image High Vector Antialias
|
70
|
+
|
71
|
+
Set Map
|
72
|
+
|
73
|
+
CoordSys Earth Projection 8, 33, "m", 142.25, 44, 0.9999, 0, 0
|
74
|
+
|
75
|
+
Center (-34733.04786,-103594.5005)
|
76
|
+
|
77
|
+
Zoom 1385.090814 Units "m"
|
78
|
+
|
79
|
+
Preserve Zoom Display Zoom
|
80
|
+
|
81
|
+
Distance Units "m" Area Units "sq m" XY Units "m"
|
82
|
+
|
83
|
+
Distance Type Cartesian
|
84
|
+
|
85
|
+
Set Map
|
86
|
+
|
87
|
+
Layer 1
|
88
|
+
|
89
|
+
Display Global
|
90
|
+
|
91
|
+
Global Pen (12,2,255) Brush (1,16777215,16777215) Symbol (35,16776960,20) Line (25,65,16711680) Font ("MS Pゴシック",0,10,0)
|
92
|
+
|
93
|
+
Label Line Simple Position Center Font ("MS Pゴシック",0,10,0) Pen (1,2,0)
|
94
|
+
|
95
|
+
With
|
96
|
+
|
97
|
+
Parallel On Auto On Overlap Off Duplicates On Offset 2
|
98
|
+
|
99
|
+
Visibility On
|
100
|
+
|
101
|
+
Object 1 Line Simple Anchor
|
102
|
+
|
103
|
+
Object 24 Line Simple Anchor
|
104
|
+
|
105
|
+
Object 15 Line Simple Anchor
|
106
|
+
|
107
|
+
Object 9 Anchor
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
Set Map
|
112
|
+
|
113
|
+
Layer 2
|
114
|
+
|
115
|
+
Display Global
|
116
|
+
|
117
|
+
Global Pen (12,2,255) Brush (1,16777215,16777215) Symbol (35,16776960,20) Line (25,65,16711680) Font ("MS Pゴシック",0,10,0)
|
118
|
+
|
119
|
+
Label Line Simple Position Center Font ("MS Pゴシック",0,10,0) Pen (1,2,0)
|
120
|
+
|
121
|
+
With
|
122
|
+
|
123
|
+
Parallel On Auto On Overlap Off Duplicates On Offset 2
|
124
|
+
|
125
|
+
Visibility On
|
126
|
+
|
127
|
+
Object 1 Line Simple Anchor
|
128
|
+
|
129
|
+
Object 24 Line Simple Anchor
|
130
|
+
|
131
|
+
Object 15 Line Simple Anchor
|
132
|
+
|
133
|
+
Object 29 Anchor
|
134
|
+
|
135
|
+
Object 30 Anchor
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
Set Window FrontWindow() Printer
|
140
|
+
|
141
|
+
Name "iR-ADV C5550" Orientation Portrait Copies 1
|
142
|
+
|
143
|
+
Papersize 9
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
Aファイルは
|
150
|
+
|
151
|
+
Layer 1のObject1
|
152
|
+
|
153
|
+
Layer 2のObject1
|
154
|
+
|
155
|
+
と重複するので区別して置換します。
|