2010年3月2日火曜日

インターネットとGoogle

#! /usr/local/bin/perl # 設定 $FILE = './dat/chat.dat'; # 発言保存ファイル $INFILE = './dat/chatin.dat'; # 参加者保存ファイル $MAX = 100; # 保存件数 $NAMEMAX = 10; # 名前文字数制限(全角) $TEXTMAX = 50; # 発言文字数制限(全角) $REFRESH = 50; # 再読み込み時間(秒) $DELETE = 10 * 60; # 参加者自動削除時間(秒) $time = time; # 日時取得 loadForm(); # フォームデータ取り込み if($FORM{'frame'} eq "input") { frameInput(); # 入力用フレームを表示 } elsif($FORM{'frame'} eq "view") { frameView(); # 表示用フレームを表示 } else { frameSet(); # フレームセット } exit; #================================================ フレームセット sub frameSet { print <<" END"; Content-type: text/html; charset=Shift_JIS チャット END } #================================================ 入力用フレームを表示 sub frameInput { my ($i); if($FORM{'mode'}) { loadData(); # 参加者・発言データ読み込み } print <<" END"; Content-type: text/html; charset=Shift_JIS チャット END if($FORM{'name'} eq "" or $FORM{'mode'} eq "out" or $error) { # 名前入力ページ表示 print <<" END";
名前($NAMEMAX文字以内):
END } else { # 発言入力ページ表示 print <<" END";
$FORM{'name'}:
更新(Enter)
END } if($error) { # エラーメッセージを表示 print qq(※$error\n); } print <<" END"; END } #================================================ 表示用フレームを表示 sub frameView { my ($i); loadData(); # 参加者・発言データ読み込み print <<" END"; # HTML出力 Content-type: text/html; charset=Shift_JIS チャット
END printf qq(参加者: \n); for($i = 0 ; $i < @IN ; $i++) { # 参加者データ表示 my ($tm, $name) = split(/\t/, $IN[$i]); if($tm + $DELETE >= $time) { # 自動削除時間を経過した参加者以外を表示 print qq($name ); } } print <<" END";

END for($i = 0 ; $i < @DATA ; $i++) { # 発言データ表示 my ($tm, $name, $text) = split(/\t/, $DATA[$i]); my ($sec, $min, $hour, $date, $mon, $year, $day) = localtime($tm); print qq(); print qq(); print qq(), ++$mon, $date, $hour, $min; print qq(); } print <<" END";
$name≫$text ); printf qq([%02d/%02d %02d:%02d]
END } #================================================ 発言データ・参加者データ読み込み sub loadData { my ($i); open(FILE, "<$FILE"); # 発言データ読み込み eval{ flock(FILE, 1) }; @DATA = ; close FILE; open(FILE, "<$INFILE"); # 参加者データ読み込み eval{ flock(FILE, 1) }; @IN = ; close FILE; if($FORM{'mode'}) { if($FORM{'mode'} eq 'in') { # 参加 if($FORM{'name'} and length($FORM{'name'}) <= $NAMEMAX * 2) { # 名前入力がある場合 if($FORM{'name'} eq "管理人") { # 使用禁止の名前をチェック $error = "『$FORM{'name'}』では参加できません。" . "別の名前で参加してください。"; return; } for($i = 0 ; $i < @IN ; $i++) { # 名前の重複チェック my ($tm, $name) = split(/\t/, $IN[$i]); if($name eq $FORM{'name'}) { $error = "『$FORM{'name'}』さんは現在参加中です。" . "別の名前で参加してください。"; return; } } push @IN, "$time\t$FORM{'name'}\t\n"; unshift @DATA, "$time\t管理人\t『$FORM{'name'}』さんが参加されます。\t\n"; } else { # 空欄の場合 戻る $error = "名前を入力してください。"; return; } } elsif($FORM{'mode'} eq 'out') { # 退出 for($i = 0 ; $i < @IN ; $i++) { my ($tm, $name) = split(/\t/, $IN[$i]); if($name eq $FORM{'name'}) { # 退出者データを探す splice @IN, $i, 1; # 参加者データから削除 unshift @DATA, "$time\t管理人\t『$FORM{'name'}』さんが退出しました。\t\n"; last; } } } elsif($FORM{'mode'} eq 'write') { # 発言 if($FORM{'text'} and length($FORM{'text'}) <= $TEXTMAX * 2) { # 発言入力がある場合 if(@IN > 0) { for($i = 0 ; $i < @IN ; $i++) { my ($tm, $name) = split(/\t/, $IN[$i]); if($name eq $FORM{'name'}) { # 参加者データを探す $IN[$i] = "$time\t$FORM{'name'}\t\n"; # 参加者データ更新 unshift @DATA, "$time\t$FORM{'name'}\t$FORM{'text'}\t\n"; last; } } } } else { # 空欄の場合 戻る(ページ更新のみ) return; } } while(@DATA > $MAX) { # 保存件数以上のデータを削除 pop @DATA; } open(FILE, ">$FILE"); # 発言データ書き込み(保存) eval{ flock(FILE, 2) }; print FILE @DATA; close FILE; for($i = 0 ; $i < @IN ; $i++) { # 自動削除 my ($tm, $name) = split(/\t/, $IN[$i]); if($tm + $DELETE < $time) { # 自動削除時間経過の参加者を削除 splice @IN, $i, 1; $i--; } } open(FILE, ">$INFILE"); # 参加者データ書き込み(保存) eval{ flock(FILE, 2) }; print FILE @IN; close FILE; } } #================================================ フォームデータ取り込み sub loadForm { my ($query, $pair); if($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } foreach $pair (split(/&/, $query)) { my ($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg; $value =~ s/&/&/g; $value =~ s//>/g; $value =~ s/\s//g; $value =~ s/\x81\x40//g; $value =~ s/\x0D\x0A//g; $value =~ tr/\t//; $FORM{$key} = $value; } }  

メールフォーム

名前


メールアドレス


題名


本文


END } print <<>
END exit;
  
警告ダイアログにメッセージ
警告ダイアログにメッセージ
宛先


題名


本文


名前


メールアドレス


本文


var res = prompt("名前を入力してください。");document.write("こんにちは、"+res+"さん。");

メールの受信を希望しますか?それとも希望しませんか?

メールアドレス入力:

 

image
 



 
  検索オプション
  言語ツール




 
  検索オプション
  言語ツール

New! Google検索のしりとり機能で遊んでみる


広告掲載 - ビジネス ソリューション - Google について - Google.com in English

Google をホームページに設定する

©2010 - プライバシー




 
  検索オプション
  言語ツール

New! Google検索のしりとり機能で遊んでみる


広告掲載 - ビジネス ソリューション - Google について - Google.com in English

©2010 - プライバシー

 
無料アクセスカウンター 

この↑のものは、今日誰が何人このブログ

を見ているかに印です。

ず、何をするよりも、GOOGLEで検索して

みましょう

Google

次は、このページを検索してみましょう

その名は、Googleカスタム検索です。

 

Custom Search Control
ウェブ
 
 
 
 

ンターネットエクスプローラー8にしましょ

う。しかも、Google版です。IE8を利用でき

るのは、Windows2000・XP・Vistaです。

XP・2000でインストールする場合は、管理

者アカウントで、Vistaはどのアカウントでも

インストールに進むことができますが、管理

者アカウントでは、ユーザー制御画面で続

行、違うアカウントでは管理者パスワードを

入力します。Windows7は、元々IE8なの

で、※初期設定※にとんでください。

※やり方※

ここをクリックし[image[6].png]

クリックします。次に、

image

 同意してダウンロードをクリック。

image 

実行を押します。

image

少し待ちます。そして上の赤い線のこと

を実行します。

※初期設定※

まず、インターネットを開きます。

image

このマークを

ダブルクリック

しましょう。

まず、はじめに真ん中に、四角い画面

image

Windows Internet Explorer 8 のセット

アップが現れますので、次へをクリックしま

す。

image

はい、おすすめサイトを有効のします

チェックをゆけて、次へをクリック。

image

高速設定を利用するチェックをつけ、

検索プロバイダーがGoogleになっている

ことを確認し、完了をクリックして終わりま

す。

ぎは、Googleをホームページにしましょ

う。ここをクリックします。つぎに、この左のよ

imageうなボタンをクリッ

クします。次に、

次のページをホ

imageームペ

ージに

します

か?

言うも

のが出てくるので、この web ページだけを

ホーム ページに設定するimage を付け、

はいをクリック。この web ページをホーム

ページのタブに追加するは、複数のホーム

ページを利用するときに使用します。

次は、Googleのダウンロードできるものを

すべてダウンロードしたいと思います。このimage

左側の画像をクリックし

てください。

image

さぁ、インストールをしていないものにどんど

image をつけてインストールしてしまいましょ

う。ちなみにぼくは、この9つをインストール

しま

imageした。ほしいものにチェ

ックをつけ、 今すぐ

ウンロードをクリックします。その次に、利用

image規約を確認して、

意してダウンロード

クリックします。上の赤い線のことを実行しま

す。すると、ダウンロード(保存)が始まり、

インストール(実行)を自動的にします。

image

インストールが終わって、インストール済み

ソフトウェアをクリックすると、たくさんのイン

ストールしたソフトが入っていて、実行を押す

と、それが開きます。

image

imageimage

 開きました。インストールができない機種(2

00やME、98以下は下にチェックをつけて

みてください

チェックをつけてみたい方は、つけてみてください。  
     
   

後、このようなPCにはインストールしない方が

よいでしょう。

0 件のコメント:

コメントを投稿

いつもありがとうございます。パソコンでわからないことがあったら、どんどん疑問をコメントのところに書いて送ってください。待ってますよ❢