プログラミングの仕方がわからないため、
プログラムを作成していただけませんでしょうか?
csvファイルに
「1,apple,りんご<改行>
2,grape, ぶどう」
と記入されていれば、
一行ずつ読み込んで
1.jpgというファイルは"apple"という文字の書かれた画像ファイル
1.pngというファイルは"りんご"という文字の書かれた画像ファイル
2.jpgというファイルは"grape"という文字の書かれた画像ファイル
2.pngというファイルは"ぶどう"という文字の書かれた画像ファイル
を作成するソフトなのですが
作成するのが簡単であれば、作成いただけないものでしょうか?
特に言語は問いませんが、vbsを使用していただけると助かります。
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
なんか、めちゃくちゃになってたみたいなので、Perlだけ動作検証、(大幅に)改編しました。
m(_ _)miPodが壊れていて動かないため、Notesのほうは検証できません。
index.txtは、ipoddicフォルダの外に置いてください。
フォルダ構成は下のようになります。
Notes/index.txt
Notes/ipoddic/a.txt 、 b.txt 、 c.txt ・・・(英単語の各ファイル)
対訳表示からindexへのジャンプが行われない場合は、
29行目の<a href="index.txt">・・・</a>を出力している部分を、以下のように書き換えてみてください。
print FT "<a href=\"../index.txt\">index</a> >> $initial\n";
あと、カスタマイズに関して、わかりにくそうなところの説明。
これ以外は簡単な英語か、VBSと同じだと思いますので、
Perlに関してわからなくても、だいたい理解、編集できると思います。
*ifの内容が1行だけの場合は、ifの書き方を逆転させ、括弧を省略できます。
if($_ eq ''){
next;
}
↓
next if($_ eq '');
20行目 : next if($line eq '');
対訳がなければ書き込みしません。
英単語だけ書き込んでおく場合はこの行を削除するか、コメントアウト(行頭に#を追記)してください。
# next if($line eq '');
21行目 : $line=~s/\t/\n/g;
対訳のタブ区切りを改行に変換します。
22行目 : $line=~s/^/ /mg;
対訳の部分の行頭に半角スペースを入れ、字下げを行います。
--------------------
#!/usr/bin/perl
my ($all,@all);
my ($prev, $this,$next);
my (%initials,$initial);
open(FP, "list.txt");
if(FP){
@all=<FP>;
close FP;
}else{
print "Open Error\n";
exit;
}
mkdir("ipoddic") unless(-e "ipoddic");
foreach(@all){
next if($_ eq '');
my ($key, $line)=split("\t", $_, 2);
$initial=substr($key, 0,1);
next if($line eq '');
$line=~s/\t/\n/g;
$line=~s/^/ /mg;
if(defined $initials{$initial}){
next unless open(FT, ">>", "ipoddic/$initial.txt");
}else{
$initials{$initial} = $initial;
next unless open(FT, ">", "ipoddic/$initial.txt");
print FT "<title>ipod dic ... $initial</title>\n";
print FT "<a href=\"index.txt\">index</a> >> $initial\n";
print FT "--------\n";
}
print FT "$key\n$line\n";
close FT;
}
exit();
No.5
- 回答日時:
すみません。
BBSに投稿するときに少し編集したのですが、どうやら消しすぎたみたいです。
use strict('vars');
の行を削除して、
exit()の上に
}
を1行追加してみてください。
最後の部分は以下のようになります。
---------
print FT $key."\n".$line;
}
close FT;
}
}
exit();
---------
use strictは一言で言えば、変数の宣言を強制するものですが、スペルミスなどのチェックにも使えます。
たぶん、スペルミスなどはないと思いますので。
No.4
- 回答日時:
長文失礼。
iPod-HTMLについて簡単な説明とサンプルです。
・<title>タイトル</title>
ファイルの1行目に記述。
iPodのNoteなど、ファイル一覧に表示されるタイトル。
これがなければファイル名がそのまま表示される。
・<a href="xxx.txt">アンカー</a>
ファイルの内容を表示したときに、文字部分を選択できるようになる。
iPodのメインボタンを押すと、href=""に指定されたファイルを表示する。
hrefは常にNoteフォルダからのパスを指定しないと行けなかったと思います。
辞書を作ったときのPerlプログラムがありました。
list.txtというファイルに、タブ区切りで英単語と日本語を記述してください。
日本語が複数の場合は、そのままタブ区切りで並べてください。
list.txt
apple(タブ)リンゴ(タブ)林檎
grape(タブ)ぶどう(タブ)葡萄
Perlスクリプトを実行すると、
ipoddicというディレクトリに英単語のイニシャルごとに分割保存しますので、後述のindex.txtと一緒にiPodのNotesフォルダにコピーしてください。
動作未検証です。
#!/usr/bin/perl
use strict('vars');
my $all;
my %db;
open(FP, "list.txt");
if(FP){
@all=<FP>;
close FP;
}else{
print "Open Error\n";
exit;
}
{
my $d;
foreach my $i(a..z){
opendir(DIR, "ipoddic/$i");
while($d=readdir(DIR)){
next if($d=~/^\./);
unlink "ipoddic/$i/$d";
}
close DIR;
}
}
$prev='';
$this='';
$next='';
my %initials;
foreach(@all){
if($_ eq ''){next;}
my ($key, $line)=split("\t", $_, 2);
$initial=substr($key, 0,1);
$line=~s/\t/\n/g;
if(defined $initials[$initial}){
open(FT, ">>", "ipoddic/$initial/".$key.".txt");
print FT $key."\n".$line;
}else{
$initials{$initial} = "$initial";
open(FT, ">", "ipoddic/$initial/".$key.".txt");
print FT "<title>ipod dic ... $initial</title>\n";
print FT "<a href=\"index.txt\">index</a> >> $initial."\n";
print FT $key."\n".$line;
}
close FT;
}
exit();
テキストエディタで以下のテキストファイルを作成し、
ipoddic/index.txt に保存してください。
<title>ipod dictionary</title>
ipod dictionary
<a href="a.txt">a</a>
<a href="b.txt">b</a>
<a href="c.txt">c</a>
<a href="d.txt">d</a>
<a href="e.txt">e</a>
<a href="f.txt">f</a>
<a href="g.txt">g</a>
<a href="h.txt">h</a>
<a href="i.txt">i</a>
<a href="j.txt">j</a>
<a href="k.txt">k</a>
<a href="l.txt">l</a>
<a href="m.txt">m</a>
<a href="n.txt">n</a>
<a href="o.txt">o</a>
<a href="p.txt">p</a>
<a href="q.txt">q</a>
<a href="r.txt">r</a>
<a href="s.txt">s</a>
<a href="t.txt">t</a>
<a href="u.txt">u</a>
<a href="v.txt">v</a>
<a href="w.txt">w</a>
<a href="x.txt">x</a>
<a href="y.txt">y</a>
<a href="z.txt">z</a>
この回答への補足
ありがとうございました。
動かしてみました
(環境はActivePerl-5.10.0.1004-MSWin32-x86-287188、 Windows Vistaです)
>Perl pro.p
Global symbol "@all" requires explicit package name at pro.p line8.
Global symbol "$prev" requires explicit package name at pro.p line26
syntax error at pro.p line 40, near "}"
上記のようなエラーが出てきました。
何かパッケージなどが必要なのでしょうか?
No.3
- 回答日時:
拡張子.txtで、<title>と<a>しか使えない簡単なHTMLです。
テキストだけなら、以下のような感じのテキストファイルを用意すれば、単語帳になります。
index.txt
<title>単語帳</title>
<a href="a.txt">aから始まる単語</a>
<a href="b.txt">bから始まる単語</a>
a.txt
<title>a行</title>
<a href="apple.txt">apple</a>
-------
<a href="index.txt">戻る</a>
apple.txt
<title>apple</title>
英語:apple
日本語:りんご
-------
<a href="a.txt">戻る</a>
・1つのファイルが最大4kbの制限があり、最大1000個の制限があります。
・iPodに保存された音楽をならすこともできます。
方法は忘れましたが、たしかhref=""にファイルを指定するだけで良かったと思います
なお、この作り方は第4世代iPod(画像表示不可)での方法です。
今のiPodなら画像表示もできるかもしれませんが、その方法は知りません。
iPod Touchなどで同じ作り方ができるかどうかは試していません。また、調べていません。
フリーの英和辞典のデータを利用して、英和辞書代わりになる物を作ろうと思ったのですが、
最大1000個という制限にあわせると非常に読みづらくなったという理由により、作るのを途中でやめました。
自分で作るより、単語帳ソフトの購入をお勧めします。
参考URL:http://support.apple.com/kb/HT2234?viewlocale=ja …
No.2
- 回答日時:
作りました! (w
http://www.amazon.co.jp/dp/B000PC1MGE
iPodで英語学習を補助する為のソフトは他にも何種類か出ています。
http://www.amazon.co.jp/dp/B000L425CG
http://www.amazon.co.jp/dp/B000H1QZ7E
http://www.amazon.co.jp/dp/B000FTD134
No.1
- 回答日時:
作るのは簡単ですが、それをどーやってあなたに伝えるんですか?
それをどーやってiPodで動かすんですか?
そっちのほーが難しいですよ(^_^;
りんご?
小学校のお受験ですか?(^_^;
なんの試験なんだろー?
この回答への補足
弁理士を受けようと思うのですが、非常に覚えることが多く、仕事もしているため、
どこでも見れる単語帳を使用したほうがいいかと思いまして。
失礼しました。
jpgとpngファイルをそれぞれピクチャにおいてそれをiPodのピクチャのディレクトリに入れてipodのピクチャーをスクロールすることで単語帳になるのかと思いました。
失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル中の記述文字の一括置...
-
ドットを含まないファイルの表示
-
ファイル操作
-
VBAでCSVファイルの特定行を書...
-
csvファイルの横方向への改行に...
-
fgets で値が取得できない
-
VBAでCSVファイルを途中行まで...
-
window.open でのファイル指定方法
-
python renameについて
-
sprintfで10進数を桁数指定で16...
-
perlで、後ろの行を読んで、前...
-
コマンドライン引数で正規表現...
-
DOSコマンドで、標準出力を出力...
-
巨大ファイルの行をを逆順に並...
-
ハッシュにファイルハンドル
-
log2の「正確な」計算方法
-
awkスクリプトでダブルクォーテ...
-
【Access2003】VBAでタブ区切り...
-
データファイルをプロットする(...
-
unixでのファイルロックの方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名を複数個配列で確保...
-
テキストファイルの各行を配列...
-
「パスが見つかりません」とい...
-
ifstream/ofstream について
-
ファイルの内容をスカラー変数...
-
Fortranで1行飛ばして読み込む方法
-
perlで先頭の数値をみて昇順に...
-
特定のデータを更新する
-
Visual Basicを使って三平方の...
-
system関数と引数について
-
タイピング文字の一番後ろがお...
-
[perl] もっとシンプルに改良、...
-
VC++でperlプログラムを動かすには
-
shellのコマンド deffの差分の...
-
資格試験に向け、ipodで見れる...
-
ファイルから検索条件を読み込...
-
Pythonでegrep機能をつかいたい
-
バッチファイルでテキストファ...
-
FORTRANのプログラミング
-
perlでIEのクッキーを削除したい
おすすめ情報