ボンジュール・マドモアゼル

本サイトの情報は自己責任にてご利用下さい。

[Smalltalk] Pharo 1.1.1 Package Browser のインストール

 
Pharo-1.1.1-OneClickCogVM において "Choose new default Browser" を実行したときに O2PackageBrowserAdaptor が出てこない場合、次のスクリプトを実行すれば、パッケージブラウザがインストールできる。
Gofer new 
    squeaksource: 'MetacelloRepository'; 
    package:'ConfigurationOfO2';
    load. 

((Smalltalk at: #ConfigurationOfO2) project version: '1.2') load: 'Dev'.

エラーが出る場合は ConfigurationOfO2 クラスのクラスメソッドを確認して、version メッセージを変更する必要があるかもしれない。

参考

[Subversion] TortoiseSVN による Pharo イメージ管理

 
準備作業
  1. 空のフォルダにリポジトリを作成する。
    例: リポジトリパス E:\repos\pharo\Pharo-1.1.1-OneClickCogVM


  2. 空フォルダ (例: C:\tmp) を作成し、バージョン管理するファイル ( Pharo.image および Pharo.changes )をその配下にコピーする。


  3. 2 で作成したフォルダを選択して、TortoiseSVN → Import を開く。
    インポート先のリポジトリパスに file:///E:/repos/pharo/Pharo-1.1.1-OneClickCogVM/trunk/trunk を追記していることに注意)を指定し、Import messageを入力する。入力後、[OK] ボタンを押してインポートする。
    svn_import

  4. trunk フォルダ配下のファイルをチェックアウトする。
    E:\Pharo.app\Contents\Resourcesfile:///E:/repos/pharo/Pharo-1.1.1-OneClickCogVM/trunk 配下のファイルをチェックアウトする。Checkout directory: を正しく指定すること。ここで Checkout Depth には Only file children を指定する。 svn_checkout
    警告が表示されるが無視する。
    svn_checkout_warning

バックアップ
  1. バージョン管理下にあるファイル ( Pharo.image および Pharo.changes ) をコミットする。


バックアップからの復旧
  1. バージョン管理下にあるファイル ( Pharo.image および Pharo.changes ) の現在の変更状態を CommitRevert かする。

  2. Update to revision... を開く。Revison を指定し [OK] ボタンを押す。
1, 2 の手順は前後してもかまわないが、途中、Conflict の警告が表示されることがある。


準備作業 その2
直接、trunk 配下に直接、イメージファイルを格納したくない場合 たとえば、Resources フォルダを作成し、その中に格納したい場合には、準備作業を以下の手順で行う。
  1. 空のフォルダにリポジトリを作成する。
    例: リポジトリパス E:\repos\pharo\Pharo-1.1.1-OneClickCogVM


  2. 空フォルダ (例: C:\tmp) を作成し、バージョン管理するファイル ( Pharo.image および Pharo.changes )をその配下にコピーする。


  3. 2 で作成したフォルダを選択して、TortoiseSVN → Import を開く。
    インポート先のリポジトリパスに file:///E:/repos/pharo/Pharo-1.1.1-OneClickCogVM/trunk/Resources/trunk/Resources を追記していることに注意)を指定し、Import messageを入力する。入力後、[OK] ボタンを押してインポートする。
    svn_import

  4. Resources フォルダをチェックアウトする。
    E:\Pharo.app\Contents の配下に file:///E:/repos/pharo/Pharo-1.1.1-OneClickCogVM/trunk/Resources をチェックアウトする。
    svn_checkout_menu
    svn_checkout
    警告が表示されるが無視する。
    svn_checkout_warning

[Smalltalk] Smalltalk Pharo - display morph halo

 
Windows XP の Smalltalk Pharo 1.1.1 において
Morph halo を表示するには、オブジェクトに対して、
Shift + Alt + Left-click を行う。

[Smalltalk] Pharo Windows XP ショートカットキー 不具合解消

 
Windows XP の Smalltalk Pharo 1.1.1 で Inspect などショートカットキー (shortcut key) が効かない。バグっぽい。とりあえずコードを以下のように修正することで解消した。赤字が修正箇所。

InputEventSensor>>#processEvent:
processEvent: evt 
  "Process a single event. This method is run at high priority."
  | type |
    
  type := evt at: 1.

  "Treat menu events first"
  type = EventTypeMenu
    ifTrue: [
      self processMenuEvent: evt.
      ^nil].

  "Tackle mouse events first"
  type = EventTypeMouse
    ifTrue: [
      "Transmogrify the button state according to the platform's button map definition"
      evt at: 5 put: (ButtonDecodeTable at: (evt at: 5) + 1).
      "Map the mouse buttons depending on modifiers"
      evt at: 5 put: (self mapButtons: (evt at: 5) modifiers: (evt at: 6)).

      "Update state for polling calls"
      mousePosition := (evt at: 3) @ (evt at: 4).
      modifiers := evt at: 6.
      mouseButtons := evt at: 5.

      ^evt].
  
  
  "Finally keyboard"
  type = EventTypeKeyboard
    ifTrue: [
      (evt at: 4)=0 ifTrue: [
      "Sswap ctrl/alt keys if neeeded"
      KeyDecodeTable
        at: {evt at: 3. evt at: 5}
        ifPresent: [:a | 
          evt
            at: 3 put: a first;
            at: 6 put: a first;
            at: 5 put: a second]. 
      ].
      "Update state for polling calls"
      modifiers := evt at: 5. 
      ^evt].
        
  "Handle all events other than Keyborad or Mouse."
  ^evt.


なお、Settings (Preference) の System → Keyboard → Control and Alt keysFull matching に設定すること。
以下は Preferences 詳細。
Preferences duplicateAllControlAndAltKeysSetting ==> true
Preferences duplicateControlAndAltKeysSetting    ==> false
Preferences swapControlAndAltKeys                ==> false

[Win32API] コントロールキー押下時の WM_CHAR メッセージ

 
TranslateMessage で作成される WM_CHAR メッセージ の wParam は、通常、文字コードが設定されるが、コントロールキーを押しながらキーを押した場合には wParam には制御文字が設定される。

Some CTRL key combinations are translated into ASCII control characters. For example, CTRL+A is translated to the ASCII ctrl-A (SOH) character (ASCII value 0x01).

[訳] Ctrl キーのコンビネーションは、 ASCII 制御文字(制御コード)に変換されます。例えば Ctrl + A は ASCII 制御文字 ctrl-A (0x01 SOH) に変換されます。

MSDN Library - Module 4. User Input - Keyboard Input
http://msdn.microsoft.com/en-us/library/gg153546(v=VS.85).aspx





以下、制御文字一覧
Dec Hex Abbr Ctrl Description
0 0x00 NUL ^@ Null character
1 0x01 SOH ^A Start of Header
2 0x02 STX ^B Start of Text
3 0x03 ETX ^C End of Text
4 0x04 EOT ^D End of Transmission
5 0x05 ENQ ^E Enquiry
6 0x06 ACK ^F Acknowledgment
7 0x07 BEL ^G Bell
8 0x08 BS ^H Backspace
9 0x09 HT ^I Horizontal Tab
10 0x0A LF ^J Line feed
11 0x0B VT ^K Vertical Tab
12 0x0C FF ^L Form feed
13 0x0D CR ^M Carriage return
14 0x0E SO ^N Shift Out
15 0x0F SI ^O Shift In
16 0x10 DLE ^P Data Link Escape
17 0x11 DC1 ^Q Device Control 1 (oft. XON)
18 0x12 DC2 ^R Device Control 2
19 0x13 DC3 ^S Device Control 3 (oft. XOFF)
20 0x14 DC4 ^T Device Control 4
21 0x15 NAK ^U Negative Acknowledgement
22 0x16 SYN ^V Synchronous idle
23 0x17 ETB ^W End of Transmission Block
24 0x18 CAN ^X Cancel
25 0x19 EM ^Y End of Medium
26 0x1A SUB ^Z Substitute
27 0x1B ESC ^[ Escape
28 0x1C FS ^\ File Separator
29 0x1D GS ^] Group Separator
30 0x1E RS ^^ Record Separator
31 0x1F US ^_ Unit Separator
次のページ