Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

root/tags/RELEASE_1_4_4/sample/hippo5tq2.rb

Revision 223, 2.1 kB (checked in by nakahiro, 8 years ago)

Hippo5tq sample.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to author date id revision
Line 
1 #!/usr/bin/env ruby
2
3 $KCODE = 'SJIS'
4
5 proxy = ARGV.shift || nil
6
7 require 'soap/driver'
8
9 # XML Schema Datatypes��999�ł���͂����Ȃ�Ă���
10 require 'soap/XMLSchemaDatatypes1999'
11
12 # Wiredump�̏o�͐�ef getWireDumpLogFile
13   logFilename = File.basename( $0 ) + '.log'
14   f = File.open( logFilename, 'w' )
15   f << "File: #{ logFilename } - Wiredumps for SOAP4R client / #{ $serverName } server.\n"
16   f << "Date: #{ Time.now }\n\n"
17 end
18
19 # �T�[�r�X���̓o�^�i�{���Ȃ�DL�����������Ƃ���
20 Server = 'http://www.hippo2000.net/cgi-bin/soap5tq2.cgi'
21 NS = 'urn:Soap5tq2'
22
23 drv = SOAP::Driver.new( nil, 'hippo5tq', NS, Server, proxy )
24 drv.setWireDumpDev( getWireDumpLogFile )
25
26 drv.addMethod( 'Init', 'UsrName', 'Passwd' )
27   # => [ sSession, sErr ]
28 drv.addMethod( 'End', 'sSsID' )
29   # => void
30 drv.addMethod( 'GetQuizAll', 'sSsId' )
31   # => [ sQuiz0, sOpt00, sOpt01, sOpt02, sOpt03, sOpt04,
32   #      ...
33   #      sQuiz9, sOpt90, sOpt91, sOpt92, sOpt93, sOpt94 ]
34 drv.addMethod( 'RepQuizAll', 'sSsID', 'iRes' )
35   # => [ iResult, iPoint ]
36 drv.addMethod( 'GetQuiz', 'sSsID' )
37   # => [ sQuiz, sOpt0, sOpt1, sOpt2, sOpt3, sOpt4 ]
38 drv.addMethod( 'ReqQuiz', 'sSsID', 'iRes' )
39   # => [ iResult, iPoint ]
40
41
42 # �N�C�Y�T�[�r�X�ւ̃��O�C��
43 sessionId, errInfo =  drv.Init( 'SOAP4R', '' )
44
45 totalPoint = 0
46
47 # ���f���B�B�B
48 trap( "INT" ) do | sig |
49   puts "���f��������"
50   drv.End( sessionId )
51   exit( -1 )
52 end
53
54 # �ŏ��Ɉꊇ���ăN�C�Y������Ă��܂�
55 quizAll = drv.GetQuizAll( sessionId )
56
57 # ���׍H���\�b�h�����def quizAll.next
58   quiz, opt1, opt2, opt3, opt4, opt5 = self.slice!( 0..5 )
59   return quiz, opt1, opt2, opt3, opt4, opt5
60 end
61
62 def quizAll.eof?
63   ( self.length < 6 )
64 end
65
66 # �N�C�Y�J�n
67
68 # �N�C�Y�̎c��Ă��B�B�B
69 while !quizAll.eof?
70   quiz, *opt = quizAll.next
71
72   # �o�� puts '-' * 78
73   puts quiz
74   1.upto( opt.length ) do | i |
75     puts "#{ i }: #{ opt[ i-1 ] }"
76   end
77
78   # ��  ans = gets.chomp.to_i
79
80   # �񓚂������ result, point = drv.RepQuizAll( sessionId, ans - 1 )
81
82   # ���茋�ʂ�
83   unless result.zero?
84     puts "�����_: #{ point }"
85     totalPoint += point
86   else
87     puts "�n�Y��"
88   end
89 end
90
91 puts "Total: #{ totalPoint }"
92
93 # ���O�I�t
94 drv.End( sessionId )
Note: See TracBrowser for help on using the browser.