joho2
情報システムを作ってみよう
スライド
プログラム一覧
- server/add_chat(Python)
line=input() f=open("user/chat.txt","a") f.write(line+"\n") f.close() print("Write end") - server/read_chat(Python)
f=open("user/chat.txt","r") for i in f: print(i,end="") f.close() - client/Main (HTML)
<html> <h1>掲示板</h1> <input name="text" autocomplete="off"/> <button name="write">Write</button> <br/> <div name="result"></div> <pre name="hist"></pre> </html>
- client/Main(JavaScript)
serverTop="<<server側のURL>>"; readUrl=serverTop+"read_chat.html"; addUrl=serverTop+"add_chat.html"; onClick("write",write); read(); function write() { setText("result","Running at Server..."); result=callServer(addUrl,getText("text")); setText("result",result); read(); } function read() { r=callServer(readUrl); setText("hist",r); }使用されている命令の詳細→ onClick、setText、callSever
- client/Main(JavaScript,単体テスト用)
log=""; serverTop="https://run.eplang.jp/bitarrow/fs/pub/5d9fc1ce/"; readUrl=serverTop+"read_chat.html"; addUrl=serverTop+"add_chat.html"; read(); onClick("write",write); function read() { r=callServer(readUrl); setText("hist",r); } function write() { setText("result","Running at Server..."); result=callServer(addUrl,getText("text")); setText("result",result); read(); } function callServer(url, param) { if (url===readUrl) { return log; } else if (url===addUrl) { log+=param+"\n"; return "Write End"; } }
情報システムを改造してみよう
スライド
プログラム一覧
- server/add_chat2(Python)
name=input() content=input() f=open("user/chat2.txt","a") f.write(name+"\t"+content+"\n") f.close() print("Write end") - server/read_chat2
f=open("user/chat2.txt","r") for i in f: print(i,end="") f.close() - client/Main2(HTML)
<html> <h1>掲示板</h1> 名前<input name="name"/><br/> 内容<input name="content"/><br/> <button name="write">Write</button> <br/> <div name="result"></div> <pre name="hist"></pre> </html>
- client/Main2(JavaScript)
serverTop="(略)"; readUrl=serverTop+"read_chat2.html"; addUrl=serverTop+"add_chat2.html"; onClick("write",write); read(); function write() { setText("result","Running at Server..."); result=callServer(addUrl,getText("name")+"\n"+getText("content")); setText("result",result); read(); } function read() { r=callServer(readUrl); setText("hist",r); } - read関数改造後
function read() { var r=callServer(readUrl); var lines=r.split("\n"); setText("hist",""); for (var line of lines) { var data=line.split("\t"); if (data.length<2) continue; var name=data[0]; var content=data[1]; addText("hist","名前: "+name+"<br/>"); addText("hist","内容: "+content+"<br/>"); addText("hist","<hr/>\n"); } }使用されている命令の詳細→addText