1 :
田中 :
2005/09/18(日) 16:50:31 ID:1/49aP+K0 ばっちこーーーーい!!!!!11!!!!
2 :
田中 :2005/09/18(日) 16:51:32 ID:LHvLKCmv0
_('A`)_ ブゥーン ( ) ノ〉
エロい虹絵を見る→ちんちんおっき
4 :
田中 :2005/09/18(日) 16:54:13 ID:1/49aP+K0
えいやーーー!!!11 #include <stdio.h> main() { printf("('A`)_ ブゥーン\n( )\nノ〉\n"); }
5 :
田中 :2005/09/18(日) 16:58:03 ID:1/49aP+K0
#include <string.h> enum {OKKI}; main() { char str[100]; gets(str); if(!strcmp("エロい虹絵を見る", str)) { penise = OKKI; } }
6 :
田中 :2005/09/18(日) 16:59:14 ID:tqI7oUcU0
LOOP: LD B,0 DJNZ LOOP
7 :
田中 :2005/09/18(日) 16:59:31 ID:LcsXDtyg0
8 :
田中 :2005/09/18(日) 17:00:00 ID:yKalXvWB0
( ゚д゚)< パン
9 :
田中 :2005/09/18(日) 17:04:38 ID:1/49aP+K0
まだまだいくよーーー!!1111 int and(int a, int b,) { return a || b; } int or(int a, int b,) { return a || b; } int not(int a) { return !a; } int xor(int a, int b) { return !(a||b) || a&&b; }
10 :
それいゆ 【IQ1】 :2005/09/18(日) 17:23:11 ID:H87kpct6O
勢いが足りなくて構築できませんでした。
11 :
田中 :2005/09/18(日) 17:24:37 ID:lAlbALU10
やっぱプログラミングは難しいわ
12 :
田中 :2005/09/18(日) 23:21:45 ID:OwgYqKXq0
おまえら何か注文しろ、すぐに作ってやる!!!!!!
13 :
バカは氏んでも名乗らない田中 :2005/09/18(日) 23:24:39 ID:gnZSVhQy0
#!/bin/ksh while true do echo "うんこは苦くてうまい" done ↑これ!こういうのキボンヌ!!
その前にプログラミングとは何か、ここに書かれているモノは何なのかを教えてもらいたい!
15 :
田中 :2005/09/19(月) 01:27:20 ID:wm49DdpB0
#pythonで書いてみた while 1: print "おしっこは辛くておもいでの味"
16 :
バカは氏んでも名乗らない田中 :2005/09/19(月) 01:29:54 ID:h0f//rOHO
>>15 くそ!負けた!
だがうんこは美味いこと忘れるなよ
17 :
田中 :2005/09/19(月) 01:36:31 ID:UjULliyH0
*COBOL デ カイテミタヨ!! EVALUATE I-PARAM WHEN 'UNKO' DISPLAY 'ニガクテ ウマイ' WHEN 'ASBEST ' DISPLAY 'カコウシヤスクテ ウマイ シカモ ヤスイ' WHEN OTHER DISPLAY 'マズイ' END-EVALUATE.
18 :
田中 :2005/09/19(月) 06:12:13 ID:wm49DdpB0
19 :
バカは氏んでも名乗らない田中 :2005/09/19(月) 06:14:06 ID:bx+RXGNQ0
20 :
田中 :2005/09/19(月) 06:24:43 ID:wm49DdpB0
http://ex10.2ch.net/test/read.cgi/heaven4vip/1127029831/ 順位 ID 書き込み数
1 : 1/49aP+K0 : (4)
2 : wm49DdpB0 : (2)
3 : tqI7oUcU0 : (1)
4 : H87kpct6O : (1)
5 : bx+RXGNQ0 : (1)
6 : h0f//rOHO : (1)
7 : yKalXvWB0 : (1)
8 : OwgYqKXq0 : (1)
9 : HcLquuqk0 : (1)
10 : gnZSVhQy0 : (1)
11 : vja9nYb10 : (1)
12 : lAlbALU10 : (1)
13 : UjULliyH0 : (1)
14 : LHvLKCmv0 : (1)
15 : LcsXDtyg0 : (1)
total 15 ID
21 :
田中 :2005/09/19(月) 06:25:32 ID:wm49DdpB0
#
>>20 みたいにIDを集計するプログラム
SrcURL='
http://ex10.2ch.net/test/read.cgi/heaven4vip/1127029831/ '
import re
import urllib2
import math
TmpURL=re.sub('test/read.cgi/', '', SrcURL)
TmpURL=re.sub('((?=/\d+/))', '/\\1dat', TmpURL)
URL=re.sub('(\d+)/', '\\1.dat', TmpURL)
NameList={}
URLObj=urllib2.urlopen(URL)
for line in URLObj:
check=re.search('ID:(.*?)<>',line)
if check:
name=check.group(1)
if not name in NameList:
NameList[name]=1
else:
num=NameList[name]
num+=1
NameList[name]=num
URLObj.close()
22 :
田中 :2005/09/19(月) 06:27:22 ID:wm49DdpB0
#
>>21 は貼り付け失敗しますた
SrcURL='
http://ex10.2ch.net/test/read.cgi/heaven4vip/1127029831/ '
import re
import urllib2
import math
TmpURL=re.sub('test/read.cgi/', '', SrcURL)
TmpURL=re.sub('((?=/\d+/))', '/\\1dat', TmpURL)
URL=re.sub('(\d+)/', '\\1.dat', TmpURL)
NameList={}
URLObj=urllib2.urlopen(URL)
for line in URLObj:
check=re.search('ID:(.*?)<>',line)
if check:
name=check.group(1)
if not name in NameList:
NameList[name]=1
else:
num=NameList[name]
num+=1
NameList[name]=num
URLObj.close()
23 :
田中 :2005/09/19(月) 06:28:14 ID:wm49DdpB0
#
>>22 の続きデス
ninzu=0
rank=0
print SrcURL
print '順位 ID 書き込み数'
for i in range(1002,0,-1):
for line in NameList:
if NameList[line] == i:
rank=rank+1
ninzu += 1
NbspNum=1-int(math.log10(rank))
pre = '&nbsp;' * NbspNum
print pre,"%d : %s : (%d)" % (rank, line, NameList[line])
print 'total ',ninzu,' ID'
24 :
田中 :2005/09/19(月) 06:31:47 ID:wm49DdpB0
25 :
田中 :2005/09/19(月) 06:33:30 ID:wm49DdpB0
#
>>24 みたいに名前を数えるプログラム (2-1)
SrcURL='
http://ex10.2ch.net/test/read.cgi/heaven4vip/1127029831/ '
import re
import urllib2
import math
TmpURL=re.sub('test/read.cgi/', '', SrcURL)
TmpURL=re.sub('((?=/\d+/))', '/\\1dat', TmpURL)
URL=re.sub('(\d+)/', '\\1.dat', TmpURL)
NameList={}
URLObj=urllib2.urlopen(URL)
for line in URLObj:
name=re.search('(.*?(?=<>))',line).group(1)
name=re.sub('<.*?b>', '', name)
if not name in NameList:
NameList[name]=1
else:
num=NameList[name]
num+=1
NameList[name]=num
URLObj.close()
26 :
田中 :2005/09/19(月) 06:33:59 ID:wm49DdpB0
#
>>25 の続き (2-2)
rank=0
print SrcURL
print '順位 名前 (書き込み数)'
for i in range(1002,0,-1):
for line in NameList:
if NameList[line] == i:
rank+=1
print '%d : %s (%d)' % (rank, line, NameList[line])
27 :
田中 :2005/09/19(月) 06:34:53 ID:dGt3hAB/0
おおなんかすごいな、これw んでこれ言語何?VB?
28 :
田中 :2005/09/19(月) 06:35:27 ID:dGt3hAB/0
っとすまん。つい癖が出た許せ
29 :
バカは氏んでも名乗らない田中 :2005/09/19(月) 06:36:02 ID:bx+RXGNQ0
>>24 おお!俺、3回も書き込んでるよ!すごいな一発でわかるのか!
30 :
田中 :2005/09/19(月) 06:36:06 ID:RW8MoNj00
\e
31 :
田中 :2005/09/19(月) 06:37:05 ID:dGt3hAB/0
伺かとか懐かしすぎだろ
32 :
田中 :2005/09/19(月) 06:40:55 ID:wm49DdpB0
言語はPython 最近流行ってるらしい
33 :
田中 :2005/09/19(月) 06:42:36 ID:QQtYoGtY0
何一つわからない
34 :
田中 :2005/09/19(月) 06:54:51 ID:ZWJwbyrs0
>>4 実行してみた
('A`)_ ブゥーン
( )
ノ〉
C:\borland\bccdev1214\User\heaven\Debug>
35 :
田中 :2005/09/19(月) 06:56:19 ID:wm49DdpB0
# URLからリンクされてる所をたどってURLを集める。何の役に立つかわからない。 (2-1)
URL='
http://www.yahoo.co.jp/ '
CheckDomain='.yahoo.co.jp'
import re
import urllib2
urllist=[]
def getUrls(URLname):
URLname=URLname[:]
try:
URLObj=urllib2.urlopen(URLname)
except UnboundLocalError:
print 'UnboundLocalError: '+URLname
return
for text in URLObj:
m=re.search('(
http://[\w./%_?:]* )', text)
if m:
if not m.group(1) in urllist:
if '.htm' in m.group(1):
if CheckDomain in m.group(1):
print m.group(1)
urllist.append(m.group(1))
getUrls(m.group(1))
URLObj.close()
36 :
カラクリ人形師 ◆y71pDlQn2s :2005/09/19(月) 06:56:26 ID:6pknt0kSO
Cをやろうとしたが・・・・・( ̄口 ̄) 本当はrubyぐらいしか使えません
37 :
田中 :2005/09/19(月) 06:57:01 ID:wm49DdpB0
#
>>35 の続き (2-2)
getUrls(URL)
fout=open('traveling.log.txt', 'w')
for line in urllist:
fout.write(line+'\n')
fout.close()
38 :
田中 :2005/09/19(月) 06:57:34 ID:dGt3hAB/0
39 :
小田 :2005/09/19(月) 06:58:00 ID:mziV9JQk0
class unko { public static void main(String args[]) { String name = args[0]; String msg; System.out.print("うんこは苦くて"); if (name.equals("tanaka")) msg = "うまい"; else if (name.equals("oda")) msg = "カレー味"; else msg = "ちんこ風味"; System.out.println(msg); } }
40 :
田中 :2005/09/19(月) 07:20:40 ID:wm49DdpB0
# ユークリッドの互除法で最大公約数を求めるプログラム a=10 b=5 while b>0: a,b=b,a%b print a
41 :
1 :2005/09/19(月) 19:50:35 ID:1Th/2scx0
よーーーし!!今日もものっそい勢いでプログラミングしちゃうぞ〜〜〜〜!!! #include <stdio.h> #include <string.h> main() { char buf[100]; fgets(buf, sizeof(buf), stdin); if (!strcmp(buf, "nullpo")) { while (1) printf("ga!!\n"); } }
42 :
田中 :2005/09/19(月) 19:58:26 ID:g1QB49HV0
#いんくる〜ど<えすて〜でおどっとエッチ☆> もっかい#いんくる〜ど<すとりんぐどっとエッチ☆> めいんかっこしてかっことじる { ちゃ〜 ばふ[ひゃく]; えふげっつ(ばふ,さいずおぶ(ばふ),すたディン); もし(びっくり!すとるくんぷ(ばふ,"ぬ・る・ぽ☆")){ ほわいる(いち)ぷりんとえふ☆("ガッ!!えんん"); } } おわり!!
43 :
1 :2005/09/19(月) 20:00:43 ID:1Th/2scx0
#include <stdio.h> #include <stdlib.h> #include <time.h> main() { char *tab[] = {"うんこは", "苦くて", "うまい", "カレー", "ちんこ", "味", "田中", "小田", "おっきおっき", "する", "馬"} srand(time(NULL)); while (1) { printf("%s", tab[rand()%sizeof(tab)]); } }
44 :
1 :2005/09/19(月) 20:02:30 ID:1Th/2scx0
今日は寝る
45 :
田中 :2005/09/19(月) 21:19:00 ID:wm49DdpB0
# 板のDATファイルを根こそぎダウンロードするスクリプト
url='
http://ex10.2ch.net/heaven4vip/ '
import urllib2
import re
URLObj=urllib2.urlopen(url+'subject.txt')
for line in URLObj:
filename=re.search('(.*?(?=<>))',line).group(1)
daturl=url+'dat/'+filename
print daturl
URLObj2=urllib2.urlopen(daturl)
fout=open(filename, 'w')
for line2 in URLObj2:
fout.write(line2)
fout.close()
URLObj2.close()
URLObj.close()
46 :
田中 :2005/09/19(月) 21:23:47 ID:nqI4xgVo0
//なでしこ うんこと言う。
47 :
田中 :2005/09/19(月) 21:34:16 ID:z4dKz5Me0
exit(unko);
48 :
田中 :2005/09/19(月) 21:41:06 ID:v/Lrde2m0
田中すげえ
49 :
田中 :2005/09/19(月) 21:42:26 ID:yxPhZIrV0
<html>ここにプログラミングする</html>
50 :
1 :2005/09/20(火) 21:03:05 ID:ZENO8kTV0
えいやぁぁぁぁぁあーーーーーーーーーーーーーーーーーー!!!!1111 #include <stdio.h> #include <stdlib.h> #include <time.h> int add(int a, int b) { return a+b; } int sub(int a, int b) { return a-b; } int mul(int a, int b) { return a*b; } int div(int a, int b) { return a/b; }
51 :
1 :2005/09/20(火) 21:03:58 ID:ZENO8kTV0
沿い沿い沿いそいやぁぁぁぁぁぁーーーーーーーーー(^^)(^^)(^^)(^^)(^^)(^^) main() { int a=5, b=8; int (*tab[])(int, int) = {add, sub, mul, div}; for (;;) { a = *(tab[rand()%sizeof(tab);])(a, b); b = *(tab[rand()%sizeof(tab);])(a, b); printf("a:%d b:%d\n", a, b); } }
52 :
田中 :2005/09/20(火) 22:36:37 ID:S9F8gOJ80
while (true) { print "unko" }
53 :
田中 :2005/09/20(火) 22:37:30 ID:JBDFhlb00
なんでこのすれのびてるんだq
54 :
田中 :2005/09/20(火) 22:37:35 ID:0pX+zCGH0
やっぱcshellだよな
55 :
サウンドウェーブ ◆daFVkGT71A :2005/09/20(火) 22:48:36 ID:X4/ZSogO0
全然わからん、誰か教えてくれ。
56 :
1 :2005/09/21(水) 20:30:18 ID:lEv89HXJ0
57 :
バカは氏んでも名乗らない田中 :2005/09/21(水) 21:05:38 ID:AQ2Ipq76O
>>1 こらー!なんかこの前の奴実行したらエラー
がぼよよーんって出たじゃないか!
58 :
1 :2005/09/21(水) 21:12:55 ID:lEv89HXJ0
右方方法ほうほうほうほうほうぉぉぉぉ!!!!! #include <stdio.h> #include <stdlib.h> #include <time.h> main() { unsigned int x=0x00; TIME: srand(time()); START: switch(rand()%10) { case 0: x |= (0x01<<(rand%32)); goto START; case 1: x &= ~(0x01<<(rand%32)); goto START; case 2: x = ~x; goto START; case 3: x ^= 0xAAAAAAAA; goto START; case 4: x = ~x+0x01; goto START; case 5: x = ^x; goto START case 6: goto TIME; default printf("%X\n", x);: } }
59 :
1 :2005/09/21(水) 21:15:00 ID:lEv89HXJ0
>>57 めんごめんご(^^)
おいらは基本的にコンパイルしないでスレに貼り付けてるからwwww
実行したかったらデバッグYOROSIKU!!!!
60 :
田中 :2005/09/21(水) 23:03:30 ID:cXCw3kfs0
<%="unko"%>
61 :
田中 :2005/09/22(木) 00:56:37 ID:IYIJyLe10
へいぶんへいぶん、ここはへいぶんなり
62 :
田中 :2005/09/22(木) 01:29:31 ID:uZtXLyneO
63 :
田中 :2005/09/22(木) 01:34:57 ID:VCMwtUm30
: : HELLO.BAT : @ECHO OFF ECHO Hello, world !
64 :
田中 :2005/09/22(木) 01:35:47 ID:VCMwtUm30
' ' hello.bas ' print "Hello, world !" end
65 :
田中 :2005/09/22(木) 01:36:13 ID:VCMwtUm30
#!/usr/bin/csh -f # # hello.csh # echo "Hello, world !"
66 :
田中 :2005/09/22(木) 01:36:37 ID:VCMwtUm30
#!/usr/bin/sh # # hello.sh # echo "Hello, world !"
67 :
バカは氏んでも名乗らない田中 :2005/09/22(木) 01:36:46 ID:hY3oAF4e0
for ( ; ; ) { printf (" (・∀・)ルプンコ!!\n"); }
68 :
田中 :2005/09/22(木) 01:37:06 ID:VCMwtUm30
#!/usr/bin/awk -f # # hello.awk # BEGIN{ print "Hello, world !" }
69 :
田中 :2005/09/22(木) 01:37:06 ID:o9gcnDQKO
basicしょぼ
70 :
田中 :2005/09/22(木) 01:37:35 ID:VCMwtUm30
(* * hello.pas *) program HelloWorld (output); begin writeln ('Hello, world !'); end.
71 :
田中 :2005/09/22(木) 01:38:25 ID:VCMwtUm30
/* * hello.c */ #include <stdio.h> int main(int argc, char *argv) { fputs("Hello, world !\n", stdout); return (0); }
72 :
田中 :2005/09/22(木) 01:39:52 ID:VCMwtUm30
D:\tmp>type hello.js var WShell = WScript.CreateObject("Wscript.Shell"); WShell.Popup("Hello, world !", -1, "Hello", 0); D:\tmp>
73 :
田中 :2005/09/22(木) 01:40:37 ID:VCMwtUm30
D:\tmp>type hello.vbs WScript.Echo "Hello, world !" D:\tmp>
74 :
田中 :2005/09/22(木) 01:41:16 ID:VCMwtUm30
#!/usr/local/bin/perl # # hello.pl # print "Hello, world !\n"
75 :
田中 :2005/09/22(木) 01:44:28 ID:VCMwtUm30
/* * xhello.c */ #include <stdio.h> #include <X11/StringDefs.h> #include <X11/Intrinsic.h> #include <X11/Xaw/Cardinals.h> #include <X11/Xaw/Form.h> #include <X11/Xaw/Command.h> #include <X11/Xaw/Label.h> XtActionsRec actions[] = { { "Quit", (XtActionProc)Quit }, }; void Quit(/* Callback and Action use this function */) { exit(0); }
76 :
田中 :2005/09/22(木) 01:46:03 ID:VCMwtUm30
int main(int argc, char **argv) { XtAppContext app_context; Widget toplevel, form, quit; Display *display; static Atom wm_delete_window; XEvent event; String fallback_resources[] = { "*translations: #override\\n\ <Message>WM_PROTOCOLS: Quit()", "*top: ChainTop", "*bottom: ChainBottom", "*right: ChainRight", "*left: ChainLeft", "*Command.sensitive: true", "*Command.shapeStyle: oval", "*quit.label: Quit", "*quit.width: 64", "*quit.bottom: ChainTop",
77 :
田中 :2005/09/22(木) 01:46:46 ID:VCMwtUm30
"*quit.right: ChainLeft", "*hello.width: 280", "*hello.height: 210", "*hello.label: Hello, world !", "*hello.font: -*-times-*-r-*-34-*", "*hello.fromVert: quit", NULL, }; toplevel = XtVaAppInitialize(&app_context, "XHello", NULL, ZERO, &argc, argv, fallback_resources, NULL); form = XtVaCreateManagedWidget("form", formWidgetClass, toplevel, NULL); quit = XtVaCreateManagedWidget("quit", commandWidgetClass, form, NULL); XtVaCreateManagedWidget("hello", labelWidgetClass, form, NULL); XtAppAddActions(app_context, actions, XtNumber(actions)); XtAddCallback(quit, XtNcallback, (XtCallbackProc)Quit, NULL);
78 :
田中 :2005/09/22(木) 01:47:11 ID:VCMwtUm30
display = XtDisplay(toplevel); wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", FALSE); (void)XSetWMProtocols(display, XtWindow(toplevel), &wm_delete_window, 1); XtRealizeWidget(toplevel); XtAppMainLoop(app_context); /* not reached */ return (0); }
79 :
田中 :2005/09/22(木) 02:17:16 ID:VCMwtUm30
>>71 訂正 (´・ω・) 使わないんだからvoidにしときゃ良かったなり
/*
* hello.c
*/
#include <stdio.h>
int main(int argc, char **argv)
{
fputs("Hello, world !\n", stdout);
return (0);
}
80 :
1 :2005/09/22(木) 20:23:18 ID:IYIJyLe10
今夜はハスケルだよ〜〜〜〜〜〜〜〜!!!!!!111!!! merge :: [Int] -> [Int] -> [Int] merge x [] = x merge [] y = y merge [] [] = [] merge (x:xs) (y:ys) = if x <= y then x:(merge xs (y:ys)) else y:(merge (x:xs) ys) mergeSort :: [Int] -> [Int] mergeSort (x:[]) = [x] mergeSort x = merge (mergeSort (take (div (length x) 2) x)) (mergeSort (drop (div (length x) 2) x))
81 :
田中 :2005/09/23(金) 02:05:41 ID:8HGwWncR0
(defun re-fact (n) (cond ((= n 0) 1) (t (* n (re-fact (- n 1)))))) (defun prog-fact (n) (prog (ans) (setq ans 1) tag (if (<= n 0) (return ans)) (setq ans (* ans n)) (setq n (- n 1)) (go tag)))
82 :
田中 :2005/09/23(金) 02:06:15 ID:8HGwWncR0
(defun loop-fact (n) (let ((ans 1)) (loop (if (<= n 0) (return ans)) (setq ans (* ans n)) (setq n (- n 1))))) (defun do-fact (n) (do ((num n (- num 1)) (ans 1 (* ans num))) ((<= num 0) ans)))
83 :
田中 :2005/09/23(金) 02:10:06 ID:8HGwWncR0
∀・) ダイガク時代のファイルあさってたら、こんなん出ました 懐かしSASw data; filename dt1 '/usr/local/export/kyouzai/body.sas'; filename ft20f001 '~/sas/out.dat'; infile dt1; input height lhand whand foot rview lview hbld lbld typebld sex; proc sort; by sex; run; proc print; run; proc printto unit=20 new; run; proc means; var height foot hbld; by sex; run; proc plot; plot height*foot=sex; run; proc corr; var height lhand foot; run; proc reg; model height=lhand foot; run; proc plot; plot height*foot=sex/vaxis=150 to 190 by 1; run; proc printto; run;
84 :
田中 :2005/09/23(金) 05:45:11 ID:r4zuBLHKO
へいぶんへいぶん、ここはへいぶんなり
85 :
1 :2005/09/23(金) 22:08:01 ID:r4zuBLHKO
今夜は休み
86 :
田中 :2005/09/24(土) 16:50:00 ID:aOsk1pHn0
へいぶんへいぶん、ここはへいぶんなり
87 :
大園 ◆kakao/g9UQ :2005/09/24(土) 16:53:54 ID:8mfdWAv5O
可愛いね^^
88 :
1 :2005/09/24(土) 22:33:23 ID:aOsk1pHn0
$echo みんなもっと書き込んでよ みんなもっと書き込んでよ $su root's password: #echo suになちゃったよ!! suになちゃったよ!!
89 :
田中 :2005/09/24(土) 22:37:00 ID:hOdOF7880
90 :
田中 :2005/09/25(日) 17:59:57 ID:j+dPBHMYO
へいぶんへいぶん、ここはへいぶんなり
91 :
田中 :2005/09/25(日) 18:07:26 ID:euUJUjFc0
自動で天国らしいレスしてくれるソフト作れよ
92 :
バカは氏んでも名乗らない田中 :2005/09/25(日) 18:46:08 ID:t+7hO1V50
93 :
田中 :2005/09/25(日) 20:57:53 ID:bo5nY/dD0
お前、なにいってんごく!
94 :
田中 :2005/09/26(月) 00:04:02 ID:OZYjO1X60
お前、なにいってんごく!
95 :
田中 :2005/09/26(月) 00:32:15 ID:sWHtWT6Q0
>>75-78 の Athena Widget 使わない ver.
大学時代のものなので、かなりの力技満載でちょっと恥ずかしいですが
若気の至りってことでw
/*
* hello.c
*/
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#define TRUE1
#define WIDTH640
#define HEIGHT400
#define MSG_LEN14/* "Hello, world !" */
96 :
田中 :2005/09/26(月) 00:32:39 ID:sWHtWT6Q0
int main(int argc, char **argv) { Display *dpy; Window root, win; int screen, black, white; GC gc; XFontStruct *font; XCharStruct overall; XSizeHints hint; XEvent event; char *text = "Hello, world !"; int direction, ascent, descent, tw, th; int x, y, w, h, bw, depth;
97 :
田中 :2005/09/26(月) 00:33:03 ID:sWHtWT6Q0
if ((dpy = XOpenDisplay(NULL)) == NULL){ fprintf(stderr, "%s: error: cannot open display\n", argv[0]); exit(1); } root = XDefaultRootWindow(dpy); screen = XDefaultScreen(dpy); black = XBlackPixel(dpy, screen); white = XWhitePixel(dpy, screen); win = XCreateSimpleWindow(dpy, root, 0, 0, WIDTH, HEIGHT, 1, black, white); XSelectInput(dpy, win, ExposureMask | ButtonPressMask); gc = XCreateGC(dpy, win, 0, NULL); XSetForeground(dpy, gc, black);
98 :
田中 :2005/09/26(月) 00:33:24 ID:sWHtWT6Q0
font = XLoadQueryFont(dpy, ((argc == 1) ? "-*-times-*-r-*-34-*" : argv[1])); XSetFont(dpy, gc, font -> fid); XTextExtents(font, text, MSG_LEN, &direction, &ascent, &descent, &overall); tw = overall.width; th = overall.ascent + overall.descent; hint.flags = PSize | PMinSize; hint.width = WIDTH; hint.height = HEIGHT; hint.min_width = tw + 40; hint.min_height = th * 2; XSetStandardProperties(dpy, win, "hello", "Hello", None, argv, argc, &hint);
99 :
田中 :2005/09/26(月) 00:33:45 ID:sWHtWT6Q0
XMapWindow(dpy, win); while (TRUE){ XNextEvent(dpy, &event); if (event.xany.type == Expose){ XGetGeometry(dpy, win, &root, &x, &y, &w, &h, &bw, &depth); XClearWindow(dpy, win); XDrawString(dpy, win, gc, (w - tw) / 2, h / 2, text, MSG_LEN); }else{ break; } } XFreeFont(dpy, font); XFreeGC(dpy, gc); XDestroyWindow(dpy, win); XCloseDisplay(dpy); return 0; }
100 :
田中 :
2005/09/26(月) 00:36:37 ID:sWHtWT6Q0 ちなみに 何かの本のサンプルを元に改変しただけだから 私が作ったものではありませんw