概要
プロデルが、CLRらしいので、調べて見た。
練習問題やってみた。
練習問題
csvで、マップ表示せよ。
参考にしたページ
写真
サンプルコード
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
+データ
はじめの手順
初期化する
終わり
初期化する手順
初期化開始する
ボタン1というボタンを作る
ボタン2というボタンを作る
ボタン4というボタンを作る
この実質大きさは{928, 542}
この内容は「eki.csv」
この文字色は「標準の文字」
この間隔は{4, 4, 4, 4}
表部品1という表部品を作る
表部品1を初期化開始する
その位置と大きさは{18, 22, 592, 262}
その列見出し高さは、27
その移動順は、1
その文字色は「標準の文字」
その位置固定方向は「上+下+左+右」
その間隔は{4, 4, 4, 4}
表部品1を初期化終了する
ボタン1を使う
その位置と大きさは{683, 59, 93, 28}
その内容は「開業ソート」
その移動順は0
ボタン2を使う
その位置と大きさは{683, 101, 93, 28}
その内容は「県ソート」
その移動順は1
スライダ1というスライダを作る
スライダ1を初期化開始する
その位置と大きさは、{683, 131, 193, 28}
その最大値は、2025
その最小値は、1965
その目盛り間隔は、10
その移動順は4
スライダ1を初期化終了する
テキスト1というテキストを作る
その位置と大きさは、{683, 191, 93, 28}
その内容は、「1976」
ボタン4を使う
その位置と大きさは、{683, 231, 93, 28}
その内容は、「html表示する」
その移動順は、3
テキスト領域1というテキスト領域を作る
その位置と大きさを{15, 332, 698, 205}に変える
初期化終了する
この設計スケール比率は{104, 104}
終わり
開いた時の手順
ファイル名は「eki.csv」
データ表を作ってデータとする
データの見出し行は、真
ファイル名というファイルが存在するなら、データへファイル名から読み込む
表部品1のデータ表をデータに変える
終わり
ボタン1がクリックされた時の手順
表部品1の7列目を昇順に並べ替える
終わり
ボタン2がクリックされた時の手順
表部品1の6列目を昇順に並べ替える
終わり
スライダ1が変化した時の手順
テキスト1の内容は、スライダ1の値
緯度経度という、辞書を作る
前駅という、辞書を作る
駅名は、{}
年1は、スライダ1の値
データの一覧を要素にそれぞれ繰り返す
駅1は、要素(1)
駅3は、要素(3)
緯度は、要素(4)
経度は、要素(5)
緯度経度の駅1は、「[緯度], [経度]」
前駅の駅1は、駅3
要素(7)から先頭から4文字取り出して年2とする
(年2 + 0) <= 年1 なら
駅1を駅名に加える
そして
そして
線は、「var latlngs = [[]」
駅名を要素にそれぞれ繰り返す
前駅の要素が、「」でないなら
線は、線 & 「[[][緯度経度の(前駅の要素)][]], [[][緯度経度の要素][]], 」 & 改行
そして
そして
線は、線 & 「[]];」
テキスト領域1の内容は、「
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="{{ url_for('static', filename='css/tetsulogger.css') }}" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<style type="text/css">
body {
padding: 0;
margin: 0;
}
html, body, #map {
width: 500px;
height: 500px;
}
</style>
</head>
<body>
<h1>Hello Plunker!</h1>
<div id="map"></div>
<script>
var map = L.map('map').setView([[]35.18, 136.9[]], 10);
var tileLayer = L.tileLayer('https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains: [[]'mt0', 'mt1', 'mt2', 'mt3'[]],
});
tileLayer.addTo(map);
[線]
var polyline = L.polyline(latlngs, {
color: 'red'
}).addTo(map);
map.fitBounds(polyline.getBounds());
</script>
</body>
</html>
」
終わり
ボタン4がクリックされた時の手順
ファイル名は「[デスクトップ]map.html」
内容hは、テキスト領域1の内容
内容hをファイル名へ保存する
COM_shellというCOM型(「Shell.Application」)を作る
shellは、COM_shellからインスタンスを作ったもの
shell:ShellExecute(「file:///[デスクトップ]map.html」)
終わり
終わり
以上。