2009年8月31日月曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語数、16語。

  1. comb
  2. saw
  3. cog
  4. zip
  5. stick
  6. row
  7. opposition
  8. argue
  9. council
  10. unconstitutional
  11. enforce
  12. wisdom tooth
  13. extremely
  14. irritating
  15. prevent
  16. complex

増えた単語数、53語。

  1. tidy
  2. murder
  3. fanned
  4. fine-tooth comb
  5. chainsaw
  6. transmitted
  7. crowd
  8. carrot and stick
  9. kebab
  10. lolly
  11. celery
  12. drawer
  13. punk
  14. bayonets
  15. lay
  16. needles
  17. glue
  18. sticky
  19. racism
  20. stuck
  21. death row
  22. skid row
  23. strike
  24. conducted
  25. parliament
  26. legislature
  27. dares
  28. cavalry
  29. foreign
  30. lawyers
  31. unfit
  32. persuade
  33. ordered
  34. persuasively
  35. toss
  36. unanimously
  37. specification
  38. indecisive
  39. itch
  40. sore
  41. concentrations
  42. ozone
  43. pregnancy
  44. cancer
  45. recognized
  46. coverage
  47. subordinate
  48. compound
  49. deranged
  50. attacker
  51. persecution
  52. guilt complex
  53. inferiority complex

辞書で引いた単語数が増え、増えた単語数がおとといまでに比べて減りました。第3ステップに入ってから2週間が過ぎて、ペースが上がってきたのかもしれません。(今日はたまたまかもしれないので、明日からもカウントを続けていきたいと思います。)

2009年8月29日土曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語数、13語。

  1. pour
  2. water
  3. raw
  4. northernly
  5. antarctic
  6. piercing
  7. criticism
  8. harsh
  9. dislike
  10. furore
  11. satire
  12. loose
  13. take

増えた単語数、147語。

  1. steadily
  2. pool
  3. sauce
  4. plates
  5. meat
  6. neatly
  7. mixture
  8. quietly
  9. tide
  10. holidaymakers
  11. coast
  12. surf
  13. tributes
  14. secretary
  15. dismiss
  16. scorn
  17. hammering
  18. metal
  19. roof
  20. trio
  21. territorial
  22. stormy
  23. hurting
  24. producing
  25. mouth-watering
  26. pregnant
  27. fluid
  28. womb
  29. midwife
  30. relieved
  31. awkward
  32. accordance
  33. low
  34. cautious
  35. duck
  36. versatile
  37. come
  38. drag
  39. rope
  40. flesh
  41. grief
  42. instinct
  43. conducted
  44. lack
  45. sewage
  46. contamination
  47. nerve
  48. sandy
  49. blond
  50. praise
  51. grew
  52. chilly
  53. unpredictable
  54. bright
  55. dull
  56. pity
  57. abrupt
  58. trunks
  59. luck
  60. liver
  61. attempt
  62. conceal
  63. disclosure
  64. uproar
  65. exaggeration
  66. wicked
  67. firmly
  68. fixed
  69. wooden
  70. beams
  71. ceiling
  72. clasped
  73. belly
  74. idly
  75. thread
  76. skirt
  77. emptied
  78. handful
  79. page
  80. floated
  81. tiles
  82. embrace
  83. crossed
  84. baggy
  85. thin
  86. texture
  87. particles
  88. soil
  89. coalition
  90. investigation
  91. cannon
  92. hell
  93. idiomatic
  94. appropriate
  95. photograph
  96. assumed
  97. adopted
  98. counsellor
  99. wiped
  100. drawer
  101. subtract
  102. deduct
  103. tolerate
  104. bear
  105. casualties
  106. beware
  107. convert
  108. plane
  109. strike
  110. strength
  111. courage
  112. pretty
  113. heritage
  114. derive
  115. blame
  116. refused
  117. unfortunately
  118. resentment
  119. meaning
  120. wrongly
  121. outskirts
  122. forked
  123. obviously
  124. fork
  125. swallowing
  126. expressionless
  127. measurement
  128. equipment
  129. interpretation
  130. perspective
  131. presume
  132. absolutely
  133. insult
  134. lying
  135. protesting
  136. afterwards
  137. aback
  138. arm
  139. biscuit
  140. bull
  141. hat
  142. mickey
  143. piss
  144. read
  145. ride
  146. surprise
  147. word

明日は週一回の英語から完全に離れる日。

2009年8月28日金曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語数、9語。

  1. throat
  2. cough
  3. common cold
  4. enormous
  5. unconscious
  6. breathe
  7. blood
  8. foot
  9. hot

増えた単語数、122語。

  1. stared
  2. loosened
  3. polite
  4. ram
  5. career
  6. quarrelling
  7. further
  8. unacceptable
  9. trophy
  10. win
  11. lump
  12. apologetic
  13. overcome
  14. terrible
  15. fit
  16. chest
  17. hurts
  18. persistent
  19. mucus
  20. chilly
  21. feverish
  22. runny
  23. influential
  24. lack
  25. ambulance
  26. lapse
  27. oblivious
  28. sweeping
  29. curls
  30. forehead
  31. envy
  32. manifests
  33. arrogance
  34. racism
  35. inherent
  36. practically
  37. examining
  38. beliefs
  39. evenly
  40. confidence
  41. excitement
  42. letters
  43. instil
  44. neck
  45. sigh
  46. relief
  47. ancestors
  48. veins
  49. argued
  50. thugs
  51. pick
  52. innocent
  53. cruel
  54. deliberately
  55. cold-blooded
  56. rage
  57. roaring
  58. haunts
  59. diplomacy
  60. feudal
  61. lords
  62. adventure
  63. major
  64. reshuffle
  65. cabinet
  66. sweats
  67. flesh
  68. stamped
  69. aching
  70. bare
  71. geese
  72. lies
  73. occupies
  74. brake
  75. pump
  76. paratroopers
  77. behalf
  78. footing
  79. confident
  80. approve
  81. sensible
  82. practical
  83. carried
  84. level-headed
  85. rowed
  86. ashore
  87. applauding
  88. grave
  89. reversed
  90. authority
  91. supper
  92. prospect
  93. around
  94. dependent
  95. whom
  96. sprang
  97. bill
  98. door
  99. drag
  100. vote
  101. gentle
  102. stroll
  103. humid
  104. chilly
  105. mouthfuls
  106. chillies
  107. illegally
  108. obtained
  109. publicity
  110. theft
  111. destroyed
  112. determination
  113. abroad
  114. cashmere
  115. temper
  116. hot-tempered
  117. meanwhile
  118. affair
  119. bothere
  120. anxious
  121. sexual
  122. attraction

引き終わった単語数がちょうど100達成!

2009年8月27日木曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語、14語。

  1. bitter
  2. bitterly
  3. afford
  4. nowhere
  5. intended 
  6. recede
  7. streetlamp
  8. affection  
  9. therefore  
  10. unsympathetic
  11. trail
  12. illness
  13. sneeze 
  14. sore

増えた単語数、70語。

  1. manufacturing
  2. democracies
  3. rift
  4. within
  5. reflects
  6. dispute
  7. disappointing
  8. sacked
  9. bureaucrats
  10. resented
  11. blow
  12. greeted
  13. delegates
  14. flurries
  15. leaves
  16. beer
  17. pint
  18. refrigerator
  19. rug
  20. prevent
  21. luxury
  22. anxiously
  23. corridor
  24. hedge
  25. sprung
  26. concrete
  27. yacht
  28. ordinary
  29. agenda
  30. dusk
  31. pitched
  32. camp
  33. behind
  34. waved
  35. youngish
  36. streetlight
  37. regard
  38. fond
  39. quite
  40. distant
  41. fuel
  42. conclusion
  43. thus
  44. difficulties
  45. charismatic
  46. complex
  47. woodland
  48. sticky
  49. detectives
  50. interrupted
  51. hecklers
  52. hangs
  53. loosely
  54. break
  55. polls
  56. blaze
  57. nature trail
  58. paper trail
  59. measles
  60. pneumonia
  61. disease
  62. infections
  63. surgery
  64. cold sore
  65. continuing
  66. presence
  67. remains
  68. students
  69. stick
  70. thumb

