約 2,243,584 件
https://w.atwiki.jp/teitoku_bbs/pages/1604.html
992 :名無しさん:2013/03/17(日) 01 37 48 短編ネタで 転載自由 プログラマの憂鬱 ~国際コード~ それは地下深くにある帝国軍情報技術研究所 しかし軍事機密のため、表に出ている名前は「北海道酪農試験場」 そして研究員は表向き近所の酪農家。広大な放牧地、自由に歩き回る牛の足元で最先端の研究は行われている。 彼らは日本の裏方を支える、次世代インフラの研究開発を行っていた。 ミサイル誘導装置からウォッシュレット設計まで何でもこなす技術者集団である。 増える日本の領土と、それに伴い爆発的に増える合法、非合法問わずの情報の増加。 それらを処理するにのタイプライターや紙の索引はもはや各省庁を敗北寸前まで追いやっていた。 史上でのBBSやインターネットの利便性、そしてワープロの使い勝手を知る夢幻会からは 連日矢のように開発の催促が行われていた。それほどまでに皆切羽詰まっていたのである。 無線のデジタル化、周波数ホッピング、史実の知識を使ったターボコードでのエラー訂正、 音声や画像圧縮理論、そしてそれらを用いた高速通信網の構築。 これらの内、一部の技術、主にシリコンウエハー上に構築されたRISC系列マイクロプロセッサを使い、 装置の小型化や数十キロバイトのプログラムの構築や実行などができる、後の組み込み系と呼ばれるチップの開発はすでに終わっていた。 碌な書き込みようの機器も無く、アセンブラと呼ぶのもおこがましい、紙に書かれたパンチカードの規則に沿って リレーを動かし、メモリ上にプログラムを一バイトずつ書き込んでいく装置だが、 制御システムの開発が終わるまでは、これだけが頼りであった。 「こんなROMライターで大丈夫か?」 「大丈夫だ、とりあえずこれで最低限のキャラクタROMと、入力制御用のドライバ、あとはメモリエディタさえ書けば…」 そして数日、出来上がったキャラクタロムは白黒2色8*8のサイズのビットマップ、文字は合計16文字、数字とa-fまでの英語の文字のみである。 キーボード付きのメモリ、リレー駆動の画面に表示されるのは32文字。メモリは65535バイト(うち最初の3500バイト程度はシステムが占めた) hexの表示ができるキーボード付きメモリ、画面があり、IRQに直接結びついている2chテープレコーダーはLチャンネルは テープの伸び補正のためにクロック、Rチャンネルはパラレルーシリアル変換用ICを通じてメモリの内容を書き出すか読み込むだけである、 間違いないパソコンの雛形が完成していた。 「形にはなったなぁ」 そこにいた研究者の多くはある程度出来栄えに満足していた。 なにしろトランジスタから一足先にLSIを作ろうとしたのである。 「ウエハー切り出して、レンズ磨いて調整して、エッチングして、レイヤー重ねてみたらずれすぎてたりしたからな…」 当時の日本の工業技術で、均一にシリコンウエハーを切り出して、クリーンルームの中で作業するのは至難の業であった。 98%不良率という恐ろしい状態、しかも計算したら金より高い生産費用となれば、生産技術の模索から始めなければならなかったのである。 最終的には、真空チェインバーの中で、気化したシリコンを鏡面に磨いた土台の表面に蓄積し、史上の知識を元に作られた青に近い発光ダイオードの光を使い 短い波長でエッジングし、それでも100nm程度の幅でのゲート回路の構築がやっとであったのは実に皮肉だ。 ボンディングワイヤーは職人の手による一品モノである。 「後はとりあえず簡単なエディタを作れば、最低限の開発環境ができあがるな」 「ネットキタコレ!!」 「そのまえにTCPスタック構築だろ、JK」 盛り上がる研究員たちだが、彼らは気づいていない、いや、目を逸らしているのであろう。 刻印の無いキーボード、そして32文字(実質16バイト)しか表示できない画面。 それを使い、HEXの直打ちで平仮名、カタカナなどのフォントの作成、表示アルゴリズムの打ち込み、そして ファイルシステムの構築とモデムとの通信制御を書かなければいけない事を… つづけ)
https://w.atwiki.jp/inouework/pages/17.html
Common ---- ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 共通定数 ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Const OpenTextFile Option Const FILE_R = 1 Const FILE_W = 2 Const FILE_A = 8 ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 共通変数 ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dim Debug Dim MyINI Dim MyWin Dim PGBIE IE オブジェクト Dim m_lngBarNow Dim m_lngBarMax ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 共通関数 ________________________________________________________________ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------------------------------------------------------------- Name :StartDebugLog Detail:デバッグログ初期設定 Arg(0):ファイル名 ---------------------------------------------------------------- Sub StartDebugLogHtml( _ ByVal vProgName _ ) Set Debug = New CLog Debug.Stack = True Call Debug.SetFileHtml( vProgName) End Sub ---------------------------------------------------------------- Name :StartDebugLog Detail:デバッグログ初期設定 Arg(0):ファイル名 ---------------------------------------------------------------- Sub StartDebugLogWsf( _ ByVal vProgName _ ) Set Debug = New CLog Call Debug.SetFileWsf( vProgName) End Sub ---------------------------------------------------------------- Name :StartMyINIFile Detail:Iniファイルアクセス Arg(0):ファイル名 ---------------------------------------------------------------- Sub StartMyINIFileHtml( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileHtml( vProgName) End Sub ---------------------------------------------------------------- Name :StartMyINIFile Detail:Iniファイルアクセス Arg(0):ファイル名 ---------------------------------------------------------------- Sub StartMyINIFileWsf( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileWsf( vProgName) End Sub Sub SetWindow( _ ByRef vWindow _ ) Set MyWin = vWindow End Sub Sub MsgStatusBer( _ ByVal vstrMsg _ ) MyWin.status = vstrMsg End Sub ---------------------------------------------------------------- Name :SFSO Detail:ファイルシステムオブジェクトを取得する Return:ファイルシステムオブジェクト ---------------------------------------------------------------- Function SFSO Set SFSO = CreateObject( "Scripting.FileSystemObject") End Function Function getRunFolderPath() Set objShell = CreateObject("Wscript.Shell") strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(strPath) getRunFolderPath = objFSO.GetParentFolderName(objFile) End Function Function TimeDiff(ByVal a, ByVal b) Dim x If b = a Then x = b - a Else x = (86400 - a) + b 真夜中の0時を跨いだときの対処 End If TimeDiff = x End Function Sub ComCMD_Run( _ ByVal vstrPaht, _ ByVal vstrArg _ ) Const vbHide = 0 ウィンドウを非表示 Const vbNormalFocus = 1 通常のウィンドウ、かつ最前面のウィンドウ Const vbMinimizedFocus = 2 最小化、かつ最前面のウィンドウ Const vbMaximizedFocus = 3 最大化、かつ最前面のウィンドウ Const vbNormalNoFocus = 4 通常のウィンドウ、ただし、最前面にはならない Const vbMinimizedNoFocus = 6 最小化、ただし、最前面にはならない Dim objWShell Set objWShell = CreateObject("WScript.Shell") objWShell.Run """" vstrPaht """ " vstrArg, vbMinimizedFocus, False Set objWShell = Nothing Debug.Print "1" End Sub Sub ComCMD_Progress_Create() Set PGBIE = CreateObject("InternetExplorer.Application") PGBIE.Width = 180 PGBIE.Height = 100 PGBIE.Left = 0 PGBIE.Top = screen.height - 150 PGBIE.AddressBar = false PGBIE.MenuBar = false PGBIE.ToolBar = false PGBIE.Resizable = false PGBIE.Visible = true End Sub Sub ComCMD_Progress_Close() If Not PGBIE is Nothing Then PGBIE.Quit Set PGBIE = Nothing End If End Sub Sub ComCMD_Progress_Msg( _ ByVal vstrMsg _ ) PGBIE.StatusText = vstrMsg End Sub Sub ComCMD_Progress_Start( _ ByVal viniMax _ ) m_lngBarNow = 0 m_lngBarMax = viniMax PGBIE.StatusText = "(" m_lngBarNow "%)" _ String(lngLoop, "■") String(10 - lngLoop, "□") End Sub Sub ComCMD_Progress_Add() Dim lngNow m_lngBarNow = m_lngBarNow + 1 lngNow = Fix( m_lngBarNow / (m_lngBarMax / 100)) PGBIE.StatusText = "(" lngNow "%)" _ String(m_lngBarNow / (m_lngBarMax / 10), "■") String(10 - m_lngBarNow / (m_lngBarMax / 10), "□") _ " " m_lngBarNow " / " m_lngBarMax If m_lngBarNow / (m_lngBarMax / 10) = 10 Then PGBIE.Quit Set PGBIE = Nothing End If End Sub ********************************************************************* 日付型フォーマット関数 ver 1.0 00.10.19 引数(1):[Date] フォーマットしたい日付型 (2):[String] フォーマット型(ページ後方に記載) 戻値 :[String] フォーマットされた文字列 ********************************************************************* Function FormatTime(datTime,strFormat) Dim tmpFormat Dim cntType Dim FormatType FormatType = Split("YYYY/YY/MM/M/DD/D/HH24/H24/HH/H/II/I/SS/S/XX/ZZ","/") tmpFormat = Cstr(strFormat) For cntType = 0 To Ubound(FormatType) If InStr(tmpFormat,FormatType(cntType)) 0 Then Select Case FormatType(cntType) Case "HH24" tmpFormat = Replace(tmpFormat,"HH24",Right(CStr(Hour(datTime) + 100),2)) Case "H24" tmpFormat = Replace(tmpFormat,"H24",CStr(Hour(datTime))) Case "HH" tmpFormat = Replace(tmpFormat,"HH",Right(CStr((Hour(datTime) Mod 12) + 100),2)) Case "H" tmpFormat = Replace(tmpFormat,"H",CStr(Hour(datTime) Mod 12)) Case "II" tmpFormat = Replace(tmpFormat,"II",Right(CStr(Minute(datTime) + 100),2)) Case "I" tmpFormat = Replace(tmpFormat,"I",CStr(Minute(datTime))) Case "SS" tmpFormat = Replace(tmpFormat,"SS",Right(CStr(Second(datTime) + 100),2)) Case "S" tmpFormat = Replace(tmpFormat,"S", CStr(Second(datTime))) Case "YYYY" If Len(CStr(Year(datTime))) = 2 Then If Year(datTime) 30 Then tmpFormat = Replace(tmpFormat,"YYYY","19" CStr(Year(datTime))) Else tmpFormat = Replace(tmpFormat,"YYYY","20" CStr(Year(datTime))) End If Else tmpFormat = Replace(tmpFormat,"YYYY",CStr(Year(datTime))) End If Case "YY" tmpFormat = Replace(tmpFormat,"YY",Right(CStr(Year(datTime)),2)) Case "MM" tmpFormat = Replace(tmpFormat,"MM",Right(CStr(Month(datTime) + 100),2)) Case "M" tmpFormat = Replace(tmpFormat,"M",CStr(Month(datTime))) Case "DD" tmpFormat = Replace(tmpFormat,"DD",Right(CStr(Day(datTime) + 100),2)) Case "D" tmpFormat = Replace(tmpFormat,"D",CStr(Day(datTime))) Case "XX" If Hour(datTime) 12 Then tmpFormat = Replace(tmpFormat,"XX","午前") Else tmpFormat = Replace(tmpFormat,"XX","午後") End If Case "ZZ" If Hour(datTime) 12 Then tmpFormat = Replace(tmpFormat,"ZZ","AM") Else tmpFormat = Replace(tmpFormat,"ZZ","PM") End If End Select End If Next FormatTime = CStr(tmpFormat) End Function ********************************************************************* フォーマット指定できる型について(日付型からの変換) YYYY西暦4桁 YY西暦2桁 MM月2桁 M月1桁 DD日2桁 D日1桁 HH24時2桁(24時間) H24時1桁(24時間) HH時2桁(12時間) H時1桁(12時間) II分2桁 I分1桁 SS秒2桁 S秒1桁 XX午前/午後 ZZAM/PM *********************************************************************
https://w.atwiki.jp/darui_program/pages/103.html
企業に入社前にやっておくと良い技術的なことを書いていこうと思います。 私の主観が入っているので間違っている部分もあると思いますが、現場にいて私が感じたことということを念頭において これからの学習の参考にしてください。 プログラム言語 C言語 やはり一番仕事の話が多いです。勉強をしておけば、ここ数年間は間違いなく食べていくことが出来るかと C++ たまに仕事の話を聞きます。 オブジェクト指向にまだまだ抵抗があるのか……ですがC言語で擬似的にオブジェクト指向を導入したりしているので、これからに期待の言語です。 C# 話にあまり出てきません。 まだ詳しい使い方に慣れてない方が多い気がします。 Java C++と同じか、それ以上に仕事の話が出ていると感じます。 ネットワークだけではなく、アプリケーションに組み込み系などと幅広い分野で流行りを感じる言語です。 ただ、個人的な観念でC++の方が好きというプログラマが多いと感じます。 Ruby マーチン・ファウラーが素晴らしいと推奨してから幾月が経ちますが、未だに話題に上りませんね。 ただ、IT系の勉強会で勉強をする機会が増えていますので、これから伸びるでしょう……が 最低でも後数年は経たないと主要言語にはならないかと思います。 Perl あまり話は聞きませんがとある企業様では話を聞いたことがあったりします。 FORTRAN こちらもあまり話は聞きませんが、特殊な計算をPCにさせる場合は使う言語ですので 数学系のプログラマになりたい方は必要かと思います。 データベース かなり重要になってくる技術です。 小型な機械にも用量の大きいメモリが搭載されてきている時代なので、今までデータベースを乗せることが 出来なかった機械にも乗せて管理するという気風が出てきています。 勉強しておいて損はないかと 通信 通信関係も現在注目されている技術です。 携帯ゲーム機にも通信関係の処理がされている昨今、データベースと同じく小型な機器に通信技術を乗せることが多くなってきます。 通信方式に関しては、TCP/IPなどの一般的な方法から無線などの特別な方式などと独自の通信回路の場合もありますので 通信に関する基礎を学習しておくと良いかと思います。 ネットワーク 通信と違わないのですが、ネットワークエンジニア向けとしてネットワークを書きます。 新人としてネットワークエンジニアになる場合は、ルータやHUBを使ってネットワークの 構築を行ったことがあるかが、焦点となります。 どのような機器を使って構築したのかをしっかりと言えることが第一関門です。 サーバ 新人で入るとするならば、サーバの構築を行っておくと良いでしょう。 もちろん構築したサーバがどのような種類のサーバかしっかりと言えなければ 問題になってしまいます。 それとサーバを構築したならば、保守作業もしておくと良いかと 実際の業務では、最初はサーバの保守がメインになるので 会社でサーバを構築しただけでしょっと怒られたという人もいるようですしzzz UNIX 開発環境でUNIX系を使っている会社もかなりありますので勉強をしておくと良いです。 一通りのコマンドが使えれば最初は問題ないかと。 Linuxなどでネットワークをいじった事があるとさらりと言えれば格好良いですね。 さらりというと、そのままさらりと流されてしまうこともありますがw 電気 IT系ですと、そこまで必要にはなってきませんがET系になると必須知識になります。 オシロスコープで電気的に信号がきているとかロジックアナライザーでテストが出来るなど そのようなことが出来ればテスト関係の業務にすぐにつくことができると思います。 上記の機器は個人所有は難しいので、やったことがない方は回路図を読むことが出来ることや 最低でもオームの法則やキルヒホッフの法則が理解できることが必要となります。 …ちなみに、オームやキルヒホッフについて知りたい方がいますかね? いるのでしたら、新しくページを作ったりするかも 2008/12/13現在の必要そうな知識
https://w.atwiki.jp/inouework/pages/9.html
@wikiにはいくつかの便利なプラグインがあります。 アーカイブ コメント ニュース 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/ce00582/pages/49.html
このプログラムは、テストプログラムです。 01 将来推計人口 02 厚生年金加入率 03 厚生年金被保険者 04 支払保険料 05 女子新規裁定者 06 男子新規裁定者 07 97年老齢年金受給者 08 老齢年金受給者 09 女子通算年金新規裁定者 10 男子通算年金新規裁定者 11 97年通算年金受給者 12 通算年金受給者 13 女子加入年数 14 男子加入年数 15 老齢年金受給額 16 女子通算年金加入年数 17 男子通算年金加入年数 18 通算年金受給額 19 基礎年金受給者 20 基礎年金給付費 21 厚生年金3号被保険者 22 共済年金被保険者 23 共済年金3号被保険者 24 国民年金被保険者 25 基礎年金拠出金 26 遺族年金受給者 27 遺族年金受給額 28 支出合計 29 給付現価 30 世代会計 31 マクロスライド 32 世代支払保険料 33 世代老齢年金 34 世代通算年金 35 世代遺族年金 データ加工
https://w.atwiki.jp/inouework/pages/24.html
【 テーブルコメントを参照する 】 SELECT TABLE_NAME, TABLE_TYPE, COMMENTS FROM USER_TAB_COMMENTS; 【 テーブルコメントを追加/変更する 】 COMMENT ON TABLE [テーブル名] IS [コメント] 【 カラムコメントを参照する 】 SELECT TABLE_NAME, COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS; 【 カラムコメントを追加/変更する 】 COMMENT ON COLUMN [テーブル名].[カラム名] IS [コメント] 【 テーブル制約を追加する 】 ALTER TABLE [テーブル名] ADD [制約名] FOREIGN KEY ([制約対象カラム名]) REFERENCES [参照テーブル名] ([制約対象カラム名]); 【 テーブル制約を削除する 】 ALTER TABLE [テーブル名] DROP CONSTRAINT [制約名]; 【 スキーマーをエクスポート 】 exp [USER]/[PASSWORD]@[TNS] file=C \exp.dmp log=c \exp.log (オプション)統計データをエクスポートしたくない※統計の警告がでる場合 STATISTICS=none 【 スキーマーをインポート 】 imp [USER]/[PASSWORD]@[TNS] file=C \imp.dmp log=c \imp.log (オプション)テーブル定義のみをインポートしたい場合 rows=no (オプション)データのみをインポートしたい場合(テーブル定義はすでに存在している) ignore=y
https://w.atwiki.jp/kotodamadiary/pages/50.html
「陰気なプログラマー」の詳細 画像 属性 やみ・まじめ 説明 プログラムは思った通りではなく書いた通りに動くんだよ? 似たようなことだまっち 陽キャなプログラマー 白髭なプログラマー 陰気なプログラマー(闇深)
https://w.atwiki.jp/yumenikki_g/pages/33.html
【更新停止!!】 【プログラマー】 内容:ツクール2000を使用してゲームを作成 メインシステム担当 部屋参加 繋ぎ部屋製作 ミニゲーム製作 図書館の本製作 ◆メインシステム担当 内容:エフェクト等の全体に影響するメインシステムの作成 新エフェクトの作成 既存のシステム、効果の洗練 オープニング、エンディング、コンソールの作成 ◆部屋参加 内容:割り当て内で小規模マップの製作 MAPは1人10枚使用可能。たとえ1枚しか使用しない場合でも空MAPを作っておく 自分のMAPから現実部屋に移動する時には、必ず「ID0002 夢→現実」 もしくは「ID0005 夢→現実(ビックリ起き」のコモンイベントを挟む 自分のMAPから扉部屋ないし繋ぎ部屋に移動する時には、必ず「ID0003 各部屋→扉、繋ぎ部屋」のコモンイベントを挟む 戦闘はなし。また戦闘シーンも使用不可 ゲームオーバーやタイトルに戻るイベントは禁止 パラメーターLVの値はいじらない お金、HP等のパラメーターは雰囲気を壊さない程度に増減可能 エフェクトや繋ぎ部屋などの共通の仕様が変わる場合がある その時はスレやまとめなどで改変した担当者が告知するはず 基本システムに参加は出来ないけど、小規模な世界を作りたい人向け ◆繋ぎ部屋製作 内容:繋ぎ部屋の製作 MAPは一部屋につき1枚 移動イベントを置く場合は、必ず「ID0003 各部屋→扉、繋ぎ部屋」のコモンイベントを挟む 戦闘はなし。また戦闘シーンも使用不可 ゲームオーバーやタイトルに戻るイベントは禁止 他の部屋から出入りがある為、部屋参加に比べて製作の自由度がかなり制限される 使用可能な変数 0001~0010、スイッチ 0001~0010、コモンイベント0071~0096 ※部屋を出ると↑の変数とスイッチはリセットされます。 気軽に参加したい方、なんかちょっとしたマップを一つ作りたい人向け 繋ぎ部屋概要 繋ぎ部屋は、どの製作者でもリンクイベントを設置、編集が可能 (ただしリンクイベントの移動先は自分が担当したMAPへのリンクのみ) 繋ぎ部屋から繋ぎ部屋へのリンクも設置可能 ◆ミニゲーム製作 内容:現実部屋で遊べるゲームを作る MAPは1人10枚使用可能。たとえ1枚しか使用しない場合でも空MAPを作っておく 自分のMAPから現実部屋に戻る時には、必ず「夢→現実」のコモンイベントを挟む ゲームオーバーやタイトルに戻るイベントは禁止 パラメーターLVの値はいじらない お金、HP等のパラメーターは雰囲気を壊さない程度に増減可能 その時はスレやまとめなどで改変した担当者が告知するはず 夢の世界で、カセットを入手すればプレイ出来るという演出も可能 プログラマー共通事項 ゲームはリレー形式で作成 スレの流れを見て走っている人がいなければ、宣言して走ってもおk。 すでに走っている人がいれば、次制作入りたいって予約しとけばおk。 走る場合はコテかトリップつける。 部屋名はハンドルネームでの参加。 更新した内容はchangelogというテキストに書き込むこと。 完成したら「ゆめ2っき」フォルダを圧縮してうp 容量削減のため実行ファイルRPG_RT.exeは抜いておくこと。 サイズがオーバーし専ロダにあげられなくなった場合。 分割してうpするか、 パスをかけて他所に上げる。共通パス[yume] ★リレー走者の作成期間は3日間★ ※但し、リレーする人数が少ない場合は例外とし 3日以上続投しても何ら問題はありません その時動ける人で、どんどん進めてください ★以下は参加人数が増えてリレーが回るようになった時★ 3日間たっても、最新版をうp出来ない場合は次回に持ち越し 何もうp出来ずに何回か落とすと除名される場合があるかも 自分の番がくるまで、ある程度ローカルで作成しておくと作業がラク MAPの.lmuファイルを回ってきた元ファイルにコピペするだけですむ 但しRPG_RT.ldbファイルに含まれるデータベースの情報 コモンイベントや、変数名、スイッチ名、地形ID、素材等の設定は、自分の番が回ってきたときに再設定する必要がある 注意事項 製作前に個人が編集できる領域を良く確認。 致命的なバグがある場合を除き、基本システムや他人のMAPや変数を編集しない 素材に関して 独自の画像や、BGM等の素材を使用する人は、最新ファイルにデータを追加をしておくのを忘れずに フリー素材等の使用により著作権の表示が必要な場合は、同梱のcopyright.txtに記入 素材のファイル名に関して 解凍時の文字化けを回避するため、ファイル名は半角英数字縛り 例えばハンドル名"abcde"という参加者の場合 半角英数字で、abcde_CharSet_01.png、等のように頭にハンドル名をつける
https://w.atwiki.jp/inouework/pages/23.html
Link_Invalidity ダウンロードは一番下の添付より行ってください // ==UserScript== // @name Link_Invalidity // @namespace Link_Invalidity // @include * // ==/UserScript== var maHref = new Array(); var mbSwitch = false; function a_href_chenge(){ if( mbSwitch == false){ a_href_off(); mbSwitch = true; }else{ a_href_on(); mbSwitch = false; } } /** * リンクエレメント無効 * 全リンクのナビゲーション値を保存 * リンクタグ(「A」)のオブジェクトを全取得し * ナビゲーション属性(「href」)を削除する */ function a_href_off(){ // リンクパスを保存 gethref(); var aobj = document.getElementsByTagName( A ); for( i = 0; aobj.length i; i++){ aobj[i].removeAttribute( href ); } //document.forms[0].elements[0].disabled = true; //document.forms[0].elements[1].disabled = false; } /** * リンクエレメント有効 * リンクタグ(「A」)のオブジェクトを全取得し * ナビゲーション属性(「href」)を設定する * 値は保存しておいた値を使用する */ function a_href_on(){ var aobj = document.getElementsByTagName( A ); for( i = 0; aobj.length i; i++){ aobj[i].setAttribute( href , maHref[i]); } //document.forms[0].elements[0].disabled = false; //document.forms[0].elements[1].disabled = true; } /** * 全リンクエレメントのナビゲーション値を一時保存 * リンクタグ(「A」)のオブジェクトを全取得し * ナビゲーション属性(「href」)の値を配列に設定する */ function gethref(){ if( maHref.length = 0){ var aobj = document.getElementsByTagName( A ); for( i = 0; aobj.length i; i++){ maHref[i] = aobj[i].getAttribute( href ); } } } /** * documentに対するkeydownイベントの処理設定をする。 * 第1引数でキーを指定し、 * 第2引数で指定されたキーが押し下げられたときに実行する関数を指定する。 * ただし、INPUT要素、TEXTAREA要素に対するキーイベントの場合は何もしない。 */ var keybind = ( function(){ function add ( phrase, func){ if( phrase instanceof Array){ phrase.forEach( function( p){ add( p, func); }); } else { document.addEventListener( "keydown", function( event){ var tagName = event.target.tagName; if( phrase == code( event) !tagName.match(/(INPUT|TEXTAREA)/i)){ func(); event.preventDefault(); event.stopPropagation(); } }, true); } } function code( event){ var code = []; if( event.shiftKey){ code.push("SHIFT"); } if( event.ctrlKey){ code.push("CTRL"); } if( event.altKey || event.metaKey){ code.push("ALT"); } var vkey = kc2char( event.keyCode); if( vkey != ""){ code.push( kc2char( event.keyCode)); } GM_log( code.join( "-")); return code.join( "-"); function kc2char( kc){ function between( a, b){ return a = kc kc = b; } var _32_40 = "space pageup pagedown end home left up right down".split(" "); var kt = { 8 "backspace", 9 "tab" , 13 "enter", 16 "", 17 "", 27 "escape", 46 "delete", 59 " ", 107 ";", 109 "-", 188 ",", 190 ".", 191 "/", 192 "@", 219 "[", 220 "\\", 221 "]", 222 "^", 226 "\\", }; //16 "shift", //17 "control", return ( between( 65, 90) ? String.fromCharCode( kc + 32) // a-z between( 48, 57) ? String.fromCharCode( kc) // 0-9 between( 96, 105) ? String.fromCharCode( kc - 48) // num 0-9 between( 32, 40) ? _32_40[kc-32] kt.hasOwnProperty( kc) ? kt[kc] kc); } } return add; })(); keybind( "SHIFT-CTRL", a_href_chenge);
https://w.atwiki.jp/inouework/pages/14.html
VBScript クラス Common