
                                                         (Rev.4 2021/10/12)

osqledit}N}jA

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


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

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

 init.scmSchemeW̎葱}NLqĂ܂B̃t@C
ҏWȂŉB
 osqledit.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)
  osqledit.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-activetab-color <color>)
  ANeBu^u̐Fݒ肵܂B
  <color>w肵Ȃꍇ́AftHg̐FɂȂ܂B
  () (app-set-activetab-color (rgb 255 0 0)) => ԐFw

- (app-select-object-list-owner <owner>)
  IuWFNgXgOwnerI܂B
  () (app-select-object-list-owner "SYSTEM") => OwnerSYSTEMɕύX

- (app-select-object-list-type <type>)
  IuWFNgXgTypeI܂B
  () (app-select-object-list-owner "VIEW") => TypeVIEWɕύX

- (app-select-object-list-object <object_name>)
  IuWFNgXgObjectI܂B
  () (app-select-object-list-object "TBL1") => e[uXgTBL1I

- (editor-get-selected-string)
  I͈͂̕擾܂B

- (editor-get-all-string)
  GfB^̑S擾܂B

- (editor-get-row-string <row>)
  w肵s̕擾܂B

- (editor-get-row-col-char <row> <col>)
  w肵sE̕擾܂B

- (editor-paste-string <str>)
  GfB^ɕ\t܂B
  () (editor-paste-string "ABC") => GfB^ABC͂܂

- (editor-search-string <regex-str>)
  K\̌s܂B (啶ʂ)
  () (editor-search-string "AAA") => AAA܂

- (editor-search-string-ci <regex-str>)
  K\̌s܂B (啶ʂȂ)

- (editor-search-string-up <regex-str>)
  K\̌s܂B (啶ʂ)
  Ɍ܂B

- (editor-search-string-ci-up <regex-str>)
  K\̌s܂B (啶ʂȂ)
  Ɍ܂B

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

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

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

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

- (editor-delete-selected-string)
  I͈͂폜܂B

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

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

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

- (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-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

- (exec-sql-stmt <sql>)
  SQLs܂B
  () (exec-sql-stmt "select * from obj")


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[hosqledit.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[hosqledit.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]
 osqledit.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.ڑ悲ƂɃ^u̐FύX
 osqledit.scmɈȉ̃R[hLq܂B
 ȉ̗ł́AڑTNSdb10̂ƂɁA^u̐FԐFɂ܂B
;; ==================================================================
;; ^u̐Fݒ
;; ==================================================================
(define (connected)
  (if (rxmatch #/@db10$/ (app-get-session-info))
    (app-set-activetab-color (rgb 255 0 0))
    (app-set-activetab-color)))

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

7-3.IuWFNgXgɕʂ̃XL[}\ (ڑ悲Ƃɐݒ)
;; ==================================================================
;; ڑ悪testuser@db10̂ƂAIuWFNgXg̃XL[}MASTERDBɐݒ
;; ==================================================================
(define (connected)
  (if (rxmatch #/^testuser@db10$/i (app-get-session-info))
    (app-select-object-list-owner "MASTERDB")
    ()))

(app-set-event-handler "on-connected" connected)