あと少しで100語。

2009年8月26日水曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語、11語。

  1. exceed
  2. aim
  3. discipline
  4. thrash
  5. compromise
  6. mutual
  7. accurate
  8. rinse
  9. neither
  10. nor
  11. complain

増えた単語数、96語。

  1. budget
  2. beyond
  3. awareness
  4. tightening
  5. existing
  6. sanctions
  7. remarks
  8. influenced
  9. undecided
  10. middle
  11. curbed
  12. steadying
  13. shins
  14. spotted
  15. criticize
  16. republican
  17. strategists
  18. senators
  19. practice
  20. obey
  21. headmasters
  22. governing
  23. calm
  24. voters
  25. strictly
  26. habits
  27. workman
  28. dismissed
  29. train
  30. regular
  31. detailed
  32. self-discipline
  33. hammer
  34. screamed
  35. stole
  36. shark
  37. infested
  38. collapsed
  39. magnificent
  40. paddle
  41. steamer
  42. mighty
  43. wheel
  44. muddy
  45. shaggy
  46. tunelessly
  47. thrashing
  48. encourage
  49. universally
  50. critics
  51. monetary
  52. policies
  53. honesty
  54. loyalty
  55. principles
  56. emergency
  57. committee
  58. shoot
  59. felt
  60. plain
  61. adores
  62. fruitless
  63. exclusive
  64. abandoned
  65. date
  66. quartz
  67. timepieces
  68. precise
  69. assessment
  70. utility
  71. prediction
  72. drastically
  73. punctuation
  74. precisely
  75. starch
  76. traces
  77. liquid
  78. germs
  79. spitting
  80. tongue
  81. invariably
  82. flouride
  83. funny
  84. disturbing
  85. quantifier
  86. absense
  87. recall
  88. relevant
  89. comprehend
  90. sacrifice
  91. flavour
  92. bitterly
  93. fulfill
  94. liable
  95. mistreatment
  96. advert

これまで、辞書で引いた単語数が77でちょうどぞろ目で、しかもラッキー7になったのでなんとなく嬉しくなりました。

2009年8月25日火曜日

English

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語、9語。

  1. faces
  2. sewers
  3. treatment
  4. noxious
  5. inhabitants
  6. bathe                                                                                    
  7. fine                                                                                                       
  8. dumps                                                                                    
  9. fall

増えた単語、118語。

  1. matter
  2. treated
  3. harmless
  4. attention
  5. sick
  6. eczema
  7. sewage
  8. discharged
  9. applied
  10. fumes
  11. burning
  12. fats
  13. flour
  14. bath
  15. feeds
  16. soak
  17. liquid
  18. salt
  19. solution
  20. sunshine
  21. sunbathe
  22. admire
  23. countryside
  24. deco
  25. engineered
  26. boats
  27. reasonably
  28. wishes
  29. satisfactory
  30. object
  31. arrangement
  32. scorched
  33. coarse
  34. ingredients
  35. coarsely
  36. delicate
  37. distinction
  38. exact
  39. proceed
  40. detail
  41. admiring
  42. spot
  43. punishment
  44. ordered
  45. illegal
  46. precedent
  47. pupils
  48. unload
  49. carelessly
  50. motorway
  51. law
  52. forbids
  53. hazardous
  54. soil
  55. tip
  56. rubbish
  57. ugly
  58. practice
  59. vital
  60. poll
  61. ditch
  62. firm
  63. below
  64. surplus
  65. magnetic
  66. massive
  67. ought
  68. seal
  69. boxes
  70. masonry
  71. withstand
  72. equivalent
  73. lying
  74. rainfall
  75. snowfall
  76. disorganized
  77. totally
  78. exhausted
  79. tore
  80. output
  81. stones
  82. prosecutions
  83. static
  84. convictions
  85. mass
  86. imprint
  87. military
  88. dictator
  89. civilian
  90. retreated
  91. assembled
  92. wave
  93. disrepair
  94. asleep
  95. victim
  96. exploitation
  97. blame
  98. oddly
  99. doorway
  100. certain
  101. hangs
  102. garment
  103. forehead
  104. laid
  105. upon
  106. handwriting
  107. outside
  108. judge
  109. fallen
  110. apart
  111. foot
  112. foul
  113. flat
  114. grace
  115. place
  116. short
  117. trap
  118. wayside

辞書で引いた単語数も、増加した単語数も昨日よりあがりました。毎日同じ時間内で学習しているので、ペースが上がってきたのかもしれません。

2009年8月24日月曜日

今日、英英辞典(Collins COBUID Dictionary on CD-ROM 2006)で引いた単語、4語。

  1. wasted
  2. cookery
  3. economical
  4. time

増えた単語、82語。

  1. unnecessary
  2. journey
  3. weak
  4. much
  5. petrol
  6. efficiently
  7. sensibly
  8. housekeeping
  9. necessary
  10. generally
  11. significance
  12. religion
  13. specific
  14. stated
  15. clocks
  16. departure
  17. st
  18. quay
  19. hellier
  20. take
  21. fairly
  22. quite
  23. pond
  24. terrible
  25. uncertainty
  26. affordable
  27. seemed
  28. alone
  29. aware
  30. occasion
  31. suffer
  32. ought
  33. opinion
  34. polls
  35. among
  36. arithmetic
  37. multiplied
  38. reel
  39. jig
  40. coincide
  41. boost
  42. intervention
  43. timing
  44. regulations
  45. apply
  46. surrounded
  47. continually
  48. beat
  49. predict
  50. tense
  51. circumstances
  52. favorable
  53. contradict
  54. spectacles
  55. robbery
  56. desperate
  57. madness
  58. remain
  59. immunotherapy
  60. experimental
  61. slight
  62. victims
  63. eventually
  64. patient
  65. exercises
  66. expects
  67. accurately
  68. pulsars
  69. accurate
  70. trip
  71. enthusiasm
  72. definitely
  73. resign
  74. moral
  75. seen
  76. attempt
  77. jail
  78. indeed
  79. optimism
  80. justified
  81. again
  82. fullness

timeで一気に単語が増えました。

2009年8月23日日曜日

Google ドキュメントをオフラインでも使いたいと思いGoogle Gearsをインストールしてみました。

けど、どうもうまく動かない。ドキュメントやスプレッドシートを開く(オンラインでもオフラインでも)と表示されないときがあり、その都度ブラウザでページの更新が必要になる。(更新すればちゃんと表示されます。)でも、その都度更新するのが手間がかかるので結局Gearsをアンインストールすることにしました。

ちなみに私の環境は

  • Mac OS X 10.5.8
  • プロセッサ 2.26 GHz Intel Core 2 Duo
  • メモリ 2 GB 1067 MHz DDR3
  • Safari バージョン 4.0.3

です。他のブラウザ(Internet Explorer、Firefox、Google chrome)とかだとちゃんと動くのかな...

それとも、環境が悪いのか、Gearsがまだ未完成なのか、どっちだろう...

もし、Gearsがまだ未完成なら安定する日が来るのが待ちどうしいです。オンラインだけよりは、オンラインでもオフラインでも気にすることなくシームレスで文書を編集できるのはやはり魅力的なので。ついでに文書だけでなくスプレッドシート等もオフラインでもへんしゅうできるようになることも期待しています。(今はスプレッドシートはオフラインでは閲覧のみで編集できないみたいなので)

2009年8月22日土曜日

辞書で引いていく単語の順番をツリー式だったのを、上から順番に引いていくように変更しました。

引き終わった単語を太字にするという変更も加えました。

これによって移動が縦スクロール(Macのマルチタッチトラックパッドを2本指で上下にさっと動かす)だけになり、Google ドキュメントの横幅を気にする必要がなくなりました。さらに、スピードも上がった気がします。(正確に測ったわけではないので、体感的に)

2009年8月21日金曜日

