プチコンまとめWiki (初代/mkII)

Toukou/ログイン画面 の変更点

パンくずリスト


#title(投稿プログラム : ログイン画面)
#contents
/////////////////////////////////
// ←このように「//」で始まる行はコメントです。ページ本文には反映されません。
// ・投稿年月日は今日の日付を入力してください。
//   この日付は、将来的に投稿プログラムを年月日順に整理する際に使用されます。
// ・また、適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
//   タグをつけると、同じタグが付いたページを検索することができます。

2013年01月02日投稿
// 2012年01月02日更新
/ 投稿者 : BASIC-Ishida
/ &tag(投稿プログラム,実用ツール,QRコード,mkII専用);

//------------------------------------------------------------------------------
// ここに概要とか書きます。
// ・** や *** で始まる行は子見出しとなります。* の数で深さが決まります。
// ・[#英数字] はページ内リンクに使用されるアンカーですが、
//   書かなかったり、消したりしてもかまいません。ない場合はランダムな文字列が自動付与されます。

* 概要(Ver2) [#e4614583]
パソコンのログイン画面を再現しました。~
起動すると設定かログインか選ぶ画面が表示されます。~
MEMを暗号化するのに[[AmakoSoftさんの暗号くん(Ver2.2):http://wiki.hosiken.jp/petc/?Toukou%2F%B0%C5%B9%E6%A4%AF%A4%F3]]の一部をサブルーチンとして使わせていただきました。
// MEMで保存されますが、暗号化はしてないので今後改良するつもりです。~
// (WindowsXP風なので、一応擬似的に遅くしてます。)~

/////////////////////////////////

* スクリーンショット・動画 [#g20b3f25]
動作しているところを撮影した写真や動画があれば貼り付けてください。

// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// 画像をアップロードしたら、以下の書式でページ内に貼り付けられます。
// #ref(添付ファイル名)

// 以下の書式で、YouTube やニコニコ動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)

/////////////////////////////////
// QR コードがない場合は、この部分は削除してください

* QR コード [#x193f12c]
//プチコンmkII 向けの QR コードです。
//じゅんびちゅう...
|~&basic{PRG:LOGIN2};|
|&ref(qr0.png);|
// 【重要】旧プチコンから mkII に転送したプログラムは、mkII で保存しなおしてから
// QR コード化すると、枚数が半分ぐらいに減ります。ぜひお試し下さい。
// 【重要】添付できるのは画像ファイルのみです。zip ファイルは解凍してください。

// ページを作成すると、QR コードの添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// QR コードをアップロードしたら、以下の書式でページ内に貼り付けられます。
// #ref(アップロードしたファイル名)

// QR コードを大きくしたい場合は、倍率指定ができます。コンマは必ず 2 つ指定してください。
// ブラウザによっては補完がかかってボケますが、それでも問題なく読み込み可能です。
// #ref(アップロードしたファイル名,,200%)

// 複数の QR コードを貼り付けるために表組みを用いる場合、&ref(); を使用します。
// (#ref() を表に埋め込んでしまうと、古い Internet Explorer でうまく表示されません)
// |>|>|~PRG:FILENAME|
// |~1/3|~2/3|~3/3|
// |&ref(qr0.png,,200%);|&ref(qr1.png,,200%);|&ref(qr2.png,,200%);|

/////////////////////////////////

* プログラムリスト [#cc0c3cb5]
#basic{{
'LOGIN Ver2
@LOGIN
ACLS
CLEAR
GOSUB @START
MEM$=""
CHRINIT "BGF"
'Simple:SUB$="@OPENING"
A$="PetitComputer":AZ=2:AX=25:AY=70:AC=0
B$="SmileBASIC"   :BZ=1:BX=145:BY=90:BC=0
'Windows8:SUB$="LOGO"
GX=115:GY=60:GC=6 +9:BC=0 +6:GP=0.3
FX=100:FY=110:FV=1:FC=9 -9:TEXT$="Windows8"
SUB$="@OPENING"
@LOOP
@BGFSET
GOSUB SUB$
@PRINT
WAIT 1
IF 0!=RND(2) AND X<233 THEN X=X+1
GFILL 11+X,171,244,189,0
FOR HH=0 TO 4
GFILL 11,171+HH*4,11+X,174+HH*4,HH+242
NEXT
FOR M=0 TO 3
M$=MID$(("0"*(3-LEN(STR$(FLOOR(X/2.33)))))+STR$(FLOOR(X/2.33))+"%",M,1)
GPUTCHR 115+M*8,177,"BGF",ASC(M$),0,1
NEXT
GBOX 10,170,245,190,15
IF X<233 THEN @PRINT
WAIT 60*RND(10)
GCLS
@SET
LOCATE 0,0
?"S:SETUP"
?"I:INPUT"
?"E:END"
?"-------"
INPUT A$
IF A$=="S" GOTO @SETUP
IF A$=="I" GOTO @INPUT
IF A$=="E" GOTO @END
GOTO @SET
@SETUP
CLS
LOCATE 0,0:?"ユ-ザ-セッテイヲシマス。"
@S_PRG
'INPUT "プログラムメイハ";G$
'IF G$=="" THEN ?"エラ-:ニュウリョクミス":GOTO @S_PRG
IF INKEY$()!=CHR$(13) THEN INL=15:INX=0:INY=1:Z$="PRG:":K=1:GOSUB @INP:G$=A$(1)
IF G$=="" THEN ?"エラ-:プログラムメイ ニュウリョクミス":GOTO @S_PRG
@S_USER
'INPUT "ユ-ザ-メイハ";U$
'IF U$=="" THEN ?"エラ-:ニュウリョクミス":GOTO @S_USER
IF INKEY$()!=CHR$(13) THEN INL=15:INX=0:INY=2:Z$="USER:":K=1:GOSUB @INP:U$=A$(1)
IF U$=="" THEN ?"エラ-:ユ-ザ-メイ ニュウリョクミス":GOTO @S_USER
@S_PASS
'INPUT "パスワ-ドハ";P$
'IF P$=="" THEN ?"エラ-:ニュウリョクミス":GOTO @S_PASS
IF INKEY$()!=CHR$(13) THEN INL=15:INX=0:INY=3:Z$="PASS:":K=0:GOSUB @INP:P$=A$(1)
IF P$=="" THEN ?"エラ-:パスワ-ド ニュウリョクミス":GOTO @S_PASS
@SAVE
S$=G$:PASS$=P$:GOSUB @ANGOU:PRG$=F$
MEM$=PRG$
SAVE"MEM:"+U$
CLS
FOR I=10 TO 0 STEP -1
LOCATE 0,0:?"サイキドウシマス..."
LOCATE 0,2:?"サイキドウマデ アト"I" "
WAIT 60
NEXT
GCLS
WAIT 125+RND(10)
GOTO @LOGIN
@INPUT
CLS
LOCATE 0,0:?"ユ-ザ-ログインシマス。"
@I_USER
'INPUT "ユ-ザ-メイハ";U$
IF INKEY$()!=CHR$(13) THEN INL=15:INX=0:INY=1:Z$="USER:":K=1:GOSUB @INP:U$=A$(1):UN=1
IF UN==1 THEN LOAD "MEM:"+U$
IF RESULT==FALSE THEN ?"エラ-:ユ-ザ-メイ ニュウリョクミス":?"プログラム「"U$"」ハ ソンザイシテイマセン。":GOTO @I_USER
@I_PASS
'INPUT "パスワ-ドハ";P$
IF INKEY$()!=CHR$(13) THEN INL=15:INX=0:INY=2:Z$="PASS:":K=0:GOSUB @INP:P$=A$(1):PN=1
IF PN==1 THEN S$=MEM$:PASS$=P$:GOSUB @FUKUGOU:PRG$=K$:GOTO @LOAD_PRG
GOTO @I_PASS
@LOAD_PRG
EXEC PRG$
IF RESULT==FALSE THEN ?"エラ-:":?"プログラム「"PRG$"」ハ ソンザイシテイマセン。"

@LOGO
GPAINT         0,        0,                    BC
GLINE    0*GP+GX, 20*GP+GY,100*GP+GX,  0*GP+GY,GC
GLINE    0*GP+GX, 20*GP+GY,  0*GP+GX,100*GP+GY,GC
GLINE    0*GP+GX,100*GP+GY,100*GP+GX,150*GP+GY,GC
GLINE  100*GP+GX,  0*GP+GY,100*GP+GX,150*GP+GY,GC
GPAINT   5*GP+GX, 25*GP+GY,                    GC
GFILL   44*GP+GX,  0*GP+GY, 46*GP+GX,150*GP+GY,BC
GLINE    0*GP+GX, 59*GP+GY,100*GP+GX, 79*GP+GY,BC
GLINE    0*GP+GX, 60*GP+GY,100*GP+GX, 80*GP+GY,BC
GLINE    0*GP+GX, 61*GP+GY,100*GP+GX, 81*GP+GY,BC
FOR F=0 TO LEN(TEXT$)-1
 GPUTCHR 8*F*FV+FX,FY,"BGF",ASC(MID$(TEXT$,F,1)),FC,FV
NEXT
RETURN

@OPENING
FOR A=0 TO LEN(A$)-1
 GPUTCHR AX+(A*8*AZ),AY,"BGF",ASC(MID$(A$,A,A+1)),AC,AZ
NEXT
FOR B=0 TO LEN(B$)-1
 GPUTCHR BX+(B*8*BZ),BY,"BGF",ASC(MID$(B$,B,B+1)),BC,BZ
NEXT
RETURN

@INP
SYSBEEP=0
A$(0)=""
A$(1)=""
@LIN
WAIT 1
B=BUTTON(1)
T=T+0.05
KB=KEYBOARD
IF INSTR("13579",RIGHT$(STR$(FLOOR(T)),1))!=-1 THEN F$=" " ELSE F$="_"
IF KB==15 OR B==128 THEN GOSUB @BS
IF KB==60 OR B==16 THEN BEEP 9:SYSBEEP=1:LOCATE INX,INY:?Z$+A$(K)+" ":RETURN
IF KB!=0 AND KB!=15 AND KB!=60 AND LEN(A$(k))<INL THEN BEEP 9:A$(1)=A$(1)+INKEY$()
IF KB!=0 AND KB!=15 AND KB!=60 AND LEN(A$(k))==INL THEN BEEP 2
A$(0)="*"*LEN(A$(1))
LOCATE INX,INY:?Z$+A$(K)+F$+" "*(31-LEN(M$+A$(K)+F$))
GOTO @LIN
@BS
IF LEN(A$(1))!=0 THEN A$(1)=LEFT$(A$(1),LEN(A$(1))-1):BEEP 9
IF LEN(A$(1))==0 THEN BEEP 2
RETURN

@START
DIM D$(8)
DIM PAW(32)
FOR I=0 TO 8-1
D$(I)=""
NEXT
RETURN

'S$:モジレツ(ヘンカンマエ)
'F$:モジレツ(ヘンカンゴ)
'PASS$:パスワ-ド
@ANGOU
F$=""
FOR I=0 TO LEN(PASS$)-1
PAW(I)=ASC(MID$(PASS$,I,1))
NEXT
FOR I=0 TO LEN(S$)-1
D=ASC(MID$(S$,I,1))
IF D==0 THEN D=ASC("・")
I$=HEX$(D,2)
L$=LEFT$(I$,1):R$=RIGHT$(I$,1)
SWAP L$,R$
D=VAL("&H"+L$+R$)+1
FOR G=0 TO PAW((I+1)%LEN(PASS$))-1
D=D+1
IF D>255 THEN D=0
NEXT
F$=F$+CHR$(D)
D=0
NEXT
RETURN

'S$:モジレツ(ヘンカンマエ)
'K$:モジレツ(ヘンカンゴ)
'PASS$:パスワ-ド
@FUKUGOU
FOR I=0 TO LEN(PASS$)-1
PAW(I)=ASC(MID$(PASS$,I,1))+1
NEXT
K$=""
FOR I=0 TO LEN(S$)-1
D=ASC(MID$(S$,I,1))
FOR G=0 TO PAW((I+1)%LEN(PASS$))-1
D=D-1
IF D<0 THEN D=255
NEXT
I$=HEX$(D,2)
L$=LEFT$(I$,1):R$=RIGHT$(I$,1)
SWAP L$,R$
D=VAL("&H"+L$+R$)
IF D==ASC("・") THEN D=0
K$=K$+CHR$(D)
NEXT
RETURN

@END
ACLS
?"アリガトウゴザイマシタ。"
END


}}

/////////////////////////////////

// コメントを募集したくないなら、ここから下は削除してください

* CHECKER FLAG (ひとことコメント) [#zf9ddc2f]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''名無しさん'' : いらねー (&new{2013/01/04 (金) 09:37:31};)
- ''名無しさん'' : *1 そこまで言わなくても (&new{2013/01/04 (金) 09:39:20};)
- ''名無しさん'' : サイキドウシマデとは? (&new{2013/01/20 (日) 00:35:44};)
- ''ロックマンワールド'' : コレヤルトバグル (&new{2013/05/30 (木) 16:40:04};)
- ''プーチナルコンピューター?'' : プチコンPCみたいな (&new{2013/07/13 (土) 17:52:44};)
- ''名無しさん'' : どうやって使うの? (&new{2013/09/07 (土) 14:07:50};)
- ''TCC'' : 現在開発中のTCCOSのログイン画面に使ってもいいですか? (&new{2013/09/07 (土) 20:57:27};)
- ''名無しさん'' : 全然できませんでした。 (&new{2013/10/25 (金) 21:14:41};)

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.005 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30