
                                                         (Rev.2 2010/06/23)

osqlgrid}N}jA

1.͂߂
 {ł́A}Ngosqlgridg@܂B


2.}N̏
 osqlgrid͋NɈȉ̃t@CsA}N܂B

  <osqlgrid.exẽfBNg>\scmlib\init.scm
  <osqlgrid.exẽfBNg>\scmlib\osqlgrid.scm

 init.scmSchemeW̎葱}NLqĂ܂B̃t@C
ҏWȂŉB
 osqlgrid.scmɃJX^}CYp̃R[hLqĉB
 t@C̎sɃG[ꍇ́A_CAO\܂B


3.}N̎s
3-1.t@Cs
 c[j[̃}Ns(t@C)j[IA}NLqꂽ
t@CI܂B

3-2.current-output-portւ̏o
 }NsɁAdisplayȂǂ̎葱current-output-port֏o͂ꍇ́A
}NsɃbZ[W_CAOɕ\܂B

3-3.}NsUndo
 }N̎sɁAGfB^̃eLXgɕ̍XVsꍇłA1
UndoŃ}NsȌԂɖ߂܂B

3-4.̒f
 }NsCtrl+BreakL[ŁA𒆒fł܂B
 qapp-set-cancel-keyŃL[ݒ肷邱Ƃł܂B


4.AvP[V𐧌䂷葱
  sԍEԍ擾Ew肷ꍇA0n܂܂B(擪s̍sԍ0)
  
- (app-status-bar-msg <data1> ...)
  strXe[^Xo[ɕ\܂B
  () (app-status-bar-msg "AAA" 123 #f)

- (app-msg-box <data1> ...)
  bZ[W_CAO\܂B
  () (app-msg-box "ABC" 123 #f)

- (app-input-box <title> <value>)
  ͗p̃Cvbg_CAO\܂B
   title: _CAO^Cg (ȗ\)
   value: l (ȗ\)
  _CAOOK{^EnterL[ŕƁA͂ꂽԂ܂B
  _CAOLZƂ́A#fԂ܂B
  () (app-input-box "Title" "123")

- (app-get-tool-dir)
  osqlgrid.exet@CfBNg̕擾܂B

- (app-get-command-line-option)
  ÑR}hCIvV̕擾܂B

- (rgb <red> <green> <blue>)
  F̐l쐬܂B
  () (rgb 255 0 0) => ԐF

- (app-get-session-info)
  ݐڑOracle[UATNS擾܂B(user@tns`)

- (app-set-topleft-cell-color <color>)
  ANeBu^u̐Fݒ肵܂B
  <color>w肵Ȃꍇ́AftHg̐FɂȂ܂B
  () (app-set-topleft-cell-color (rgb 255 0 0)) => ԐFw

- (grid-select-all)
  SđI܂

- (grid-replace-string <regex-str> <rep>)
  K\̒u@\s܂B(SĒu, 啶ʂ)
  ꍇAuԂ܂B
  () (grid-replace-string "<" "&lt;") => "<""&lt;"ɒu܂

- (grid-replace-string-ci <regex-str> <rep>)
  K\̒u@\s܂B(SĒu, 啶ʂȂ)

- (grid-replace-selected-string <regex-str> <rep>)
  I͈͂ɑ΂ĐK\̒u@\s܂B(啶ʂ)

- (grid-replace-selected-string-ci <regex-str> <rep>)
  I͈͂ɑ΂ĐK\̒u@\s܂B(啶ʂȂ)

- (grid-get-row-cnt)
  s擾܂B
  () (grid-get-row-cnt) => 100

- (grid-get-col-cnt)
  񐔂擾܂B
  () (grid-get-row-cnt) => 100

- (grid-get-table-name)
  e[u擾܂

- (grid-get-column-name <idx>)
  J擾܂B
  擪̃J擾ꍇidx0w肵܂B

- (grid-get-cur-row)
  ݂̍sԍ擾܂ (擪s0)

- (grid-get-cur-col)
  ݂̗ԍ擾܂ (擪0)

- (grid-set-row-col <row> <col>)
  ZI܂
  (: (grid-set-row-col 0 0) => ̃ZI)

- (grid-get-cell-string <row> <col>)
  Z̃eLXg擾܂

- (grid-set-cell-string <row> <col> <str>)
  Z̃eLXgύX܂

- (grid-set-select-area <row1> <col1> <row2> <col2>)
  eLXg̑I͈͂ݒ肵܂B

- (grid-get-selected-area)
  I͈͂̈ʒu擾܂B
  I͈͂ꍇ(row1 col1 row2 col2)̃XgԂ܂B
  I͈͂ꍇA#fԂ܂B


5.Cxgnh` (̃o[WŎ\)
 }N̏t@CɈȉ̍\ŋLq܂B

 (app-set-event-handler <eventname> <proc>)

 eventnameŎw肵CxgɁAproc蓖Ă܂B

 eventnameɂ͎̃Cxgwł܂B
   on-connected           f[^x[XɐڑƂ
   on-disconnected        f[^x[X烍OAEgƂ


6.V[gJbgL[ݒ肷
6-1 V[gJbgL[̐ݒ@
 }N̏t@CɈȉ̍\ŋLq܂B

 (app-set-key <keyname> <proc> [comment])

 keynameŎw肵L[ɁAproc蓖Ă܂B
 comment(ȗ\)́Aapp-get-all-keysŃL[Xg擾鎞ɗp܂B
 c[L[蓖ăj[̐ݒA}N̐ݒ肪D悳܂B

() ȉ̃R[hosqlgrid.scmɋLq
(define (test-proc) (display 10))
(app-set-key "F7" test-proc)
=> F7L[ŃbZ[W_CAO10\悤ɂȂ܂B


6-2 LZL[̐ݒ@
 (app-set-cancel-key <keyname>)
 }N̎s𒆒fL[ݒ肵܂B
 ftHgCtrl+BreakL[ɐݒ肳Ă܂B
 (Ctrl+Breakŏ肭LZłȂꍇAL[ύXĂ݂ĉ)

() ȉ̃R[hosqlgrid.scmɋLq
(app-set-cancel-key "Ctrl+\\")
=> Ctrl+\L[ŁA}N̎s𒆒f悤ɂȂ܂B


6-3 L[̕\L
 c[L[蓖ăj[ŕ\L@ƓłB

() Alt+Ctrl+K

 Alt,Ctrl,Shift́AꂼAlt+,Ctrl+,Shift+ƋLq܂B
 At@xbg͑啶ŋLq܂B
 t@NVL[́AF1`F24g܂B
 ̑̃L[́AL[蓖ă_CAOŊmFĂB


6-4 ݂̃V[gJbgL[̎擾
 (app-get-all-keys)
 ʂ((keyname proc comment) ...)̌`̃XgŎ擾ł܂B

 
7.Tv}N
7-1.Input Boxɓ͂ꂽS]
 osqlgrid.scmɈȉ̃R[hLq܂B
 Input BoxɁA"(+ 2 3)"ȂǂƓ͂ČvZ邱Ƃo܂B
;; ==================================================================
;; Input Boxɓ͂ꂽS]
;; ==================================================================
(app-set-key "Ctrl+0"
  (lambda ()
    (let ((s (app-input-box "S")))
      (if (string? s)
        (display (eval (read (open-input-string s))))))))

7-2.I͈̗͂]ȋ󔒂폜
;; ==================================================================
;; I͈̗͂]ȋ󔒂폜
;;  (1)Sp󔒂𔼊p󔒂ɂ,
;;  (2)擪і̔p󔒂폜
;;  (3)2ȏ̘A锼p󔒂1ɂ
;; ==================================================================
(app-set-key "F6"
  (lambda ()
    (define cnt
      (apply + (map grid-replace-selected-string
                 '("@" "^\\s+" "^\\s$" "\\s\\s+")
                 '(" " "" "" " "))))
    (app-status-bar-msg cnt "u܂(󔒕ϊ)")))

7-3.ڑ悲Ƃɍ̃Z̐FύX
 osqlgrid.scmɈȉ̃R[hLq܂B
 ȉ̗ł́AڑTNSdb10̂ƂɁÃZ̐FԐFɂ܂B
;; ==================================================================
;; ̃Z̐Fݒ
;; ==================================================================
(define (connected)
  (if (rxmatch #/@db10$/ (app-get-session-info))
    (app-set-topleft-cell-color (rgb 255 0 0))
    (app-set-topleft-cell-color)))

(define (disconnected)
  (app-set-topleft-cell-color))
  
(app-set-event-handler "on-connected" connected)
(app-set-event-handler "on-disconnected" disconnected)