少し問題が発生。Google ドキュメントって横幅に制限があるみたいです。(ヘルプで確認していないので、間違っているかも) これまでは単語ごとにtab区切りしてきたけど、これからは半角スペースで区切って生きたいと思います。今までのは一気に修正するのは大変ぽいので、毎日少しずつ修正していくことにしました。一気に修正するいい方法を知ってる方がいたら、コメント欄等で教えていただけるとありがたいです。

2009年8月20日木曜日

Google ドキュメントの操作に慣れてきて、だんだんペースがあがってきました。文書が横に長くなってきたけど、Macのマルチタッチトラックパッドで2本指での横スクロールを多用してます。昨日まで横スクロールバーを利用してただけだったので、昨日より作業がかなり速くなりました。便利な機能だけどすっかり忘れてて...

2009年8月19日水曜日

まだまだわからない単語が多すぎて、だんだん横に長くなってきました。Googleドキュメントって容量どれくらいまで大丈夫なんだろう、ひとつのファイルですむといいけど...

2009年8月18日火曜日

注文していた本が到着。とりあえずわからないところがあっても気にせず、最後まで一気に読んでみたいと思います。

辞書を引いては読む、引いては読むの繰り返しにだんだん慣れてきました。相変わらずまだ1語め(enough)です。

2009年8月17日月曜日

プログラミングの学習が楽しくなってきたので、Visual C#を本格的に学ぼうかと思い、マイクロソフトプレス オンライン ホームページから文法からはじめるプログラミング言語Microsoft Visual C#入門(マイクロソフト公式解説書) WINGSプロジェクトを選び、Amazonにて注文。届いてみないと内容はわからないけど、目次を見る限り、これから簡易な辞書代わりとして使えるといいなと思います。

2009年8月16日日曜日

明日は週1回の休みにします。

1語め(enough)が終わるのいつだろう...

2009年8月15日土曜日

goに多めの例文がありました。しかもgo自体も3つあります。

明日か、明後日は週1回の英語の休日にします。

2009年8月14日金曜日

まだ始めたばかりなので、どんどん単語が増えていってます。

2009年8月13日木曜日

第 7 章 掲示板を作ろう

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="keiji_main.aspx.cs" Inherits="Chap7_keiji_main" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>掲示板</title>
</head>
<body style="background-color: #bbcccc;">
<form id="form1" runat="server">
<div>
<span style="color: #000080"></span>
<h2>
<span style="color: #000080">掲示板</span></h2>
<asp:LinkButton ID="Button_Refresh" runat="server" OnClick="Button_Refresh_Click">更新</asp:LinkButton><br />
<br />
<asp:Panel ID="Panel_Subject" runat="server" Style="float: left">
<asp:GridView ID="GridView_Subject" runat="server" AutoGenerateColumns="False" BorderStyle="Ridge"
BorderWidth="3px"
ShowHeader="False" Style="font-size: small; overflow: visible; clip: rect(auto 20px auto auto)"
Width="150px" onrowcommand="GridView_Subject_RowCommand">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID">
<ItemStyle BorderStyle="None" HorizontalAlign="Right" Width="20px" Wrap="False" />
</asp:BoundField>
<asp:ButtonField CommandName="Select" DataTextField="Title" Text="タイトル">
<ItemStyle BorderStyle="None" />
</asp:ButtonField>
<asp:BoundField DataField="ReplyNum" DataFormatString="({0})" HeaderText="返信数">
<ItemStyle BorderStyle="None" HorizontalAlign="Right" />
</asp:BoundField>
</Columns>
<RowStyle Wrap="False" />
<SelectedRowStyle Font-Bold="True" ForeColor="Navy" />
</asp:GridView>
<asp:Button ID="Button_NewSubject" runat="server" OnClick="Button_NewSubject_Click"
Text="新しいテーマ" /></asp:Panel>
<asp:Panel ID="Panel_Reply" runat="server" Width="500px" BorderStyle="Outset" BorderWidth="2px">
<br />
&nbsp; &nbsp; &nbsp;<asp:Literal ID="Literal1" runat="server" Text="テーマ番号:"></asp:Literal>
<asp:Literal ID="Literal_SubjectID" runat="server"></asp:Literal><br />
<table cellpadding="0" cellspacing="0" style="border-right: gray thin solid; border-top: gray thin solid;
border-left: gray thin solid; border-bottom: gray thin solid; left: 20px; position: relative; top: 0px;" width="400" id="TABLE_Subject" visible="true">
<tr>
<td style="height: 20px; background-color: #cc99ff;">
&nbsp;<asp:Label ID="Label_Person" runat="server" Text="名前"></asp:Label>&nbsp; (<asp:Label
ID="Label_Date" runat="server" Text="時刻"></asp:Label>)</td>
</tr>
<tr>
<td style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px">
<asp:Literal ID="Literal_SubjectText" runat="server"></asp:Literal></td>
</tr>
</table>
<asp:DataList ID="DataList_Reply" runat="server" CellPadding="0" CellSpacing="5"
ShowHeader="False" Style="left: 40px; position: relative; top: 0px" OnItemDataBound="DataList_Reply_ItemDataBound">
<ItemTemplate>
<table cellpadding="0" cellspacing="2" style="width: 400px">
<tr>
<td style="background-color: #90ee90; height: 20px;">
<asp:Literal ID="R_Person" runat="server" Text='<%# Eval("Person") %>'></asp:Literal>
&nbsp; (<asp:Literal ID="R_Date" runat="server" Text='<%# Eval("Date") %>'></asp:Literal>
)</td>
</tr>
<tr>
<td>
<asp:Literal ID="R_Text" runat="server" Text='<%# Eval("Text") %>'></asp:Literal>
</td>
</tr>
</table>
</ItemTemplate>
<ItemStyle BorderColor="Gray" BorderStyle="Solid" BorderWidth="1px" />
<HeaderTemplate>
&nbsp;&nbsp;<br />
&nbsp;
</HeaderTemplate>
<HeaderStyle BorderColor="#000040" BorderStyle="Solid" BorderWidth="1px" />
</asp:DataList>
<asp:Button ID="Button_NewReply" runat="server" OnClick="Button_NewReply_Click" Text="返事を書く" style="left: 40px; position: relative" /><br />
<asp:Panel ID="Panel_ReplyAdd" runat="server" Height="162px" Style="left: 39px; position: relative; top: 0px;"
Visible="False" Width="410px">
<br />
&nbsp;名前:
<asp:DropDownList ID="R_Person_Input" runat="server" DataSourceID="XmlDataSource1" DataTextField="Name" DataValueField="Name">
</asp:DropDownList><br />
&nbsp;コメント:<br />
<asp:TextBox ID="R_Text_Input" runat="server" Height="50px" Style="overflow: auto"
TextMode="MultiLine" Width="400px"></asp:TextBox><br />
&nbsp;<asp:Button ID="R_Button_Add" runat="server" OnClick="R_Button_Add_Click" Text="登録" /><br />
&nbsp;<asp:Label ID="R_Error" runat="server" ForeColor="Red"></asp:Label></asp:Panel>
<br />
</asp:Panel>
<asp:Panel ID="Panel_SubjectAdd" runat="server" Height="210px" Visible="False" Width="660px" style="clear: both;">
<hr />
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Chap7/Data/Persons.xml">
</asp:XmlDataSource>
名前:
<asp:DropDownList ID="S_Person_Input" runat="server" DataSourceID="XmlDataSource1" DataTextField="Name" DataValueField="Name">
</asp:DropDownList><br />
タイトル:
<asp:TextBox ID="S_Title_Input" runat="server" MaxLength="16" Width="300px"></asp:TextBox><br />
&nbsp;コメント:<br />
<asp:TextBox ID="S_Text_Input" runat="server" Height="50px" Style="overflow: auto"
TextMode="MultiLine" Width="400px"></asp:TextBox><br />
&nbsp;<asp:Button ID="S_Button_Add" runat="server" OnClick="S_Button_Add_Click" Text="登録" /><br />
<asp:Label ID="S_Error" runat="server" ForeColor="Red"></asp:Label></asp:Panel>
&nbsp;
<br />
<a href="keiji_manage.aspx" style="clear: both">掲示板管理画面へ</a></div>
</form>
</body>
</html>


