質問編集履歴

2

仕様等の追記

2020/01/17 01:40

投稿

natuyasumi
natuyasumi

スコア8

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 1のObject1
103
+ 経緯としては、Layer1データを初期化(他アプリで)すると、
152
104
 
153
- Layer 2のObject1
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

実ファイル記載

2020/01/17 01:40

投稿

natuyasumi
natuyasumi

スコア8

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
+ と重複するので区別して置換します。