pirika logo

ホームページ Pirikaで化学 ブログ 業務案内 お問い合わせ
情報化学+教育トップ 情報化学 MAGICIAN MOOC プログラミング
高校生レベルのプログラミングはMAGICIAN-Jrへどうぞ。
フィードバックはお問い合わせフォームからお願いします。

プログラミング・トップ > 化学,薬学系の親子で楽しみながらプログラミング > 動かない? よくある間違い例

2022.6.29

Pirika.comでプログラミング
山本博志

メモ帳にコピぺした後、ファイルに保存するやり方がそもそもわからん…

珍しく、Macユーザー。
Windowsユーザー向けに、メモ帳とか、ワードパットというテキストエディーターにコピペして保存と言っていたら、Macの「メモ」アプリケーションに貼り付けセーブできないと言っていることが判明。

Macの「メモ」は非常に高機能なアプリケーションで、文字、画像のストッカー(保存容器)のように働くアプリケーションです。Mac, iPhone, iPadでファイルを連携できるので私も重宝しています。でも、セーブなどはできない。「メモ」のフォーマット(書き込み規則)で自動的に保存されるだけです。

昔々のテキストというのは、アルファベットの文字、数字、記号だけでした。それだけで作られたものを「(プレーン)テキスト」と呼び、それを磁気的に保存したものをテキスト・ファイルと呼びました。
今はコンピュータの扱えるメモリーと保存の領域が同じシリコン上になってしまったので、ファイルという概念もなくなりつつあります。

さらに日本語の文字とか拡張されていきましたが、一番大きな拡張は、文字の色だとか、文字の大きさ、上付き、下付き、太文字など、テキストの表現が豊かになった点です。

そうした、テキストは「リッチ(豊かな)・テキスト」と呼ばれています。

Mac用のテキストエディット・アプリケーションで、プログラムをコピペしてセーブすると、リッチテキストになってしまって、ブラウザーで立ち上げても、プログラムは動きません。「0-0プログラム以前の基礎。黒電話の取説」に回避方法も含め解説しています。

今ならCotEditorを使うのがお勧めです。

3択問題で、問題が終了した後に画像が表示されない。

何人か、そのようなフィードバックをしてくれた方がいます。
ファイルを送ってもらうと、htmlファイルだけを送ってくれます。


この問題は、多くの場合ファイルの位置関係の問題(階層型ファイルシステム)です。
htmlファイルだけを見てもどうして動かないのかはわかりません。

windows file sys
例えば、上の図のように、ドキュメント・フォルダにMyHtmlフォルダを作ります。
pirikaから3択の問題をコピペして、MyHtmlフォルダにTest.htmlというファイル名でセーブします。
そこに、正答数がある値以上あった場合に表示する画像を置きます。

それを読み出すには、htmlの中に次のように書きます。
const img=new Image(); img.src="./Good.png";
画像をプログラムの中て扱うために、画像を入れる入れ物(img)を用意します。
そしてその入れ物に、Good.pngという画像を入れます。
そのためには、そのGood.pngというファイルが、階層型ファイル構造のどこにあるかを指定しなくてはなりません。

./
というのは、htmlファイルと同じ階層に居るという意味になります。
そこで先のプログラムの部分は、

画像を入れる入れ物(img)を用意して、そこに、htmlファイルと同じ階層にあるGood.pngというファイルを入れなさい。

という意味になります。

画像が複数になってくると見通しが悪くなるので、imagesというフォルダを作ってその中に入れておくとスッキリします。

const img=new Image(); img.src="./imges/Good.png";
imagesはhtmlファイルが置かれている階層より一つ下の階層になります。
そこで、imagesの中のファイルの位置を指定するには、次の様になります。

./imges/


./でhtmlファイルがある階層。その下の階層(images)の中にあると指定します。

そこで、うまく動かないから見てくれとTest.htmlファイルだけをメールで送っても、画像ファイルは送られてこないので、こちらではなぜ動かないのかわかりません。

その様な時には、複数のファイルをZip圧縮を使って一つのファイルにしてしまいます。

Zip圧縮
マックでは、フォルダを右クリックして圧縮します。

ファイルの階層構造ごと送れば、こちらで何故動か無いのか確認できます。

質問コーナー

圧縮ってなんだ?

圧縮というのは、複数のファイルをひとまとめにしてファイルのサイズを小さく圧縮すること。(ただし、一つのファイルでも圧縮すれば容量が小さくなる)

有名なのがZIP圧縮。

階層構造を保ったまま複数ファイルを一つのファイルに、サイズを小さくしてくれる。

プログラミング・トップ > 化学,薬学系の親子で楽しみながらプログラミング


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください) メールの件名は[pirika]で始めてください。