終了。

2009年8月12日水曜日

いよいよステップ3までたどり着きました。これからわからない単語をメモっていきたいと思います。

これから、上記のサイトが埋まっていくように続けて生きたいと思います。同じように英語の学習をしている方の参考になればうれしいです。(埋まるたびに上記は更新しているので、もう埋まっているかも知れません...)

ちなみに辞書は

を使うことにしました。CD-ROMがとても便利です。

このブログではソースコードの貼り付け方を

  1. ただ貼り付ける。
  2. SyntaxHighlighter for Windows Live Writerを使う。(ちなみにこのブログはWindows Live Writerで書いています。)

と変えてきましたが、

テキストエリア <TEXTAREA> - HTMLタグリファレンス/Tips

でHTMLタグで<TEXTAREA wrap=off><TEXTAREA>でコードを囲めば縦、横とも自動的にスクロールバーができて、見やすくできることを知ったので今後はそうしていきたいと思います。

初心者なのでブログ、プログラミングを趣味で始めて、いろんな発見があって毎日が楽しいです。

コメント欄にてプログラミングについて等いろいろと皆様に指摘、添削などしていただけると、有難いです。

2009年8月11日火曜日

第 6 章 野球シミュレーション 2

野球チームの編集

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.IO;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Chap6_teams : System.Web.UI.Page
{
string DataFolderURL = "~/Chap6/Data/";
string TeamListFile = "チームリスト.xml";
string NewTeamFile = "新チームテンプレート.xml";
string DataFolder;

DataSet teamDS = new DataSet(); // メンバ表示に使用する選択チームの DataSet
DataSet teamListDS = new DataSet(); // チーム名一覧用の DataSet(編集作業用)

// ページロード時の処理
protected void Page_Load(object sender, EventArgs e)
{
DataFolder = Server.MapPath(DataFolderURL);

// ViewState から編集中のチームデータを取得する。
if (ViewState["TeamDS"] != null)
{
teamDS = (DataSet)ViewState["TeamDS"];
Member.DataSource = teamDS.Tables["選手"];
}
}

// 表示直前の処理
protected void Page_PreRender(object sender, EventArgs e)
{
// 削除欄のチームメンバのドロップダウンリストを更新する。
teamListDS.Clear();
teamListDS.ReadXml(DataFolder + TeamListFile);
TeamName_Del.DataSource = teamListDS.Tables["チーム"];
TeamName_Del.DataBind();
}

// チーム選択が変更された時の処理
protected void Team_Changed(object sender, EventArgs e)
{
// チームデータの編集中だった場合は、変更をキャンセルして戻る。
if (Panel_Edit.Visible == true)
{
Label_TeamSelectError.Text
= "編集中はチームを変更できません。「保存」または「キャンセル」をおこなってください。";
TeamName_Select.SelectedValue = (string)teamDS.Tables["チーム"].Rows[0]["チーム名"];
return;
}

// 選択されたチームのメンバを表示する。
teamDS.Clear();
teamDS.ReadXml(DataFolder + TeamName_Select.SelectedValue + ".xml");
Member.DataSource = teamDS.Tables["選手"];
Member.DataBind();

// 選手が選択されていない状態にする。入力欄をクリアする。
Member.SelectedIndex = -1;
Order.Text = "";
Name.Text = "";
Hit.Text = "";

// ViewSate にチームデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// 編集ボタンが押された時の処理
protected void Button_Edit_Click(object sender, EventArgs e)
{
// 編集用のボタンを表示して、編集以外のボタンは使用できないようにする。
Button_Up.Visible = true;
Button_Down.Visible = true;
Panel_Edit.Visible = true;
Button_NewTeam.Enabled = false;
Button_DelTeam.Enabled = false;
}

// 選手が選択された時の処理
protected void Member_Selected(object sender, EventArgs e)
{
// 選手が選択されていない場合は何もしない。
if (Member.SelectedIndex == -1)
return;
// 選択されたメンバを編集用 TextBox に表示する。
Order.Text = Member.SelectedRow.Cells[1].Text;
Name.Text = Member.SelectedRow.Cells[2].Text;
Hit.Text = Member.SelectedRow.Cells[3].Text;
}

// 変更ボタンが押された時の処理
protected void Modify_Click(object sender, EventArgs e)
{
// 選手が選択されていない場合は何もしない。
if (Member.SelectedIndex == -1)
return;
// 編集用 TextBox に設定された値でチームデータを更新する。
DataRow row = teamDS.Tables["選手"].Rows[Convert.ToInt32(Order.Text) - 1];
row["打順"] = Order.Text;
row["名前"] = Name.Text;
row["打率"] = Hit.Text;

// メンバを表示する。
Member.DataBind();

//ViewState にデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// 選手リストの上矢印ボタンが押された時の処理
protected void Button_Up_Click(object sender, ImageClickEventArgs e)
{
int index;
string temp;
DataTable teamTable;

index = Member.SelectedIndex;
// 選手が選択されていないか、先頭打者の場合は何もしない。
if (index == -1 || index == 0)
return;
teamTable = teamDS.Tables["選手"];

// 一つ前の選手と入れ替える。
temp = (string)teamTable.Rows[index - 1]["名前"];
teamTable.Rows[index - 1]["名前"] = (string)teamTable.Rows[index]["名前"];
teamTable.Rows[index]["名前"] = temp;
temp = (string)teamTable.Rows[index - 1]["打率"];
teamTable.Rows[index - 1]["打率"] = (string)teamTable.Rows[index]["打率"];
teamTable.Rows[index]["打率"] = temp;

Order.Text = (string)teamTable.Rows[index - 1]["打順"];

// メンバ表示を更新する。
Member.DataBind();
Member.SelectedIndex = index - 1;

//ViewState にデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// 選手リストの下矢印ボタンが押された時の処理
protected void Button_Down_Click(object sender, ImageClickEventArgs e)
{
int index;
string temp;
DataTable teamTable;

index = Member.SelectedIndex;
// 選手が選択されていないか、最後の選手の場合は何もしない。
if (index == -1 || index == 8)
return;
teamTable = teamDS.Tables["選手"];

// 一つ後の選手と入れ替える。
temp = (string)teamTable.Rows[index + 1]["名前"];
teamTable.Rows[index + 1]["名前"] = (string)teamTable.Rows[index]["名前"];
teamTable.Rows[index]["名前"] = temp;
temp = (string)teamTable.Rows[index + 1]["打率"];
teamTable.Rows[index + 1]["打率"] = (string)teamTable.Rows[index]["打率"];
teamTable.Rows[index]["打率"] = temp;

Order.Text = (string)teamTable.Rows[index + 1]["打順"];

// メンバ表示を更新する。
Member.DataBind();
Member.SelectedIndex = index + 1;

//ViewState にデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// 保存ボタンが押された時の処理
protected void Button_Save_Click(object sender, EventArgs e)
{
// 編集用のボタンを非表示にする。編集以外のボタンを使用できるようにする。
Button_Up.Visible = false;
Button_Down.Visible = false;
Panel_Edit.Visible = false;
Button_NewTeam.Enabled = true;
Button_DelTeam.Enabled = true;

// 編集されたチームメンバのデータを保存する。
teamDS.WriteXml(DataFolder + TeamName_Select.SelectedValue + ".xml");

// 選手が選択されていない状態にする。入力欄をクリアする。
Member.SelectedIndex = -1;
Order.Text = "";
Name.Text = "";
Hit.Text = "";

// ViewSate にデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// キャンセル ボタンが押された時の処理
protected void Button_Cancel_Click(object sender, EventArgs e)
{
// 編集用のボタンを非表示にして、編集以外のボタンは使用できるようにする。
Button_Up.Visible = false;
Button_Down.Visible = false;
Panel_Edit.Visible = false;
Button_NewTeam.Enabled = true;
Button_DelTeam.Enabled = true;

// サーバー上のチームファイルで表示を更新する。
teamDS.Clear();
teamDS.ReadXml(DataFolder + TeamName_Select.SelectedValue + ".xml");
Member.DataSource = teamDS.Tables["選手"];
Member.DataBind();

// 選手が選択されていない状態にする。入力欄をクリアする。
Member.SelectedIndex = -1;
Order.Text = "";
Name.Text = "";
Hit.Text = "";

// ViewSate にデータを保存する。
ViewState["TeamDS"] = teamDS;
}

// チームの新規作成ボタンが押された時の処理
protected void Button_NewTeam_Click(object sender, EventArgs e)
{
DataSet newTeamDS = new DataSet();
DataRow row;

// 指定されたチーム名のファイルが既に存在する場合には何もしない。
if (File.Exists(DataFolder + TeamName_New.Text + ".xml"))
{
Label_TeamError.Text = "指定されたチーム名は既に存在します。";
return;
}
// テンプレートファイルを使って新チームを作成する。
newTeamDS.ReadXml(DataFolder + NewTeamFile);
row = newTeamDS.Tables["チーム"].Rows[0];
row["チーム名"] = TeamName_New.Text;
newTeamDS.WriteXml(DataFolder + TeamName_New.Text + ".xml");

// チームリストデータベースを更新する。
teamListDS.Clear();
teamListDS.ReadXml(DataFolder + TeamListFile);
row = teamListDS.Tables["チーム"].NewRow();
row["チーム名"] = TeamName_New.Text;
teamListDS.Tables["チーム"].Rows.Add(row);
teamListDS.WriteXml(DataFolder + TeamListFile);

// 新しいチームのメンバを表示する。
TeamName_Select.DataBind();
TeamName_Select.SelectedIndex = TeamName_Select.Items.Count - 1;
Member.DataSource = newTeamDS.Tables["選手"];
Member.DataBind();

TeamName_New.Text = "";

//ViewState にチームデータを保存する。
ViewState["TeamDS"] = newTeamDS;
}

// チームの削除ボタンが押された時の処理
protected void Button_DelTeam_Click(object sender, EventArgs e)
{
string teamName = TeamName_Del.SelectedValue;

// 最新のチーム一覧ファイルを読み込み、削除する行を探す。
teamListDS.Clear();
teamListDS.ReadXml(DataFolder + TeamListFile);
DataRow row = teamListDS.Tables["チーム"].Select("チーム名 = '" + teamName + "'")[0];

// チーム一覧データベースを更新する。
teamListDS.Tables["チーム"].Rows.Remove(row);
teamListDS.WriteXml(DataFolder + TeamListFile);

// 選択されたチームのデータファイルを削除する。
File.Delete(DataFolder + teamName + ".xml");

// ドロップダウンリストの選択肢を更新する。
TeamName_Select.DataBind();
}
}



終了。

2009年8月9日日曜日

第 5 章 野球シミュレーション 1

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Chap5_baseball : System.Web.UI.Page
{
string DataFolderURL = "~/Chap5/Data/";
string DataFolder;
DataSet Team_1, Team_2;
DataTable ScoreTable;

protected void Page_Load(object sender, EventArgs e)
{
DataColumn column;
DataRow row;

DataFolder = Server.MapPath(DataFolderURL);

//スコア掲示板用のテーブルを作る
ScoreTable = new DataTable("スコアボード");

//チーム名用のカラムを作る
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "チーム";
column.Caption = "チーム";
ScoreTable.Columns.Add(column);

//イニング用のカラムを作る
for (int i = 1; i <= 9; i++)
{
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = i.ToString();
column.Caption = i.ToString();
ScoreTable.Columns.Add(column);
}

//トータルスコア用のカラムを作る
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "計";
column.Caption = "計";
ScoreTable.Columns.Add(column);

row = ScoreTable.NewRow();
ScoreTable.Rows.Add(row);
row = ScoreTable.NewRow();
ScoreTable.Rows.Add(row);

//スコアボードを表示
ScoreBord.DataSource = ScoreTable;
ScoreBord.DataBind();

//チームを表す DataSet を作成する
Team_1 = new DataSet();
Team_2 = new DataSet();
}

protected void Start_Click(object sender, EventArgs e)
{
string record;

// ドロップダウンリストで選択されたチームを読み込む
Team_1.ReadXml(DataFolder + DropDownList1.SelectedValue + ".xml");
Team_2.ReadXml(DataFolder + DropDownList2.SelectedValue + ".xml");

//野球の試合のシミュレーション計算をおこなう
SimBaseball simBaseball = new SimBaseball();
simBaseball.PlayAll(Team_1, Team_2, ScoreTable, out record);

//結果を表示
ScoreBord.DataSource = ScoreTable;
ScoreBord.DataBind();
ResultLog.Text = record;
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//選択されたチームのメンバを表示する
Team_1.ReadXml(DataFolder + DropDownList1.SelectedValue + ".xml");
Member_1.DataSource = Team_1.Tables["選手"];
Member_1.DataBind();
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
//選択されたチームのメンバを表示する
Team_2.ReadXml(DataFolder + DropDownList2.SelectedValue + ".xml");
Member_2.DataSource = Team_2.Tables["選手"];
Member_2.DataBind();
}
}










using System;
using System.Data;
using System.Configuration;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// 野球の試合のシミュレータ
/// </summary>
public class SimBaseball
{
/// <summary>
/// コンストラクタ
/// </summary>
public SimBaseball()
{
}

/// <summary>
/// 野球の一試合をシミュレートする
/// </summary>
/// <param name="Team_T">先攻のチーム</param>
/// <param name="Team_B">後攻のチーム</param>
/// <param name="ScoreTable">スコア表 (出力)</param>
/// <param name="Record">試合の記録 (出力)</param>
public void PlayAll(DataSet Team_T, DataSet Team_B, DataTable ScoreTable, out string Record)
{
// ベース上のランナーの配列 0: 一塁、 1: 二塁、 2: 三塁
Player[] runner = new Player[3];
// 試合経過記録用の変数
StringBuilder record = new StringBuilder("");
// シミュレーション計算用の乱数
Random rnd = new Random();

DataRow score_T, score_B;
int outCount, basehit;
int score;

// 先攻と後攻のチームを生成する
Team team_T, team_B;

team_T = new Team(Team_T);
team_B = new Team(Team_B);

// スコア表を初期化する
ScoreTable.Rows.Clear();
score_T = ScoreTable.NewRow();
score_T["チーム"] = team_T.TeamName;
score_T["計"] = 0;
ScoreTable.Rows.Add(score_T);
score_B = ScoreTable.NewRow();
score_B["チーム"] = team_B.TeamName;
score_B["計"] = 0;
ScoreTable.Rows.Add(score_B);

// 1回から9回まで試合をシミュレートする
for (int inning = 1; inning <= 9; inning++)
{
// 記録にイニング毎の区切りを追加
record.AppendLine("--- " + inning + "回表 ---");

// イニングの初期化
outCount = 0;
for (int i = 0; i < 3; i++)
runner[i] = null;
score = 0;

// スリーアウトになるまでバッテイングを繰り返す
while (outCount < 3)
{
// バッテイングをおこなう
basehit = team_T.Butter.Hitting(rnd);
if (basehit == 0)
{
// アウト。アウトカウントを増やす。
outCount++;
record.AppendLine(team_T.Butter.Name + ": アウト!");

}
else
{
// 記録を書き足す
switch (basehit)
{
case 1:
record.AppendLine(team_T.Butter.Name + ": ヒット!");
break;
case 2:
record.AppendLine(team_T.Butter.Name + ": 二塁打!");
break;
case 3:
record.AppendLine(team_T.Butter.Name + ": 三塁打!");
break;
case 4:
record.AppendLine(team_T.Butter.Name + ": ホームラン!!");
break;
}
// ランニングを行う
score += Running(team_T.Butter, runner, basehit);

}
// 次のバッターに変更
team_T.NextButter();
}
// イニング終了。スコアボードの得点を更新する。
score_T[inning.ToString()] = score;
score_T["計"] = (int)score_T["計"] + score;

// 記録にイニング毎の区切りを追加
record.AppendLine("--- " + inning + "回裏 ---");

// イニングの初期化
for (int i = 0; i < 3; i++)
runner[i] = null;
outCount = 0;
score = 0;

// スリーアウトになるまでバッテイングを繰り返す
while (outCount < 3)
{
// バッテイングをおこなう
basehit = team_B.Butter.Hitting(rnd);
if (basehit == 0)
{
// アウト。アウトカウントを増やす。
outCount++;
record.AppendLine(team_B.Butter.Name + ": アウト!");
}
else
{
// 記録に書き足す。
switch (basehit)
{
case 1:
record.AppendLine(team_B.Butter.Name + ": ヒット!");
break;
case 2:
record.AppendLine(team_B.Butter.Name + ": 二塁打!");
break;
case 3:
record.AppendLine(team_B.Butter.Name + ": 三塁打!");
break;
case 4:
record.AppendLine(team_B.Butter.Name + ": ホームラン!!");
break;
}
// ランニングを行う
score += Running(team_B.Butter, runner, basehit);

}
// 次のバッターに変更
team_B.NextButter();
}
// イニング終了。スコアボードの得点を更新する
score_B[inning.ToString()] = score;
score_B["計"] = (int)score_B["計"] + score;
}
//記録を戻す。
Record = record.ToString();

}

/// <summary>
/// ベースランニングをシミュレートするメソッド
/// </summary>
/// <param name="Butter">打者</param>
/// <param name="Runner">塁上にいる選手の配列</param>
/// <param name="Base">何塁打かを表す数字。1がシングルヒット。4がホームラン。</param>
/// <returns>得点</returns>
private int Running(Player Butter, Player[] Runner, int Base)
{
int score = 0;

if (Base == 1)
{
// シングルヒットの場合、ベースを一つずつ進める
if (Runner[2] != null)
score++;
Runner[2] = Runner[1];
Runner[1] = Runner[0];
Runner[0] = Butter;
}
else
{
// 二塁打以上の場合、ランナーは全員返る。
for (int i = 0; i < 3; i++)
{
if (Runner[i] != null)
{
score++;
Runner[i] = null;
}
}
if (Base == 4)
score++;
else
Runner[Base - 1] = Butter;
}
//得点を返す
return score;
}

}

/// <summary>
/// 野球チームを表すクラス
/// </summary>
public class Team
{
/// <summary>
/// チーム名
/// </summary>
private string teamName;
/// <summary>
/// 現在の打順のバッター
/// </summary>
private int currentButter;
/// <summary>
/// 選手リスト。1番バッターから順に配列に並べる
/// </summary>
private Player[] playerList = new Player[9];

// プロパティ アクセサ

/// <summary>
/// チーム名
/// </summary>
public string TeamName
{
get { return teamName; }
}

/// <summary>
/// 現在の打順のバッター
/// </summary>
public Player Butter
{
get { return playerList[currentButter]; }
}

/// <summary>
/// コンストラクタ。チームメンバのリストを生成する。
/// </summary>
/// <param name="teamDS">チームのデータを含む DataSet</param>
public Team(DataSet teamDS)
{
teamName = (string)teamDS.Tables["チーム"].Rows[0]["チーム名"];

// 選手リストを作成する
for (int order = 0; order < 9; order++)
{
playerList[order] = new Player(teamDS.Tables["選手"].Rows[order]);
}
currentButter = 0;
}

/// <summary>
/// 打順を次のバッターに進めるメソッド
/// </summary>
public void NextButter()
{
currentButter++;
if (currentButter >= 9)
currentButter = 0;
}
}

/// <summary>
/// 選手を表すクラス
/// </summary>
public class Player
{
// 内部フィールド値
private string name;
private double daritsu;

// プロパティ アクセサ
public string Name
{
get { return name; }
}

public double Daritsu
{
get { return daritsu; }
}

// コンストラクタ
public Player(DataRow dataRow)
{
name = (string)dataRow["名前"];
daritsu = Convert.ToDouble((string)dataRow["打率"]);
}

/// <summary>
/// バッテイングをおこなうメソッド
/// </summary>
/// <param name="rnd">シミュレーション計算用の乱数</param>
/// <returns>バッテイングの結果。
/// 0: アウト, 1: 一塁打... , 4: ホームラン
/// </returns>
public int Hitting(Random rnd)
{
if (rnd.NextDouble() > daritsu)
return 0;

double rndDbl = rnd.NextDouble();
if (rndDbl < 0.05)
return 4;
else if (rndDbl < 0.10)
return 3;
else if (rndDbl < 0.30)
return 2;
else
return 1;
}
}










終了。

2009年8月8日土曜日

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class playerinformationForm : Form
{
public playerinformationForm()
{
InitializeComponent();
}

private void label5_Click(object sender, EventArgs e)
{

}

private void okButton_Click(object sender, EventArgs e)
{
this.Close();
}
}
}






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
partial class versioninformationBox : Form
{
public versioninformationBox()
{
InitializeComponent();
this.Text = String.Format("{0} のバージョン情報 {0}", AssemblyTitle);
this.labelProductName.Text = AssemblyProduct;
this.labelVersion.Text = String.Format("バージョン {0} {0}", AssemblyVersion);
this.labelCopyright.Text = AssemblyCopyright;
this.labelCompanyName.Text = AssemblyCompany;
this.textBoxDescription.Text = AssemblyDescription;
}

#region アセンブリ属性アクセサ

public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}

public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}

public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}

public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}

public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}

public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
}
}




第7章まで終了。



2009年8月6日木曜日

オフィススイートはMicrosoft Office XP Personal→iWork→Google ドキュメント、と移行して使っているけど、次はMicrosoft Office Standard 2007を使用してみることにしました。

Microsoft Office Online

スプレッドシートをみるためにExcelを使いたいけど、今の環境のWindows 7 RCだと、どうもExcel Viewerがうまくインストールできないので試用版を試してみることにしました。(サイズが結構大きい(393.21MB)のでDCさくらでダウンロード今まで使ってきた、iWorkGoogle ドキュメントと比べて使い勝手がよかったら乗り換えようと思います。(ちなみにOffice XP Personalは手元にあるけど、前に使っていたPCについてきたもので、Mac Book Pro 13.3、VMware fusion。Windows '7 RCの今の環境ではライセンス上の問題で使えない。)

後日、使用してみた感想を書きたいと思います。

でも、やっぱりGoogle ドキュメントの無償っていうのは魅力的かも。Microsoftも次期バージョンでWebペースの無料版を出すらしいのでそれも楽しみです。

マイクロソフトが国内でも無償のWeb版Office、今秋にベータ公開 - ニュース:ITpro

2009年8月5日水曜日

第 3 章 携帯電話の利用料金の計算

携帯電話の利用料の計算

Macにも同じ機能があることがわかりました。ので、その設定の手順をメモ。

  1. 画面上で右クリックをしてデスクトップのバックグラウンドの変更をクリック。
  2. ピクチャを変更のチェックボックスをオン。

これで設定完了。

ただ、フォルダ内単位で変更するのか、アップル、自然、植物、・・・と全体のファイルを順番に変更してくれるのかわからないので、わかり次第また書きたいと思います。

わかる方がいたら、ぜひコメント欄で教えてください。

2009年8月4日火曜日

7月23日号!Twitter・Skype・そして、マインドマイスター!で面白そうなwebアプリを発見。

早速使ってみる。

http://www.mindmeister.com/25773891/macbook-pro-13-3

とりあえず作ったのは思考マップじゃないけど使ってて楽しいです。とにかく簡単。

6個まで作れるみたいなので、次はちゃんと思考マップを作りたいと思います。

Windows 7の30分ごとに壁紙を切り替えて楽しませてくれる機能が気に入ったので、今まではMacのデフォルトの壁紙をそのまま使ってたけど、Windows 7の壁紙に切り替えることにしました。その手順を以下にメモしておきます。

  1. Mac OS XのSpacesの環境設定で2のSpaceをVMware fusionに割り当てる。
  2. よく使うMacのアプリケーション(Safari、Mail.app、iTunes、iCal等のWindowは常に開いておく。(理由は下記3で) VMwareのメニュー、表示でフルスクリーンモードを開始する。
  3. 上記のMacのアプリケーションを使うときは、マルチタッチトラックパッドを4本指で左右にささっと動かして、使いたいアプリケーションを選ぶ。(このとき上記にでアプリケーションのWindowを開いておかないとうまくいかない)あるいはSpacesの環境設定でメニューバーに操作スペースを表示にチェックしておき、メニューからSpaces1に移動する。(ちなみにこの場合は普通にMacの画面に戻るので、上記2でWindowを開いておく必要はない)

これでWindows 7の壁紙を楽しめます。Macにも同じような機能があるのかも知れないけど、わかんないので、とりあえずこれで終了。

このブログを呼んでくれている方もぜひ試してみてください。Macを使ってないときでもMacの画面がデジタルフォトスタンドのようになり次はどんな画像かとわくわくします。

先日インストールしたWindows 7 RC 64bitバージョンをI Run Windows 7で評価してみました。使ってみると予想以上に楽しく、お勧めです。発売が楽しみです。

 

I Run Windows 7. Voice Chart / Windows 7 β/RC 版評価チャート

2009年8月3日月曜日

VMware fusion 2をいれてからTime Machineが毎回かなりの量のバックアップをするようになったのでTime Machineの設定を変更。たぶん原因は毎回仮想マシンをバックアップしてるからだと思ったので、

  1. 毎回仮想マシン全部をバックアップしてるっぽいので除外リストに仮想マシンフォルダを加える。
  2. 仮想マシンのバックアップもしたいのでVMwareの仮想マシン、設定で左下のAutoProtectを有効にする。

AutoProtectのスナップショットはMac側のハードディスクに保存されるらしいので(どっかのサイトで見たする)、たぶんスナップショットはTime MachineでTime Capsuleにバックアップされる。

これであってるのかな?

詳しい方がいたらぜひコメント欄で教えてください。

Windows 7 RC のダウンロード期限(8月20日)が近づいてきたので、期限が切れる前にダウンロードしてVMwareの上にインストールしてみました。(ダウンロードさえしておけば、インストールは期限が切れても大丈夫みたい)
バージョンはせっかくなので64bitの方を選んでダウンロード。

  1. VMwareはWindows 7 RC ×64をWindows Vista ×64と認識。
  2. そのままインストールを続行。
  3. うまくいくか少し不安になる。何回か勝手に再起動し、1時間くらいでインストール終了。

今の所特に問題なし。

途中で何か入力することがないかずっとMac Book Proの前にいて、約1時間かかったので結構疲れました。
先日インストールしたUbuntuと比べると、かなり長い時間かかったけど、入力する項目はなく2から3までは自動で終わったので、これからインストールする人は1時間くらい他のことをしていても多分大丈夫だと思います。(このブログを読んでくれた方の参考になれば嬉しいです。)

今日はここまでで、後日いろいろと使ってみた感想を書きたいと思います。

2009年8月2日日曜日


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace WindowsFormsApplication1
{
public partial class mainForm : Form
{
//ゲームレベルの最高値を表す定数
private const int MAX_GAME_LEVEL = 15;
//動物の種類の数を表す定数
private const int ANIMAL_COUNT = 6; private int gamelevel = 1; //ゲームレベル
private int score = 0; //スコア private int clickcount = 0; //クリック回数
private bool isAnswering = false; //解答中を示すフラグ //規定の背景画像
private Image defaultbackgroundImage;
//○と×の画像
private Image correctImage;
private Image uncorrectImage;
//ポイント(点数)として表示する画像からなる配列
private Image[] pointimageArray = new Image[10];
//解答歴に表示する画像からなる配列
private Image[] answerimageArray = new Image[ANIMAL_COUNT];
//動物の画像を保持しているピクチャボックスからなる配列
private PictureBox[] showuppictureArray = new PictureBox[ANIMAL_COUNT];
//正解を示す数値からなる配列
private int[] answerArray = new int[MAX_GAME_LEVEL]; private playerInformation playingplayerInformation = null;
private playerInformation[] playerinformationArray;
private int maxIndex = -1;
private string logfilePath = Application.StartupPath + "\\play.log";
private bool WriteNewData(int score, bool isCleared)
{
bool isNewrecord = playingplayerInformation.SetNewData(score, isCleared);
string outputbuffer = playingplayerInformation.Name +
"\t" + score.ToString() + "\t" + isCleared.ToString();
System.IO.StreamWriter writer =
new System.IO.StreamWriter(logfilePath, true);
writer.WriteLine(outputbuffer);
writer.Close();
return isNewrecord;
} public mainForm()
{
InitializeComponent();
} private void ResetBackGround()
{
this.backgroundPicture.Image = defaultbackgroundImage;
}
private void HideAnswerPictures()
{
foreach (PictureBox answerbox in this.answerpicturesGroup.Controls)
{
answerbox.Visible = false;
}
}
private void DrawImageOnBackGround(Image drawimage, int x, int y)
{
Bitmap canvasbitmap = new Bitmap(this.backgroundPicture.Image);
Graphics.FromImage(canvasbitmap).DrawImage(drawimage, x - this.backgroundPicture.Left, y - this.backgroundPicture.Top);
this.backgroundPicture.Image = canvasbitmap;
}
private void DrawImageOnBackGround(PictureBox drawpicture)
{
DrawImageOnBackGround(drawpicture.Image, drawpicture.Left, drawpicture.Top);
}
private void DrawImageOnBackGround(Image drawimage, PictureBox locationpicture)
{
int x = locationpicture.Left;
int y = locationpicture.Top;
DrawImageOnBackGround(drawimage, x, y); } private void DrawClearBonus(int clearbonus)
{
int temp = clearbonus / 10;
if (temp / 10 > 0)
{
DrawImageOnBackGround(pointimageArray[temp / 10], this.clearbonuspoint1Picture);
}
if (temp % 10 > 0 temp / 10 > 0)
{
DrawImageOnBackGround(pointimageArray[temp % 10], this.clearbonuspoint2Picture);
}
DrawImageOnBackGround(pointimageArray[clearbonus % 10],
this.clearbonuspoint3Picture);
}
private void DrawTimeBonus(int timebonus)
{
int temp = timebonus / 10;
if (temp / 10 > 0)
{
DrawImageOnBackGround(pointimageArray[temp / 10], this.timebonuspoint1Picture);
}
if ( temp % 10 > 0 temp / 10 > 0)
{
DrawImageOnBackGround(pointimageArray[temp % 10], this.timebonuspoint2Picture);
}
DrawImageOnBackGround(pointimageArray[timebonus % 10],this.timebonuspoint3Picture);
}
private void QuestionStart()
{
this.levelLabel.Text = gamelevel.ToString();
ResetBackGround();
this.Refresh();
System.Threading.Thread.Sleep(500);
for (int i = 0; i < gamelevel; i++)
{
DrawImageOnBackGround(showuppictureArray[answerArray[i]]);
this.Refresh();
System.Threading.Thread.Sleep(500);
ResetBackGround();
this.Refresh();
System.Threading.Thread.Sleep(500);
}
this.timerProgress.Value = gamelevel * 2000;
foreach (PictureBox temppicture in showuppictureArray)
{
DrawImageOnBackGround(temppicture);
}
clickcount = 0;
isAnswering = true;
this.limittimeTimer.Start();
}
private void GameStart()
{
this.gamestartMenu.Enabled = false;
this.playerMenu.Enabled = false;
Random r = new Random();
for (int i = 0; i < MAX_GAME_LEVEL; i++)
{
answerArray[i] = r.Next(0, ANIMAL_COUNT);
((PictureBox)this.answerpicturesGroup.Controls[i]).Image =
answerimageArray[answerArray[i]];
}
HideAnswerPictures();
score = 0;
this.scoreLabel.Text = score.ToString();
gamelevel = 1;
QuestionStart();
}
private void GameClear()
{
bool isNewrecord = WriteNewData(score, true);
ResetBackGround();
HideAnswerPictures();
DrawImageOnBackGround(this.gameclearPicture);
if (isNewrecord)
{
this.Refresh();
System.Threading.Thread.Sleep(1000);
ResetBackGround();
DrawImageOnBackGround(this.newrecordPicture);
}
this.standbyTimer.Start();
}
private void GameOver()
{
WriteNewData(score, false);
ResetBackGround();
HideAnswerPictures();
DrawImageOnBackGround(this.gameoverPicture);
this.standbyTimer.Start();
}
private void QuestionClear()
{
isAnswering = false;
this.limittimeTimer.Stop();
int clearbonus = gamelevel * 30;
int timebonus = this.timerProgress.Value / 100;
DrawImageOnBackGround(this.clearPicture);
DrawImageOnBackGround(this.clearbonusPicture);
DrawImageOnBackGround(this.timebonusPictrue);
DrawClearBonus(clearbonus);
DrawTimeBonus(timebonus);
this.Refresh();
System.Threading.Thread.Sleep(1000);
score += clearbonus + timebonus;
this.scoreLabel.Text = score.ToString();
this.timerProgress.Value = 0;
HideAnswerPictures();
gamelevel++;
if (gamelevel > MAX_GAME_LEVEL)
{
GameClear();
}
else
{
QuestionStart();
}
}
private void pictureBox9_Click(object sender, EventArgs e)
{ } private void label3_Click(object sender, EventArgs e)
{ } private void label4_Click(object sender, EventArgs e)
{ } private void プレToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void toolStripSeparator1_Click(object sender, EventArgs e)
{ } private void mainForm_Load(object sender, EventArgs e)
{
const int DOG_INDEX = 0;
const int SQUIRREL_INDEX = 1;
const int BIRD_INDEX = 2;
const int SNAKE_INDEX = 3;
const int FROG_INDEX = 4;
const int FISH_INDEX = 5;
defaultbackgroundImage = this.backgroundPicture.Image;
showuppictureArray[DOG_INDEX] = this.showupdogPicture;
showuppictureArray[SQUIRREL_INDEX] = this.showupsquirrelPicture;
showuppictureArray[BIRD_INDEX] = this.showupbirdPicture;
showuppictureArray[SNAKE_INDEX] = this.showupsnakePicture;
showuppictureArray[FROG_INDEX] = this.showupdogPicture;
showuppictureArray[FISH_INDEX] = this.showupfishPicture;
correctImage = Properties.Resources.Correct;
uncorrectImage = Properties.Resources.Uncorrect;
pointimageArray[0] = Properties.Resources.Number0;
pointimageArray[1] = Properties.Resources.Number1;
pointimageArray[2] = Properties.Resources.Number2;
pointimageArray[3] = Properties.Resources.Number3;
pointimageArray[4] = Properties.Resources.Number5;
pointimageArray[5] = Properties.Resources.Number5;
pointimageArray[6] = Properties.Resources.Number6;
pointimageArray[7] = Properties.Resources.Number7;
pointimageArray[8] = Properties.Resources.Number8;
pointimageArray[9] = Properties.Resources.Number9;
answerimageArray[DOG_INDEX] = Properties.Resources.AnswerDog;
answerimageArray[SQUIRREL_INDEX] = Properties.Resources.AnswerSquirrel;
answerimageArray[BIRD_INDEX] = Properties.Resources.AnswerBird;
answerimageArray[SNAKE_INDEX] = Properties.Resources.AnswerSnake;
answerimageArray[FROG_INDEX] = Properties.Resources.AnswerFrog;
answerimageArray[FISH_INDEX] = Properties.Resources.AnswerFish;
} private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("ゲームを終了しますか?", "終了", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
DialogResult.No)
{
e.Cancel = true;
}
} private void backgroundPicture_MouseDown(object sender, MouseEventArgs e)
{
if (isAnswering == false) return;
int clickedX = e.X + this.backgroundPicture.Left;
int clickedY = e.Y + this.backgroundPicture.Top;
PictureBox correctshowupPicture = showuppictureArray[answerArray[clickcount]];
double r = 32.0;
foreach (PictureBox tempshowupPicture in showuppictureArray)
{
double centerX = tempshowupPicture.Left + r;
double centerY = tempshowupPicture.Top + r;
double d = Math.Sqrt(Math.Pow(clickedX - centerX, 2) + Math.Pow(clickedY - centerY, 2));
if(d < r)
{
Image tempImage = this.backgroundPicture.Image;
bool isCorrect = tempshowupPicture.Equals(correctshowupPicture);
if (isCorrect)
{
DrawImageOnBackGround(correctImage, tempshowupPicture);
this.answerpicturesGroup.Controls[clickcount].Visible=true;
}
else
{
DrawImageOnBackGround(uncorrectImage, tempshowupPicture);
}
this.Refresh();
System.Threading.Thread.Sleep(500);
this.backgroundPicture.Image = tempImage;
if (isCorrect)
{
clickcount++;
if ( clickcount == gamelevel) QuestionClear();
}
break;
}
}
} private void limittimeTimer_Tick(object sender, EventArgs e)
{
this.timerProgress.Value -= 100;
if (this.timerProgress.Value == 0)
{
this.limittimeTimer.Stop();
isAnswering = false;
GameOver();
}
} private void standbyTimer_Tick(object sender, EventArgs e)
{
this.standbyTimer.Stop();
ResetBackGround();
this.gamestartMenu.Enabled = true;
this.playerMenu.Enabled = true;
} private void gamestartMenu_Click(object sender, EventArgs e)
{
GameStart();
} private void gamequitMenu_Click(object sender, EventArgs e)
{
this.Close();
}
}
public class playerInformation
{
private string nameDATA = null;
private int playtimesData = 0;
private int cleartimesData = 0;
private int totalscoreData = 0;
private int highscoreData = 0;
public playerInformation(string playerName)
{
nameDATA = playerName;
}
public bool SetNewData(int score, bool isCleared)
{
playtimesData++;
totalscoreData += score;
if (isCleared)
{
cleartimesData++;
if (highscoreData < score)
{
highscoreData = score;
return true;
}
}
return false;
}
public string Name
{
get
{
return nameDATA;
} public int PlayTimes
{
get
{
return playtimesData;
}
} public int ClearTimes
{
get{
return cleartimesData;
}
} pulic int HighScore
{
get
{
return highscoreData;
}
} pulic double AverageScore
{
get
{
if (playtimesData > 0)
{
return (double)totalscoreData / playtimesDataData;
}
else
{
return (double)0;
}
}
}
}
}

p.150まで終了。

2009年8月1日土曜日

http://www.microsoft.com/Japan/msdn/archive/student/challengev2/chap2_csharp/default.aspx

四択クイズ

http://www.mkamimura.com/chap2/quiz.aspx



'/' アプリケーションでサーバー エラーが発生しました。

ランタイム エラー

説明: サーバーでアプリケーション エラーが発生しました。このアプリケーションの現在のカスタム エラー設定では、セキュリティ上の理由により、アプリケーション エラーの詳細をリモート表示できません。ただし、ローカル サーバー コンピュータで実行されているブラウザで表 示することはできます。
詳細: このエラー メッセージの詳細をリモート コンピュータで表示できるようにするには、現在の Web アプリケーションのルート ディレクトリにある "web.config" 構成ファイル内に、<customErrors> タグを作成してください。その後で、この <customErrors> タグで "mode" 属性を "off" に設定してください。

<!-- Web.Config 構成ファイル -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>




メモ: 現在表示されているエラー ページをカスタム エラー ページ に変更するには、アプリケーションの <customErrors> 構成タグの "defaultRedirect" 属性をカスタム エラー ページ URL に置き換えます。





<!-- Web.Config 構成ファイル -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>



何か間違えてるみたい。



説明見ても何かよくわからないので、飛ばして3章へ。