...

PowerScript ボリューム 2

by user

on
Category: Documents
82

views

Report

Comments

Transcript

PowerScript ボリューム 2
PowerScript® リファレンス
ボリューム 2
PowerBuilder®
11.0
DOCUMENT ID: DC37782-01-1100-02
LAST REVISED: May 2007
Copyright © 1991-2008 by Sybase, Inc. All rights reserved.
本書は Sybase ソフトウェアの付属マニュアルであり、新しいマニュアルまたはテクニカル ノートで特に示されないかぎ
り、後続のリリースにも付属します。このマニュアルの内容は、予告なく変更されることがありますが、Sybase,Inc. およ
びその関連会社では内容の変更に関して一切の責任を負いません。このマニュアルに記載されているソフトウェアはライ
センス契約に基づいて提供されるものであり、無断で使用することはできません。
予定したソフトウェアのリリース日にのみアップグレードを提供します。本書に記載されている内容は、Sybase, Inc. およ
びその関連会社の書面による事前許可を得ずに、電子的、機械的、手作業、光学的、またはその他のいかなる手段によっ
ても複製、転載、翻訳することを禁じます。
Sybase の商標は Sybase の商標ページ のサイト http://www.sybase.com/detail?id=1011207 に記載されています。記載の Sybase およ
びマークは Sybase, Inc の商標です。® はアメリカ合衆国における登録商標を示します。
Java およびすべての Java ベースのマークは、米国および他国における Sun Microsystems, Inc. の商標または登録商標です。
Unicode および Unicode のロゴは Unicode, Inc. の登録商標です。
本書で記載されている上記以外の社名および製品名は、各社の商標または登録商標の場合があります。
本書に記載されている内容は、将来予告なしに変更することがあります。また、本ソフトウェアおよび説明書を使用した
ことによる損害、または第三者からのいかなる請求についても、サイベース株式会社、その親会社である米国法人 Sybase,
Inc. またはその関連会社は、一切の責任を負わないものとします。
目次
本書について ................................................................................................................................ xix
第 10 章
PowerScript 関数 ........................................
Abs ...............................................................................................
ACos ............................................................................................
Activate ........................................................................................
AddCategory ................................................................................
AddColumn ..................................................................................
AddData .......................................................................................
AddItem ........................................................................................
AddLargePicture ..........................................................................
AddPicture....................................................................................
AddSeries.....................................................................................
AddSmallPicture...........................................................................
AddStatePicture ...........................................................................
AddToLibraryList ..........................................................................
Arrange ........................................................................................
ArrangeSheets .............................................................................
Asc ...............................................................................................
AscA .............................................................................................
ASin..............................................................................................
ATan.............................................................................................
Beep .............................................................................................
BeginTransaction .........................................................................
Blob ..............................................................................................
BlobEdit ........................................................................................
BlobMid ........................................................................................
BuildModel ...................................................................................
Byte ..............................................................................................
Cancel ..........................................................................................
CancelSync ..................................................................................
CanUndo ......................................................................................
CategoryCount .............................................................................
CategoryName .............................................................................
PowerScript リファレンス ボリューム 2
343
344
344
345
347
348
349
352
357
358
359
361
362
363
364
365
366
367
368
369
370
370
372
373
375
376
379
380
381
382
383
384
iii
目次
Ceiling ..........................................................................................
ChangeDirectory ..........................................................................
ChangeMenu................................................................................
Char .............................................................................................
CharA ...........................................................................................
Check ...........................................................................................
ChooseColor ................................................................................
ClassList.......................................................................................
ClassName...................................................................................
Clear.............................................................................................
ClearBoldDates ............................................................................
Clipboard......................................................................................
Close ............................................................................................
CloseChannel...............................................................................
CloseTab......................................................................................
CloseUserObject ..........................................................................
CloseWithReturn ..........................................................................
CollapseItem ................................................................................
CommandParm ............................................................................
CommitTransaction ......................................................................
ConnectToNewObject ..................................................................
ConnectToNewRemoteObject .....................................................
ConnectToObject .........................................................................
ConnectToRemoteObject.............................................................
ConnectToServer .........................................................................
Copy.............................................................................................
CopyRTF......................................................................................
Cos...............................................................................................
Cpu...............................................................................................
CreateDirectory ............................................................................
CreateInstance.............................................................................
CreatePage ..................................................................................
Cut................................................................................................
DataCount ....................................................................................
DataSource ..................................................................................
Date..............................................................................................
DateTime......................................................................................
Day...............................................................................................
DayName .....................................................................................
DayNumber ..................................................................................
DaysAfter .....................................................................................
DBHandle .....................................................................................
DebugBreak .................................................................................
Dec...............................................................................................
iv
385
385
386
387
388
388
390
390
391
394
396
396
399
403
404
406
407
410
411
412
414
416
418
420
423
425
427
429
430
430
431
436
437
439
440
442
446
448
449
450
451
452
452
453
PowerBuilder
目次
DeleteCategory ............................................................................
DeleteColumn ..............................................................................
DeleteColumns.............................................................................
DeleteData ...................................................................................
DeleteItem....................................................................................
DeleteItems ..................................................................................
DeleteLargePicture ......................................................................
DeleteLargePictures.....................................................................
DeletePicture................................................................................
DeletePictures ..............................................................................
DeleteSeries.................................................................................
DeleteSmallPicture.......................................................................
DeleteSmallPictures .....................................................................
DeleteStatePicture .......................................................................
DeleteStatePictures .....................................................................
DestroyModel ...............................................................................
DirectoryExists .............................................................................
DirList ...........................................................................................
DirSelect.......................................................................................
Disable .........................................................................................
DisableCommit .............................................................................
DisconnectObject .........................................................................
DisconnectServer.........................................................................
Double ..........................................................................................
DoVerb .........................................................................................
Drag .............................................................................................
DraggedObject .............................................................................
Draw .............................................................................................
EditLabel ......................................................................................
Enable ..........................................................................................
EnableCommit..............................................................................
EntryList .......................................................................................
ExecRemote.................................................................................
Exp ...............................................................................................
ExpandAll .....................................................................................
ExpandItem ..................................................................................
Fact ..............................................................................................
FileClose ......................................................................................
FileCopy .......................................................................................
FileDelete .....................................................................................
FileEncoding ................................................................................
FileExists......................................................................................
FileLength ....................................................................................
FileLength64 ................................................................................
PowerScript リファレンス ボリューム 2
454
454
455
455
456
459
460
460
461
461
462
463
463
464
464
465
466
467
469
470
471
472
473
474
475
476
478
479
480
482
483
484
485
489
489
490
491
491
492
493
493
495
495
497
v
目次
FileMove.......................................................................................
FileOpen.......................................................................................
FileRead.......................................................................................
FileReadEx...................................................................................
FileSeek .......................................................................................
FileSeek64 ...................................................................................
FileWrite .......................................................................................
FileWriteEx...................................................................................
Fill.................................................................................................
FillA ..............................................................................................
FillW .............................................................................................
Find ..............................................................................................
FindCategory................................................................................
FindClassDefinition ......................................................................
FindFunctionDefinition .................................................................
FindItem .......................................................................................
FindMatchingFunction..................................................................
FindNext.......................................................................................
FindSeries ....................................................................................
FindTypeDefinition .......................................................................
FromAnsi ......................................................................................
FromUnicode................................................................................
GarbageCollect ............................................................................
GarbageCollectGetTimeLimit .......................................................
GarbageCollectSetTimeLimit .......................................................
GetActiveSheet ............................................................................
GetAlignment ...............................................................................
GetApplication..............................................................................
GetArgElement.............................................................................
GetAutomationNativePointer........................................................
GetByte ........................................................................................
GetByteArray................................................................................
GetCertificateLabel ......................................................................
GetChildrenList ............................................................................
GetColumn ...................................................................................
GetCommandDDE .......................................................................
GetCommandDDEOrigin..............................................................
GetCommandString .....................................................................
GetCompanyName ......................................................................
GetContextKeywords ...................................................................
GetContextService .......................................................................
GetCredentialAttribute..................................................................
GetCurrentDirectory .....................................................................
GetData........................................................................................
vi
498
499
503
506
508
509
511
513
515
516
517
517
519
520
521
522
529
531
532
533
535
535
536
537
537
539
540
540
541
542
543
544
545
547
548
550
551
552
553
554
555
557
560
560
PowerBuilder
目次
GetDataDDE ................................................................................
GetDataDDEOrigin.......................................................................
GetDataPieExplode......................................................................
GetDataStyle................................................................................
GetDataValue...............................................................................
GetDateLimits ..............................................................................
GetDbmlsyncPath ........................................................................
GetDisplayRange .........................................................................
GetDynamicDate ..........................................................................
GetDynamicDateTime ..................................................................
GetDynamicDecimal ....................................................................
GetDynamicNumber.....................................................................
GetDynamicString ........................................................................
GetDynamicTime .........................................................................
GetEnvironment ...........................................................................
GetFileOpenName .......................................................................
GetFileSaveName ........................................................................
GetFirstSheet ...............................................................................
GetFixesVersion...........................................................................
GetFocus......................................................................................
GetFolder .....................................................................................
GetGlobalProperty .......................................................................
GetHostObject..............................................................................
GetItem ........................................................................................
GetItemAtPointer..........................................................................
GetLastReturn..............................................................................
GetLibraryList...............................................................................
GetMajorVersion ..........................................................................
GetMessage.................................................................................
GetMinorVersion ..........................................................................
GetName......................................................................................
GetNativePointer..........................................................................
GetNextSheet...............................................................................
GetObjectRevisionFromRegistry..................................................
GetOrigin......................................................................................
GetParagraphSetting ...................................................................
GetParent.....................................................................................
GetPin ..........................................................................................
GetRecordSet ..............................................................................
GetRemote...................................................................................
GetSelectedDate..........................................................................
GetSelectedRange.......................................................................
GetSeriesStyle .............................................................................
GetShortName .............................................................................
PowerScript リファレンス ボリューム 2
565
566
568
569
575
577
578
579
581
583
584
585
586
587
588
589
595
597
598
599
600
601
602
604
607
608
609
609
611
612
613
614
615
616
617
618
618
620
622
623
627
628
629
635
vii
目次
GetSpacing ..................................................................................
GetStatus .....................................................................................
GetSyncRegistryProperties ..........................................................
GetText ........................................................................................
GetTextColor................................................................................
GetTextStyle ................................................................................
GetToday .....................................................................................
GetToolbar ...................................................................................
GetToolbarPos .............................................................................
GetTransactionName ...................................................................
GetURL ........................................................................................
GetValue ......................................................................................
GetVersionName..........................................................................
Handle..........................................................................................
Hide..............................................................................................
Hour .............................................................................................
HyperLinkToURL..........................................................................
Idle ...............................................................................................
IMEGetCompositionText ..............................................................
IMEGetMode ................................................................................
IMESetMode ................................................................................
ImpersonateClient ........................................................................
ImportClipboard............................................................................
ImportFile .....................................................................................
ImportString..................................................................................
IncomingCallList...........................................................................
Init ................................................................................................
InputFieldChangeData .................................................................
InputFieldCurrentName................................................................
InputFieldDeleteCurrent ...............................................................
InputFieldGetData ........................................................................
InputFieldInsert ............................................................................
InputFieldLocate...........................................................................
InsertCategory..............................................................................
InsertClass ...................................................................................
InsertColumn................................................................................
InsertData.....................................................................................
InsertDocument............................................................................
InsertFile ......................................................................................
InsertItem .....................................................................................
InsertItemFirst ..............................................................................
InsertItemLast ..............................................................................
InsertItemSort...............................................................................
InsertObject..................................................................................
viii
636
637
639
640
641
641
642
643
645
647
649
650
651
652
654
655
656
657
659
659
660
662
663
666
670
673
674
678
679
680
681
682
683
684
686
687
688
690
692
693
700
703
705
708
PowerBuilder
目次
InsertPicture .................................................................................
InsertSeries ..................................................................................
Int .................................................................................................
Integer ..........................................................................................
InternetData .................................................................................
IntHigh ..........................................................................................
IntLow...........................................................................................
InvokePBFunction ........................................................................
_Is_A ............................................................................................
IsAlive...........................................................................................
IsAllArabic ....................................................................................
IsAllHebrew ..................................................................................
IsAnyArabic ..................................................................................
IsAnyHebrew ................................................................................
IsArabic ........................................................................................
IsArabicAndNumbers ...................................................................
IsCallerInRole...............................................................................
IsDate ...........................................................................................
IsHebrew ......................................................................................
IsHebrewAndNumbers .................................................................
IsImpersonating............................................................................
IsInTransaction.............................................................................
IsNull ............................................................................................
IsNumber......................................................................................
IsPreview......................................................................................
IsSecurityEnabled ........................................................................
IsTime ..........................................................................................
IsTransactionAborted ...................................................................
IsValid ..........................................................................................
KeyDown......................................................................................
LastPos ........................................................................................
LastPosW.....................................................................................
Left ...............................................................................................
LeftA.............................................................................................
LeftC.............................................................................................
LeftW ............................................................................................
LeftTrim ........................................................................................
LeftTrimW.....................................................................................
Len ...............................................................................................
LenA.............................................................................................
LenW ............................................................................................
Length ..........................................................................................
LibraryCreate ...............................................................................
LibraryDelete................................................................................
PowerScript リファレンス ボリューム 2
709
710
711
712
713
714
715
715
717
718
719
720
721
721
722
723
723
725
726
727
728
729
730
732
733
733
735
736
737
738
741
743
743
744
745
745
745
747
747
748
749
749
750
751
ix
目次
LibraryDirectory............................................................................
LibraryDirectoryEx........................................................................
LibraryExport................................................................................
LibraryImport ................................................................................
LineCount.....................................................................................
LineLength ...................................................................................
LineList.........................................................................................
LinkTo ..........................................................................................
LoadInk ........................................................................................
LoadPicture ..................................................................................
Log ...............................................................................................
LogTen .........................................................................................
Long .............................................................................................
LongLong .....................................................................................
Lookup .........................................................................................
Lower ...........................................................................................
LowerBound .................................................................................
mailAddress .................................................................................
mailDeleteMessage......................................................................
mailGetMessages ........................................................................
mailHandle ...................................................................................
mailLogoff.....................................................................................
mailLogon.....................................................................................
mailReadMessage .......................................................................
mailRecipientDetails.....................................................................
mailResolveRecipient...................................................................
mailSaveMessage........................................................................
mailSend ......................................................................................
Match ...........................................................................................
MatchW ........................................................................................
Max ..............................................................................................
MemberDelete..............................................................................
MemberExists ..............................................................................
MemberRename ..........................................................................
MessageBox ................................................................................
Mid ...............................................................................................
MidA .............................................................................................
MidC .............................................................................................
MidW ............................................................................................
Min ...............................................................................................
Minute ..........................................................................................
Mod ..............................................................................................
ModifyData ...................................................................................
Month ...........................................................................................
x
752
754
756
758
759
761
762
763
764
765
766
768
769
771
773
778
779
780
782
783
784
785
786
788
791
792
794
797
798
802
802
803
804
805
806
809
811
812
812
812
813
813
814
816
PowerBuilder
目次
Move ............................................................................................
MoveTab ......................................................................................
_Narrow........................................................................................
NextActivity ..................................................................................
Now ..............................................................................................
ObjectAtPointer ............................................................................
Object_To_String .........................................................................
OffsetPos .....................................................................................
Open ............................................................................................
OpenChannel ...............................................................................
OpenSheet ...................................................................................
OpenSheetWithParm ...................................................................
OpenTab ......................................................................................
OpenTabWithParm ......................................................................
OpenUserObject ..........................................................................
OpenUserObjectWithParm...........................................................
OpenWithParm.............................................................................
OutgoingCallList ...........................................................................
PageCount ...................................................................................
PageCreated ................................................................................
ParentWindow ..............................................................................
Paste ............................................................................................
PasteLink .....................................................................................
PasteRTF .....................................................................................
PasteSpecial ................................................................................
Pi ..................................................................................................
PixelsToUnits ...............................................................................
Play ..............................................................................................
PointerX .......................................................................................
PointerY .......................................................................................
PopMenu......................................................................................
PopulateError ...............................................................................
Pos ...............................................................................................
PosA.............................................................................................
PosW............................................................................................
Position ........................................................................................
Post ..............................................................................................
PostEvent.....................................................................................
PostURL.......................................................................................
Preview ........................................................................................
Print ..............................................................................................
PrintBitmap...................................................................................
PrintCancel...................................................................................
PrintClose.....................................................................................
PowerScript リファレンス ボリューム 2
817
819
820
821
822
823
826
827
827
844
846
849
853
857
862
867
872
877
880
881
882
883
885
886
887
888
889
890
891
892
893
894
895
897
898
898
904
905
908
911
912
919
920
921
xi
目次
PrintDataWindow .........................................................................
PrintDefineFont ............................................................................
PrintEx..........................................................................................
PrintGetPrinter .............................................................................
PrintGetPrinters............................................................................
PrintLine .......................................................................................
PrintOpen .....................................................................................
PrintOval ......................................................................................
PrintPage .....................................................................................
PrintRect ......................................................................................
PrintRoundRect............................................................................
PrintScreen ..................................................................................
PrintSend .....................................................................................
PrintSetFont .................................................................................
PrintSetPrinter..............................................................................
PrintSetSpacing ...........................................................................
PrintSetup ....................................................................................
PrintSetupPrinter..........................................................................
PrintText.......................................................................................
PrintWidth.....................................................................................
PrintX ...........................................................................................
PrintY ...........................................................................................
ProfileInt .......................................................................................
ProfileString..................................................................................
Rand.............................................................................................
Randomize ...................................................................................
Read.............................................................................................
Real..............................................................................................
RecognizeText .............................................................................
RegistryDelete..............................................................................
RegistryGet ..................................................................................
RegistryKeys ................................................................................
RegistrySet...................................................................................
RegistryValues .............................................................................
RelativeDate.................................................................................
RelativeTime ................................................................................
ReleaseAutomationNativePointer ................................................
ReleaseNativePointer ..................................................................
RemoveDirectory .........................................................................
Repair...........................................................................................
Replace ........................................................................................
ReplaceA......................................................................................
ReplaceText .................................................................................
ReplaceW.....................................................................................
xii
922
923
925
926
927
928
929
931
932
933
934
936
937
939
940
940
941
942
943
945
946
946
947
949
951
952
953
955
957
957
958
960
961
963
964
964
965
966
967
967
969
970
971
973
PowerBuilder
目次
Reset ............................................................................................ 973
ResetArgElements ....................................................................... 976
ResetDataColors .......................................................................... 977
ResetInk ....................................................................................... 978
ResetPicture................................................................................. 979
Resize .......................................................................................... 980
Resolve_Initial_References ......................................................... 981
RespondRemote .......................................................................... 983
Restart.......................................................................................... 984
ResumeTransaction ..................................................................... 985
Reverse........................................................................................ 986
RevertToSelf ................................................................................ 987
RGB ............................................................................................. 988
Right ............................................................................................. 990
RightA .......................................................................................... 991
RightC .......................................................................................... 991
RightW ......................................................................................... 991
RightTrim...................................................................................... 992
RightTrimW .................................................................................. 992
RollbackOnly ................................................................................ 993
RollbackTransaction..................................................................... 994
Round........................................................................................... 996
RoutineList ................................................................................... 997
Run............................................................................................... 998
Save ........................................................................................... 1000
SaveAs....................................................................................... 1004
SaveDocument........................................................................... 1012
SaveInk ...................................................................................... 1014
Scroll .......................................................................................... 1016
ScrollNextPage .......................................................................... 1017
ScrollNextRow............................................................................ 1018
ScrollPriorPage .......................................................................... 1019
ScrollPriorRow ........................................................................... 1020
ScrollToRow ............................................................................... 1022
Second ....................................................................................... 1023
SecondsAfter.............................................................................. 1023
Seek ........................................................................................... 1024
SelectedColumn ......................................................................... 1027
SelectedIndex ............................................................................ 1028
SelectedItem .............................................................................. 1029
SelectedLength .......................................................................... 1030
SelectedLine .............................................................................. 1031
SelectedPage............................................................................. 1033
SelectedStart.............................................................................. 1034
PowerScript リファレンス ボリューム 2
xiii
目次
SelectedText ..............................................................................
SelectionRange..........................................................................
SelectItem ..................................................................................
SelectObject...............................................................................
SelectTab ...................................................................................
SelectText ..................................................................................
SelectTextAll ..............................................................................
SelectTextLine ...........................................................................
SelectTextWord..........................................................................
Send...........................................................................................
SeriesCount ...............................................................................
SeriesName ...............................................................................
SetAbort .....................................................................................
SetAlignment..............................................................................
SetArgElement ...........................................................................
SetAutomationLocale .................................................................
SetAutomationPointer ................................................................
SetAutomationTimeout...............................................................
SetBoldDate ...............................................................................
SetByte.......................................................................................
SetColumn .................................................................................
SetComplete ..............................................................................
SetData ......................................................................................
SetDataDDE...............................................................................
SetDataPieExplode ....................................................................
SetDataStyle ..............................................................................
SetDateLimits.............................................................................
SetDropHighlight ........................................................................
SetDynamicParm .......................................................................
SetFirstVisible ............................................................................
SetFocus ....................................................................................
SetGlobalProperty......................................................................
SetItem.......................................................................................
SetLevelPictures ........................................................................
SetLibraryList .............................................................................
SetMask .....................................................................................
SetMessage ...............................................................................
SetMicroHelp..............................................................................
SetNewMobiLinkPassword ........................................................
SetNull........................................................................................
SetOverlayPicture ......................................................................
SetParagraphSetting..................................................................
SetParm .....................................................................................
SetPicture...................................................................................
xiv
1035
1037
1038
1042
1042
1044
1048
1049
1050
1052
1055
1056
1057
1060
1061
1062
1064
1065
1066
1068
1069
1070
1073
1074
1076
1077
1083
1084
1085
1086
1087
1088
1089
1093
1095
1096
1098
1099
1100
1101
1101
1103
1104
1106
PowerBuilder
目次
SetPointer ..................................................................................
SetPosition .................................................................................
SetProfileString ..........................................................................
SetRange ...................................................................................
SetRecordSet.............................................................................
SetRedraw .................................................................................
SetRemote .................................................................................
SetResultSet ..............................................................................
SetSeriesStyle............................................................................
SetSelectedDate ........................................................................
SetSelectedRange .....................................................................
SetSpacing.................................................................................
SetState .....................................................................................
SetSyncRegistryProperties ........................................................
SetTextColor ..............................................................................
SetTextStyle...............................................................................
SetTimeout.................................................................................
SetToday....................................................................................
SetToolbar..................................................................................
SetToolbarPos ...........................................................................
SetTop........................................................................................
SetTraceFileName .....................................................................
SetTransPool .............................................................................
SetValue.....................................................................................
SharedObjectDirectory ...............................................................
SharedObjectGet .......................................................................
SharedObjectRegister ................................................................
SharedObjectUnregister.............................................................
Show ..........................................................................................
ShowHeadFoot ..........................................................................
ShowHelp...................................................................................
ShowPopupHelp ........................................................................
Sign ............................................................................................
SignalError .................................................................................
Sin ..............................................................................................
Sleep ..........................................................................................
Sort.............................................................................................
SortAll.........................................................................................
Space .........................................................................................
Sqrt.............................................................................................
Start............................................................................................
StartHotLink ...............................................................................
StartServerDDE .........................................................................
State ...........................................................................................
PowerScript リファレンス ボリューム 2
1107
1108
1111
1112
1113
1115
1116
1118
1119
1127
1128
1129
1130
1131
1132
1132
1134
1135
1136
1138
1142
1143
1144
1144
1146
1146
1150
1151
1151
1152
1154
1155
1156
1157
1158
1159
1159
1161
1162
1163
1163
1171
1173
1174
xv
目次
StepIt..........................................................................................
Stop............................................................................................
StopHotLink................................................................................
StopServerDDE..........................................................................
String..........................................................................................
String_To_Object .......................................................................
SuspendTransaction ..................................................................
Synchronize ...............................................................................
SyntaxFromSQL.........................................................................
SystemRoutine...........................................................................
TabPostEvent.............................................................................
TabTriggerEvent ........................................................................
Tan .............................................................................................
Text ............................................................................................
TextLine .....................................................................................
Time ...........................................................................................
Timer ..........................................................................................
ToAnsi ........................................................................................
Today .........................................................................................
Top .............................................................................................
TotalColumns .............................................................................
TotalItems ..................................................................................
TotalSelected .............................................................................
ToUnicode..................................................................................
TraceBegin.................................................................................
TraceClose.................................................................................
TraceDisableActivity...................................................................
TraceEnableActivity ...................................................................
TraceEnd....................................................................................
TraceError ..................................................................................
TraceOpen .................................................................................
TraceUser ..................................................................................
TriggerEvent...............................................................................
TriggerPBEvent..........................................................................
Trim ............................................................................................
TrimW.........................................................................................
Truncate .....................................................................................
TrustVerify..................................................................................
TypeOf .......................................................................................
Uncheck .....................................................................................
Undo...........................................................................................
UnitsToPixels .............................................................................
UpdateLinksDialog .....................................................................
Upper .........................................................................................
xvi
1176
1176
1178
1179
1179
1186
1189
1190
1192
1196
1197
1198
1199
1199
1200
1201
1204
1205
1206
1207
1208
1209
1209
1210
1211
1213
1214
1216
1218
1219
1220
1222
1223
1225
1227
1228
1229
1230
1233
1235
1236
1237
1238
1239
PowerBuilder
目次
UpperBound ...............................................................................
Which .........................................................................................
WordCap ....................................................................................
WorkSpaceHeight ......................................................................
WorkSpaceWidth .......................................................................
WorkSpaceX ..............................................................................
WorkSpaceY ..............................................................................
Write ...........................................................................................
XMLParseFile.............................................................................
XMLParseString .........................................................................
Year............................................................................................
Yield ...........................................................................................
1240
1242
1243
1244
1245
1246
1247
1247
1249
1252
1255
1256
索引............................................................................................................................................ 1261
PowerScript リファレンス ボリューム 2
xvii
目次
xviii
PowerBuilder
本書について
対象とする読者
このマニュアルは、PowerBuilder® を使ってクライアント サーバ
アプリケーション、多階層アプリケーション、または Web アプリ
ケーションの開発に携わっているプログラマを対象にしていま
す。
目的
このマニュアルは、PowerScript® 言語の変数、式、ステートメン
ト、イベント、および関数など、その構文と使い方について解説
しています。
2 つのボリューム
このマニュアルは、次の 2 つのボリュームに分かれています。
ボリューム
ボリューム 1
ボリューム 2
関連マニュアル
そのほかの参照情報
内容
第 1 章~第 9 章
第 10 章(PowerScript の関数)
PowerBuilder のすべてのマニュアルの一覧については、
PowerBuilder の『入門』マニュアルを参照してください。
製品に関するそのほかの詳細情報については、PowerBuilder DVD、
アシスト Web サイト、および Sybase 製品マニュアル Web サイト
(英語)を参照してください。
•
PowerBuilder DVD には、製品マニュアルが収められています。
製品マニュアルは、PDF 形式で提供しています。PDF ファイ
ルを読んだり、印刷したりするには、Adobe Acrobat Reader が
必要です。Adobe Acrobat Reader は、Adobe Web サイトから無
料でダウンロードすることができます。
•
アシスト Web サイトには、標準の Web ブラウザでアクセスす
ることができるオンライン版のマニュアルがあります。この
Web サイトでは、PDF および HTML 形式でマニュアルを見る
ことができます。
オンライン版のマニュアルには、アシストの PowerBuilder のサ
イト http://www.ashisuto.co.jp/prod/powerbuilder/ にある「技術情報」
からアクセスできます。
•
Sybase 製品マニュアル Web サイト(英語)は、標準の Web ブ
ラウザからアクセスでき、Sybase の製品マニュアルのほか、
EBF/ メンテナンス、技術文書などへのリンクも含んでいます。
PowerScript リファレンス ボリューム 2
xix
Sybase 製品マニュアル Web サイトには、Product Manuals のサイト
http://www.sybase.com/support/manuals/ からアクセスできます。
表記規則
このマニュアルは、以下の表記規則を使用します。
表記例
Retrieve と Update
意味
説明文で使用されている場合、左記のフォント
は次のいずれかを表します。
• コマンド名、関数名、メソッド名
• true、false、null などのキーワード
• Integer 型、Char 型などのデータ型
• emp_id、f_name などのデータベース カラム
名
変数(variable)または
ファイル名(file name)
• dw_emp、w_main などのユーザ定義オブ
ジェクト
説明文と構文の説明で使用された場合、斜体は
次のいずれかを表します。
• myCounter などの変数名
• 入力テキストで pblname.pbd など入力が必要
な部分
[ファイル|上書き保存]
dw_1.Update()
• ファイルとパス名
メニュー名やメニュー項目は、単純なテキスト
で記述されています。縦棒(|)は、メニュー
の選択順序を示します。たとえば、
[ファイル|
上書き保存]は、
「[ファイル]メニューから[上
書き保存]を選択する」ことを示します。
このフォントは、以下のいずれかを表します。
• ダイアログボックスやコマンド ラインに入
力する情報
• サンプル スクリプトの一部
• サンプル出力の一部
サポートについて
xx
「サポート ハンドブック」を参照してください。
PowerBuilder
第
1 0
章
PowerScript 関数
この章について
この章では、PowerScript 関数の構文、説明、および例を示します。
内容
以下に、各関数をアルファベット順にリストします。
関連項目
データウィンドウまたはデータストアに適用される関数について
は、
『データウィンドウ リファレンス』マニュアルも参照してくだ
さい。データウィンドウにのみ適用され、ほかの PowerBuilder コ
ントロールに適用されないメソッドは、
『データウィンドウ リファ
レンス』マニュアルにしか記載されていません。
PowerScript リファレンス ボリューム 2
343
Abs
Abs
機能
数値の絶対値を計算します。
構文
Abs ( n )
引数
n
説明
絶対値に変換する数値を指定します。
戻り値
n に指定された数値と同じデータ型。n に指定された数値の絶対値を返
します。n に指定された値が null の場合、null を返します。
例
以下のすべてのステートメントは、変数 num に 4 を代入します。
integer i, num
i =
num
num
num
num
4
=
=
=
=
Abs(i)
Abs(4)
Abs(+4)
Abs(-4)
次のステートメントは、4.2 を返します。
Abs(-4.2)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Abs メソッド
ACos
機能
角度の逆余弦を計算します。
構文
ACos ( n )
引数
n
説明
同位角を求める三角形の 2 辺の長さの比(単位 : ラジアン)
を指定します。比の値は -1 から 1 までです。
戻り値
Double 型。n の逆余弦を返します。
例
次のステートメントは、0 を返します。
ACos(1)
次のステートメントは 3.141593
(小数第 6 位で丸められる)
を返します。
ACos(-1)
344
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは 1.000000
(小数第 6 位で丸められる)
を返します。
ACos(.540302)
次のコードはボタンの Clicked イベントのスクリプトです。ユーザの入
力値に対して許可範囲外の逆余弦が取られ、変数に渡されたときに発
生する実行時エラーをキャッチします。
Double ld_num
ld_num = Double (sle_1.text)
TRY
sle_2.text = string (acos (ld_num))
CATCH (runtimeerror er)
MessageBox(" 実行時エラー ", er.GetMessage())
END TRY
関連項目
Cos
ASin
ATan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ACos メソッド
Activate
機能
OLE コンテナ内のオブジェクトをアクティブにし、エンド ユーザが
サーバのコマンドを使用してオブジェクトを処理できるようにしま
す。
対象
OLE コントロール、OLE DWObject(データウィンドウ コントロール
のデータウィンドウ オブジェクトの中にあるオブジェクト)
PowerScript リファレンス ボリューム 2
345
Activate
構文
objectref.Activate ( activationtype )
引数
objectref
説明
アクティブにする OLE コントロールの名前、またはデー
タウィンドウ コントロール上の OLE DWObject の完全な
名前を指定します。
DWObject の名前は、次のような完全な名前で指定します。
dwcontrol.Object.dwobjectname
activationtype
(オプション)
omActivateType カタログ データ型の値。エンド ユーザが
OLE オブジェクトをどこで使用するかを指定します。値は
以下のとおりです。
• InPlace! -(デフォルト)オブジェクトは、コントロー
ル上でアクティブになります。サーバ アプリケーショ
ンで提供されるメニューの一部が、PowerBuilder アプリ
ケーションのメニューとマージされます。
• OffSite! - オブジェクトは、サーバ アプリケーションで
アクティブになります。エンド ユーザは、サーバ アプ
リケーションの多くの機能を利用できます。
objectref に OLE コントロールの名前を指定した場合、
activationtype を省略することはできません。
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-4
-5
-9
コントロールが空です。
オブジェクトに対するバーブが無効です。
オブジェクトがバーブを実装していません。
オブジェクトはいずれのバーブもサポートしていません。
オブジェクトは現行バーブを実行できません。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、サーバ アプリケーションで、ole_1 内のオブジェクトをアク
ティブにします。
integer result
result = ole_1.Activate(OffSite!)
次の例は、サーバ アプリケーションの Microsoft Graph で、データウィ
ンドウ コントロール dw_1 内の ole_graph という OLE DWObject をアク
ティブにします。
integer result
result = dw_1.Object.ole_graph.Activate(OffSite!)
346
PowerBuilder
第 10 章
関連項目
PowerScript 関数
DoVerb
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの OLEActivate
SelectObject
AddCategory
機能
グラフの項目軸に新しい項目を追加します。AddCategory 関数は、項目
軸のデータ型が String 型の場合に使用します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.AddCategory ( categoryname )
引数
controlname
categoryname
説明
項目を追加するグラフの名前を指定します。
String 型の値。グラフ(controlname)に追加する項目名を
指定します。項目名は、項目軸上のラベルとして表示され
ます。
戻り値
Integer 型。正常に終了した場合、項目に割り当てられた数値を返しま
す。項目(categoryname)がすでに存在する場合、既存の項目の番号
を返します。エラーが発生した場合には -1 を返します。引数のいずれ
かの値が null の場合、null を返します。
解説
AddCategory 関数は、項目軸の最後に項目を追加します。各データ系列
に追加された " 空の項目 " には、データ ポイントを設定できます。グ
ラフ上のすべての項目の項目軸には、目盛り(チェックマーク)があ
ります。
項目軸のデータ型が String 型の場合、項目の名前として空の文字列("")
を指定できます。ただし、項目名は固有でなければならないので、名
前として("")を持つ項目は 1 つだけです。項目の名前は、大文字と
小文字が区別されます。
PowerScript リファレンス ボリューム 2
347
AddColumn
項目軸のデータ型が Date 型、DateTime 型、数値型、または Time 型の場
合に項目を追加するには、InsertCategory 関数を使用します。また、デー
タ系列の指定された位置に項目を挿入する場合にも、InsertCategory 関
数を使用します。InsertCategory 関数を使用すると、AddCategory 関数と
同 じ よ う に デ ー タ 系 列 の 最 後 に 項 目 を 追 加 で き ま す。た だ し、
InsertCategory 関数では、挿入位置を指定する引数が必要です。
グラフ内のデータ系列にデータを追加するには、AddData 関数または
InsertData 関数を使用します。データ値を追加すると、新しい項目を追
加できます。また、既存の項目にデータを追加したり、変更したりす
ることもできます。グラフにデータ系列を追加するには、AddSeries 関
数を使用します。
例
次のステートメントは、項目 PCs を gr_product_data に追加しています。
gr_product_data.AddCategory("PCs")
関連項目
AddData
AddSeries
DeleteData
DeleteSeries
AddColumn
機能
指定されたラベル、配置、および幅でカラムを追加します。
対象
リストビュー コントロール
構文
listviewname.AddColumn ( label, alignment, width )
引数
listviewname
label
alignment
説明
カラムを追加するリストビュー コントロールの名前を指
定します。
String 型の値。追加するカラムの名前を指定します。
Alignment カタログ データ型の値。追加するカラムの配置
を指定します。値は以下のとおりです。
• Center!
• Justify!
• Left!
• Right!
width
Integer 型の値。追加するカラムの幅を PowerBuilder 単位系
で指定します。
348
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合はカラムのインデックスを返し、エラー
が発生した場合は -1 を返します。
解説
カラムを指定の位置に挿入する InsertColumn 関数とは異なり、AddColumn
関数は既存のカラムの最後にカラムを追加します。
既存の項目の値を変更するには、SetItem 関数および SetColumn 関数を
使用します。新しい項目を追加するには、AddItem 関数を使用します。
リストビュー コントロールのレポート ビューでカラムを作成するに
は、AddColumn 関数を使用します。
例
次の例は、リストビュー コントロールのイベントに対するスクリプト
です。リストビュー コントロールに 3 つのカラムを追加します。
integer index
FOR index = 3 to 25
This.AddItem ("Category " + String (index), 1 )
NEXT
This.AddColumn("Name" , Left! , 1000)
This.AddColumn("Size" , Left! , 400)
This.AddColumn("Date" , Left! , 300)
関連項目
AddItem
DeleteColumn
InsertColumn
AddData
グラフのデータ系列の最後に値を追加します。使用する構文は、グラ
フの種類によって異なります。
データの追加先(グラフの種類)
散布図以外のすべてのグラフ
散布図
使用する構文
構文 1
構文 2
構文 1
散布図以外のすべてのグラフにデータを追加する
機能
グラフのデータ系列にデータ ポイントを追加します。この構文は、散
布図以外のグラフにデータを追加する場合に使用します。
PowerScript リファレンス ボリューム 2
349
AddData
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.AddData ( seriesnumber, datavalue {, categoryvalue } )
引数
controlname
seriesnumber
datavalue
categoryvalue
(オプション)
説明
データ系列にデータを追加するグラフの名前。散布図以外
のグラフを指定します。
データを追加するデータ系列を識別する番号を指定します。
データ系列に追加するデータ ポイントのデータ値を指定
します。
項 目 軸 の デ ー タ の 値 に 対 す る 項 目 を 指 定 し ま す。
categoryvalue のデータ型は、項目軸上のデータ型と一致し
なければなりません。通常、この引数 categoryvalue を指定
します。この引数を省略すると、項目に属さないデータが
データ系列に追加されます。
戻り値
Long 型。正常に終了した場合はデータ系列のデータ値の位置を返し、
エラーが発生した場合は -1 を返します。引数のいずれかの値が null の
場合は、null を返します。
解説
AddData 関数の構文 1 を使用すると、
指定されたデータ系列の最後に値
を追加します。指定された項目が存在する場合、項目の値を置き換え
ます。categoryvalue に指定された項目がデータ系列に存在しない場合、
その項目をデータ系列の最後に追加し、データ ポイントの目盛り
(チェックマーク)が付いたラベルが付けられます。項目軸がソートさ
れている場合、新しい項目はそのソート順序に従います。categoryvalue
に指定された項目がすでに存在する場合、新しいデータで、項目のデー
タ ポイントの古いデータを置き換えます。
たとえば、データ系列 1 で指定された 3 番目の項目ラベルが March の
場合に、データ系列 4 にデータを追加して項目ラベルに March と指定
すると、そのデータはデータ系列 4 の 3 番目のデータ ポイントの値に
なります。
項目軸のデータ型が String 型の場合、項目の名前として空の文字列("")
を指定できます。ただし、項目の名前は固有でなければならないので、
名前として空の文字列("")を持つ項目は 1 つだけです。AddData 関数
を使用する場合に、項目を指定せずにデータを追加すると、項目のな
いデータ ポイントになります。これは、"" という名前の項目とは別の
ものになります。
350
PowerBuilder
第 10 章
PowerScript 関数
データ系列の指定された位置にデータを挿入するには、InsertData 関数
を使用します。InsertData 関数を使用すると、AddData 関数と同じよう
にデータ系列の最後にデータを追加することができます。ただし、
InsertData 関数には、挿入位置を指定する引数が必要です。
InsertData 関数の「別の記述方法」で解説している AddData 関数、
InsertData 関数、および ModifyData 関数の比較を参照してください。
例
次のステートメントは、データ系列 Costs にデータ値 1250 を追加し、
グラフ gr_product_data の項目ラベル Jan にデータ ポイントを設定しま
す。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.AddData(SeriesNbr, 1250, "Jan")
次のステートメントは、グラフ gr_product_data のデータ系列 Costs の最
後にデータ値 1250 を追加します。ただし、項目ラベルにデータ ポイ
ントは設定されません。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.AddData(SeriesNbr, 1250)
関連項目
DeleteData
FindSeries
GetData
InsertData
構文 2
散布図にデータを追加する
機能
散布図のグラフの系列にデータ ポイントを追加します。
構文
controlname.AddData ( seriesnumber, xvalue, yvalue )
引数
controlname
seriesnumber
xvalue
yvalue
説明
データをデータ系列に追加する散布図の名前を指定しま
す。散布図のグラフを指定します。
データを追加するデータ系列を識別する番号を指定します。
データを追加するデータ ポイントの x の値を指定します。
データを追加するデータ ポイントの y の値を指定します。
PowerScript リファレンス ボリューム 2
351
AddItem
戻り値
Long 型。正常に終了した場合はデータ系列のデータ値の位置を返し、
エラーが発生した場合は -1 を返します。引数のいずれかの値が null の
場合は、null を返します。
例
次のステートメントは、散布図 gr_sales_yr 内のデータ系列 Costs にデー
タ ポイントの x と y の値を追加します。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_sales_yr.FindSeries("Costs")
gr_sales_yr.AddData(SeriesNbr, 12, 3)
関連項目
DeleteData
FindSeries
GetData
AddItem
リスト コントロールに項目を追加します。
項目の追加先(コントロール)
使用する構文
リストボックス コントロール、またはドロップダウ 構文 1
ン リストボックス コントロール
ピクチャ リストボックス コントロール、ドロップダ 構文 2
ウン ピクチャ リストボックス コントロール
リストビュー(項目のラベルとピクチャ インデック 構文 3
スだけを指定する場合)
リストビュー(項目のすべてのプロパティを指定する 構文 4
場合)
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールに項目を追加する
機能
リストボックスの値のリストに、新しい項目を追加します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール
構文
listboxname.AddItem ( item )
352
PowerBuilder
第 10 章
引数
listboxname
item
PowerScript 関数
説明
項目を追加するリストボックス コントロールまたはド
ロップダウン リストボックス コントロールの名前を指定
します。
String 型の値。追加する項目のテキストを指定します。
戻り値
Integer 型。新規に追加した項目の位置を返します。リストがソートさ
れていた場合、リストをソートした後の項目の位置を返します。エラー
が発生した場合、-1 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
リストボックスにすでに項目がある場合、新しい項目をリストの最後
に追加します。リストがソートされていた場合(Sorted プロパティが
true の場合)
、PowerBuilder は項目を追加した後、リストをソートし直
します。
リストには、同じ項目を追加することができます。リスト内の項目は、
テキストではなくリスト内の位置によって管理されます。
AddItem 関数と InsertItem 関数は、
Items プロパティ配列を更新しません。
追加された項目を実行時に検索するには、FindItem 関数を使用します。
水平スクロールバーを使用して多くの項目をリストに追加する方法 リ ス ト
ボックスや、ドロップダウン リストボックスのリストボックスの部分
に多くの項目がある場合に水平スクロールバーを表示するには、次の
方法を使用します。まず、SetRedraw 関数を呼び出して再描画機能をオ
フにします。項目を追加した後、SetRedraw 関数をもう一度呼び出して
再描画機能をオンにします。最後に、HScrollBar プロパティを true に
します。この方法を使用しないと、項目を追加するのに時間がかかる
ことがあります。
例
次の例は、リストボックス コントロール lb_Actions に項目 Edit File を
追加します。
integer rownbr
string s
s = "Edit File"
rownbr = lb_Actions.AddItem(s)
PowerScript リファレンス ボリューム 2
353
AddItem
たとえば、リストボックス コントロール lb_Actions に Add と Run とい
う項目が格納されている場合に、Sorted プロパティが false のときには、
3 を返します。これは、項目 Edit File がリストの最後に追加され、リ
ストの 3 番目の項目になるからです。Sorted プロパティが true のとき
には、2 を返します。これは、リストをアルファベット順にソートす
ると、項目 Edit File がリストの 2 番目の項目になるからです。
関連項目
DeleteItem
FindItem
InsertItem
Reset
TotalItems
構文 2
ピクチャ リストボックス コントロールとドロップダ
ウン ピクチャ リストボックス コントロールに項目を
追加する
機能
ピクチャ リストボックスの値のリストに、新しい項目を追加します。
対象
ピクチャ リストボックス コントロール、ドロップダウン ピクチャ リ
ストボックス コントロール
構文
listboxname.AddItem ( item {, pictureindex } )
引数
listboxname
item
pictureindex
(オプション)
戻り値
説明
項目を追加するピクチャ リストボックス コントロール、
またはドロップダウン ピクチャ リストボックス コント
ロールの名前を指定します。
String 型の値。追加する項目のテキストを指定します。
Integer 型の値。新しく追加する項目に関連付けるピクチャ
のインデックスを指定します。
Integer 型。新規に追加した項目の位置を返します。リストがソートさ
れていた場合、リストをソートした後の項目の位置を返します。エラー
が発生した場合、-1 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
ピクチャ インデックスを指定しなかった場合、新しく追加される項目
にピクチャが割り当てられません。
存在しないピクチャ インデックスを指定した場合でも、ピクチャ イン
デックスの番号は、ピクチャとともに格納されます。ピクチャをピク
チャ配列に追加すると、項目が対応するピクチャを示すようになりま
す。
354
PowerBuilder
第 10 章
PowerScript 関数
リストボックス内の項目の詳細については、構文 1 の説明を参照して
ください。
例
次の例は、ピクチャ リストボックス コントロール plb_birds に項目
Cardinal を追加します。
integer li_pic, li_position
string ls_name, ls_pic
li_pic = plb_birds.AddPicture("c:\pics\cardinal.bmp")
ls_name = "Cardinal"
li_position = plb_birds.AddItem(ls_name, li_pic)
たとえば、ピクチャ リストボックス コントロール plb_birds に Robin と
Swallow という項目が格納されている場合に、Sorted プロパティが false
のときには、3 を返します。これは、項目 Cardinal がリストの最後に
追加され、リストの 3 番目の項目になるからです。Sorted プロパティ
が true のときには、1 を返します。これは、リストをアルファベット
順にソートすると、項目 Cardinal がリストの最初の項目になるからで
す。
関連項目
DeleteItem
FindItem
InsertItem
Reset
TotalItems
構文 3
リストビュー コントロールに項目を追加する(1)
機能
リストビュー コントロールに項目を追加します。
対象
リストビュー コントロール
構文
listviewname.AddItem ( label, pictureindex )
引数
listviewname
label
pictureindex
戻り値
説明
ピクチャまたは項目を追加するリストビュー コントロー
ルの名前を指定します。
追加する項目の名前を指定します。
新規に追加する項目に関連付けるピクチャのインデック
スを指定します。
Integer 型。正常に終了した場合は項目のインデックスを返し、エラー
が発生した場合は -1 を返します。
PowerScript リファレンス ボリューム 2
355
AddItem
解説
この構文は、リストビュー コントロールに追加する項目のラベルとピ
クチャ インデックスだけを指定する場合に使用します。ラベルとピク
チャ インデックス以外のプロパティも指定する必要がある場合には、
構文 4 を使用してください。
例
次の例は、Constructor イベントで AddItem 関数を使用して、リスト
ビュー コントロールに 3 つの項目を追加します。
lv_1.AddItem("Sanyo" , 1)
lv_1.AddItem("Onkyo" , 1)
lv_1.AddItem("Aiwa" , 1)
関連項目
DeleteItem
FindItem
InsertItem
Reset
TotalItems
構文 4
リストビュー コントロールに項目を追加する(2)
機能
リストビュー コントロールの項目のすべてのプロパティを参照して、
リストビュー コントロールに項目を追加します。
対象
リストビュー コントロール
構文
listviewname.AddItem ( item )
引数
listviewname
item
戻り値
説明
ピクチャまたは項目を追加するリストビュー コントロー
ルの名前を指定します。
追加する項目のプロパティを含む ListViewItem 変数を指
定します。
Integer 型。正常に終了した場合は項目のインデックスを返し、エラー
が発生した場合は -1 を返します。
解説
この構文は、追加する項目のすべてのプロパティを指定する場合に使
用します。ラベルとピクチャ インデックスだけを指定する場合には、
構文 3 を使用してください。
例
次の例は、コマンドボタンの Clicked イベントで AddItem 関数を使用し
て、マウスがクリックされるたびに、リストビュー コントロールに項
目を追加します。
count = count + 1
listviewitem l_lvi
l_lvi.PictureIndex = 2
356
PowerBuilder
第 10 章
PowerScript 関数
l_lvi.Label = "Item "+ string(count)
lv_1.AddItem(l_lvi)
関連項目
DeleteItem
FindItem
InsertItem
Reset
TotalItems
AddLargePicture
機能
大きいピクチャのリストに、ビットマップ、アイコン、またはカーソ
ルを追加します。
対象
リストビュー コントロール
構文
listviewname.AddLargePicture ( picturename )
引数
listviewname
picturename
説明
大きいピクチャ(ビットマップ、アイコン、カーソル)を
追加するリストビュー コントロールの名前を指定します。
指定されたコントロールの大きいピクチャのリストに追
加するビットマップ、アイコン、またはカーソルの名前を
指定します。
戻り値
Integer 型。正常に終了した場合はピクチャ インデックスを返し、エ
ラーが発生した場合は -1 を返します。
解説
リストビュー コントロールに大きいピクチャを追加すると、リスト
ビュー コントロールで次に使用可能なピクチャのインデックスが与え
られます。たとえば、リストビュー コントロールに 2 つのピクチャがあ
る場合、次に追加されるピクチャのインデックス番号は 3 になります。
大 き い ピ ク チ ャ を 追 加 す る 前 に、LargePictureWidth プ ロ パ テ ィ と
LargePictureHeight プロパティを設定して、ピクチャのサイズを指定で
きます。最初に追加したピクチャの幅と高さによって、すべてのピク
チャのサイズが決まります。ピクチャを追加した後にプロパティの値
を変更しても、ピクチャのサイズは変わりません。
ピクチャを追加する前に LargePictureWidth プロパティと
LargePictureHeight プロパティの値を指定しなかった場合、最初に追加
したピクチャの幅と高さによって、追加するすべてのピクチャのサイ
ズが決まります。
PowerScript リファレンス ボリューム 2
357
AddPicture
ビットマップを追加する場合、AddLargePicture 関数を呼び出す前に、
LargePictureMaskColor プロパティを設定して、ビットマップで透明に
する色を指定します。関数を呼び出している間に、
LargePictureMaskColor プロパティの設定を変更することができます。
例
次の例は、lv_files というリストビュー コントロールの大きいピクチャ
のインデックスに、FOLDER.ICO ファイルを追加します。
// 大きいピクチャを追加します。
integer index
index = lv_files.AddLargePicture("folder.ico")
関連項目
DeleteLargePicture
AddPicture
機能
ピクチャのリストに、ビットマップ、アイコン、またはカーソルを追
加します。
対象
ピクチャ リストボックス コントロール、ドロップダウン ピクチャ リ
ストボックス コントロール、ツリービュー コントロール
構文
controlname.AddPicture ( picturename )
引数
controlname
picturename
説明
ピクチャ(ビットマップ、アイコン、カーソル)を追加す
るコントロールの名前を指定します。
指定されたコントロールのピクチャのリストに追加する
ビットマップ、アイコン、またはカーソルの名前を指定し
ます。
戻り値
Integer 型。正常に終了した場合はピクチャのインデックス番号を返し、
エラーが発生した場合は -1 を返します。
解説
ピクチャには、コントロールに追加された順にインデックスが割り当
てられます。
実行時にピクチャを追加しても、PictureName プロパティ配列を更新す
ることはできません。ピクチャはリストの終わりに追加されるので、
AddPicture 関数の戻り値は、コントロールに関連付けられているピク
チャの数を報告します。
358
PowerBuilder
第 10 章
PowerScript 関数
ピクチャを追加する前に、PictureWidth プロパティと PictureHeight プロ
パティを設定して、ピクチャのサイズを指定できます。最初に追加し
たピクチャの幅と高さによって、すべてのピクチャのサイズが決まり
ます。ピクチャを追加した後にプロパティの値を変更しても、ピクチャ
のサイズは変わりません。
ピクチャを追加する前に PictureWidth プロパティと PictureHeight プロ
パティの値を指定しなかった場合、最初に追加したピクチャの幅と高
さによって、追加するすべてのピクチャのサイズが決まります。
ビットマップを追加する場合、AddPicture 関数を呼び出す前に、
PictureMaskColor プロパティを設定して、ビットマップで透明にする
色を指定します。関数を呼び出している間に、PictureMaskColor プロ
パティの設定を変更することができます。
例
次の例は、ツリービュー コントロールにピクチャを追加し、追加した
ピクチャを新しいツリー ビュー コントロールの項目に関連付けます。
long ll_tvi
integer li_picture
li_picture = &
tv_list.AddPicture("c:\apps_pb\staff.ico")
ll_tvi = tv_list.FindItem(RootTreeItem!, 0)
tv_list.InsertItemFirst(ll_tvi, "Dept.", li_picture)
関連項目
DeletePicture
AddSeries
機能
グラフにデータ系列を追加し、指定した名前を割り当てます。新しい
データ系列には、番号も割り当てられます。グラフのデータ系列には、
追加された順番に従って連続した番号が付けられます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.AddSeries ( seriesname )
引数
controlname
seriesname
PowerScript リファレンス ボリューム 2
説明
データ系列を追加するグラフの名前を指定します。
String 型の値。データ系列の名前を指定します。指定され
た系列を controlname に指定されたグラフに追加します。
359
AddSeries
戻り値
Integer 型。正常に終了した場合、追加したデータ系列に割り当てられ
た番号を返します。seriesname に指定された文字列が重複している場
合、既存のデータ系列の番号を返します。エラーが発生した場合、-1
を返します。また、引数のいずれかの値が null の場合、AddSeries は null
を返します。
解説
controlname に指定されたグラフに seriesname を追加し、データ系列に
番号を割り当てます。その番号でグラフ内のデータ系列を識別します。
番号は順番に割り当てられます。たとえば、グラフに最初に追加した
データ系列には 1 が割り当てられ、グラフの先頭に表示されます。次
に追加したデータ系列には 2 が割り当てられます。
データ系列の名前は、グラフの中で固有でなければなりません。グラ
フに既存の名前を指定すると、AddSeries 関数は既存のデータ系列の番
号を返します。データ系列の名前は、大文字と小文字が区別されます。
したがって、同じ文字列でも大文字と小文字が異なる場合には、それ
ぞれ別の名前とみなされます。データ系列の名前として空の文字列
("")を指定することもできます。ただし、データ系列の名前は固有で
なければならないので、名前として空の文字列("")を持つデータ系
列は 1 つだけです。
リストの指定された位置にデータ系列を挿入するには、InsertSeries 関
数を使用します。InsertSeries 関数を使用すると、AddSeries 関数と同じ
ようにグラフにデータ系列を追加できます。ただし、InsertSeries 関数
には、挿入位置を指定する引数が必要です。
グラフ内のデータ系列にデータを追加するには、AddData 関数または
InsertData 関 数 を 使 用 し ま す。デ ー タ 系 列 に 項 目 を 追 加 す る に は、
InsertCategory 関数または AddCategory 関数を使用します。
例
次のステートメントは、グラフ gr_product_data にデータ系列 Costs を追
加します。
integer series_nbr
series_nbr = gr_product_data.AddSeries("Costs")
次のステートメントは、グラフ gr_product_data に名前を持たないデー
タ系列を追加します。
integer series_nbr
series_nbr = gr_product_data.AddSeries("")
関連項目
360
AddCategory
AddData
DeleteData
DeleteSeries
FindSeries
PowerBuilder
第 10 章
PowerScript 関数
InsertCategory
InsertSeries
SeriesCount
SeriesName
AddSmallPicture
機能
小さいピクチャのリストに、ビットマップ、アイコン、またはカーソ
ルの名前を追加します。
対象
リストビュー コントロール
構文
listviewname.AddSmallPicture ( picturename )
引数
listviewname
picturename
説明
小さいピクチャ(ビットマップ、アイコン、カーソル)を
追加するリストビュー コントロールの名前を指定します。
指定されたコントロールの小さいピクチャのリストに追
加するビットマップ、アイコン、またはカーソルの名前を
指定します。
戻り値
Integer 型。正常に終了した場合はピクチャ インデックスを返し、エ
ラーが発生した場合は -1 を返します。
解説
リストビュー コントロールに小さいピクチャを追加すると、リスト
ビュー コントロールで次に使用可能なピクチャのインデックスが与
えられます。たとえば、リストビュー コントロールに 2 つのピクチャ
がある場合、次に追加されるピクチャのインデックス番号は 3 になり
ます。
小 さ い ピ ク チ ャ を 追 加 す る 前 に、SmallPictureWidth プ ロ パ テ ィ と
SmallPictureHeight プロパティを設定して、ピクチャのサイズを指定で
きます。最初に追加したピクチャの幅と高さによって、すべてのピク
チャのサイズが決まります。ピクチャを追加した後にプロパティの値
を変更しても、ピクチャのサイズは変わりません。
ピクチャを追加する前に SmallPictureWidth プロパティと
SmallPictureHeight プロパティの値を指定しなかった場合、最初に追加
したピクチャの幅と高さによって、追加するすべてのピクチャのサイ
ズが決まります。
PowerScript リファレンス ボリューム 2
361
AddStatePicture
ビットマップを追加する場合、AddSmallPicture 関数を呼び出す前に
SmallPictureMaskColor プロパティを設定して、ビットマップで透明に
する色を指定します。関数を呼び出している間に、
SmallPictureMaskColor プロパティの設定を変更することができます。
例
次の例は、lv_files というリストビュー コントロールの小さいピクチャ
のインデックスに、SHORTCUT.ICO ファイルを追加します。
// 小さいピクチャを追加します。
integer index
index = lv_files.AddSmallPicture("shortcut.ico")
関連項目
DeleteSmallPicture
AddStatePicture
機能
状態ピクチャのリストに、ビットマップ、アイコン、またはカーソル
を追加します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.AddStatePicture ( picturename )
引数
controlname
picturename
説明
ピクチャ(ビットマップ、アイコン、カーソル)を追加す
るリストビュー コントロールまたはツリービュー コント
ロールの名前を指定します。
指定されたコントロールの状態ピクチャのリストに追加
するビットマップ、アイコン、またはカーソルの名前を指
定します。
戻り値
Integer 型。正常に終了した場合はピクチャ インデックスを返し、エ
ラーが発生した場合は -1 を返します。
解説
大きいアイコンのビュー内のリストビューの場合、大きいアイコンの
左に表示されるピクチャが状態ピクチャであり、デフォルトでは小さ
いサイズで表示されます。ツリービューの場合は、状態ピクチャが通
常のピクチャの左に表示され、状態ピクチャ用の領域を空けるために
項目が右に移動します。
StatePictureWidth プロパティまたは StatePictureHeight プロパティ を指
定すると、ピクチャはそのプロパティで指定されたサイズになります。
362
PowerBuilder
第 10 章
PowerScript 関数
ビットマップを追加する場合、AddPicture 関数を呼び出す前に、
StatePictureMaskColor プロパティを設定して、ビットマップで透明に
する色を指定します。関数を呼び出している間に、
StatePictureMaskColor プロパティの設定を変更することができます。
例
次の例は、lv_files というリストビュー コントロールの状態ピクチャの
インデックスに star.ico ファイルを追加します。
// 状態ピクチャを追加します。
integer index
index = lv_files.AddStatePicture("star.ico")
関連項目
DeleteStatePicture
AddToLibraryList
機能
実行時に、新しいファイルをアプリケーションまたはコンポーネント
のライブラリ探索パスに追加します。
構文
AddToLibraryList ( filelist )
引数
filelist
戻り値
解説
説明
カンマ(,)で区切られたファイル名のリストを指定します。
ファイル名は、拡張子を付けた完全な名前で指定します。
パスを省略すると、PowerBuilder のシステムの検索パスで
そのファイルが検索されます。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
アプリケーションまたはコンポーネントは、スタンドアロンの実
行形式やサーバでなく、PowerBuilder の開発環境の中で実行されて
います。
-2
新しいライブラリ リストまたは既存のライブラリ リストが空か、
または別の内部エラーが発生しました。
アプリケーションがオブジェクトをロードする場合、PowerBuilder で
は、まず実行ファイルが検索され、次にそのアプリケーションに指定
されたランタイム ライブラリが検索されます。展開されているコン
ポーネントについては、そのコンポーネントのライブラリ リストの
PBD ファイルが検索されます。AddToLibraryList を使用して、追加のラ
イブラリ ファイルを指定することもできます。
PowerScript リファレンス ボリューム 2
363
Arrange
AddToLibraryList を呼び出すと、新しいファイルのリストが、filelist で指
定した順序で、対象のライブラリ ファイルのリストに追加されます。
filelist に指定したファイルのうち、ライブラリ リストにすでに存在す
るファイルについては、ライブラリ リストに追加されません。filelist
に同一のファイル名が複数ある場合は、最初のファイル名だけがライ
ブラリ リストに追加されます。
コンポーネントがリソースを共有するときに起こる問題を回避するに
は、SetLibraryList のかわりに AddToLibraryList を使用して、EAServer に
展開されているコンポーネントの探索リストに、PBD ファイルを別途
追加してください。
PowerBuilder では、指定したライブラリがそのアプリケーションに適
切かどうかチェックされません。それらのライブラリにアプリケー
ションまたはコンポーネントが必要とするオブジェクトが存在するこ
とを確認してください。
この関数は、PowerBuilder 開発環境内では無効です。
例
次の例は、製品または顧客のどちらの処理を実行するかにより、ライ
ブラリ探索パスに追加する PBD を決定しています。
CHOOSE CASE processkind
CASE "product"
AddToLibraryList(prod.pbd)
CASE "customer"
AddToLibraryList(cust.pbd)
END CHOOSE
関連項目
GetLibraryList
SetLibraryList
Arrange
機能
アイコンを整列させます。
対象
リストビュー コントロール
構文
listviewname.Arrange ( )
引数
listviewname
364
説明
アイコンを整列させるリストビュー コントロールの名前
を指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
大きいアイコンと小さいアイコンのビューでのみ使用できます。
例
次の例は、リストビュー コントロールのアイコンを整列させます。
lv_list.Arrange()
ArrangeSheets
機能
MDI フレーム内のウィンドウ(シート)を配置します。開いている
シート、最小化されたシートのアイコン、またはアイコンそのものを
配置することができます。
対象
MDI フレーム ウィンドウ
構文
mdiframe.ArrangeSheets ( arrangetype )
引数
mdiframe
arrangetype
説明
MDI フレーム ウィンドウの名前を指定します。
ArrangeTypes カタログ データ型の値。MDI フレーム ウィ
ンドウで開いているシートをどのように配置するかを指
定します。値は以下のとおりです。
• Cascade! - 最小化されていないシートを重ねて表示し、
各シートのタイトル バーが見えるようにします。また、
最小化されたシートのアイコンをフレームの一番下に
一列に配置します。
• Layer! - 最小化されていないシートを上に重ねて表示
し、下にあるシートを完全に隠します。また、最小化し
たシートのアイコンをフレームの一番下に一列に配置
します。
• Tile! - 最小化されていないシートを並べて表示し、重
ならないようにします。また、最小化したシートのアイ
コンをフレームの一番下に一列に配置します。
• TileHorizontal! - 最小化されていないシートを並べて表
示して各シートが隣り合うシートを隠さないようにし
ます。また、最小化したシートのアイコンをフレームの
一番下に一列に配置します。
• Icons! - 最小化されたシートをフレームの一番下に一
列に配置します。
PowerScript リファレンス ボリューム 2
365
Asc
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
例
次の例は、メニュー項目の Clicked イベントに対するスクリプトに記述
されたステートメントです。MDI_User という名前の MDI フレーム ウィ
ンドウ内で最小化されていない開いているシートを並べて表示します。
MDI_User.ArrangeSheets(Tile!)
次の例は、メニュー項目の Clicked イベントに対するスクリプトに記述
されたステートメントです。最小化したシートのアイコンを MDI_User
という名前の MDI フレーム ウィンドウの一番下に配置します。
MDI_User.ArrangeSheets(Icons!)
関連項目
GetActiveSheet
OpenSheet
Asc
機能
指定された文字列の先頭文字を Unicode コード ポイントに変換しま
す。コード ポイントは、Unicode 文字に割り当てられた Integer 型の数
値です。
構文
Asc ( string )
引数
string
説明
先頭文字をコード ポイントに変換する文字列を指定します。
戻り値
Unsigned Integer 型。正常に終了した場合、string に指定された文字列の
先頭文字のコード ポイント値を返します。string に指定された文字列
が null の場合、null を返します。
解説
Asc 関数を使用すると、文字のコード ポイント値が一定の範囲内にあ
るかどうかを調べて大文字と小文字を区別することができます。
例
次のステートメントは、大文字の "A" のコード ポイント値 65 を返し
ます。
Asc("A")
次の例は、文字列 ls_name の先頭文字が大文字かどうかを調べます。
String ls_name
IF Asc(ls_name) > 64 and Asc(ls_name) < 91 THEN ...
関連項目
366
AscA
PowerBuilder
第 10 章
PowerScript 関数
Char
Mid
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Asc メソッド
AscA
機能
指定された文字列の先頭文字を ASCII コードに変換し、その値を
Integer 型で返します。
構文
AscA ( string )
引数
string
説明
先頭文字を ASCII コードに変換する文字列を指定します。
戻り値
Integer 型。正常に終了した場合、string に指定された文字列の先頭文字
の ASCII コードを返します。string に指定された文字列が null の場合、
null を返します。
解説
AscA 関数を使用すると、文字の ASCII コードが一定の範囲内にあるか
どうかを調べて大文字と小文字を区別することができます。Asc 関数
は、文字の Unicode コード ポイントを返します。
例
次のステートメントは、大文字の "A" の ASCII コード 65 を返します。
AscA("A")
次の例は、文字列 ls_name の先頭文字が大文字かどうかを調べます。
String ls_name
IF AscA(ls_name) > 64 and AscA(ls_name) < 91 THEN ...
次の例は、整数の配列(iarr)を文字列に変換する関数です。各整数は
2 つの文字を表しています。2 つの文字のうち下位バイトが最初の文字
で、上位バイト(ASCII * 256)が後の文字です。引数 iarr は Integer 型
の配列です。
string str_from_int, hold_str
integer arraylen
arraylen = UpperBound(iarr)
FOR i = 1 to arraylen
// 最初の整数を文字に変換します。
hold_str = CharA(iarr[i])
PowerScript リファレンス ボリューム 2
367
ASin
// 整数の上位バイトを文字に変換した後で
// 2 つの文字を文字列に連結します。
str_from_int += hold_str + &
CharA((iarr[i] - AscA(hold_str)) / 256)
NEXT
文字列から整数の配列を作成する Mid 関数の例を参照してください。
関連項目
Asc
CharA
Mid
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの AscA メソッド
ASin
機能
角度の逆正弦を計算します。
構文
ASin ( n )
引数
n
説明
同位角を求める三角形の 2 辺の長さの比(単位 : ラジアン)
を指定します。比の値は -1 から 1 までです。
戻り値
Double 型。n の逆正弦を返します。
例
次のステートメントは 0.999998(小数第 6 位で丸められる)を返します。
ASin(.84147)
次のステートメントは 0.520311(小数第 6 位で丸められる)を返します。
ASin(LogTen (Pi (1)))
次のステートメントは、0 を返します。
ASin(0)
次のコードはボタンの Clicked イベントのスクリプトです。ユーザの入
力値に対して許可範囲外の逆正弦が取られ、変数に渡されたときに発
生する実行時エラーをキャッチします。
Double ld_num
ld_num = Double (sle_1.text)
TRY
368
PowerBuilder
第 10 章
PowerScript 関数
sle_2.text = string (asin (ld_num))
CATCH (runtimeerror er)
MessageBox(" 実行時エラー ", er.GetMessage())
END TRY
関連項目
Sin
ACos
ATan
Pi
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ASin メソッド
ATan
機能
角度の逆正接を計算します。
構文
ATan ( n )
引数
n
説明
同位角を求める三角形の 2 辺の長さの比(単位 : ラジアン)
を指定します。
戻り値
Double 型。n の逆正接を返します。
例
次のステートメントは、0 を返します。
ATan(0)
次のステートメントは 1.000(小数第 3 位で丸められる)を返します。
ATan(1.55741)
次のステートメントは 1.267267(小数第 6 位で丸められる)を返します。
ATan(Pi(1))
関連項目
Tan
ASin
ACos
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ATan メソッド
PowerScript リファレンス ボリューム 2
369
Beep
Beep
機能
最高 10 回までビープ音を鳴らします。
構文
Beep ( n )
引数
n
説明
ビープ音を鳴らす回数を指定します。n に 10 以上の値を指
定した場合、ビープ回数は 10 回に設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。n に指定された値が null の場合、null を返します。通常、
戻り値は使用されません。
例
次のステートメントは、ビープ音を 5 回鳴らします。
Beep(5)
BeginTransaction
機能
EAServer トランザクションを生成し、呼び出し元のスレッドに関連付
けます。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.BeginTransaction ( )
引数
CORBACurrent
説明
CORBACurrent サービス インスタンスへの参照を指定
します。
戻り値
Boolean 型。正常に終了した場合、true を返します。トランザクション
を生成できなかった場合、false を返します。
解説
BeginTransaction 関数では、トランザクションが生成され、また、呼び
出し元のスレッドのトランザクション コンテキストが変更され、トラ
ンザクションと関連付けられます。これにより、呼び出し元のスレッ
ドは、そのトランザクションの情報を取得し、コミットとロールバッ
クを制御することができるようになります。BeginTransaction は、OTS
スタイルのマークが付いているクライアントまたはコンポーネントで
呼び出せます。EAServer は、2 フェーズ コミット トランザクション
コーディネータ(OTS/XA)を使用していることが必要です。
370
PowerBuilder
第 10 章
PowerScript 関数
呼び出し元のスレッドがすでにトランザクションと関連付けられてい
る場合、BeginTransaction 関数は false を返します。ネストされたトラン
ザクションはサポートされていません。
例
次の例では、BeginTransaction を使用してクライアントからトランザク
ションを生成します。
// インスタンス変数:
// CORBACurrent corbcurr
// Connection myconnect
long ll_rc
integer li_rc1, li_rc2
boolean lb_success
ll_rc = myconnect.ConnectToServer()
// エラー処理の挿入 ...
li_rc1 = this.GetContextService("CORBACurrent", &
corbcurr)
// エラー処理の挿入 ...
li_rc2 = corbcurr.Init( myconnect )
// エラー処理の挿入 ...
lb_success = corbcurr.BeginTransaction()
IF NOT lb_success THEN
MessageBox (" トランザクションの生成に失敗しました ", &
" クライアントが既にトランザクションを使用している可能性があ
ります。")
RETURN
ELSE
ll_rc = myconnect.CreateInstance(lcst_mybookstore)
// 処理の開始
...
関連項目
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
PowerScript リファレンス ボリューム 2
371
Blob
Blob
文字列またはバイト配列を Blob 型に変換します。
目的
文字列を Blob 型に変換する
文字列またはバイト配列を Blob 型に変換する
構文 1
文字列を Blob 型に変換する
機能
文字列を Blob 型に変換します。
構文
Blob ( text {, encoding} )
引数
text
encoding
使用する構文
構文 1
構文 2
説明
Blob 型に変換する文字列を指定します。
Blob 型に変換された文字列の文字エンコーディングを指
定します。値は以下のとおりです。
• EncodingANSI!
• EncodingUTF8!
• EncodingUTF16LE!(デフォルト)
• EncodingUTF16BE!
戻り値
Blob 型。指定されたエンコーディングで Blob 型に 変換した文字列を
返します。text が null の場合、null を返します。
解説
encoding 引数が指定されていない場合、Blob 関数は Unicode 文字列を
Unicode Blob 型に変換します。ほかのエンコーディングの Blob 型に変
換する場合は、encoding 引数を指定する必要があります。
例
次の例は、テキスト文字列を Unicode Blob 型で保存します。
Blob B
B = Blob("Any Text")
次の例は、テキスト文字列を UTF-8 エンコーディングの Blob 型で保
存します。
Blob Blb
Blb = Blob("Any Text", EncodingUTF8!)
関連項目
372
BlobEdit
BlobMid
String
PowerBuilder
第 10 章
PowerScript 関数
構文 2
文字列またはバイト配列を Blob 型に変換する
機能
文字列またはバイト配列を Blob データ型に変換します。
構文
Blob ( array[ ] )
引数
説明
stringorbytear Any 変数。blob データ型に変換する文字列またはバイト配列
ray
を含みます 。
戻り値
Blob 型。Blob 型に変換した文字列またはバイト配列を返します。
例
次の例は、バイト配列を Blob 型で保存し、Blob 型の内容を別のバイト
配列にコピーします。
Blob lblb_1
Any a
byte lbyte_array[], lbyte_array2[]
// 配列を初期化します。
lbyte_array[] = {1,10,100,200,255}
a = lbyte_array
lblb_1 = Blob(a)
lbyte_array2[] = GetByteArray(lblb_1)
関連項目
GetByteArray
BlobEdit
機能
PowerBuilder のすべてのデータ型のデータを Blob 型の変数に挿入しま
す。
構文
BlobEdit ( blobvariable, n, data {, encoding} )
引数
blobvariable
n
data
PowerScript リファレンス ボリューム 2
説明
初期化した Blob 型の変数を指定します。指定された変数
に PowerBuilder の標準データ型のデータを挿入します。
データを挿入する blobvariable 内の位置(1 ~ 4,294,967,295
の数値)を指定します。
blobvariable に挿入する PowerBuilder の標準データ型の
データを指定します。
373
BlobEdit
引数
encoding
説明
String 型のデータを挿入する Blob 型の変数の文字エン
コーディングを指定します。値は以下のとおりです。
• EncodingANSI!
• EncodingUTF8!
• EncodingUTF16LE!(デフォルト)
• EncodingUTF16BE!
戻り値
UnsignedLong 型。正常に終了した場合、次のデータのコピー先として
使用できる位置を返します。コピーに必要なスペースが blobvariable に
ない場合、null を返します。引数のいずれかの値が null の場合は、null
を返します。
引数 data が文字列である場合、データをコピーする blobvariable 内の
位置はその文字列 + 2 になります。引数 data が Blob 型に変換された文
字列である場合、その位置は、その文字列 + 1 になります。これは、文
字列には、null で終わる文字が含まれていて、これが Blob 型に変換さ
れると失われるためです。このため、BlobEdit (blob_var, 1, "ZZZ")
の場合 5 が返され、BlobEdit (blob_var, 1, blob ("ZZZ") ) の場合
4 が返されます。
引数 data が文字列であり、特定のエンコーディングの Blob 型を生成
する場合は、encoding のパラメータを使用します。
例
次の例は、まず、Blob 型の変数 emp_photo の 1 の位置からビットマッ
プをコピーし、次のデータのコピー先となる位置を nbr に格納します。
次に、この nbr を使用して Blob 型の変数 emp_photo のビットマップ
データの後に日付をコピーします。
blob{1000} emp_photo
blob temp
date pic_date
ulong nbr
... // FileOpen 関数と FileRead 関数を使用して、社員の写真を
... // 格納している BMP ファイルを temp ファイルに読み込みます。
pic_date = Today()
nbr = BlobEdit(emp_photo, 1, temp)
BlobEdit(emp_photo, nbr, pic_date)
UPDATEBLOB Employee SET pic = :emp_photo
WHERE ...
374
PowerBuilder
第 10 章
PowerScript 関数
次の例は、Blob 型の変数 blb_data の 1 の位置から文字列をコピーし、
Blob 型のエンコーディングに ANSI を指定します。
blob{100} blb_data
string str1 = "This is a string"
ulong ul_pos
ul_pos = BlobEdit (blb_data, 1, str1, EncodingANSI!)
関連項目
Blob
BlobMid
BlobMid
機能
Blob 型の変数からデータを取得します。
構文
BlobMid ( data, n {, length } )
引数
data
n
length
(オプション)
戻り値
説明
Blob 型のデータを指定します。
取得する先頭バイトの位置(1 ~ 4,294,967,295)を指定し
ます。
取得するバイト数(1 ~ 4,294,967,295)を指定します。
Blob 型。data の n の位置から length で指定されたバイト数までを返し
ます。n に指定された値が data のバイト数よりも大きい場合、空の Blob
型データを返します。length と n を合わせた値が Blob 型の変数が含む
バイト数より大きくなる場合、残りのバイトを返します。このとき、
返す Blob 型のデータは指定の長さより短くなります。引数のいずれか
の値が null の場合、null を返します。
終端文字を含める
String 型の変数には、1 バイトの 0 終端文字が含まれています。取り出
したデータ数を計算する場合には、終端文字も含めてください。
例
次の例は、最初の呼び出しで Blob 型の変数 datablob の 5 の位置から 10
バイトを取り出して data_1 に格納します。次の呼び出しで、datablob
の 5 の位置から最後までの datablob のバイトを取り出して data_2 に格
納します。
blob data_1, data_2, datablob
PowerScript リファレンス ボリューム 2
375
BuildModel
... // Blob データ型の datablob を読み込みます。
data_1 = BlobMid(datablob, 5, 10)
data_2 = BlobMid(datablob, 5)
次の例は、まず、Blob 型の変数 emp_photo の 1 の位置からビットマッ
プをコピーし、次のデータのコピー先となる位置を nbr に保持します。
次に、この nbr を使用して Blob 型の変数 emp_photo のビットマップ
データの後に日付をコピーします。最後に、日付の開始位置を使用し
て Blob 型の変数から日付を取り出し、スタティック テキスト コント
ロール st_1 に表示します。
blob{1000} emp_photo
blob temp
date pic_date
ulong nbr
... // FileOpen 関数と FileRead 関数を使用して、社員の写真を
... // 格納している BMP ファイルを temp ファイルに読み込みます。
pic_date = Today()
nbr = BlobEdit(emp_photo, 1, temp)
BlobEdit(emp_photo, nbr, pic_date)
st_1.Text = String(Date(BlobMid(emp_photo, nbr)))
関連項目
Blob
BlobEdit
BuildModel
機能
SetTraceFileName 関数で指定したトレース ファイルに基づいて、パ
フォーマンス解析またはトレース ツリー モデルを構築します。オプ
ションの引数を指定すると、構築の進捗状況の監視や構築への割り込
みを行うことができます。
BuildModel 関数を呼び出す前に、SetTraceFileName 関数を使用して、モ
デル化するトレース ファイルを指定する必要があります。
対象
376
Profiling オブジェクトと TraceTree オブジェクト
PowerBuilder
第 10 章
構文
instancename.BuildModel ( { progressobject, eventname, triggerpercent } )
引数
instancename
progressobject
(オプション)
eventname
(オプション)
triggerpercent
(オプション)
戻り値
解説
PowerScript 関数
説明
Profiling オブジェクトまたは TraceTree オブジェクトのイ
ンスタンス名を指定します。
処理済みの操作の数を表す PowerObject 型を指定します。
String 型の値。定義するイベントの名前を指定します。
Long 型の値。eventname で指定したイベントを起動する前
に BuildModel 関数が処理する必要のある操作の割合を指
定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileNotSetError! - TraceFileName が設定されていません。
•
ModelExistsError! - モデルはすでに構築されています。
•
EnterpriseOnlyFeature! - この関数は、PowerBuilder Enterprise 版で
のみサポートされています。
•
EventNotFoundError! - 渡された progressobject に対するイベント
が見つからないので、モデルを構築できません。
•
EventWrongPrototypeError! - イベントは見つかりましたが、適切
なプロトタイプがないのでモデルを構築できません。
•
SourcePBLError! - ソース ライブラリが見つからないので、モデル
を構築できません。
BuildModel 関 数 は、ト レ ー ス フ ァ イ ル か ら 生 デ ー タ を 取 得 し て、
PowerScript 言語の関数を実行できるオブジェクトにそれをマップしま
す。構築の進捗状況を記録しないでトレース ファイルのモデルを構築
する場合は、オプションの引数を指定しないで BuildModel を呼び出し
ます。モデルの作成中に進捗情報を受け取る場合、または完了までに
時間がかかりすぎる BuildModel に割り込む場合は、オプションの引数
を指定して BuildModel を呼び出します。
渡された progressobject に対するイベント eventname は、triggerpercent
引数で指定した割合の操作の処理が終わると起動します。
triggerpercent の値が 0 の場合は、eventname は操作ごとに起動します。
triggerpercent の値が 100 を超える場合は、eventname は起動しません。
このイベントは次の構文を使用して定義します。
eventname ( currentactivity, totalnumberofactivities )
PowerScript リファレンス ボリューム 2
377
BuildModel
引数
eventname
currentactivity
totalnumberofactivities
説明
イベントの名前を指定します。
Long 型の値。現行の操作の数を指定します。
Long 型の値。トレース ファイル内の操作の総数を
指定します。
eventname は、Boolean 型の値を返します。false が返された場合は、
BuildModel 関数によって開始された処理がキャンセルされ、一時スト
レージがクリーンアップされます。時間がかかりすぎる BuildModel 処
理を停止する必要がある場合は、eventname から false 値を返すことが
できます。eventname 用に作成するスクリプトでは、進捗状況の監視方
法を決定します。たとえば、進捗状況を表示することや、処理をキャ
ンセルする必要があるかどうかをチェックすることができます。
例
次の例は、トレース ファイルのパフォーマンス解析を作成します。
Profiling lpro_model
String ls_filename
lpro_model = CREATE Profiling
lpro_model.SetTraceFileName(ls_filename)
lpro_model.BuildModel()
次の例は、トレース ファイルのトレース ツリー モデルを作成します。
TraceTree ltct_model
String ls_filename
ltct_model = CREATE TraceTree
ltct_model.SetTraceFileName(ls_filename)
ltct_model.BuildModel()
次の例は、パフォーマンス解析モデルを作成し、そのモデルの構築中
に 進 捗 情 報 を 提 供 し ま す。BuildModel に 対 す る eventname 引 数 は
ue_progress であり、このイベントは操作が 5% 処理されるたびに起動
します。構築の進捗状況は、
[キャンセル]ボタンを持つ w_progress と
いうウィンドウに表示されます。
Profiling lpro_model
String ls_filename
Boolean lb_cancel
lpro_model = CREATE Profiling
lb_cancel = false
lpro_model.SetTraceFileName(ls_filename)
378
PowerBuilder
第 10 章
PowerScript 関数
Open(w_progress)
// of_init ウィンドウ関数を呼び出して
// 進行状況 ダイアログボックスを初期化します。
w_progress.of_init(lpro_model.NumberOfActivities, &
'Building Model', This, 'ue_cancel')
lpro_model.BuildModel(This, 'ue_progress', 5)
進行状況 ダイアログボックスで[キャンセル]ボタンをクリック
すると、lb_cancel は TRUE に設定され、
ue_progress は FALSE に戻ります。
lb_cancel THEN &
Close(w_progress)
RETURN -1
END IF
//
//
//
IF
関連項目
SetTraceFileName
DestroyModel
Byte
機能
数値を Byte データ型に変換したり、blob に格納された Byte 型の値を取得した
りします。
構文
Byte ( stringorblob )
引数
stringorblob
説明
Byte データ型として返したい String 型または数値データ型を
指定します。あるいは、先頭の値の Byte 値を返したい Blob
データ型を指定します。stringorblob 変数は、string、integer、
uint、long、longlong、または blob を参照する限り Any デー
タ型を持つことでもできます。
戻り値
Byte 型。正常に終了した場合は、stringorblob 変数の値を Byte データ型
として返します。stringorblob 変数が有効な PowerScript の数値ではな
い 場 合、ま た は 互 換 性 の な い デ ー タ 型 の 場 合 は、0 を 返 し ま す。
stringorblob が null の場合は、Byte は null を返します。
解説
変換する数値が Byte データ型の上限(>255)を超える場合は、Byte メ
ソッドは stringorblob 引数で渡す数値とその数値より小さい 256 の最
小倍数との差を返します。
PowerScript リファレンス ボリューム 2
379
Cancel
stringorblob 引数で blob を渡す場合は、先頭文字の値だけが byte 値に
変換されます。
(blob 引数を使用する場合は「オーバーフロー」するこ
とはありません。)blob 内の別の位置にある文字の byte 値を取得する
には、GetByte メソッドを使用します。
例
次の例は、シングルライン エディット コントロールに入力された文字
列を byte 値に変換します。
Byte ly_byte
ly_byte = Byte(sle_1.text)
シングルライン エディットに入力されたテキストが 4 の場合は、
ly_byte の byte 値は 4 です。
入力されたテキストが 257 の場合は、ly_byte
の値は 1 です。256 や「ABC12」などのテキストの場合は、ly_byte の
値は 0 です。
次の例は、シングルライン エディット コントロールに入力した先頭文
字の ASCII 値を返します。
Byte lb_byte
Blob myBlob
myBlob = Blob(sle_1.text)
lb_byte = Byte(myBlob)
関連項目
GetByte
SetByte
Cancel
機能
パイプライン オブジェクトの実行を停止します。
対象
パイプライン オブジェクト
構文
pipelineobject.Cancel ( )
引数
pipelineobject
説明
実行するパイプライン オブジェクトを含むパイプライン
ユーザ オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
Cancel 関数は、Start 関数または Repair 関数の実行中にだけ使用できま
す。
380
PowerBuilder
第 10 章
PowerScript 関数
Cancel 関数を使用してパイプラインを停止すると、パイプラインが最
大エラー件数に達した場合と同じように、データがコミットされます。
パイプラインが最大エラー件数に達した場合のパイプラインの動作形
態は、開発者がデータ パイプライン ペインタで定義します。詳細につ
いては、PowerBuilder の『ユーザーズ ガイド』マニュアルを参照して
ください。
例
次の例は、コマンドボタンの Clicked イベントに対するスクリプトに記
述されたステートメントです。パイプライン オブジェクト i_pipe の実
行を停止します。
i_pipe.Cancel()
関連項目
Repair
Start
CancelSync
機能
同期処理をキャンセルし、処理中に蓄積された変更をロールバックし
ます。
対象
MLSynchronization、MLSync、ULSync コントロール
構文
SyncObject.CancelSync ( )
引数
syncObject
戻り値
例
説明
停止したい同期処理を開始した同期オブジェクト名を指定
します。
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
ウィザードによって生成される同期の進行状態ウィンドウにある
[キャンセル]ボタンの Clicked イベント内の以下のコードは、同期を
キャンセルします。
long rc
rc = i_uosync.cancelsync()
IF rc = 1 THEN
mle_status.text += ' 同期処理はキャンセルされました。
~r~n'
ELSE
mle_status.text += ' キャンセル要求は失敗しました。~r~n'
END IF
関連項目
Synchronize
PowerScript リファレンス ボリューム 2
381
CanUndo
CanUndo
機能
編集可能なコントロールの中で最後に行った編集操作を、Undo 関数を
使用して取り消すことができるかどうかを調べます。
対象
編集可能なコントロール(データウィンドウ、マルチライン エディッ
ト、シングルライン エディット、リッチテキスト エディット)
構文
editname.CanUndo ( )
引数
editname
説明
データウィンドウ、マルチライン エディット、シングル
ライン エディット、リッチテキスト エディットのいずれ
かのコントロールの名前を指定します。指定されたコント
ロールの中で最後に行った編集操作を、Undo 関数で取り
消すことができるかどうかを調べます。データウィンドウ
の場合、現行の行と列の編集可能なコントロールで最後に
行った編集操作を、Undo 関数で取り消すことができるか
どうかを調べます。
戻り値
Boolean 型。最後に行った編集操作を CanUndo 関数を使用して取り消
すことができる場合、true を返します。取り消すことができない場合、
false を返します。また、editname に指定された値が null の場合、null を
返します。
例
次のステートメントは、mle_contact 内での最後の編集操作を、Undo 関
数を使用して取り消すことができるかどうかを確認します。取り消す
ことができる場合、Undo 関数で最後の編集操作が取り消されます。取
り消すことができない場合、メッセージが表示されます。
IF mle_contact.CanUndo() THEN
mle_contact.Undo()
ELSE
MessageBox(Parent.Title, "Undo できません。")
END IF
関連項目
382
Undo
PowerBuilder
第 10 章
PowerScript 関数
CategoryCount
機能
グラフの項目軸上にある項目の数を数えます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.CategoryCount ( { graphcontrol } )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
説明
グラフ コントロールの名前、またはグラフを格納してい
るデータウィンドウ コントロールの名前を指定します。指
定されたグラフ上の項目の数を数えます。
String 型の値。項目の数を数えるデータウィンドウ コント
ロール上のグラフの名前を指定します。controlname にデー
タウィンドウ コントロールの名前を指定した場合には、
graphcontrol を省略することはできません。
戻り値
Integer 型。正常に終了した場合は項目の数を返し、エラーが発生した
場合は -1 を返します。引数のいずれかの値が null の場合、null を返し
ます。
例
次のステートメントは、データウィンドウ コントロール dw_findata 上
のグラフ gr_revenues の項目の数を数えます。
integer li_count
li_count = &
dw_findata.CategoryCount("gr_revenues")
次のステートメントは、グラフ gr_product_data の項目の数を数えます。
integer li_count
li_count = gr_product_data.CategoryCount()
関連項目
DataCount
SeriesCount
PowerScript リファレンス ボリューム 2
383
CategoryName
CategoryName
機能
指定された項目番号に対応する項目名を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.CategoryName ( { graphcontrol, } categorynumber )
引数
controlname
説明
項目番号から項目を検索するグラフの名前、またはそ
のグラフを格納しているデータウィンドウ コント
ロールの名前を指定します。
graphcontrol
String 型の値。項目名を検索するデータウィンドウ コ
(データウィンド
ントロール上のグラフの名前を指定します。
ウ コントロールの controlname にデータウィンドウ コントロールの名前
み)(オプション) を指定した場合には、graphcontrol を省略することは
できません。
categorynumber
項目名を検索する項目番号を指定します。
戻り値
String 型。正常に終了した場合、controlname の中の categorynumber に
対応する項目名を返します。エラーが発生した場合、空の文字列("")
を返します。引数のいずれかの値が null の場合、null を返します。
解説
項目には、1 から CategoryCount 関数の戻り値までの連続番号が付けら
れています。項目を削除した場合、残った項目が連続した順番になる
ように番号を付け直します。CategoryName 関数を使用すると、項目番
号から対応する項目の名前を検索できます。
例
次のステートメントは、グラフ gr_product_data の番号 5 の項目の名前
を返します。
string ls_name
ls_name = gr_product_data.CategoryName(5)
次のステートメントは、データウィンドウ コントロール dw_findata 上
のグラフ gr_revenues の番号 5 の項目の名前を返します。
string ls_name
ls_name = &
dw_findata.CategoryName("gr_revenues", 5)
関連項目
384
AddCategory
SeriesName
PowerBuilder
第 10 章
PowerScript 関数
Ceiling
機能
指定された値以上の整数の中から、最小の整数値を返します。
構文
Ceiling ( n )
引数
n
説明
数値を指定します。指定された値以上の整数の中から、最
小の整数値を返します。
戻り値
n に指定された数値と同じデータ型。n に指定された値以上の整数の中
から、最小の整数値を返します。n に指定された値が null の場合、null
を返します。
例
次のステートメントは、num に 5 を代入します。
decimal dec, num
dec = 4.8
num = Ceiling(dec)
次のステートメントは、num に -4 を代入します。
decimal num
num = Ceiling(-4.2)
num = Ceiling(-4.8)
関連項目
Int
Round
Truncate
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Ceiling メソッド
ChangeDirectory
機能
現行ディレクトリを変更します。
構文
ChangeDirectory ( directoryname )
引数
directoryname
戻り値
説明
String 型の値。現行ディレクトリに設定するディレクトリ
の名前を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
PowerScript リファレンス ボリューム 2
385
ChangeMenu
例
次の例では、現行ディレクトリを、現行ディレクトリの親ディレクト
リに変更し、新しい現行ディレクトリをシングルライン エディット コ
ントロールに表示します。
ChangeDirectory( ".." )
sle_1.text = GetCurrentDirectory( )
関連項目
CreateDirectory
GetCurrentDirectory
ChangeMenu
機能
ウィンドウと関連付けられているメニューを変更します。ウィンドウ
が MDI フレームの場合、開いているシートのリストを現在アクティブ
なメニューに追加します。
対象
ウィンドウ オブジェクト
構文
windowname.ChangeMenu ( menuname {, position } )
引数
windowname
menuname
position
(MDI フレーム
ウィンドウの
み)
説明
メニューを変更するウィンドウの名前を指定します。
関連付けるメニューの名前を指定します。
開いているシートの名前を追加するメニューバーのメ
ニュー項目の番号を指定します。メニューバーのメニュー
項目は、左端から順番に 1 から番号が付けられます。デ
フォルトの設定(0)では、メニューバーの最後から 2 番
目のメニュー項目(または、使用可能なメニュー項目が 1
つしかない場合は最後のメニュー項目)に、開いている
シートのリストが表示されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
通常、戻り値は使用されません。
解説
MDI フレーム ウィンドウのメニューを変更している場合、アクティブ
なシートがメニューを持っているときには、新しいメニューは表示さ
れません。シートが独自のメニューを持っている場合には、フレーム
の非表示メニューと同じように、開いているシートのリストをシート
のメニュー上に表示します。
386
PowerBuilder
第 10 章
PowerScript 関数
MDI フレーム ウィンドウで、異なるメニューおよびツールバーのスタ
イル(トラディショナルまたはコンテンポラリ)を持つメニューに変
える場合、メニューのスタイルは変わりますが、ツールバーのスタイ
ルは変わりません。
例
次のステートメントは、ウィンドウ オブジェクト w_Employee のトッ
プ レベルのメニューを m_Emp1 に変更します。
w_Employee.ChangeMenu(m_Emp1)
Char
機能
指定された文字列の先頭の Unicode 文字を返します。また、Integer 型の
値が指定された場合、Char 型に変換します。
構文
Char ( n )
引数
n
説明
取得する文字が先頭にある String 型の文字列、Char 型に変
換する整数、先頭に文字列か整数を含む Blob 型のデータを
指定します。残りの文字列や Blob 型のデータは、無視さ
れます。n には、文字列、整数、または Blob 型を含む Any
型の変数を指定することもできます。
戻り値
Char 型。n に指定された文字列の先頭の Unicode 文字を返します。n に
指定された文字列が null の場合、null を返します。
例
次のステートメントは、ASCII コード 42 のアスタリスクを ls_S に格納
します。
string ls_S
ls_S = Char(42)
次のステートメントは、A ~ F の ASCII コードを生成します。
string ls_Delivery
integer li_DeliveryNbr
FOR li_DeliveryNbr = 1 to 6
ls_Delivery = Char(64 + li_DeliveryNbr)
... // ls_Delivery の追加処理
NEXT
関連項目
Asc
CharA
PowerScript リファレンス ボリューム 2
387
CharA
CharA
機能
指定された文字列の先頭の ASCII 文字を返します。また、Integer 型の値
が指定された場合、Char 型に変換します。
構文
CharA ( n )
引数
n
説明
取得する文字が先頭にある String 型の文字列、Char 型に変
換する整数、先頭に文字列か整数を含む Blob 型のデータを
指定します。残りの文字列や Blob 型のデータは、無視さ
れます。n には、文字列、整数、または Blob 型を含む Any
型の変数を指定することもできます。
戻り値
Char 型。n に指定された文字列の先頭文字を返します。n に指定された
文字列が null の場合、null を返します。
例
次のステートメントは、ASCII コード 42 のアスタリスクを ls_S に格納
します。
string ls_S
ls_S = CharA(42)
次のステートメントは、A ~ F の ASCII コードを生成します。
string ls_Delivery
integer li_DeliveryNbr
FOR li_DeliveryNbr = 1 to 6
ls_Delivery = CharA(64 + li_DeliveryNbr)
... // ls_Delivery の追加処理
NEXT
関連項目
AscA
Char
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Char メソッド
Check
機能
ドロップダウン メニューまたはカスケード メニューの項目の先頭に
チェックマークを表示し、その項目の Checked プロパティを true にし
ます。
対象
メニュー オブジェクト
388
PowerBuilder
第 10 章
構文
PowerScript 関数
menuname.Check ( )
引数
menuname
説明
チェックマークを表示するメニューの完全な名前を指定
します。ドロップダウン メニューとカスケード メニュー
のメニュー項目を指定できます。メニューバー上にある項
目は指定できません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。menuname に指定されたメニュー名が null の場合、null
を返します。
解説
メニュー項目の先頭に表示されているチェックマークは、そのメ
ニュー項目が現在オンになっていることを示しています。エンド ユー
ザは、そのメニュー項目を選択してオンとオフを切り替えることがで
きます。たとえば、グリッドが表示されているときは、ウィンドウ ペ
インタの[デザイン]メニューの[グリッドの表示]にチェックマー
クが付いています。
メニュー項目の Clicked イベントに対するスクリプトの中で Check 関
数を使用すると、エンド ユーザがメニュー項目を選択したときに、メ
ニュー項目にチェックマークを付けることができます。また、Uncheck
関数を使用すると、エンド ユーザがメニュー項目の選択を解除したと
きに、メニュー項目からチェックマークを削除することができます。
Check 関数を呼び出すかわりに、次のようにメニュー項
目の Checked プロパティを設定する方法もあります。
別の記述方法
menuname.Checked = true
たとえば、次のようなステートメントがあるとします。
Menu_Appl.M_View.M_Grid.Checked = TRUE
このステートメントは、次のステートメントと同じ意味です。
Menu_Appl.M_View.M_Grid.Check()
例
次のステートメントは、メニュー m_Appl のドロップダウン メニュー
m_View にあるメニュー項目 m_Grid の先頭に、チェックマークを表示
します。
m_Appl.m_View.m_Grid.Check()
関連項目
Uncheck
PowerScript リファレンス ボリューム 2
389
ChooseColor
ChooseColor
機能
標準の色選択 ダイアログボックスを表示します。
構文
ChooseColor ( color {, customcolors [ ] } )
引数
color
説明
Long 型の値。ダイアログボックスで選択された色を表す
参照によって渡されます。
customcolors
(オプション)
Long 型の配列。参照によって色選択 ダイアログボックス
へ渡されるカスタム色を指定します。
戻り値
Integer 型。関数が正常に終了した場合は 1 を返します。エンド ユーザ
が[キャンセル]ボタンをクリックした場合(またはダイアログボッ
クスを閉じた場合)は 0 を返します。エラーが発生した場合は -1 を返
します。
例
次の例では、基本色の赤と、そのほかに 2 つのカスタム色が定義され
ている色選択 ダイアログボックスを表示します。
long red, green, blue
long custom[ ]
integer li_color
red = 255
custom[1]=rgb(red, 200, blue)
custom[2]=8344736
li_color = ChooseColor( red, custom [ ] )
関連項目
RGB
ClassList
機能
パフォーマンス解析モデルに含まれているクラスのリストを返します。
対象
Profiling オブジェクト
構文
instancename.ClassList ( list )
引数
instancename
list
390
説明
Profiling オブジェクトのインスタンス名を指定します。
ProfileClass データ型の可変長の配列変数を指定します。
ClassList 関数は、モデルに含まれている各クラスの
ProfileClass オブジェクトをこの配列変数に保存します。
この引数は、参照渡しされます。
PowerBuilder
第 10 章
戻り値
PowerScript 関数
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しないため、関数は異常終了
しました。
解説
ClassList 関数を使用すると、パフォーマンス解析モデルに含まれてい
るクラスのリストを抽出することができます。BuildModel 関数を使用し
てトレース ファイルからパフォーマンス解析モデルをあらかじめ作
成しておかなければなりません。リストされる各クラスは ProfileClass
オブジェクトとして定義され、クラス名、その親クラスと型、および
そのクラスに関連付けられているルーチンがリストされます。リスト
でのクラスの順序に意味はありません。
例
次の例は、パフォーマンス解析モデルに含まれているクラスのリスト
を返します。
ProfileClass lproclass_list[], lproclass_class
Profiling lpro_model
Long ll_limitclass, ll_indexclass
lpro_model = CREATE Profiling
lpro_model.BuildModel()
lpro_model.ClassList(lproclass_list)
ll_limitclass = UpperBound(lproclass_list)
FOR ll_indexclass = 1 TO ll_limitclass
lproclass_class = lproclass_list[ll_indexclass]
...
NEXT
関連項目
BuildModel
ClassName
オブジェクトのクラス、または変数のデータ型を返します。
関数が返す内容
オブジェクトのクラス
変数のクラス(データ型)
PowerScript リファレンス ボリューム 2
使用する構文
構文 1
構文 2
391
ClassName
構文 1
オブジェクトのクラスを返す
機能
指定されたオブジェクトのクラス(名前)を返します。
対象
すべてのコントロール
構文
controlname.Classname ( )
引数
controlname
説明
コントロールの名前を指定します。スタイルを設定するダ
イアログボックスで、このコントロールに割り当てられて
いる名前(コントロールのクラス)を返します。
戻り値
String 型。controlname に指定されているコントロールのクラス(コン
トロールに割り当てられている名前)を返します。エラーが発生した
場合、空の文字列("")を返します。また、controlname に指定されて
いるコントロールの名前が null の場合、null を返します。
解説
クラスとは、オブジェクトの名前のことです。オブジェクトの名前は、
ペインタでオブジェクトを保存するときに付けます。通常、クラスと
オブジェクトは同じものとして表されます。これは、PowerBuilder が
オブジェクトのクラスと同じ名前を使用して変数を宣言するからで
す。ただし、1 つのオブジェクトに対して複数のインスタンスを宣言
している場合、オブジェクトのクラスとオブジェクトの変数の名前は
異なります。
先祖オブジェクトが子孫オブジェクトのインスタンスになっている場
合、ClassName 関数を使用して子孫オブジェクトの名前を確認できま
す。
TypeOf 関数は、オブジェクトの組み込みオブジェクト データ型を返し
ます。このデータ型は、オブジェクトのカタログ データ型の値です。
たとえば、Window! や CheckBox! などです。ClassName 関数は、先祖と
子孫の階層構造を表すオブジェクトのクラスを返します。
例
次のステートメントは、ドラッグされたコントロール Source のクラス
を返します。
DragObject Source
string which_class
Source = DraggedObject()
which_class = Source.ClassName()
次のステートメントは、コントロール配列内のオブジェクトのクラス
を返し、オブジェクトのクラスを配列 the_class に格納します。
string the_class[]
windowobject the_object[]
integer i
392
PowerBuilder
第 10 章
PowerScript 関数
FOR i = 1 TO UpperBound(control[])
the_object[i] = control[i]
the_class[i] = the_object[i].ClassName()
NEXT
たとえば、ウィンドウ ancestor_window に、win1 と win2 という 2 つの子
孫オブジェクトがあり、エンドユーザはシートとして開く子孫オブ
ジェクトを選択できるとします。次のコードは、どの子孫ウィンドウ
クラスがアクティブであるかを返します(MDI フレームの名前は
w_frame です)
。
ancestor_window active_window
active_window = w_frame.GetActiveSheet()
IF ClassName(active_window) = "win1" THEN
. . .
END IF
関連項目
DraggedObject
TypeOf
構文 2
変数のデータ型を返す
機能
変数のデータ型を返します。
構文
ClassName ( variable )
引数
variable
説明
変数の名前を指定します。指定された変数の名前(変数の
データ型)を返します。
戻り値
String 型。variable に指定された変数のデータ型(名前)を返します。
variable に指定された変数がカタログ データ型の場合、またはエラー
が発生した場合には、空の文字列("")を返します。また、variable に
指定された変数の名前が null の場合、null を返します。
解説
variable に指定された変数がカタログ データ型の場合、ClassName 関数
はデータ型を判断できません。この場合、空の文字列("")を返します。
例
gd_double がグローバルな Double 型の変数の場合、変数 varname に
double を設定します。
string varname
varname = ClassName(gd_double)
PowerScript リファレンス ボリューム 2
393
Clear
Clear
機能
指定されたコントロールから、選択したテキストや OLE オブジェクト
を削除します。削除したテキストやオブジェクトは、クリップボード
には格納されません。
対象
データウィンドウ、エディットマスク、インクエディット、マルチラ
イン エディット、シングルライン エディット、リッチテキスト エ
ディット、ドロップダウン リストボックス、ドロップダウン ピクチャ
リストボックス、OLE の各コントロール、OLEStorage オブジェクト
構文
objectname.Clear ( )
引数
objectname
説明
以下のいずれかを指定します。
• 選択されたテキストを消去するデータウィンドウ コン
トロール、エディットマスク、マルチライン エディッ
ト、シングルライン エディット、リッチテキスト エ
ディット、ドロップダウン リストボックス、ドロップ
ダウン ピクチャ リストボックスのいずれかのコント
ロールの名前
• OLE オブジェクトを解放する OLE コントロールの名前、
またはストレージ オブジェクト変数(OLEStorage 型)の
名前
objectname にドロップダウン リストボックス コントロー
ルまたはドロップダウン ピクチャ リストボックス コント
ロールの名前を指定した場合には、AllowEdit プロパティ
を true にしておく必要があります。
戻り値
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
編集可能なコントロールに対しては、objectname に指定されたコント
ロールから消去した文字数を返します。テキストが選択されていな
かった場合、文字を消去せずに 0 を返します。エラーが発生した場合、
-1 を返します。
OLE コントロールやストレージ変数に対しては、正常に終了した場合
は 0 を返し、エラーが発生した場合は -9 を返します。
objectname に指定されたコントロールの名前が null の場合、null を返し
ます。
解説
394
削除するテキストを選択するには、マウスやキーボードを使用します。
スクリプト内で SelectText 関数を呼び出す方法もあります。
PowerBuilder
第 10 章
PowerScript 関数
削除するテキストをクリップボードに格納しておく場合には、Cut 関数
を使用します。
OLE コントロールから OLE オブジェクトを消去すると、消去したオブ
ジェクトへのすべての参照が削除されます。そのオブジェクトに対す
る変更内容は、ストレージ オブジェクトまたはファイルには保存され
ません。
OLEStorage 変数に対して Open 関数や SaveAs 関数が呼び出されている
場合に、OLEStorage 変数を消去すると、Open 関数または SaveAs 関数
によって確立されたそのオブジェクトとストレージ ファイルとの間
の接続が解除されます。また、ストレージ変数の中のオブジェクトと
結合するために、Open 関数や SaveAs 関数を呼び出した OLE コント
ロールと OLEStorage 型の変数との間に確立された接続も解除されま
す。
例
sle_comment1 内のテキスト Draft が、選択されているとします。次のス
テートメントは、sle_comment1 から Draft を削除して 5 を返します。
sle_comment1.Clear()
sle_comment1 内のテキストが Draft の場合、最初のステートメントは D
を選択します。2 番目のステートメントは、sle_comment1 から D を消
去して 1 を返します。
sle_comment1.SelectText(1,1)
sle_comment1.Clear()
次の例は、OLE コントロール ole_1 と関連するオブジェクトを消去し、
コントロールを空にします。
integer result
result = ole_1.Clear()
次の例は、OLEStorage オブジェクト変数 olest_stuff のオブジェクトを
消去します。また、olest_stuff 内でオブジェクトを開いているすべての
OLE コントロールを解放します。
integer result
result = olest_stuff.Clear()
関連項目
Close
Cut
Paste
ReplaceText
SelectText
PowerScript リファレンス ボリューム 2
395
ClearBoldDates
ClearBoldDates
機能
SetBoldDate 関数で設定された日付の太字設定を解除します。
対象
月表示カレンダ コントロール
構文
controlname.ClearBoldDates ( )
引数
controlname
説明
日付の太字設定を解除する月表示カレンダ コントロール
の名前を指定します。
戻り値
Integer 型。成功した場合は 0 を返し、失敗した場合は -1 を返します。
解説
休日などの選択された日付を太字で表示するには、SetBoldDate 関数を
使用します。ClearBoldDates 関数は、この太字の設定をすべて解除しま
す。個別の日付の太字設定を解除するには、SetBoldDate 関数の onoff パ
ラメータに false を指定します。
例
次の例は、コントロール monthCalVacations 内の太字設定をすべて解除
します。
integer li_return
li_return = monthCalVacation.ClearBoldDates()
関連項目
SetBoldDate
Clipboard
クリップボードの内容を取り出したり、置き換えたりします。
目的
クリップボードの内容を取り出す、または指定された
テキストに置き換える
クリップボードの内容をグラフのビットマップ画像
に置き換える
使用する構文
構文 1
構文 2
構文 1
クリップボードの内容をテキストに置き換える
機能
クリップボードの内容を取り出すか、またはテキストに置き換えます。
構文
Clipboard ( { string } )
396
PowerBuilder
第 10 章
引数
string
(オプション)
戻り値
PowerScript 関数
説明
String 型の値。クリップボードにコピーするテキストを指
定します。クリップボードの現在の内容を指定されたテキ
ストに置き換えます。
String 型。クリップボードにテキストがコピーされている場合、クリッ
プボードの現在の内容を返します。string に値が指定されている場合、
クリップボードの現在の内容を返し、クリップボードの内容を string
に置換します。
クリップボードに何もコピーされていない場合、またはビットマップ
など、テキスト以外のデータがクリップボードにコピーされている場
合は、空の文字列("")を返します。string に値が指定されている場合、
テキスト以外のデータを string に指定されているテキストに置き換え
ます。string に指定されたテキストが null の場合、null を返します。
解説
Clipboard 関数の構文 1 を Paste 関数、Replace 関数、ReplaceText 関数の
いずれかと組み合わせて使用すると、編集可能なコントロールまたは
スタティック テキスト コントロールに、クリップボードの内容を挿入
できます。
データウィンドウ コントロールまたはデータストア オブジェクトにおける
Clipboard 関数の呼び出し データウィンドウ項目(セル値)から、ク
リップボードの内容を取り出したり、テキストに置き換えたりするに
は、以下のように、まず値を String に設定し、Clipboard 関数を呼び出
すことが必要です。
string ls_data = dw_1.object.column_name[row_number]
::Clipboard(ls_data)
構文 2(および『データウィンドウ リファレンス』マニュアル)に記
載されているデータウィンドウ バージョンの Clipboard 関数は、グラフ
にしか適用されません。
例
次のステートメントは、クリップボードの内容を変数 ls_CoName に格
納します。
string ls_CoName
ls_CoName = Clipboard()
次のステートメントは、クリップボードの内容を Heading にコピーし
た後、クリップボードの内容を "Employee Data" という文字列に置き換
えます。
string Heading
Heading = Clipboard("Employee Data")
PowerScript リファレンス ボリューム 2
397
Clipboard
次のステートメントは、マルチライン エディット コントロール mle_terms
で選択したテキストをクリップボードの内容と置き換えます。
mle_terms.ReplaceText(Clipboard())
次のステートメントは、スタティック テキスト コントロール
st_welcome の内容とクリップボードの内容を入れ替えます。
st_welcome.Text = Clipboard(st_welcome.Text)
関連項目
Clear
Copy
Cut
Paste
Replace
ReplaceText
構文 2
クリップボードの内容をグラフのビットマップに置
き換える
機能
クリップボードの内容をグラフのビットマップ画像に置き換えます。
クリップボードにコピーされた画像は、ほかのアプリケーションに貼
り付けることができます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ オブジェクト、
データウィンドウ上およびデータストア上のグラフ
構文
name.Clipboard ( { graphobject } )
引数
name
graphobject
(データウィンド
ウ コントロールお
よびデータストア
オブジェクトの場
合のみ)(オプ
ション)
戻り値
398
説明
クリップボードにコピーするグラフの名前、あるいは
クリップボードにコピーするグラフを含むデータウィ
ンドウ コントロールまたはデータストア オブジェク
トの名前を指定します。
String 型の値。クリップボードにコピーするデータウィ
ンドウ オブジェクト上のグラフ コントロールの名前
を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
PowerBuilder
第 10 章
例
PowerScript 関数
次のステートメントは、グラフ gr_products_data をクリップボードにコ
ピーします。
gr_products_data.Clipboard()
次のステートメントは、データウィンドウ コントロール dw_emp_data
上のグラフ gr_employees をクリップボードにコピーします。
dw_emp_data.Clipboard("gr_employees")
Close
ウィンドウ、OLE ストレージ、OLE ストリーム、トレース ファイルの
いずれかを閉じます。
閉じる対象
ウィンドウ オブジェクト
OLEStorage オブジェクト変数。オブジェクトを保存
し、オブジェクトとストレージ ファイル、またはオ
ブジェクトとストレージ オブジェクトとの間の接続
を解除します。
指定された OLEStream オブジェクト変数に関連付け
られたストリーム
トレース ファイル
使用する構文
構文 1
構文 2
構文 3
構文 4
構文 1
ウィンドウを閉じる
機能
ウィンドウを閉じ、ウィンドウとウィンドウ上のすべてのコントロー
ルが使用している記憶領域を解放します。
対象
ウィンドウ オブジェクト
構文
Close ( windowname )
引数
windowname
説明
閉じるウィンドウの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。windowname に指定されたウィンドウの名前が null の場
合、null を返します。通常、戻り値は使用されません。
解説
この構文は、ウィンドウを閉じ、ウィンドウとウィンドウ上のすべての
コントロールが使用している記憶領域を解放する場合に使用します。
PowerScript リファレンス ボリューム 2
399
Close
Close 関数が呼び出されると、PowerBuilder はウィンドウをビューから
削除し、ウィンドウを閉じます。CloseQuery イベントと Close イベン
トにスクリプトが記述されている場合、そのスクリプトを実行します。
最後に、Close 関数を呼び出したスクリプトの残りのステートメントを
実行します。無限ループが発生するため、CloseQuery または Close イ
ベントから Close 関数を呼び出さないでください。
ウィンドウを閉じた後には、そのプロパティ、インスタンス変数、コ
ントロールをスクリプトから参照できなくなります。残りのスクリプ
ト内に、閉じたウィンドウ、閉じたウィンドウのプロパティ、インス
タンス変数を参照するステートメントがある場合には、実行時にエ
ラーが発生します。
ウィンドウのイベントあるいはウィンドウ コントロールのイベント
で Close 関数を呼び出してウィンドウを閉じる場合に、Close 関数がイ
ベント スクリプトの最後のステートメントにないと、PowerBuilder は
クラッシュします。イベント スクリプトの最後のステートメントある
いはイベント スクリプトからポストされるユーザ定義イベントで
Close 関数を呼び出すことでこの問題を避けることができます。たとえ
ば、w_1 という名前のウィンドウの Open イベント スクリプトの以下
のコードはクラッシュを引き起こします。
// w_1 Open イベント スクリプト
close(this)
open(w_2) // クラッシュを引き起こす
次のコードはクラッシュを引き起こしません。
// w_1 ue_postopen イベント スクリプト
close(this)
// w_1 Open イベント スクリプト
open(w_2)
this.Post Event ue_postopen()
ウィンドウが閉じないようにする方法
CloseQuery イベントのスクリプト内で、1 のリターン コードでウィン
ドウが閉じないようにすることができます。RETURN ステートメント
を使用します。
例
次のステートメントは、ウィンドウ w_employee を閉じた後、ウィンド
ウ w_departments を開きます。
Close(w_employee)
400
PowerBuilder
第 10 章
PowerScript 関数
Open(w_departments)
次の例は、Close 関数を呼び出した後、CloseQuery イベントに対するス
クリプトに記述されたステートメントです。アプリケーションを終了
してもよいかどうかを確認するメッセージを表示し、エンド ユーザの
応答が No の場合にウィンドウが閉じないようにします。
IF MessageBox(' アプリケーションの終了 ', &
' 終了しますか ?', Question!, YesNo!) = 2 THEN
// 応答が No の場合は、ウィンドウが閉じないようにします。
RETURN 1
END IF
関連項目
Hide
Open
構文 2
OLEStorage オブジェクトを閉じる
機能
関連付けられたストレージ ファイルまたはストレージ オブジェクト
にオブジェクトを保存し、オブジェクトとストレージ ファイル、また
はオブジェクトとストレージ オブジェクトとの間の接続を解除して
から OLEStorage オブジェクトを閉じます。また、オブジェクトを開い
ている OLE コントロールとサーバとの接続も閉じます。Close 関数を
呼び出した結果は、Save 関数を呼び出した後で Clear 関数を呼び出し
た結果と同じになります。
対象
OLEStorage オブジェクト
構文
olestorage.Close ( )
引数
olestorage
戻り値
説明
保存して閉じる OLEStorage オブジェクトの名前を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 ストレージが開かれていません。
-9 そのほかのエラーです。
olestorage に指定されたオブジェクトが null の場合、null を返します。
例
次の例は、OLEStorage オブジェクト変数 olest_stuff にオブジェクトを
保存し、消去します。また、olest_stuff 内でオブジェクトを開いている
すべての OLE コントロールを解放します。
integer result
PowerScript リファレンス ボリューム 2
401
Close
result = olest_stuff.Close()
関連項目
Open
Save
SaveAs
構文 3
OLEStream オブジェクトを閉じる
機能
OLEStream オブジェクトを閉じます。
対象
OLEStream オブジェクト
構文
olestream.Close ( )
引数
olestream
戻り値
説明
閉じる OLEStream オブジェクトの名前を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ストレージが開かれていません。
そのほかのエラーです。
olestream に指定されている値が null の場合、null を返します。
例
次のステートメントは、OLEStream オブジェクト stm_pic_label を閉じ、
変数に割り当てられていたメモリを解放します。
integer result
result = stm_pic_label.Close()
DESTROY stm_pic_label
関連項目
Open
構文 4
トレース ファイルを閉じる
機能
開いているトレース ファイルを閉じます。
対象
TraceFile オブジェクト
構文
instancename.Close ( )
引数
instancename
戻り値
402
説明
TraceFile オブジェクトのインスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
PowerBuilder
第 10 章
PowerScript 関数
•
Success! - 成功しました。
•
FileNotOpenError! - トレースファイルが開かれていません。
解説
Open 関数を使用して開いてあったトレース ファイルを閉じます。ト
レース ファイルの内容に直接アクセスするには、Close 関数と Open 関
数に加えて、TraceFile オブジェクトのプロパティと関数を使用します。
これらの関数は、Profiling オブジェクトまたは TraceTree オブジェクト
と BuildModel 関数を使用してモデルを構築するかわりに、トレースす
るデータに対して独自の解析を実行する場合に使用します。
例
次の例は、トレース ファイルを閉じます。
ift_file.Close()
DESTROY ift_file
関連項目
Reset
Open
NextActivity
CloseChannel
機能
DDE チャネルを閉じます。
構文
CloseChannel ( handle {, windowhandle } )
引数
handle
windowhandle
(オプション)
戻り値
説明
Long 型の値。閉じる DDE チャネルを指定します。
OpenChannel 関数を使用して DDE チャネルを開いたとき
に、OpenChannel 関数が返す値と同じ値を指定します。
DDE クライアントとして機能している PowerBuilder ウィ
ンドウのハンドルを指定します。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場合、
次のいずれかの値を返します。
-1
-2
-3
-9
解説
チャネルを開けません。
チャネルが閉じないように設定されています。
サーバからの確認情報がありません。
handle が null です。
OpenChannel 関数で開いた DDE サーバ アプリケーションに対する
チャネルを閉じます。
PowerScript リファレンス ボリューム 2
403
CloseTab
通常、チャネルのハンドルを指定して DDE チャネルを閉じます。ただ
し、チャネルと関連付けられている PowerBuilder ウィンドウのハンド
ル を 指 定 す る こ と も で き ま す。windowhandle が 指 定 さ れ た 場 合、
windowhandle 内の DDE チャネルを閉じます。windowhandle を省略し
た場合、アクティブ ウィンドウの DDE チャネルを閉じます。Handle 関
数を使用すると、ウィンドウのハンドルを呼び出すことができます。
例
次のステートメントは、handle に指定されたチャネルを開いてから閉
じます。チャネルは、ウィンドウ w_sheet と関連付けられています。
long handle
handle = OpenChannel("Excel", "REGION.XLS", &
Handle(w_sheet) )
... // 何らかの処理
CloseChannel(handle, Handle(w_sheet))
関連項目
GetRemote
OpenChannel
SetRemote
CloseTab
機能
OpenTab 関数または OpenTabWithParm 関数で開いたタブ コントロール
から、タブ ページを削除します。CloseTab 関数は、ユーザ オブジェク
トの Destructor イベントに対するスクリプトを実行します。
対象
タブ コントロール
構文
tabcontrolname.CloseTab ( userobjectvar )
引数
tabcontrolname
userobjectvar
説明
閉じるタブ ページを含むタブ コントロールの名前を指定
します。
閉じるユーザ オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
通常、戻り値は使用されません。
解説
CloseTab 関数は、タブ ページとして開いているユーザ オブジェクトを
閉じ、そのオブジェクトとオブジェクトのコントロールが使用してい
たメモリを解放します。
404
PowerBuilder
第 10 章
PowerScript 関数
CloseTab 関数が呼び出されると、PowerBuilder はコントロールからタ
ブ ページを削除し、そのオブジェクトを閉じます。Destructor イベン
トに対するスクリプトがある場合、そのスクリプトを実行します。最
後に CloseTab 関数を呼び出したスクリプト内の残りのステートメント
を実行します。
さらに、CloseTab 関数は、タブ コントロールの Control 配列からユーザ
オブジェクトを削除します。Control 配列は、タブ コントロール内のタ
ブページをリストするプロパティです。閉じられたタブページが配列
内の最後の要素でなかった場合、以降のすべてのタブページ用のイン
デックスが 1 ずつ減らされます。
ユーザ オブジェクトを閉じた後には、そのプロパティ、インスタンス
変数、コントロールをスクリプトから参照できなくなります。残りの
スクリプト内に、閉じたユーザ オブジェクト、そのプロパティ、イン
スタンス変数を参照するステートメントがある場合は、実行時にエ
ラーが発生します。
例
次のステートメントは、タブ ページ ユーザ オブジェクト u_employee
を閉じ、タブ コントロール tab_personnel でユーザ オブジェクト
u_departments を開きます。
tab_personnel.CloseTab(u_employee)
tab_personnel.OpenTab(u_departments)
次の例は、ユーザ オブジェクトを閉じるメニュー項目を選択した場合
の処理を、メニュー項目のスクリプトから抜粋したものです。選択し
たメニュー項目と関連するユーザ オブジェクト u_employee を閉じる
前に、確認のメッセージを表示します。
IF MessageBox(" オブジェクトを閉じる ", " オブジェクトを閉じま
すか? ", &
Question!, YesNo!) = 1 THEN
// エンド ユーザが Yes を選択した場合、ユーザ オブジェクト
を閉じます。
ParentWindow.CloseTab(u_employee)
// エンド ユーザが No を選択した場合、何も行いません。
END IF
関連項目
OpenTab
PowerScript リファレンス ボリューム 2
405
CloseUserObject
CloseUserObject
機能
画面からユーザ オブジェクトを消去し、Destructor イベントに対する
スクリプトを実行してそのユーザ オブジェクトを閉じます。
対象
ウィンドウ オブジェクト
構文
windowname.CloseUserObject ( userobjectname )
引数
windowname
userobjectname
説明
ユーザ オブジェクトを含むウィンドウの名前を指定します。
閉じるユーザ オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
通常、戻り値は使用されません。
解説
ユーザ オブジェクトを閉じ、そのオブジェクトやオブジェクト内のコ
ントロールが使用していたメモリを解放します。
CloseUserObject 関数が呼び出されると、PowerBuilder は画面からオブ
ジェクトを消去し、そのオブジェクトを閉じます。次に、Destructor イ
ベントに対するスクリプトが記述されている場合、そのスクリプトを
実行します。最後に、CloseUserObject 関数を呼び出したスクリプト内
の残りのステートメントを実行します。
さらに、CloseUserObject 関数は、ウィンドウの Control 配列からユーザ
オブジェクトを削除します。Control 配列は、ウィンドウのコントロー
ルをリストするプロパティです。閉じられたユーザ オブジェクトが配
列内の最後の要素でなかった場合、以降のすべてのユーザ オブジェク
ト用のインデックスが 1 ずつ減らされます。
ユーザ オブジェクトを閉じた後には、そのプロパティ、インスタンス
変数、コントロールをスクリプトから参照できなくなります。残りの
スクリプト内に、閉じたユーザ オブジェクト、そのプロパティ、イン
スタンス変数を参照するステートメントがある場合は、実行時にエ
ラーが発生します。
例
次のステートメントは、ユーザ オブジェクトの u_employee を閉じた
後、ウィンドウ w_personnel 内のユーザ オブジェクト u_departments を
開きます。
w_personnel.CloseUserObject(u_employee)
w_personnel.OpenUserObject(u_departments)
406
PowerBuilder
第 10 章
PowerScript 関数
次の例は、ユーザ オブジェクトを閉じるメニュー項目を選択した場合
の処理を、メニュー項目のスクリプトから抜粋したものです。選択し
たメニュー項目と関連するユーザ オブジェクト u_employee を閉じる
前に、確認のメッセージを表示します。
IF MessageBox(" オブジェクトを閉じる ", " オブジェクトを閉じま
すか? ", &
Question!, YesNo!) = 1 THEN
// エンド ユーザが Yes を選択した場合、ユーザ オブジェクト
を閉じます。
ParentWindow.CloseUserObject(u_employee)
// エンド ユーザが No を選択した場合、何も行いません。
END IF
関連項目
OpenUserObject
CloseWithReturn
機能
ウィンドウを閉じ、メッセージ オブジェクト内に戻り値を格納します。
CloseWithReturn 関数は、レスポンス ウィンドウだけで使用できます。
対象
ウィンドウ オブジェクト
構文
CloseWithReturn ( windowname, returnvalue )
引数
windowname
returnvalue
説明
閉じるウィンドウの名前を指定します。
ウィンドウを閉じるときにメッセージ オブジェクトに格納
する値。returnvalue には、以下のいずれかのデータ型を指
定します。
• String 型
• 数値型
• PowerObject 型
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
通常、戻り値は使用されません。
解説
CloseWithReturn 関数の目的は、レスポンス ウィンドウを閉じ、レスポ
ンス ウィンドウから、レスポンス ウィンドウを開いていたウィンドウ
に情報を返すことにあります。CloseWithReturn 関数を使用すると、ウィ
ンドウを閉じ、そのウィンドウやウィンドウ内のコントロールが使用
していたメモリを解放して値を返すことができます。
PowerScript リファレンス ボリューム 2
407
CloseWithReturn
Close 関数と同じように、CloseWithReturn 関数も画面からウィンドウを消
去してから閉じます。次に、CloseQuery イベントと Close イベントに対
するスクリプトがある場合、そのスクリプトを実行します。無限ループ
が発生するため、
これらのイベントから Close 関数または CloseWithReturn
関数を呼び出さないでください。
この場合、イベントのスクリプトを実行する前に、returnvalue に指定
されたデータ型の値が CloseWithReturn 関数によってメッセージ オブ
ジェクト内に格納され、CloseWithReturn 関数を呼び出したスクリプト
内の残りのステートメントを実行します。
ウィンドウを閉じた後には、そのプロパティ、インスタンス変数、コ
ントロールをスクリプトから参照できなくなります。残りのスクリプ
ト内に、閉じたウィンドウ、閉じたウィンドウのプロパティ、インス
タンス変数を参照するステートメントがある場合には、実行時にエ
ラーが発生します。
PowerBuilder では、オブジェクトのデータ型に応じたメッセージ オブ
ジェクトのプロパティに、returnvalue に指定されたデータ型の値が格
納されます。CloseWithReturn 関数を呼び出したスクリプト内で、戻り
値のデータ型に応じたメッセージ オブジェクトのプロパティを指定
して最新の戻り値にアクセスできます。
表 0-1: 戻り値を格納する Message オブジェクトのプロパティ
戻り値のデータ型
数値型
PowerObject 型(たとえば、構造体)
String 型
Message オブジェクトのプロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
構造体として複数の値を返す方法
複数の値を返すには、その値を格納するユーザ定義の構造体を定義し、
レスポンス ウィンドウを開いたスクリプト内のメッセージ オブジェ
クトの PowerObjectParm プロパティにアクセスします。構造体は値で
渡されるので、元の値がなくなった場合でもそのデータにアクセスす
ることができます。
コントロールを参照する方法
ユーザ オブジェクトおよびコントロールには、値ではなく参照が渡さ
れ ま す。ウ ィ ン ド ウ を 閉 じ た 後 は コ ン ト ロ ー ル が な い の で、
ClodeWithReturn 関数を使用してコントロールに参照を返すことはでき
ません。そのかわりに、そのコントロールのプロパティの値を返します。
408
PowerBuilder
第 10 章
PowerScript 関数
ウィンドウが閉じないようにする方法
CloseQuery イベントのスクリプト内で、1 のリターン コードでウィン
ドウが閉じないようにすることができます。RETURN ステートメント
を使用します。
例
次のステートメントは、レスポンス ウィンドウ w_employee_response を
閉じ、そのウィンドウを開いていたウィンドウに文字列 emp_name を
返します。
CloseWithReturn(Parent, "emp_name")
たとえば、あるメニュー項目は、エンド ユーザが未経験者であるか経
験者であるかによって、異なるウィンドウを開くとします。メニュー
項目は、w_signon という名前のレスポンス ウィンドウを表示してエン
ド ユーザの経験レベルを確認します。エンド ユーザは、シングルライ
ン エディット コントロール sle_signon_id に自分の経験レベルを入力し
ます。レスポンス ウィンドウの[OK]ボタンをクリックすると、
sle_signon_id 内のテキストがメニュー項目のスクリプトに渡されます。
メニュー項目のスクリプトは、メッセージ オブジェクトの SingleParm
プロパティをチェックし、必要なウィンドウを開きます。
次の 1 行は、レスポンス ウィンドウ w_signon 内の[OK]ボタンの
Clicled イベントに対するスクリプトです。
CloseWithReturn(Parent, sle_signon_id.Text)
メニュー項目に対するスクリプトは、次のとおりです。
string ls_userlevel
// ダイアログボックスを開きます。
Open(w_signon)
// Message オブジェクトのテキストをチェックします。
ls_userlevel = Message.StringParm
IF ls_userlevel = "Novice" THEN
Open(win_novice)
ELSE
Open(win_advanced)
END IF
関連項目
Close
OpenSheetWithParm
OpenUserObjectWithParm
OpenWithParm
PowerScript リファレンス ボリューム 2
409
CollapseItem
CollapseItem
機能
指定された項目を折りたたみます。
対象
ツリービュー コントロール
構文
treeviewname.CollapseItem ( itemhandle )
引数
treeviewname
itemhandle
説明
項目を折りたたむツリービュー コントロールの名前を指
定します。
折りたたむ項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
レベル 1 のエントリが 1 つしかない場合は、引数として RootTreeItem
ハンドルを使用することで、トップレベルのノードだけが表示される
ようにツリーを折りたたむことができます。ただし、CollapseItem は現
行の項目だけを折りたたみます。したがって、ツリーを折りたたむと
きにトップレベルの項目の子が展開されていた場合は、トップレベル
の項目を展開すると、それらの子が展開された状態で表示されます。
レベル 1 のエントリが複数ある場合に引数として RootTreeItem ハンド
ルを使用すると、最初のレベル 1 エントリだけが折りたたまれます。
例
次の例は、ツリービュー コントロールの項目を折りたたみます。
long ll_tvi
ll_tvi = tv_list.FindItem(currenttreeitem!, 0)
tv_list.CollapseItem(ll_tvi)
次の例は、レベル 1 のエントリが 1 つしかないツリービュー コント
ロールのトップレベルの項目を折りたたみます。
long ll_tvi
ll_tvi = tv_list.FindItem(roottreeitem!, 0)
tv_list.CollapseItem(ll_tvi)
関連項目
410
ExpandItem
ExpandAll
FindItem
PowerBuilder
第 10 章
PowerScript 関数
CommandParm
機能
アプリケーションを起動するときにプログラム名の後に指定した引数
を表す文字列を返します。
構文
CommandParm ( )
戻り値
String 型。正常に終了した場合、アプリケーションを起動するときにコ
マンド ラインに入力した引数を表す文字列を返します。エラーが発生
した場合、または引数が指定されていない場合、空の文字列("")を
返します。
解説
コマンド引数は、Windows プログラムのコマンド ラインまたはファイ
ル名を指定して実行 ダイアログボックスのコマンド ラインで、プログ
ラム名の後に指定できます。たとえば、ファイル名を指定して実行 ダ
イアログボックスに、次のように入力したとします。
MyAppl C:\EMPLOYEE\EMPLIST.TXT
この場合、CommandParm 関数は、C:\EMPLOYEE\EMPLIST.TXT とい
う文字列を返します。
アプリケーションのコマンド ラインに複数の引数が指定された場合、
CommandParm 関数は、すべての引数を一連の文字列として返します。
Mid 関数や Pos 関数などの文字列を操作する関数を使用すると、
文字列
を解析し、それぞれの引数を取り出すことができます。
アプリケーションの Open イベント内では、CommandParm 関数を呼び
出す必要はありません。そのかわりに、引数 commandline を使用して
ください。
例
次のステートメントでは、アプリケーションを起動するときにコマンド
ラインに入力した引数を取得し、変数 ls_command_line に代入します。
string ls_command_line
ls_command_line = CommandParm()
コマンド ラインに複数の引数が指定された場合に文字列を操作する
関数を使用すると、戻り値を解析し、それぞれの引数を取り出すこと
ができます。次の例は、CommandParm 関数で取得した複数の引数を配
列に格納します。それぞれの引数は、1 つのスペースで区切られてい
るものとします。それぞれの引数を取り出すために、Pos 関数を使用
してスペースを検索します。Left 関数は配列に引数をコピーし、Replace
関数は次の引数が先頭に移動するように、元の文字列から引数を削除
します。
string ls_cmd, ls_arg[]
integer i, li_argcnt
PowerScript リファレンス ボリューム 2
411
CommitTransaction
// 引数を取得して、文字列の前後から
// スペースを取り除きます。
ls_cmd = Trim(CommandParm())
li_argcnt = 1
DO WHILE Len(ls_cmd) > 0
// 最初のスペースを検索します。
i = Pos( ls_cmd, " ")
//
//
//
if
空白文字がない場合(引数が 1 つの場合)、
引数を表す文字列の最後にもう 1 文字あるものと仮定して
変数 i に文字列の長さを設定します。
i = 0 then i = Len(ls_cmd) + 1
// 引数を配列に設定します。
// コピーする文字の数は、Pos 関数を使用して検索した
// スペースの位置を示す値よりも 1 つ少なくなります。
ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
// 引数の配列の数のカウンタを 1 つ増やします。
li_argcnt = li_argcnt + 1
// 引数の文字列から配列の要素を取り除き、
// 次の配列の要素が先頭にくるようにします。
ls_cmd = Replace(ls_cmd, 1, i, "")
LOOP
CommitTransaction
機能
呼び出し元スレッドと関連付けられている EAServer トランザクショ
ンがコミットする必要があることを宣言します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.CommitTransaction (breportheuristics )
引数
CORBACurrent
breportheuristics
412
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
Boolean 型。呼び出し元のスレッドと関連付けられてい
るトランザクションに対するヒューリスティックな判
断を通知すべきかどうかを指定します。
PowerBuilder
第 10 章
戻り値
PowerScript 関数
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
解説
-1
理由の不明なエラーで失敗しました。
-2
呼び出し元のスレッドにトランザクションが関連付けられていま
せん。
-3
呼び出し元のスレッドがトランザクションをコミットする権限を
持ちません。
-4
HeuristicRollback 例外が発生しました。
-5
HeuristicMixed 例外が発生しました。
-6
HeuristicHazard 例外が発生しました。
CommitTransaction 関数は、呼び出し元スレッドと関連付けられている
トランザクションを完了させます。トランザクションを開始し、呼び
出し元スレッドと関連付けるには BeginTransaction 関数を使用します。
トランザクションの参加者からそのトランザクションをロールバック
すべきとの提案が出た場合、トランザクションは完了しません。
CommitTransaction は、OTS 形式のマークが付いているクライアントま
たはコンポーネントで呼び出せます。EAServer は、2 フェーズ コミッ
ト トランザクション コーディネータ(OTS/XA)を使用していること
が必要です。
例
次の例では、クライアントが CmpnyAcct EAServer コンポーネント上
で、会社の支払い給与処理を行う dopayroll メソッドを呼び出します。
支払い給与に見合う資金が会社にある場合は、メソッドから 1 が返り、
クライアントはトランザクションを完了できます。
// インスタンス変数:
// CORBACurrent corbcurr
integer li_rc
boolean lb_rv
long ll_rc
// CORBACurrent オブジェクトのインスタンスを作成し、
// そのインスタンスを初期化します。
...
lb_rv = corbcurr.BeginTransaction()
IF lb_rv THEN
ll_rc = myconnect.CreateInstance(CmpnyAcct)
// エラーを処理します。
li_rc = CmpnyAcct.dopayroll()
IF li_rc = 1 THEN
corbcurr.CommitTransaction(
ELSE
PowerScript リファレンス ボリューム 2
413
ConnectToNewObject
corbcurr.RollbackTransaction()
END IF
ELSE
// エラーを処理します。
END IF
関連項目
BeginTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
ConnectToNewObject
機能
指定されたサーバ アプリケーション内に新しいオブジェクトを作成
し、PowerBuilder の OLEObject 変数と関連付けます。また、必要であ
れば、サーバ アプリケーションを起動します。
対象
OLEObject オブジェクト、OLETxnObject オブジェクト
構文
oleobject.ConnectToNewObject ( classname )
引数
oleobject
classname
戻り値
説明
オートメーション サーバまたは COM オブジェクトに接続
する OLEObject 変数の名前を指定します。OLE コントロー
ルの Object プロパティである OLEObject を指定すること
はできません。
String 型の値。オートメーション サーバまたは COM サー
バを識別するプログラムによる識別子またはクラス ID を
指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
-1 呼び出しが無効です。引数は、コントロールの Object プロパ
ティです。
-2 クラス名が見つかりません。
-3 オブジェクトを作成できません。
414
PowerBuilder
第 10 章
PowerScript 関数
-4 オブジェクトに接続できません。
-9 そのほかのエラーです。
-15 このコンピュータには COM+ がロードされていません。
-16 呼び出しが無効です。この関数は使用できません。
引数のいずれかの値が null の場合は、null を返します。
解説
OLEObject 変数は、オートメーションのために使用されます。
PowerBuilder アプリケーションは、サーバ アプリケーションに対して
プログラム手順に従って OLE オブジェクトを処理するように要求し
ます。また、ローカルまたはリモートのコンピュータ上に登録された
COM オブジェクトや、COM+ にインストールされた COM オブジェク
トを接続するのにも使用されます。
OLETxnObject 変数は、PowerBuilder クライアントに COM+ トランザク
ションの制御を提供するために使用するものです。OLETxnObject 変数
を指定して ConnectToNewObject 関数を呼び出すと、この変数に関連付
けられたトランザクション コンテキストの中に新しいオブジェクト
インスタンスが作成されます。クライアントのコンピュータに COM+
がロードされていない場合、ConnectToNewObject 関数の呼び出しはエ
ラーになります。トランザクションを中止するには、SetAbort 関数を使
用します。トランザクション中のほかのすべての参加者が同意した場合
にトランザクションを完了するには、SetComplete 関数を使用します。
OLE オートメーションと COM オブジェクトへの接続の詳細について
は、ConnectToObject 関数を参照してください。
例
次の例は、まず、OLEObject 変数を作成します。次に、ConnectToNewObject
関数を呼び出して新しい Excel オブジェクトを作成し、そのオブジェ
クトに接続します。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToNewObject( &
"excel.application")
次の例は、まず OLETxnObject 変数を作成します。次に、
ConnectToNewObject 関数を呼び出して、COM+ サーバ上に PowerBuilder
COM オブジェクトの新しいインスタンスを作成し、これに接続します。
OLETxnObject EmpObj
Integer li_rc
EmpObj = CREATE OLETxnObject
li_rc = EmpObj.ConnectToNewObject("PB70COM.employee")
IF li_rc < 0 THEN
DESTROY EmpObj
MessageBox("COM オブジェクトへの接続に失敗しました ", &
PowerScript リファレンス ボリューム 2
415
ConnectToNewRemoteObject
" エラー :" + String(li_rc))
Return
END IF
// COM オブジェクトに対する処理を実行します。
...
// 処理が正常に終了したら、トランザクションを
// コミットし、オブジェクトの接続を解除します。
EmpObj.SetComplete()
EmpObj.DisconnectObject()
関連項目
ConnectToObject
DisconnectObject
SetAbort
SetComplete
ConnectToNewRemoteObject
機能
サーバ上のセキュリティで許される場合、指定されたリモート サーバ
アプリケーション内に新しい OLE オブジェクトを作成し、この新しい
オブジェクトを PowerBuilder の OLEObject 変数と関連付けます。また、
必要であれば、サーバ アプリケーションを起動します。
対象
OLEObject オブジェクト
構文
oleobject.ConnectToNewRemoteObject ( hostname, classname )
引数
oleobject
hostname
classname
戻り値
説明
OLE オブジェクトに接続する OLEObject 変数の名前を指
定します。OLE コントロールの Object プロパティである
OLEObject を指定することはできません。
String 型の値。COM サーバが置かれているリモート ホス
トの名前を指定します。
String 型の値。OLE サーバ アプリケーション、および OLE
を介してサーバが処理できるオブジェクトの種類を識別
する OLE クラスの名前を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 呼び出しが無効です。引数は、コントロールの Object プロパ
ティです。
-2 クラス名が見つかりません。
416
PowerBuilder
第 10 章
PowerScript 関数
-3 オブジェクトを作成できません。
-4 オブジェクトに接続できません。
-9 そのほかのエラーです。
-10 このプラットフォームでサポートされていない機能です。
-11 サーバ名が無効です。
-12 サーバがこの操作をサポートしていません。
-13 リモート ホストへのアクセスが拒否されました。
-14 サーバが使用不可能です。
-15 このコンピュータには COM+ がロードされていません。
-16 呼び出しが無効です。この関数は OLETxnObject には使用で
きません。
解説
OLEObject 変数は、OLE オートメーションに使用されます。つまり、
PowerBuilder のアプリケーションはサーバ アプリケーションに対して
プログラムどおりに OLE オブジェクトを処理するように指示します。
ConnectToNewRemoteObject 関数は、リモートによる起動をサポートす
るサーバだけで使用できます。
OLE のオートメーションについての詳細は、ConnectToObject 関数を参
照してください。リモート ホスト上のオブジェクトへの接続について
は、ConnectToRemoteObject 関数を参照してください。
例
次の例は、まず OLEObject 変数を作成します。次に、
ConnectToNewRemoteObject 関数を呼び出して ulysses という名前のリ
モート ホスト上に新しい Excel オブジェクトを作成し、そのオブジェ
クトに接続します。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToNewRemoteObject( &
"ulysses", "Excel.application")
関連項目
ConnectToObject
ConnectToRemoteObject
PowerScript リファレンス ボリューム 2
417
ConnectToObject
ConnectToObject
機能
OLE オブジェクトを PowerBuilder の OLEObject 変数と関連付けてサー
バ アプリケーションを起動します。
OLEObject 変数および ConnectToObject
関数は、OLE オートメーションのために使用されます。PowerBuilder
アプリケーションは、サーバ アプリケーションに対して、プログラム
手順に従って OLE オブジェクトを処理するように要求します。
対象
OLEObject オブジェクト
構文
oleobject.ConnectToObject ( filename {, classname } )
引数
oleobject
filename
classname
(オプション)
説明
OLE オブジェクトに接続する OLEObject 変数の名前を指
定します。OLE コントロールの Object プロパティである
OLEObject を指定することはできません。
String 型の値。OLE ストレージ ファイルの名前を指定しま
す。
filename には空の文字列("")を指定できますが、その場
合は classname を指定する必要があります。oleobject は
classname で指定したサーバ アプリケーション内のアク
ティブなオブジェクトと接続します。
String 型の値。OLE サーバ アプリケーション、および OLE
を介してサーバが処理できるオブジェクトの種類を識別
する OLE クラスの名前を指定します。
classname を省略した場合、filename の拡張子によって起動
するサーバ アプリケーションが決まります。
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 呼び出しが無効です。引数は、コントロールの Object プロパ
ティです。
-2 クラス名が見つかりません。
-3 オブジェクトを作成できません。
-4 オブジェクトに接続できません。
-5 アクティブなオブジェクトに接続できません。
-6 ファイル名が無効です。
-7 ファイルが見つからないか、または開けません。
-8 サーバはファイルからのロードをサポートしていません。
-9 そのほかのエラーです。
-15 このコンピュータには COM+ がロードされていません。
-16 呼び出しが無効です。この関数は OLETxnObject には使用で
きません。
引数のいずれかの値が null の場合は、null を返します。
418
PowerBuilder
第 10 章
解説
PowerScript 関数
OLEObject 変数を作成し、OLE オブジェクトとそのサーバ アプリケー
ションに接続した後で、OLE サーバがサポートするプロパティと呼び
出し関数を設定できます。PowerBuilder のコンパイラでは、OLEObject
変数に対して呼び出す関数の構文はチェックされません。アプリケー
ションの実行中に呼び出す関数が存在しない場合、またはプロパティ
名が適切でない場合、実行時にエラーが発生します。
OLEObject 変数の宣言と作成方法
後述の例に示すように、CREATE 文を使用して OLEObject 変数にメモ
リを割り当てる必要があります。
OLEObject 変数を作成する場合は、そのオブジェクトがスコープから
出る前にそのオブジェクトを削除したことを確認します。オブジェク
トが削除されると、オブジェクトとサーバとの接続は解除され、サー
バは閉じます。接続を解除せずにオブジェクトをスコープから外すと、
サーバ アプリケーションを停止する方法がなくなります。
サーバ アプリケーションのドキュメントで、サポートされているプロ
パティと関数を確認してください。多くのプロパティと関数をサポー
トしているアプリケーションもあります。たとえば、Excel には、自動
化できる操作が約 4000 あります。
OLEObject 型は、アプリケーション内のバックグラウンド処理として
OLE オートメーションをサポートしています。OLE コントロール内の
OLE オブジェクトに対して、サーバ関数およびプロパティを起動する
こともできます。この場合、サーバ関数名の前にコントロールの Object
プロパティを指定してください。コントロール内のオブジェクトを自
動化する場合、OLEObject 変数は必要ありません。
たとえば、次の例は、Excel のセル内の値の変更を OLE コントロール
ole_1 内のオブジェクトに対して行います。
ole_1.Object.application.cells(1,1).value = 14
例
次の例は、OLEObject 変数を宣言して作成し、Excel で開いている Excel
ワークシートに接続します。次に、ワークシート内に値を入力し、保
存します。その後、Excel 内にある OLEObject 変数を削除します。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToObject( &
"c:\excel\expense.xls")
PowerScript リファレンス ボリューム 2
419
ConnectToRemoteObject
IF result = 0 THEN
myoleobject.application.workbooks(1).&
worksheets(1).cells(1,1).value = 14
myoleobject.application.workbooks(1).save()
END IF
DESTROY myoleobject
次の例は、Excel チャートに接続します(Windows パス名を使用)。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToObject( &
"c:\excel\expense.xls", "excel.chart")
次の例は、すでに起動している Excel 内のアクティブなオブジェクト
に接続します。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToObject("", &
"excel.application")
関連項目
ConnectToNewObject
DisconnectObject
ConnectToRemoteObject
機能
OLE オブジェクトを PowerBuilder の OLEObject 変数と関連付けてサー
バ アプリケーションを起動します。
対象
OLEObject オブジェクト
構文
oleobject.ConnectToRemoteObject ( hostname, filename {, classname } )
引数
oleobject
hostname
420
説明
OLE オブジェクトに接続する OLEObject 変数の名前を指
定します。OLE コントロールの Object プロパティである
OLEObject を指定することはできません。
String 型の値。COM サーバが置かれているリモート ホス
トの名前を指定します。
PowerBuilder
第 10 章
引数
filename
classname
(オプション)
戻り値
PowerScript 関数
説明
String 型の値。OLE ストレージ ファイルの名前を指定しま
す。この引数には空の文字列("")を指定できません。COM
は、ローカル(クライアント)マシン上で filename を検索
します。filename がリモートホスト上に置かれている場合、
その位置をリモート ホストとローカル ホストが共有する
ことで、ローカル ホストがその位置にアクセスできなけ
ればなりません。リモート ホスト上のファイルを指定す
るには、たとえば \\hostname\shared_directory\test.ext のよ
うに、リモート ドライブの共有名を使用します。
String 型の値。OLE サーバ アプリケーション、および OLE
を介してサーバが処理できるオブジェクトの種類を識別
する OLE クラスの名前を指定します。classname を省略し、
filename に OLE 構造化ストレージ ファイルを指定した場
合、PowerBuilder は filename 内のクラス ID を使用します。
それ以外の場合、PowerBuilder は、起動するサーバ アプリ
ケーションをファイル名拡張子によって判断します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
-1 呼び出しが無効です。引数は、コントロールの Object プロパ
ティです。
-2 クラス名が見つかりません。
-3 オブジェクトを作成できません。
-4 オブジェクトに接続できません。
-5 アクティブなオブジェクトに接続できません。
-6 ファイル名が無効です。
-7 ファイルが見つからないか、または開けません。
-8 サーバはファイルからのロードをサポートしていません。
-9 そのほかのエラーです。
-10 このプラットフォームでサポートされていない機能です。
-11 サーバ名が無効です。
-12 サーバがこの操作をサポートしていません。
-13 リモート ホストへのアクセスが拒否されました。
-14 サーバが使用不可能です。
-15 このコンピュータには COM+ がロードされていません。
-16 呼び出しが無効です。この関数は OLETxnObject には使用で
きません。
解説
OLEObject 変数は、OLE オートメーションに使用されます。つまり、
PowerBuilder のアプリケーションはサーバ アプリケーションに対して
プログラムどおりに OLE オブジェクトを処理するように指示します。
ConnectToRemoteObject 関数は、リモートによる起動をサポートする
サーバだけで使用できます。
PowerScript リファレンス ボリューム 2
421
ConnectToRemoteObject
以下の情報は、リモート ホスト上での OLE オブジェクトの作成また
はインスタンス化、およびバインドに適用されます。
OLE オートメーションの概要は、ConnectToObject 関数を参照してくだ
さい。
セキュリティ リモート ホスト上でオブジェクトを起動するには、
サーバ上のセキュリティが正しく構成されていなければなりません。
セキュリティは、レジストリ キーを使用して構成されます。サーバの
起動を許可または禁止する属性を指定し、クライアントがアクセスで
きるように実行中のオブジェクトへの接続を指定しなければなりませ
ん。レジストリは、手動で、または DCOMCNFG.EXE や OLE ビュー
アなどのツールを使用して更新することができます。
レジストリ エントリ サーバ アプリケーションは、サーバとクライア
ントの両方で登録しなければなりません。
OLE 構造化ストレージ ファイル以外のファイルを検索するには、レジ
ストリ エントリにファイル拡張子エントリが含まれていなければな
りません。たとえば、Excel ファイルの場合には .xls という拡張子を使
用します。ファイルが構造化ストレージ ファイルの場合には、COM が
ファイルを読み込み、ファイルからサーバ ID を抽出します。それ以外
のファイルの場合は、ファイル拡張子のレジストリ エントリを使用し
て適切なサーバ アプリケーションを起動します。
DCOM サーバがカスタム インタフェースを使用する場合、そのインタ
フェース用のプロキシ / スタブ DLL をクライアント上に登録しなけれ
ばなりません。プロキシ / スタブ DLL は、カスタム インタフェースの
デザイナによって作成されます。この DLL は、クライアント上のプロ
キシとサーバ上のスタブを介してパラメータのマーシャリングし、リ
モート プロシージャ コールが行われるようにします。
例
次の例は、OLEObject 変数を宣言して作成し、falco という名前のリモー
ト ホスト上の Excel ワークシートに接続します。ワークシートが存在
するドライブは、ローカル ホスト上の f:\excel にマップされています。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToRemoteObject( &
"falco", "f:\excel\expense.xls")
次の例は、リモート ホスト上の前の例と同じオブジェクトに接続し、
それを Excel チャートとして開きます。
integer result
OLEObject myoleobject
422
PowerBuilder
第 10 章
PowerScript 関数
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToRemoteObject( &
"falco", "f:\excel\expense.xls", "Excel.chart")
関連項目
ConnectToNewRemoteObject
ConnectToObject
DisconnectObject
ConnectToServer
機能
クライアント アプリケーションをサーバ コンポーネントに接続しま
す。クライアント アプリケーションは、サーバ上のリモート オブジェ
クトを使用する前に、ConnectToServer 関数を呼び出さなければなりま
せん。
この関数は、分散アプリケーションにのみ適用されます。
対象
接続オブジェクト
構文
connection.ConnectToServer ( )
引数
connection
戻り値
説明
接続を確立する際に使用する接続オブジェクトの名前を
指定します。接続オブジェクトには、接続の設定方法を指
定するプロパティがあります。
Long 型。正常に終了した場合は 0 を返します。エラーが発生した場合
は、以下のいずれかの値を返します。
50
52
53
54
55
56
57
62
92
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続オブジェクトがサーバに接続されていません。
サーバがビジーです。
必要なプロパティが見つからないか、または無効です。
解説
ConnectToServer 関数を呼び出す前に、接続オブジェクトのプロパティ
に値を割り当てます。
例
次の例では、クライアント アプリケーションが接続オブジェクト
myconnect を使用してサーバ アプリケーションに接続します。
PowerScript リファレンス ボリューム 2
423
ConnectToServer
// グローバル変数:
// connection myconnect
long ll_rc
myconnect = create connection
myconnect.driver = "jaguar"
myconnect.location = "Jagserver1:2000"
myconnect.application = "PB_pkg_1"
myconnect.userID = "bjones"
myconnect.password = "mypass"
ll_rc = myconnect.ConnectToServer()
IF ll_rc <> 0 THEN
MessageBox(" 接続失敗 ", ll_rc )
END IF
ConnectToServer 関数を try-catch ブロックで囲んで、接続試行中に送出
される例外をキャッチできます。次の例では、SSLServiceProvider オブ
ジェクトと SSLCallBack オブジェクトを使って、セキュアな接続を構
築します。SSLCallback 関数の例外またはそのほかのエラーにより
CTSSecurity::UserAbortedException が発生します。この例で示されてい
るエラー処理コードでは、エラー メッセージを表示するメッセージ
ボックスが開くだけですが、実際のコードでは、エラーに対する適切
な対処法を補足してください。
SSLServiceProvider
sp
// QOP を設定します。
getcontextservice( "SSLServiceProvider", sp )
sp.setglobalproperty( "QOP", "sybpks_simple" )
// PB コールバック ハンドラを設定します。
sp.setglobalproperty( "CallbackImpl", &
"uo_sslcallback_handler" )
// サーバに接続します。
connection cxn
cxn.userid
= "jagadmin"
cxn.password = "sybase"
cxn.driver
= "jaguar"
cxn.application = "dbgpkg"
cxn.options
= "ORBLogFile='d:\PBJagClient.Log'"
cxn.location = "iiops://localhost:9001"
TRY
l_rc = cxn.ConnectToServer()
CATCH (userabortedexception uae)
MessageBox("UserAbortedException をキャッチ ", &
"ConnectToServer はメッセージをキャッチしました :" +
uae.getMessage() )
l_rc = 999
424
PowerBuilder
第 10 章
PowerScript 関数
CATCH ( CORBASystemException cse )
MessageBox("CORBASystemException をキャッチ ", &
"ConnectToServer はメッセージをキャッチしました :" +
cse.getMessage() )
l_rc = 998
CATCH ( RuntimeError re )
MessageBox("RuntimeError Exception をキャッチ ", &
"ConnectToServer はメッセージをキャッチしました :" +
re.getMessage() )
l_rc = 997
CATCH ( Exception ex )
MessageBox("Exception をキャッチ ", &
"ConnectToServer はメッセージをキャッチしました :" +
ex.getMessage() )
l_rc = 996
END TRY
IF l_rc <> 0 THEN
MessageBox(" エラー ", " 接続失敗 - コード : " &
+ string(l_rc) )
MessageBox(" エラー情報 ", " エラーコード = " + &
string(cxn.ErrCode) + "~nErrText= " + &
cxn.ErrText)
ELSE
MessageBox("OK", " 接続を確立しました ")
END IF
関連項目
DisconnectServer
Copy
機能
選択されたテキストまたは OLE オブジェクトをクリップボードにコ
ピーします。コピー元のテキストやオブジェクトは変更されません。
対象
データウィンドウ、インクエディット、マルチライン エディット、シ
ングルライン エディット、リッチテキスト エディット、ドロップダウ
ン リストボックス、ドロップダウン ピクチャ リストボックス、OLE
の各コントロール、OLE DWObject( データウィンドウ コントロール上
のデータウィンドウ オブジェクト上にあるオブジェクト)
構文
objectref.Copy ( )
PowerScript リファレンス ボリューム 2
425
Copy
引数
objectref
説明
以下のいずれかを指定します。
• クリップボードにコピーするテキストを含むデータ
ウィンドウ、エディットマスク、インクエディット、マ
ルチライン エディット、シングルライン エディット、
リッチテキスト エディット、ドロップダウン リスト
ボックス、ドロップダウン ピクチャ リストボックスの
いずれかのコントロールの名前
• クリップボードにコピーするオブジェクトを含むデー
タウィンドウ コントロール上の OLE DWObject の名前、
または OLE コントロールの名前
DWObject の名前は、次のような完全な名前で指定します。
dwcontrol.Object.dwobjectname
objectref にデータウィンドウ コントロールの名前を指定
した場合、テキストは現行の行とカラムのエディット コン
トロールからコピーされます。objectref にドロップダウン
リストボックス コントロールまたはドロップダウン ピク
チャ リストボックス コントロールの名前を指定した場
合、AllowEdit プロパティを true にしておく必要がありま
す。
戻り値
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
リッチテキスト エディット コントロールの場合、Long 型を返します。
そのほかのエディット コントロールと OLE オブジェクトの場合は、
Integer 型を返します。
エディット コントロールの場合、クリップボードにコピーされた文字
数を返します。objectref に指定されたコントロールでテキストが選択
されていない場合、文字をコピーせずに 0 を返します。エラーが発生
した場合、-1 を返します。
OLE コントロールと OLE DWObject の場合、正常に終了したときは 0
を返します。エラーが発生したときは、次のいずれかの値を返します。
-1
-2
-9
コントロールが空です。
正しくコピーできませんでした。
そのほかのエラーです。
objectref に指定されたコントロールの名前が null の場合、null を返しま
す。
426
PowerBuilder
第 10 章
解説
PowerScript 関数
コピーするテキストを選択するには、マウスやキーボードを使用しま
す。スクリプト内で SelectText 関数を呼び出す方法もあります。リッチ
テ キ ス ト エ デ ィ ッ ト コ ン ト ロ ー ル の 場 合 は、SelectTextAll 関 数、
SelectTextLine 関数、または SelectTextWord 関数を使用してテキストを選
択することもできます。
クリップボードの内容をコントロール内に挿入するには、Paste 関数を
使用します。
Copy 関数を使用しても、選択したテキストや OLE オブジェクトを削
除することはできません。データを削除するには、Clear 関数または Cut
関数を使用してください。
例
たとえば、mle_emp_address 内のテキストで Temporary Address を選択
しているとします。次のステートメントは、mle_emp_address 内のテキ
スト Temporary Address をクリップボードにコピーし、copy_amt に 17
を格納します。
integer copy_amt
copy_amt = mle_emp_address.Copy()
次のステートメントは、OLE コントロール内の OLE オブジェクト
ole_1 をクリップボードにコピーします。
integer result
result = ole_1.Copy()
関連項目
Clear
Clipboard
Cut
Paste
ReplaceText
SelectText
CopyRTF
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウで選択されているテキスト、ピクチャ、入
力フィールドを、リッチテキスト形式の文字列として返します。ビッ
トマップと入力フィールドは、文字列に含まれます。
対象
データウィンドウ コントロール、データストア オブジェクト、リッチ
テキスト エディット コントロール
構文
rtename.CopyRTF ( { selected {, band } } )
PowerScript リファレンス ボリューム 2
427
CopyRTF
引数
rtename
selected
(オプション)
説明
データウィンドウ コントロール、データストア オブジェ
クト、またはリッチテキスト エディット コントロールの
名前を指定します。指定されたコントロールまたはオブ
ジェクトで選択されている内容を、リッチテキスト形式で
コピーします。データウィンドウ コントロールまたはデー
タストア オブジェクトのデータウィンドウ オブジェクト
は、リッチテキスト データウィンドウでなければなりま
せん。
Boolean 型の値。コピーする内容(選択されているテキス
トだけをコピーするかどうか)を指定します。値は以下の
とおりです。
• TRUE - (デフォルト)選択されているテキストのみ
band
(オプション)
• FALSE - 区域のすべての内容
Band カタログ データ型の値。テキストのコピー元の区域
を指定します。値は以下のとおりです。
• Detail! - 詳細区域
• Header! - ヘッダ区域
• Footer! - フッタ区域
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
戻り値
String 型。選択されているテキストを文字列として返します。
次の場合、空の文字列("")を返します。
解説
•
何も選択されていない場合に、selected に true が指定されていると
き
•
エラーが発生した場合
CopyRTF 関数は、クリップボードを必要としません。コピーされた情
報は、文字列に格納されます。標準のクリップボードの機能(コピーと
切り取り)を使用すると、クリップボードには書式設定されていないテ
キストが格納されます。
RTF 形式のテキストを別のリッチテキスト エディット コントロール
に貼り付けるには、PasteRTF 関数を使用します。
RTF 形式の詳細については、『アプリケーション テクニック』マニュ
アルの「リッチテキストの作成方法」を参照してください。
例
428
次のステートメントは、リッチテキスト エディット コントロール
rte_message で選択されているテキストを返し、ls_richtext に格納しま
す。
PowerBuilder
第 10 章
PowerScript 関数
string ls_richtext
ls_richtext = rte_message.CopyRTF()
次の例は、rte_1 内のテキストをコピーして ls_richtext に保存し、rte_2
に貼り付けます。エンド ユーザがラジオボタン rb_true をクリックする
と選択されているテキストがコピーされ、rb_false をクリックするとす
べてのテキストがコピーされます。
貼り付けられた文字数は ll_numchars
に保存され、スタティック テキスト コントロール st_status に表示され
ます。
string ls_richtext
boolean lb_selected
long ll_numchars
IF rb_true.Checked = TRUE THEN
lb_selected = TRUE
ELSE
lb_selected = FALSE
END IF
ls_richtext = rte_1.CopyRTF(lb_selected)
ll_numchars = rte_2.PasteRTF(ls_richtext)
st_status.Text = String(ll_numchars)
関連項目
PasteRTF
Cos
機能
角度の余弦を計算します。
構文
Cos ( n )
引数
n
説明
余弦を計算する角度(ラジアン)を指定します。
戻り値
Double 型。n の余弦を返します。n が null の場合、null を返します。
例
次のステートメントは、1 を返します。
Cos(0)
次のステートメントは、0.540302 を返します。
Cos(1)
次のステートメントは、-1 を返します。
PowerScript リファレンス ボリューム 2
429
Cpu
Cos(Pi(1))
関連項目
ACos
Pi
Sin
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Cos メソッド
Cpu
機能
アプリケーションが起動されてからの CPU の経過時間を調べます。
構文
Cpu ( )
戻り値
Long 型。PowerBuilder アプリケーションが起動されてからの CPU 経過
時間をミリ秒単位で返します。
例
次のステートメントは、ステートメント グループが実行されてからの
CPU 経過時間を調べます。
long ll_start, ll_used
// 11_start に現在の CPU 経過時間を格納します。
ll_start = Cpu()
... // 処理
// 現在の CPU 経過時間と 11_start の差を計算して
// 処理にかかった CPU 経過時間を ll_used に格納します。
ll_used = Cpu() - ll_start
CreateDirectory
機能
ディレクトリを作成します。
対象
ファイル システム
構文
CreateDirectory ( directoryname )
引数
directoryname
430
説明
String 型の値。作成するディレクトリの名前を指定します。
PowerBuilder
第 10 章
戻り値
PowerScript 関数
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
例
次の例では、現行パスに新しいサブディレクトリを作成し、その新し
いサブディレクトリを現行ディレクトリに設定します。
string ls_path="my targets"
integer li_filenum
CreateDirectory ( ls_path )
li_filenum = ChangeDirectory( ls_path )
関連項目
GetCurrentDirectory
RemoveDirectory
CreateInstance
中間層サーバ上で動作するリモート オブジェクトのインスタンスを
作成します。
リモート オブジェクトのインスタンスを作成する場所
PowerBuilder クライアントから
EAServer または COM+ コンポーネントの中から
使用する構文
構文 1
構文 2
構文 1
リモート サーバ上のオブジェクトのインスタンスを
作成する
機能
EAServer 上で動作するコンポーネントのインスタンスを作成します。
この関数は、PowerBuilder クライアントからリモート オブジェクトを
インスタンス化するのに使用します。さらに、EAServer 上で動作する
コンポーネントの中で、ほかのサーバ上で動作する別のコンポーネン
トをインスタンス化するためにも使用できます。
対象
接続オブジェクト
構文
connection.CreateInstance (objectvariable {, classname } )
引数
connection
objectvariable
PowerScript リファレンス ボリューム 2
説明
接続を確立するのに使用する接続オブジェクトの名前を
指定します。
データ型が、作成されるオブジェクトのクラスか、その
クラスの先祖と同じクラスである、グローバル変数、イ
ンスタンス変数あるいはローカル変数
431
CreateInstance
引数
classname
(オプション)
戻り値
Long 型。正常に終了した場合は 0 を返します。エラーが発生した場合
は、以下のいずれかの値を返します。
50
52
53
54
55
56
57
62
解説
説明
String 型の値。作成するクラスのデータ型の名前を指定し
ます。オプションで、クラス名の前にスラッシュで区切っ
てパッケージ名を指定することもできます(たとえば、
「mypkg/mycomponent」など)
。
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
CreateInstance 関数を呼び出す前に、サーバに接続しなければなりませ
ん。そのためには、ConnectToServer 関数を呼び出す必要があります。
CreateInstance 関数を使用すると、リモート サーバ上にオブジェクトを
作成することができます。オブジェクトをローカルに作成する場合は、
CREATE 文を使用する必要があります。
クライアント アプリケーションにリモート オブジェクトのクラス定
義を配布する場合、クライアント上の定義は、サーバ アプリケーショ
ンに配布されたリモート オブジェクト定義と同じ名前になります。こ
のような方法で宣言された変数は、ローカル オブジェクトまたはリ
モート オブジェクトに対する参照を保持することができます。した
がって、実行時にアプリケーションの要件に応じて、CREATE 文を使用
してオブジェクトをローカルにインスタンス化することもできるし、
CreateInstance 関数を使用してリモートでインスタンス化することもで
きます。どちらの場合でも、オブジェクトを作成すると、その物理的
な位置はオブジェクトを使用するクライアント側スクリプトに対して
透過的になります。
例
以下のステートメントは、テストの結果に応じてローカルまたはリ
モートでオブジェクトを作成します。これらのステートメントでは、
リモート オブジェクトの作成には CreateInstance 関数を使用し、ローカ
ル オブジェクトの作成には CREATE 文を使用しています。
boolean bWantRemote
connection myconnect
uo_customer iuo_customer
432
PowerBuilder
第 10 章
PowerScript 関数
// リモート オブジェクトとローカル オブジェクトの
// どちらを作成するかを決定します。
...
// 次に、オブジェクトを作成します。
IF bWantRemote THEN
// リモート オブジェクトを作成します。
IF myconnect.CreateInstance(iuo_customer) <> 0 THEN
// エラー処理
...
END IF
ELSE
// ローカル オブジェクトを作成します。
iuo_customer = CREATE uo_customer
END IF
オブジェクトの関数を呼び出します。
関数呼び出しは、オブジェクトがサーバとクライアントの
どちらで作成された場合でも同じです。
isValid(iou_customer) THEN
iuo_customer.GetCustomerData()
END IF
//
//
//
IF
関連項目
ConnectToServer
構文 2
現行のサーバ上のコンポーネントのインスタンスを
作成する
機能
現行の EAServer または COM+ サーバ上で動作するコンポーネントの
インスタンスを作成します。この関数は、EAServer または COM+ 上で
動作するコンポーネント インスタンスの中から呼び出されます。
対象
TransactionServer オブジェクト
構文
transactionserver.CreateInstance (objectvariable {, classname } )
引数
transactionserver
objectvariable
PowerScript リファレンス ボリューム 2
説明
TransactionServer サービス インスタンスへの参照を指
定します。
データ型が、作成されるオブジェクトのクラスか、そ
のクラスの先祖と同じクラスである、グローバル変
数、インスタンス変数あるいはローカル変数
433
CreateInstance
引数
classname
(オプション)
説明
String 型の値。作成するクラスのデータ型の名前を指
定します。
EAServer コンポーネントの場合は、オプションで、
クラス名の前にスラッシュで区切ってパッケージ名
を指定することもできます(たとえば、
「mypackage/mycomponent」など)。
COM+ コンポーネントの場合は、オプションで、クラ
ス名の前にピリオドを付けて ProgID を指定すること
もできます(たとえば、
「PowerBuilder.HTMLDataWindow」など)。
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
50
52
53
54
55
56
57
62
解説
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
TransactionServer コンテキスト オブジェクトに対して CreateInstance 関
数を実行すると、現行のサーバ上で動作するほかの EAServer または
COM+ コンポーネントにアクセスすることができます。作成されたイ
ンスタンスは、現行オブジェクトのトランザクションおよびセキュリ
ティ属性をすべて継承します。
EAServer 上では、TransactionServer の CreateInstance メソッドによって
EAServer のネーム サービスが呼び出され、プロキシが作成されます。
リモート コンポーネントのプロキシは、ローカルで実行されているイ
ンスタンスではなく、ネーム サービスから返される場合があります。
ローカルのインスタンスを使用するには、コンポーネント名として
“local:package/component” を指定します。package はパッケージ名、
component はコンポーネント名です。コンポーネントが同じサーバにイ
ンストールされていない場合、呼び出しはエラーになります。
TransactionServer コンテキスト オブジェクトに対して CreateInstance 関
数を実行する場合、この関数を呼び出したコンポーネントに適用され
るものと同じユーザおよびパスワードの情報を使用します。
トランザクション コンテキスト サービスを使用する前に、
TransactionServer 型の変数を宣言し、GetContextService 関数を呼び出し
て、このサービスのインスタンスを作成する必要があります。
434
PowerBuilder
第 10 章
例
PowerScript 関数
以下のステートメントでは、ある EAServer コンポーネントが、同じ
サーバ上の別のコンポーネントをインスタンス化し、このコンポーネ
ントのメソッドを呼び出します。
Integer rc
rc = this.GetContextService("TransactionServer", &
ts)
IF rc <> 1 THEN
// エラーを処理します。
END IF
rc = this.CreateInstance(mycomp2, &
"mypackage/nvo_comp2")
IF IsValid(mycomp2) = FALSE THEN
// エラーを処理します。
END IF
mycomp2.method1()
次の例では、COM コンポーネントのインスタンスを作成するための構
文を示しています。
Integer rc
OleObject lole
TransactionServer lts
lole = create OleObject
rc = this.GetContextService("TransactionServer", lts)
IF rc <> 1 THEN
return "Error from GetContextService " + String (rc)
END IF
// PBCOM は ProgID で、n_genapp はクラス名です。
rc = lts.CreateInstance(lole, "PBCOM.n_genapp")
IF rc <> 0 THEN
return "Error from CreateInstance " + String (rc)
END IF
iole.my_func ()
関連項目
EnableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetAbort
SetComplete
Which
PowerScript リファレンス ボリューム 2
435
CreatePage
CreatePage
機能
まだ作成されていない場合にタブ ページを作成します。
対象
タブ ページとして使用されているユーザ オブジェクト
構文
userobject.CreatePage ( )
引数
userobject
戻り値
説明
作成するタブ ページの名前を指定します。
Integer 型。以下のいずれかの値を返します。ページが正常に作成され
た場合は 1 を返し、ページがすでに作成されている場合には 0 を、タ
ブ ページでない場合は -1 を返します。
1 - タブ ページは正常に作成されました。
0 - タブ ページはすでに作成されています。
-1 - ユーザ オブジェクトがタブ ページではありません。
解説
多くのコントロールを含むタブ ページを画面に描画するのを後まわ
しにすれば、ウィンドウが開くまでの時間を短縮できます。ただし、
コントロールの Constructor イベントが実行され、コントロールのグラ
フィカル表現が作成されるまで、スクリプトはタブ ページ上のコント
ロールを参照できません。タブ コントロールの CreateOnDemand プロ
パティが選択されている場合は、ユーザがそのタブ ページを表示する
までは、スクリプトからそのタブ ページ上のコントロールを参照でき
ません。CreatePage 関数を使用すると、まだ作成されていないタブ ペー
ジを作成することができます。
例
次の例では、tabpage_2 がすでに作成されているかどうかをテストし、
作成されていない場合は、このタブ ページを作成します。
IF tab_1.CreateOnDemand = True THEN
IF tab_1.tabpage_2.PageCreated() = False THEN
tab_1.tabpage_2.CreatePage()
END IF
END IF
関連項目
436
PageCreated
PowerBuilder
第 10 章
PowerScript 関数
Cut
機能
指定されたコントロールから、選択しているテキストまたは OLE オブ
ジェクトを削除し、クリップボードにコピーします。このときに、削
除したデータでクリップボードのデータを置き換えます。
対象
データウィンドウ、インクエディット コントロール、マルチライン エ
ディット コントロール、シングルライン エディット コントロール、ド
ロップダウン リストボックス コントロール、ドロップダウン ピクチャ
リストボックス コントロール、OLE コントロール
構文
controlname.Cut ( )
引数
controlname
説明
切り取るテキストやオブジェクトを含んでいるデータウィ
ンドウ、インクエディット、マルチライン エディット、シ
ングルライン エディット、リッチテキスト エディット、ド
ロップダウン リストボックス、ドロップダウン ピクチャ リ
ストボックス、OLE のいずれかのコントロールの名前を指
定します。
controlname にデータウィンドウ コントロールの名前を指
定した場合、現行の行と現行のカラムの上にあるエディッ
ト ボックスからテキストを切り取ります。controlname で
ドロップダウン リストボックス コントロールまたはド
ロップダウン ピクチャ リストボックス コントロールを指
定する場合、AllowEdit プロパティは true でなければなり
ません。
戻り値
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
編集可能なコントロールの場合、controlname に指定されたコントロー
ルから切り取ってクリップボードにコピーした文字数を返します。テ
キストが選択されていない場合、切り取り処理を行わずに 0 を返しま
す。エラーが発生した場合、-1 を返します。
OLE コントロールの場合、正常に終了したときは 0 を返します。エ
ラーが発生したときは、次のいずれかの値を返します。
-1
-2
-9
コントロールが空です。
切り取りに失敗しました。
そのほかのエラーです。
controlname に指定されたコントロールの名前が null の場合、null を返し
ます。
PowerScript リファレンス ボリューム 2
437
Cut
解説
削除するテキストを選択するには、マウスやキーボードを使用します。
スクリプト内で SelectText 関数を呼び出す方法もあります。リッチテキ
スト エディット コントロールの場合は、SelectTextAll 関数、SelectTextLine
関数、または SelectTextWord 関数を使用してテキストを選択することも
できます。
クリップボードの内容をコントロール内に挿入するには、Paste 関数を
使用します。
選択したテキストや OLE オブジェクトをクリップボードにコピーし
ないで削除したい場合には、Clear 関数を使用します。
OLE オブジェクトを切り取ると、Clear 関数を使用した場合と同じよう
に、OLE オブジェクトとオブジェクトの元のファイル、または OLE オ
ブジェクトとストレージとの接続が解除されます。
例
たとえば、mle_emp_address 内のテキスト "Temporary" が選択されてい
るとします。次のステートメントは、mle_emp_address から "Temporary"
を削除し、クリップボードにコピーして 9 を返します。
mle_emp_address.Cut()
次の例は、OLE コントロール ole_1 内の OLE オブジェクトを切り取っ
てクリップボードにコピーします。
integer result
result = ole_1.Cut()
関連項目
438
Copy
Clear
Clipboard
DeleteItem
Paste
PowerBuilder
第 10 章
PowerScript 関数
DataCount
機能
グラフ内にある特定のデータ系列のデータ ポイントの数を通知しま
す。
対象
ウィンドウおよびユーザ オブジェクト内のグラフ コントロール、デー
タウィンドウ コントロール内およびデータストア オブジェクト内の
グラフ
構文
controlname.DataCount ( { graphcontrol, } seriesname )
引数
controlname
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールやデータストアの名前を指定し
ます。指定されたグラフのデータ系列のデータ ポイントの
数を数えます。
graphcontrol
(オプション)controlname に指定されたデータウィンドウ
(データウィン コントロールやデータストアのグラフ コントロールの名
ドウ コント
前を指定します。指定されたグラフのデータ系列のデータ
ロールまたは
ポイントの数を数えます。
データストア
の場合)
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列のデータ ポイントの数を数えます。
戻り値
Long 型。正常に終了した場合、指定されたデータ系列内のデータ ポイ
ントの数を返します。エラーが発生した場合、-1 を返します。引数の
いずれかの値が null の場合は、null を返します。
例
以下に、グラフ gr_product_data にあるデータ系列 Costs のデータ ポイ
ントの数を ll_count に格納するステートメントを示します。
long ll_count
ll_count = gr_product_data.DataCount("Costs")
以下に、データウィンドウ コントロール dw_employees 上のグラフ
gr_dept にあるデータ系列 Salary のデータ ポイントの数を ll_count に格
納するステートメントを示します。
long ll_count
ll_count = &
dw_employees.DataCount("gr_dept", "Salary")
関連項目
AddSeries
InsertSeries
SeriesCount
PowerScript リファレンス ボリューム 2
439
DataSource
DataSource
機能
リッチテキスト エディット コントロールが、データウィンドウとデー
タを共有し、リッチテキスト エディット コントロールの入力フィール
ドにデータを表示できるようにします。リッチテキスト エディット コ
ントロールの入力フィールドがデータウィンドウのカラムの名前と一
致する場合、データウィンドウのデータはその入力フィールドに割り
当てられます。リッチテキスト エディット コントロールの文書は、繰
り返し表示されます。このため、データウィンドウの各行に、その文
書のインスタンスが作成されます。
対象
リッチテキスト エディット コントロール
構文
rtename.DataSource ( dwsource )
引数
rtename
dwsource
説明
データウィンドウからデータを取得するリッチテキスト エ
ディット コントロールの名前を指定します。
rtename に指定された入力フィールドに接続しているデー
タを含むデータウィンドウ コントロール、データストア、
または子データウィンドウの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
入力フィールドの名前がデータウィンドウ オブジェクトのカラムの
名前と一致する場合、カラムのデータはその入力フィールドに割り当
てられます。
リッチテキスト エディット コントロールの文書は、データウィンドウ
の一行に関連付けられています。検索された各行に、文書のインスタ
ンスがあります。リッチテキスト エディット コントロールのテキスト
は、すべての書式設定とともに、各文書のインスタンスで繰り返し表
示されます。各行のデータが変更されるたびに、入力フィールドの内
容は変更されます。入力フィールドの内容以外の各インスタンスの内
容は同じです。つまり、各インスタンスの入力フィールド以外のテキ
ストを変更することはできません。
リッチテキスト エディット コントロールの InputFieldNamesVisible プ
ロパティが true の場合、フィールドには、含まれるデータではなく
フィールド名が表示されます。データを参照するには、このプロパティ
の値を false に変更します。
440
PowerBuilder
第 10 章
PowerScript 関数
次の RichTextEdit 関数は、文書のインスタンス情報を操作または報告
します。
LineCount
PageCount
InsertDocument
SaveDocument
SelectedPage
SelectedStart
SelectedLine
SelectText
SelectTextAll
次の RichTextEdit 関数は、文書のコレクションに対して有効です。
Print
例
次の例は、データウィンドウ コントロール dw_1 をリッチテキスト エ
ディット コントロール rte_1 のデータ ソースとして設定します。
rte_1.DataSource(dw_1)
次の例では、LETTER.RTF という名前の文書をリッチテキスト エ
ディット コントロール rte_letter に挿入します。文書の入力フィールド
の名前はデータウィンドウ オブジェクトのカラム d_emp と一致しま
す。また、データストアを作成し、d_emp に関連付けてデータを検索
します。次に、rte_letter に文書を挿入し、データストアを rte_1 のデー
タ ソースとして設定します。
DataStore ds_empinfo
ds_empinfo = CREATE DataStore
ds_empinfo.DataObject = "d_emp"
ds_empinfo.SetTransObject(SQLCA)
ds_empinfo.Retrieve()
rte_letter.InsertDocument("LETTER.RTF", TRUE)
rte_letter.DataSource(ds_empinfo)
関連項目
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
PowerScript リファレンス ボリューム 2
441
Date
Date
DateTime 型、String 型、数字型のデータを Date 型に変換します。また、
Blob 型のデータから日付を表すデータを取り出します。使用する構文
は、元のデータのデータ型によって異なります。次の 3 種類の構文を
使用できます。
目的
DateTime 型のデータから日付を取り出す、または
Blob 型データ内に保持された日付を取り出す
文字列を日付の形式に変換する
数字データを結合して日付の形式に変換する
使用する構文
構文 1
構文 2
構文 3
Windows に関するプラットフォーム情報
年の戻り値を正しく取得するためには、ユーザのコントロール パネル
の[地域のオプション]で、「短い形式」の年の部分が yyyy になって
いることを確認する必要があります。これは、プログラムの中で
RegistryGet 関数を使ってチェックすることができます。
正しく設定されていない場合は、手動で設定を変更するようユーザに
依頼するか、あるいはアプリケーションで RegistrySet 関数を呼び出し
て変更します。設定を変更した後、ユーザによるリブートが必要な場
合があります。
構文 1
DateTime 型または Blob 型のデータから日付を取り
出す
機能
DateTime 型の値、または最初の値が日付か DateTime 型である Blob 型
データから、日付を表すデータを取り出します。
構文
Date ( datetime )
引数
datetime
442
説明
DateTime 型のデータ、または最初の値が日付か DateTime
型である Blob 型のデータを指定します。残りの Blob 型の
値は無視されます。Datetime には、DateTime 型または Blob
型の値を含む Any 型の変数を指定することもできます。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Date 型。
datetime に指定されたデータを日付の形式で返します。datetime
に指定されたデータが有効な日付でない場合やデータ型が一致しない
場合、1900-01-01 を返します。datetime に指定されたデータが null の場
合、null を返します。
例
次の例は、データベースから DateTime 型の変数 ldt_StartDateTime を取
得した後、ldt_StartDateTime と等しい日付を ld_StartDate に代入します。
DateTime ldt_StartDateTime
date ld_StartDate
ld_StartDate = Date(ldt_StartDateTime)
たとえば、Blob 型の変数 ib_blob に 32 バイト目から始まる DateTime 型
の値が含まれているとします。次のステートメントは、その値を日付
の形式に変換します。
date ld_date
ld_date = Date(BlobMid(ib_blob, 32))
関連項目
DateTime
構文 2
文字列を日付の形式に変換する
機能
有効な日付を表す文字列を日付の値に変換します。
構文
Date ( string )
引数
string
戻り値
説明
有効な日付を表す文字列("1999/12/31" など)を指定しま
す。指定された文字列を Date 型の形式に変換します。string
には、文字列を含む Any 型の変数を指定することもできま
す。
Date 型。string に指定されたデータを日付の形式で返します。string に
指定された文字列が有効な日付でない場合やデータ型が一致しない場
合、1900-01-01 を返します。string に指定された文字列が null の場合、
null を返します。
解説
文字列内の有効な日付は、日(1 ~ 31)、月(1 ~ 12、月の名前、また
は省略形)、年(2 桁または 4 桁)の組み合わせで表します。4 桁の数
値は、年とみなされます。月と日の十の位では、0 を省略することも
できます。名前、省略形、または数値のどれで表しているかにかかわ
らず、月はコントロールパネルの日付形式で指定された月の位置にな
ければなりません。コントロールパネルの設定がわからない場合は、
標準データ型の日付形式 yyyy-mm-dd を使用します。
PowerScript リファレンス ボリューム 2
443
Date
PowerBuilder は入力された文字列を、使用しているマシンの[地域オ
プション]の日付書式と一致させるように試みます。PowerBuilder 10
以降では、完全に一致する書式が見つからない場合、PowerBuilder は部
分的一致を試みます。例えば、Date('01-JAN-1900') を使用している
ときに PowerBuilder が部分的に一致する (dd-MMM-yy) を見つけた場
合、PowerBuilder は西暦の最初の 2 桁を解析して 19 を取得します。西
暦の 2 桁は 1930 年~ 2029 年の間として解釈されて、日付は 1/1/2019
が返ります。
Date 型のリテラルは、Date 関数を使用して変換する必要はありません。
例
例 1 以下のすべてのステートメントは、日付 2004 年 7 月 4 日(200407-04)を表すテキストを、Date 型のデータに変換します。コントロー
ルパネルの日付形式では、月の位置が中央に設定されているとします。
Date("2004/07/04")
Date("2004 July 4")
Date("04 July 2004")
例 2 以下のステートメントは、sle_start_date に格納されているデータ
が有効な日付かどうかを確認し、有効な日付でない場合にメッセージ
を表示します。バージョン 1 は、Date 関数の戻り値をチェックして日
付が有効かどうかを確認します。バージョン 2 は、Date 関数でテキス
トを変換する前に、IsDate 関数を使用して日付が有効かどうかを確認
します。
バージョン 1:
// Windows のコントロールパネルに設定されている日付形式は
YY/MM/DD
date ld_my_date
ld_my_date = Date(sle_start_date.Text)
IF ld_my_date = Date("1900-01-01") THEN
MessageBox(" エラー ", " 無効な値です:" &
+ sle_start_date.Text)
END IF
バージョン 2:
date ld_my_date
IF IsDate(sle_start_date.Text) THEN
ld_my_date = Date(sle_start_date.Text)
ELSE
MessageBox(" エラー ", " 無効な値です:" &
+ sle_start_date.Text)
END IF
444
PowerBuilder
第 10 章
関連項目
PowerScript 関数
DateTime
IsDate
RelativeDate
RelativeTime
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Date メソッド
構文 3
数字データを結合して日付の形式に変換する
機能
年、月、日を表す数字を結合して日付の形式に変換します。
構文
Date ( year, month, day )
引数
year
month
day
戻り値
説明
日付の年を表す数字。4 桁の整数(1 ~ 9999)を指定します。
日付の月を表す数字。1 桁または 2 桁の整数(1 ~ 12)を
指定します。
日付の日を表す数字。1 桁または 2 桁の整数(1 ~ 31)を
指定します。
Date 型。year、month、day に指定された整数値を Date データ型で返し
ます。無効な値(有効な日付の範囲外の値)が 1 つでも指定された場
合、1900-01-01 を返します。引数のいずれかの値が null の場合は、null
が返されます。
例
以下に、整数値を使用して ld_my_date に 2005-10-15 を代入するステー
トメントを示します。
date ld_my_date
ld_my_date = Date(2005, 10, 15)
関連項目
DateTime
DaysAfter
RelativeDate
RelativeTime
PowerScript リファレンス ボリューム 2
445
DateTime
DateTime
DateTime 型の値を処理します。次の 2 つの構文を使用します。
目的
日付と時間の値を結合して DateTime 型にする
Blob 型のデータ内に格納されている DateTime 型の値
を取得する
使用する構文
構文 1
構文 2
構文 1
DateTime 型の値を作成する
機能
日付値と時間値を結合して DateTime 型の値にします。
構文
DateTime ( date {, time } )
引数
date
time
(オプション)
説明
Date 型の値。日付を指定します。
Time 型の値を指定します。time を省略すると、time を
00:00:00.000000(深夜 0 時)に設定します。time には、時
刻だけを指定します。
戻り値
DateTime 型。date と time で指定された値を DateTime 型の値として返
します。引数のいずれかの値が null の場合、null を返します。
解説
DateTime 型のデータは、データベースの DateTime 型の値を読み込ん
だり、書き出したりする場合にだけ使用します。スクリプトで日付と
時刻の値を使用するには、Date 関数および Time 関数を使用して日付の
変数と時刻の変数に値を割り当てます。
例
以下に、ld_OrderDate および lt_OrderTime に格納されている日付と時
刻を DateTime 型の値に変換し、データベースを更新するステートメン
トを示します。
DateTime ldt_OrderDateTime
date ld_OrderDate
time lt_OrderTime
ld_OrderDate = Date(sle_orderdate.Text)
lt_OrderTime = Time(sle_ordertime.Text)
ldt_OrderDateTime = DateTime( &
ld_OrderDate, lt_OrderTime)
関連項目
446
Date
Time
PowerBuilder
第 10 章
PowerScript 関数
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの DateTime メソッド
構文 2
Blob 型の値から DateTime 型の値を取得する
機能
Blob 型の値から、DateTime 型の値を取り出します。
構文
DateTime ( blob )
引数
blob
説明
最初の値が DateTime 型の値である Blob 型データを指定し
ます。残りの Blob 型の値は無視されます。Blob 型の値を
格納した Any 型の変数を指定することもできます。
戻り値
DateTime 型。blob に指定されたデータから、DateTime 型の値を返しま
す。blob が null の場合、null を返します。
解説
DateTime 型のデータは、データベースの DateTime 型の値を読み込ん
だり、書き出したりする場合にだけ使用します。スクリプトで日付と
時刻の値を使用するには、Date 関数および Time 関数を使用して日付の
変数と時刻の変数に値を割り当てます。
例
たとえば、データベースから Blob 型のデータを取得し、lb_blob に代入
しているとします。次の例は、Blob 型データの 20 番目に格納されて
いる DateTime 型の値を取得します。BlobMid 関数で指定した長さは、
DateTime 型の値の長さ以上である必要があります。
DateTime dt
dt = DateTime(BlobMid(lb_blob, 20, 40))
関連項目
Date
Time
PowerScript リファレンス ボリューム 2
447
Day
Day
機能
Date 型の値から月の日付の部分を取り出します。
構文
Day ( date )
引数
date
説明
Date 型の値を指定します。日の部分を取り出します。
戻り値
Integer 型。date に指定された日の部分を表す整数(1 ~ 31)を返しま
す。date が null の場合、null を返します。
例
以下に、Date 型リテラル 2004-01-31 から日の部分(31)を取り出し、
li_day_portion に代入するステートメントを示します。
integer li_day_portion
li_day_portion = Day(2004-01-31)
以下に、sle_date に格納されている値が日付として有効かどうかを調
べ、有効な場合には sle_date の日の部分を li_day_portion に代入するス
テートメントを示します。
integer li_day_portion
IF IsDate(sle_date.Text) THEN
li_day_portion = Day(Date(sle_date.Text))
ELSE
MessageBox(" エラー ", &
" 無効な値です:" &
+ sle_date.Text)
END IF
関連項目
448
Date
IsDate
Month
Year
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Day メソッド
PowerBuilder
第 10 章
PowerScript 関数
DayName
機能
指定された Date 型の値の曜日名を返します。
構文
DayName ( date )
引数
date
説明
Date 型の値を指定します。曜日名を取得します。
戻り値
String 型。date に指定された日付の曜日名(日曜日、月曜日など)を表
す文字列を返します。date が null の場合、null を返します。
解説
DayName は、アプリケーションが実行されているマシンで使用可能な
ランタイム ファイルの言語で名前を返します。開発環境あるいはユー
ザのマシン上にローカライズされたランタイム ファイルがインス
トールされていれば、そのマシン上では、DayName によって返される
名前は、ローカライズされたファイルの言語によります。
例
以下に、Date 型のリテラル 2003-07-04 を評価し、day_name に金曜日を
代入するステートメントを示します。
string day_name
day_name = DayName(2003-07-04)
以下に、sle_date の値が日付として有効かどうかを調べ、有効な場合に
は sle_date の曜日名を day_name に代入するステートメントを示しま
す。
string day_name
IF IsDate(sle_date.Text) THEN
day_name = DayName(Date(sle_date.Text))
ELSE
MessageBox(" エラー ", &
" 無効な値です:" &
+ sle_date.Text)
END IF
関連項目
Day
DayNumber
IsDate
『データウィンドウ リファレンス』マニュアルの DayName
PowerScript リファレンス ボリューム 2
449
DayNumber
DayNumber
機能
Date 型の値が週の何日目にあたるかを返します。
構文
DayNumber ( date )
引数
date
説明
Date 型の値を指定します。週の何日目にあたるかを取得し
ます。
戻り値
Integer 型。date で指定した日付が週の何日目にあたるかを表す 1 ~ 7
の整数を返します。日曜日が 1、月曜日が 2 ... となります。date が null
の場合、null を返します。
例
以下に、Date 型リテラル 2000-01-31 を評価し、day_nbr に 2 を代入す
るステートメントを示します。2000 年 1 月 31 日は、月曜日です。
integer day_nbr
day_nbr = DayNumber(2000-01-31)
以下に、sle_date の値が日付として有効かどうかを調べ、有効な場合に
は sle_date の値が週の何日目にあたるかを示す数を day_nbr に代入す
るステートメントを示します。
integer day_nbr
IF IsDate(sle_date.Text) THEN
day_nbr = DayNumber(Date(sle_date.Text))
ELSE
MessageBox(" エラー ", &
" 無効な値です:" &
+ sle_date.Text)
END IF
関連項目
450
Day
DayName
IsDate
『データウィンドウ リファレンス』マニュアルの DayNumber
PowerBuilder
第 10 章
PowerScript 関数
DaysAfter
機能
2 つの日付の間の日数を計算します。
構文
DaysAfter ( date1, date2 )
引数
date1
date2
戻り値
説明
Date 型の値を指定します。指定された日からの間隔日数を
計算します。
Date 型の値を指定します。指定された日までの間隔日数を
計算します。
Long 型。date1 と date2 の間の日数値を表す Long 型の値を返します。
date2 が date1 よりも前の日付の場合、負の値を返します。引数のいず
れかの値が null の場合、null を返します。
例
次のステートメントは、4 を返します。
DaysAfter(2002-12-20, 2002-12-24)
次のステートメントは、-4 を返します。
DaysAfter(2002-12-24, 2002-12-20)
次のステートメントは、0 を返します。
DaysAfter(2003-12-24, 2003-12-24)
次のステートメントは、5 を返します。
DaysAfter(2003-12-29, 2004-01-03)
次に示すように、変数 date1 と date2 を宣言し、それぞれの変数に 2003
年 2 月 16 日と 2003 年 4 月 28 日を代入します。
date date1, date2
date1 = 2003-02-16
date2 = 2003-04-28
以下のステートメントは、それぞれ 71 を返します。
DaysAfter(date1, date2)
DaysAfter(2003-02-16, date2)
DaysAfter(date1, 2003-04-28)
DaysAfter(2003-02-16, 2003-04-28)
関連項目
RelativeDate
RelativeTime
SecondsAfter
PowerScript リファレンス ボリューム 2
451
DBHandle
『データウィンドウ リファレンス』マニュアルの DaysAfter
DBHandle
機能
DBMS(データベース管理システム)に対するハンドルを返します。
対象
トランザクション オブジェクト
構文
transactionobject.DBHandle ( )
引数
transactionobject
説明
実在するトランザクション オブジェクトを指定しま
す。
戻り値
UnsignedLong 型。DBMS に対するインタフェース ハンドルを返しま
す。transactionobject に、実在するトランザクション オブジェクトを指
定します。また、データベースが接続されている必要があります。
transactionobject が null の場合、null を返します。transactionobject が存
在しない場合は、実行エラーが発生します。DBMS に接続するための
十分なメモリがない場合、DBHandle は負数を返します。
解説
DBHandle 関数は、データベースに接続している場合にだけ、有効なハ
ンドルを返します。この関数は、データベースが接続されていなかっ
たり接続が解除されていたりするかどうかを判断することはできませ
ん。
PowerBuilder は、データベース ハンドルを内部的に使用してデータ
ベースと通信します。PowerBuilder がサポートしていない関数を使用
した API をデータベースがサポートしている場合、DBHandle 関数を使
用してそのハンドルを取得し、その外部関数の引数として与えます。
例
例についてはオンラインヘルプの「DBHandle」を検索して、参照して
ください。
DebugBreak
機能
実行を中断し、デバッガ ウィンドウを開きます。
構文
DebugBreak ( )
戻り値
なし
452
PowerBuilder
第 10 章
解説
PowerScript 関数
スクリプトの実行を中断してアプリケーションを調べるポイントに、
DebugBreak 関数の呼び出しを挿入します。次に、ジャストインタイム
デバッグを有効にし、開発環境でアプリケーションを実行します。
PowerBuilder が DebugBreak 関数を検出すると、デバッガ ウィンドウが
開いて現行のコンテキストが表示されます。
例
次に、変数が null かどうかをテストし、null の場合はデバッガ ウィンド
ウを開くステートメントを示します。
IF IsNull(auo_ext) THEN DebugBreak()
Dec
機能
文字列を Decimal 型の値に変換します。また、Blob 型データに格納さ
れている Decimal 型の値を取得します。
構文
Dec ( stringorblob )
引数
stringorblob
説明
Decimal 型に変換する String 型の値、または先頭に Decimal
型データを持つ Blob 型の値を指定します。残りの Blob 型
の値は無視されます。Stringorblob には、文字列または Blob
型を含む Any 変数を指定することもできます。
戻り値
Decimal 型。stringorblob に指定された値を Decimal 型の値で返します。
stringorblob に指定された値が PowerScript で有効な数値でない場合、ま
たは一致しないデータ型を含む場合には、0 を返します。stringorblob
が null の場合、null を返します。
例
次のステートメントは、Decimal 型の 24.3 を返します。
Dec("24.3")
次のステートメントは、シングルライン エディット コントロール
sle_salary の内容を Decimal 型として返します。
Dec(sle_salary.Text)
Blob 型の変数にデータを代入する方法、および Blob 型の変数からデー
タを取り出す方法については、Real 関数の例を参照してください。
関連項目
Double
Integer
Long
Real
PowerScript リファレンス ボリューム 2
453
DeleteCategory
DeleteCategory
機能
グラフの項目軸から、項目とその項目に対するデータ値を削除します。
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.DeleteCategory ( categoryvalue )
引数
controlname
categoryvalue
説明
グラフ コントロールの名前を指定します。指定されたグ
ラフから項目を削除します。
controlname に指定されたグラフから削除する項目の名前
を指定します。また、指定する値は、項目軸のデータ型と
同じでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
例
以下に、シングルライン エディット コントロール sle_delete に入力さ
れている項目をグラフ gr_product_data から削除するステートメントを
示します。
string CategName
CategName = sle_delete.Text
gr_product_data.DeleteCategory(CategName)
関連項目
DeleteData
DeleteSeries
DeleteColumn
機能
カラムを削除します。
リストビュー コントロール
構文
listviewname.DeleteColumn ( index )
引数
listviewname
index
454
説明
カラムを削除するリストビュー コントロールの名前を指
定します。
削除するカラムのインデックス番号を指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リストビュー コントロールの 2 番目のカラムを削除します。
lv_list.DeleteColumn(2)
関連項目
DeleteColumns
DeleteColumns
機能
すべてのカラムを削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteColumns ( )
引数
listviewname
説明
すべてのカラムを削除するリストビュー コントロールの
名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リストビュー コントロールのすべてのカラムを削除します。
lv_list.DeleteColumns()
関連項目
DeleteColumn
DeleteData
機能
グラフのデータ系列からデータ ポイントを削除します。データ系列内
の残ったデータ ポイントは左にシフトして、その項目のデータ ポイン
トが詰められます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.DeleteData ( seriesnumber, datapointnumber )
PowerScript リファレンス ボリューム 2
455
DeleteItem
引数
controlname
seriesnumber
datapointnumber
説明
データ ポイントを削除するグラフ コントロールの名前
を指定します。
controlname に指定されたグラフから削除するデータ ポ
イントがあるデータ系列の番号を指定します。
削除するデータがあるデータ ポイントの番号を指定し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
以下に、グラフ gr_product_data 内のデータ系列 Costs の 7 番目のデータ
ポイントにあるデータを削除するステートメントを示します。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.DeleteData(SeriesNbr, 7)
関連項目
AddData
DeleteCategory
DeleteSeries
FindSeries
DeleteItem
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、またはリストビュー コントロールから項目を削除します。
項目を削除するコントロール
リストボックス コントロール、またはドロップダウ
ン リストボックス コントロール
リストビュー コントロール
ツリービュー コントロール
使用する構文
構文 1
構文 2
構文 3
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールの項目を削除する
機能
リストボックス コントロールの値のリストから項目を削除します。
456
PowerBuilder
第 10 章
PowerScript 関数
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.DeleteItem ( index )
引数
listboxname
index
説明
項目を削除するリストボックス、ドロップダウン リスト
ボックス、ピクチャ リストボックス、ドロップダウン ピ
クチャ リストボックスのいずれかのコントロールの名前
を指定します。
削除する項目の位置を示す番号を指定します。
戻り値
Integer 型。項目を削除した後、値のリストに残されている項目の数を
返します。エラーが発生した場合、-1 を返します。また、引数のいず
れかの値が null の場合は null を返します。
解説
コントロールの Sorted プロパティが設定されている場合、リストの順
序は、コントロールを定義したときに指定した順序と異なる可能性が
あります。項目のテキストがわかっている場合には、FindItem 関数を使
用して項目のインデックスを確認してください。
例
lb_actions に 10 個の項目がある場合、次のステートメントは lb_actions
から項目 5 を削除し、9 を返します。
lb_actions.DeleteItem(5)
以下に、最初に選択した項目を lb_actions から削除するステートメント
を示します。
integer li_Index
li_Index = lb_actions.SelectedIndex()
lb_actions.DeleteItem(li_Index)
次に、リストボックス lb_purpose から "Personal" という項目を削除す
るステートメントを示します。
lb_purpose.DeleteItem( &
lb_purpose.FindItem("Personal", 1))
関連項目
AddItem
FindItem
InsertItem
SelectItem
PowerScript リファレンス ボリューム 2
457
DeleteItem
構文 2
リストビュー コントロールから項目を削除する
機能
指定された項目をリストビュー コントロールから削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteItem ( index )
引数
listviewname
index
戻り値
例
説明
項目を削除するリストビュー コントロールの名前を指定
します。
削除する項目のインデックス番号を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
次の例では、選択されたリストビューの項目のインデックスを
SelectedIndex 関数を使用して検索し、対応する項目を削除します。
integer index
index = lv_list.selectedindex()
lv_list.DeleteItem(index)
関連項目
AddItem
FindItem
InsertItem
SelectItem
DeleteItems
構文 3
ツリービュー コントロールから項目を削除する
機能
コントロールから項目を削除し、その項目の子項目があればそれも削
除します。
対象
ツリービュー コントロール
構文
treeviewname.DeleteItem ( itemhandle )
引数
treeviewname
itemhandle
戻り値
458
説明
項目を削除するツリービュー コントロールの名前を指定
します。
削除する項目のハンドルを指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章
PowerScript 関数
解説
すべての項目が最上位レベルの単一項目の子である場合、DeleteItem 関
数の引数として RootTreeItem のハンドルを指定することで、ツリー
ビュー内のすべての項目を削除することができます。それ以外の場合
は、最初のレベルで項目をループさせて順番に削除する必要がありま
す。
例
次の例では、ツリービュー コントロールから項目を削除します。
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
tv_list.DeleteItem(ll_tvi)
次の例では、最初のレベルに複数の項目がある場合に、ツリービュー
コントロールからすべての項目を削除します。
long tvi_hdl = 0
DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
tv_1.DeleteItem(tvi_hdl)
LOOP
関連項目
AddItem
FindItem
InsertItem
SelectItem
DeleteItems
DeleteItems
機能
リストビュー コントロールから、すべての項目を削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteItems ( )
引数
listviewname
説明
すべての項目を削除するリストビュー コントロールの名
前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールのすべての項目を削除します。
lv_list.DeleteItems()
関連項目
DeleteItem
PowerScript リファレンス ボリューム 2
459
DeleteLargePicture
DeleteLargePicture
機能
大きいピクチャのリストから、ピクチャを削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteLargePicture ( index )
引数
listviewname
index
説明
大きいピクチャのリストから大きいピクチャを削除する
リストビュー コントロールの名前を指定します。
削除する大きいピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、大きいピクチャを削除
します。
lv_list.DeleteLargePicture(1)
関連項目
DeleteLargePictures
DeleteLargePictures
機能
リストビュー コントロールから、すべての大きいピクチャを削除しま
す。
対象
リストビュー コントロール
構文
listviewname.DeleteLargePictures ( )
引数
listviewname
説明
大きいピクチャのリストからすべてのピクチャを削除す
るリストビュー コントロールの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、すべての大きいピク
チャを削除します。
lv_list.DeleteLargePictures()
関連項目
460
DeleteLargePicture
PowerBuilder
第 10 章
PowerScript 関数
DeletePicture
機能
ピクチャのリストからピクチャを削除します。
対象
ピクチャ リストボックス コントロール、ドロップダウン ピクチャ リ
ストボックス コントロール、ツリービュー コントロール
構文
controlname.DeletePicture ( index )
引数
controlname
index
説明
ピクチャを削除するコントロールを指定します。
指定されたコントロールのピクチャのリストから削除す
るピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
コントロールのピクチャのリストからピクチャを 1 つ削除すると、欠
番にならないように、リスト内のそれ以降のピクチャの番号が付け替
えられます。項目のピクチャ インデックスは変更されないので、削除
されたピクチャのインデックス番号以降の番号を使用する項目のピク
チャは変更されます。
例
次の例では、ピクチャのリストから、6 番目のピクチャを削除します。
tv_list.DeletePicture(6)
関連項目
AddPicture
DeletePictures
DeletePictures
機能
ピクチャのリストから、すべてのピクチャを削除します。
対象
ピクチャ リストボックス コントロール、ドロップダウン ピクチャ リ
ストボックス コントロール、ツリービュー コントロール
構文
controlname.DeletePictures ( )
引数
controlname
戻り値
説明
ピクチャのリストからすべてのピクチャを削除するコン
トロールを指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
461
DeleteSeries
例
次の例では、ツリービュー コントロールのピクチャのリストから、す
べてのピクチャを削除します。
tv_list.DeletePictures()
関連項目
AddPicture
DeletePicture
DeleteSeries
機能
グラフからデータ系列とそのデータ値を削除します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.DeleteSeries ( seriesname )
引数
controlname
seriesname
説明
データ系列を削除するグラフの名前を指定します。
controlname に指定されたグラフから削除するデータ系列
の名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
グラフ内のデータ系列は、グラフに追加された順番に番号が付けられ
ています。データ系列が削除されると、残りのデータ系列には番号が
付け直されます。
例
次の例は、ドロップダウン リストボックス コントロールの SectionChanged
イベントに対するスクリプトです。この例では、リストボックス上に
グラフ gr_data 内のデータ系列が表示されているとします。項目を選択
すると、DeleteSeries 関数はグラフからデータ系列を削除し、DeleteItem
関数はリストボックスからその項目の名前を削除します。
string ls_name
ls_name = This.Text
gr_data.DeleteSeries(ls_name)
This.DeleteItem(This.FindItem(ls_name, 0))
462
PowerBuilder
第 10 章
関連項目
PowerScript 関数
AddSeries
DeleteCategory
DeleteData
FindSeries
DeleteSmallPicture
機能
リストビュー コントロールから、小さいピクチャを削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteSmallPicture ( index )
引数
listviewname
index
説明
小さいピクチャのリストから小さいピクチャを削除する
リストビュー コントロールの名前を指定します。
削除する小さいピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、小さいピクチャを削除
します。
lv_list.DeleteSmallPicture(1)
関連項目
DeleteSmallPictures
DeleteSmallPictures
機能
リストビュー コントロールから、すべての小さいピクチャを削除しま
す。
対象
リストビュー コントロール
構文
listviewname.DeleteSmallPictures ( )
引数
listviewname
PowerScript リファレンス ボリューム 2
説明
小さいピクチャのリストからすべてのピクチャを削除す
るリストビュー コントロールの名前を指定します。
463
DeleteStatePicture
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、すべての小さいピク
チャを削除します。
lv_list.DeleteSmallPictures()
関連項目
DeleteSmallPicture
DeleteStatePicture
機能
コントロールから、状態ピクチャを削除します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.DeleteStatePicture ( index )
引数
controlname
index
説明
状態ピクチャのリストからピクチャを削除するリスト
ビュー コントロールまたはツリービュー コントロールの
名前を指定します。
削除する状態ピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、状態ピクチャを削除し
ます。
lv_list.DeleteStatePicture(1)
関連項目
DeleteStatePictures
DeleteStatePictures
機能
コントロールから、すべての状態ピクチャを削除します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.DeleteStatePictures ( )
464
PowerBuilder
第 10 章
引数
controlname
PowerScript 関数
説明
状態ピクチャのリストからすべてのピクチャを削除する
リストビュー コントロールまたはツリービュー コント
ロールの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、すべての状態ピクチャ
を削除します。
lv_list.DeleteStatePictures()
関連項目
DeleteStatePicture
DestroyModel
機能
現行のパフォーマンス解析モデルまたはトレース ツリー モデルを破
棄します。
対象
Profiling オブジェクトと TraceTree オブジェクト
構文
instancename.DestroyModel ( )
引数
instancename
戻り値
説明
Profiling オブジェクトまたは TraceTree オブジェクトのイ
ンスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しないため、関数は異常終了
しました。
解説
BuildModel 関数を使用して作成したパフォーマンス解析またはトレー
ス ツリー モデルの使用が終了した場合、DestroyModel 関数を呼び出し
て、モデルを破棄しなければなりません。また、そのモデルに関連付
けられているオブジェクトもすべて破棄しなければなりません。モデ
ルに割り当てられたメモリは、オブジェクトが破棄されるまで解放さ
れません。
例
次の例では、BuildModel 関数を使用して作成したパフォーマンス分析モ
デルを破棄します。
PowerScript リファレンス ボリューム 2
465
DirectoryExists
lpro_model.DestroyModel()
DESTROY lpro_model
関連項目
BuildModel
DirectoryExists
機能
指定されたディレクトリが存在しているかどうかを判定します。
構文
DirectoryExists ( directoryname )
引数
directoryname
説明
存在チェックをするディレクトリの名前を示す文字列を
指定します。
戻り値
ディレクトリが存在している場合は、true を返します。ディレクトリ
が存在していない場合、または directoryname 引数にファイル名を渡し
た場合は、false を返します。
解説
ほかのファイル システムのメソッドを使用してファイルの移動または
ディレクトリの削除を試みる際は、事前にこのメソッドを使用します。
例
次の例では、ファイルをディレクトリに移動する前に、そのディレク
トリが存在するかどうかを判定します。そのディレクトリが存在しな
い場合は、パスが存在しないというメッセージをメッセージ ボックス
に表示します。
string
ls_path="monthly targets"
If DirectoryExists ( ls_path ) Then
FileMove ("2000\may.csv", ls_path+"\may.csv" )
MessageBox (" ファイルマネージャ ", " ファイルは "&
+ ls_path + " に移動されました。")
Else
MessageBox (" ファイルマネージャ ", " ディレクトリ " +&
ls_path + " は存在しません。" )
End If
関連項目
466
FileMove
GetCurrentDirectory
RemoveDirectory
PowerBuilder
第 10 章
PowerScript 関数
DirList
機能
ファイルのリストをリストボックスに格納します。パス、マスク、ファ
イルの種類を指定して、表示するファイルの集合を制限することがで
きます。ウィンドウにスタティックテキスト コントロールがある場
合、DirList 関数を使用して現行のドライブとディレクトリも表示できま
す。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.DirList ( filespec, filetype {, statictext } )
引数
listboxname
filespec
filetype
説明
作成するリストボックスまたはドロップダウンリスト
ボックスの名前を指定します。
ファイル パターンを表す文字列を指定します。通常、*.INI
や *.TXT などのマスクを指定します。パスが指定された場
合、そのパスが現行のドライブとディレクトリになりま
す。
リストボックスに格納するファイルの種類を示す符号な
し整数を指定します。以下の種類があります。
• 0 - 読み取り / 書き込み可能なファイル
• 1 - 読み出し専用ファイル
• 2 - 隠しファイル
• 4 - システム ファイル
• 16 - サブディレクトリ
• 32 - アーカイブ ファイル(修正されたもの)
• 16384 - ドライブ
• 32768 - 読み取り / 書き込み可能なファイル以外
statictext
(オプション)
戻り値
ファイルの種類を複数指定するには、上記の種類を示す数
字を足し算します。たとえば、読み取り / 書き込み可能な
ファイル、サブディレクトリ、ドライブをリストに含める
には、filetype に 0+16+16384 または 16400 と指定します。
現行のドライブとディレクトリを表示するスタティック
テキスト コントロールの名前を指定します。
Boolean 型。検索パスが有効でリストボックスを作成できた場合、また
はファイル リストが空の場合には true を返します。リストボックスが
作成できなかった場合(filespec にディレクトリではなくファイルを指
定した場合、検索パスが無効だった場合など)には false を返します。
引数のいずれかの値が null の場合は、null を返します。
PowerScript リファレンス ボリューム 2
467
DirList
解説
DirLisr 関数を使用すると、ウィンドウが開いたときにリストボックスに
ファイル リストを表示することができます。DirList 関数を
SelectionChanged イベントのスクリプトに記述し、選択された項目に応
じてリストボックスを作成し直し、それを表示することもできます。
DirSelect 関数の例を参照してください。
ヒント
DirList 関数の機能を使用して標準の ファイルを開く ダイアログボック
スとファイルを保存する ダイアログボックスをエミュレートするこ
とができます。ただし、DirList 関数のかわりに GetFileOpenName 関数ま
たは GetFileSaveName 関数を使用すると、これらの標準的な Windows
機能がすべて提供されます。
例
次のステートメントは、C:\EMPLOYEE に存在し、ファイル拡張子が
TXT である読み出し / 書き込み可能なファイルのリストを表示するリ
ストボックス コントロール lb_emp を作成します。
lb_emp.DirList("C:\EMPLOYEE\*.TXT", 0)
次のステートメントは、C:\EMPLOYEE に存在し、ファイル拡張子が
DOC である読み出し専用ファイルのリストを表示するリストボック
ス コントロール lb_emp を作成し、スタティックテキスト コントロー
ル st_path にパスを表示します。
lb_emp.DirList("C:\EMPLOYEE\*.DOC", 1, st_path)
次の例は、ウィンドウの Open イベントに対するスクリプトです。現
行のディレクトリに存在する *.TXT に一致するすべてのファイルを表
示するリストボックスを作成し、リストボックスを表示します。
String s_filespec
s_filespec = "*.TXT"
lb_filelist.DirList(s_filespec, 16400, st_filepath)
関連項目
468
DirSelect
GetFolder
PowerBuilder
第 10 章
PowerScript 関数
DirSelect
機能
DirList 関数を使用して作成されたリストボックスにおいて、現在選択
されている項目を取得し、それを文字列変数に格納します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.DirSelect ( selection )
引数
listboxname
selection
説明
現在の選択内容を取得するリストボックス コントロール
の名前を指定します。ここで指定するリストボックスは
DirList 関数で作成したもので、選択内容はドライブ名、
ファイル名、ディレクトリ名のいずれかでなければなりま
せん。
選択されたパス名を格納する文字列変数を指定します。
戻り値
Boolean 型。ドライブ名またはディレクトリ名が選択されていて、下位
階層が存在する場合は、true を返します。ファイル名が選択されてい
て、下位階層が存在しない場合は、false を返します。引数のいずれか
の値が null の場合、null を返します。
解説
SelectionChanged イベントのスクリプトの中で DirSelect 関数を使用し
て選択内容を調べます。選択内容がドライブまたはディレクトリであ
る場合、その選択内容を DirList 関数の引数 filespec に設定して呼び出
し、リストボックスに表示します。
例
次の例は、リストボックス コントロール lb_FileList の SeletionChanged
イベントに対するスクリプトです。DirSelect 関数を使用して選択内容
がファイル名かどうかを調べています。ファイル名でなかった場合、
スクリプトはファイル パターンにディレクトリ名を追加し、DirList 関
数を使用してリストボックスを作成し、現行のドライブとディレクト
リ名をスタティックテキスト コントロール st_FilePath に表示します。
現行の選択内容がファイル名だった場合は、ファイル名の場合の処理
を実行します。
string ls_filename, ls_filespec = "*.TXT"
IF lb_FileList.DirSelect(ls_filename) THEN
// ls_filename がファイル名でない場合、
// ls_filespec にディレクトリを追加します。
ls_filename = ls_filename + ls_filespec
lb_filelist.DirList(ls_filename, &
16400, st_FilePath)
ELSE
PowerScript リファレンス ボリューム 2
469
Disable
... // ファイルの処理
END IF
関連項目
DirList
GetFolder
Disable
機能
メニュー項目を使用不可の状態にします。メニュー項目は淡色表示に
なり(通常はグレーなど、選択の無効を示す文字色に変わります)、選
択できなくなります。
対象
メニュー オブジェクト
構文
menuname.Disable ( )
引数
menuname
戻り値
説明
使用不可の状態にするメニュー項目の名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。menuname が null の場合、null を返します。
メニュー項目を使用不可の状態にするには、メニューの
Enable プロパティを false にする方法もあります。
別の記述方法
menuname.Enabled = false
たとえば、次のようなステートメントがあるとします。
m_appl.m_edit.Enabled = FALSE
このステートメントは、次のステートメントと同じ意味です。
m_appl.m_edit.Disable()
例
次の例では、メニュー m_appl 上のメニュー項目 m_edit を使用不可の状
態にします。
m_appl.m_edit.Disable()
関連項目
470
Enable
PowerBuilder
第 10 章
PowerScript 関数
DisableCommit
機能
コンポーネントのトランザクション更新に矛盾があり、現状ではコ
ミットできないことを宣言します。
対象
TransactionServer オブジェクト
構文
transactionserver.DisableCommit ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
DisableCommit 関数は、コンポーネントの作業が完了していないため、
現行のトランザクションがコミットできないことを表します。現行の
メソッドが復帰した後、インスタンスはアクティブな状態のままにな
ります。DisableCommit 関数は、EAServer における disallowCommit トラ
ンザクション プリミティブに相当します。
例
以下は、データベースの更新を実行するコンポーネントのメソッドに
おける DisableCommit 関数の使用例を示しています。
// インスタンス変数:
// DataStore ids_datastore
// TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", &
ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
ll_rv = ids_datastore.Update()
IF ll_rv = 1 THEN
ts.EnableCommit()
ELSE
ts.DisableCommit()
END IF
PowerScript リファレンス ボリューム 2
471
DisconnectObject
関連項目
EnableCommit
IsInTransaction
IsTransactionAborted
SetAbort
SetComplete
Which
DisconnectObject
機能
指定した OLEObject 変数に接続されたオブジェクトを解放します。
対象
OLEObject オブジェクト
構文
oleobject.DisconnectObject ( )
引数
oleobject
戻り値
説明
OLE オブジェクトから接続を解除する OLEObject 変数の
名前を指定します。OLE コントロールの Object プロパティ
である OLEObject を指定することはできません。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 呼び出しが無効です。引数は、コントロールの Object プロパ
ティです。
-9 そのほかのエラーです。
oleobject が null の場合、null を返します。
解説
OLEObject 変数は、OLE オートメーションに使用されます。つまり、
PowerBuilder のアプリケーションはサーバ アプリケーションに対して
プログラムどおりに OLE オブジェクトを処理するように指示します。
OLE のオートメーションについての詳細は、ConnectToObject 関数を参
照してください。
例
次の例では、OLEObject 変数を作成し、新しい Excel オブジェクトに接
続しています。そして、何らかの処理を行った後、接続を解除します。
integer result
OLEObject myoleobject
myoleobject = CREATE OLEObject
result = myoleobject.ConnectToNewObject( &
"excel.application")
472
PowerBuilder
第 10 章
PowerScript 関数
. . . // 何らかの処理
result = myoleobject.DisconnectObject()
関連項目
ConnectToObject
ConnectToNewObject
DisconnectServer
機能
クライアント アプリケーションをサーバ アプリケーションから接続
解除します。
対象
接続オブジェクト
構文
connection.DisconnectServer ( )
引数
connection
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
50
52
53
54
55
56
57
62
解説
説明
削除する接続を確立するために使用した接続オブジェク
トの名前を指定します。
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
サーバ アプリケーションから接続を解除した後、クライアント アプリ
ケーションは接続オブジェクトを破棄する必要があります。
DisconnectServer 関数は、クライアント接続のために作成されたリモー
ト オブジェクトとプロキシ オブジェクトをすべて破棄します。
例
次の例では、接続オブジェクト myconnect を使用して、クライアント
アプリケーションをサーバ アプリケーションから接続解除します。
myconnect.DisconnectServer()
destroy myconnect
関連項目
ConnectToServer
PowerScript リファレンス ボリューム 2
473
Double
Double
機能
文字列を Double 型に変換します。また、Blob 型データ内に格納されて
いる Double 型の値を取得します。
構文
Double ( stringorblob )
引数
stringorblob
戻り値
説明
Double 型に変換する文字列、または先頭が Double 型の値
である Blob 型データを指定します。残りの Blob 型の値は
無視されます。Stringorblob には、Double 型または Blob 型
を含む Any 変数を指定することもできます。
Double 型。stringorblob の内容を Double 型で返します。stringorblob に
指定された値が PowerScript で有効な数値でない場合、または一致しな
いデータ型を含む場合には、0 を返します。stringorblob が null の場合、
null を返します。
解説
値が数字の 0 である文字列と、値が数値以外である文字列とを区別す
るには、Double 関数を呼び出す前に IsNumber 関数を使用します。
例
次のステートメントは、24.372 を Double 型で返します。
Double("24.372")
次のステートメントは、シングルライン エディット コントロール
sle_distance の内容を Double 型で返します。
Double(sle_distance.Text)
次の例は、データベースから Blob 型データを lb_blob に割り当てた後、
Blob 型データの 20 番目にある Double 型の値を取得します。BlobMid 関
数で指定する長さは、
Double 型の値の長さ以上でなければなりません。
double lb_num
lb_num = Double(BlobMid(lb_blob, 20, 40))
Blob 型の変数にデータを代入する方法、および Blob 型の変数からデー
タを取り出す方法については、Real 関数の例を参照してください。
関連項目
474
Dec
Integer
Long
Real
PowerBuilder
第 10 章
PowerScript 関数
DoVerb
機能
OLE コントロールまたは OLE データウィンドウ オブジェクト内の
OLE オブジェクトに対して指定されたバーブを実行するよう、OLE
サーバ アプリケーションに要求します。
対象
OLE コントロール、OLE DWObject(データウィンドウ コントロール
のデータウィンドウ オブジェクトの中にあるオブジェクト)
構文
objectref.DoVerb ( verb )
引数
objectref
説明
バーブを実行する OLE コントロールの名前、またはデー
タウィンドウ コントロール上の OLE DWObject の完全な
名前を指定します。DWObject の名前は、次のような完全
な名前で指定します。
dwcontrol.Object.dwobjectname
verb
戻り値
OLE サーバ アプリケーションが登録しているバーブを識
別する Interger 型の値を指定します。バーブは、サーバが
OLE オブジェクトに対して実行できる処理です。サポート
されているバーブについては、サーバの OLE 実装のマニュ
アルを参照してください。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 コンテナが空です。
-2 オブジェクトに対するバーブが無効です。
-3 オブジェクトがバーブを実装していません。
-4 オブジェクトはいずれのバーブもサポートしていません。
-5 オブジェクトは現行バーブを実行できません。
-9 そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例では、OLE コントロール ole_1 内のオブジェクトに対してバー
ブ 7 を実行します。
integer result
result = ole_1.DoVerb(7)
次の例では、OLE DWObject ole_graph 内のオブジェクトに対してバー
ブ 7 を実行します。
integer result
result = dw_1.Object.ole_graph.DoVerb(7)
PowerScript リファレンス ボリューム 2
475
Drag
関連項目
Activate
『データウィンドウ リファレンス』マニュアルの OLEActivate
SelectObject
Drag
機能
コントロールのドラッグを開始したり、終了したりします。
対象
描画オブジェクト(直線、楕円、長方形、丸長方形)以外のすべての
コントロール
構文
control.Drag ( dragmode )
引数
control
dragmode
説明
コントロールの名前を指定します。指定されたコントロー
ルのドラッグを開始または中止します。
コントロールの動作を示す DragMode 型の値を指定しま
す。次のいずれかの値を指定します。
• Begin! - control をドラッグ モードにします。
• Cancel! - control のドラッグを中止します。ただし、
DragDrop イベントは発生しません。
• End! - control のドラッグを中止し、control がターゲッ
ト オブジェクトの上にある場合には DragDrop イベン
トを起動します。
戻り値
Integer 型。OLE コントロール以外のコントロールの場合、正常に終了
したときは 1 を返します。ドラッグ イベントをネストしようとした場
合、または control がドラッグ モードではないのにドラッグを中止しよ
うとした場合には、-1 を返します。通常、戻り値は使用されません。
OLE コントロールの場合、次の値を返します。
2 オブジェクトが移動されました。
1 ドラッグが中止されました。
0 ドラッグが正常終了しました。
-1 コントロールは空です。
-9 不明なエラーが発生しました。
引数のいずれかの値が null の場合、null を返します。
476
PowerBuilder
第 10 章
解説
PowerScript 関数
ドラッグ可能なコントロールを調べるには、オブジェクト ブラウザを
開きます。dragobject よりも下位階層にあるオブジェクトは、すべてド
ラッグ可能です。
コントロールの DragAuto プロパティが true の場合、エンド ユーザが
コントロールをクリックすると、PowerBuilder はコントロールを自動
的にドラッグ モードにします。エンド ユーザは、マウス ボタンを押
したままドラッグします。
コントロールの Clicked イベントの中で Drag(Begin!) 関数を使用して、
コントロールを手動でドラッグ モードにした場合、ユーザはマウスの
ボタンを押したままにしなくても、コントロールをドラッグすること
ができます。マウスの左ボタンをクリックすると、ドラッグが終了し
ます。CANCEL! や END! は、エンド ユーザがマウスの左ボタンをク
リックしなくてもドラッグを終了できるようにする場合にだけ必要に
なります。
データウィンドウ コントロールのドラッグ
データウィンドウ コントロールの Clicked イベントはマウス ボタンを
放したときではなく、マウス ボタンが押された時点で発生します。
Drag(Begin!) をデータウィンドウ コントロールの Clicked イベントに設
定すると、マウス ボタンを放した時点でドラッグが終了します。ほか
のコントロールで同じ効果を出すには、lbuttonup のデータウィンドウ
コントロールのユーザ イベントを定義して pbm_lbuttonup イベント ID
にマッピングします。それから下記のコードを lbuttonup イベント スク
リプト(ib_dragflag はブール インスタンス変数)に記述します。
IF NOT ib_dragflag THEN
this.Drag(Begin!)
ib_dragflag = TRUE
ELSE
ib_dragflag = FALSE
END IF
エンド ユーザがターゲット オブジェクト上にコントロールをドラッ
グしたときに何かを発生させるには、ターゲットのドラッグ イベント
(DragDrop、DragEnter、DragLeave、DragWithin)の 1 つまたは複数に
対するスクリプトを記述します。
例
次に、sle_emp をドラッグ モードにするステートメントを示します。
sle_emp.Drag(Begin!)
関連項目
DraggedObject
PowerScript リファレンス ボリューム 2
477
DraggedObject
DraggedObject
機能
ドラッグ イベントを起動したコントロールへの参照を返します。
関数仕様の変更
ドラッグ関連のイベントにおいて、DraggedObject 関数を呼び出す必要
がなくなりました。ドラッグされているオブジェクトを参照するには、
イベントのソースの引数を使用します。
構文
DraggedObject ( )
戻り値
DragObject という特殊なデータ型。ドラッグ可能なすべてのコント
ロール(描画オブジェクト以外のすべてのコントロール)を含みます。
現在ドラッグされているコントロールへの参照を返します。
コントロールがない場合
現在ドラッグされているコントロールがない場合には、実行エラー
メッセージが表示されます。
解説
ターゲット オブジェクトのドラッグ イベントに対するスクリプトの
中 で DraggedObject 関 数 を 呼 び 出 し ま す。ド ラ ッ グ イ ベ ン ト に は、
DragDrop イベント、DragEnter イベント、DragLeave イベント、および
DragWithin イベントがあります。
TypeOf 関数を使用してコントロールのデータ型を取得できます。コン
トロールのプロパティにアクセスする場合、そのコントロールのデー
タ型の変数に DraggedObject 関数から返されたコントロールの参照を
割り当てることができます。詳細については、
「例」を参照してくださ
い。
例
以下に、which_control を現在ドラッグされているコントロールと同じ
デ ー タ 型 に 設 定 し、そ の コ ン ト ロ ー ル の テ キ ス ト プ ロ パ テ ィ を
ls_text_value に設定するステートメントを示します。
SingleLineEdit sle_which
CommandButton cb_which
string ls_text_value
DragObject which_control
which_control = DraggedObject()
CHOOSE CASE TypeOf(which_control)
CASE CommandButton!
478
PowerBuilder
第 10 章
PowerScript 関数
cb_which = which_control
ls_text_value = cb_which.Text
CASE SingleLineEdit!
sle_which = which_control
ls_text_value = sle_which.Text
END CHOOSE
関連項目
Drag
TypeOf
Draw
機能
現行ウィンドウ内の指定した位置にピクチャ コントロールを描画し
ます。
対象
ピクチャ コントロール
構文
picture.Draw ( xlocation, ylocation )
引数
picture
xlocation
ylocation
説明
現行ウィンドウ内に描画したいピクチャ コントロールの
名前を指定します。
ピクチャを描画する位置の x 座標(PowerBuilder の PBU に
よる)を指定します。
ピクチャを描画する位置の y 座標(PowerBuilder の PBU に
よる)を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。通
常、戻り値は使用されません。
解説
Draw 関数を使用すると、ピクチャの X プロパティを連続的に変更して
いくよりも迅速でスムーズな描画を行うことができます。Draw 関数
は、変更のたびにピクチャを表す小さなウィンドウを再生成するので
はなく、ウィンドウに直接書き込みを行うからです。したがって、ア
ニメーションを描画する場合などに、この関数を使用します。
アニメーションを描画するには、ピクチャをウィンドウ上の見えない
領域に配置してから、Draw 関数を使用して別の位置に描きます。ただ
し、描画した箇所すべてに画像は残ります。位置を少しずつ変える場
合、それぞれの新しい描画は前の画像とほとんど重なります。
PowerScript リファレンス ボリューム 2
479
EditLabel
Draw 関数を使用しても、ピクチャ コントロールの位置は変更されませ
ん。指定した位置にコントロールの画像を表示するだけです。実際に
コントロールの位置を変更するには Move 関数を使用します。
例
次に、指定された X、Y 座標(100, 200)の位置にビットマップ p_Train
を描画するステートメントを示します。
p_Train.Draw(100, 200)
以下に、ビットマップ p_Train がウィンドウ内を移動しているように見
えるように、位置を変えながら連続的に描画するステートメントを示
します。
integer horizontal
FOR horizontal = 1 TO 2000 STEP 8
p_Train.Draw(horizontal, 100)
NEXT
関連項目
Move
EditLabel
リストビュー コントロールまたはツリービュー コントロール内のラ
ベルを編集モードにします。
ラベルを編集するコントロール
リストビュー コントロール
ツリービュー コントロール
使用する構文
構文 1
構文 2
構文 1
リストビュー コントロールのラベルを編集する
機能
リストビュー コントロール内のラベルを編集モードにします。
対象
リストビュー コントロール
構文
listviewname.EditLabel ( index )
引数
listviewname
index
480
説明
ラベルの編集を有効にするリストビュー コントロールを指定
します。
編集するリストビューの項目のインデックスを指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ラベルの編集を有効にするためには、リストビューの EditLabels プロ
パティを true に設定する必要があります。このプロパティが true のと
き、EditLabel 関数を呼び出すと項目にフォーカスが設定され、編集が
可能になります。ラベルの編集を終えた後に編集を無効にするには、
EndLabelEdit イベントで EditLabels プロパティを false に設定します。
EditLabels プロパティが false に設定されていると、EditLabel 関数を実
行しても編集が有効にはなりません。
例
次に、ユーザがリストビュー コントロール lv_1 内で選択されている最
初の項目のラベルを編集できるようにする例を示します。
integer li_selected
li_selected = lv_1.SelectedIndex()
lv_1.EditLabels = TRUE
lv_1.EditLabel(li_selected)
関連項目
FindItem
構文 2
ツリービュー コントロールのラベルを編集する
機能
ツリービュー コントロール内のラベルを編集モードにします。
対象
ツリービュー コントロール
構文
treeviewname.EditLabel ( itemhandle )
引数
treeviewname
itemhandle
説明
ラベルの編集を有効にするツリービュー コントロールを
指定します。
編集する項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ラベルの編集を有効にするためには、ツリービューの EditLabels プロ
パティを true に設定する必要があります。このプロパティが true のと
き、EditLabel 関数を呼び出すと項目にフォーカスが設定され、編集が
可能になります。ラベルの編集を終えた後に編集を無効にするには、
EndLabelEdit イベントで EditLabels プロパティを false に設定します。
EditLabels プロパティが false に設定されていると、EditLabel 関数を実
行しても編集が有効にはなりません。
PowerScript リファレンス ボリューム 2
481
Enable
例
次に、エンド ユーザが現行のツリービューの項目のラベルを編集でき
るようにする例を示します。
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
tv_list.EditLabels = TRUE
tv_list.EditLabel(ll_tvi)
関連項目
FindItem
Enable
機能
エンド ユーザが選択できるように、項目を使用可能な状態にします。
対象
メニュー オブジェクト
構文
menuname.Enable ( )
引数
menuname
説明
使用可能な状態にするメニュー項目の名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。menuname が null の場合、null を返します。
解説
メニュー項目を使用可能な状態にすると、項目の色はグレー表示では
なく、使用可能なアクティブな色になります。Enable 関数を呼び出す
と、項目の Enabled プロパティが true に設定されます。
メニューの Enabled プロパティを設定しても、Enable 関
数を呼び出したときと同じ結果が得られます。
別の記述方法
menuname.Enabled = TRUE
たとえば、次のようなステートメントがあるとします。
menu_appl.m_delete.Enabled = TRUE
このステートメントは、次のステートメントと同じ意味です。
menu_appl.m_delete.Enable()
例
次に、メニュー m_appl のメニュー項目 m_delete を使用可能な状態にす
るステートメントを示します。
m_appl.m_delete.Enable()
関連項目
482
Disable
PowerBuilder
第 10 章
PowerScript 関数
EnableCommit
機能
コンポーネントの作業は完了していない可能性があるが、トランザク
ション更新には矛盾がなく、コミットが可能であることを宣言します。
対象
TransactionServer オブジェクト
構文
transactionserver.EnableCommit ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
EnableCommit 関数は、現行のメソッドの起動後、コンポーネントを非
アクティブにしてはならないことを示します。ただし、コンポーネン
トのインスタンスが非アクティブ化されると、現行のトランザクショ
ンをコミットすることができます。EnableCommit 関数は、EAServer に
おける continueWork トランザクション プリミティブに相当します。
例
以下に、データベースの更新を実行するコンポーネントのメソッドに
おける EnableCommit 関数の使用例を示します。
// インスタンス変数:
// DataStore ids_datastore
// TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer",ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
ll_rv = ids_datastore.Update()
IF ll_rv = 1 THEN
ts.EnableCommit()
ELSE
ts.DisableCommit()
END IF
関連項目
DisableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetAbort
PowerScript リファレンス ボリューム 2
483
EntryList
SetComplete
Which
EntryList
機能
トレースツリー モデルに含まれているトップレベルのエントリのリ
ストを返します。
対象
TraceTree オブジェクト
構文
instancename.EntryList ( list )
引数
instancename
list
戻り値
解説
説明
TraceTree オブジェクトのインスタンス名を指定します。
TraceTreeNode データ型の可変長の配列変数を指定します。
EntryList 関数は、トレース ツリー モデルの各トップレベル
エントリの TraceTreeNode オブジェクトをこの配列変数に
保存します。この引数は、参照渡しされます。
ErrorReturn 型。次の値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しないため、関数は異常終了
しました。
EntryList 関数は、トレース ツリー モデルに含まれているトップレベル
のエントリまたはノードのリストを抽出します。リストされる各トッ
プレベルのエントリは、TraceTreeNode オブジェクトとして定義され、
ノードで表される種類の動作を提供します。
あらかじめ、BuildModel 関数でトレース ファイルからトレース ツリー
モデルを作成しておかなければなりません。
例
次に、トレース ツリー モデルのトップレベルのエントリまたはノード
を取得し、リスト内をループして各ノードに関する情報を抽出する例
を示します。of_dumpnode 関数は、TraceTreeNode オブジェクトとレベ
ルを引数として使用し、ノードに関する情報が入った文字列を返しま
す。
TraceTree ltct_model
TraceTreeNode ltctn_list[], ltctn_node
Long ll_index,ll_limit
String ls_line
484
PowerBuilder
第 10 章
PowerScript 関数
ltct_model = CREATE TraceTree
ltct_model.BuildModel()
ltct_model.EntryList(ltctn_list)
ll_limit = UpperBound(ltctn_list)
FOR ll_index = 1 TO ll_limit
ltctn_node = ltctn_list[ll_index]
ls_line += of_dumpnode(ltctn_node,0)
NEXT
...
関連項目
BuildModel
ExecRemote
DDE サーバ アプリケーションに対して、指定されたコマンドを実行す
るように要求します。
目的
1 つのコマンドを DDE サーバ アプリケーションに送信
する(コールド リンク)
チャネルを開いた後、コマンドを DDE サーバ アプリ
ケーションに送信する(ウォーム リンク)
使用する構文
構文 1
構文 2
構文 1
1 つのコマンドを送信する
機能
1 つのコマンドを DDE サーバ アプリケーションに送信します。これを
コールド リンクといいます。
構文
ExecRemote ( command, applname, topicname )
引数
command
applname
topicname
PowerScript リファレンス ボリューム 2
説明
String 型の値。DDE サーバ アプリケーションが実行するコ
マンドを指定します。コマンドの形式については、サーバ
アプリケーションのマニュアルを参照してください。
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
String 型の値。コマンドで使用するデータまたは DDE アプ
リケーションのインスタンスを指定します。たとえば
Microsoft Excel の場合、この引数には "system"、または開
かれているスプレッドシートの名前を指定します。
485
ExecRemote
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合は、以下の負の整数のいずれかを返します。
-1
-2
-3
リンクは開始されていません。
リクエストが拒否されました。
サーバを終了することはできません。
引数のいずれかの値が null の場合、ExecRemote は null を返します。
解説
DDE 関数を呼び出す前に、DDE サーバ アプリケーションを実行して
おく必要があります。必要であれば、Run 関数を使用してアプリケー
ションを開始します。
ExecRemote 関数を使用すると、PowerBuilder クライアント アプリケー
ションと DDE サーバ アプリケーションとの間で、コールド リンクを
開始できるようになります。また、ウォーム リンクも使用できるよう
になります。
コールド リンクは、単一の DDE コマンドで、DDE チャネルには関連
付けられません。チャネルを開かずに ExecRemote 関数(構文 1)を呼
び出すと、Windows はそのたびに実行中のすべてのアプリケーション
をポーリングし、リクエストに応答するアプリケーションを検索しま
す。これは、関連する GetRemote 関数と SetRemote 関数の場合も同様
です。
ウォーム リンクは、DDE チャネルに関連付けられます。詳細について
は、構文 2 を参照してください。
DDE ホット リンクを使用すると、PowerBuilder クライアント アプリ
ケーションでデータを自動的に更新できるようになります。DDE ホッ
ト リンクには、ほかの関数も必要です。詳細については、StartHotLink
関数を参照してください。
例
次のステートメントは、Microsoft Excel に対するチャネルに、アクティ
ブ スプレッドシートを REGION.XLS というファイル名で保存するよ
うに設定しています。チャネルが開かれていないため、関数の引数に
はアプリケーションとトピック(スプレッドシートの名前)を指定し
ます。
ExecRemote("[Save()]", "Excel", "REGION.XLS")
関連項目
486
CloseChannel
GetRemote
OpenChannel
SetRemote
StartHotLink
PowerBuilder
第 10 章
PowerScript 関数
構文 2
開いているチャネルにコマンドを送信する
機能
すでに OpenChannel 関数を呼び出し、サーバとの間にウォーム リンク
を確立しているときに、DDE サーバ アプリケーションにコマンドを送
信します。
構文
ExecRemote ( command, handle {, windowhandle } )
引数
command
handle
windowhandle
(オプション)
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合は、以下の負の整数のいずれかを返します。
-1
-2
-9
解説
説明
String 型の値。DDE サーバ アプリケーションが実行するコ
マンドを指定します。コマンドの形式は、コマンドを実行
する DDE アプリケーションによって異なります。
Long 型の値。DDE サーバ アプリケーションに対するチャ
ネルを指定します。OpenChannel 関数を呼び出して DDE
チャネルを開くと、この引数に指定された値が返されます。
DDE クライアントとして機能させるウィンドウに対する
ハンドルを指定します。複数のウィンドウを開いていると
きに、DDE クライアントとして機能させるウィンドウを
指定するために使用します。windowhandle が指定されてい
ない場合、アクティブ ウィンドウは DDE クライアントと
して機能します。
リンクは開始されていません。
リクエストが拒否されました。
handle が null です。
DDE 関数を呼び出す前に、DDE サーバ アプリケーションを実行して
おく必要があります。必要であれば、Run 関数を使用してアプリケー
ションを開始します。
ExecRemote 関数を使用すると、PowerBuilder クライアント アプリケー
ションと DDE サーバ アプリケーションとの間で、コールド リンクを
開始できるようになります。また、ウォーム リンクを使用できるよう
にもなります。
コールド リンクは、単一の DDE コマンドで、DDE チャネルには関連
付けられません(構文 1 参照)。
PowerScript リファレンス ボリューム 2
487
ExecRemote
ウォーム リンクは、DDE チャネルに関連付けられます。ExecRemote 関
数の構文 2 を使用してコマンドを送信する前に、OpenChannel 関数を使
用して DDE 対話のチャネルを構築します。ウォーム リンクは、複数
のコマンドを DDE サーバ アプリケーションに送信する必要がある場
合に便利です。チャネルが開かれているため、ExecRemote 関数は、実
行中のすべてのアプリケーションに対してポーリングを要求する必要
がありません。ExecRemote 関数、GetRemote 関数、または SetRemote 関
数を呼び出した後、DDE サーバでの処理が終了したら、CloseChannel
関数を呼び出して DDE 対話を終了します。
DDE ホット リンクを使用すると、PowerBuilder クライアント アプリ
ケーションでデータを自動的に更新できるようになります。DDE ホッ
ト リンクには、ほかの関数も必要です。詳細については、StartHotLink
関数を参照してください。
例
次の例は、スクリプトの一部です。Microsoft Excel に対する DDE チャ
ネルに対して、アクティブ スプレッドシートを REGION.XLS という
ファイル名で保存するように要求します。OpenChannel 関数でサーバ
アプリケーションとトピックの名前を設定しているので、ExecRemote
関数ではチャネルのハンドルだけを指定します。このスクリプトは
ウィンドウ上のボタンに関連付けられていて、そのウィンドウのハン
ドルが OpenChannel 関数の最後の引数として指定されています。
long handle
handle = OpenChannel("Excel", "REGION.XLS", &
Handle(Parent))
. . . // 何らかの処理
ExecRemote("[Save]", handle)
CloseChannel(handle, Handle(Parent))
関連項目
488
CloseChannel
GetRemote
OpenChannel
SetRemote
PowerBuilder
第 10 章
PowerScript 関数
Exp
機能
e の累乗を返します。
構文
Exp ( n )
引数
n
戻り値
説明
e(2.71828)の乗数を指定します。
Double 型。e の n 乗を返します。n が null の場合、null を返します。
Exp の逆関数
Exp 関数の逆関数は Log 関数です。
例
次に、7.38905609893065 を返すステートメントを示します。
Exp(2)
以下に、自然対数(底 e)を通常の数値に変換するステートメントを
示します。実行後、Exp 関数は value に 200 を代入します。
double value, x = log(200)
value = Exp(x)
関連項目
Log
LogTen
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Exp メソッド
ExpandAll
機能
指定された項目とそのすべての下位項目を展開します。
対象
ツリービュー コントロール
構文
treeviewname.ExpandAll ( itemhandle )
引数
treeviewname
itemhandle
戻り値
説明
項目、および階層構造でその項目の下位にあるすべての項
目を展開するツリービュー コントロールを指定します。
展開する項目のハンドルを指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
489
ExpandItem
解説
TreeViewItem 内のすべてのレベルを展開するには、RootTreeItem ハン
ドルを ExpandAll 関数の引数として使用します。
例
次に、ツリービュー コントロールのすべてのレベルを展開する例を示
します。
long ll_tvi
ll_tvi = tv_list.FindItem(RootTreeItem! , 0)
tv_list.ExpandAll(ll_tvi)
関連項目
CollapseItem
ExpandItem
FindItem
ExpandItem
機能
指定された項目を展開します。
対象
ツリービュー コントロール
構文
treeviewname.ExpandItem ( itemhandle )
引数
treeviewname
itemhandle
説明
項目を展開するツリービュー コントロールを指定します。
展開する項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ExpandItem 関数は、1 つの項目だけを展開します。指定された項目とそ
の下位項目を展開するには、ExpandAll 関数を使用します。
例
次に、ツリービュー コントロールの現行のレベルを展開する例を示し
ます。
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem! , 0)
tv_list.ExpandItem(ll_tvi)
関連項目
490
CollapseItem
ExpandAll
FindItem
PowerBuilder
第 10 章
PowerScript 関数
Fact
機能
数値の階乗を返します。
構文
Fact ( n )
引数
n
説明
階乗を求める数値を指定します。
戻り値
Double 型。n の階乗を返します。n が null の場合、null を返します。
例
次のステートメントは、24(つまり、1 * 2 * 3 * 4)を返します。
Fact(4)
次の 2 つのステートメントは、どちらも 1 を返します。
Fact(1)
Fact(0)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Fact メソッド
FileClose
機能
指定したファイル番号に関連付けられているファイルを閉じます。
ファイル番号は、FileOpen 関数によってファイルに割り当てられます。
構文
FileClose ( file# )
引数
file#
説明
閉じるファイルに割り当てられた Integer 型の値を指定し
ます。FileOpen 関数は、ファイルを開くときにそれぞれの
ファイル番号を返します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。file# が null の場合、null を返します。
解説
ファイルは、開いたときのエンコーディング形式で保存されます。
例
次に、EMPLOYEE.DAT ファイルを開き、何か処理を行った後で閉じ
る例を示します。FileOpen 関数がファイルを開いたときに割り当てた
値を、変数 li_FileNum に格納します。FileClose 関数は、この値を使用
してファイルを閉じます。
integer li_FileNum
PowerScript リファレンス ボリューム 2
491
FileCopy
li_FileNum = FileOpen("EMPLOYEE.DAT")
. . . // 何らかの処理
FileClose(li_FileNum)
関連項目
FileLength
FileOpen
FileReadEx
FileWriteEx
FileCopy
機能
あるファイルを別のファイルにコピーします。オプションで、コピー
先のファイルを上書きすることもできます。
構文
FileCopy ( sourcefile, targetfile {, replace } )
引数
sourcefile
targetfile
replace
(オプション)
戻り値
説明
コピーするファイルの名前を示す文字列を指定します。
コピー先とするファイルの名前を示す文字列を指定します。
Boolean 型の値。コピー先のファイルを上書きする(true)
か、しない(false)かを指定します。
Integer 型。以下のいずれかの値を返します。
1 - 正常に終了しました。
-1 - sourcefile を開くときにエラーが発生しました。
-2 - targetfile に書き込むときにエラーが発生しました。
解説
sourcefile または targetfile に絶対パス名を指定しないと、関数は現行
ディレクトリからの相対パスに対して処理を実行します。replace 引数
が指定されていない場合、ターゲット ディレクトリ内のファイルのな
かに targetfile 引数に指定されている名前と同じ名前のファイルがあっ
ても、FileCopy 関数はそのファイルを上書きしません(この場合、replace
の値を false に設定したときと同じ結果になります)。
例
次に、現行ディレクトリのファイルを別のディレクトリにコピーして、
その戻り値を変数に格納する例を示します。ターゲット ディレクトリ
内に同じ名前のファイルがすでに存在している場合、そのファイルは
上書きされません。
integer li_FileNum
li_FileNum = FileCopy ("jazz.gif" , &
"C:\emusic\jazz.gif", FALSE)
492
PowerBuilder
第 10 章
関連項目
PowerScript 関数
FileMove
GetCurrentDirectory
FileDelete
機能
指定した名前のファイルを削除します。
構文
FileDelete ( filename )
引数
filename
説明
削除するファイルの名前を表す文字列を指定します。
戻り値
Boolean 型。正常に終了した場合は true を返し、エラーが発生した場合
は false を返します。filename が null の場合、null を返します。
例
次のステートメントは、ファイルを開く ダイアログボックスでエンド
ユーザが選択したファイルを削除します。
integer ret, value
string docname, named
value = GetFileOpenName(" ファイルを選択 ," &
docname, named, "DOC", &
"Doc Files (*.DOC),*.DOC")
IF value = 1 THEN ret = MessageBox(" 削除 ", &
" ファイルを削除しますか ?", Question!, OKCancel!)
IF ret = 1 THEN FileDelete(docname)
関連項目
FileExists
FileEncoding
機能
指定されたファイルのエンコーディング形式をチェックします。
構文
FileEncoding ( filename )
引数
filename
PowerScript リファレンス ボリューム 2
説明
エンコーディングの種類を調べるファイルの名前を指定し
ます。
493
FileEncoding
戻り値
Encoding カタログ データ型の値。値は以下のとおりです。
EncodingANSI!
EncodingUTF8!
EncodingUTF16LE!
EncodingUTF16BE!
filename が存在しない場合、null を返します。
解説
PowerBuilder アプリケーションで外部ファイルを使用する前に、その
ファイルのエンコーディング形式を確認する場合に使用します。
例
次の例は、ファイルをストリーム モードで開き、ANSI エンコーディ
ングが使用されているかどうかを確認します。使用されている場合、
ファイルのデータを Blob 型に読み込み、String 関数を使用して Blog 型
のデータを Unicode 文字列に変換します。
long ll_filenum
integer li_bytes
string ls_unicode
blob lb_ansi
encoding eRet
ll_filenum = FileOpen("employee.dat",StreamMode!,
Read!, LockWrite!, Replace!)
// ファイルのエンコーディング形式を確認します。
eRet = FileEncoding("employee.dat")
if eRet = EncodingANSI! then
li_ bytes = FileReadEx(ll_filenum, lb_ansi)
ls_unicode = string(lb_ansi, EncodingANSI!)
else
li_ bytes = FileReadEx(ll_filenum, ls_unicode)
end if
FileClose(ll_filenum)
関連項目
494
Blob
FileClose
FileOpen
FileReadEx
FileWriteEx
String
PowerBuilder
第 10 章
PowerScript 関数
FileExists
機能
指定されたファイルが存在するかどうかを調べます。
構文
FileExists ( filename )
引数
filename
説明
ファイルの名前を表す文字列を指定します。
戻り値
Boolean 型。ファイルが存在する場合は true を返し、ファイルが存在し
ない場合には false を返します。filename が null の場合、null を返します。
解説
共有違反しているほかのアプリケーションによって filename がロック
されている場合、FileExists 関数は false を返します。
例
次に、ファイル名を付けて保存 ダイアログボックスでエンド ユーザが
選択したファイルが存在するかどうかを確認する例を示します。存在
している場合、そのファイルを書き換えてもよいかどうかを問い合わ
せます。
string ls_docname, ls_named
integer li_ret
boolean lb_exist
GetFileSaveName(" ファイルを選択 ," ls_docname, &
ls_named, "pbl", &
"Doc Files (*.DOC),*.DOC")
lb_exist = FileExists(ls_docname)
IF lb_exist THEN li_ret = MessageBox(" 保存 ", &
ls_docname + " を上書きしますか ?", &
Question!, YesNo!)
関連項目
FileDelete
FileLength
機能
サイズが 2GB までのファイルの長さをバイト数で返します。
構文
FileLength ( filename )
PowerScript リファレンス ボリューム 2
495
FileLength
引数
filename
説明
ファイル名を表す文字列を指定します。このファイルの長
さを取得します。現行のアプリケーションのライブラリ探
索 パ ス に 存 在 し な い フ ァ イ ル を 指 定 す る 場 合 に は、
filename に絶対パス名を指定する必要があります。
戻り値
Long 型。filename で指定されたファイルの長さを返します。ファイル
が存在しなかった場合、-1 を返します。filename が null の場合、null を
返します。
解説
FileRead 関数を呼び出す前にファイルの長さを確認するには、FileOpen
関数を呼び出す前後に FileLength 関数を呼び出してください。FileRead
関数は、一度に 32,765 バイトまでしか読み込むことができません。
FileLength 関数が返す長さには、必ずバイト オーダー マーク(BOM:
Byte-Order Mark)が含まれます。たとえば、SomeFile.txt ファイルの 16
進表示が FF FE 54 00 68 00 69 00 73 00 であるとします。この場合、次の
ステートメントは、BOM を含めた 10 を返します。
ll_length = FileLength("SomeFile.txt")
ファイル セキュリティ
ファイルにセキュリティが設定されている場合(たとえばネットワー
ク上でファイルを共有している場合など)、FileOpen 関数を呼び出す
前、または FileClose 関数を呼び出した後に FileLength 関数を使用しま
す。それ以外で呼び出すと、共有違反が発生します。
FileLength 関数は、サイズが 2GB を超えるファイルの長さを返すことが
できません。2GB を超えるファイルの長さを調べるには、FileLength64
を使用します。
例
次のステートメントは、現行ディレクトリ内の EMPLOYEE.DAT ファ
イルの長さを返します。
FileLength("EMPLOYEE.DAT")
以下に、EAST ディレクトリ内の EMP.TXT ファイルの長さを返してそ
のファイルを開くステートメントを示します。
long LengthA
integer li_FileNum
LengthA = FileLength("C:\EAST\EMP.TXT")
li_FileNum = FileOpen("C:\EAST\EMP.TXT", &
TextMode!, Read!, LockReadWrite!)
496
PowerBuilder
第 10 章
PowerScript 関数
32,765 バイトを超える長さのファイルを読み込む方法については、
FileRead 関数の例を参照してください。
関連項目
FileClose
FileLength64
FileOpen
FileReadEx
FileWriteEx
FileLength64
機能
任意のサイズのファイルの長さをバイト数で返します。
構文
FileLength64 ( filename )
引数
filename
説明
ファイル名を表す文字列を指定します。このファイルの長
さを取得します。現行のアプリケーションのライブラリ探
索 パ ス に 存 在 し な い フ ァ イ ル を 指 定 す る 場 合 に は、
filename に絶対パス名を指定する必要があります。
戻り値
LongLong 型。filename で指定されたファイルの長さを返します。ファ
イルが存在しなかった場合、-1 を返します。filename が null の場合、null
を返します。
解説
FileRead 関数を呼び出す前にファイルの長さを確認するには、FileOpen
関 数 を 呼 び 出 す 前 後 に FileLength64 関 数 を 呼 び 出 し て く だ さ い。
FileRead 関数は、一度に 32,765 バイトまでしか読み込むことができま
せん。32,765 バイトより長いファイルを読み込むには、FileReadEx 関
数を使用します。
FileLength64 関数が返す長さには、必ずバイト オーダー マーク(BOM:
Byte-Order Mark)が含まれます。たとえば、SomeFile.txt ファイルの 16
進表示が FF FE 54 00 68 00 69 00 73 00 であるとします。この場合、次の
ステートメントは、BOM を含めた 10 を返します。
ll_length = FileLength64("SomeFile.txt")
PowerScript リファレンス ボリューム 2
497
FileMove
ファイル セキュリティ
ファイルにセキュリティが設定されている場合(たとえばネットワー
ク上でファイルを共有している場合など)、FileOpen 関数を呼び出す
前、または FileClose 関数を呼び出した後に FileLength64 関数を使用しま
す。それ以外で呼び出すと、共有違反が発生します。
例
次のステートメントは、現行ディレクトリ内の EMPLOYEE.DAT ファ
イルの長さを返します。
FileLength64("EMPLOYEE.DAT")
以下に、EAST ディレクトリ内の EMP.TXT ファイルの長さを返してそ
のファイルを開くステートメントを示します。
long LengthA
integer li_FileNum
LengthA = FileLength64("C:\EAST\EMP.TXT")
li_FileNum = FileOpen("C:\EAST\EMP.TXT", &
LineMode!, Read!, LockReadWrite!)
32,765 バイトを超える長さのファイルを読み込む方法については、
FileRead 関数の例を参照してください。
関連項目
FileClose
FileLength
FileOpen
FileReadEx
FileWriteEx
FileMove
機能
ファイルを移動します。
構文
FileMove ( sourcefile, targetfile )
引数
sourcefile
targetfile
戻り値
説明
移動するファイルの名前を示す文字列を指定します。
ファイルの移動先とする場所を示す文字列を指定します。
Integer 型。以下のいずれかの値を返します。
1 - 正常に終了しました。
-1 - sourcefile を開くときにエラーが発生しました。
498
PowerBuilder
第 10 章
PowerScript 関数
-2 - targetfile に書き込むときにエラーが発生しました。
解説
ターゲット ディレクトリ内に同じ名前のファイルがすでに存在して
いる場合、そのターゲット ファイルへの書き込みはできません。ター
ゲット ファイルを上書きするには、FileCopy を使用して replace 引数を
true に設定します。
例
次に、現行ディレクトリのファイルを別のディレクトリに移動して、
その戻り値を li_FileNum 変数に格納する例を示します。
integer li_FileNum
li_FileNum = FileMove ("june.csv", &
"H:\project\june2000.csv" )
関連項目
FileCopy
GetCurrentDirectory
FileOpen
機能
読み取りまたは書き込みのために指定されたファイルを開き、ファイ
ルに整数の識別子(ファイル番号)を割り当てます。このファイル番
号は、ファイルを読み取る、ファイルに書き込む、ファイルを閉じる
などの作業を行う場合に使用されます。filemode、fileaccess、filelock、
writemode の各引数は省略することもできます。これらの引数は、ファ
イルを開くモードを指定する場合に使用します。
構文
FileOpen ( filename {, filemode {, fileaccess {, filelock {, writemode
{ encoding }}}}} )
引数
filename
filemode
(オプション)
説明
String 型の値。開くファイルの名前を指定します。現行ディ
レクトリの相対検索パスの中に存在しないファイル名を
指定する場合には、絶対パス名を指定する必要がありま
す。
FileMode カタログ データ型の値。ファイルの読み込みと
書き込みをどこまで行うかを指定します。値は以下のとお
りです。
• LineMode! -(デフォルト)ファイルの読み込みと書き
込みを一度に 1 行ずつ行います。
• StreamMode! - バイナリ データをブロック単位で読み
込みます。
• TextMode! - テキストをブロック単位で読み込みます。
詳細については、「解説」を参照してください。
PowerScript リファレンス ボリューム 2
499
FileOpen
引数
fileaccess
(オプション)
説明
FileAccess カタログ データ型の値。ファイルを読み込み専
用で開くのか、書き込み専用で開くのかを指定します。値
は以下のとおりです。
• Read! -(デフォルト)読み込み専用アクセス
• Write! - 書き込み専用アクセス
filelock
(オプション)
引数 fileaccess が Write! に設定されていれば、指定された
ファイルが見つからない場合に新しいファイルが作成さ
れます。
FileLock カタログ データ型の値。開いたファイルに、ほか
のエンド ユーザもアクセスできるかどうかを指定します。
値は以下のとおりです。
• LockReadWrite! -(デフォルト)ファイルを開いたエン
ド ユーザだけに、アクセス権を与えます。
• LockRead! - ファイルを開いたエンド ユーザだけに、読
み込みの権限を与えます。書き込みの権限は、すべての
エンド ユーザに与えられます。
• LockWrite! - ファイルを開いたエンド ユーザだけに、
書き込みの権限を与えます。読み込みの権限は、すべて
のエンド ユーザに与えられます。
writemode
(オプション)
• Shared! - すべてのエンド ユーザに、読み込みと書き込
みの権限を与えます。
WriteMode カタログ データ型の値。fileaccess が Write! の場
合には、ファイル内の既存のデータを上書きするかどうか
を指定します。値は以下のとおりです。
• Append! -(デフォルト)データをファイルの最後に書
き込みます。
• Replace! - ファイル内の既存のデータを上書きします。
encoding
fileaccess が Read! の場合、writemode に設定された値は無
視されます。
作成するファイルの文字エンコーディングを指定します。
この引数は、テキスト モードまたはライン モードで新し
いテキスト ファイルを作成する場合に指定します。エン
コーディングが指定されていない場合、ファイルは ANSI
エンコーディングで作成されます。値は以下のとおりで
す。
• EncodingANSI!(デフォルト)
• EncodingUTF8!
• EncodingUTF16LE!
• EncodingUTF16BE!
500
PowerBuilder
第 10 章
戻り値
PowerScript 関数
Integer 型。正常に終了した場合、filename に指定されたファイルに割
り当てられているファイル番号を返します。エラーが発生した場合、-1
を返します。引数のいずれかの値が null の場合、FileOpen は null を返し
ます。
解説
ファイルを開くときのモードによって、ファイルの読み書きに使用さ
れる関数の動作が決まります。ファイルからデータを読み込む関数は、
FileRead と FileReadEx の 2 つです。ファイルにデータを書き込む関数
は、FileWrite と FileWriteEx の 2 つです。FileRead と FileWrite には、読み
込みまたは書き込みできるデータ量に制限があります。これらの関数
は下位互換性を保証するために残されています。また、テキスト モー
ドをサポートしません。詳細については、FileRead と FileWrite を参照し
てください。
FileReadEx と FileWriteEx 関数で Blob 型と String 型のデータを読み書き
できるかどうかは、モードによって異なります。次の表に、各モード
でサポートされているデータ型を示します。
表 0-2: モードによる FileReadEx と FileWriteEx のデータ型のサポート
モード
ライン
ストリーム
テキスト
Blob 型
サポートされていない
サポートされている
サポートされている
String 型
サポートされている
サポートされていない
サポートされている
ファイルがライン モードで開かれている場合に FileReadEx 関数を呼び
出すと、キャリッジ リターン(CR)、ライン フィード(LF)、エンド
オブ ファイル マーク(EOF)が検出されるまで、そのたびに読み取り
が行われます。FileWriteEx 関数を呼び出すと、書き込んだ文字列の最後
に CR と LF が追加されます。
ファイルがストリーム モードで開かれている場合に FileReadEx 関数を
呼び出すと、ファイル全体が読み取られます。つまり、EOF が検出さ
れるまで、またはオプションのパラメータで指定した長さまでデータ
が読み取られます。FileWriteEx は、String 型または Blob 型変数に格納
されたすべてのデータを書き込むか、オプションのパラメータで指定
した長さまでデータを書き込みます。
オプションの length パラメータは、Blob 型のデータだけに適用されま
す。第 2 パラメータのデータ型が String 型の場合に length パラメータ
を指定すると、コードはコンパイルされません。
ANSI、UTF-16、および UTF-8 ファイルは、どのモードでも読み込み
できます。
PowerScript リファレンス ボリューム 2
501
FileOpen
ストリーム モードとテキスト モードでは、動作がよく似ています。た
だし、ストリーム モードはバイナリ ファイル、テキスト モードはテ
キスト ファイルでの使用を目的としています。ストリーム モードで既
存のファイルを開くと、データの次の読み取り開始位置を指すファイ
ルの内部ポインタが、ファイルの先頭バイトに設定されます。
バイト オーダー マーク(BOM: Byte-Order Mark)は、データ ストリー
ムの先頭にある文字コードであり、Unicode ファイルで使用されている
エンコーディング形式を示します。UTF-8 の場合、BOM は EF BB BF
という 3 バイトの値です。UTF-16 の場合、BOM はリトル エンディア
ン(LE)では FF FE、ビッグ エンディアン(BE)では FE FF という 2
バイトの値です。
テキスト モードで既存のファイルを開くと、ファイルの内部ポインタ
がファイルのエンコーディングに基づいて設定されます。
•
エンコーディングが ANSI の場合、ポインタは先頭バイトに設定さ
れます。
•
エンコーディングが UTF-16LE または UTF-16BE の場合、ポイン
タは BOM の直後の 3 番目のバイトに設定されます。
•
エンコーディングが UTF-8 の場合、ポインタは BOM の直後の 4
番目のバイトに設定されます。
オプションの encoding 引数を指定し、既存のファイルがその引数に指
定されたエンコーディングでない場合、FileOpen は -1 を返します。
ファイルが見つからない場合
引数 fileaccess が Write! に設定されていれば、ファイルが見つからな
い場合、PowerBuilder は新しいファイルを作成し、作成したファイル
に指定された名前を付けます。引数が Write! に設定されていなければ、
FileOpen は -1 を返します。
オプションの encoding 引数が指定されず、ファイルが存在しない場合、
ANSI エンコーディングでファイルが作成されます。
FileOpen を使用して新しいテキスト ファイルを作成する場合は、ライ
ン モードかテキスト モードで行います。encoding のパラメータを指定
すると、BOM は指定されたエンコーディングに基づいてファイルに書
き込まれます。
ストリーム モードで新しいバイナリ ファイルを作成する場合、encoding
パラメータを指定しても無視されます。
502
PowerBuilder
第 10 章
例
PowerScript 関数
次に、デフォルトの引数を使用して EMPLOYEE.DAT ファイルを開く
例を示します。デフォルトの設定は、LineMode!、Read!、LockReadWrite!、
および EncodingANSI! です。FileReadEx 関数は、ファイルを 1 行ずつ
読み取ります。ファイルが閉じるまで、ほかのエンド ユーザはその
ファイルにアクセスできません。
integer li_FileNum
li_FileNum = FileOpen("EMPLOYEE.DAT")
次に、DEPT ディレクトリの EMPLOYEE.DAT ファイルを書き込み専
用アクセス(Write!)のためにストリーム モード(StreamMode!)で開
く例を示します。既存のデータは上書きされます(Replace!)。ほかの
エンド ユーザは、ファイルに書き込むことができません(LockWrite!)
。
integer li_FileNum
li_FileNum = FileOpen("C:\DEPT\EMPLOYEE.DAT", &
StreamMode!, Write!, LockWrite!, Replace!)
次に、UTF8 エンコーディングを使用する新しいファイルを作成する例
を示します。このファイルは、new.txt という名前で D:\temp ディレク
トリに作成されます。テキスト モードで書き込み専用に開かれるの
で、ほかのエンド ユーザはファイルを読み書きできません。
integer li_ret
string ls_file
ls_file = "D:\temp\new.txt"
li_ret = FileOpen(ls_file, TextMode!, Write!, &
LockReadWrite!, Replace!, EncodingUTF8!)
関連項目
FileClose
FileLength64
FileRead
FileReadEx
FileWrite
FileWriteEx
FileRead
機能
指定されたファイル番号に関連付けられたファイルのデータを読み込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。FileRead 関数は下位互換性を保証するために残されていま
す。新規開発の場合は FileReadEx 関数を使用します。
構文
FileRead ( file#, variable )
PowerScript リファレンス ボリューム 2
503
FileRead
引数
file#
variable
戻り値
説明
ファイルが開かれたときにファイルに割り当てられた
Integer 型の値を指定します。
String 型または Blob 型の変数の名前を指定します。この変
数にデータを読み込みます。
Integer 型。
読み込んだバイト数を返します。データを読み取る前に EOF
が 検 出 さ れ た 場 合、-100 を 返 し ま す。フ ァ イ ル が ラ イ ン モ ー ド
(LineMode!)で開かれていて、データを読み取る前に CR または LF が
検出された場合、0 を返します。エラーが発生した場合、-1 を返しま
す。引数のいずれかの値が null の場合は、null を返します。ファイルの
長さが 32,765 バイトを超える場合、32,765 を返します。
解説
FileRead 関数は、ANSI、UTF-8、UTF-16LE、および UTF-16BE エンコー
ディングのファイルを読み込むことができます。
ANSI ま た は UTF-8 フ ァ イ ル を String 型 の 変 数 に 読 み 込 む 場 合、
FileRead 関数は、テキストを Unicode に変換してから String 型の変数に
保 存 し ま す。UTF-16 フ ァ イ ル の 場 合 は、変 換 は 必 要 あ り ま せ ん。
Unicode ファイルの場合、BOM は文字列に書き込まれません。
ファイルを Blob 型の変数に読み込む場合、FileRead 関数はファイルの
内容を変換せずに保存します。Unicode ファイルの場合、BOM は、テ
キスト モードでは Blob 型データに書き込まれませんが、ストリーム
モードでは書き込まれます。
ファイルがラインモード(LineMode!)で開かれていた場合、CR、LF、
または EOF が検出されるまで、この関数はファイルの次の行を読み取
ります。読み取った行の内容は指定した変数に格納され、CR や LF を
スキップし、ファイル ポインタを次の行の先頭に置きます。第 2 引数
が Blob 型の場合、FileRead 関数は -1 を返します。
ファイルがテキスト モードで開かれていた場合、-1 を返します。テキ
スト モードでファイルを読み込むには、FileReadEx 関数を使用してく
ださい。
ファイルがストリーム モード(StreamMode!)で開かれていた場合に
は、この関数はファイルの最後まで、または次の 32,765 バイトまでの
どちらか短いほうまで読み取ります。ファイルが読み取り用に開かれ
た場合、FileRead 関数はファイルの先頭に置かれているファイル ポイ
ンタから読み取りを開始します。ファイルの長さが 32,765 バイト以上
の場合、この関数は読み取られたデータの直後に自動的にポインタを
置くので、次のデータを続けて読み取ることができます。
504
PowerBuilder
第 10 章
PowerScript 関数
この関数は、一度に最大 32,765 バイトを読み取ることができます。し
たがって、FileRead 関数を呼び出す前に FileLength64 関数を使用して
ファイルの長さを確認します。システムでファイルを共有している場
合、またはセキュリティ上の制限がある場合には、FileOpen 関数を呼
び出す前に FileLength64 関数を呼び出す必要があります。32,765 バイト
より長いファイルを読み込むには、FileReadEx 関数を使用します。
EOF のマークは、null 文字(ASCII コードの 0 の値)になります。した
がって、読み込まれるファイルが null 文字を含む場合、FileRead 関数
は null 文字をファイルの最後とみなし、最初の null 文字の位置で停止
します。
例
次に、FileRead 関数を呼び出して EMP_DATA.TXT ファイルを読み取
る例を示します。EMP_DATA.TXT ファイルは、FileRead 関数を 1 回呼
び出すだけですべてのデータを読み取ることができる長さです。
integer li_FileNum
string ls_Emp_Input
long ll_FLength
ll_FLength = FileLength64("C:\HR\EMP_DATA.TXT")
li_FileNum = FileOpen("C:\HR\EMP_DATA.TXT", &
LineMode!)
IF ll_FLength < 32767 THEN
FileRead(li_FileNum, ls_Emp_Input)
END IF
次に、ファイル EMP_PIC1.BMP を読み取ってデータを Blob 型変数
Emp_Id_Pic に格納する例を示します。読み取ったバイト数は、li_bytes
に格納されます。
integer li_fnum, li_bytes
blob Emp_Id_Pic
li_fnum = FileOpen("C:\HR\EMP_PIC1.BMP", &
StreamMode!)
li_bytes = FileRead(li_fnum, Emp_Id_Pic)
関連項目
FileClose
FileLength64
FileOpen
FileReadEx
FileSeek64
FileWriteEx
PowerScript リファレンス ボリューム 2
505
FileReadEx
FileReadEx
機能
指定されたファイル番号に関連付けられたファイルのデータを読み込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。
構文
FileReadEx ( file#, blob {, length } )
FileReadEx ( file#, string )
引数
file#
blob または
string
length
戻り値
説明
ファイルが開かれたときにファイルに割り当てられた
Integer 型の値を指定します。
String 型または Blob 型の変数の名前を指定します。この変
数にデータを読み込みます。
テキスト モードまたはストリーム モードの場合に、取得
するバイト数を指定します。特に指定しない限り、ファイ
ルの長さが設定されます。
Long 型。読み込んだバイト数を返します。データを読み取る前に EOF
が 検 出 さ れ た 場 合、-100 を 返 し ま す。フ ァ イ ル が ラ イ ン モ ー ド
(LineMode!)で開かれていて、データを読み取る前に CR または LF が
検出された場合、0 を返します。エラーが発生した場合、-1 を返しま
す。ストリーム モードで String 型から読み取ろうとした場合、または
ライン モードで Blog 型から読み取ろうとした場合、-1 を返します。引
数のいずれかの値が null の場合、null を返します。
FileReadEx の戻り値は Long 型
FileRead 関数に代わる FileReadEx 関数は、FileRead 関数と異なり、Long
型の値を返します。
解説
FileReadEx 関数は、ANSI、UTF-8、UTF-16LE、および UTF-16BE エン
コーディングのファイルを読み込むことができます。
ファイルがラインモード(LineMode!)で開かれていた場合、CR、LF、
または EOF が検出されるまで、この関数はファイルの次の行を読み取
ります。読み取った行の内容は指定した変数に格納され、CR や LF を
スキップし、ファイル ポインタを次の行の先頭に置きます。
オプションの length パラメータは、Blob 型のデータだけに適用されま
す。第 2 パラメータのデータ型が String 型の場合に length パラメータ
を指定すると、コードはコンパイルされません。
506
PowerBuilder
第 10 章
PowerScript 関数
ファイルがストリーム モードまたはテキスト モードで開かれていた
場合には、この関数はファイルの最後まで、または次の length バイト
までのどちらか短いほうまで読み取ります。ファイルが読み取り用に
開かれた場合、FileReadEx 関数はファイルの先頭に置かれているファ
イル ポインタから読み取りを開始します。ファイルの長さが length バ
イト以上の場合、この関数は読み取られたデータの直後に自動的にポ
インタを置くので、次のデータを続けて読み取ることができます。
EOF のマークは、null 文字(ASCII コードの 0 の値)になります。した
がって、読み込まれるファイルが null 文字を含む場合、FileReadEx 関
数は null 文字をファイルの最後とみなし、最初の null 文字の位置で停
止します。
ANSI ま た は UTF-8 フ ァ イ ル を String 型 の 変 数 に 読 み 込 む 場 合、
FileReadEx 関数は、テキストを Unicode に変換してから String 型の変数
に保存します。BOM は文字列に書き込まれません。
ANSI ま た は UTF-8 フ ァ イ ル を Blob 型 の 変 数 に 読 み 込 む 場 合、
FileReadEx 関数はファイルの内容を変換せずに保存します。BOM は、
テキスト モードでは Blob 型データに書き込まれませんが、ストリー
ム モードでは書き込まれます。
ファイルが Unicode の場合は、変換は必要ありません。
例
次に、EMP_DATA.TXT ファイルをテキスト モードで String 型変数に
読み込む例を示します。ファイルが Unicode 形式でない場合、BOM 以
外の内容が Unicode に変換されて文字列に書き込まれます。
integer li_FileNum
string ls_Emp_Input
li_FileNum = FileOpen("C:\HR\EMP_DATA.TXT", &
TextMode!)
IF li_FileNum > 0 THEN
FileReadEx(li_FileNum, ls_Emp_Input)
END IF
次に、ファイル EMP_PIC1.BMP を読み取ってデータを Blob 型変数
Emp_Id_Pic に格納する例を示します。読み取ったバイト数は、li_bytes
に格納されます。
integer li_fnum
long ll_bytes
blob Emp_Id_Pic
li_fnum = FileOpen("C:\HR\EMP_PIC1.BMP", &
StreamMode!)
ll_bytes = FileReadEx(li_fnum, Emp_Id_Pic)
PowerScript リファレンス ボリューム 2
507
FileSeek
関連項目
FileClose
FileLength64
FileOpen
FileRead
FileSeek64
FileWriteEx
FileSeek
機能
サイズが 2GB を超えないファイル内の指定された位置にファイル ポ
インタを移動します。ファイル ポインタとは、次の読み取りまたは書
き込み処理を開始する位置のことです。
構文
FileSeek ( file#, position, origin )
引数
file#
position
origin
説明
ファイルが開かれたときにファイルに割り当てられた
Integer 型の値を指定します。
Long 型の値。origin に対する相対位置をバイト数で指定し
ます。
処理を開始する位置を指定する SeekType カタログ データ
型の値。値は以下のとおりです。
• FromBeginning! -(デフォルト)ファイルの先頭
• FromCurrent! - 現行の位置
• FromEnd! - ファイルの末尾
戻り値
Long 型。正常に終了した場合、ファイルの位置を返します。引数のい
ずれかの値が null の場合、FileSeek は null を返します。
解説
この関数は、ストリーム モード(StreamMode!)で開いたバイナリ ファ
イル内を移動するために使用します。FileSeek 関数はファイル ポイン
タの位置を設定するので、FileReadEx 関数や FileWriteEx 関数をファイル
内の目的の位置から開始することができます。
origin が FromBeginning! に設定され、ファイルがストリーム モードで
開いていない場合、バイト オーダー マーク(BOM)は自動的に無視
されます。たとえば、ファイルの 16 進表示が FF FE 54 00 68 00 69 00 73
00 である場合、動作は次のようになります。
long ll_pos
// 次のステートメントを実行すると、ファイル ポインタは
508
PowerBuilder
第 10 章
PowerScript 関数
// 54 ではなく 68 に置かれ、ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek( filenum, 2, FromBeginning!)
// ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek( filenum, 0, FromCurrent!)
// ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek( filenum, -6, FromEnd!)
FileSeek 関数は、サイズが 2GB を超えるファイルを処理できません。
2GB を超える大きいファイルのファイル ポインタを移動するには、
FileSeek64 関数を使用します。
例
次に、ファイルの末尾から先頭方向に 14 バイト分、ファイル ポイン
タを移動する例を示します。
integer li_FileNum
li_FileNum = FileOpen("emp_data")
FileSeek(li_FileNum, -14, FromEnd!)
次に、現在の位置から末尾方向に 14 バイト分、ファイル ポインタを
移動する例を示します。この場合、FileOpen 関数を呼び出した後にファ
イル ポインタに影響を与える処理が行われていなければ、FromCurrent!
を指定したときの処理は、FromBeginning! を指定したときと同じにな
ります。
integer li_FileNum
li_FileNum = FileOpen("emp_data")
FileSeek(li_FileNum, 14, FromCurrent!)
関連項目
FileReadEx
FileSeek64
FileWriteEx
FileSeek64
機能
任意のサイズのファイル内の指定された位置にファイル ポインタを
移動します。ファイル ポインタとは、次の読み取りまたは書き込み処
理を開始する位置のことです。
構文
FileSeek64 ( file#, position, origin )
引数
file#
PowerScript リファレンス ボリューム 2
説明
ファイルが開かれたときにファイルに割り当てられた
Integer 型の値を指定します。
509
FileSeek64
引数
position
origin
説明
Long 型の値。origin に対する相対位置をバイト数で指定し
ます。
処理を開始する位置を指定する SeekType カタログ データ
型の値。値は以下のとおりです。
• FromBeginning! -(デフォルト)ファイルの先頭
• FromCurrent! - 現行の位置
• FromEnd! - ファイルの末尾
戻り値
LongLong 型。正常に終了した場合、ファイルの位置を返します。引数
のいずれかの値が null の場合、null を返します。
解説
FileSeek64 は、ストリーム モード(StreamMode!)で開いたバイナリ
ファイル内を移動するために使用します。FileSeek64 関数はファイル
ポインタの位置を設定するので、FileReadEx 関数や FileWriteEx 関数を
ファイル内の目的の位置から開始することができます。
origin が FromBeginning! に設定され、ファイルがストリーム モードで
開いていない場合、バイト オーダー マーク(BOM)は自動的に無視さ
れます。たとえば、ファイルの 16 進表示が FF FE 54 00 68 00 69 00 73 00
である場合、動作は次のようになります。
long ll_pos
// 次のステートメントを実行すると、ファイル ポインタは
// 54 ではなく 68 に置かれ、ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek64( filenum, 2, FromBeginning!)
// ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek64( filenum, 0, FromCurrent!)
// ll_pos は 4 ではなく 2 になります。
ll_pos = FileSeek64( filenum, -6, FromEnd!)
例
次に、ファイルの末尾から先頭方向に 14 バイト分、ファイル ポイン
タを移動する例を示します。
integer li_FileNum
li_FileNum = FileOpen("emp_data")
FileSeek64(li_FileNum, -14, FromEnd!)
次に、現在の位置から末尾方向に 14 バイト分、ファイル ポインタを
移動する例を示します。この場合、FileOpen 関数を呼び出した後にファ
イル ポインタに影響を与える処理が行われていなければ、FromCurrent!
を指定したときの処理は、FromBeginning! を指定したときと同じにな
ります。
510
PowerBuilder
第 10 章
PowerScript 関数
integer li_FileNum
li_FileNum = FileOpen("emp_data")
FileSeek64(li_FileNum, 14, FromCurrent!)
関連項目
FileReadEx
FileSeek
FileWriteEx
FileWrite
機能
指定されたファイル番号に関連付けられたファイルにデータを書き込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。FileWrite 関数は下位互換性を保証するために残されていま
す。新規開発の場合は FileWriteEx 関数を使用してください。
構文
FileWrite ( file#, variable )
引数
file#
variable
説明
ファイルが開かれたときに割り当てられた Integer 型の値
を指定します。
ファイルに書き込むデータを表す String 型、または Blob 型
の変数名を指定します。
戻り値
Integer 型。正常に終了した場合、書き込んだバイト数を返します。エ
ラーが発生した場合、-1 を返します。引数のいずれかの値が null の場
合、null を返します。
解説
FileWrite 関数は、ANSI、UTF-8、UTF-16LE、および UTF-16BE エンコー
ディングのファイルに書き込むことができます。
FileWrite 関数は、ファイル ポインタで指定された位置にデータを書き
込みます。writemode に Replace! を指定してファイルを開いた場合、
ファイル ポインタはファイルの先頭に置かれます。FileWrite 関数が呼
び出されるたびに、ファイル ポインタは書き込まれた位置の直後に移
動します。writemode に Append! を設定してファイルを開いた場合に
は、ファイル ポインタはファイルの末尾に置かれ、書き込み処理が行
われるたびにファイルの最後に移動します。
FileWrite 関数は、最後に書き込まれた文字の後の位置にファイル ポイ
ンタを設定します。ファイルがライン モード(LineMode!)で開かれ
ていた場合には、variable で指定された最後の文字の後にキャリッジ
リターン(CR)、またはライン フィード(LF)を書き込み、その後に
ファイル ポインタを設定します。
PowerScript リファレンス ボリューム 2
511
FileWrite
データが String 型であり、関連付けられているファイルが ANSI また
は UTF-8 エンコーディングを使用する場合、文字列を ANSI または
UTF-8 エンコーディングに変換してから関連付けられているファイル
に書き込みます。
EncodingANSI! パラメータを指定するか、または、エンコーディング
パラメータを指定せずにファイルを開く時の FileWrite 関数の動作は、
プラットフォームに依存します。Windows および Solaris プラット
フォームでは、FileWrite は多言語文字を UTF-8 に変換せず、ファイル
を ANSI エンコーディングで保存します。Linux プラットフォームで
は、文字列が多言語文字を含む場合は、FileWrite は多言語文字を UTF8 に変換し、ファイルを UTF-8 エンコーディングで保存します。
ファイルがストリーム モードで開かれている場合、変換は行われませ
ん。
ファイルがテキスト モードで開かれていた場合、-1 を返します。テキ
スト モードでファイルを書き込むには、FileWriteEx 関数を使用してく
ださい。
長さの制限
FileWrite 関数は、文字列の区切り子を含む 32,766 バイトしか一度に書
き込むことができません。variable で指定されたデータの長さが 32,765
バイトを超える場合、この関数は 32,765 バイトだけを書き込み、32765
を返します。32,765 バイトを超える variable を処理するには、FileWriteEx
関数を使用してください。
例
次のスクリプトは、EMP_DATA.TXT を開き、ファイルの末尾に文字列
New Employees を書き込みます。li_FileNum は、ファイル番号を保持し
ています。
integer li_FileNum
li_FileNum = FileOpen("C:\HR\EMP_DATA.TXT", &
LineMode!, Write!, LockWrite!, Append!)
FileWrite(li_FileNum, "New Employees")
以下に、データベースから Blob 型データを読み込み、ファイルに書き
込む例を示します。SQL SELECT 文で、ピクチャ データを Blob 型変数
emp_id_pic に割り当てています。FileOpen 関数は Stream モード で書き
込み処理を行うためにファイルを開き、FileWrite 関数は Blob 型データ
をファイルに書き込みます。Len 関数を使用して、Blob 型データの長
さが一度の FileWrite 関数の呼び出しで処理できるかどうかを調べるこ
とができます。
integer li_FileNum
512
PowerBuilder
第 10 章
PowerScript 関数
blob emp_id_pic
SELECTBLOB salary_hist INTO : emp_id_pic
FROM Employee WHERE Employee.Emp_Num = 100
USING Emp_tran;
li_FileNum = FileOpen( &
"C:\EMPLOYEE\EMP_PICS.BMP", &
StreamMode!, Write!, Shared!, Replace!)
FileWrite(li_FileNum, emp_id_pic)
関連項目
FileClose
FileLength64
FileOpen
FileRead
FileReadEx
FileSeek64
FileWriteEx
FileWriteEx
機能
指定されたファイル番号に関連付けられたファイルにデータを書き込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。
構文
FileWriteEx ( file#, blob {, length })
FileWriteEx ( file#, string )
引数
file#
blob または
string
length
戻り値
説明
ファイルが開かれたときに割り当てられた Integer 型の値
を指定します。
Blob 型または String 型の値を指定します。この値はファイ
ルに書き出したいデータです。
テキスト モードまたはストリーム モードの場合に、書き
出されるバイト数を指定します。特に指定しない限り、
ファイルの長さが設定されます。
Long 型。正常に終了した場合、書き込んだバイト数を返します。エ
ラーが発生した場合、-1 を返します。ストリーム モードで String 型の
変数に書き込もうとした場合、またはライン モードで Blog 型の変数
に書き込もうとした場合、-1 を返します。引数のいずれかの値が null
の場合、null を返します。
PowerScript リファレンス ボリューム 2
513
FileWriteEx
FileWriteEx の戻り値は Long 型
FileWrite 関数とは違って、この関数に代わる FileWriteEx 関数は Long 型
の値を返します。
解説
FileWriteEx 関数は、ANSI、UTF-8、UTF-16LE、および UTF-16BE エン
コーディングのファイルに書き込むことができます。
FileWriteEx 関数は、ファイル ポインタで指定された位置にデータを書
き込みます。writemode に Replace! を指定してファイルを開いた場合、
ファイル ポインタはファイルの先頭に置かれます。FileWriteEx 関数が
呼び出されるたびに、ファイル ポインタは書き込まれた位置の直後に
移動します。writemode に Append! を設定してファイルを開いた場合に
は、ファイル ポインタはファイルの末尾に置かれ、書き込み処理が行
われるたびにファイルの最後に移動します。
この関数は、最後に書き込まれた文字の後の位置にファイル ポインタ
を設定します。ファイルが ライン モード(LineMode!)で開かれてい
た場合には、variable で指定されたデータを書き込んだ後にキャリッジ
リターン(CR)、またはライン フィード(LF)を書き込み、その後に
ファイル ポインタを設定します。
ファイルがストリーム モードまたはテキスト モードで開かれていた
場合には、この関数は、String のすべての内容か、blob のすべての内
容かまたは length で指定されたバイト数の内容のいずれか短いほうを
書き込みます。オプションの length パラメータは、Blob 型のデータだ
けに適用されます。第 2 パラメータのデータ型が String 型の場合に
length パラメータを指定すると、コードはコンパイルされません。
データが String 型であり、関連付けられているファイルが ANSI また
は UTF-8 エンコーディングを使用する場合、FileWriteEx は文字列を
ANSI または UTF-8 エンコーディングに変換してから関連付けられて
いるファイルに書き込みます。ファイルがストリーム モードで開かれ
ている場合、変換は行われません。
ファイルにバイト オーダー マーク(BOM)が含まれていない場合は自
動的に作成されます。
例
次のスクリプトは、EMP_DATA.TXT を開き、ファイルの末尾に文字列
New Employees を書き込みます。li_FileNum は、ファイル番号を保持し
ています。
integer li_FileNum
li_FileNum = FileOpen("C:\HR\EMP_DATA.TXT", &
TextMode!, Write!, LockWrite!, Append!)
FileWriteEx(li_FileNum, "New Employees")
514
PowerBuilder
第 10 章
PowerScript 関数
以下に、データベースから Blob 型データを読み込み、ファイルに書き
込む例を示します。SQL SELECT 文で、ピクチャ データを Blob 型変数
emp_id_pic に割り当てています。FileOpen 関数は Stream モード で書き
込み処理を行うためにファイルを開き、FileWriteEx 関数は Blob 型デー
タをファイルに書き込みます。Len 関数を使用して、Blob 型データの
長さが一度の FileWrite 関数の呼び出しで処理できるかどうかを調べる
ことができます。
integer li_FileNum
blob emp_id_pic
SELECTBLOB salary_hist INTO : emp_id_pic
FROM Employee WHERE Employee.Emp_Num = 100
USING Emp_tran;
li_FileNum = FileOpen("C:\EMPLOYEE\EMP_PICS.BMP", &
StreamMode!, Write!, Shared!, Replace!)
FileWriteEx(li_FileNum, emp_id_pic)
関連項目
FileClose
FileLength64
FileOpen
FileReadEx
FileSeek64
Fill
機能
指定された文字列を指定された長さになるまで繰り返し、その結果の
文字列を返します。
構文
Fill ( chars, n )
引数
chars
n
戻り値
説明
戻り値の文字列が指定された長さになるまで繰り返す文
字列を指定します。
返す文字列の長さを表す Long 型の値を指定します。
String 型。chars に指定された文字列を n に指定した文字数分繰り返し、
その結果の文字列を返します。chars に n より多い文字数の文字列を指
定した場合、chars の最初の n 文字から成る文字列を返します。chars
に n より少ない文字数の文字列を指定した場合は、n 文字を満たすま
で chars の文字列を繰り返し、その結果の文字列を返します。引数の
いずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
515
FillA
解説
Fill 関数は、印刷ルーチンで、線を作成したり、特殊な効果を表現した
りするのに使用します。たとえば、小切手の金額欄をアスタリスク(*)
で埋めたり、表示画面で金額欄の下にハイフン(-)を繰り返し入力し
て合計金額を示したりします。
例
次のステートメントは、35 個のアスタリスクから成る文字列を返しま
す。
Fill("*", 35)
次のステートメントは、文字列 "-+-+-+-" を返します。
Fill("-+", 7)
次のステートメントは、ティルダ(~)を 10 個返します。
Fill("~", 10)
関連項目
Space
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Fill メソッド
FillA
機能
指定された文字列を指定された長さ(バイト数)になるまで繰り返し、
その結果の文字列を返します。
構文
FillA ( chars, n)
引数
chars
n
戻り値
説明
戻り値の文字列が指定された長さになるまで繰り返す文
字列を指定します。
返す文字列のバイト数を Long 型で指定します。
String 型。chars に指定された文字列を n に指定したバイト分繰り返し、
その結果の文字列を返します。chars に n バイトより多い文字列を指定
した場合、chars の最初の n バイトから成る文字列を返します。chars
に n バイトより少ない文字列を指定した場合は、n バイトを満たすま
で chars の文字列を繰り返し、その結果の文字列を返します。引数の
いずれかの値が null の場合、null を返します。
解説
FillA 関数は、PowerBuilder 9 の DBCS 環境 における Fill 関数の機能に代
わるものです。
SBCS 環境の場合、Fill、FillW、および FillA 関数は同じ結果を返します。
516
PowerBuilder
第 10 章
PowerScript 関数
FillW
機能
指定された文字列を指定された長さになるまで繰り返し、その結果の
文字列を返します。この関数は、サポートされなくなります。動作は、
SBCS 環境と DBCS 環境で Fill 関数と同じです。
構文
FillW ( chars, n)
Find
機能
データウィンドウ コントロールまたはデータストアからデータを検
索します。あるいは、リッチテキスト エディット コントロール、リッ
チテキスト エディット データウィンドウ、またはリッチテキスト エ
ディット データストアのテキストを検索します。
検索の方向を指定したり、完全に一致する単語だけの検索や大文字と
小文字の区別を指定したりすることもできます。指定されたテキスト
をコントロールで検索し、テキストが見つかった場合はそのテキスト
をハイライト表示します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアルまたはオンライン ヘルプの
「Find メソッド」を参照してください。
対象
リッチテキスト エディット コントロールと、内容の提示様式がリッチ
テキストのデータウィンドウ コントロール(またはデータストア オブ
ジェクト)
構文
controlname.Find ( searchtext, forward, insensitive, wholeword, cursor )
引数
controlname
searchtext
PowerScript リファレンス ボリューム 2
説明
内容を検索するリッチテキスト エディット コントロー
ル、データウィンドウ コントロール、またはデータストア
の名前を指定します。
String 型の値。検索するテキストを指定します。リッチテ
キスト エディット コントロールの場合、searchtext は 99 文
字までに制限されます。
517
Find
引数
forward
説明
Boolean 型の値。検索の方向を指定します。値は以下のと
おりです。
• TRUE - カーソルの位置から順方向に検索します。
cursor が false の場合、文書の先頭から順方向に検索し
ます。
insensitive
• FALSE - カーソルの位置から逆方向に検索します。
cursor が false の場合、文書の末尾から逆方向に検索し
ます。
Boolean 型の値。大文字と小文字を区別して検索するかど
うかを指定します。値は以下のとおりです。
• TRUE - 大文字と小文字を区別しません。
wholeword
• FALSE - 大文字と小文字を区別します。
Boolean 型の値。完全に一致する単語だけを検索するかど
うかを指定します。値は以下のとおりです。
• TRUE - 完全に一致する単語だけを検索します。
cursor
• FALSE - 一部が一致する単語を検索します。
Boolean 型の値。検索を開始する位置を指定します。値は
以下のとおりです。
• TRUE - カーソルの位置から検索を開始します。
• FALSE - forward が true の場合、文書の先頭から検索を
開始します。forward が false の場合、文書の末尾から検
索を開始します。
戻り値
Integer 型。検索された文字数を返します。一致するテキストが見つか
らなかった場合は 0 を返します。データウィンドウの提示様式がリッ
チテキスト エディットでない場合、またはエラーが発生した場合に
は、-1 を返します。
例
次に、エンド ユーザがシングルライン エディット コントロール
sle_search で指定したテキストを、リッチテキスト エディット コント
ロール rte_1 から検索する例を示します。検索は、カーソルの位置から
順方向に行われます。検索では、大文字と小文字は区別されません。
また、完全に一致する単語だけでなく、一部が一致する単語も検索さ
れます。
integer li_charsfound
li_charsfound = rte_1.Find(sle_search.Text, &
TRUE, TRUE, FALSE, TRUE)
関連項目
518
FindNext
PowerBuilder
第 10 章
PowerScript 関数
FindCategory
機能
項目のラベルがわかっている場合に、グラフにおける項目番号を取得
します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.FindCategory ( { graphcontrol, } categoryvalue )
引数
controlname
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を表す文字列を指定しま
す。このコントロールの項目の値を取得します。
graphcontrol
(オプション)データウィンドウ コントロール内のグラフ
(データウィン 名を表す文字列を指定します。このグラフから項目番号を
取得します。
ドウ コント
ロールのみ)
categoryvalue
番号を求める項目の値を指定します。また、指定する値は、
項目軸のデータ型と同じでなければなりません。
戻り値
Integer 型。controlname で指定したグラフ内の categoryvalue で指定された
項目名の番号を返します。また、controlname がデータウィンドウ コン
トロールである場合は、graphcontrol で指定したグラフ内の categoryvalue
で指定された項目名の番号を返します。エラーが発生した場合、-1 を
返します。また、引数のいずれかの値が null の場合は null を返します。
解説
ほとんどのグラフの項目を操作する関数は、項目名よりも項目番号を
必要とします。ただし、項目を削除したり挿入したりする場合は、既
存の項目番号は連続するように、つけ直されます。項目のラベルだけ
わかっている場合や、項目番号が変わっているかもしれない場合には、
FindCategory 関数を使用します。
例
以下に、グラフ gr_prod_data の項目番号を取得するステートメントを示
します。項目名は、シングルライン エディット コントロール sle_ctory
のテキストです。
integer CtgryNbr
CtgryNbr =gr_prod_data.FindCategory(sle_ctgry.Text)
以下に、データウィンドウ コントロール dw_equip 上に配置されたグラ
フ gr_computers の項目名 Qty の番号を取得するステートメントを示し
ます。
integer CtgryNbr
CtgryNbr = dw_equip.FindCategory("gr_computers", "Qty")
関連項目
AddCategory
PowerScript リファレンス ボリューム 2
519
FindClassDefinition
DeleteData
DeleteSeries
FindSeries
FindClassDefinition
機能
1 つまたは複数の PowerBuilder ライブラリ(PBL)の中のオブジェクト
を検索し、そのクラス定義に関する情報を返します。
構文
FindClassDefinition ( classname {, librarylist } )
引数
classname
librarylist
(オプション)
説明
情報を取得するオブジェクト(クラスまたはクラス定義と
もいいます)の名前を指定します。
String 型の値の配列。PBL の絶対パス名を指定します。こ
の引数を省略すると、FindClassDefinition 関数は実行中の
アプリケーションに関連付けられているライブラリ リス
トを検索します。
戻り値
ClassDefinition 型。classname の定義に関する情報のオブジェクト参照
を返します。いずれかの引数が null の場合、FindClassDefinition 関数は
null を返します。
解説
クラス定義情報を含む ClassDefinition オブジェクトの取得方法は 2 通
りあります。
例
•
アプリケーションでインスタンス化されているオブジェクトの場
合は、その ClassDefinition プロパティを使用します。
•
PBL に格納されているオブジェクトの場合は、FindClassDefinition 関
数を呼び出します。
次に、実行中のアプリケーションのライブラリで w_genapp_frame のク
ラス定義を検索する例を示します。
ClassDefinition cd_windef
cd_windef = FindClassDefinition("w_genapp_frame")
次に、配列 ls_libraries 内のライブラリで w_genapp_frame のクラス定義
を検索する例を示します。
ClassDefinition cd_windef
string ls_libraries[ ]
ls_libraries[1] = "c:\pwrs\bizapp\windows.pbl"
520
PowerBuilder
第 10 章
PowerScript 関数
ls_libraries[2] = "c:\pwrs\framewk\windows.pbl"
ls_libraries[3] = "c:\pwrs\framewk\ancestor.pbl"
cd_windef = FindClassDefinition(
"w_genapp_frame", ls_libraries)
関連項目
FindFunctionDefinition
FindMatchingFunction
FindTypeDefinition
FindFunctionDefinition
機能
1 つまたは複数の PowerBuilder ライブラリ(PBL)の中のグローバル関
数を検索し、スクリプト定義に関する情報を返します。
構文
FindFunctionDefinition ( functionname {, librarylist } )
引数
functionname
librarylist
(オプション)
説明
情報を取得するグローバル関数の名前を指定します。
String 型の値の配列。PBL の絶対パス名を指定します。こ
の引数を省略すると、FindFunctionDefinition 関数は実行中
のアプリケーションに関連付けられているライブラリ リ
ストを検索します。
戻り値
ScriptDefinition 型。functionname のスクリプトに関する情報のオブ
ジェクト参照を返します。いずれかの引数が null の場合、
FindFunctionDefinition 関数は null を返します。
解説
FindClassDefinition 関数を呼び出すと、グローバル関数のクラス定義を
取得することができます。ただし、ScriptDefinition オブジェクトは、関
数用に調整した情報を提供します。
例
次に、実行中のアプリケーションのライブラリで f_myfunction の関数定
義を検索する例を示します。
ScriptDefinition sd_myfunc
sd_myfunc = FindFunctionDefinition("f_myfunction")
次に、配列 ls_libraries 内のライブラリで w_genapp_frame のスクリプト
定義を検索する例を示します。
ScriptDefinition sd_myfunc
string ls_libraries[ ]
ls_libraries[1] = "c:\pwrs\bizapp\windows.pbl"
PowerScript リファレンス ボリューム 2
521
FindItem
ls_libraries[2] = "c:\pwrs\framewk\windows.pbl"
ls_libraries[3] = "c:\pwrs\framewk\ancestor.pbl"
sd_myfunc = FindFunctionDefinition( &
"f_myfunction", ls_libraries)
関連項目
FindClassDefinition
FindMatchingFunction
FindTypeDefinition
FindItem
リスト内の次の項目を検索します。
次の項目を検索する条件
使用する構文
リストボックス、ドロップダウン リストボックス、ピ 構文 1
クチャ リストボックス、ドロップダウン ピクチャ リ
ストボックスのいずれかのコントロールの項目を検
索する
ラベルに基づいてリストビュー コントロールの項目 構文 2
を検索する
リストビュー コントロール内での相対的な位置に基 構文 3
づいて項目を検索する
ツリービュー コントロール内での相対的な位置に基 構文 4
づいて項目を検索する
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールに対して
機能
リストボックスで、指定された検索テキストで始まる項目を検索します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.FindItem ( text, index )
引数
listboxname
text
522
説明
項目を検索するリストボックス コントロールの名前を指定
します。
String 型の値。検索する項目の先頭のテキストを指定します。
PowerBuilder
第 10 章
引数
index
戻り値
PowerScript 関数
説明
検索を開始する最初の項目の直前の項目の番号を指定し
ます。リスト全体を検索する場合、0 を指定します。
Integer 型。指定された文字列と最初に一致した項目のインデックスを
返します。指定されたテキストから始まる項目が検索されます。指定
されたテキストよりも長いテキストが項目に格納されていても構いま
せん。一致する項目が見つからない場合、またはエラーが発生した場
合には、-1 を返します。引数のいずれかの値が null の場合は、null を返
します。
解説
一致する項目が見つかると、項目のインデックスを返しますが、項目
は選択(ハイライト表示)されません。項目の検索と、選択を行うに
は、SelectItem 関数を使用します。
例
たとえば、リストボックス lb_actions に、次のリストが格納されている
とします。
インデックス番号
1
2
3
4
項目のテキスト
Open files
Close files
Copy files
Delete files
次のステートメントは、項目 2(Close files)から検索を開始し、"Delete"
という文字列を検索します。FindItem 関数は、Index に 4 を設定します。
integer Index
Index = lb_actions.FindItem("Delete", 4)
関連項目
AddItem
DeleteItem
InsertItem
SelectItem
構文 2
リストビュー コントロールに対して
機能
指定された検索テキストと一致するラベルを持つ項目を検索します。
対象
リストビュー コントロール
構文
listviewname.FindItem ( startindex, label, partial, wrap )
引数
listviewname
説明
項目を検索するリストビュー コントロールを指定します。
PowerScript リファレンス ボリューム 2
523
FindItem
引数
startindex
label
partial
wrap
戻り値
説明
検索を開始するインデックス番号を指定します。
検索の対象となる文字列を指定します。
true の場合は、部分的に一致するラベルを持つ項目も検索
します。
true の場合は、検索が終了した後で、最初のインデックス
項目まで戻ります。
Integer 型。正常に終了した場合、検索した項目のインデックスを返し
ます。エラーが発生した場合、-1 を返します。
解説
特に指定しない限り、startindex に指定されたインデックスの次のイン
デックスから検索が開始されます。先頭から検索するには、0 を指定
します。
partial を true に設定した場合、検索文字列は指定したテキストから始
まるすべてのラベルと一致します。partial を false に設定した場合、検
索文字列はラベルと完全に一致しなければなりません。
wrap を true に設定した場合、最後まで検索した後、最初のインデック
ス項目まで戻ります。wrap を false に設定した場合、リストビュー コ
ントロール内の最後のインデックス項目で検索が終了します。
FindItem 関数は、検索した項目を選択しません。検索した項目を選択す
るには、FindItem 関数とともに、項目の Selected プロパティを使用する
必要があります。
例
次に、シングルライン エディット コントロールから値を取得し、
FindItem 関数にその値を渡す例を示します。
listviewitem l_lvi
integer li_index
string ls_label
ls_label = sle_find.Text
IF ls_label = "" THEN
MessageBox(" エラー " , &
" リスト項目の名前を入力してください。")
sle_find.SetFocus()
ELSE
li_index = lv_list.FindItem(0,ls_label,
TRUE,TRUE)
END IF
IF li_index = -1 THEN
MessageBox(" エラー ", " 項目が見つかりません。")
ELSE
lv_list.GetItem(li_index, l_lvi)
524
PowerBuilder
第 10 章
PowerScript 関数
l_lvi.HasFocus = TRUE
l_lvi.Selected = TRUE
lv_list.SetItem(li_index,l_lvi)
END IF
関連項目
AddItem
DeleteItem
InsertItem
SelectItem
構文 3
リストビュー コントロールに対して
機能
リストビュー コントロール内の特定の位置に基づいて次の項目を検
索します。
対象
リストビュー コントロール
構文
listviewname.FindItem ( startindex, direction, focused, selected,
cuthighlighted, drophighlighted )
引数
listviewname
startindex
direction
説明
項目を検索するリストビュー コントロールを指定します。
検索を開始するインデックス番号を指定します。
検索の方向を指定します。値は以下のとおりです。
DirectionAll!
DirectionUp!
DirectionDown!
DirectionLeft!
DirectionRight!
focused
true の場合は、リストビュー コントロールでフォーカスが
設定されている項目の次の項目を検索します。
selected
true の場合は、リストビュー コントロールで選択されてい
cuthighlighted
true の場合は、リストビュー コントロールで切り取り操作
drophighlighted
true の場合は、リストビュー コントロールでドラッグ ア
る項目の次の項目を検索します。
の対象となっている項目の次の項目を検索します。
ンド ドロップ操作の対象となっている項目の次の項目を
検索します。
戻り値
Integer 型。正常に終了した場合、検索した項目のインデックスを返し
ます。エラーが発生した場合、-1 を返します。
PowerScript リファレンス ボリューム 2
525
FindItem
解説
特に指定しない限り、startindex に指定されたインデックスの次のイン
デックスから検索が開始されます。先頭から検索する場合、0 を指定
します。
FindItem 関数は、検索した項目を選択しません。検索した項目を選択す
るには、FindItem 関数とともに、項目の Selected プロパティを使用する
必要があります。
focused、selected、cuthighlighted、および drophighlighted の各引数が false
の場合、リストビュー コントロール内の次の項目が検索されます。
例
次に、FindItem 関数を使用してリストビュー コントロールで選択され
ている項目から検索を開始する例を示します。
listviewitem l_lvi
integer li_index li_startindex
li_startindex = lv_list.SelectedIndex()
li_index = lv_list.FindItem(li_startindex, &
DirectionDown!, FALSE, FALSE ,FALSE, FALSE)
IF li_index = -1 THEN
MessageBox(" エラー ", " 項目が見つかりません。")
ELSE
lv_list.GetItem(li_index, l_lvi)
l_lvi.HasFocus = TRUE
l_lvi.Selected = TRUE
lv_list.SetItem(li_index,l_lvi)
END IF
関連項目
AddItem
DeleteItem
InsertItem
SelectItem
構文 4
ツリービュー コントロールに対して
機能
ツリービュー コントロール内での位置に基づいて項目を検索します。
対象
ツリービュー コントロール
構文
treeviewname.FindItem ( navigationcode, itemhandle )
526
PowerBuilder
第 10 章
引数
treeviewname
navigationcode
itemhandle
PowerScript 関数
説明
指定された項目を検索するツリービュー コントロールの
名前を指定します。
TreeNavigation カタログ データ型の値。itemhandle によっ
て指定される項目と、検索する項目との関係を指定しま
す。有効な値の一覧については、「解説」の表を参照して
ください。
項目のハンドルを指定する Long 型の値。この項目と検索
する項目との関係を、navigationcode を介して指定します。
戻り値
Long 型。正常に終了した場合は項目のハンドルを返し、エラーが発生
した場合は -1 を返します。
解説
FindItem 関数は、検索した項目を選択しません。検索した項目を選択す
るには、FindItem 関数とともに、項目の Selected プロパティを使用する
必要があります。
FindItem は、ChildTreeItem! を検索する場合を除いて、折りたたまれた
項目を検索しません。ChildTreeItem! が設定されている場合、項目は展
開されます。CurrentItem! は、Clicked イベントが発生した後ではじめ
て変更されます。現在の項目がクリックされたときにその項目に応じ
たハンドルが返されるようにするには、そのハンドルを返すためのカ
スタム イベントを作成して、そのイベントを Clicked イベントの中で
ポストします。
navigationcode が RootTreeItem!、FirstVisibleTreeItem!、CurrentTreeItem!、
または DropHighlightTreeItem! の場合、itemhandle は 0 に設定してくだ
さい。
引数 navigationcode に指定できる値を次の表に示します。
表 0-3: FindItem の引数 navigationcode に指定できる値
navigationcode の値
RootTreeItem!
NextTreeItem!
PreviousTreeItem!
ParentTreeItem!
PowerScript リファレンス ボリューム 2
FindItem の検索項目
レベル 1 の最初の項目。項目がコントロールに挿
入されなかった場合、-1 を返します。
itemhandle で指定された項目より後にある兄弟項
目。兄弟項目とは、同じ親を持つ同じレベルの項
目です。該当する兄弟項目がない場合、-1 を返し
ます。
itemhandle で指定された項目より前にある兄弟項
目。該当する兄弟項目がない場合、-1 を返します。
itemhandle で指定された項目の親。項目がレベル 1
にある場合、-1 を返します。
527
FindItem
navigationcode の値
ChildTreeItem!
FirstVisibleTreeItem!
NextVisibleTreeItem!
PreviousVisibleTreeItem!
CurrentTreeItem!
DropHighlightTreeItem!
例
FindItem の検索項目
itemhandle で指定された項目の最初の子。項目が折
りたたまれている場合、ChildTreeItem! を指定する
とノードが展開されます。項目に子がない場合、
または項目がまだ表示されていない場合は、-1 を
返します。
レベルにかかわらず、コントロール内で最初に表
示される項目。最初に表示される項目は、スクロー
ルバーの表示位置によって決まります。
レベルにかかわらず itemhandle で指定された項目
の直後にある展開された項目。NextVisible と
PreviousVisible 値を使用すると、すべての子と展
開されたノードのブランチをウォーク スルーでき
ます。項目がコントロール内の展開された最後の
項目である場合、-1 を返します。
コントロールの見えない領域にある項目にスク
ロールするには、FindItem 関数の次に SelectItem 関
数を使用します。
レベルにかかわらず itemhandle で指定される項目
の直前にある展開された項目。項目がコントロー
ル内の最初のルート項目である場合、-1 を返しま
す。
指定された項目。コントロールに一度もフォーカ
スが与えられていない場合、および何も選択され
ていない場合は、-1 を返します。
最後に設定された DropHighlighted プロパティを持
つ項目。このプロパティがまったく設定されてい
ない場合、またはコントロールでのほかの動作に
より false に戻された場合は、-1 を返します。
現在の項目がクリックされたときに適切なハンドルが返されるように
するには、項目の Clicked イベントの中でポストされるカスタム イベ
ントの中に、次のコードを配置します。
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
次に、ツリービュー コントロールの最上位レベルの最初の項目を検索
する例を示します。
long ll_tvi
ll_tvi = tv_list.FindItem(RootTreeItem!, 0)
関連項目
528
DeleteItem
GetItem
InsertItem
PowerBuilder
第 10 章
PowerScript 関数
SelectItem
FindMatchingFunction
機能
指定したシグネチャと一致するクラス内の関数を検索します。シグネ
チャは、スクリプト名と引数リストの組み合わせです。
対象
ClassDefinition オブジェクト
構文
classdefobject.FindMatchingFunction ( scriptname, argumentlist )
引数
classdefobject
scriptname
argumentlist
説明
関数を検索するクラスを表す ClassDefinition オブジェクト
の名前を指定します。
String 型の値。関数の名前を指定します。
String 型の値の可変長配列。関数の引数のデータ型を指定
します。変数が参照渡しの場合、文字列のデータ型の前に
"ref" が含まれていなければなりません。変数が配列の場
合、データ型の後に配列の大カッコ( [] )を含めなければ
なりません。
書式は次のとおりです。
{ ref } datatype { [] }
固定長配列の場合、引数には範囲を指定しなければなりま
せん。
ref integer[1 TO 10]
戻り値
ScriptDefinition 型。一致した関数に関する情報とともにオブジェクト
インスタンスを返します。一致する関数が見つからない場合、
FindMatchingFunction 関数は null を返します。いずれかの引数が null の
場合も null を返します。
解説
関数の検索では、PowerBuilder は折りたたまれた継承階層構造を調べ
ます。見つかった関数は、現行のオブジェクトまたはその先祖のいず
れかで定義されている可能性があります。
参照渡しによって渡される引数 参照渡しによって渡された引数で関
数を検索するには、REF キーワードを指定する必要があります。関数
の引数に VariableDefinition オブジェクトがある場合は、CallingConvention
引数をチェックして、引数が参照渡しで渡されたかどうかを判断しま
す。
PowerScript リファレンス ボリューム 2
529
FindMatchingFunction
PowerBuilder 関数のマニュアルでは、参照渡しの引数は、単なる値で
はなく変数として記述されています。PowerBuilder オブジェクト ブラ
ウザは、どの引数が参照渡しであるかをレポートしません。
例
次に、PowerBuilder のウィンドウ オブジェクト関数
OpenUserObjectWithParm と一致する ScriptDefinition オブジェクトを取得
し、4 つの引数を持つバージョンを検索する例を示します。一致するも
のが見つかった場合、関数 uf_scriptinfo を呼び出します。この関数は、
スクリプトに関するレポートを作成します。
string ls_args[]
ScriptDefinition sd
ls_args[1]
ls_args[2]
ls_args[3]
ls_args[4]
=
=
=
=
"ref dragobject"
"double"
"integer"
"integer"
sd = c_obj.FindMatchingFunction( &
"OpenUserObjectWithParm", ls_args)
IF NOT IsValid(sd) THEN
mle_1.Text = "No matching script"
ELSE
mle_1.Text = uf_scriptinfo(sd)
END IF
uf_scriptinfo 関数は、シグネチャと一致した関数に関する情報を取得し、
文字列を構築します。Scriptobj は、関数に渡される ScriptDefinition オ
ブジェクトです。
string s, lineend
integer li
lineend = "~r~n"
// スクリプト名。
s = s + scriptobj.Name + lineend
// 戻り値のデータ型。
s = s + scriptobj.ReturnType.DataTypeOf + lineend
// 引数名のリスト。
s = s + "Arguments:" + lineend
FOR li = 1 to UpperBound(scriptobj.ArgumentList)
s = s + scriptobj.ArgumentList[li].Name + lineend
NEXT
// ローカル変数のリスト。
530
PowerBuilder
第 10 章
PowerScript 関数
s = s + "Local variables:" + lineend
FOR li = 1 to UpperBound(scriptobj.LocalVariableList)
s = s + scriptobj.LocalVariableList[li].Name &
+ lineend
NEXT
RETURN s
関連項目
FindClassDefinition
FindFunctionDefinition
FindTypeDefinition
FindNext
機能
以前の Find 関数の呼び出しで設定された条件を使用して、コントロー
ル内で次に条件が一致するテキストを検索し、そのテキストをハイラ
イト表示します。
対象
リッチテキスト エディット コントロールと、内容の提示様式がリッチ
テキストのデータウィンドウ コントロール
構文
controlname.FindNext ( )
引数
controlname
説明
内容を検索するリッチテキスト エディット コントロールま
たはデータウィンドウ コントロールの名前を指定します。
戻り値
Integer 型。検索された文字数を返します。一致するテキストを検索で
きなかった場合は 0 を返します。データウィンドウの提示様式がリッ
チテキストでなかった場合、またはエラーが発生した場合には -1 を返
します。
例
次に、エンド ユーザがシングルライン エディット コントロール
sle_search で指定したテキストを、リッチテキスト エディット コント
ロール rte_1 で検索する例を示します。検索は、カーソルの位置から下
方向に実行されます。この例では、大文字と小文字を区別せずに検索
します。また、完全に一致する単語だけを検索するのではなく、一部
が一致する文字列も検索します。
integer li_charsfound
li_charsfound = rte_1.Find(sle_search.Text, &
TRUE, TRUE, FALSE, TRUE)
"Find Next" というラベルが付いた 2 番目のボタンには、次のようなス
クリプトが記述されています。
PowerScript リファレンス ボリューム 2
531
FindSeries
rte_1.FindNext()
関連項目
Find
FindSeries
機能
データ系列の名前がわかる場合に、グラフ内のデータ系列の番号を取
得することができます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.FindSeries ( { graphcontrol, } seriesname )
引数
controlname
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。そのグラフ
のデータ系列番号を求めます。
graphcontrol
(オプション)系列を含むデータウィンドウ コントロール
(データウィン 内のグラフの名前の文字列を指定します。
ドウ コント
ロールのみ)
seriesname
番号を求めるデータ系列の名前を表す文字列を指定します。
戻り値
Integer 型。グラフ controlname で指定したグラフ内の seriesname で指定
されたデータ系列の番号を返します。また、controlname がデータウィ
ンドウ コントロールである場合は、graphcontrol で指定したグラフ内
の seriesname で指定されたデータ系列の番号を返します。エラーが発
生した場合、-1 を返します。また、引数のいずれかの値が null の場合
は null を返します。
解説
ほとんどのデータ系列を操作する関数は、データ系列の名前よりも
データ系列の番号を必要とします。ただし、データ系列の削除や挿入
を行う場合、既存のデータ系列の番号は連続するように付け直されま
す。データ系列の名前だけがわかっている場合やデータ系列の番号が
変わっている可能性がある場合、FindSeries 関数を使用します。
例
次の例では、シングルライン エディット コントロール sle_series にグ
ラフ gr_product_data 上のデータ系列名が入力されるものとします。そ
のデータ系列名の番号を取得して、SeriesNbr に格納します。
integer SeriesNbr
SeriesNbr = &
gr_product_data.FindSeries(sle_series.Text)
532
PowerBuilder
第 10 章
PowerScript 関数
以下に、データウィンドウ コントロール dw_equipment 上のグラフ
gr_computers のデータ系列 PCs の番号を取得して SeriesNbr に格納する
ステートメントを示します。
integer SeriesNbr
SeriesNbr = &
dw_equipment.FindSeries("gr_computers", "PCs")
関連項目
AddSeries
DeleteSeries
FindCategory
FindTypeDefinition
機能
1 つまたは複数の PowerBuilder ライブラリ(PBL)で型を検索し、その
型定義に関する情報を返します。システム タイプの型定義も取得する
ことができます。
構文
FindTypeDefinition ( typename {, librarylist } )
引数
typename
説明
情報を取得する単純データ型、カタログ データ型、または
クラスの名前を指定します。ネストしている型の型定義を
検索するには、次の形式を使用します。
libraryEntryName`typename
librarylist
(オプション)
String 型の値の配列。PBL の絶対パス名を指定します。こ
の引数を省略すると、FindTypeDefinition 関数は実行中のア
プリケーションに関連付けられているライブラリ リスト
を検索します。
PowerBuilder は、カタログ データ型やシステム クラスなど
の組み込みの定義用のライブラリも検索します。
戻り値
TypeDefinition 型。typename の定義に関する情報のオブジェクト参照を
返します。いずれかの引数が null の場合、null を返します。
解説
返される TypeDefinition オブジェクトは、実際には ClassDefinition オブ
ジェクト、SimpleTypeDefinition オブジェクト、または EnumerationDefinition
オブジェクトです。Category プロパティをテストすると、このうちの
どれであるかがわかります。
クラスの情報を取得する場合は、かわりに FindClassDefinition 関数を呼
び出します。引数は同じで、返されるオブジェクトが ClassDefinition オ
ブジェクトであることをチェックする操作手順を省略できます。
PowerScript リファレンス ボリューム 2
533
FindTypeDefinition
グローバル関数の情報を取得する場合は、FindFunctionDefinition 関数を
呼び出します。
例
次に、grGraphType カタログ データ型の TypeDefinition オブジェクトを
取得し、型定義の項目をチェックする例を示します。この項目はカタ
ログ データ型なので、EnumerationDefinition オブジェクト型を割り当
て、名前を文字列に保存します。
TypeDefinition td_graphtype
EnumerationDefinition ed_graphtype
string enumname
td_graphtype = FindTypeDefinition("grgraphtype")
IF td_graphtype.Category = EnumeratedType! THEN
ed_graphtype = td_graphtype
enumname = ed_graphtype.Enumeration[1].Name
END IF
次に、定義名を引数とする関数の例を示します。引数は typename です。
指定された TypeDefinition オブジェクトを検索し、その項目をチェック
して、それを適切な定義オブジェクトに割り当てます。
TypeDefinition td_def
SimpleTypeDefinition std_def
EnumerationDefinition ed_def
ClassDefinition cd_def
td_def = FindTypeDefinition(typename)
CHOOSE CASE td_def.Category
CASE SimpleType!
std_def = td_def
CASE EnumeratedType!
ed_def = td_def
CASE ClassOrStructureType!
cd_def = td_def
END CHOOSE
次に、配列 ls_libraries 内のライブラリで w_genapp_frame のクラス定義
を検索する例を示します。
TypeDefinition td_windef
string ls_libraries[ ]
ls_libraries[1] = "c:\pwrs\bizapp\windows.pbl"
ls_libraries[2] = "c:\pwrs\framewk\windows.pbl"
ls_libraries[3] = "c:\pwrs\framewk\ancestor.pbl"
td_windef = FindTypeDefinition(
534
PowerBuilder
第 10 章
PowerScript 関数
"w_genapp_frame", ls_libraries)
関連項目
FindClassDefinition
FindFunctionDefinition
FindMatchingFunction
FromAnsi
機能
ANSI 文字列を含む Blob 型を Unicode 文字列に変換します。
構文
FromAnsi ( blob )
引数
blob
説明
Unicode 文字列に変換する ANSI 文字列を含む Blob 型を指
定します。
戻り値
String 型。成功すると文字列を返し、失敗すると空の文字列を返します。
解説
FromAnsi 関数は、
Blob 型データに含まれている ANSI 文字列を Unicode
文字列に変換します。
FromAnsi 関 数 は String(blob, EncodingANSI!) と 同 じ 結 果 を 返 す の で、
PowerBuilder の将来のリリースではサポートされなくなる予定です。
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。
関連項目
FromUnicode
String
ToAnsi
ToUnicode
FromUnicode
機能
Unicode 文字列を含む Blob 型を、現在使用している PowerBuilder(ANSI
または Unicode バージョン)のファイル形式の文字列に変換します。
構文
FromUnicode ( blob )
PowerScript リファレンス ボリューム 2
535
GarbageCollect
引数
blob
説明
現在使用している PowerBuilder のファイル形式に変換す
る Unicode 文字列を含む Blob 型を指定します。
戻り値
String 型。成功すると文字列を返し、失敗すると空の文字列を返します。
解説
FromUnicode 関数は、Unicode Blob 型を Unicode 文字列に変換します。
返される結果は、String(blob) と同じです。この関数は、PowerBuilder の
将来のリリースではサポートされなくなる予定です。
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。Unicode ファイルをストリーム モードで開
く場合は、最初の 2 バイトをとばして読み込んでください。
関連項目
FromAnsi
ToAnsi
ToUnicode
GarbageCollect
機能
ガベージ コレクションをただちに強制実行します。
構文
GarbageCollect ( )
戻り値
なし
解説
ガベージ コレクションをただちに強制実行します。PowerBuilder は、
循環参照を持つオブジェクトを含む使用されていないオブジェクトを
識別するパスを作成し、使用されていないオブジェクトとクラスを削
除します。
例
次に、ガベージ コレクションを開始するステートメントを示します。
GarbageCollect()
関連項目
536
GarbageCollectGetTimeLimit
GarbageCollectSetTimeLimit
PowerBuilder
第 10 章
PowerScript 関数
GarbageCollectGetTimeLimit
機能
ガベージ コレクションの現行の最小間隔を取得します。
構文
GarbageCollectGetTimeLimit ( )
戻り値
Long 型。現行の最小ガベージ コレクション間隔を返します。
解説
ガベージ コレクションを実行する現行の最小間隔を読み込みます。
例
次に、ガベージ コレクションを実行する間隔を変数 CollectTime に返
すステートメントを示します。
long CollectTime
CollectTime = GarbageCollectGetTimeLimit()
関連項目
GarbageCollect
GarbageCollectSetTimeLimit
GarbageCollectSetTimeLimit
機能
ガベージ コレクションを実行する最小間隔を設定します。
構文
GarbageCollectSetTimeLimit ( newtimeinmilliseconds )
引数
newtimeinmilliseconds
説明
Long 型の値(ミリ秒単位)。ガベージ コレクション
サイクルの最小間隔を指定します。
null の場合、既存の間隔は変更されません。
戻り値
Long 型。この関数が呼び出される前に存在していた間隔を返します。
newTime が null の場合は null が返され、現行の間隔は変更されません。
解説
ガベージ コレクションを実行する最小間隔を指定します。ガベージ コ
レクションの実行は、この間隔が満了するまで発生しません。
下限に非常に大きな数値を設定することで、ガベージ コレクションを
事実上使用不可にすることができます。ガベージ コレクションが使用
不可の場合、使用されていないクラスはクラス キャッシュからフラッ
シュされません。
例
次に、ガベージ コレクションを実行する間隔を 1 秒に設定し、変数
OldTime を前回の間隔の長さに設定する例を示します。
long OldTime, NewTime
PowerScript リファレンス ボリューム 2
537
GarbageCollectSetTimeLimit
NewTime = 1000 /* 1 秒 */
OldTime = GarbageCollectSetTimeLimit(NewTime)
関連項目
538
GarbageCollect
GarbageCollectGetTimeLimit
PowerBuilder
第 10 章
PowerScript 関数
GetActiveSheet
機能
MDI フレーム ウィンドウ上で、現在アクティブなシートを返します。
対象
MDI フレーム ウィンドウ
構文
mdiframewindow.GetActiveSheet ( )
引数
mdiframewindow
説明
アクティブなシートを取得する MDI フレーム ウィン
ドウを指定します。
戻り値
Window 型。mdiframewindow 上で現在アクティブなシートを返します。
アクティブなシートがない場合、この関数は無効な値を返します。
mdiframewindow が null の場合は、null を返します。
解説
GetActiveSheet 関数が有効な Window 型の値を返したかどうかを確認す
るには、IsValid 関数を使用します。
例
以下に、MDI フレーム ウィンドウ w_frame 上のアクティブなシートを
調べ、メニューバー m_main 上のメニュー m_file についてメニュー項目
m_close のテキストを変更するステートメントを示します。アクティブ
なシートが存在しなかった場合、メニュー項目のテキストは「ウィン
ドウを閉じる」になります。
// アクティブなシートの変数を宣言します。
window activesheet
string mtext
activesheet = w_frame.GetActiveSheet()
IF IsValid(activesheet) THEN
// アクティブなシートが存在する場合、そのタイトルを取得します。
// 読み込むメニュー項目のテキストを変更して
// アクティブシートのタイトルに " 閉じる " を追加します。
mtext = " 閉じる " + activesheet.Title
m_main.m_file.m_close.Text = mtext
ELSE
// アクティブなシートがない場合、
「ウィンドウを閉じる」にします。
m_main.m_file.m_close.Text = " ウィンドウを閉じる "
END IF
関連項目
IsValid
PowerScript リファレンス ボリューム 2
539
GetAlignment
GetAlignment
機能
リッチテキスト エディット コントロールで、挿入ポイントがある段落
の配置を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.GetAlignment ( )
引数
rtename
説明
リッチテキスト エディット コントロールの名前を指定し
ます。指定されたコントロールで、挿入ポイントがある段
落の配置を調べます。
戻り値
Alignment 型。挿入ポイントがある段落の配置を示す Alignment カタロ
グ データ型の値を返します。
解説
複数の段落が選択されている場合、挿入ポイントは、最初の段落か最
後の段落にあります。挿入ポイントの位置は、エンドユーザの段落の
選択方法によって異なります。報告される値は、挿入ポイントの位置
によって異なります。
例
次に、挿入ポイントがある段落の配置の設定を保存する例を示します。
alignment l_align
l_align = rte_1.GetAlignment()
関連項目
GetSpacing
GetTextStyle
SetAlignment
SetSpacing
SetTextStyle
GetApplication
機能
現行のアプリケーション オブジェクトのハンドルを取得し、アプリ
ケーションの属性の内容の取得と設定を行うことができます。
構文
GetApplication ( )
戻り値
Application 型。現行のアプリケーション オブジェクトのハンドルを返
します。
540
PowerBuilder
第 10 章
解説
PowerScript 関数
GetApplication 関数を使用すると、アプリケーションに対して汎用的な
コーディングを行うことができます。また、ほかのアプリケーション
でも再利用することができます。アプリケーションのプロパティを設
定する場合に、実際のアプリケーションの名前を記述する必要があり
ません。
例
次に、ツールバーのボタンに対するテキストを表示するかどうかを変
更するために、アプリケーション オブジェクトのハンドルを取得して
ToolbarTips プロパティを設定する例を示します。
application app
app = GetApplication()
app.ToolbarTips = FALSE
上の例は、次のように記述することもできます。
GetApplication().ToolbarTips = FALSE
GetArgElement
機能
指定した引数の値を返します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.GetArgElement ( index )
引数
activexcontrol
index
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、ActiveX コントロー
ルは OBJECT エレメントの NAME 属性になります。ほか
の環境で使用する場合は、PowerBuilder ウィンドウ ActiveX
を含むコントロールを参照します。
戻り値を整数で指定します。
戻り値
Any 型。指定した引数を返します。
解説
InvokePBFunction 関数または TriggerPBEvent 関数の後にこの関数を呼び
出すと、参照渡しされた引数の更新された値を取得できます。
JavaScript スクリプトで参照渡しされる引数にアクセスするには、この関
数を使用しなければなりません。VBScript スクリプトでは、SetArgElement
関数を呼び出して引数リストを作成した場合に、この関数を使用でき
ます。
PowerScript リファレンス ボリューム 2
541
GetAutomationNativePointer
例
次の JavaScript の例は、GetArgElement 関数を呼び出します。
...
theArg = f.textToPB.value;
PBRX1.SetArgElement(1, theArg);
theFunc = "of_argref";
retcd = PBRX1.InvokePBFunction(theFunc, numargs);
rc = parseInt(PBRX1.GetLastReturn());
IF (rc != 1) {
alert(" エラー。空の文字列です。");
}
backByRef = PBRX1.GetArgElement(1);
...
関連項目
GetLastReturn
InvokePBFunction
SetArgElement
TriggerPBEvent
GetAutomationNativePointer
機能
OLEObject 変数に関連付けられている OLE オブジェクトへのポインタ
を取得します。このポインタによって、オブジェクトの外部 DLL の
OLE 関数を呼び出すことができます。
対象
OLEObject
構文
oleobject.GetAutomationNativePointer ( pointer )
引数
oleobject
pointer
戻り値
542
説明
ネイティブ ポインタのオブジェクトを含む OLE オブジェ
クト変数の名前を指定します。
ポインタを格納する UnsignedLong 型変数を指定します。
GetAutomationNativePointer 関数が有効なポインタを取得
できなかった場合、pointer に 0 が設定されます。
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、OLE QueryInterface 関数
とともに使用します。GetAutomationNativePointer 関数が呼び出されると、
PowerBuilder は OLE の AddRef 関数を呼び出してポインタをロックしま
す。DLL 関数、または PowerBuilder スクリプトで
ReleaseAutomationNativePointer 関数を使用してポインタを解放する必要
があります。
この関数は、外部 DLL 呼び出しに対してのみ有効です。
SetAutomationPointer 関数とは関係ありません。
例
次に、OLEObject オブジェクトを作成し、オートメーション サーバに
接続する例を示します。外部関数を呼び出すポインタを取得し、処理
後はポインタを解放します。
OLEObject oleobj_report
UnsignedLong lul_oleptr
integer li_rtn
oleobj_report = CREATE OLEObject
oleobj_report.ConnectToObject("report.doc")
li_rtn = &
oleobj_report.GetAutomationNativePointer(lul_oleptr)
IF li_rtn = 0 THEN
... // オートメーションの外部関数を呼び出します。
oleobj_report.&
ReleaseAutomationNativePointer(lul_oleptr)
END IF
関連項目
GetNativePointer
ReleaseAutomationNativePointer
ReleaseNativePointer
GetByte
機能
blob 変数から Byte 型のデータを抽出します。
構文
GetByte ( blobvariable, n, b )
引数
blobvariable
n
PowerScript リファレンス ボリューム 2
説明
Byte データ型の値を抽出したい Blob データ型の変数を指定
します。
Byte データ型の値を取り出したい blobvariable 内の位置の番
号を指定します。
543
GetByteArray
引数
b
説明
返された Byte 型のデータを格納したい Byte データ型の変数
を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返します。blobvariable のスコー
プを超える場合は -1 を返します。引数のいずれかの値が null の場合は
null を返します。
解説
blob 内の先頭の文字の値を取得したい場合は、文字の位置を定義する
引数を使用しないで Byte 関数を使用します。
例
次の例は、3 番目の位置にある文字の byte 値を取得する前に、シング
ルライン エディット内のテキストを blob に変換します。
Int li_rtn
Byte lb_byte
Blob myBlob
myBlob = Blob (sle_1.text, EncodingUTF8!)
li_rtn = GetByte(myBlob, 3, lb_byte)
messagebox("getbyte", string(lb_byte))
関連項目
Byte
SetByte
GetByteArray
機能
blob に保存されている値を Byte 型の配列値として取得します。
構文
GetByteArray ( input )
引数
input
戻り値
説明
バイト配列で返したい Blob データ型を指定します。
Any 型。正常に終了した場合、input 変数の値を Byte データ型の配列で
返します。input 変数が有効な blob でない場合は 0 を返します。
解説
戻り値をバイト配列に直接割り当てることができます。
例
次の例は、引数として渡された blob をバイト配列に変換します。
Byte ly_byte[]
ly_byte[] = GetByteArray(blobarg)
関連項目
544
Blob
GetByte
PowerBuilder
第 10 章
PowerScript 関数
GetCertificateLabel
機能
EAServer によって呼び出され、ユーザが認証用の SSL 証明書ラベルの
いずれかを選択できるようにします。この関数は、EAServer に接続し
ている PowerBuilder クライアントによって使用されます。
対象
SSLCallBack オブジェクト
構文
sslcallback.GetCertificateLabel ( thesessioninfo, labels )
引数
sslcallback
thesessioninfo
labels
説明
カスタマイズされた SSLCallBack オブジェクトのインス
タンスを指定します。
SSL セッションに関する情報を含む CORBA オブジェク
トを指定します。オプションで、この情報を表示し、セッ
ションについての詳細をユーザに提供することもできます。
String 型の値の配列。利用可能な証明書ラベルを指定しま
す。ユーザは、この中からいずれか 1 つのラベルを選択し
ます。
戻り値
String 型。関数に渡されたラベルのうちの 1 つを返します。
解説
PowerBuilder のアプリケーションでは通常、GetCertificateLabel 関数は直
接には呼び出されません。SSL 接続用の証明書ラベルを EAServer クラ
イアントが指定しなかった場合、GetCertificateLabel 関数は EAServer に
よって呼び出されます。
SSLCallBack オブジェクトの任意の関数の動作を上書きするためには、
SSLCallBack から継承された標準クラス ユーザ オブジェクトを作成
し、必要であればこのオブジェクトをカスタマイズします。コールバッ
クが要求されたときに使用するオブジェクトを EAServer に認識させ
るには、SSL の callbackImpl プロパティにオブジェクト名を指定しま
す。このプロパティの値は、SetGlobalProperty 関数によって設定でき
ます。
GetCertificateLabel の実装を指定しないと、EAServer が
CORBA::NO_IMPLEMENT 例外を捕捉するため、このコールバックには
デフォルトの実装が使用されることになります。デフォルトの実装を
使用した場合は常に、ラベルのリストのうち先頭の証明書が返されます。
ラベルが指定されていない場合は、CtsSecurity::NoCertificateException が
生成されます。関数によって生成されるかもしれない例外はすべて、
そのプロトタイプに追加しておく必要があります。
PowerScript リファレンス ボリューム 2
545
GetCertificateLabel
コールバックの実装が空の文字列を返した場合は、先に述べたデフォ
ルトの実装が使用されるため、リストのうちの先頭にある証明書が返
されます。相互認証を要求したサーバが、その証明書を受け入れれば
接続が続行されますが、受け入れなければ接続は拒否されます。
有効な戻り値を取得するには、関数に渡された labels 配列から使用可
能な証明書ラベルをユーザに提示して、それらのうちの 1 つを選択す
るように促します。渡された thesessioninfo オブジェクトから取得した
追加情報をユーザに提示することも可能です。
このコールバック関数内で例外を送出することによって、このような
接続の試行をユーザがキャンセルすることが可能になります。
SSLCallback 関数で送出された例外はそのすべてが、
CTSSecurity::UserAbortedException をユーザに返します。その例外を捕捉
するには、ConnectToServer 関数を try-catch ブロックの中に含める必要
があります。
例
次に、使用可能な証明書ラベルがあるかどうかを調べる例を示します。
より多くのコンテキストをユーザに与えるために、SSL セッション情
報オブジェクトから取得されたホストとポートの情報をメッセージ
ボックスの中に表示して、証明書ラベルがいっさい使用できないこと
を通知します。使用可能な証明書がある場合は、使用可能な証明書ラ
ベルを表示するレスポンス ウィンドウを開きます。
レスポンス ウィンドウは CloseWithReturn を使用して、選択されている
項目のテキストを返します。
int
idx, numLabels
long rc
String ls_rc, sText, sLocation
w_response w_ssl_response
CTSSecurity_sslSessionInfo mySessionInfo
rc = thesessioninfo._narrow(mySessionInfo, &
"SessionInfo" )
sLocation = mySessionInfo.getProperty( "host" ) + &
":" + mySessionInfo.getProperty( "port" )
numLabels = upperbound(labels)
IF numLabels <= 0 THEN
MessageBox (" 個人の証明書が必要です ", &
" 次の場所に接続するには、証明書が必要です : " &
+ sLocation + "~n 使用できる証明書がありません ")
ls_rc = ""
ELSE
sText = "Available certificates: "
FOR idx=1 to numLabels
546
PowerBuilder
第 10 章
PowerScript 関数
sText += "~nCertificate[" + &
string(idx) + "]: " + labels[idx]
NEXT
OpenWithParm( w_ssl_response, SText )
ls_rc = Message.StringParm
IF ls_rc = "cancel" then
userabortedexception uae
uae = create userabortedexception
uae.setmessage("User cancelled connection" &
+ " when asked for certificate")
throw uae
END IF
END IF
RETURN ls_rc
関連項目
ConnectToServer
GetCredentialAttribute
GetPin
TrustVerify
GetChildrenList
機能
トレースツリーモデルに含まれるルーチンの子リストを取得します。
対象
TraceTreeObject オブジェクト、TraceTreeRoutine オブジェクト、
TraceTreeGarbageCollect オブジェクト
構文
instancename.GetChildrenList ( list )
引数
instancename
list
戻り値
説明
TraceTreeObject オブジェクト、TraceTreeRoutine オブジェ
クト、または TraceTreeGarbageCollect オブジェクトのイン
スタンス名を指定します。
データ型が TraceTreeNode の可変長の配列変数を指定します。
GetChildrenList 関数は各ルーチンの子ごとに TraceTreeNode
オブジェクトを格納します。この引数は、参照渡しされます。
ErrorReturn 型。次の値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しません。
PowerScript リファレンス ボリューム 2
547
GetColumn
解説
GetChildrenList 関数では、トレースツリーモデルに含まれるルーチンの
子のリストを取得できます。この子とは、ルーチンが呼び出すクラス
やルーチンを指します。リストされた子は、それぞれが TraceTreeNode
オブジェクトとして定義され、各子の動作のタイプがわかります。
あらかじめ、BuildModel 関数でトレース ファイルからトレースツリー
モデルを作成しておかなければなりません。
TraceTreeGarbageCollect オブジェクトに対して GetChildrenList 関数を呼
び出すと、リストされた子は、通常、ガベージコレクション オブジェ
クトのデストラクタを表します。
例
次の例では、トレースツリーモデルに含まれるノードの動作タイプを
確認します。動作タイプがルーチンである場合、このルーチンを含む
クラスの名前を確認し、このルーチンが呼び出すクラスやルーチンの
リストを取得します。
TraceTree ltct_node
TraceTreeNode ltctn_list
...
CHOOSE CASE node.ActivityType
CASE ActRoutine!
TraceTreeRoutine ltctrt_rout
ltctrt_rout = ltct_node
result += "Enter " + ltctrt_rout.ClassName &
+ "." + ltctrt_rout.name + " " &
+ String(ltctrt_rout.ObjectID) + " " &
+ String(ltctrt_rout.EnterTimerValue) &
+ "~r~n" ltctrt_rout.GetChildrenList(ltctn_list)
...
関連項目
BuildModel
GetColumn
機能
データウィンドウ コントロール、子データウィンドウ、またはリスト
ビュー コントロールのカラムに関する情報を返します。
データウィンドウ コントロールまたは子データウィンドウの場合の
構文については、
『データウィンドウ リファレンス』マニュアルまた
はオンライン ヘルプの「GetColumn メソッド」を参照してください。
対象
548
リストビュー コントロール
PowerBuilder
第 10 章
構文
PowerScript 関数
listviewname.GetColumn ( index, label, alignment, width )
引数
listviewname
index
label
alignment
説明
リストビュー コントロールの名前を指定します。指定され
たカラムのプロパティを返します。
カラムのインデックスを整数で指定します。指定されたカ
ラムのプロパティを返します。
カラムのラベルを文字列で指定します。指定されたカラム
のプロパティを返します。この引数は、参照渡しされます。
カラムの配置を Alignment カタログ データ型の値で指定
します。指定されたカラムのプロパティを返します。値は
以下のとおりです。
• Center!
• Justify!
• Left!
• Right!
width
この引数は、参照渡しされます。
カラムの幅を整数で指定します。指定されたカラムのプロ
パティを返します。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
指定されたカラムのプロパティを取得するには、label、alignment、width
の各引数を使用します。
例
次に、インスタンス変数 li_col を使用してカラム番号を GetColumn 関
数に渡し、カラムのプロパティを返す例を示します。このスクリプト
では、SetColumn 関数を使用してカラムの配置を変更しています。
string ls_label,ls_align
int li_width
alignment la_align
IF lv_list.View <> ListViewReport! THEN
lv_list.View = ListViewReport!
END IF
IF li_col = 0 THEN
MessageBox(" エラー !"," カラムバーをクリックしてください。
", &
StopSign!)
ELSE
lv_list.GetColumn(li_col, ls_label, la_align, &
li_width)
PowerScript リファレンス ボリューム 2
549
GetCommandDDE
lv_list.SetColumn(li_col, ls_label, Right!, &
li_width)
END IF
関連項目
SetColumn
GetCommandDDE
機能
DDE サーバ アプリケーションから、クライアント アプリケーション
が送信したコマンドを取得します。
構文
GetCommandDDE ( string )
引数
string
説明
String 型の変数を指定します。指定された変数には、
GetCommandDDE 関数で取得するコマンドが格納されま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、関数が不正なコンテキストで呼び出された場合)は -1 を返し
ます。string が null の場合は、null を返します。
解説
ある DDE クライアント アプリケーションがサーバのアプリケーション
にコマンドを送った場合、アクティブ ウィンドウ内の RemoteExec イベ
ントを起動します。そのイベントのスクリプト内で、GetCommandDDE
関数を呼び出して、どのコマンドが送られたのかを確認します。送信
されたコマンドに対してアプリケーションでどのように応答するかは
サーバの責任です。
DDE サーバ モードを使用可能にするために、アプリケーションの
DDE 名やトピック、サポートしている項目を決定して StartServerDDE
関数を呼び出します。
例
次の例は、RemoteExec イベントに対するスクリプトの一部です。DDE
クライアントから要求されたアクションが Open Next Sheet であるかど
うかを確認します。Open Next Sheet の場合、DDE サーバが DataSheet
のインスタンスを開きます。要求されたアクションが Shut Down の場
合、DDE サーバ自体を終了します。それ以外のアクションが要求され
た場合には、DDE アプリケーションに対して、無効なアクションが要
求されたことを DDE クライアントに通知します。
変数 ii_sheetnum および i_DataSheet [] は、
DDE イベントに応答するウィ
ンドウのインスタンス変数です。
550
PowerBuilder
第 10 章
PowerScript 関数
integer ii_sheetnum
DataSheet i_DataSheet[ ]
クライアント アプリケーションから送られたコマンドをローカル変
数 ls_Action に格納します。
string ls_Action
GetCommandDDE(ls_Action)
IF ls_Action = "Open Next Sheet" THEN
ii_sheetnum = ii_sheetnum + 1
OpenSheet(i_DataSheet[ii_sheetnum], w_frame_emp)
ELSEIF ls_Action = "Shut Down" THEN
HALT CLOSE
ELSE
RespondRemote(FALSE)
END IF
関連項目
GetCommandDDEOrigin
StartServerDDE
StopServerDDE
GetCommandDDEOrigin
機能
DDE サーバ アプリケーションがこの関数を呼び出すと、コマンドを送
信している DDE クライアントが使用したアプリケーション名パラ
メータを返します。
構文
GetCommandDDEOrigin ( applstring )
引数
applstring
戻り値
説明
String 型の変数を指定します。指定された変数には、
GetCommandDDEOrigin 関数で取得するサーバ アプリケー
ションの名前が格納されます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、関数が不正なコンテキストで呼び出された場合)は -1 を返し
ます。applstring が null の場合は、null を返します。
解説
この関数を呼び出すサーバ アプリケーションは、アプリケーション名
(独自の DDEname)を使用して、送信されたコマンドに応答するかど
うかを決めます。それ以外の場合には、この関数はクライアントに関
する追加情報を返しません。
PowerScript リファレンス ボリューム 2
551
GetCommandString
例
次のスクリプトは、クライアント アプリケーションがサーバ アプリ
ケーションを識別するために使用した名前を、ローカル変数 ls_name
に格納します。
string ls_name
GetCommandDDEOrigin(ls_name)
関連項目
GetCommandDDE
StartServerDDE
StopServerDDE
GetCommandString
機能
dbmlsync から同期サーバに送信されたコマンド文字列を返します。
対象
MLSync コントロール
構文
syncObject.GetCommandString ( )
引数
syncObject
戻り値
説明
同期サーバに発行された実際の dbmlsync コマンドを取得
したい同期を開始した MLSync オブジェクトの名前を指定
します。
String 型。同期サーバへの発行に設定されたコマンド文字列を返しま
す。必 要 な プ ロ パ テ ィ が な い 場 合 は -1 を 返 し ま す(Datasource、
Publication、MLUser、および MLServerVersion プロパティが必要)。そ
の場合、記述エラーが MLSync オブジェクトの ErrorText プロパティに
書き込まれます。
解説
エンド ユーザの混乱を避けるために、MobiLink アプリケーションのカ
スタマイズした同期オプション ウィンドウで特定のコマンド ライン
の 引 数 を 表 示 し た く な い 場 合 が あ り ま す。そ の よ う な 場 合、
GetCommandString 関数を呼び出してオプション ウィンドウが生成する
コマンド ラインを返してから、ユーザに対して表示しないオプション
の値を追加します。
例
MLSync オブジェクトについては、以下のように、同期を呼び出すた
めのコマンド ライン引数をユーザが編集できるようにすることがで
きます。
long rc
string cmd
cmd = myMLSync.GetCommandString()
// 必要に応じて cmd を編集できます。
552
PowerBuilder
第 10 章
PowerScript 関数
...
rc = myMLSync.Synchronize(cmd)
関連項目
GetSyncRegistryProperties
SetParm
SetSyncRegistryProperties
Synchronize
GetCompanyName
機能
現在の実行コンテキストに対応する会社名を返します。
対象
ContextInformation オブジェクト
構文
servicereference.GetCompanyName ( name )
引数
servicereference
name
戻り値
説明
ContextInformation サービス インスタンスへの参照を
指定します。
会社名を格納する文字列を指定します。この引数は、
参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
この関数を呼び出すことで、Sybase, Inc. などのような会社名を確認で
きます。
例
次に、GetCompanyName 関数を呼び出す例を示します。
String ls_company
Integer li_return
ContextInformation ci
ci = create ContextInformation
// または GetContextService("ContextInformation", ci)
li_return = ci.GetCompanyName(ls_company)
IF li_return = 1 THEN
sle_co_name.text = ls_company
END IF
関連項目
GetContextService
GetFixesVersion
GetHostObject
GetMajorVersion
GetMinorVersion
PowerScript リファレンス ボリューム 2
553
GetContextKeywords
GetName
GetShortName
GetVersionName
GetContextKeywords
機能
指定したキーワードに関連する値を 1 つまたは複数返します。
対象
ContextKeyword オブジェクト
構文
servicereference.GetContextKeywords ( name, values )
引数
servicereference
name
values
戻り値
説明
サービス インスタンス ContextKeyword を参照します。
関数が対応する値を返すときのキーワードを指定しま
す。
可変長文字列の配列で、name に対応する値を格納しま
す。この引数は、参照渡しされます。
Integer 型。正常に終了した場合は values 内の要素数を返し、エラーが
発生した場合には -1 を返します。
解説
この関数を呼び出すと、環境変数を取得できます。使用可能な環境変
数は、実行コンテキストによって異なります。
関数は、固有のキーワードがある DOS 環境
変数のそれぞれにアクセスします。
•
PowerBuilder 実行時
•
PowerBuilder ウィンドウ プラグイン
•
PowerBuilder ウィンドウ ActiveX 関数は、固有のキーワードがあ
EMBED タグで指定したキー
ワードを取得します。キーワードは固有のものである必要はあり
ません。EMBED タグにキーワードを指定していない場合、関数
は、指定された名前の DOS 環境変数の取得を試みます。
る DOS 環境変数のそれぞれにアクセスします。
この関数は、PowerBuilder EAServer コンポーネントの .props ファイル
から特定のプロパティの値を返すために PowerBuilder EAServer コン
ポーネントと一緒に使用することも可能です。EAServer コンポーネン
トのプロパティを列挙するためには、Jaguar::Repository API を使用しま
す。
例
次に、GetContextKeywords 関数を呼び出す例を示します。
String ls_keyword
554
PowerBuilder
第 10 章
PowerScript 関数
Integer li_count, li_return
ContextKeyword lcx_key
li_return = this.GetContextService &
("ContextKeyword", lcx_key)
ls_keyword = sle_name.Text
lcx_key.GetContextKeywords &
(ls_keyword, is_values)
FOR li_count = 1 to UpperBound(is_values)
lb_parms.AddItem(is_values[li_count])
NEXT
関連項目
GetContextService
GetContextService
機能
指定したサービスのコンテキスト固有のインスタンスに対する参照を
返します。
対象
すべてのオブジェクト
構文
GetContextService ( servicename, servicereference )
PowerScript リファレンス ボリューム 2
555
GetContextService
引数
servicename
説明
サービス オブジェクトを指定する文字列です。次のい
ずれかの値を指定します。
• ContextInformation - コンテキスト情報サービス
• ContextKeyword または Keyword - コンテキスト
キーワード サービス(AIX 以外のすべての EAServer
プラットフォームでは、servicename として Keyword
を使用する)
• CORBACurrent - EAServer トランザクションのクラ
イアント管理またはコンポーネント管理に対応した
CORBA の現行サービス
• ErrorLogging - EAServer や COM+ などのトランザ
クション サーバで動作する PowerBuilder コンポー
ネントに対するエラー ロギング サービス
• Internet - インターネット サービス
• SSLServiceProvider - PowerBuilder クライアントが
EAServer コンポーネントへの SSL 接続を確立する
ための SSL サービス プロバイダ サービス
servicereference
• TransactionServer - EAServer や COM+ などのトラン
ザクション サーバで動作する PowerBuilder コン
ポーネントに対するトランザクション サーバ サー
ビス
servicename で指定したサービス オブジェクトに対す
る参照を格納する PowerObject を指定します。この引数
は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は、
負の整数を返します。戻り値が -1 であれば、特定できないエラーが発
生したという意味です。
解説
サービス オブジェクトの参照を作成することによって、サービス オブ
ジェクトのメソッドやプロパティにアクセスできます。サービス オブ
ジェクト関数を呼び出す前にこの関数を呼び出さなくてはなりませ
ん。
Windows アプリケーションでは、ContextKeyword サービスのインスタ
ン ス を 取 得 す る 場 合 は servicename 引 数 と し て ContextKeyword か
Keyword を使用することが可能です。AIX 以外のすべての EAServer プ
ラットフォームでは、Keyword を使用する必要があります。
556
PowerBuilder
第 10 章
PowerScript 関数
CREATE 文の使い方
これらのオブジェクトは、PowerScript の CREATE 文を使ってインスタ
ンス化できます。ただし、アプリケーションを実行する環境にかかわ
らず、デフォルトであるネイティブの PowerBuilder 実行環境向けのコ
ンテキストでオブジェクトを作成します。
例
次に、GetContextService 関数を呼び出して、シングル ライン エディッ
ト ボックスにサービスのクラスを表示する例を示します。
Integer li_return
ContextKeyword lcx_key
li_return = this.GetContextService &
("Keyword", lcx_key)
sle_classname.Text = ClassName(lcx_key)
...
関連項目
BeginTransaction
GetCompanyName
GetContextKeywords
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
GetURL
GetVersionName
HyperLinkToURL
Init
PostURL
GetCredentialAttribute
機能
アカウント情報がユーザに動的に提供されるように、EAServer によっ
て呼び出されます。この関数は、EAServer に接続している PowerBuilder
クライアントによって使用されます。
対象
SSLCallBack オブジェクト
構文
sslcallback.GetCredentialAttribute ( thesessioninfo, attr, attrvalues )
PowerScript リファレンス ボリューム 2
557
GetCredentialAttribute
引数
sslcallback
thesessioninfo
attr
説明
カスタマイズされた SSLCallBack オブジェクトのインス
タンスを指定します。
SSL セッションに関する情報を含む CORBA オブジェク
トを指定します。オプションで、この情報を表示し、セッ
ションについての詳細をユーザに提供することもできま
す。
INI ファイルまたはプロファイルのパス名を指定する必
要があるかどうかを示す Long 型の値。値は以下のとおり
です。
• 1 CRED_ATTR_ENTRUST_INIFILE
• 2 CRED_ATTR_ENTRUST_USERPROFILE
attrvalues
String 型の値の配列。使用可能な属性値を指定します。
戻り値
String 型。選択された属性の値を返します。
解説
PowerBuilder のアプリケーションでは通常、GetCredentialAttribute 関数は
直接には呼び出されません。useEntrustID プロパティが設定されていて
EAServer クライアントが Entrust INI ファイルまたはプロファイルのパ
ス名を指定しなかった場合、GetCredentialAttribute は EAServer によって
呼び出されます。
SSLCallBack オブジェクトの任意の関数の動作を上書きするためには、
SSLCallBack から継承された標準クラス ユーザ オブジェクトを作成
し、必要であればこのオブジェクトをカスタマイズします。コールバッ
クが要求されたときに使用するオブジェクトを EAServer に認識させ
るには、SSL の callbackImpl プロパティにオブジェクト名を指定しま
す。このプロパティの値は、SetGlobalProperty 関数によって設定でき
ます。
GetCredentialAttribute の実装を指定しないと、EAServer が
CORBA::NO_IMPLEMENT 例外を捕捉するため、このコールバックには
デフォルトの実装が使用されることになります。デフォルトの実装を
使用した場合は常に、指定された値のリストのうち先頭の値が返され
ます。値が指定されていない場合は、CtsSecurity::NoValueException が生
成されます。関数によって生成されるかもしれない例外はすべて、そ
のプロトタイプに追加しておく必要があります。
コールバックの実装が空の文字列を返した場合は、先に述べたデフォ
ルトの実装が使用されるため、リストのうちの先頭にある値が返され
ます。サーバがその値を受け入れれば接続が続行されます。受け入れ
なければ接続は拒否されます。
558
PowerBuilder
第 10 章
PowerScript 関数
有効な戻り値を取得するには、関数に渡された attrvalues 配列から使用
可能な属性値をユーザに提示して、それらのうちの 1 つを選択するよ
うに促します。渡された thesessioninfo オブジェクトから取得した追加
情報(たとえばサーバ証明書)をユーザに提示することも可能です。
このコールバック関数内で例外を送出することによって、このような
接続の試行をユーザがキャンセルすることが可能になります。
SSLCallback 関数で送出された例外はそのすべてが、
CTSSecurity::UserAbortedException をユーザに返します。その例外を捕捉
するには、ConnectToServer 関数を try-catch ブロックの中に含める必要
があります。
例
次に、INI ファイルまたは Entrust ユーザ プロファイルのパス名の場所
をサーバが必要としているかどうかをチェックして、適切なメッセー
ジを表示する例を示します。選択項目のリストを attrvalues 配列から得
る場合は、その選択項目をメッセージ ボックスの中に表示して、テキ
ストボックスの中に入力するようユーザに促します。
int
idx, numAttrs
String
sText, sLocation
numAttrs = upperbound(attrValues)
w_response w_ssl_response
IF attr = 1 THEN
MessageBox("Entrust INI ファイルが必要です。", &
"INI ファイルの場所を指定してください。")
ELSEIF attr = 2 THEN
MessageBox("Entrust プロファイルが必要です。", &
" プロファイルの場所を指定してください。")
END IF
IF numAttrs <> 0 THEN
sText = "Locations available: "
FOR idx = 1 to numAttrs
sText += "~nattrValues[" + string(idx) + "]: " &
+ attrvalues[idx]
NEXT
OpenWithParm( w_ssl_response, SText )
ls_rc = Message.StringParm
IF ls_rc = "cancel" then
userabortedexception uae
uae = create userabortedexception
uae.setmessage("User cancelled connection")
throw uae
END IF
END IF
PowerScript リファレンス ボリューム 2
559
GetCurrentDirectory
RETURN ls_rc
関連項目
ConnectToServer
GetCertificateLabel
GetPin
TrustVerify
GetCurrentDirectory
機能
ターゲット アプリケーションの現行ディレクトリを取得します。
構文
GetCurrentDirectory ( )
戻り値
String 型。現行ディレクトリの絶対パス名を返します。
例
次に、現行ディレクトリの名前をシングルライン エディット テキスト
ボックスの中に表示する例を示します。
sle_1.text = GetCurrentDirectory( )
関連項目
ChangeDirectory
CreateDirectory
DirectoryExists
RemoveDirectory
GetData
コントロールのデータを取得します。
取得するデータ
グラフのデータ系列内のデータ ポイントの値
エディットマスク コントロールの書式設定されてい
ないデータ
OLE サーバのデータ
使用する構文
構文 1
構文 2
構文 3
構文 1
グラフのデータ ポイントのデータを取得する
機能
グラフのデータ系列内のデータ ポイントの値を取得します。
560
PowerBuilder
第 10 章
PowerScript 関数
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetData ( { graphcontrol, } seriesnumber, datapoint
{, datatype } )
引数
controlname
説明
データを取得するグラフ コントロールの名前を指定する
か、グラフ コントロールを含むデータウィンドウ コント
ロールの名前を指定します。
graphcontrol
(オプション)String 型の値。controlname にデータウィン
(データウィン ドウ コントロールの名前を指定した場合に、データを取得
ドウ コント
するグラフの名前を指定します。
ロールのみ)
seriesnumber
データを取得するデータ系列の番号を指定します。
datapoint
データを取得するデータ ポイントの番号を指定します。
datatype
(オプション)grDataType カタログ データ型の値。散布図
(散布図グラフ グラフのデータ ポイントに対して、x または y のどちらの
専用)
値を求めるのかを指定します。値は以下のとおりです。
• xValue! - データ ポイントの x 座標の値
• yValue! -(デフォルト)データ ポイントの y 座標の値
戻り値
Double 型。正常に終了した場合は datapoint に指定されたデータの値を
返し、エラーが発生した場合は 0 を返します。引数のいずれかの値が
null の場合、null を返します。
解説
GetData 関数は、数値軸が数値型のグラフに対してだけ使用できます。
数値軸がほかのデータ型のグラフの場合は、GetDataValue 関数を使用し
てください。
例
以下に、データウィンドウ コントロール dw_equipment 上のグラフ
gr_computers のデータ系列 Costs のデータ ポイント 3 のデータ値を取
得するステートメントを示します。
integer SeriesNbr
double data_value
// データ系列の番号を取得します。
SeriesNbr = &
dw_equipment.FindSeries("gr_computers", "Costs")
data_value = dw_equipment.GetData( &
"gr_computers" , SeriesNbr, 3)
以下に、グラフ gr_prod_data でマウス ポインタが指しているデータ ポ
イントの値を取得し、その値を data_value に格納するステートメント
を示します。
PowerScript リファレンス ボリューム 2
561
GetData
integer SeriesNbr, ItemNbr
double data_value
grObjectType MouseHit
MouseHit = &
gr_prod_data.ObjectAtPointer(SeriesNbr, ItemNbr)
IF MouseHit = TypeSeries! THEN
data_value = &
gr_prod_data.GetData(SeriesNbr, ItemNbr)
END IF
以下に、散布図グラフ gr_sales_yr のデータ ポイントの x 座標の値を取
得し、その値を変数 data_value に格納するステートメントを示します。
integer SeriesNbr, ItemNbr
double data_value
gr_product_data.ObjectAtPointer(SeriesNbr, ItemNbr)
data_value = &
gr_sales_yr.GetData(SeriesNbr, ItemNbr, xValue!)
関連項目
DeleteData
FindSeries
GetDataValue
InsertData
ObjectAtPointer
構文 2
エディットマスク コントロールの書式設定されてい
ないデータを取得する
機能
エディットマスク コントロールの書式設定されていないテキストを
取得します。
対象
エディットマスク コントロール
構文
editmaskname.GetData ( datavariable )
引数
editmaskname
datavariable
562
説明
データを含むエディットマスク コントロール
EditMask_control の名前を指定します。
この関数がエディットマスク コントロールの書式設定さ
れ て い な い デ ー タ を 代 入 す る 変 数 を 指 定 し ま す。
datavariable のデータ型は、ウィンドウ ペインタで選択す
るエディットマスク コントロールのデータ型と一致して
いる必要があります。指定できるデータ型は、Date 型、
DateTime 型、Decimal 型、Double 型、String 型、Time 型です。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
エディットマスク コントロールの MaskDataType プロパティを調べる
と、コ ン ト ロ ー ル の デ ー タ 型 が わ か り ま す。こ の プ ロ パ テ ィ は、
MaskDataType カタログ データ型を保持しています。
例
次に、エディットマスク コントロール em_date の Date 型のデータを取
得する例を示します。日付のマスク文字は無視されます。String 関数を
使用して日付(Date 型)を文字列(String 型)に変換し、シングルラ
イン エディット コントロール sle_date にそのデータを格納します。
date d
em_date.GetData(d)
sle_date.Text = String(d, "mm-dd-yy")
次に、エディットマスク コントロール em_string の String 型のデータを
取得し、結果をシングルライン エディット コントロール sle_string に
格納する例を示します。エディット マスク内のマスク文字は無視され
ます。
string s
em_string.GetData(s)
sle_string.Text = s
構文 3
OLE サーバのデータを取得する
機能
ユニフォーム データ転送を使用して、OLE コントロールに関連付けら
れている OLE サーバのデータを取得します。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.GetData ( clipboardformat, data )
引数
olename
PowerScript リファレンス ボリューム 2
説明
データを入力するオブジェクトを含む OLE コントロール
または OLE カスタム コントロールの名前を指定します。
563
GetData
引数
clipboardformat
説明
データの形式を指定します。標準の形式は、ClipboardFormat
カタログ データ型の値で指定できます。また、独自の形式
は、文字列で指定します。
clipboardformat カタログ データ型の値は、以下のとおりで
す。
ClipFormatBitmap!
ClipFormatDIB!
ClipFormatDIF!
ClipFormatEnhMetafile!
ClipFormatHdrop!
ClipFormatLocale!
ClipFormatMetafilePict!
ClipFormatOEMText!
ClipFormatPalette!
ClipFormatPenData!
ClipFormatRIFF!
ClipFormatSYLK!
ClipFormatText!
ClipFormatTIFF!
ClipFormatUnicodeText!
ClipFormatWave!
clipboardformat に指定された値が空の文字列("")または
null の場合、GetData 関数は ClipFormatText! という形式で
data
データを転送します。
String 型または Blob 型の変数。OLE サーバのデータを格納
する変数を指定します。取得するデータが String 型の変数
に格納するのに適していない場合は、Blob 型の変数を使用
してください。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
OLE サーバがサポートしていないクリップボード形式を指定すると、
GetData 関数はエラーを返します。OLE サーバがサポートしている形
式を調べるには、OLE サーバのマニュアルを参照してください。
GetData 関数は、ユニフォーム データ転送を介して OLE サーバのデー
タを取得します。ユニフォーム データ転送とは、Microsoft が定義した
もので、コンテナ アプリケーションとの間でデータを交換する機構で
す。PowerBuilder では、グローバル ハンドルを介してデータ転送を実
行できます。また、OLE サーバでは、グローバル ハンドルを介した
データ転送がサポートされている必要があります。データ転送がサ
ポートされていない場合は、そのサーバとの間でデータ転送を行うこ
とはできません。
564
PowerBuilder
第 10 章
例
PowerScript 関数
エンド ユーザが Microsoft Word の文書を開き、その内容を変更したと
します。次の例は ole_word6 という OLE コントロールの内容を取得し、
その内容を ls_oledata という String 型の変数に格納します。文字列の内
容は、
マルチライン エディット コントロール mle_text に表示されます。
string ls_oledata
integer li_rtn
li_rtn = ole_word6.GetData( &
ClipFormatText!, ls_oledata)
mle_text.Text = ls_oledata
ある OLE コントロールに、データのテーブルを格納した Microsoft
Word 文書が表示されるとします。次に、レポートのデータを取得し、
そのデータを別の OLE コントロール上のグラフに格納する例を示し
ます。そのコントロール上の Microsoft Graph は、テーブルの最初の行
をヘッダとして解釈し、2 行目以降を[データ]メニューの設定に応
じて、項目またはデータ系列として解釈します。
string ls_data
integer li_rtn
li_rtn = ole_word.GetData(ClipFormatText!, ls_data)
IF li_rtn <> 1 THEN RETURN
li_rtn = ole_graph.SetData(ClipFormatText!, ls_data)
関連項目
SetData
GetDataDDE
機能
ほかの DDE アプリケーションから送信されたデータを取得し、指定し
た String 型の変数に格納します。PowerBuilder が、DDE クライアント
または DDE サーバ アプリケーションとして機能しているときに、
GetDataDDE を使用することができます。
構文
GetDataDDE ( string )
引数
string
PowerScript リファレンス ボリューム 2
説明
String 型の変数を指定します。GetDataDDE 関数は、指定さ
れた変数にリモート DDE アプリケーションから取得した
データを格納します。
565
GetDataDDEOrigin
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、関数が不正なコンテキストで呼び出された場合)は -1 を返し
ます。string が null の場合は、null を返します。
解説
通常、アプリケーションが DDE サーバである場合、GetDataDDE 関数
は RemoteSend イベントに対するウィンドウ スクリプトの中で呼び出
されます。また、アプリケーションが DDE クライアントである場合、
GetDataDDE 関数は HotLinkAlarm イベントに対するウィンドウ スクリ
プトの中で呼び出されます。
例
PowerBuilder DDE クライアント アプリケーションが、Excel のスプレッ
ド シートの 7 行目の 15 列目にホット リンクを設定しているものとし
ます。この行と列に格納されている値が赤から緑に変更され、アプリ
ケーションの HotLinkAlarm イベントを起動したとします。次に示す
HotLinkAlarm イベントに対するスクリプトは、GetDataDDE 関数を呼び
出して新しい値を変数 Str20 に格納します。
// HotLinkAlarm イベントに対するスクリプト
string Str20
GetDataDDE(Str20)
関連項目
GetDataDDEOrigin
OpenChannel
StartServerDDE
StopServerDDE
GetDataDDEOrigin
機能
ホット リンクが設定された DDE サーバ アプリケーションまたは DDE
クライアント アプリケーションからのデータの発信元を判別し、指定
された文字列変数にアプリケーションの DDE 識別子を格納します。
PowerBuilder が DDE クライアントまたは DDE サーバ アプリケーショ
ンとして機能しているときに GetDataDDEOrigin 関数を使用することが
できます。
構文
GetDataDDEOrigin ( applstring, topicstring, itemstring )
引数
applstring
566
説明
String 型の変数を指定します。GetDataDDEOrigin 関数は、
指定された変数にサーバ アプリケーションの名前を格納し
ます。
PowerBuilder
第 10 章
引数
topicstring
itemstring
戻り値
PowerScript 関数
説明
String 型の変数を指定します。GetDataDDEOrigin 関数は、
指定された変数にトピック(たとえば、Microsoft Excel の
場合は REGION.XLS など)を格納します。
String 型の変数を指定します。GetDataDDEOrigin 関数は、
指定された変数に項目の識別子(たとえば、Microsoft Excel
の場合は R1C2 など)を格納します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、関数が不正なコンテキストで呼び出された場合)は -1 を返し
ます。引数のいずれかの値が null の場合、null を返します。
解説
RemoteSend イベントまたは HotLinkAlarm イベントに対するウィンド
ウのスクリプト内で GetDataDDEOrigin 関数を呼び出します。
アプリケーションが DDE サーバである場合には、RemoteSend イベン
トに対するスクリプト内で GetDataDDEOrigin 関数を呼び出します。こ
の関数は、クライアントで要求された項目やトピックを検索する場合
に使用します。アプリケーション名は、クライアントに指定されたア
プリケーションの名前(サーバの DDEname)になります。
アプリケーションが DDE クライアントである場合には、HotLinkAlarm
イベントに対するスクリプトの中で GetDataDDEOrigin 関数を呼び出し
ます。この関数は、複数のアプリケーション間にまたがって複数のト
ピックに対するホット リンクが存在する場合に、データがどのアプリ
ケーションから返されたものであるかを判別するためにも使用されま
す。
例
次に、GetDataDDEOrigin 関数を呼び出す例を示します。
string WhichAppl, WhatTopic, WhatLoc
GetDataDDEOrigin(WhichAppl, WhatTopic, WhatLoc)
関連項目
GetDataDDE
OpenChannel
StartServerDDE
StopServerDDE
PowerScript リファレンス ボリューム 2
567
GetDataPieExplode
GetDataPieExplode
機能
円グラフで一片が切り離されてほかより突出する割合を返します。
データを強調するために、円グラフの中心から一片を切り離して表示
します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataPieExplode ( { graphcontrol, } series, datapoint,
percentage )
引数
controlname
説明
一片を切り離す割合を求めたいグラフ コントロールの名
前、あるいはグラフ コントロールを含むデータウィンドウ
コントロールの名前を指定します。
graphcontrol
(オプション)String 型の値。一片を切り離す割合を求めた
(データウィン いデータウィンドウ コントロール内のグラフの名前を指
ドウ コント
定します。
ロールのみ)
series
データ系列を識別する番号を指定します。
datapoint
切り離された一片のデータ ポイントの番号を指定します。
percentage
Integer 型の変数を指定します。円グラフで一片が切り離さ
れる割合を格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
次に、エンド ユーザが一片上でクリックした場合に一片が切り離され
る割合を返す例を示します。まず、GraphType プロパティを調べて、グ
ラフが円グラフであるかどうかを確認しています。次に、ObjectAtPointer
関数を使用してデータ系列とデータポイントの値を取得します。この
値をチェックしてエンド ユーザが一片をクリックしたことを確認し
てから、GetDataPieExplode 関数を使用します。次の例は、グラフ オブ
ジェクトの DoubleClicked イベントに対するスクリプトです
integer series, datapoint
grObjectType clickedtype
integer percentage
percentage = 50
IF (This.GraphType <> PieGraph! and &
This.GraphType <> Pie3D!) THEN RETURN
clickedtype = This.ObjectAtPointer(series, &
datapoint)
568
PowerBuilder
第 10 章
PowerScript 関数
IF (series > 0 and datapoint > 0) THEN
This.GetDataPieExplode(series, datapoint, &
percentage)
MessageBox(" 切り離される割合 ", &
" データ ポイント " + This.CategoryName(datapoint) &
+ " ( 系列 " + This.SeriesName(series) &
+ ") が " + String(percentage) + "% 切り離されまし
た。")
END IF
関連項目
SetDataPieExplode
GetDataStyle
グラフのデータ ポイントの表示形態を調べます。データ系列内の各
データ ポイントには、表示形態を個別に設定できます。使用する構文
は、取得する情報によって異なります。
取得する情報
データ ポイントの色
データ ポイントの線種と線幅
データ ポイントの塗りつぶしパターンまたはシンボ
ル
使用する構文
構文 1
構文 2
構文 3
GetDataStyle 関数は、1 つのデータ ポイントについての情報を取得しま
す。データ ポイントが属しているデータ系列には、表示形態を個別に
設定できます。通常、データ ポイントの表示形態を設定する値はデー
タ系列の表示形態の設定と同じです。データ ポイントの表示形態を個
別に変更するには、SetDataStyle 関数を使用します。データ系列の表示
形態の情報を取得するには GetSeriesStyle 関数を使用し、データ系列の
表示形態の情報を設定するには SetSeriesStyle 関数を使用します。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフ内のデータ ポイント
またはデータ系列の塗りつぶしパターンを確認することができます。
ただし、その塗りつぶしパターンは表示されません。
GetDataStyle 関数が linestyle と enumvariable に格納するカタログ デー
タ型の値については、SetDataStyle 関数を参照してください。
PowerScript リファレンス ボリューム 2
569
GetDataStyle
構文 1
データ ポイントの色を示す値を取得する
機能
グラフのデータ ポイントの色を示す値(RGB 値)を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, colortype, colorvariable )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの色を示す値を取得します。
graphcontrol
(オプション)controlname がデータウィンドウ コント
(データウィンド
ロールの場合は、データ ポイントの色を取得するグラ
ウ コントロールの フの名前を指定します。
み)
seriesnumber
データ系列の番号を指定します。指定されたデータ系
列のデータ ポイントの色を示す値を取得します。
datapointnumber
データ ポイントの番号を指定します。指定されたデー
タ ポイントの色を示す値を取得します。
colortype
grColorType カタログ データ型の値。色を示す値を取得
するデータ ポイントの外観を指定します。値は以下の
とおりです。
• Background! - 背景の色
• Foreground! - テキスト(塗りつぶしの色)
• LineColor! - 線の色
colorvariable
• Shade! - 3D グラフの影の領域
Long 型の変数を指定します。指定された変数に色を示
す値を格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。色を示す値は、colorvariable に格納します。引数のい
ずれかの値が null の場合、null を返します。
例
次に、グラフ gr_emp_data にあるデータ系列 Salary のデータ ポイント
6 のテキストの色(foreground)を示す値を取得する例を示します。色
を示す値は、変数 color_nbr に格納されます。
long color_nbr
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_emp_data.FindSeries("Salary")
570
PowerBuilder
第 10 章
PowerScript 関数
// 色を示す値を取得します。
gr_emp_data.GetDataStyle(SeriesNbr, 6, &
Foreground!, color_nbr)
次に、データウィンドウ コントロール上のグラフ gr_emp_data のシン
グルライン エディット コントロール sle_series に入力されたデータ系
列のデータ ポイント 6 の背景色を示す値を取得する例を示します。色
を示す値は、変数 color_nbr に格納されます。
long color_nbr
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = FindSeries("gr_emp_data", sle_series.Text)
// 色を示す値を取得します。
dw_emp_data.GetDataStyle("gr_emp_data", &
SeriesNbr, 6, Background!, color_nbr)
関連項目
FindSeries
GetSeriesStyle
SetDataStyle
SetSeriesStyle
構文 2
データ ポイントの線種と線幅についての情報を取得
する
機能
グラフのデータ ポイントの線種と線幅についての情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, linestyle, linewidth )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの線種と線幅についての情報を取得します。
PowerScript リファレンス ボリューム 2
571
GetDataStyle
引数
説明
graphcontrol
(オプション)String 型の値。データウィンドウ コント
(データウィンド
ロール上のグラフの名前を指定します。指定されたグ
ウ コントロールの ラフのデータ ポイントの線種と線幅についての情報を
取得します。
み)
seriesnumber
データ系列の番号を指定します。指定されたデータ系
列のデータ ポイントの線種と線幅についての情報を取
得します。
datapointnumber
データ ポイントの番号を指定します。指定されたデー
タ ポイントの線種と線幅についての情報を取得します。
linestyle
LineStyle 型の変数を指定します。指定された変数に、
線種についての情報を格納します。
linewidth
Integer 型の変数を指定します。指定された変数に、線
幅についての情報を取得します。幅の単位はピクセル
です。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列とデータ ポイントの線種につい
ての情報は linestyle に指定された変数に格納され、線の幅についての
情報は linewidth に指定された変数に格納されます。引数のいずれかの
値が null の場合、null を返します。
解説
GetDataStyle 関数が linestyle に指定された変数に格納するカタログ
データ型の値については、SetDataStyle 関数を参照してください。
例
次に、グラフ gr_product_data にあるデータ系列 Costs のデータ ポイン
ト 10 の線種と線幅についての情報を取得する例を示します。取得した
情報は、変数 line_style と変数 line_width に格納されます。
integer SeriesNbr, line_width
LineStyle line_style
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.GetDataStyle(SeriesNbr, 10, &
line_style, line_width)
次に、データウィンドウ コントロール dw_employees 上のグラフ gr_depts
のシングルライン エディット コントロール sle_series に入力された
データ系列のデータ ポイント 6 の線種と線幅についての情報を取得す
る例を示します。取得した情報は、変数 line_style と変数 line_width に格
納されます。
integer SeriesNbr, line_width
LineStyle line_style
572
PowerBuilder
第 10 章
PowerScript 関数
// データ系列の番号を取得します。
SeriesNbr = dw_employees.FindSeries( &
" gr_depts " , sle_series.Text)
// 線種と線幅についての情報を取得します。
dw_employees.GetDataStyle("gr_depts", SeriesNbr, &
6, line_style, line_width)
関連項目
FindSeries
GetSeriesStyle
SetDataStyle
SetSeriesStyle
構文 3
データ ポイントの塗りつぶしパターンまたはシンボ
ルについての情報を取得する
機能
グラフのデータ ポイントの塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, enumvariable )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの塗りつぶしパターンまたはシンボルについての
情報を取得します。
graphcontrol
String 型の値。データウィンドウ コントロール内のグ
(データウィンド
ラフの名前を指定します。指定されたグラフのデータ
ウ コントロールの ポイントの塗りつぶしパターンまたはシンボルについ
み)(オプション) ての情報を取得します。
seriesnumber
データ系列の番号を指定します。指定されたデータ系
列のデータ ポイントの塗りつぶしパターンまたはシン
ボルについての情報を取得します。
datapointnumber
データ ポイントの番号を指定します。指定されたデー
タ ポイントの塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
PowerScript リファレンス ボリューム 2
573
GetDataStyle
引数
enumvariable
説明
データの表示形態についての情報を格納する変数。
FillPattern カタログ データ型または grSymbolType カタ
ログ データ型の変数を指定できます。表示形態の情報
は、変数の型によって異なります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ ポイントの塗りつぶしパターンまた
はシンボルについての情報は、enumvariable に指定された変数に格納
されます。引数のいずれかの値が null の場合、null を返します。
解説
GetDataStyle 関数が enumvariable に指定された変数に格納するカタロ
グ データ型の値については、SetDataStyle 関数を参照してください。
例
次に、グラフ gr_product_data にあるデータ系列 Costs のデータ ポイン
ト 10 の塗りつぶしパターンについての情報を取得する例を示します。
取得した情報は、変数 data_pattern に格納されます。
integer SeriesNbr
FillPattern data_pattern
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.GetDataStyle(SeriesNbr, 10, &
data_pattern)
次に、データウィンドウ コントロール dw_employees 上のグラフ gr_depts
のシングルライン エディット コントロール sle_series に入力された
データ系列のデータ ポイント 6 の塗りつぶしパターンについての情報
を取得する例を示します。取得した情報は、変数 data_pattern に格納
されます。
integer SeriesNbr
FillPattern data_pattern
// データ系列の番号を取得します。
SeriesNbr = dw_employees.FindSeries("gr_depts", &
sle_series.Text)
// パターンを取得します。
dw_employees.GetDataStyle("gr_depts", SeriesNbr, &
6, data_pattern)
以下に、グラフ gr_product_data にあるデータ系列 Costs のデータ ポイ
ント 10 のシンボルを変数 symbol_type に格納するステートメントを示
します。
integer SeriesNbr
574
PowerBuilder
第 10 章
PowerScript 関数
grSymbolType symbol_type
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.GetDataStyle(SeriesNbr, 10, &
symbol_type)
以下に、データ ポイントのシンボルを変数 symbol_type に格納するス
テートメントを示します。データポイントは、データウィンドウ コン
トロール dw_employees 上のグラフ gr_depts のシングルライン エディッ
ト コントロール sle_series に入力されたデータ系列のデータ ポイント
6 です。
integer SeriesNbr
grSymbolType symbol_type
// データ系列の番号を取得します。
SeriesNbr = dw_employees.FindSeries("gr_depts", &
sle_series.Text)
// シンボルを取得します。
dw_employees.GetDataStyle("gr_depts", SeriesNbr, &
6, symbol_type)
関連項目
FindSeries
GetSeriesStyle
SetDataStyle
SetSeriesStyle
GetDataValue
機能
グラフのデータ系列内にあるデータ ポイントのデータ値を取得しま
す。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataValue ( { graphcontrol, } seriesnumber, datapoint,
datavariable {, xory } )
引数
controlname
PowerScript リファレンス ボリューム 2
説明
データを取得するグラフ コントロールの名前を指定する
か、グラフ コントロールを含むデータウィンドウ コント
ロールの名前を指定します。
575
GetDataValue
引数
説明
graphcontrol
(オプション)データを取得するデータウィンドウ コント
(データウィン ロール内のグラフの名前の文字列を指定します。
ドウ コント
ロールのみ)
seriesnumber
データを取得するデータ系列の番号を指定します。
datapoint
データを取得するデータ ポイントの番号を指定します。
datavariable
データを格納する変数の名前を指定します。Date 型、
DateTime 型、Double 型、String 型、Time 型のいずれかのデー
タ型の変数を指定できます。変数のデータ型は、グラフの
軸のデータ型と同じでなければなりません。
xory
(オプション)grDataType カタログ データ型の値。散布図
(散布図グラフ グラフのデータ ポイントに対して、x または y のどちらの
のみ)
値を求めるのかを指定します。値は以下のとおりです。
• xValue! - データ ポイントの x 座標の値
• yValue! -(デフォルト)データ ポイントの y 座標の値
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
GetDataValue 関数は、グラフのデータを取得します。取得したデータ
は、データ型がグラフの軸のデータ型と一致する datavariable に保存さ
れます。軸の値が数値型の場合、GetData 関数を使用することもできま
す。
例
以下に、データウィンドウ コントロール dw_equipment 上のグラフ
gr_computers のデータ系列 Costs のデータ ポイント 3 のデータ値を取
得するステートメントを示します。
integer SeriesNbr, rtn
double data_value
// データ系列の番号を取得します。
SeriesNbr = dw_equipment.FindSeries( &
"gr_computers", "Costs")
rtn = dw_equipment.GetDataValue( &
"gr_computers" , SeriesNbr, 3, data_value)
以下に、グラフ gr_prod_data でマウス ポインタが指しているデータ ポ
イントの値を取得し、その値を data_value に格納するステートメント
を示します。エンド ユーザがデータ ポイントをクリックしない場合、
ItemNbr には 0 が設定されます。項目軸のデータ型は Time 型です。
integer SeriesNbr, ItemNbr, rtn
time data_value
grObjectType MouseHit
576
PowerBuilder
第 10 章
PowerScript 関数
MouseHit = &
gr_prod_data.ObjectAtPointer(SeriesNbr, ItemNbr)
IF ItemNbr > 0 THEN
rtn = gr_prod_data.GetDataValue( &
SeriesNbr, ItemNbr, data_value)
END IF
以下に、散布図グラフ gr_sales_yr のデータ ポイントの x 座標の値を取
得し、その値を変数 data_value に格納するステートメントを示します。
エンド ユーザがデータ ポイントをクリックしない場合、ItemNbr には
0 が設定されます。項目軸のデータ型は Date 型です。
integer SeriesNbr, ItemNbr, rtn
date data_value
gr_product_data.ObjectAtPointer(SeriesNbr, ItemNbr)
IF ItemNbr > 0 THEN
rtn = gr_sales_yr.GetDataValue( &
SeriesNbr, ItemNbr, data_value, xValue!)
END IF
関連項目
DeleteData
FindSeries
InsertData
ObjectAtPointer
GetDateLimits
機能
カレンダに指定された最後の日付と最初の日付を取得します。
対象
月表示カレンダ コントロール
構文
controlname.GetDateLimits ( min, max )
引数
controlname
min
max
PowerScript リファレンス ボリューム 2
説明
日付の制限を確認する月表示カレンダ コントロールの名
前を指定します。
参照で返される日付の値を指定します。この値は、カレン
ダで参照または表示できる最初の日付を表します。
参照で返される日付の値を指定します。この値は、カレン
ダで参照または表示できる最後の日付を表します。
577
GetDbmlsyncPath
戻り値
Integer 型。最初と最後の両方の日付を正常に取得した場合は 0 を返し、
それ以外の場合は次のいずれかの値を返します。
-1
制限が設定されていません。
-2
不明なエラーです。
解説
最初と最後の日付を設定するには、SetDateLimits 関数を使用します。日
付の制限が設定されていない場合、GetDateLimits は -1 を返し、min と
max に 1900/1/1 を格納します。
例
次の例は、コントロールに設定された最初の日付と最後の日付をメッ
セージ ボックスに表示します。
integer li_return
Date mindate, maxdate
string str1, str2
li_return = mc_1.GetDateLimits(mindate, maxdate)
If li_return = -1 then
str1 = " 最初と最後の日付が設定されていません。"
elseif li_return = -2 then
str1 = " 不明なエラーです。"
else
str1 = " 最初の日付は " + string(mindate)
str2 = " 最後の日付は " + string(maxdate)
end if
MessageBox(" 日付の制限 ", str1 + "~r~n" + str2)
関連項目
SetDateLimits
GetDbmlsyncPath
機能
ワークステーションにインストールされている dbmlsync.exe の完全なパスと
ファイル名を取得します。
対象
MLSync コントロールおよび MLSynchronization コントロール
構文
SyncObject.GetDbmlsyncPath ( )
引数
syncObject
戻り値
説明
同期オブジェクトの名前を指定します。
String 型。実行可能な同期の完全なパスとファイル名の値を返します。
dbmlsync.exe が見つからない場合は -1 を返します。
578
PowerBuilder
第 10 章
PowerScript 関数
解説
このプロパティは、同期オブジェクトの MLServerVersion プロパティの
値を使用して、どのバージョンの dbmlsync を返すかを決定します。
例
この関数を使用して、MobiLink 同期ウィザードによって生成される
w_appname_sync_options ウィンドウの[設定]タブ ページに表示され
る[追加設定]および[拡張設定]フィールドの横にあるヘルプ([?])
ボタンを使用できるようにしています。ヘルプ([?])ボタンの Clicked
イベントには、以下のようなスクリプトが含まれています。
string sCmd
sCmd = i_uosync.GetDbmlsyncPath()
if len(sCmd) > 0 then
sCmd += " ?"
// 拡張オプションのヘルプの場合は sCmd += ' -l'
run(sCmd, Normal!)
end if
GetDisplayRange
機能
現在表示されている日付範囲の最初と最後の日付を取得し、全部また
は一部が表示されている月の数を返します。
対象
月表示カレンダ コントロール
構文
controlname.GetDisplayRange ( start, end {, d } )
引数
controlname
start
end
d
(オプション)
説明
日付範囲を取得する月表示カレンダ コントロールの名前
を指定します。
参照で返される表示範囲内で最初の日付を指定します。
参照で返される表示範囲内で最後の日付を指定します。
MonthCalDisplayState カタログ データ型変数の値。値は以
下のとおりです。
EntirelyDisplayed! - すべての日が表示されている月の
表示日付範囲を取得します。
PartlyDisplayed! - 一部の日でも表示されている月の表
示日付範囲を取得します(デフォルト)。
戻り値
Integer 型。正常に終了した場合は表示範囲内の月の数を返し、エラー
が発生した場合は -1 を返します。
解説
GetDisplayRange 関数は、カレンダに現在表示されている日付の範囲内
の最初と最後の日付を取得します。
PowerScript リファレンス ボリューム 2
579
GetDisplayRange
オ プ シ ョ ン の d 引 数 を 指 定 し な か っ た 場 合、ま た は こ の 引 数 に
PartlyDisplayed! を指定した場合は、一部の日でも表示されている月の
数を返します。カレンダに丸 1 か月表示されている場合の戻り値は 3
です。これは、前月の最後の数日と次月の最初の数日も含まれるから
です。
d 引数に EntirelyDisplayed! を指定した場合、すべての日が表示されて
いる月の数を返します。その前後の日は無視されます。
たとえば、カレンダに 2004 年 11 月から 2005 年 10 月までの 12 か月が
表示されている場合に d 引数を指定しなければ、GetDisplayRange は 14
を返し、引数 start と end にそれぞれ 2004/10/25 と 2005/11/6 を格納し
ます。
この例で、d 引数に EntirelyDisplayed! を指定した場合、GetDisplayRange
は 12 を返し、引数 start と end にそれぞれ 2004/11/1 と 2005/10/31 を格
納します。
例
次の例は、メッセージ ボックスに、表示範囲内の月数および表示範囲
の最初の日付と最後の日付を表示します。第 3 引数に PartlyDisplayed!
が指定されているので、返される範囲は、すべての日が表示されてい
る月の数よりも大きくなります。1 か月のみ表示され、月の初めが週
の初日でもなく、月の終わりが週の最終日でもない場合、li_return は 3
になります。
integer li_return
Date startdate, enddate
string str1, string str2
li_return = mc_1.GetDisplayRange(startdate, enddate, &
PartlyDisplayed!)
str1 = " 範囲は " + string(li_return) + " 月 "
str2 = " 最初の日付は " + string(startdate) + "~r~n"
str2 += " 最後の日付は " + string(enddate)
MessageBox(str1, str2)
次の例は、現在すべての日が表示されている月の数を返し、ScrollRate
プロパティにスクロールする数量を設定します。
integer li_return
Date startdate, enddate
li_return = mc_1.GetDisplayRange(startdate, enddate, &
EntirelyDisplayed!)
mc_1.ScrollRate = li_return
関連項目
580
GetSelectedRange
PowerBuilder
第 10 章
PowerScript 関数
GetDynamicDate
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
Date 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicDate ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。index には、
DynamicDescriptionArea オブジェクトの
NumOutputs の値以下の値を指定する必要があ
ります。
戻り値
Date 型。DynamicDescriptionArea の index で指定された出力パラメータ
記述子に格納されている Date 型のデータを返します。エラーが発生し
た場合には、1900-01-01 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
動的 SQL の書式 4 を使用してデータを取得した後、通常は SQLDA で
ある DynamicDescriptionArea オブジェクトには、取得したデータに関
する情報が格納されます。SQLDA プロパティの NumOutputs は、返さ
れたデータの記述子の数を示します。プロパティの配列の OutParmType
には、返された各値のデータ型を示す ParmType カタログ データ型の
値が格納されます。
OutParmType の値が TypeDete! のとき、GetDynamicDate 関数を使用し
て、配列内の値を取得します。
例
以下に、2 番目の出力パラメータの記述子に格納されている Date 型の
値を Today に設定するステートメントを示します。
Date Today
Today = GetDynamicDate(SQLDA, 2)
書式 4 の動的 SQL 文を実行した後で、データは DynamicDescriptionArea
オブジェクトに格納されます。次に、格納されたデータのデータ型を
確認し、CHOOSE CASE 文を使用してその値をローカル変数に設定する
例を示します。
PowerScript リファレンス ボリューム 2
581
GetDynamicDate
SELECT 文が次のように記述されている場合、
SELECT emp_start_date FROM employee;
CASE TypeDate! の行のコードが実行されます。
それぞれの CASE 文の「そのほかの処理」でデータウィンドウに値を
設定するので、ほかの値が同じ ParmType を持っている場合でもその値
は上書きされません。
Date Datevar
Time Timevar
DateTime Datetimevar
Double Doublevar
String Stringvar
FOR n = 1 to SQLDA.NumOutputs
CHOOSE CASE SQLDA.OutParmType[n]
CASE TypeString!
Stringvar = SQLDA.GetDynamicString(n)
... // そのほかの処理
CASE TypeDecimal!, TypeDouble!, &
TypeInteger!, TypeLong!, &
TypeReal!, TypeBoolean!
Doublevar = SQLDA.GetDynamicNumber(n)
... // そのほかの処理
CASE TypeDate!
Datevar = SQLDA.GetDynamicDate(n)
... // そのほかの処理
CASE TypeDateTime!
Datetimevar = SQLDA.GetDynamicDateTime(n)
... // そのほかの処理
CASE TypeTime!
Timevar = SQLDA.GetDynamicTime(n)
... // そのほかの処理
CASE ELSE
MessageBox(" 動的 SQL", &
" データ型が不明です。")
END CHOOSE
NEXT
関連項目
582
GetDynamicDateTime
GetDynamicNumber
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
PowerBuilder
第 10 章
PowerScript 関数
GetDynamicDateTime
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
DateTime 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicDateTime ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。index には、
DynamicDescriptionArea オブジェクトの
NumOutputs の値以下の値を指定する必要があり
ます。
戻り値
DateTime 型。DynamicDescriptionArea の index に指定された出力パラ
メータの記述子内に格納されている DateTime 型のデータを返します。
エラーが発生した場合、1900-01-01 00:00:00.000000 を返します。引数の
いずれかの値が null の場合、null を返します。
解説
OutParmType の値が TypeDateTime! のとき、GetDynamicDateTime 関数を
使用して、配列内の値を取得します。
したがって、エラーの値をテストする場合、DateTime 関数を使用して、
返された値を比較するための値を作成する必要があります。
PowerBuilder は、DateTime 型リテラルをサポートしていません。
例
以下に、2 番目の出力パラメータ記述子に格納されている DateTime 型
の値を変数 SystemDatetime に設定するステートメントを示します。
DateTime SystemDateTime
SystemDateTime = SQLDA.GetDynamicDateTime(2)
IF SystemDateTime = &
DateTime(1900-01-01, 00:00:00) THEN
... // エラー処理
END IF
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
関連項目
GetDynamicDate
GetDynamicNumber
PowerScript リファレンス ボリューム 2
583
GetDynamicDecimal
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicDecimal
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
数値データを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicDecimal ( index )
引数
DynamicDescriptionArea
index
説明
DynamicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラ
メータの記述子を指定します。index には、
DynamicDescriptionArea オブジェクトの
NumOutputs の値以下の値を指定する必要があり
ます。
戻り値
Decimal 型。DynamicDescriptionArea の index で指定された出力パラメー
タ記述子内の数値データを返します。エラーが発生した場合、0 を返
します。引数のいずれかの値が null の場合、null を返します。
解説
OutParmType の値が TypeDecimal! または TypeLongLong! のいずれかの
ときに、GetDynamicDecimal 関数を使用して、配列内の値を取得します。
例
以下に、2 番目の出力パラメータの記述子内の数値データを DeptId に
設定するステートメントを示します。
Integer DeptId
DeptId = SQLDA.GetDynamicDecimal(2)
DynamicDescriptionArea オブジェクトからのデータ取得の例について
は、GetDynamicDate を参照してください。
関連項目
584
GetDynamicDate
GetDynamicNumber
GetDynamicString
PowerBuilder
第 10 章
PowerScript 関数
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicNumber
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
数値データを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicNumber ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。index には、
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
戻り値
Double 型。DynamicDescriptionArea の index に指定された出力パラメー
タの記述子に格納されている数値データを返します。エラーが発生し
た場合には 0 を返します。引数のいずれかの値が null の場合、null を返
します。
解説
OutParmType の値が、TypeByte!、TypeInteger!、TypeDouble!、TypeLong!、
TypeReal!、TypeBoolean! のいずれかのとき、GetDynamicNumber 関数を
使用して、配列内の値を取得します。
OutParmType の値が TypeDecimal! または TypeLongLong! の場合、かわ
りに GetDynamicDecimal 関数を使用します。
例
以下に、2 番目の出力パラメータの記述子に格納されている数値型の
値を DeptId に設定するステートメントを示します。
Integer DeptId
DeptId = SQLDA.GetDynamicNumber(2)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
PowerScript リファレンス ボリューム 2
585
GetDynamicString
関連項目
GetDynamicDate
GetDynamicDateTime
GetDynamicDecimal
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicString
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
String 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicString ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。index には、
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
戻り値
String 型。DynamicDescriptionArea の index に指定された出力パラメー
タの記述子に格納されている文字列データを返します。エラーが発生
した場合、空の文字列("")を返します。引数のいずれかの値が null の
場合、null を返します。
解説
OutParmType の値が TypeString! のとき、GetDynamicString 関数を使用し
て、配列内の値を取得します。
例
以下に、2 番目の出力パラメータの記述子に格納されている文字列の
値を LName に設定するステートメントを示します。
String LName
LName = SQLDA.GetDynamicString(2)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
586
PowerBuilder
第 10 章
関連項目
PowerScript 関数
GetDynamicDate
GetDynamicDateTime
GetDynamicNumber
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicTime
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
時刻のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicTime ( index )
引数
DynamicDescriptionArea
index
戻り値
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。index には、
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
Time 型。DynamicDescriptionArea の index に指定された出力パラメータ
の記述子に格納されている時刻データを返します。エラーが発生した
場合、00:00:00.000000 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
OutParmType の値が TypeTime! のとき、GetDynamicTime 関数を使用し
て、配列内の値を取得します。
例
以下に、1 番目の出力パラメータの記述子に格納されている Time 型の
値を Start に設定するステートメントを示します。
Time Start
Start = SQLDA.GetDynamicTime(1)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
PowerScript リファレンス ボリューム 2
587
GetEnvironment
関連項目
GetDynamicDate
GetDynamicDateTime
GetDynamicNumber
GetDynamicString
SetDynamicParm
動的 SQL の使い方
GetEnvironment
機能
オペレーティング システム、プロセッサ、システムのスクリーン表示
に関する情報を取得します。
構文
GetEnvironment ( environmentinfo )
引数
environmentinfo
戻り値
解説
説明
環境に関する情報を格納している環境オブジェクト
Environment_object の名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。environmentinfo が null の場合、null を返します。
クロス プラットフォーム環境の開発プロジェクトでは、スクリプトの
中で GetEnvironment 関数を使用することによって、各オペレーティン
グ システムに応じた処理を行うことができます。また、プロセッサ
(Intel386、Intel486、Intel68000 など)を確認することもできます。こ
の情報には、オペレーティング システムおよび PowerBuilder のバー
ジョンも含まれます。
GetEnvironment 関数を使用すると、システムがサポートしている色の数
や画面のサイズを確認できます。ウィンドウの Open イベントに対す
るスクリプトの中でサイズ情報を使用して X および Y プロパティを
リセットすることができます。
例
次のスクリプトは、ほかの PowerBuilder アプリケーションを実行し、
Environment オブジェクトの OSType プロパティを使用してパスを決定
しています。
string path
environment env
integer rtn
rtn = GetEnvironment(env)
IF rtn <> 1 THEN RETURN
588
PowerBuilder
第 10 章
PowerScript 関数
CHOOSE CASE env.OSType
CASE aix!
path = "/export/home/pb_apps/analyze.exe"
CASE Windows!, WindowsNT!
path = "C:\PB_apps\analyze.exe"
CASE ELSE
RETURN
END CHOOSE
Run(path)
次の例は、メッセージ ボックスに、PowerBuilder のメジャー バージョ
ン番号、マイナー バージョン番号、修正バージョン番号、およびビル
ド番号を表示します。
string ls_version
environment env
integer rtn
rtn = GetEnvironment(env)
IF rtn <> 1 THEN RETURN
ls_version = "Version: "+ string(env.pbmajorrevision)
ls_version += "." + string(env.pbminorrevision)
ls_version += "." + string(env.pbfixesrevision)
ls_version += " Build: " + string(env.pbbuildnumber)
MessageBox("PowerBuilder のバージョン ", ls_version)
GetFileOpenName
機能
システムのファイルを開く ダイアログボックスを表示し、ファイルの
選択またはファイル名の入力を可能にします。
構文
GetFileOpenName ( title, pathname, filename {, extension {, filter { , initdir { ,
aFlag } } } } )
GetFileOpenName ( title, pathname, filename[ ] {, extension {, filter { , initdir {
, aFlag } } } } )
引数
title
PowerScript リファレンス ボリューム 2
説明
ダイアログボックスのタイトルを表す文字列を指定します。
589
GetFileOpenName
引数
pathname
filename,
filename[ ]
extension
(オプション)
filter
(オプション)
説明
返されるパスを格納する文字列変数を指定します。ユーザ
が単一ファイルを選択する場合は、pathname 変数はパス名
とファイル名を含みます。
返されたファイル名を格納する文字列変数、または選択さ
れた複数のファイル名を格納する文字列変数の配列を指
定します。文字列変数の配列を指定した場合は、ダイアロ
グボックスで複数選択が可能になります。
String 型の値。1 文字以上 3 文字以下の標準のファイル拡
張子を指定します。この引数を省略すると、" 拡張子なし
" が標準の設定になります。
String 型の値。リストボックス内に含めるファイルの説明、
および表示するファイルを選択するために使用するファ
イル マスク(たとえば、*.* や *.exe など)を指定します。
構文は、次のとおりです。
description,*. ext
1 つの表示文字列に対して複数のフィルタ パターンを指
定するには、以下のようにセミコロンを使用してパターン
を区切ります。
"Graphic Files (*.bmp;*.gif;*.jpg;*.jpeg),
*.bmp;*.gif;*.jpg;*.jpeg"
デフォルトでは、次のように設定されます。
" すべてのファイル (*.*),*.*"
initdir
(オプション)
aFlag
(オプション)
戻り値
590
初期ディレクトリの名前を表す文字列を指定します。指定
を省略した場合は、現行のディレクトリが適用されます。
ダイアログボックスで使用できるオプションを表す
UnsignedLong 型の値を指定します。各オプションのフラグ
の値は、2 の(index -1)乗として計算されます。なお、index
は オ プ シ ョ ン に 関 連 付 け ら れ た 整 数 値 を 表 し ま す。
GetOpenFileName に渡される aFlag の値は、各オプション
のフラグの値の合計になります。オプションの一覧、各オ
プションに関連付けられたインデックス、および各オプ
ションの意味については、「解説」の表を参照してくださ
い。
Integer 型。正常に終了した場合は 1 を返します。エンド ユーザが[キャ
ンセル]ボタンをクリックした場合、または Windows が表示をキャン
セルした場合には、0 を返します。エラーが発生した場合、-1 を返し
ます。引数のいずれかの値が null の場合、null を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
開発者が標準のファイル拡張子を DOS と指定している場合、エンド
ユーザが拡張子を付けずにファイル名を指定すると、PowerBuilder は
標準の拡張子 DOS をファイル名に付け加えます。フィルタとして機能
するファイル マスクを指定した場合、PowerBuilder は、そのマスクに
一致するファイルだけを表示します。
filename 引数に文字列を指定する場合は、ユーザは 1 つのファイルだ
けを選択できます。pathname 引数はパス名とファイル名を含みます
(たとえば、c:\temp\test.txt)。
filename 引数に文字列配列を指定する場合は、ユーザは複数のファイ
ルを選択できます。ユーザが複数ファイルを選択した場合は、pathname
引数はパスだけを含みます(たとえば、c:\temp)。ユーザが単一ファ
イルを選択した場合は、その名前が pathname 引数に追加されます(た
とえば、c:\temp\test.txt)。
filter を使用して、リストボックスに表示するファイルの型を制限しま
す。また、エンド ユーザにその制限を通知します。たとえば、テキス
ト ファイル(*.TXT)という記述と拡張子 .TXT の付いたファイルだけ
を表示するには、filter に次のように入力します。
"Text Files (*.TXT),*.TXT"
filter に複数のファイル拡張子を指定するには、それぞれのファイルの
記述とその拡張子の組み合わせをカンマで区切って入力します。次に
例を示します。
"PIF files, *.PIF, Batch files, *.BAT"
GetFileOpenName 関数および GetFileSaveName 関数によって表示された
ダイアログボックスは、システムのダイアログボックスです。このダ
イアログボックスは、現行ディレクトリ全体の制御を含む標準のシス
テムの動作形態を提供します。ダイアログボックス内のドライブ、ディ
レクトリ、またはフォルダが変更された場合、現行のディレクトリや
フォルダも変更されます。ここで新しく指定したディレクトリまたは
フォルダは、引数 initdir を別途指定しない限り、アプリケーションを
終了するまで、ファイル操作での標準設定となります。
引数 aFlag は、ダイアログボックスの外観を規定するオプションを 1
つ以上指定する場合に使用します。各オプションについて、フラグの
値は 2^(index -1) になります。index は、各オプションに関連付けら
れた整数値を表します(次の表を参照)。aFlag(各フラグの値を追加
することによって計算される)を渡すことによって複数のオプション
を渡すことができます。
PowerScript リファレンス ボリューム 2
591
GetFileOpenName
aFlag を渡さなかった場合は、エクスプローラ形式のファイルを開く
ダイアログボックスが使用されます。フラグを渡した場合は、従来の
形式のダイアログボックスがデフォルトで使用されます。エクスプ
ローラ形式のダイアログボックスでは、一部のオプションが適用され
ません。エクスプローラ形式のダイアログボックスを表示する場合に、
適用するオプションを指定するには、そのオプションの値にエクスプ
ローラ形式のダイアログボックスを使用するためのオプション値(2)
を追加してください。
たとえば、GetFileSaveName 関数にフラグ 32768(2^15)を渡すと、デ
フォルトで、
[読み取り専用]チェックボックスがオンになった状態で
従来の形式のダイアログボックスが開きます。フラグ 32770 を渡すと、
デフォルトで、
[読み取り専用]チェックボックスがオンになった状態
でエクスプローラ形式のダイアログボックスが開きます。
表 0-4: GetFileOpenName と GetFileSaveName のオプション値
インデッ
クス
1
定数名
OFN_CREATEPROMPT
2
3
4
5
6
OFN_EXPLORER
OFN_EXTENSIONDIFFERENT
OFN_FILEMUSTEXIST
OFN_HIDEREADONLY
OFN_LONGNAMES
7
OFN_NOCHANGEDIR
8
OFN_NODEREFERENCELINKS
9
OFN_NOLONGNAMES
10
OFN_NONETWORKBUTTON
11
OFN_NOREADONLYRETURN
592
説明
指定されたファイルが存在しない場合、ファイルを作成す
るかどうかを確認するメッセージを表示します。ユーザが
ファイルの作成を選択した場合、ダイアログボックスは閉
じられます。それ以外の場合は、ダイアログボックスは開
いたままになります。
エクスプローラ形式のダイアログボックスを使用します。
入力されたファイル拡張子が指定の拡張子と異なります。
既存のファイル名のみを入力できます。
[読み取り専用]チェックボックスを非表示にします。
長いファイル名を使用します。エクスプローラ形式のダイ
アログボックスでは無視されます。
ユーザがファイルの探索中にディレクトリを変更した場
合に、現行のディレクトリを元の値に戻します。Windows
NT、2000、XP で GetOpenFileName を使用した場合、この
オプションは無視されます。
選択されたショートカット(.lnk ファイル)のパスとファ
イル名を返します。このオプションの指定を省略した場合
は、ショートカットの参照先のパスとファイル名が返され
ます。
短いファイル名(8.3 形式)を使用します。エクスプロー
ラ形式のダイアログボックスでは無視されます。
ネットワーク ボタンを非表示にします。エクスプローラ形
式のダイアログボックスでは無視されます。
返されるファイルは読み取り専用ではなく、書き込み保護
されたディレクトリにありません。
PowerBuilder
第 10 章
インデッ
クス
12
定数名
OFN_NOTESTFILECREATE
13
14
OFN_NOVALIDATE
OFN_OVERWRITEPROMPT
15
16
OFN_PATHMUSTEXIST
OFN_READONLY
PowerScript 関数
説明
ダイアログボックスが閉じられるまでファイルを作成し
ません。ファイルの作成のみが可能で変更はできない共有
ネットワークにファイルを保存するアプリケーションの
場合は、このオプションを指定する必要があります。書き
込み保護、ディスクの容量、開かれているドライブ ドア、
ネットワーク保護については、チェックされません。
1 度閉じたファイルを再び開くことはできません。
ファイル名に無効な文字を許可します。
名前を付けて保存 ダイアログボックスで使用します。選択
されたファイルがすでに存在する場合、メッセージ ボック
スを生成します。
有効なパスとファイル名の入力のみを許可します。
保存ダイアログボックスが作成されたときに[読み取り専
用]チェックボックスをオンにします。
ファイルを開く
選択したファイルを開くには、FileOpen 関数を使用します。
例
次の使用例は、複数のファイルを選択できるファイルの選択 ダイアロ
グボックスを表示します。ファイルの種類は TXT、DOC、およびすべ
てのファイルで、最初のディレクトリは C:\Program Files\Sybase です。
オプションのフラグ 18 を指定しているため、エクスプローラ形式のダ
イアログ ボックスが使用され(2^1 = 2)、[読み取り専用]チェック
ボックスが非表示になります(2^4 = 16)。選択されたファイル名はマ
ルチライン エディット コントロールに表示されます。
ユーザが単一ファイルを選択した場合は、docpath 変数はパスとファイ
ル名の両方を含みます。この例では、これを許可するために IF 句を含
んでいます。
string docpath, docname[]
integer i, li_cnt, li_rtn, li_filenum
li_rtn = GetFileOpenName(" ファイルの選択 ", &
docpath, docname[], "DOC", &
+ "Text Files (*.TXT),*.TXT," &
+ "Doc Files (*.DOC),*.DOC," &
+ "All Files (*.*), *.*", &
"C:\Program Files\Sybase", 18)
mle_selected.text = ""
PowerScript リファレンス ボリューム 2
593
GetFileOpenName
IF li_rtn < 1 THEN return
li_cnt = Upperbound(docname)
// ひとつのファイルだけを選択する場合、docpath は
// パスとファイル名を含みます。
if li_cnt = 1 then
mle_selected.text string(docpath)
else
// 複数のファイルを選択する場合、docpath は
// パスだけを含みます。docpath と docname を連結します。
for i=1 to li_cnt
mle_selected.text += string(docpath) &
+ "\"+(string(docname[i]))+"~r~n"
next
end if
次の例では、開く ダイアログボックスのファイルの種類を示すドロッ
プダウン リストにテキスト ファイル、バッチ ファイル、INI ファイル
を表示します。最初のディレクトリは、d:\temp です。オプションのフ
ラグ 512 を指定しているため、従来の形式のダイアログ ボックスが使
用され、ネットワーク ボタンが非表示になります(2^9 = 512)。
// インスタンス変数:
// string is_filename, is_fullname
int
li_fileid
if GetFileOpenName (" 開く ", is_fullname, is_filename, &
"txt", "Text Files (*.txt),*.txt,INI Files " &
+ "(*.ini), *.ini,Batch Files (*.bat),*.bat", &
"d:\temp", 512) < 1 then return
li_fileid = FileOpen (is_fullname, StreamMode!)
FileRead (li_fileid, mle_notepad.text)
FileClose (li_fileid)
関連項目
594
DirList
DirSelect
GetFileSaveName
GetFolder
PowerBuilder
第 10 章
PowerScript 関数
GetFileSaveName
機能
システムの ファイル名を付けて保存 ダイアログボックスを表示し、
[ファイル名]テキストボックスに指定されたファイル名を表示しま
す。エンド ユーザは、ファイル名を入力するか、またはグレー表示さ
れているリストからファイルを選択することができます。
構文
GetFileSaveName ( title, pathname, filename {, extension {, filter { , initdir { ,
aFlag } } } } )
GetFileSaveName ( title, pathname, filename [ ] {, extension {, filter { , initdir
{ , aFlag } } } } )
引数
title
pathname
filename,
filename[ ]
extension
(オプション)
filter
(オプション)
initdir
(オプション)
PowerScript リファレンス ボリューム 2
説明
ダイアログボックスのタイトルを表す文字列を指定しま
す。
標準のパス名と返されるパスを格納する文字列変数を指
定します。ユーザが単一ファイルを選択する場合は、
pathname 変数はパス名とファイル名を含みます。標準の
ファイル名が[ファイル名]テキストボックスに表示さ
れます。ただし、エンド ユーザは、別の名前を指定する
ことができます。
返されたファイル名を格納する文字列変数、または選択さ
れた複数のファイル名を格納する文字列変数の配列を指
定します。文字列変数の配列を指定した場合は、ダイアロ
グボックスで複数選択が可能になります。
String 型の値。1 文字以上 3 文字以下の標準のファイル拡
張子を指定します。この引数を省略すると、" 拡張子なし
" が標準の設定になります。
String 型の値。表示するファイルの説明、および表示する
ファイルを選択するために使用するファイル拡張子(フィ
ルタ)を指定します。構文は、次のとおりです。
description,*. ext
特に指定しない限り、" すべてのファイル (*.*),*.*" が設
定されます。
初期ディレクトリの名前を表す文字列を指定します。指定
を省略した場合は、現行のディレクトリが適用されます。
595
GetFileSaveName
引数
aFlag
(オプション)
説明
ダイアログボックスで使用できるオプションを表す
UnsignedLong 型の値を指定します。各オプションのフラグ
の値は、2 の(index -1)乗として計算されます。なお、
index はオプションに関連付けられた整数値を表します。
GetOpenFileName に渡される aFlag の値は、各オプション
のフラグの値の合計になります。オプションの一覧、各オ
プションに関連付けられたインデックス、および各オプ
ションの意味については、GetOpenFileName の「解説」の
表を参照してください。
戻り値
Integer 型。正常に終了した場合は 1 を返します。エンド ユーザが[キャ
ンセル]ボタンをクリックした場合、または Windows が表示をキャン
セルした場合には、0 を返します。エラーが発生した場合、-1 を返し
ます。引数のいずれかの値が null の場合、null を返します。
解説
開発者が標準のファイル拡張子を DOS と指定している場合、エンド
ユーザが拡張子を付けずにファイル名を指定すると、PowerBuilder は
標準の拡張子 DOS をファイル名に付け加えます。フィルタとして機能
するファイル マスクを指定した場合、PowerBuilder は、そのマスクに
一致するファイルだけを表示します。
filename 引数に文字列を指定する場合は、ユーザは 1 つのファイルだ
けを選択できます。pathname 引数はパス名とファイル名を含みます
(たとえば、c:\temp\test.txt)。
filename 引数に文字列配列を指定する場合は、ユーザは複数のファイ
ルを選択できます。ユーザが複数ファイルを選択した場合は、pathname
引数はパスだけを含みます(たとえば、c:\temp)。ユーザが単一ファ
イルを選択した場合は、その名前が pathname 引数に追加されます(た
と え ば、c:\temp\test.txt)。文 字 列 引 数 を 使 用 す る 例 に つ い て は、
GetFileOpenName 関数を参照してください。
filter 引数、initdir 引数、aFlag 引数の解説については、GetFileOpenName
関数を参照してください。
例
596
次のステートメントは、ユーザが単一ファイルを選択できるようにす
るためにファイルの選択 ダイアログボックスを表示します。標準の
ファイル拡張子は DOC で、フィルタはすべてのファイルを表示し、最
初のディレクトリは C:\My Documents です。aFlag オプションに 32770
を指定しているため、ダイアログボックスが作成されたときに[読み
取り専用]チェックボックスがオンになった状態でエクスプローラ形
式のダイアログボックスが使用されます。ファイルが正常に選択され
た場合、そのパスがシングルライン エディット コントロールに表示さ
れます。
PowerBuilder
第 10 章
PowerScript 関数
string ls_path, ls_file
int li_rc
ls_path = sle_1.Text
li_rc = GetFileSaveName ( " ファイルの選択 ", &
ls_path, ls_file, "DOC", &
"All Files (*.*),*.*" , "C:\My Documents", &
32770)
IF li_rc = 1 Then
sle_1.Text = ls_path
End If
関連項目
DirList
DirSelect
GetFileOpenName
GetFolder
GetFirstSheet
機能
シートがアクティブであるかどうかにかかわらず、MDI フレームの最
前面にあるシートを取得します。
対象
MDI フレーム ウィンドウ
構文
mdiframewindow.GetFirstSheet ( )
引数
mdiframewindow
説明
最前面のシートを求める MDI フレーム ウィンドウを
指定します。
戻り値
Window 型。MDI フレームの最前面にあるシートを返します。フレー
ム上に開いているシートがない場合、GetFirstSheet 関数は無効な値を返
します。mdiframewindow が null の場合は、null を返します。
解説
フレーム上の開いているシートに対して連続した処理を行う場合、
GetFirstSheet 関数と GetNextSheet 関数を使用します。これらの関数を
GetActiveSheet 関数と組み合わせて使用することはできません。
PowerScript リファレンス ボリューム 2
597
GetFixesVersion
GetFisrtSheet 関数の戻り値
IsValid 関数を使用して、戻り値が有効かどうかを確認します。無効な
値の場合、開いているシートはありません。
例
メニュー項目に対する次のスクリプトは、MDI フレームの最前面にあ
るシートを返します。
window wSheet
string wName
wSheet = ParentWindow.GetFirstSheet()
IF IsValid(wSheet) THEN
// 開いているシートがあります。
wName = wsheet.ClassName()
MessageBox(" 最初のシート ", wName)
END IF
関連項目
GetNextSheet
IsValid
GetFixesVersion
機能
現在の PowerBuilder 実行コンテキストの修正レベルを返します。たと
えば、管理レベルが 10.2.1 の場合、修正バージョンは 1 になります。
対象
ContextInformation オブジェクト
構文
servicereference.GetFixesVersion ( fixversion )
引数
servicereference
fixversion
戻り値
説明
ContextInformation サービス インスタンスへの参照を
指定します。
修正バージョンを格納する整数を指定します。この引
数は、参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
現在の修正バージョンを取得します。
例
この例は、GetFixesVersion 関数を呼び出します。
String ls_name
Constant String ls_currver = "8.0.3"
Integer li_majver, li_minver, li_fixver
598
PowerBuilder
第 10 章
PowerScript 関数
ContextInformation ci
this.GetContextService ("ContextInformation", ci)
ci.GetMajorVersion(li_majver)
ci.GetMinorVersion(li_minver)
ci.GetFixesVersion(li_fixver)
IF li_majver <> 8 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_minver <> 0 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_fixver <> 3 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
END IF
関連項目
GetCompanyName
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
GetVersionName
GetFocus
機能
現在フォーカスが設定されているコントロールを確認します。
構文
GetFocus ( )
戻り値
GraphicObject 型。現在フォーカスが設定されているコントロールを返
します。エラーが発生した場合、不正なコントロールに対する参照を
返します。
GetFocus が有効なコントロールを返したかどうかを確認するには、
IsValid 関数を使用します。
例
以下に、which_control を現在フォーカスが設定されているコントロー
ルと同じデータ型に設定し、そのコントロールのテキスト プロパティ
を text_value に設定するステートメントを示します。
GraphicObject which_control
SingleLineEdit sle_which
PowerScript リファレンス ボリューム 2
599
GetFolder
CommandButton cb_which
string text_value
which_control = GetFocus()
CHOOSE CASE TypeOf(which_control)
CASE CommandButton!
cb_which = which_control
text_value = cb_which.Text
CASE SingleLineEdit!
sle_which = which_control
text_value = sle_which.Text
CASE ELSE
text_value = ""
END CHOOSE
関連項目
IsValid
SetFocus
GetFolder
機能
フォルダ選択用のダイアログボックスを表示します。
構文
GetFolder ( title, directory )
引数
title
directory
戻り値
600
説明
フォルダ選択用のツリービューが含まれているダイアロ
グボックスの上部に表示される、タイトルの文字列を指定
します。
フォルダ選択用のダイアログボックスに参照渡しされる
ディレクトリ名の文字列を指定します。このディレクトリ
名が選択され、それにサブフォルダが存在する場合はダイ
アログボックスのツリービューに表示されます。
Integer 型。関数が正常に終了した場合は 1 を返します。エンド ユーザ
が[キャンセル]ボタンをクリックした場合(またはダイアログボッ
クスを閉じた場合)は 0 を返します。エラーが発生した場合は -1 を返
します。
PowerBuilder
第 10 章
PowerScript 関数
解説
ユーザによって選択されたディレクトリは、フォルダ選択用のダイア
ログボックスに渡されたのと同じ変数の中に返されます。
例
次に、フォルダ選択用のダイアログボックスで、Sybase ディレクトリ
のフォルダの内容を表示する例を示します。title 引数に渡された文字
列は、ツリービューの上部に表示されます。
string ls_path = "d:\program files\sybase"
integer li_result
li_result = GetFolder( "my targets", ls_path )
sle_1.text=ls_path
// ユーザが選択したパスをシングルライン エディット ボックスに入れ
ます。
関連項目
DirectoryExists
DirList
DirSelect
GetCurrentDirectory
GetFileOpenName
GetFileSaveName
GetGlobalProperty
機能
SSL グローバル プロパティの値を返します。この関数は、EAServer に
接続している PowerBuilder クライアントによって使用されます。
対象
SSLServiceProvider オブジェクト
構文
sslserviceprovider.GetGlobalProperty ( property, values)
引数
sslserviceprovider
property
サポートされている全 SSL プロパティのリストにつ
いては EAServer のマニュアルまたは Connection オブ
ジェクトのオンライン ヘルプを参照してください。
指定された SSL プロパティの値を格納する String 型
の配列を指定します。
values
戻り値
説明
SSLServiceProvider サービス インスタンスへの参照を
指定します。
値を返す SSL プロパティの名前を指定します。
Long 型。以下のいずれかの値を返します。
0
正常に終了しました。
PowerScript リファレンス ボリューム 2
601
GetHostObject
-1 不明なプロパティです。
-3 プロパティに値がありません。
-10 EAServer または SSL のエラーが発生しました。
-11 引数リストが不正です。
解説
GetGlobalProperty 関数を使用すると、EAServer に SSL 接続している
PowerBuilder クライアントが、グローバル SSL プロパティにアクセス
できます。
SSLServiceProvider インタフェースを使って設定されたすべてのプロ
パティは、そのクライアントによって確立されたすべての EAServer
サーバへの接続に対してグローバルになります。これらのグローバル
な設定は、接続オブジェクトまたは JaguarORB オブジェクトのオプ
ションとして指定することにより、接続レベルで上書きすることがで
きます。
SSL プロパティの取得および設定を行うことができるのは、クライア
ントだけです。サーバ コンポーネントには、SSLServiceProvider サービ
スを使用する権限がありません。
例
次に、GetGlobalProperty 関数を使って、sessLingerTime プロパティの値
を取得する例を示します。
SSLServiceProvider ssl
string ls_values[]
long rc
...
this.GetContextService("SSLServiceProvider", ssl)
rc = ssl.GetGlobalProperty("sessLingerTime", ls_values)
...
関連項目
SetGlobalProperty
GetHostObject
機能
コンテキストのホスト オブジェクトに対する参照を返します。
ホスト オブジェクト サポート
現在ホスト オブジェクトがサポートされているのは、Internet Explorer
上で動作するウィンドウ ActiveX 環境だけです。この環境では、
IWebBrowserApp ActiveX オートメーション サーバ オブジェクトに対
する参照を返します。
602
PowerBuilder
第 10 章
対象
ContextInformation オブジェクト
構文
servicereference.GetHostObject ( hostobject )
引数
servicereference
hostobject
戻り値
PowerScript 関数
説明
コンテキスト情報のサービス インスタンスを参照しま
す。
ActiveX オートメーション サーバ オブジェクトへの参
照を格納する PowerObject を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
コンテキスト オブジェクトモデルに対する参照を返します。Internet
Explorer 3.0 以降でウィンドウ ActiveX を実行している場合、hostobject
はインスタンス化していない OleObject 変数となり、ActiveX オート
メーション サーバ オブジェクトへの参照を返します。これを使用し
て、ホスト ブラウザを制御できます。ホスト オブジェクト サポート
が使用できない場合、戻り値は -1 で hostobject は null になります。
例
この例は、GetHostObject 関数を呼び出します。Ici_info は
ContextInformation 型のインスタンス変数であり、GetContextService 関数
によってすでに与えられています。ole1 は OLEObject 型のインスタン
ス変数です。
Integer li_return
li_return = ici_info.GetHostObject(ole1)
IF li_return = 1 THEN
sle_1.Text = "GetHostObject succeeded"
ELSE
sle_1.Text = "GetHostObject failed"
cb_goback.Enabled = FALSE
cb_navigate.Enabled = FALSE
END IF
関連項目
GetCompanyName
GetName
GetShortName
GetVersionName
PowerScript リファレンス ボリューム 2
603
GetItem
GetItem
リストビュー コントロールとツリービュー コントロールの指定され
た項目に関連付けられているデータを取得します。
取得するデータ
リストビュー コントロールの指定された項目に関連
付けられているデータ
リストビュー コントロールの指定された項目とカラ
ムに関連付けられているデータ
ツリービュー コントロールの指定された項目に関連
付けられているデータ
使用する構文
構文 1
構文 2
構文 3
構文 1
リストビュー コントロールに対して
機能
リストビュー コントロールから、そのプロパティを調べるために
ListViewItem オブジェクトを取得します。
対象
リストビュー コントロール
構文
listviewname.GetItem ( index, {column}, item )
引数
listviewname
index
column
item
説明
項目を取得するリストビュー コントロールの名前を指定
します。
取得する項目のインデックス番号を指定します。
項目の情報を取得するカラムのインデックス番号を指定
します。
ListViewItem オブジェクトを格納する ListViewItem 変数を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。取得した ListViewItem オブジェクトを、ListViewItem
変数の中に格納します。
解説
この構文によって、リストビュー コントロールの任意の項目のプロパ
ティを取得することができます。カラムを指定しない場合は、項目の
最初のカラムのプロパティが取得されます。レポート ビューの場合の
み、複数のカラムが表示されます。
ラベルだけを取得するには、構文 2 を使用します。特定の項目に固有
でないカラムのプロパティを取得するには、GetColumn 関数を使用しま
す。
604
PowerBuilder
第 10 章
PowerScript 関数
リストビュー コントロールの項目に関連付けられたピクチャおよび
そのほかのプロパティ値を変更するには、GetItem 関数を使用して値を
取得し、プロパティ値を変更してから、SetItem 関数を使ってリスト
ビュー コントロールに変更を適用します。
例
次に、GetItem 関数を使って、リストビュー コントロール lv_list の 2 番
目の項目を 5 番目に移動する例を示します。まず項目 2 を取得し、取
得した情報を 5 番目の項目としてリストビュー コントロールに挿入し
た後、元の項目を削除します。
listviewitem l_lvi
lv_list.GetItem(2, l_lvi)
lv_list.InsertItem(5, l_lvi)
lv_list.DeleteItem(2)
関連項目
GetColumn
SetItem
構文 2
リストビュー コントロールに対して
機能
リストビューの項目の指定されたカラム中の表示値を取得します。
対象
リストビュー コントロール
構文
listviewname.GetItem ( index, column, label )
引数
listviewname
index
column
label
説明
表示値を取得するリストビュー コントロールの名前を指
定します。
表示値を取得する項目のインデックス番号を指定します。
値を取得するカラムのインデックス番号を指定します。
ListView がマルチカラムのレポート ビューでない場合は、
すべての項目がカラム 1 にあるとみなされます。
表示値を格納する String 型の変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。ListView カラムの表示値を、String 型の変数に格納し
ます。
解説
リストビューの項目のプロパティ値を取得するには、構文 1 を使用し
ます。
例
次に、リストビュー コントロール lv_list の 第 1 行のカラム 1 とカラム
3 から表示値を取得し、この値をシングルライン エディット コント
ロール sle_info に表示する例を示します。
PowerScript リファレンス ボリューム 2
605
GetItem
string ls_artist, ls_comp
lv_list.GetItem(1, 1 , ls_comp)
lv_list.GetItem(1, 3 , ls_artist)
sle_info.text = ls_artist +" wrote " + ls_comp + "."
関連項目
SetItem
構文 3
ツリービュー コントロールに対して
機能
指定された項目に関連付けられているデータを取得します。
対象
ツリービュー コントロール
構文
treeviewname.GetItem ( itemhandle, item)
引数
treeviewname
itemhandle
item
説明
指定された項目のデータを表示するツリービュー コント
ロールの名前を指定します。
情報を取得する項目のハンドルを指定します。
指定された項目のハンドルで識別されている項目を格納
する TreeViewItem 変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ツリービュー内にある特定の項目(ラベル、ハンドル、ピクチャ イン
デ ッ ク ス な ど)に 関 連 付 け ら れ て い る 状 態 情 報 を 取 得 す る に は、
GetItem 関数を使用します。一度情報を検索すると、その情報をアプリ
ケーションで使用できるようになります。項目のプロパティを変更す
るには、GetItem 関数を呼び出して項目を TreeViewItem 変数に割り当
て、プロパティを変更し、SetItem 関数を呼び出して、変更内容をツ
リービューにコピーします。
例
次の Clicked イベントの例では、クリックした項目を取得し、オーバー
レイ ピクチャを変更します。SetItem 関数は、変更内容をツリービュー
にコピーします。
treeviewitem tvi
This.SetItem(handle, tvi)
tvi.OverlayPictureIndex = 1
This.SetItem(handle, tvi)
次に、SelectionChanged イベントの項目を管理する例を示します。事前
に何も選択していなかった場合、l_tviold の値は 0 になります。
treeviewitem l_tvinew, l_tviold
606
PowerBuilder
第 10 章
PowerScript 関数
// 事前に選択されていたツリービューの項目を取得します。
tv_list.GetItem(oldhandle, l_tviold)
// 現在選択されているツリービューの項目を取得します。
tv_list.GetItem(newhandle, l_tvinew)
// シングルライン エディット内の 2 つの項目の
// ラベルを印刷します。
sle_get.Text = "Selection changed from " &
+ String(l_tviold.Label) + " to " &
+ String(l_tvinew.Label)
関連項目
InsertItem
GetItemAtPointer
機能
カーソルの下にある項目のハンドルまたはインデックスを返します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.GetItemAtPointer ( )
引数
controlname
戻り値
説明
ハンドルまたはインデックスを取得するコントロールの
名前を指定します。
Long 型。カーソルの下のインデックス(リストビュー)かハンドル
(ツリービュー)を返します。エラーが発生した場合は、-1 を返します。
解説
リストビュー コントロール内またはツリービュー コントロール内の
項目を選択するシステム イベント(たとえば Clicked イベントなど)に
は、リストビューのインデックスかツリービューのハンドルを渡す引
数がすでにあります。GetItemAtPointer メソッドを使用すると、ユーザ
イベント(インデックス引数またはハンドル引数のないシステム イベ
ント)でリストビュー コントロールまたはツリービュー コントロール
のインデックスやハンドルを取得できます。
例
次に、ツリービューの項目のハンドルをシングルライン エディット
ボックスの中に表示する例を示します。
integer li_index
li_index= tv_1.GetItematPointer ( )
sle_1.text = string (li_index)
PowerScript リファレンス ボリューム 2
607
GetLastReturn
関連項目
FindItem
SelectItem
GetLastReturn
機能
直前に呼び出した InvokePBFunction 関数または TriggerPBEvent 関数から
の戻り値を返します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.GetLastReturn ( )
引数
activexcontrol
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、ActiveX コントロー
ルは OBJECT エレメントの NAME 属性になります。その
ほかの環境で使用する場合には、これは PowerBuilder ウィ
ンドウ ActiveX を含むコントロールを参照します。
戻り値
Any 型。直前の戻り値を返します。
解説
InvokePBFunction 関数や TriggerPBEvent 関数の後に GetLastReturn 関数を
呼び出すと、戻り値を取得できます。JavaScript スクリプトで
InvokePBFunction 関数と TriggerPBEvent 関数の戻り値を取得する場合は、
GetLastReturn 関数を使用してください。VBScript スクリプトでは、
GetLastReturn 関数を使用するか、InvokePBFunction 関数や
TriggerPBEvent 関数の引数からその戻り値を取得してください。
例
次に、JavaScript で GetLastReturn 関数を呼び出す例を示します。
...
retcd = PBRX1.TriggerPBEvent(theEvent, numargs);
rc = parseInt(PBRX1.GetLastReturn());
if (rc != 1) {
alert(" エラー。空の文字列です。");
}
...
次に、VBScript で GetLastReturn 関数を呼び出す例を示します。
...
retcd = PBRX1.TriggerPBEvent(theEvent, &
numargs, args)
rc = PBRX1.GetLastReturn()
IF rc <> 1 THEN
608
PowerBuilder
第 10 章
PowerScript 関数
msgbox " エラー。空の文字列です。"
END IF
...
関連項目
GetArgElement
InvokePBFunction
SetArgElement
TriggerPBEvent
GetLibraryList
機能
アプリケーションのライブラリ探索パスのファイルを取得します。
構文
GetLibraryList ( )
戻り値
String 型。現在のライブラリ リストを完全なパスで返します。ライブ
ラリが複数ある場合は、カンマで区切られます。
解説
SetLibraryList 関数を使用して探索パスを更新する際は、事前に
GetLibraryList を呼び出して、そのリストに追加するライブラリを付加
しておく必要があります。
例
次の例では、ライブラリ リストを取得してライブラリを追加した後
で、そのリストをリセットします。
string ls_list, ls_newlist
ls_list = getlibrarylist ()
ls_newlist = ls_list + ",c:\my_library.pbl"
setlibrarylist (ls_newlist)
関連項目
AddToLibraryList
SetLibraryList
GetMajorVersion
機能
現行の PowerBuilder 実行コンテキストのメジャー バージョンを返しま
す。たとえば、管理レベルが 10.2.1 の場合、メジャー バージョンは 10
です。
対象
ContextInformation オブジェクト
PowerScript リファレンス ボリューム 2
609
GetMajorVersion
構文
servicereference.GetMajorVersion ( majorversion )
引数
servicereference
majorversion
戻り値
説明
ContextInformation サービス インスタンスへの参照を指定
します。
Integer 型の値。GetMajorVersion 関数は、ここにメジャー
バージョンを格納します。この引数は、参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
現行のメジャー バージョンを取得します。
例
次に、GetMajorVersion 関数を呼び出す例を示します。
String ls_name
Constant String ls_currver = "8.0.3"
Integer li_majver, li_minver, li_fixver
ContextInformation ci
this.GetContextService ("ContextInformation", ci)
GetMajorVersion(li_majver)
ci.GetMinorVersion(li_minver)
ci.GetFixesVersion(li_fixver)
IF li_majver <> 8 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_minver <> 0 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_fixver <> 3 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
END IF
関連項目
610
GetCompanyName
GetFixesVersion
GetHostObject
GetMinorVersion
GetName
GetShortName
GetVersionName
PowerBuilder
第 10 章
PowerScript 関数
GetMessage
機能
Throwable 型のオブジェクトからエラー メッセージを返します。
構文
throwableobject.GetMessage ( )
引数
throwableobject
説明
エラー メッセージを取得する Throwable 型のオブジェ
クトを指定します。
戻り値
String 型。システム エラー オブジェクト(たとえば RuntimeError など)
のエラー テキストは、事前設定されています。
解説
Throwable 型オブジェクトのエラー メッセージは、SetMessage 関数を
使用して設定できます。
例
次に、システム エラー メッセージを捕捉してメッセージ ボックスの
中に表示する例を示します。システム エラーを捕捉することによっ
て、所定の範囲内にない arccosine(逆余弦)引数をアプリケーション
ユーザが入力した場合のアプリケーション停止を回避できます。
Double ld_num
ld_num = Double (sle_1.text)
TRY
sle_2.text = string (acos (ld_num))
CATCH (runtimeerror er)
MessageBox(" 実行時エラー ", er.GetMessage())
END TRY
次の例では、ユーザ定義関数 wf_acos を呼び出すボタンの Clicked イベ
ントから、ユーザ エラー メッセージを捕捉して表示します。ユーザ定義
関数は実行時エラーの捕捉によってアプリケーションの停止を回避し、
Exception オブジェクト型を継承するユーザ オブジェクト uo_exception
に対してメッセージを設定します。
TRY
wf_acos()
CATCH (uo_exception u_ex)
messageBox(" 範囲外です ", u_ex.GetMessage())
END TRY
wf_acos 関数のコードは、SetMessage 関数の解説にコード例として示し
てあります。
関連項目
SetMessage
PowerScript リファレンス ボリューム 2
611
GetMinorVersion
GetMinorVersion
機能
現行の PowerBuilder 実行コンテキストのマイナー バージョンを返しま
す。たとえば、管理レベルが 10.2.1 の場合、マイナー バージョンは 2
です。
対象
ContextInformation オブジェクト
構文
servicereference.GetMinorVersion ( minorversion )
引数
servicereference
minorversion
戻り値
説明
ContextInformation サービス インスタンスへの参照を
指定します。
Integer 型の値。GetMinorVersion 関数は、ここにマイ
ナー バージョンを格納します。この引数は、参照渡し
されます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
現行のマイナー バージョンを取得します。
例
この例は、GetMinorVersion 関数を呼び出します。
String ls_name
Constant String ls_currver = "8.0.3"
Integer li_majver, li_minver, li_fixver
ContextInformation ci
this.GetContextService ("ContextInformation", ci)
ci.GetMajorVersion(li_majver)
ci.GetMinorVersion(li_minver)
ci.GetFixesVersion(li_fixver)
IF li_majver <> 8 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_minver <> 0 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
ELSEIF li_fixver <> 3 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
END IF
関連項目
612
GetCompanyName
GetFixesVersion
GetHostObject
PowerBuilder
第 10 章
PowerScript 関数
GetMajorVersion
GetName
GetShortName
GetVersionName
GetName
機能
現行の実行コンテキストの名前を取得します。
対象
ContextInformation オブジェクト
構文
servicereference.GetName ( name )
引数
servicereference
name
戻り値
説明
ContextInformation サービス インスタンスへの参照を
指定します。
String 型の値。GetName 関数はここに名前を格納しま
す。この引数は、参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。次の値を返します。
•
PowerBuilder 実行時
•
PowerBuilder ウィンドウ プラグイン
•
PowerBuilder ウィンドウ ActiveX PowerBuilder Runtime ActiveX
PowerBuilder Runtime
PowerBuilder window Plug-in
解説
現在の実行環境を確認できます。
例
次に、GetName 関数を呼び出す例を示します。ci は ContextInformation
型のインスタンス変数です。
String ls_name
this.GetContextService ("ContextInformation", ci)
ci.GetName(ls_name)
IF ls_name <> "PowerBuilder Runtime" THEN
cb_close.visible = FALSE
END IF
関連項目
GetCompanyName
GetContextService
GetFixesVersion
GetHostObject
PowerScript リファレンス ボリューム 2
613
GetNativePointer
GetMajorVersion
GetMinorVersion
GetShortName
GetVersionName
GetNativePointer
機能
OLE コントロールに関連付けられている OLE オブジェクトへのポイ
ンタを取得します。このポインタによって、オブジェクトの外部 DLL
の OLE 関数を呼び出すことができます。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.GetNativePointer ( pointer )
引数
olename
pointer
説明
取得するネイティブ ポインタが示すオブジェクトが含ま
れる OLE コントロールの名前を指定します。
ポインタを格納する UnsignedLong 型変数を指定します。
GetNativePointer 関数が有効なポインタを取得できなかっ
た場合、pointer に 0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、OLE QueryInterface 関数
とともに使用します。
GetNativePointer 関数が呼び出されると、PowerBuilder は OLE の AddRef
関数を呼び出してポインタをロックします。DLL 関数、または
ReleaseNativePointer 関数を使用した PowerBuilder スクリプトで、ポイ
ンタを解放する必要があります。
外部 DLL 呼び出し専用
この関数は、外部 DLL 呼び出しに対してのみ有効です。
SetAutomationPointer 関数とは関係ありません。
例
次に、OLE オートメーションの外部関数を呼び出すために、OLE カス
タム コントロール ocx_spell のポインタを取得する例を示します。
UnsignedLong lul_oleptr
614
PowerBuilder
第 10 章
PowerScript 関数
integer li_rtn
li_rtn = ocx_spell.GetNativePointer(lul_oleptr)
IF li_rtn = 0 THEN
... // オートメーションの外部関数を呼び出します。
ocx_spell.ReleaseNativePointer(lul_oleptr)
END IF
関連項目
GetAutomationNativePointer
ReleaseAutomationNativePointer
ReleaseNativePointer
GetNextSheet
機能
MDI フレーム内の指定されたシートの背面にあるシートを取得しま
す。
対象
MDI フレーム ウィンドウ
構文
mdiframewindow.GetNextSheet ( sheet )
引数
mdiframewindow
sheet
説明
次のシートを求める MDI フレーム ウィンドウを指定
します。
求めるシートの前面にあるシートを指定します。
戻り値
Window 型。MDI フレーム内で sheet に指定したシートの背面にある
シートを返します。指定した sheet の背面にシートがない場合には、無
効な値を返します。引数のいずれかの値が null の場合は、null を返しま
す。
解説
フレーム内の開いている各シートに対して連続した処理を行うには、
GetFisrtSheet 関数を使用して最初のシートを取得し、GetNextSheet 関数
を何回か使用して残りのシートを取得します。それぞれの戻り値を
IsValid 関数を使用してチェックし、最後のシートに達したかどうかを
確認します。GetFirstSheet 関数と GetNextSheet 関数は、GetActiveSheet 関
数と組み合わせて使用することはできません。
GetNextSheet 関数の戻り値のチェック
IsValid 関数を使用して GetNextSheet 関数が有効なウィンドウを返した
かどうかを確認します。指定したシートの背面にシートがなかった場
合、無効な値を返します。
PowerScript リファレンス ボリューム 2
615
GetObjectRevisionFromRegistry
例
メニュー項目に対する次のスクリプトでは、最前面から背面に順番に
開いているシートを取得し、リストボックス lb_sheets にシートの名前
を表示します。
boolean bValid
window wSheet
lb_sheets.Reset()
wSheet = ParentWindow.GetFirstSheet()
IF IsValid(wSheet) THEN
lb_sheets.AddItem(wSheet.Title)
DO
wSheet = ParentWindow.GetNextSheet(wSheet)
bValid = IsValid (wSheet)
IF bValid THEN lb_sheets.AddItem(wSheet.Title)
LOOP WHILE bValid
END IF
関連項目
GetFirstSheet
IsValid
GetObjectRevisionFromRegistry
機能
Windows レジストリに格納されている同期のプロパティ値を同期オブ
ジェクトに割り当てます。
対象
MLSynchronization コントロール、MLSync コントロール、ULSync コン
トロール
構文
SyncObject.GetObjectRevisionFromRegistry ( )
引数
syncObject
説明
同期オブジェクトの名前を指定します。
戻り値
Integer 型。ObjectRevision の値を返します。レジストリ キーが見つか
らない場合や同期オブジェクトの SyncRegistryKey プロパティが設定
されていない場合、-1 を返します。
解説
レジストリ キーは、
HKEY_CURRENT_USER\SyncRegistryKey\DBSyncType に
配置されています。
SyncRegistryKey は同期オブジェクトの SyncRegistryKey
プロパティの値、DBSyncType は MobiLink または UltraLite のいずれかで
す。
関連項目
GetSyncRegistryProperties
616
PowerBuilder
第 10 章
PowerScript 関数
SetSyncRegistryProperties
GetOrigin
機能
リストビューの項目の左上隅の X 座標と Y 座標を検索します。
対象
リストビュー コントロール
構文
listviewname.GetOrigin ( x , y )
引数
listviewname
x
y
説明
左上隅の座標を調べるリストビュー コントロールを指定
します。
リストビュー コントロールの X 座標を格納する Integer 型
変数を指定します。
リストビュー コントロールの Y 座標を格納する Integer 型
変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リストビュー コントロールの左上隅にドラッグされたオブジェクト
の位置を調べるには、GetOrigin 関数を使用します。
例
次に、選択されたリストビューの項目の左上隅に、スタティック テキ
ストの時計を移動する例を示します。
integer li_index
listviewitem l_lvi
li_index = lv_list.SelectedIndex()
lv_list.GetItem(li_index, l_lvi)
lv_list.GetOrigin(l_lvi.ItemX, l_lvi.ItemY)
sle_info.Text = "X is "+ String(l_lvi.ItemX) &
+ " and Y is " + String(l_lvi.ItemY)
st_clock.Move(l_lvi.itemx , l_lvi.ItemY)
MessageBox(" 時計の位置 ", "X 座標 " &
+ String(st_clock.X) &
+ ", Y 座標 " &
+ String(st_clock.Y)+" です。")
PowerScript リファレンス ボリューム 2
617
GetParagraphSetting
GetParagraphSetting
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
のインデント、左余白、または右余白のサイズを取得します。
対象
リッチテキスト エディット コントロール
構文
rtecontrol.GetParagraphSetting ( whichsetting )
引数
rtecontrol
whichsetting
説明
段落情報を取得するコントロールの名前を指定します。
ParagraphSetting カタログ データ型。取得する値の設定を
指定します。値は以下のとおりです。
• Indent! - 段落のインデント
• LeftMargin! - 段落の左余白
• RightMargin! - 段落の右余白
戻り値
Long 型。1/1000 インチの単位で指定された設定のサイズを返します。
エラーが発生した場合、-1 を返します。whichsetting が null の場合は、
null を返します。
例
次に、現行の段落のインデント設定を取得する例を示します。
long ll_indent
ll_indent = rte_1.GetParagraphSetting(Indent!))
関連項目
GetAlignment
GetSpacing
GetTextColor
GetTextStyle
SetParagraphSetting
GetParent
機能
指定されたオブジェクトの親を取得します。
対象
すべてのオブジェクト
構文
objectname.GetParent ( )
引数
objectname
618
説明
ウィンドウ オブジェクト、ユーザ オブジェクト、メニュー
項目上のコントロールを指定します。指定されたコント
ロールの親のオブジェクトを取得します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
PowerObject 型。objectname に指定されたコントロールの親への参照を
返します。
例
タブ ページとして使用されるユーザ オブジェクトに対するイベント
のスクリプトで、親のタブ コントロールへの参照を汎用的にするに
は、次のように記述します。
// a_tab は総称です。
// 特定のページのことはわかりません。
tab a_tab
// a_tab_page は総称です。
// 特定のコントロールのことはわかりません。
userobject a_tab_page
// タブ コントロールとタブ ページの値を取得します。
a_tab = this.GetParent( )
// 解説のため、重複しているものもあります。
a_tab_page = this
// タブ ページのプロパティを設定します。
a_tab_page.PowerTipText = "Important property page"
// タブ コントロールのプロパティを設定します。
a_tab.PowerTips = TRUE
// タブ コントロールの関数を実行します。
a_tab.SelectTab(a_tab_page)
a_tab_page は、ユーザ オブジェクトのコントロールのことはわからな
いので、参照することはできません。a_tab もタブ コントロール内の
特定のページについてはわからないので、参照することはできません。
タブページ ユーザ オブジェクトのコントロールのイベントのスクリ
プトで、ユーザ オブジェクトとタブ ページとしてユーザ オブジェク
トを含むタブ コントロールを参照するには、2 つのレベルの GetParent
関数を使用します。
// コントロールを参照するには、GetParent() 関数にレベルをあと
1 つ追加します。
// 上記と同じ設定を行うことができます。
tab a_tab
userobject a_tab_page
a_tab_page = this.GetParent()
a_tab = a_tab_page.GetParent()
a_tab_page.PowerTipText = "Important property page"
a_tab.PowerTips = TRUE
PowerScript リファレンス ボリューム 2
619
GetPin
a_tab.SelectTab(a_tab_page)
関連項目
ParentWindow
12 ページの「代名詞」
GetPin
機能
EAServer によって呼び出され、SSL 接続に使用する PIN を取得します。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
SSLCallBack オブジェクト
構文
sslcallback.GetPin ( thesessioninfo, timedout )
引数
sslcallback
thesessioninfo
timedout
説明
カスタマイズされた SSLCallBack オブジェクトのインス
タンスを指定します。
SSL セッションに関する情報を含む CORBA オブジェク
トを指定します。オプションで、この情報を表示し、セッ
ションについての詳細をユーザに提供することもできま
す。
コールバックの理由を示す Boolean 型の値を指定します。
true の値は、PIN がタイムアウトしているため、再び取得
する必要があることを意味します。false の値は、SSL 接
続の時点で PIN が指定されていなかったことを意味しま
す。
戻り値
String 型。ユーザによって指定された PIN を返します。
解説
PowerBuilder のアプリケーションでは、通常、GetPin 関数を直接呼び
出すことはありません。SSL 接続用 PKCS 11 トークンにログインする
た め の PIN を EAServer ク ラ イ ア ン ト が 指 定 し な か っ た 場 合 は、
EAServer が GetPin 関数を呼び出します。
SSLCallBack オブジェクトの任意の関数の動作を上書きするためには、
SSLCallBack から継承された標準クラス ユーザ オブジェクトを作成
し、必要であればこのオブジェクトをカスタマイズします。コールバッ
クが要求されたときに使用するオブジェクトを EAServer に認識させ
るには、SSL の callbackImpl プロパティにオブジェクト名を指定しま
す。このプロパティの値を設定するには、SetGlobalProperty 関数を呼び
出します。
620
PowerBuilder
第 10 章
PowerScript 関数
GetPin の実装を指定しないと、EAServer は CORBA::NO_IMPLEMENT 例
外を捕捉するため、空の文字列が返されます。有効な戻り値を取得す
るには、PIN の入力を要求する関数をコーディングします。渡された
thesessioninfo オブジェクトから取得したトークン名などの情報をユー
ザに提供することも可能です。
不正な PIN か、空の文字列が返された場合、EAServer は TrustVerify
コールバックを呼び出します。
このコールバック関数内で例外を送出することによって、このような
接続の試行をユーザがキャンセルすることが可能になります。
SSLCallback 関数で送出された例外はそのすべてが、
CTSSecurity::UserAbortedException をユーザに返します。その例外を捕捉
するには、ConnectToServer 関数を try-catch ブロックの中に含める必要
があります。
例
次に、新規 SSL セッションで、またはセッションがタイムアウトした
ときに PIN の入力を要求する例を示します。テキスト ボックスの入力
された情報をアスタリスクに置き換え、PIN を正確に入力できるよう
に 2 回以上の入力を許可するなどの処理も実際には必要です。
// インスタンス変数:
// string is_tokenName
// SSLServiceProvider issp_jag
CTSSecurity_sslSessionInfo mySessionInfo
is_tokenName = mySessionInfo.getProperty( "tokenName" )
w_response w_pin
IF timedout THEN
MessageBox("SSL セッションは満了しました。", &
ls_tokenName + " 証明書データベースにアクセスするには "
+ &
"PIN を再入力してください。")
ELSE
MessageBox("SSL セッションには PIN が必要です。", &
ls_tokenName + " 証明書データベースにアクセスするには "
+ &
"PIN を入力してください。")
END IF
string s_PIN
userabortedexception ue_cancelled
// PIN のプロンプトを開きます。
Open(w_pin)
// 入力された値を取得します。
PowerScript リファレンス ボリューム 2
621
GetRecordSet
s_PIN = Message.StringParm
// 処理続行の場合はプロパティを設定します。
if s_PIN <> ABORT_VALUE then
issp_jag.setglobalproperty("pin", s_PIN)
// それ以外の場合は強制終了します。
else
ue_cancelled = CREATE userabortedexception
ue_cancelled.text = "User cancelled request when " &
+ "asked for PIN."
throw ue_cancelled
end if
return s_PIN
関連項目
ConnectToServer
GetCertificateLabel
GetCredentialAttribute
TrustVerify
GetRecordSet
機能
現行の ADO Recordset オブジェクトを返します。
対象
ADOResultSet オブジェクト
構文
adoresultset.GetRecordSet ( adorecordsetobject )
引数
adoresultset
adorecordsetobject
説明
ADO Recordset を含む ADOResultSet オブジェクトを指
定します。
現行の ADO Recordset を格納する OLEObject オブジェ
クトを指定します。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
GetRecordSet 関数は、ADO Recordset を、PowerBuilder でネイティブの
ADO Recordset として使用できる OLEObject オブジェクトとして返す
ために使用します。ADO Recordset を含む ADOResultSet オブジェクト
には、事前に、SetRecordSet 関数や SetResultSet 関数を使用して値を入
れておく必要があります。
622
PowerBuilder
第 10 章
例
PowerScript 関数
次 の 例 で は、結 果 集 合 を 既 存 の デ ー タ ス ト ア オ ブ ジ ェ ク ト か ら
ResultSet オブジェクトの中に生成します。ResultSet オブジェクトは、
新 し い ADOResultSet オ ブ ジ ェ ク ト を 作 成 す る の に 使 用 し ま す。
ADOResultSet オブジェクトでの GetRecordSet 関数は、ADO Recordset
のメソッドで使用する OLEObject オブジェクトとして ADO Recordset
を返すために使用します。
resultset lrs_resultset
ADOresultset lrs_ADOresultset
OLEObject loo_ADOrecordset
// 既存のデータストアから結果集合を生成します。
ds_source.GenerateResultSet(lrs_resultset)
// 新規の ADOResultSet オブジェクトを作成し、
// 上記で生成した結果集合から値を入れます。
lrs_ADOresultset = CREATE ADOResultSet
lrs_ADOresultset.SetResultSet(lrs_resultset)
// ADOResultset オブジェクトの中のデータを
// ADO Recordset として使用できる OLEObject に渡します。
loo_ADOrecordset = CREATE OLEObject
lrs_ADOresultset.GetRecordSet(loo_ADOrecordset)
// OLEObject でネイティブの ADO Recordset メソッドを
// 呼び出します。
loo_ADOrecordset.MoveFirst()
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
SetRecordSet
SetResultSet
GetRemote
DDE サーバ アプリケーションに対してデータを返し、そのデータを指
定された変数に格納するように要求します。確立した DDE 接続の種類
によって、使用する構文が異なります。
目的
使用する構文
DDE サーバ アプリケーションに対して 1 つのリクエスト 構文 1
を出す(コールド リンク)
チャネルを開いた後、DDE サーバ アプリケーションから 構文 2
データを要求する(ウォーム リンク)
PowerScript リファレンス ボリューム 2
623
GetRemote
構文 1
1 つの DDE リクエストを行う
機能
開かれているチャネルを要求せずに、DDE サーバ アプリケーションに
対してデータを要求し、そのデータを指定された変数に格納します。
サーバに対してリクエストを 1 つまたは 2 つしか行わない場合、この
構文が適しています。
構文
GetRemote ( location, target, applname, topicname {,bAnsi})
引数
location
target
applname
topicname
bAnsi
(オプション)
戻り値
説明
String 型の値。DDE サーバ アプリケーションから取得する
データの位置を指定します。location の形式は、メッセー
ジを受け取る DDE サーバ アプリケーションによって異な
ります。
String 型の変数。取得したデータを格納する場所を指定し
ます。
String 型の値。DDE サーバ アプリケーションの DDE 名を
指定します。別の PowerBuilder アプリケーションが DDE
サーバの場合には、StartServerDDE 関数の呼び出し時に指
定したアプリケーション名を指定します。
String 型の値。コマンドで使用するアプリケーションのイ
ンスタンスまたはデータを指定します。たとえば Microsoft
Excel の場合、この引数には "system"、または開いている
スプレッドシートの名前を指定します。別の PowerBuilder
アプリケーションが DDE サーバの場合には、StartServerDDE
関数の呼び出し時に指定したトピック名を指定します。
Boolean 型の値。DDE サーバから取得する文字列が ANSI
形式かどうかを指定します。bAnsi が NULL、false、または
空の場合、PowerBuilder は初めに DDE データを UNICODE
形式の文字列として取得しようとします。bAnsi が true の
場合、PowerBuilder は DDE データを ANSI 形式の文字列と
して取得しようとします。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
リンクは開始されていません。
リクエストが拒否されました。
引数のいずれかの値が null の場合は、null を返します。
解説
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。構文 1
では、アクティブ ウィンドウが DDE クライアントのウィンドウにな
ります。
624
PowerBuilder
第 10 章
PowerScript 関数
DDE チャネル、ウォーム リンク、およびコールド リンクについての
詳細は、ExecRemote 関数の 2 つの構文を参照してください。
例
次のステートメントは、Microsoft Excel に対して PROFIT.XLS という
ワークシートの 1 行目の 2 列目のデータを返すように要求し、返され
たデータを PowerBuilder の String 型の変数 ls_ProfData に格納します。
GetRemote 関数を 1 回呼び出してコールド リンクを確立し、データを
取得してからリンクを終了します。
string ls_ProfData
GetRemote("R1C2", ls_ProfData, &
"Excel", "PROFIT.XLS")
関連項目
ExecRemote
SetRemote
構文 2
開いたチャネルを介して DDE リクエストを行う
機能
サーバに対するチャネルを開いてウォーム リンクを確立している場
合に、DDE サーバ アプリケーションに対してデータを返すように要求
し、返されたデータを指定された変数に格納します。複数の DDE リク
エストを行う予定がある場合には、チャネルを開いてウォーム リンク
を使用する方が効率的です。
構文
GetRemote ( location, target, handle {, windowhandle} {, bAnsi} )
引数
location
target
handle
windowhandle
(オプション)
bAnsi
(オプション)
PowerScript リファレンス ボリューム 2
説明
String 型の値。取得するデータの位置を指定します。
location の形式は、リクエストを受け付ける DDE アプリ
ケーションによって異なります。
String 型の変数。取得したデータの格納先を指定します。
Long 型の値。DDE サーバ アプリケーションに対するチャ
ネルを指定します。OpenChannel 関数を呼び出して DDE
チャネルを開くと、この引数に指定された値が返されます。
DDE クライアントとして機能させているウィンドウに対
するハンドルを指定します。複数のウィンドウを開いてい
るとき、DDE クライアントとして機能させるウィンドウ
を指定するために使用します。
Boolean 型の値。DDE サーバから取得する文字列が ANSI
形式かどうかを指定します。bAnsi が NULL、false、また
は空の場合、PowerBuilder は初めに DDE データを
UNICODE 形式の文字列として取得しようとします。bAnsi
が true の場合、PowerBuilder は DDE データを ANSI 形式の
文字列として取得しようとします。
625
GetRemote
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
-9
解説
リンクは開始されていません。
リクエストが拒否されました。
handle が null です。
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。この構
文の場合には、windowhandle を使用してクライアント ウィンドウを指
定できます。
この構文を使用する前に、OpenChannel 関数を呼び出して DDE チャネ
ルを確立してください。
DDE チャネル、ウォーム リンク、コールド リンクについての詳細は、
ExecRemote 関数を参照してください。
例
次のステートメントは、handle で指定されたチャネル(Microsoft Excel
のワークシート)に対して 1 行目の 2 列目のデータを返すように要求
し、返されたデータを PowerBuilder の String 型の変数 ls_ProfData に格
納します。GetRemote 関数は、OpenChannel 関数によって確立された
ウォーム リンクを利用します。
String ls_ProfData
long handle
handle = OpenChannel("Excel", "REGION.XLS")
...
GetRemote("R1C2", ls_ProfData, handle)
...
CloseChannel(handle)
次のステートメントは、上記の例に似ています。ただし、次の例は DDE
チャネルをウィンドウ w_rpt に関連付けています。
String ls_ProfData
long handle
handle = OpenChannel("Excel", "REGION.XLS", &
Handle(w_rpt))
...
GetRemote("R1C2", ls_ProfData, &
handle, Handle(w_rpt))
...
CloseChannel(handle, Handle(w_rpt))
関連項目
626
CloseChannel
ExecRemote
PowerBuilder
第 10 章
PowerScript 関数
OpenChannel
SetRemote
GetSelectedDate
機能
選択されている日付を取得します。
対象
月表示カレンダ コントロール
構文
controlname.GetSelectedDate ( d )
引数
controlname
d
戻り値
説明
選択されている日付を取得する月表示カレンダ コント
ロールの名前を指定します。
参照で返される日付の値。この値は、選択されている日付
を表します。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
-1
日付の範囲が選択されています。
-2
不明なエラーです。
解説
日付の範囲が選択されている場合は -1 を返し、その範囲内で最初の日
付を取得します。
例
次に、選択された日付を取得して seldate に格納する例を示します。
integer li_return
Date seldate
li_return = mc_1.GetSelectedDate(seldate)
関連項目
GetSelectedRange
SetSelectedDate
SetSelectedRange
PowerScript リファレンス ボリューム 2
627
GetSelectedRange
GetSelectedRange
機能
選択されている日付の範囲を取得します。
対象
月表示カレンダ コントロール
構文
controlname.GetSelectedRange ( start, end )
引数
controlname
start
end
説明
選択されている日付の範囲を取得する月表示カレンダ コ
ントロールの名前を指定します。
参照で返される日付の値。この値は、選択されている日付
の範囲内で最初の日付を表します。
参照で返される日付の値。この値は、選択されている日付
の範囲内で最後の日付を表します。
戻り値
Integer 型。成功した場合は 0 を返し、1 日だけを選択した場合は -1 を、
不明なエラーの場合は -2 を返します。
解説
1 日だけ選択されている場合は 0 を返し、start と end の両方のパラメー
タにその日付を格納します。
例
次のコードは、DateChanged イベントのスクリプトです。範囲内の最
初の日付が入力された後に最後の日付の入力を要求し、ユーザに選択
されている範囲を確認します。
date startdate, enddate
integer li_return
li_return = mc_1.GetSelectedRange(startdate, enddate)
if li_return = -1 then
MessageBox(" 選択されている日付 ",
&
" 帰宅日を選択してください。")
elseif li_return = 0 then
MessageBox(" 選択されている日付 ", string(startdate) +&
" - " + string(enddate) + " が選択されています。"&
+ "~r~n 確定する場合は[OK]をクリックしてください。")
else
MessageBox(" 選択されている日付 ",
&
" エラーが発生しました。旅行の日程を再度選択 " &
+ " してください。")
end if
関連項目
628
GetDisplayRange
GetSelectedDate
SetSelectedDate
SetSelectedRange
PowerBuilder
第 10 章
PowerScript 関数
GetSeriesStyle
グラフのデータ系列の表示形態を調べます。個別のデータ ポイントの
表示形態の設定を変更すると、データ系列の表示形態の設定も変更さ
れます。したがって、GetSeriesStyle 関数から返された値は、必ずしも
現行のグラフの状態を反映しているとは限りません。使用する構文は、
取得する情報によって異なります。
目的
データ系列の色
データ系列の線種と線幅
データ系列の塗りつぶしパターンまたはシンボル
データ系列のオーバーレイの状態(データ系列が別のグラ
フの上に折れ線として表示されているかどうか)
使用する構文
構文 1
構文 2
構文 3
構文 4
GetSeriesStyle 関数は、データ系列についての情報を取得します。デー
タ系列内の各データ ポイントには、表示形態を個別に設定できます。
データ系列の表示形態の情報を変更するには、SetSeriesStyle 関数を使
用します。データ ポイントの表示形態の情報を取得するには GetDataStyle
を使用します。データ系列の表示形態の設定を上書きし、データ ポイ
ントの表示形態を個別に設定するには、SetDataStyle 関数を使用しま
す。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフ内のデータ ポイント
またはデータ系列の塗りつぶしパターンを確認することができます。
ただし、その塗りつぶしパターンは表示されません。
構文 1
データ系列の色を示す値を取得する
機能
グラフのデータ系列の色を示す値を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, colortype,
colorvariable )
引数
controlname
PowerScript リファレンス ボリューム 2
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の色を示す値
を取得します。
629
GetSeriesStyle
引数
説明
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ル内のグラフの名前を指定します。指定されたグラフの
ドウ コント
データ系列の色を示す値を取得します。
ロールのみ)
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の色を示す値を取得します。
colortype
grColorType カタログ データ型の値。色を示す値を取得す
るデータ系列の外観を指定します。
• Foreground! - テキストの色
• Background! - 背景の色
• LineColor! - 線の色
colorvariable
• Shade! - 影の色(3D グラフや塗りつぶしたデータ マー
カーのあるグラフ)
Long 型の変数を指定します。指定された変数に色の RGB
値を格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列と項目の RGB 値を colorvariable
に格納します。引数のいずれかの値が null の場合は、null を返します。
例
次のステートメントは、グラフ gr_emp_data にあるデータ系列のテキス
トの色(描画色)を変数 color_nbr に格納します。データ系列の名前は、
シングルライン エディット コントロール sle_series に入力されていま
す。
long color_nbr
gr_emp_data.GetSeriesStyle(sle_series.Text, &
Foreground!, color_nbr)
次のステートメントは、データウィンドウ コントロール dw_equipment
上のグラフ gr_computers にあるデータ系列 PCs の背景色を変数 color_nbr
に格納します。
long color_nbr
// 色を示す値を取得します。
dw_equipment.GetSeriesStyle("gr_computers", &
"PCs", Background!, color_nbr)
次のステートメントは、グラフ gr_product_data でマウス ポインタがあ
るデータ系列の色を line_color に格納します。
string SeriesName
integer SeriesNbr, Data_Point
long line_color
grObjectType MouseHit
630
PowerBuilder
第 10 章
PowerScript 関数
MouseHit = ObjectAtPointer(SeriesNbr, Data_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
gr_product_data.SeriesName(SeriesNbr)
gr_product_data.GetSeriesStyle(SeriesName, &
LineColor!, line_color)
END IF
関連項目
AddSeries
GetDataStyle
FindSeries
SetDataStyle
SetSeriesStyle
構文 2
データ系列の線種と線幅についての情報を取得する
機能
グラフのデータ系列の線種と線幅についての情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, linestyle,
linewidth )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の線種と線幅
についての情報を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフの線種
ドウ コント
と線幅についての情報を取得します。
ロールのみ)
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の線種についての情報を取得します。
linestyle
LineStyle 型の変数を指定します。指定された変数に、
seriesname に指定したデータ系列の線種を格納します。
linewidth
Integer 型の変数を指定します。指定された変数に、
seriesname に指定したデータ系列の線の幅についての情報
を格納します。幅の単位はピクセルです。
PowerScript リファレンス ボリューム 2
631
GetSeriesStyle
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。LineStyle カタログ データ型の値を linestyle に格納し、
指定されたデータ系列の線の幅についての情報を linewidth に格納し
ます。引数のいずれかの値が null の場合は、null を返します。
例
次のステートメントは、グラフ gr_product_data でマウス ポインタがあ
るデータ系列の線種についての情報を変数 line_style に格納し、線幅に
ついての情報を変数 line_width に格納します。
string SeriesName
integer SeriesNbr, Data_Point, line_width
LineStyle line_style
grObjectType MouseHit
MouseHit = ObjectAtPointer(SeriesNbr, Data_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
gr_product_data.SeriesName(SeriesNbr)
gr_product_data.GetSeriesStyle(SeriesName, &
line_style, line_width)
END IF
関連項目
AddSeries
GetDataStyle
FindSeries
SetDataStyle
SetSeriesStyle
構文 3
データ系列の塗りつぶしパターンまたはシンボルに
ついての情報を取得する
機能
グラフのデータ系列の塗りつぶしパターンまたはシンボルについての
情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, enumvariable )
632
PowerBuilder
第 10 章
引数
controlname
PowerScript 関数
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の塗りつぶし
パターンまたはシンボルについての情報を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフのデー
タ系列の塗りつぶしパターンまたはシンボルについての
ドウ コント
ロールのみ)
情報を取得します。
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
enumvariable
塗りつぶしパターンまたはシンボルについての情報を格
納する変数を指定します。FillPattern カタログ データ型ま
たは grSymbolType カタログ データ型の変数を指定できま
す。GetSeriesStyle によって格納される表示形態の情報は、
変数の型によって異なります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列の塗りつぶしパターンまたはシ
ンボルについての情報は、enumvariable に指定された変数に格納され
ます。引数のいずれかの値が null の場合は、null を返します。
解説
GetSeriesStyle 関数が enumvariable に指定された変数に格納するカタロ
グ データ型の値の一覧については、SetSeriesStyle 関数を参照してくだ
さい。
例
次のステートメントは、グラフ gr_product_data でマウス ポインタがあ
るデータ系列の塗りつぶしパターンについての情報を変数 data_pattern
に格納します。
string SeriesName
integer SeriesNbr, Data_Point
FillPattern data_pattern
grObjectType MouseHit
MouseHit = ObjectAtPointer(SeriesNbr, Data_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
gr_product_data.SeriesName(SeriesNbr)
gr_product_data.GetSeriesStyle(SeriesName, &
data_pattern)
END IF
PowerScript リファレンス ボリューム 2
633
GetSeriesStyle
次の例では、データウィンドウ コントロール dw_employees のグラフ
gr_depts で、ポインタがあるデータ系列の塗りつぶしパターンについての
情報を data_pattern 変数に格納します。その後、gr_dept_data グラフの
Total Salary というデータ系列の塗りつぶしパターンを、data_pattern 変
数に格納されているパターンに設定します。
string SeriesName
integer SeriesNbr, Data_Point
FillPattern data_pattern
grObjectType MouseHit
MouseHit = &
ObjectAtPointer("gr_depts" , SeriesNbr, &
Data_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
dw_employees.SeriesName("gr_depts" , SeriesNbr)
dw_employees.GetSeriesStyle("gr_depts" , &
SeriesName, data_pattern)
gr_dept_data.SetSeriesStyle("Total Salary", &
data_pattern)
END IF
上記の例では、最後の引数として指定した変数 data_pattern のデータ
型を変更して、シンボルについての情報を格納できるように設定する
こともできます。
関連項目
AddSeries
GetDataStyle
FindSeries
SetDataStyle
SetSeriesStyle
構文 4
データ系列がオーバーレイであるかどうかを判別する
機能
グラフのデータ系列がオーバーレイであるかどうか、つまり、データ
系列が別のグラフの上に折れ線として表示されているかどうかを調べ
ます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
634
PowerBuilder
第 10 章
構文
PowerScript 関数
controlname.GetSeriesStyle ( { graphcontrol, } seriesname,overlayindicator )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列のオーバーレ
イの状態を示す値を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフのデー
ドウ コント
タ系列のオーバーレイの状態を示す値を取得します。
ロールのみ)
seriesname
String 型の値。オーバーレイの状態を示す値を取得する
データ系列の名前を指定します。
overlayindicator Boolean 型の変数。指定された変数に、seriesname に指定し
たデータ系列がオーバーレイであるかどうかを示す値を
格納します。データ系列がオーバーレイの場合は true を返
し、オーバーレイでない場合は false を返します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列がオーバーレイの場合は
overlayindicator に true を返し、オーバーレイでない場合は false を返し
ます。引数のいずれかの値が null の場合は、null を返します。
例
次のステートメントは、グラフ gr_emp_data のデータ系列がオーバーレ
イであるかどうかを返します。データ系列の名前は、シングルライン
エディット コントロール sle_series に入力されています。
boolean is_overlay
gr_emp_data.GetSeriesStyle(sle_series.Text, &
is_overlay)
GetShortName
機能
現行の PowerBuilder 実行コンテキストのショートネームを取得しま
す。
対象
ContextInformation オブジェクト
構文
servicereference.GetShortName ( shortname )
引数
servicereference
PowerScript リファレンス ボリューム 2
説明
ContextInformation サービス インスタンスへの参照を指定
します。
635
GetSpacing
引数
shortname
戻り値
説明
String 型の値。GetShortName 関数はここにショートネーム
を格納します。この引数は、参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。次の値を返します。
•
PowerBuilder 実行時
•
PowerBuilder ウィンドウ プラグイン
•
PowerBuilder ウィンドウ ActiveX PBRTX
PBRun
PBWinPlugin
解説
現在の実行環境を確認できます。
例
次に、GetShortName 関数を呼び出す例を示します。ci は
ContextInformation 型のインスタンス変数です。
String ls_name
this.GetContextService ("ContextInformation", ci)
ci.GetShortName(ls_name)
IF ls_name <> "PBRun" THEN
cb_close.visible = FALSE
END IF
関連項目
GetCompanyName
GetContextService
GetFixesVersion
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetVersionName
GetSpacing
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
の行間を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.GetSpacing ( )
636
PowerBuilder
第 10 章
引数
rtename
PowerScript 関数
説明
挿入ポイントがある段落の行間を調べるリッチテキスト
エディット コントロールの名前を指定します。
戻り値
Spacing 型。挿入ポイントがある段落の行間を示す Spacing カタログ
データ型の値を返します。
解説
複数の段落が選択されている場合、挿入ポイントは、最初の段落か最
後の段落にあります。挿入ポイントの位置は、エンド ユーザの段落の
選択方法によって異なります。報告される値は、挿入ポイントの位置
によって異なります。
例
次に、行間のカタログ データ型の値を変数 l_spacing に格納する例を示
します。値は、挿入ポイントがある段落の行間を示します。
spacing l_spacing
l_spacing = rte_1.GetSpacing()
関連項目
GetTextStyle
SetSpacing
SetTextStyle
GetStatus
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションのステータスを返します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.GetStatus ( )
引数
CORBACurrent
戻り値
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
Integer 型。エラーが発生した場合は -1 を返します。正常に終了した場
合は、以下の正の整数のいずれかを返します。
1
ステータス : アクティブ
2
ステータス : ロールバックの対象としてマーク済み
3
ステータス : 準備完了
4
ステータス : コミット完了
PowerScript リファレンス ボリューム 2
637
GetStatus
5
ステータス : ロールバック完了
6
ステータス : 不明
7
ステータス : トランザクションなし
8
ステータス : 準備中
9
ステータス : コミット中
10 ステータス : ロールバック中
解説
GetStatus 関数を使うと、BeginTransaction 関数を使用してトランザク
ションを開始したクライアントまたはコンポーネントで、トランザク
ションの現在のステータスを確認できます。EAServer は、2 フェーズ
コミット トランザクション コーディネータ(OTS/XA)を使用してい
ることが必要です。
GetStatus は、トランザクションが開始されていて prepare が発行されて
いない場合、1 を返します。
GetStatus は、ヒューリスティックスが存在する可能性があれば 4 か 5
を返します。それ以外の場合で、トランザクションが完了後に破棄さ
れたのであれば値として 7 が返されます。
戻り値が 6 であれば、トランザクションが遷移状態にあるという意味
であり、それ以降に呼び出しを行うと、最終的には別のステータスが
返されます。
GetStatus が 8、9、または 10 を返した場合は、トランザクションが開
始しただけで、準備、コミット、またはロールバックの処理はまだ完
了していません。この原因としては、トランザクションの参加者から
応答が保留になっていることが考えられます。
例
次に、GetStatus を使用して現在のトランザクションのステータスを取
得する例を示します。
// インスタンス変数 :
// CORBACurrent corbcurr
integer li_rc, li_status
li_rc = this.GetContextService("CORBACurrent", &
corbcurr)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
li_rc = corbcurr.Init( "iiop://jagserver:2000")
IF li_rc <> 1 THEN
// エラーを処理します。
ELSE
li_status = corbcurr.GetStatus()
638
PowerBuilder
第 10 章
PowerScript 関数
CHOOSE CASE li_status
CASE 1
// 各値に応じた処理を行います。
...
END CHOOSE
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetTransactionName
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
GetSyncRegistryProperties
機能
レジストリに格納されている同期プロパティを使用するかどうかを決
定する Integer 型を返します。
対象
MLSyncrhonization コントロール、MLSync コントロール、ULSync コン
トロール
構文
syncObject.GetSyncRegistryProperties ( )
引数
syncObject
説明
同期オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
SyncRegistryKey プロパティが設定されていない場合や Windows レジ
ストリにキーが存在しない場合は、失敗します。
解説
GetSyncRegistryProperties 関数は、レジストリに格納されている値を使
用して同期オブジェクトのプロパティを設定します。設定できるプロパ
ティは、AdditionalOpts、DownloadOnly、ExtendedOpts、Host、LogFileName、
LogOpts、MLServerVersion、MLUser、ObjectRevision、Port、Publication、
UploadOnly、UseLogFile、UseWindow です。
Windows レ ジ ス ト リ に 格 納 で き な い AuthenticateParms、DBPass、
EncryptionKey などのセキュアなプロパティは設定できません。
PowerScript リファレンス ボリューム 2
639
GetText
例
SQL Anywhere の MobiLink ウィザードによって生成された MLSync オ
ブジェクトは、Constructor イベント内で以下のコードを使用します。
long
rc
long
RegistryRevision
RegistryRevision =this.GetObjectRevisionFromRegistry()
IF RegistryRevision < this.ObjectRevision THEN
rc = this.SetSyncRegistryProperties()
ELSE
rc = this.GetSyncRegistryProperties()
END IF
このコードは、レジストリに格納されているビルド番号が実行中のア
プリケーションのビルド番号よりも大きい場合にのみ、Windows レジ
ストリに格納されている認証プロパティの値を取得します。
関連項目
GetCommandString
GetObjectRevisionFromRegistry
SetParm
SetSyncRegistryProperties
GetText
機能
指定された Format または CustomFormatReturns を適用したテキスト文
字列として Value プロパティを返します。
対象
日付ピッカー コントロール
構文
controlname.GetText ( )
引数
controlname
説明
テキストを取得したいコントロールの名前を指定します。
戻り値
String 型
解説
GetText 関数を使用して、Value プロパティに格納された日付と時間を
Format プロパティにしたがって、あるいは Format に dtfCustom! が設定
されている場合は CustomFormat プロパティで指定された書式にした
がって、書式設定されたテキスト文字列を返します。
例
次の例は、dp_1 の Value プロパティに格納された日付と時間を文字列
ls_text に取り出します。
string ls_text
ls_text = dp_1.GetText()
640
PowerBuilder
第 10 章
関連項目
PowerScript 関数
GetValue
SetValue
GetTextColor
機能
リッチテキスト エディット コントロールで選択されているテキスト
の色を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.GetTextColor ( )
引数
rtename
戻り値
説明
選択されたテキストの色を調べるリッチテキスト エ
ディット コントロールの名前を指定します。
Long 型。現行の選択されているテキストの色を指定する Long 型の値
を返します。異なる色のテキストが選択されている場合、最初の文字
の色を返します。エラーが発生した場合、-1 を返します。
例
次に、選択されているテキストの色を表す Long 型の値を rte_1 に格納
する例を示します。
long ll_color
ll_color = rte_1.GetTextColor()
関連項目
GetTextStyle
SetTextColor
SetTextStyle
GetTextStyle
機能
選択されたテキストに太字や斜体などのテキスト スタイルが設定さ
れているかどうかを調べます。
対象
リッチテキスト エディット コントロール
構文
rtename.GetTextStyle ( textstyle )
引数
rtename
PowerScript リファレンス ボリューム 2
説明
選択されたテキストの書式を調べるリッチテキスト エ
ディット コントロールの名前を指定します。
641
GetToday
引数
textstyle
説明
調べるテキスト スタイルを指定する TextStyle カタログ
データ型の値。値は以下のとおりです。
Bold!
Italic!
Strikeout!
Subscript!
Superscript!
Underlined!
戻り値
Boolean 型。選択されたテキストに指定されたテキスト スタイルが設
定されている場合は true を返し、設定されていない場合は false を返し
ます。textstyle が null の場合、null を返します。
解説
テキストには、複数のテキスト スタイルを設定できます。この場合、
各スタイルが設定されているかどうかを調べるには、GetTextStyle 関数
を複数回呼び出します。
例
事前に定義されている構造体は、現行のウィンドウのインスタンス変
数 istr_text です。構造体には、Boolean 型のフィールドである b_isBold、
b_isItalic、および b_isUnderlined があります。次に、選択されたテキス
トに、太字、斜体、下線の書式が設定されているかどうかを調べ、各
スタイルの構造体に true または false を格納する例を示します。
istr_text.b_isBold = rte_fancy.GetTextStyle(Bold!)
istr_text.b_isItalic = rte_fancy.GetTextStyle(Italic!)
istr_text.b_isUnderlined = &
rte_fancy.GetTextStyle(Underlined!)
関連項目
GetTextColor
SetSpacing
SetTextColor
SetTextStyle
GetToday
機能
カレンダが今日の日付として使用する値を返します。
対象
日付ピッカー コントロールおよび月表示カレンダ コントロール
構文
controlname.GetToday ( )
引数
controlname
642
説明
今日の日付を取得するコントロールの名前を指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Date 型
解説
デフォルトでは、現在のシステム日付が今日の日付として設定されま
す。別の日付を設定するには、SetToday 関数を使用します。
例
次 の 例 は、日 付 ピ ッ カ ー コ ン ト ロ ー ル の 今 日 の 日 付 を 取 得 し て
currentdate に格納する例を示します。
Date currentdate
currentdate = dp_1.GetToday()
関連項目
SetToday
GetToolbar
機能
指定されたツールバーの配置、可視性、およびタイトルの現行の値を
取得します。
対象
MDI フレーム、シート ウィンドウ
構文
window.GetToolbar ( toolbarindex, visible {, alignment {, floatingtitle } } )
引数
window
toolbarindex
visible
alignment
(オプション)
floatingtitle
(オプション)
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。現行の設定を調べるツールバーのインデッ
クスの値を指定します。
Boolean 型の変数。指定された変数に、ツールバーが表示
されているかどうかを示す値が格納されます。
ToolbarAlignment カタログ データ型の変数。指定された変
数に、ツールバーの現行の配置が格納されます。
String 型の変数。指定された変数に、配置が Floating! のと
きに表示されるツールバーのタイトルが格納されます。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合、null を返します。
解説
固 定 ツ ー ル バ ー ま た は 浮 動 ツ ー ル バ ー の 表 示 位 置 を 調 べ る に は、
GetToolbarPos 関数を呼び出します。
例
次に、ツールバー 1 が表示されているかどうかを調べる例を示します。
さらに、ツールバー 1 の配置とタイトルを取得します。値は変数
lb_visible、lta_align、および ls_title に格納されます。
PowerScript リファレンス ボリューム 2
643
GetToolbar
integer li_rtn
boolean lb_visible
toolbaralignment lta_align
li_rtn = w_frame.GetToolbar(1, lb_visible, &
lta_align, ls_title)
次の例では、エンド ユーザが sle_index に指定するツールバーのイン
デックスの設定を表示します。IF 文と CHOOSE CASE 文は、値を文字
列に変換し、mle_toolbar に表示できるようにします。
integer li_index, li_rtn
boolean lb_visible
toolbaralignment lta_align
string ls_visible, ls_align, ls_title
li_index = Integer(sle_index.Text)
li_rtn = w_frame.GetToolbar(li_index, &
lb_visible, lta_align, ls_title)
IF li_rtn = -1 THEN
MessageBox(" ツールバー ", &
" ツールバーの設定を取得できません。")
RETURN -1
END IF
IF lb_visible = TRUE THEN
ls_visible = "TRUE"
ELSE
ls_visible = "FALSE"
END IF
CHOOSE CASE lta_align
CASE AlignAtTop!
ls_align = "top"
CASE AlignAtLeft!
ls_align = "left"
CASE AlignAtRight!
ls_align = "right"
CASE AlignAtBottom!
ls_align = "bottom"
CASE Floating!
ls_align = "floating"
END CHOOSE
mle_1.Text = ls_visible + "~r~n" &
+ ls_align + "~r~n" &
644
PowerBuilder
第 10 章
PowerScript 関数
+ ls_title
関連項目
GetToolbarPos
SetToolbar
SetToolbarPos
GetToolbarPos
指定されたツールバーの表示位置の情報を取得します。
取得する情報
固定ツールバーを配置する位置
浮動ツールバーの座標とサイズ
構文 1
固定ツールバーの表示位置を取得する
機能
固定ツールバーの表示位置を取得します。
対象
MDI フレーム、シート ウィンドウ
構文
window.GetToolbarPos ( toolbarindex, dockrow, offset )
引数
window
toolbarindex
dockrow
offset
使用する構文
構文 1
構文 2
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。現行の設定を調べるツールバーのインデッ
クスの値を指定します。
Integer 型の変数を指定します。指定された変数に、ツール
バーを配置する行の番号が格納されます。配置する行に
は、左から右、または上から下へ番号が付けられています。
Integer 型の変数を指定します。ツールバーを配置する行の
先頭からの距離を指定します。上端または下端にあるツー
ルバーの offset は、左端から測定されます。左端または右
端にあるツールバーの offset は、上端から測定されます。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合は、null を返します。
解説
固定ツールバーがウィンドウの上端、下端、左端、右端のどこにある
かを調べるには、GetToolbar 関数を呼び出します。
PowerScript リファレンス ボリューム 2
645
GetToolbarPos
構文 1 は、現行のツールバーが浮動ツールバーの場合にでも、最新の
配置された位置を取得します。
例
次の例では、エンド ユーザが sle_2 にツールバーのインデックスを指
定しています。この例はツールバーの表示位置の情報を取得し、その
情報をマルチライン エディット コントロール mle_1 に表示します。
integer li_index, li_rtn
integer li_dockrow, li_offset
li_index = Integer(sle_2.Text)
li_rtn = w_frame.GetToolbarPos(li_index, &
li_dockrow, li_offset)
// 表示位置の設定を報告します。
IF li_rtn = 1 THEN
mle_1.Text = String(li_dockrow) + "~r~n" &
+ String(li_offset)
ELSE
mle_1.Text = "Can't get toolbar position"
END IF
関連項目
GetToolbar
SetToolbar
SetToolbarPos
構文 2
浮動ツールバーの表示位置とサイズを取得する
機能
浮動ツールバーの表示位置とサイズを取得します。
対象
MDI フレーム、シート ウィンドウ
構文
window.GetToolbarPos ( toolbarindex, x, y, width, height )
引数
window
toolbarindex
x
y
646
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。現行の設定を調べるツールバーのインデッ
クスの値を指定します。
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの x 座標が格納されます。ツールバーが固定さ
れている場合、x には近似値が設定されます。
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの y 座標が格納されます。固定ツールバーの場
合、y には近似値が設定されます。
PowerBuilder
第 10 章
引数
width
height
PowerScript 関数
説明
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの幅が格納されます。固定ツールバーの場合、
width には近似値が設定されます。
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの高さが格納されます。固定ツールバーの場
合、height には近似値が設定されます。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合、null を返します。
解説
ツールバーが浮動ツールバーかどうかを調べるには、GetToolbar 関数を
呼び出します。
構文 2 は、現行のツールバーが固定ツールバーの場合にでも、前回浮
動ツールバーが表示されていた位置を取得します。
例
次に、ツールバー 1 の x 座標、y 座標、幅、および高さを取得する例
を示します。
int ix, iy, iw, ih, li_rtn
li_rtn = w_frame.GetToolbarPos(1, ix, iy, iw, ih)
IF li_rtn = -1 THEN
mle_1.Text = "Can't get toolbar position"
ELSE
mle_1.Text = String(ix) + "~r~n" &
+ String(iy) + "~r~n" &
+ String(iw) + "~r~n" &
+ String(ih)
END IF
関連項目
GetToolbar
SetToolbar
SetToolbarPos
GetTransactionName
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションの状態を示す文字列を返します。
対象
CORBACurrent オブジェクト
PowerScript リファレンス ボリューム 2
647
GetTransactionName
構文
CORBACurrent.GetTransactionName ( )
引数
CORBACurrent
説明
CORBACurrent サービス インスタンスへの参照を指定
します。
戻り値
String 型。トランザクションが存在している場合は、トランザクション
の状態を示す印刷可能な文字列を返します。それ以外の場合は、空の
文字列を返します。
解説
GetTransactionName 関数は、呼び出し元のスレッドに関連付けられてい
るトランザクションを識別するための文字列を返します。この文字列
は、一般にデバッグに使用します。
GetTransactionName は、
OTS スタイルのマークが付いているクライアン
トまたはコンポーネントで呼び出せます。EAServer は、2 フェーズ コ
ミット トランザクション コーディネータ(OTS/XA)を使用している
ことが必要です。
例
次に、GetTransactionName を使用してトランザクションの情報をクライ
アントに返す例を示します。
// インスタンス変数:
// CORBACurrent corbcurr
string ls_transacname
// CORBACurrent オブジェクトのインスタンスを取得して
// そのインスタンスを初期化します。
...
ls_transacname = corbcurr.GetTransactionName()
MessageBox(" トランザクション名 ", ls_transacname)
関連項目
648
BeginTransaction
CommitTransaction
GetContextService
GetStatus
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
PowerBuilder
第 10 章
PowerScript 関数
GetURL
機能
指定した URL の HTML を返します。
対象
Inet オブジェクト
構文
servicereference.GetURL ( urlname, data )
引数
servicereference
urlname
data
戻り値
説明
インターネット サービス インスタンスへの参照を指
定します。
String 型の値で、URL の名前を指定します。URL の
ソースデータを data に返します。
InternetResult の子孫で、上書きされた InternetData 関数
を含みます。この関数は urlname の HTML ソースを処
理します。
Integer 型。以下のいずれかの値を返します。
1 正常に終了しました。
-1 一般的なエラーが発生しました。
-2 指定された URL が無効です。
-4 インターネットに接続できません。
解説
この関数を呼び出すと、URL の HTML ソースを取得できます。
data は、InternetResult クラスから継承した標準クラス ユーザ オブジェ
クトを参照します。また、InternetData 関数は上書きされています。こ
の上書きされた関数を使用して、取得した HTML データを処理しま
す。インターネットでは非同期モードでデータを転送するため、
(ウィ
ンドウ レベルのインスタンス変数のように)GetURL 関数の実行終了後
も、data はスコープ(有効範囲)に入っている変数を参照する必要が
あります。
InternetResult 標準クラス ユーザ オブジェクトと InternetData 関数につ
いての詳細は、PowerBuilder Browser で参照してください。
例
次の例では GetURL 関数を呼び出します。なお、Iinet_base は Inet 型の
インスタンス変数です。
iir_msgbox = CREATE n_ir_msgbox
iinet_base.GetURL(sle_url.text, iir_msgbox)
関連項目
HyperLinkToURL
InternetData
PostURL
PowerScript リファレンス ボリューム 2
649
GetValue
GetValue
機能
コントロールの Value プロパティ内の日付と時間を返します。
対象
日付ピッカー コントロール
構文
controlname.GetValue ( d, t )
controlname.GetValue ( dt )
引数
controlname
d
t
dt
説明
日付と時間を取得するコントロールの名前を指定します。
参照によって返される Value プロパティ内の日付の値を指定
します。
参照によって返される Value プロパティ内の時間の値を指定
します。
参照によって返される Value プロパティ内の DateTime 値を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
次の負の値を返します。
-1 無効な日付および時間の値です。
-2 そのほかのエラーです。
解説
GetValue 関数は、Value プロパティの日付と時間の部分を別々の変数
に、または 1 つの DateTime 変数に返すことができます。
例
次の例では、GetValue 関数が 2 回呼び出されます。1 回目は日付と時間
の値をそれぞれ返し、2 回目は DateTime 値を返します。返される値は
マルチライン エディット コントロールに書き出されます。
date d
time t
datetime dt
integer li_ret1, li_ret2
li_ret1 = dp_1.GetValue(d, t)
li_ret2 = dp_1.GetValue(dt)
mle_1.text += string(d) + " ~r~n"
mle_1.text += string(t) + " ~r~n"
mle_1.text += string(dt) + " ~r~n"
関連項目
650
GetText
SetValue
PowerBuilder
第 10 章
PowerScript 関数
GetVersionName
機能
現行の PowerBuilder 実行コンテキストの完全なバージョン情報を取得
します。完全なバージョン情報とは、メジャー バージョン、マイナー
バージョン、修正レベルで構成されます(8.0.3 など)。
対象
ContextInformation オブジェクト
構文
servicereference.GetVersionName ( name )
引数
servicereference
name
戻り値
説明
ContextInformation サービス インスタンスへの参照を指定
します。
String 型の値。この関数はここにバージョン名を格納しま
す。この引数は、参照渡しされます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
現行のコンテキストの管理レベルを確認します。
例
次に、GetVersionName 関数を呼び出す例を示します。ci は
ContextInformation 型のインスタンス変数です。
String ls_name
String ls_version
Constant String ls_currver = "8.0.3"
GetContextService("ContextInformation", ci)
ci.GetVersionName(ls_version)
IF ls_version <> ls_currver THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
END IF
関連項目
GetCompanyName
GetFixesVersion
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
PowerScript リファレンス ボリューム 2
651
Handle
Handle
機能
PowerBuilder オブジェクトの Windows のハンドルを取得します。アプ
リケーション、ウィンドウ、コントロールのハンドルは取得できます
が、描画オブジェクトのハンドルは取得できません。
構文
Handle ( objectname {, previous } )
引数
objectname
説明
ハンドルを取得する PowerBuilder オブジェクトの名前を
指定します。アプリケーションまたはコントロールを含む
任意の PowerBuilder オブジェクトを指定することができ
ます。描画オブジェクトを指定することはできません。
previous
(旧形式の引数)Boolean 型の値。アプリケーションの既存
(オプション) のインスタンスのハンドルを取得するかどうかを指定し
ます。アプリケーション オブジェクトでのみこの引数を使
用することができます。
Windows の現行のバージョンでは、この引数に true を指定
すると、Handle 関数は常に 0 を返します。
戻り値
Long 型。objectname に指定したオブジェクトのハンドルを返します。
objectname にアプリケーションを指定して previous に true を指定した
場合、常に 0 を返します。
実行時に objectname に指定したオブジェクトを参照できない場合(た
とえば、objectname に開いていないウィンドウを指定した場合)、0 を
返します。
解説
Windows の Software Development Kit(SDK)関数または PowerBuilder
の Send 関数を使用する場合に、引数としてオブジェクト ハンドルが
必要なときには、Handle 関数を使用してオブジェクト ハンドルを取得
します。
IsValid 関数は、ウィンドウが開かれているかどうかを調べるときに
Handle 関数のかわりに使用します。
PowerBuilder の Run 関数を使用して実行したアプリケーションのハン
ドルを要求すると、Handle 関数は 0 を返します。Windows から見た場
合、PowerBuilder から実行したアプリケーションはハンドルを持って
いません。開発したアプリケーションの実行モジュールを作成して実
行すると、Handle 関数はアプリケーションのハンドルを返します。
Windows の現行のバージョンでは、previous フラグに true を設定して
アプリケーションの既存のインスタンスのハンドルを要求すると、
Handle 関数は常に 0 を返します。アプリケーションのメイン ウィンド
ウのインスタンスが開いているかどうかを調べるには、Windows の
FindWindow 関数を使用します。
652
PowerBuilder
第 10 章
例
PowerScript 関数
次に、ウィンドウ w_child のハンドルを返すステートメントを示しま
す。
Handle(w_child)
次に、外部関数 FlashWindow を使用してウィンドウのタイトル バーを
点滅した状態に変更し、再び元の状態に戻す例を示します。外部関数
の宣言は、次のとおりです。
function boolean flashwindow(uint hnd, boolean inst) &
library "user.exe"
次に、ウィンドウのタイトル バーを点滅させるためのコードを示しま
す。
integer nLoop
// ループ カウンタ
long hWnd
// 制御ハンドル
// PowerBuilder ウィンドウに対するハンドルを取得します。
hWnd = Handle(Parent)
// タイトル バーを 300 回フラッシュします。
FOR nLoop = 1 to 300
FlashWindow (hWnd, true)
NEXT
// ウィンドウを元の状態に戻します。
FlashWindow (hWnd, FALSE)
アプリケーションでは、previous フラグが true の場合、Handle 関数は有
効な値を返しません。Windows アプリケーションがすでに実行されて
いるかどうかを確認するには、Windows の FindWindow 関数を使用して
ください。FindWindow 関数は、指定されたタイトルを持つウィンドウ
のハンドルを返します。
FindWindow と SetForegroundWindow を、グローバルな外部関数として宣
言します。
PUBLIC FUNCTION unsignedlong FindWindow (long &
classname, string windowname) LIBRARY "user32.dll" &
ALIAS FOR FindWindowW
PUBLIC FUNCTION int SetForegroundWindow (unsignedlong &
hwnd) LIBRARY "user32.dll" ALIAS FOR &
SetForegroundWindowW
次のようなコードを、アプリケーションの Open イベントに追加しま
す。
unsignedlong hwnd
hwnd = FindWindow( 0, "Main Window")
if hwnd = 0 then
PowerScript リファレンス ボリューム 2
653
Hide
// 既存のインスタンスがないので、メイン ウィンドウを開きます。
open( w_main )
else
// 既存のインスタンス ウィンドウを開いてアプリケーションを停
止します。
SetForegroundWindow( hwnd )
HALT CLOSE
end if
関連項目
Send
Hide
機能
オブジェクトまたはコントロールを非表示にします。開発者も、エン
ド ユーザも表示されていないオブジェクトは操作できません。表示さ
れていないオブジェクトはどのイベントにも応答しないので、事実上
そのオブジェクトは、使用不可の状態になります。
対象
すべてのオブジェクト
構文
objectname.Hide ( )
引数
objectname
説明
非表示にするオブジェクトまたはコントロールの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。objectname が null の場合、null を返します。
解説
隠そうとしているオブジェクトがすでに非表示の場合は、Hide 関数は
何も実行しません。
Hide 関数では、ドロップダウン メニュー、カスケード メニュー、およ
び親ウィンドウが MDI フレーム ウィンドウであるメニューを非表示
にはできません。MDI シートとして開かれたウィンドウも、非表示に
はできません。
Disable 関数を使用すると、メニュー項目を使用不可の色で表示して操
作できないようにすることができます。
オブジェクトを表示させてイベントに応答しないように使用不可の状
態に設定するには、Enabled プロパティを設定します。
Hide 関数を使用せずに、次のようにオブジェクトの Visible プロパティ
を設定する方法もあります。
654
PowerBuilder
第 10 章
PowerScript 関数
objectname.Visible = false
たとえば、次のようなステートメントがあるとします。
lb_Options.Visible = FALSE
このステートメントは、次のステートメントと同じ意味です。
lb_Options.Hide()
例
次に、リストボックス lb_options を非表示にするステートメントを示し
ます。
lb_options.Hide()
次の例は、メニュー項目のスクリプトです。MDI フレーム w_mdi のア
クティブなシート上のコマンドボタン cb_delete を非表示にします。ア
クティブ シートの型は、w_sheet の型と同じです。
w_sheet w_active
w_active = w_mdi.GetActiveSheet()
IF IsValid(w_active) THEN w_active.cb_delete.Hide()
関連項目
Show
Hour
機能
Time 型の値から時間の部分を返します。時間は 24 時間形式で表され
ます。
構文
Hour ( time )
引数
time
説明
時間データを取得する Time 型の値を指定します。
戻り値
Integer 型。time で指定した時間部分の整数値(00 ~ 23)を返します。
time が null の場合、null を返します。
例
次に、現在の時間部分を返すステートメントを示します。
Hour(Now())
次のステートメントは、19 を返します。
Hour(19:01:31)
関連項目
Minute
Now
PowerScript リファレンス ボリューム 2
655
HyperLinkToURL
Second
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Hour メソッド
HyperLinkToURL
機能
デフォルトの Web ブラウザを開き、指定した URL を表示します。
対象
Inet オブジェクト
構文
servicereference.HyperlinkToURL ( url )
引数
servicereference
url
戻り値
説明
インターネット サービス インスタンスへの参照を指定し
ます。
String 型の値。デフォルトの Web ブラウザで開く URL を
指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
PowerBuilder アプリケーションから URL を表示します。
例
次に、HyperlinkToURL 関数を呼び出す例を示します。なお、Iinet_base
は Inet 型のインスタンス変数です。
GetContextService("Internet", iinet_base)
iinet_base.HyperlinkToURL(sle_url.text)
関連項目
656
GetURL
PostURL
PowerBuilder
第 10 章
PowerScript 関数
Idle
機能
エンド ユーザが何も操作をしなかったとき、PowerBuilder がアプリ
ケーションの Idle イベントを起動するまでの時間を設定します。
構文
Idle ( n )
引数
n
説明
PowerBuilder がアプリケーションの Idle イベントを起動す
るまでの待ち時間を秒数で指定します。0 を指定した場合、
Idle 関数は何もしません。
戻り値
Integer 型。タイマーが起動された場合、1 を返します。タイマーを起
動できない場合、または n に 0 が指定されているためにタイマーが起
動されない場合には、-1 を返します。タイマーが起動されている状態
で n の値を変更すると、Idle 関数は新しいタイマーを起動せずに、現行
のタイマーに設定されている時間の間隔を新しい秒数にリセットする
ので注意してください。n が null の場合は、null を返します。通常、戻
り値は使用されません。
解説
アプリケーションを使用しているエンド ユーザがいないときに、Idle
関数を使用してアプリケーションの終了や起動を行います。この操作
は多くの場合、セキュリティ上の理由から行われます。
Idle 関数は、各ユーザ操作(たとえば、キー入力やマウスのクリック)
の後にタイマーを起動し、ユーザ操作のない時間が n 秒間経った後、
Idle イベントを起動します。通常、アプリケーションの Idle イベント
に対するスクリプトには、複数のウィンドウを閉じる、データベース
のログの設定を解除する、アプリケーションを終了する、Restart 関数
を呼び出すなどの操作を記述します。
次のいずれかの操作を行うと、タイマーがリセットされます。
•
アプリケーション内の任意のウィンドウでマウスを動かしたり、
クリックしたりする
•
PowerBuilder アプリケーションのウィンドウが現行のウィンドウ
になっている場合に、キー操作を行う
•
PowerBuilder アプリケーションが最小化されている場合に、そのア
イコンの上でマウスをクリックしたり、動かしたりする
•
PowerBuilder アプリケーションが最小化されていて、現行のウィン
ドウになっている(名前が強調されます)場合に、キー操作を行う
•
表示可能なデータウィンドウを選択した結果、エディットコント
ロールがペイントされる場合
PowerScript リファレンス ボリューム 2
657
Idle
参考
キ ー や マ ウ ス の 動 き を 把 握 す る に は、ウ ィ ン ド ウ や シ ー ト の
MouseMove イベントや Key イベントでスクリプトを記述してくだ
さい。キーボードを操作しても MouseMove イベントはトリガしま
せん。繰り返して検索する場合は、Idle タイマーがリセットされな
いように、データウィンドウのコントロールとタブの順序付けを
無効にしてください。
例
次に、5 分間、エンド ユーザが操作しなかった後で Idle イベントを起
動する例を示します。
Idle(300)
次のステートメントは、Idle イベントを起動しません。
Idle(0)
次の例では、2 分間エンド ユーザが何も操作しなかった場合、Idle イ
ベントを使用してアプリケーションを停止し、再起動する方法を示し
ます。通常、この操作は、公共の場所で情報提供を行うようなコン
ピュータで行われます。
次のステートメントは、アプリケーションの Open イベントのスクリ
プトに記述します。
Idle(120) // 2 分後に Idle イベントを送ります。
次の例は、アプリケーションの Idle イベントに対するスクリプトの一
部です。アプリケーションを停止して何らかの処理を行ってから再起
動しています。
// データベースを要求された状態に設定するための
// ステートメント
...
Restart() // アプリケーションを再起動します。
関連項目
658
Restart
Timer
PowerBuilder
第 10 章
PowerScript 関数
IMEGetCompositionText
機能
IME を使用して入力された文字列の読み仮名を取得します。
構文
IMEGetCompositionText ( handle )
引数
handle
説明
Long 型。コントロールのハンドルを指定します。
戻り値
String 型。IME を使用して入力された文字列の読み仮名が返されます。
解説
IME を使用して入力された文字列が確定されたときの読み仮名を取得し
ます。この文字列は、次の IME 入力文字列が確定されるまで保持されま
す。コントロールに入力された文字列の読み情報を取得するには、コン
トロールの Modify イベントに対するスクリプトで IMEGetCompositionText
関数を呼び出します。IME の起動は、IMEMODE プロパティの設定、また
はエンド ユーザのキーボード操作による ON/OFF で行います。
例
次の例は、IME を使用して入力された文字列の読み仮名を文字列変数
Text に 格納します。
String Text
Text = IMEGetCompositionText()
関連項目
IMEGetMode
IMESetMode
IMEGetMode
機能
コントロールの IME の状態を取得します。
構文
IMEGetMode ( handle )
引数
handle
戻り値
説明
Long 型。コントロールのハンドルを指定します。
Integer 型。handle に指定したコントロールの IME の状態を表す値が返
されます。返される値の意味は、次のとおりです。
0 - IME はインストールされていません
1 - IME はオンの状態です。
2 - IME はオフの状態です。
3 - IME はオフ固定の状態です。
4 - IME は全角ひらがな入力モードです。
5 - IME は全角カタカナ入力モードです。
PowerScript リファレンス ボリューム 2
659
IMESetMode
6 - IME は半角カタカナ入力モードです。
7 - IME は全角英数入力モードです。
8 - IME は半角英数入力モードです。
解説
そのときの IME の状態を格納しておき、処理の終了後に以前の IME の
状態に設定しなおすような場合に使用します。
データウィンドウ カラムの IME オフ固定 IMEGetMode 関数を使用して、
オフ固定に設定されているデータウィンドウのカラムの IME モード
を取得することはできません。オフ固定に設定されているデータウィ
ンドウのカラムの IME モードを取得するには、カラムのプロパティま
たは Describe 関数を使用してください。
dw_1.Describe("col_1.Edit.IMEMode")
ウィンドウコントロールの IME オフ固定 次のウィンドウ コントロール
の ImeMode プ ロ パ テ ィ に オ フ 固 定(3)が 設 定 さ れ て い る 場 合、
IMEGetMode 関数を使用して IME モードを取得することはできません。
各コントロールの ImeMode プロパティを使用して取得してください。
例
•
ドロップダウン リストボックス
•
ドロップダウン ピクチャ リストボックス
•
リッチテキスト
次の例は、シングルライン エディット コントロール sle_name の IME
の状態を取得します。
IMEGetMode(Handle(sle_name))
関連項目
IMEGetCompositionText
IMESetMode
IMESetMode
機能
コントロールに対して、指定した IME のモードを設定します。
構文
IMESetMode ( handle, n )
引数
handle
n
660
説明
Long 型。コントロールのハンドルを指定します。
Integer 型。指定する値については、「戻り値」の表を参照
してください。
PowerBuilder
第 10 章
戻り値
PowerScript 関数
Integer 型。handle に指定したコントロールの設定前の IME のモードを
返します。返される値の意味は、次のとおりです。
Long 型。コントロールのハンドルを指定します。
0 -何も行いません。IME の管理は Windows で行います。
1 - IME を直前の入力モードでオンにします。
2 - IME をオフにします。
3 - IME をオフ固定にします
4 - IME を全角ひらがな入力モードでオンにします。
5 - IME を全角カタカナ入力モードでオンにします。
6 - IME を半角カタカナ入力モードでオンにします。
7 - IME を全角英数入力モードでオンにします。
8 - IME を半角英数入力モードでオンにします。
解説
たとえば、請求書の場合、宛先の欄では IME を全角ひらがな入力モー
ドで起動したり、金額欄では IME をオフにしたりすることができま
す。ただし、Windows では IME は 1 つしか管理できないため、同時に
複数のコントロールに対する IME モードを割り当てることはできま
せん。IMESetMode 関数を使用すると、そのセッションでの IME の設
定を行うことができます。ただし、ほかのコントロールやウィンドウ
で IME のモードが変更された場合には、再設定する必要があります。
したがって、GetFocus イベントやデータウィンドウ コントロールの
ItemFocusChanged イベントに記述し、フォーカスが移ったときに設定
することをお勧めします。
データウィンドウ カラムの IME オフ固定
IMESetMode 関数を使用してデータウィンドウのカラムをオフ固定に
することはできません。データウィンドウのカラムをオフ固定にする
には、カラムのプロパティを設定するか、Modify 関数を使用するかし
てください。
dw_1.Modify("col_1.Edit.IMEMode = 3")
例
次の例は、シングルライン エディット コントロール sle_address に対し
て IME を全角ひらがな入力モードで起動しています。
IMESetMode(Handle(sle_address), 4)
次の例は、シングルライン エディット コントロール sle_amount の中
で、IME をオフ固定にしています。
IMESetMode(Handle(sle_amount), 3)
関連項目
IMEGetCompositionText
IMEGetMode
PowerScript リファレンス ボリューム 2
661
ImpersonateClient
ImpersonateClient
機能
COM+ 上で動作する COM オブジェクトが、1 回の呼び出しの間、クラ
イアントのセキュリティ属性を持つことができるようにします。
対象
TransactionServer オブジェクト
構文
transactionserver.ImpersonateClient ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ImpersonateClient 関数を使用すると、1 回の呼び出しの間、COM オブ
ジェクトをクライアントのセキュリティ コンテキストで実行するこ
とができます。クライアントのセキュリティ コンテキストで実行する
ことにより、サーバ プロセスには、クライアントと同じリソースに対
するアクセス権が与えられます。これによって、サーバのリソースへ
のアクセスを制限または拡張することができます。たとえば、あるデー
タベースに対してクライアントが更新権を持たず、サーバには更新権
がある場合、データベースにアクセスする前にクライアントに同一化
させることによって、クライアントによるデータベースの更新を回避
できます。
クライアントのセキュリティ コンテキストを必要とする処理が終了
したら、RevertToSelf 関数を呼び出して、サーバのセキュリティ コンテ
キストに戻します。
例
次の例は、トランザクション サーバ コンテキスト オブジェクトのイ
ンスタンスを作成し、クライアントに同一化させて処理を行います。
TransactionServer txninfo_test
integer li_rc
li_rc = GetContextService( "TransactionServer",
txninfo_test )
// 必要であればエラー処理を行います。
&
// クライアントに同一化させます。
txninfo_test.ImpersonateClient()
// クライアントのセキュリティ コンテキストで処理を行います。
...
// サーバのセキュリティ コンテキストに戻します。
txninfo_test.RevertToSelf()
関連項目
662
IsCallerInRole
PowerBuilder
第 10 章
PowerScript 関数
IsImpersonating
IsSecurityEnabled
RevertToSelf
ImportClipboard
機能
クリップボード内のタブやカンマで区切られたデータ、もしくは XML
データを、データウィンドウ コントロール、データストア オブジェク
ト、またはグラフ コントロールに挿入します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「ImportClipboard メソッド」を参照してください。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
graphname.ImportClipboard ( { importtype}, { startrow {, endrow {,
startcolumn } } } )
引数
importtype
(オプション)
graphname
startrow
(オプション)
説明
SaveAsType データウィンドウ定数のカタログ値。
ImportClipboard の有効な引数の種類は、次のとおりです。
Text!
CSV!
XML!
XML トレース ファイルを生成したい場合は、XML! 引数
を要求します。
グラフ コントロールの名前。クリップボードのデータのコ
ピー先を指定します。
クリップボード内のデータのうち、最初にコピーする行の
行番号を指定します。特に指定しない限り、1 が設定され
ます。
デフォルトの XML インポートの場合、startrow を指定す
ると、最初の N (startrow -1) 個の要素がスキップされます。
なお、N は、データウィンドウの行のサイズです。
テンプレートの XML インポートの場合、startrow を指定
すると、テンプレートで定義されている繰り返し行のマッ
ピングのうち、最初の(startrow -1)行がスキップされます。
PowerScript リファレンス ボリューム 2
663
ImportClipboard
引数
endrow
(オプション)
説明
クリップボード内のデータのうち、最後にコピーする行の
行番号を指定します。特に指定しない限り、残りのすべて
の行がコピーされます。
デフォルトの XML インポートの場合、endrow を指定する
と、N * endrow 個の要素がインポートされたときにイン
ポート処理が終了します。なお、N は、データウィンドウ
の行のサイズです。
startcolumn
(オプション)
テンプレートの XML インポートの場合、endrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングが endrow 個インポートされた時点でインポート処理
が終了します。
クリップボードのデータのうち、最初にコピーするカラム
のカラム番号を指定します。特に指定しない限り、1 が設
定されます。
デフォルトの XML インポートの場合、startcolumn を指定
すると、各行の最初の(startcolumn - 1)要素がスキップさ
れます。
テンプレートの XML インポートの場合、この引数は無効
です。
戻り値
正常に終了した場合、インポートされた行数を返します。エラーが発
生した場合は、以下の負の整数のいずれかを返します。
-1
行がありません。または startrow に、文字列内の行数よりも大きい
値が指定されました。
-2
入力データがカラム数と一致しないか、必要なカラムの種類と一
致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
-11 XML 解析エラー。XML パーサ ライブラリが見つからないか、
XML が整形式ではありません。
-12 XML テンプレートが存在しないか、データウィンドウと一致し
ません。
引数のいずれかの値が null の場合は、null を返します。オプションの引
数 importtype で指定したデータの種類が有効でない場合、-3 を返しま
す。
解説
クリップボードのデータは、タブかカンマで区切られた形式、もしく
は XML 形式でなければなりません。データウィンドウ オブジェクト
のカラムのデータ型と順番は、クリップボード内のデータと一致して
いる必要があります。
664
PowerBuilder
第 10 章
PowerScript 関数
Graph コントロールを対象とする場合、ImportClipboard 関数は 3 つのカ
ラムだけを使用し、ほかのカラムを無視します。データの各行には、3
つの情報が必要です。必要な情報は、グラフの種類によって異なりま
す。
•
散布図以外のすべてのグラフの場合、最初にインポートされるカ
ラムは、データ系列の名前です。2 番目のカラムは項目で、3 番目
のカラムはデータです。
•
散布図の場合、最初にインポートされるカラムは、データ系列の
名前です。2 番目のカラムはデータの x 座標の値、3 番目のカラム
は y 座標の値です。
データ系列または項目がすでにグラフに存在する場合、データは既存
のデータ系列または項目に対して割り当てられます。存在しない場合
は、データ系列と項目がグラフに追加されます。
最初のカラムに異なるデータ系列の名前を指定すると、複数のデータ
系列にデータを追加できます。
例
たとえば、クリップボードに以下のデータが格納されていて、グラフ
にはデータが含まれていない場合、次のステートメントを実行すると
2 つのデータ系列と 3 つの項目を持つグラフが作成されます。クリッ
プボードのデータは、以下のとおりです。
Sales
Sales
Sales
Sales
Sales
Sales
94Jan3000
94Mar2200
94May2500
95Jan4000
95Mar3200
95May3500
次のステートメントは、上記のクリップボード内のすべてのデータを
gr_employee にコピーします。
gr_employee.ImportClipboard()
次のステートメントは、クリップボードのデータ(2 行目の 3 カラム
目から 30 行目の 5 カラム目までのデータ)をグラフ コントロール
gr_employee にコピーします。
gr_employee.ImportClipboard(2, 30, 3)
関連項目
ImportFile
ImportString
PowerScript リファレンス ボリューム 2
665
ImportFile
ImportFile
機能
ファイル内のデータを、データウィンドウ コントロール、データスト
ア オブジェクト、またはグラフ コントロールに挿入します。データ
は、タブやカンマで区切られたテキスト、XML、dBase 形式 2、また
は dBase 形式 3 です。ファイルの形式は、挿入先がデータウィンドウ
コントロール(またはデータストア)であるのか、グラフ コントロー
ルであるのかによって異なります。また、グラフの種類によっても異
なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「ImportFile メソッド」を参照してください。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
graphname.ImportFile ( { importtype}, filename {, startrow {, endrow {,
startcolumn } } } )
引数
graphname
importtype
(オプション)
filename
説明
グラフ コントロールの名前。データのコピー先を指定しま
す。
SaveAsType データウィンドウ定数のカタログ値。この引数
を指定すると、importtype の指定時に拡張子を省略できま
す。ImportFile の有効な引数の種類は、次のとおりです。
Text!
CSV!
XML!
DBase2!
DBase3!
String 型の値。データをコピーするファイルの名前を指定
します。ファイルの形式は、ASCII 形式、タブで区切られ
た形式(.TXT)、カンマで区切られた形式(.CSV)、XML
形式(.XML)、dBase 2 形式または dBase 3 形式(.DBF)で
なければなりません。ファイル名は、拡張子を付けた完全
な名前で指定します。オプションの importtype の指定を省
略した場合、名前には適切な拡張子を付ける必要がありま
す。
filename が指定されていない場合、または filename が null
の場合は、エンド ユーザに対してファイル名の入力を要求
します。残りの引数は無視されます。
666
PowerBuilder
第 10 章
引数
startrow
(オプション)
PowerScript 関数
説明
ファイル内のデータのうち、最初にコピーする行の行番号
を指定します。特に指定しない限り、1 が設定されます。
デフォルトの XML インポートの場合、startrow を指定する
と、最初の N (startrow -1) 個の要素がスキップされます。な
お、N は、データウィンドウの行のサイズです。
endrow
(オプション)
テンプレートの XML インポートの場合、startrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングのうち、最初の(startrow -1)行がスキップされます。
ファイルのデータのうち、最後にコピーする行の行番号を
指定します。特に指定しない限り、残りのすべての行がコ
ピーされます。
デフォルトの XML インポートの場合、endrow を指定する
と、N * endrow 個の要素がインポートされたときにイン
ポート処理が終了します。なお、N は、データウィンドウ
の行のサイズです。
テンプレートの XML インポートの場合、endrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングが endrow 個インポートされた時点でインポート処理
が終了します。
startcolumn
(オプション)
ファイルのデータのうち、最初にコピーするカラムのカラ
ム番号を指定します。特に指定しない限り、1 が設定され
ます。
デフォルトの XML インポートの場合、startcolumn を指定
すると、各行の最初の(startcolumn - 1)要素がスキップさ
れます。
テンプレートの XML インポートの場合、この引数は無効
です。
戻り値
Long 型。正常に終了した場合、インポートされた行数を返します。エ
ラーが発生した場合は、以下の負の整数のいずれかを返します。
-1
行がありません。または startrow に、ファイル内の行数よりも大き
い値が指定されました。
-2
ファイルが空です。または入力データがカラム数と一致しないか、
必要なカラムの種類と一致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
-5
指定されたファイルを開くことができません。
-6
指定されたファイルを閉じることができません。
-7
テキストの読み取り中にエラーが発生しました。
PowerScript リファレンス ボリューム 2
667
ImportFile
-8
サポートされていないファイル名の拡張子です(有効な拡張子は
*.txt、*.csv、*.dbf、*.xml です)。
-10 サポートされていない dBase のファイル形式です(バージョン 2
または 3 ではありません)。
-11 XML 解析エラー。XML パーサ ライブラリが見つからないか、
XML が整形式ではありません。
-12 XML テンプレートが存在しないか、データウィンドウと一致し
ません。
引数のいずれかの値が null の場合、null を返します。オプションの引数
importtype で指定したデータの種類が有効でない場合、-3 を返します。
解説
ファイルの形式は、オプションの importtype で指定するか、または適
切なファイル拡張子を付けることによって指定できます。
グラフ コントロールを対象とする場合、ImportFile 関数は 3 つのカラム
だけを使用し、ほかのカラムを無視します。データの各行には、3 つ
の情報が必要です。必要な情報は、グラフの種類によって異なります。
•
散布図以外のすべてのグラフの場合、最初にインポートされるカ
ラムは、データ系列の名前です。2 番目のカラムは項目で、3 番目
のカラムはデータです。
•
散布図の場合、最初にインポートされるカラムは、データ系列の
名前です。2 番目のカラムはデータの x 座標の値、3 番目のカラム
は y 座標の値です。
最初のカラムに異なるデータ系列の名前を指定すると、複数のデータ
系列にデータを追加できます。インポートするファイルをエンド ユー
ザに選択させるには、filename に null を指定します。インポート ファ
イルの選択 ダイアログボックスが表示されます。
二重引用符 タブで区切られたファイル内のフィールドにある二重
引用符の位置と数は、ファイルがインポートされたときの二重引用符
に対する処理方法に影響します。文字列が 1 対の二重引用符で囲まれ
ている場合、その二重引用符は破棄されます。文字列が 3 対の二重引
用符で囲まれている場合は、その文字列がインポートされたときに 1
対が保持されます。文字列が 2 対の二重引用符で囲まれている場合、
最初の 1 対が null 文字列を囲んでいるとみなされ、残りの文字列は破
棄されます。
668
PowerBuilder
第 10 章
PowerScript 関数
文字列の先頭に二重引用符がある場合、2 番目の二重引用符よりも後
ろにある文字はすべて破棄されます。2 番目の二重引用符がない場合、
フィールドを区切るタブ文字はフィールド区切り文字として認識され
ません。次に来る二重引用符よりも前にある文字(キャリッジ リター
ンを含む)はすべて、その文字列の一部であるとみなされます。結合
された文字列が最初の文字列の長さを超えた場合は、検証エラーが生
成されます。
文字列において先頭の文字よりも後ろにある二重引用符は、その文字
どおりに表示されます。以下に、タブで区切られた文字列を 2 列のデー
タウィンドウにインポートする例をいくつか示します。
ファイル内のテキスト
"Joe" TAB "Donaldson"
結果
Joe Donaldson
Bernice TAB """Ramakrishnan"""
""Mary"" TAB ""Li""
"Mich"ael TAB """Lopes"""
"Amy TAB Doherty"
Bernice "Ramakrishnan"
3""" TAB 4"
セルは空になる
Mich "Lopes"
最初のセルは「Amy<TAB>Doherty」、2 番
目のセルは空になる
3""" 4"
ファイル名に null 文字列を指定した場合
filename に null 文字列を指定した場合、残りの引数は無視されます。
ファイル内の行と列はすべてインポートされます。
例
次のステートメントは、D:\EMPLOYEE.TXT ファイルのすべてのデー
タを gr_employee の 1 カラム目以降に挿入します。
gr_employee.ImportFile("D:\EMPLOYEE.TXT")
次のステートメントは、D:\EMPLOYEE.TXT ファイルのデータ(2 行
目の 3 カラム目から 30 行目の 5 カラム目までのデータ)をグラフ コ
ントロール gr_employee にコピーします。
gr_employee.ImportFile("D:\EMPLOYEE.TXT", 2, 30, 3)
次の 2 つのステートメントは同じように機能します。両方とも、
myxmldata という XML ファイルの内容をインポートします。
gr_control.ImportFile(myxmldata.xml)
gr_control.ImportFile(XML!, myxmldata)
PowerScript リファレンス ボリューム 2
669
ImportString
次の例では、PowerBuilder に インポート ファイルの指定 ダイアログ
ボックスを表示させます。
string null_str
SetNull(null_str)
dw_main.ImportFile(null_str)
関連項目
ImportClipboard
ImportString
ImportString
機能
文字列内のタブやカンマで区切られたデータ、または XML データを、
データウィンドウ コントロール、データストア オブジェクト、または
グラフ コントロールに挿入します。文字列内のタブで区切られたカラ
ムの各データがどのように扱われるかは、挿入先がデータウィンドウ
コントロール(またはデータストア)であるのか、グラフ コントロー
ルであるのかによって異なります。また、グラフの種類によっても異
なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「ImportString メソッド」を参照してください。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
graphname.ImportString ( { importtype}, string {, startrow {, endrow {,
startcolumn } } } )
引数
graphname
importtype
(オプション)
説明
グラフ コントロールの名前。データのコピー先を指定しま
す。
SaveAsType カタログ データ型(PowerBuilder)、またはイ
ンポートされる文字列の形式を指定する String 型(Web
DataWindow)の値。有効な引数の種類は、次のとおりです。
Text!
CSV!
XML!
XML トレース ファイルを生成したい場合は、XML! 引数
を要求します。
670
PowerBuilder
第 10 章
引数
string
startrow
(オプション)
PowerScript 関数
説明
String 型の値。データのコピー元の文字列を指定します。
この文字列には、タブ区切りまたはカンマ区切りのカラ
ム、または 1 行につき 1 データ行の XML が含まれている
必要があります(「解説」を参照)。
文字列内のデータのうち、最初にコピーする行の行番号を
指定します。特に指定しない限り、1 が設定されます。
デフォルトの XML インポートの場合、startrow を指定する
と、最初の N (startrow -1) 個の要素がスキップされます。な
お、N は、データウィンドウの行のサイズです。
テンプレートの XML インポートの場合、startrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングのうち、最初の(startrow -1)行がスキップされます。
endrow
(オプション)
文字列内のデータのうち、最後にコピーする行の行番号を
指定します。特に指定しない限り、残りのすべての行がコ
ピーされます。
デフォルトの XML インポートの場合、endrow を指定する
と、N * endrow 個の要素がインポートされたときにイン
ポート処理が終了します。なお、N は、データウィンドウ
の行のサイズです。
startcolumn
(オプション)
テンプレートの XML インポートの場合、endrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングが endrow 個インポートされた時点でインポート処理
が終了します。
文字列内のデータのうち、最初にコピーするカラムのカラ
ム番号を指定します。特に指定しない限り、1 が設定され
ます。
デフォルトの XML インポートの場合、startcolumn を指定
すると、各行の最初の(startcolumn - 1)要素がスキップさ
れます。
テンプレートの XML インポートの場合、この引数は無効
です。
戻り値
正常に終了した場合、インポートされたデータ ポイントの数を返しま
す。エラーが発生した場合は、以下の負の整数のいずれかを返します。
-1
行がありません。または startrow に、文字列内の行数よりも大きい
値が指定されました。
-2
文字列が空です。または入力データがカラム数と一致しないか、必
要なカラムの種類と一致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
PowerScript リファレンス ボリューム 2
671
ImportString
-11 XML 解析エラー。XML パーサ ライブラリが見つからないか、
XML が整形式ではありません。
-12 XML テンプレートが存在しないか、データウィンドウと一致し
ません。
引数のいずれかの値が null の場合、null を返します。オプションの引数
importtype で指定したデータの種類が有効でない場合、-3 を返します。
解説
グラフ コントロールを対象とする場合、ImportString 関数は 3 つのカラ
ムだけを使用し、ほかのカラムを無視します。データの各行には、3 つ
の情報が必要です。必要な情報は、グラフの種類によって異なります。
•
散布図以外のすべてのグラフの場合、最初にインポートされるカ
ラムは、データ系列の名前です。2 番目のカラムは項目で、3 番目
のカラムはデータです。
•
散布図の場合、最初にインポートされるカラムは、データ系列の
名前です。2 番目のカラムはデータの x 座標の値、3 番目のカラム
は y 座標の値です。
最初のカラムに異なるデータ系列の名前を指定すると、複数のデータ
系列にデータを追加できます。
例
次のステートメントは、文字列 ls_Text のデータ(2 行目の 3 カラム目
から 30 行目の 5 カラム目までのデータ)をグラフ コントロール
gr_employee にコピーします。
string ls_Text
ls_Text = . . .
gr_employee.ImportString(ls_Text, 2, 30, 3)
次のスクリプトは、文字列 ls_gr に 2 つのデータ系列のデータを格納
し、そのデータをグラフ コントロール gr_custbalance にインポートしま
す。データ内の項目は A、B、C です。
string ls_gr
ls_gr
ls_gr
ls_gr
ls_gr
ls_gr
ls_gr
=
=
=
=
=
=
"series1~tA~t12~r~n"
ls_gr + "series1~tB~t13~r~n"
ls_gr + "series1~tC~t14~r~n"
ls_gr + "series2~tA~t15~r~n"
ls_gr + "series2~tB~t14~r~n"
ls_gr + "series2~tC~t12.5~r~n"
gr_custbalance.ImportString(ls_gr, 1)
関連項目
672
ImportClipboard
ImportFile
PowerBuilder
第 10 章
PowerScript 関数
IncomingCallList
機能
パフォーマンス解析モデルに含まれるルーチンの呼び出し側のリスト
を作成します。
対象
ProfileRoutine オブジェクト
構文
iinstancename.IncomingCallList ( list, aggregrateduplicateroutinecalls )
引数
instancename
list
aggregateduplicateroutinecalls
戻り値
解説
説明
ProfileRoutine オブジェクトのインスタン
ス名を指定します。
データ型 ProfileCall の可変長配列変数を
指定します。この配列に、IncomingCallList
関 数 は、ル ー チ ン の 呼 び 出 し 側 ご と に
ProfileCall オブジェクトを格納します。こ
の引数は、参照渡しされます。
Boolean 型の値。呼び出しが複数回発生し
た場合に、ProfileCall オブジェクトを 1 つ
だけ作成するか、または複数作成するかど
うかを指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しません。
パフォーマンス解析モデルに含まれるルーチンの呼び出し側のリスト
を取得します。呼び出し側ルーチンはそれぞれ、ProfileCall オブジェク
トとして定義されます。このオブジェクトには、呼び出されるルーチ
ン、呼び出すルーチン、呼び出し回数、および処理時間が書き込まれ
ます。呼び出し側ルーチンがリストされるときの順序は、特に決まっ
ていません。
BuildModel 関数を使ってトレース ファイルからパフォーマンス解析
モデルをあらかじめ作成しておかなければなりません。
PowerScript リファレンス ボリューム 2
673
Init
aggregateduplicateroutinecalls 引数は、ルーチンの呼び出しが複数回発
生する場合に、ProfileCall オブジェクトを 1 つだけ作成するか、または
複数作成するかどうかを示します。この引数が有効になるのは、ライ
ン トレースを行うように設定されていて、呼び出し側ルーチンが呼び
出し先ルーチンを、異なる複数のラインから呼び出している場合だけ
です。aggregateduplicateroutinecalls が true である場合、新規作成され
る ProfileCall オブジェクトは 1 つだけであり、呼び出し側ルーチンか
ら呼び出し先ルーチンへの呼び出しの情報はすべて、このオブジェク
トに 1 つにまとめられます。aggregateduplicateroutinecalls が false であ
る場合、ProfileCall オブジェクトは複数作成され、呼び出し側ルーチン
が呼び出し先ルーチンを呼び出している 1 ラインに対し、1 つのオブ
ジェクトが対応します。
例
次の例は、パフォーマンス解析モデルに含まれるルーチンのリストを
取得し、各ルーチンを呼び出しているルーチンのリストを取得します。
Long ll_cnt
ProfileCall lproc_call[]
lpro_model.BuildModel()
lpro_model.RoutineList(i_routinelist)
FOR ll_cnt = 1 TO UpperBound(iprort_list)
iprort_list[ll_cnt].IncomingCallList(lproc_call, &
TRUE)
...
NEXT
関連項目
BuildModel
OutgoingCallList
Init
ORB プロパティ値を設定するか、CORBACurrent サービス オブジェク
トのインスタンスを初期化します。
目的
使用する構文
JaguarORB オブジェクトを使用して、EAServer にクライア 構文 1
ント接続するための ORB プロパティ値を設定します。
クライアント管理またはコンポーネント管理トランザク 構文 2
ション用に、CORBACurrent サービス オブジェクトのイン
スタンスを初期化します。
674
PowerBuilder
第 10 章
PowerScript 関数
構文 1
ORB プロパティの値を設定する
機能
ORB プロパティの値を設定します。この関数は、EAServer に接続して
いる PowerBuilder クライアントによって使用されます。
対象
JaguarORB オブジェクト
構文
jaguarorb.Init ( options )
引数
jaguarorb
options
説明
JaguarORB のインスタンスを指定します。
String 型。1 つまたは複数の ORB プロパティを指定しま
す。複数のプロパティ値を指定する場合は、各プロパティ
値をカンマで区切ります。
サポートされている全 ORB プロパティのリストについて
は、接続オブジェクトの Options プロパティのオンライン
ヘルプを参照してください。
戻り値
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
ORB プロパティは、EAServer ORB ドライバによって要求される設定
を行います。
JaguarORB オブジェクトを使用するために、必ずしも Init 関数を呼び
出す必要はありません。Init 関数が呼び出されなければ、EAServer ORB
ドライバがデフォルトのプロパティ値を使用します。
Init 関数は、同じ JaguarORB オブジェクトに対して何度も呼び出すこ
とができます。PowerBuilder は、最初の呼び出しの際に JaguarORB オ
ブジェクトの内部的なインスタンスを新しく作成し、それ以降のすべ
ての呼び出しにおいてこのオブジェクトを使用します。
そのほかの例については、関連項目リストの関数を参照してください。
例
次の例は、Init 関数を使って ORB プロパティ RetryCount および
RetryDelay を設定します。
JaguarORB my_orb
CORBAObject my_corbaobj
...
...
my_orb = CREATE JaguarORB
my_orb.Init("ORBRetryCount=3,ORBRetryDelay=1000")
...
...
関連項目
Object_To_String
Resolve_Initial_References
PowerScript リファレンス ボリューム 2
675
Init
String_To_Object
構文 2
CORBACurrent を初期化する
機能
CORBACurrent サービス オブジェクトのインスタンスを初期化します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.Init ( { connection | URL} )
引数
CORBACurrent
connection
URL
戻り値
説明
CORBACurrent サービス インスタンスへの参照を指定
します。
有効な EAServer ホストへの接続をすでに確立している
接続オブジェクトの名前を指定します。クライアント
が Init 関数を呼び出す場合は、connection か URL のどち
らかを指定しておく必要があります。
String 型。有効な EAServer ホストを識別する URL の名
前を指定します。クライアントが Init 関数を呼び出す場
合は、connection か URL のどちらかを指定しておく必
要があります。
Integer 型。正常に終了した場合は、0 を返します。サービス オブジェ
クトを初期化できなかった場合は、以下のいずれかの値を返します。
-1
-2
解説
676
原因不明のエラーです。
サービス オブジェクトが EAServer で実行されていない(引数なし
の場合)か、接続オブジェクトが EAServer に接続されていません
(引数が接続オブジェクトの場合)。
-3
ORB 初期化エラーです。
-4
ORB.resolve_initial_references("TransactionCurrent") メソッドの呼び
出しエラーです。
-5
narrow メソッドの呼び出しエラーです。
トランザクション プロパティに OTS 形式のマークが付けられた EAServer
で動作する PowerBuilder コンポーネントから、または PowerBuilder ク
ライアントから Init 関数を呼び出せます。Init 関数以外の関数を呼び出
す際は、事前に Init 関数を呼び出して CORBACurrent オブジェクトを初
期化しておくことが 必要 です。EAServer は 2 フェーズ コミット トラン
ザクション コーディネータ(OTS/XA)を使用していることが必要です。
また、GetContextService 関数を使用して CORBACurrent オブジェクトへ
の参照を取得しておくことも必要です。
PowerBuilder
第 10 章
PowerScript 関数
Init を PowerBuilder コンポーネントから呼び出すときは、引数は必要あ
りません。呼び出し元のコンポーネントに OTS 形式のマークが付けら
れていない場合、CORBACurrent オブジェクトは初期化されません。
PowerBuilder クライアントから Init を呼び出し、そのクライアントがト
ランザクションに対する責任を負う場合は、CORBACurrent オブジェ
クトを初期化しておく必要があります。この初期化を行うには、接続
オブジェクトか、引数としての URL 文字列のどちらかを使用して、Init
を呼び出します。接続オブジェクトを使用する場合は、あらかじめク
ライアントを有効な EAServer ホストに接続しておかなければなりま
せんが、コードの移植性を高めるためには、接続オブジェクトを使用
するほうが望ましいと言えます。
例
次に、PowerBuilder EAServer コンポーネントを使用して、CORBACurrent
オブジェクトのインスタンスを初期化する例を示します。
// インスタンス変数:
// CORBACurrent corbcurr
int li_rc
li_rc = this.GetContextService("CORBACurrent",
corbcurr)
IF li_rc <> 1 THEN
// エラーを処理します。
ELSE
li_rc = corbcurr.init()
IF li_rc <> 0 THEN
// エラーを処理します。
END IF
END IF
この例では、PowerBuilder クライアント アプリケーションから Init を
呼び出します。このクライアント アプリケーションは、あらかじめ
myconn 接 続 オ ブ ジ ェ ク ト を 使 用 し て EAServer に 接 続 し て あ り、
CORBACurrent オブジェクトへの参照(corbcurr と呼ばれる)も作成し
てあります。
li_rc = corbcurr.init( myconn )
IF li_rc <> 0 THEN
// エラーを処理します。
END IF
次の例では、有効な URL を使用して、PowerBuilder クライアント アプ
リケーションから Init 関数を呼び出します。
li_rc = corbcurr.init( "iiop://localhost:2000" )
IF li_rc <> 0 THEN
// エラーを処理します。
PowerScript リファレンス ボリューム 2
677
InputFieldChangeData
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
InputFieldChangeData
機能
リッチテキスト エディット コントロールの、入力フィールドのデータ
値を修正します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldChangeData ( inputfieldname, inputfieldvalue )
引数
rtename
inputfieldname
inputfieldvalue
説明
リッチテキスト エディット コントロールの名前。入力
フィールドのデータを変更するコントロールを指定します。
String 型の値。データを変更する入力フィールドの名前を
指定します。同じ名前の入力フィールドが、複数ある場合
もあります。
String 型の値。指定された入力フィールドに割り当てる
データを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
同じ名前を持つすべての入力フィールドには、同じデータが入ります。
InputFieldChangeData 関数が呼び出された場合、指定された名前を持つ
すべての入力フィールドのデータ値が修正されます。
例
次のスクリプトは、リストボックス コントロール lb_instruments の
SelectionChanged イベントの一部です。エンド ユーザがリストボック
ス内の項目をクリックすると、選択された楽器名がリッチテキスト エ
ディット コントロール rte_1 の instrument という名前の入力フィール
ドに割り当てられます。
678
PowerBuilder
第 10 章
PowerScript 関数
integer rtn
rtn = rte_1.InputFieldChangeData &
("instrument", lb_instruments.SelectedItem())
st_status.Text = String(rtn)
たとえば、rte_1 のテキストに次のように入力されているとします。
Dear {title} {lastname}:
お子様用の {instrument} をお借りいただき、ありがとうございます。
{instrument} の保守は、お子様の先生の指示に従って定期的に行ってく
ださい。{instrument} の部品や教本は、お近くの楽器店でお求めになる
ことができます。
エンド ユーザがリストボックス コントロールから " トランペット " を
選択すると、各 {instrument} フィールドに " トランペット " が挿入され
ます。そのほかのフィールドのデータ値は修正されません。
Dear {title} {lastname}:
お子様用のトランペットをお借りいただき、ありがとうございます。
トランペットの保守は、お子様の先生の指示に従って定期的に行って
ください。トランペットの部品や教本は、お近くの楽器店でお求めに
なることができます。
関連項目
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
InputFieldLocate
DataSource
InputFieldCurrentName
機能
リッチテキスト エディット コントロールの入力フィールドに挿入ポ
イントがあるとき、その入力フィールドの名前を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldCurrentName ( )
引数
rtename
PowerScript リファレンス ボリューム 2
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの名前を取得するコントロールを指定します。
679
InputFieldDeleteCurrent
戻り値
例
String 型。入力フィールドの名前を返します。入力フィールドに挿入
ポイントがない場合、またはエラーが発生した場合には、空の文字列
("")を返します。
次の例は、挿入ポイントがある入力フィールドの名前を取得します。
string ls_inputname
ls_inputname = rte_1.InputFieldCurrentName()
関連項目
InputFieldChangeData
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
InputFieldLocate
DataSource
InputFieldDeleteCurrent
機能
リッチテキスト エディット コントロールの選択された入力フィール
ドを削除します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldDeleteCurrent ( )
引数
rtename
説明
リッチテキスト エディット コントロールの名前。選択され
た入力フィールドを削除するコントロールを指定します。
戻り値
Integer 型。正常に終了した場合、1 を返します。入力フィールドに挿
入ポイントがない場合、入力フィールドが編集中の場合、またはエラー
が発生した場合には、-1 を返します。
解説
同じ名前を持つすべての入力フィールドには、同じデータが入ります。
ただし、フィールドのデータは個別に削除することができます。同じ
名前の入力フィールドのグループが 1 つ削除されても、残りのグルー
プのデータは削除されません。同じ名前の入力フィールドがすべて削
除された場合、リッチテキスト エディット コントロールは、削除され
た入力フィールドのデータを記憶しておきます。リッチテキスト エ
ディット コントロールは、削除されたフィールドと同じ名前の新しい
入力フィールドを初期化する場合に、そのデータを使用します。
680
PowerBuilder
第 10 章
PowerScript 関数
入力フィールドだけが選択されている必要があります。ほかのテキス
トも選択されている場合、InputFieldDeleteCurrent 関数は正常に終了しま
せん。入力フィールドだけが選択されている場合は、ハイライト表示
が点滅します。
InputFieldDeleteCurrent 関数は、現行のフィールドだけを削除します。文
書内にほかに同じ名前のフィールドが存在しても、削除されません。
リッチテキスト エディット コントロールが DataSource 関数を使用し
てデータをデータウィンドウと共有している場合、現行のフィールド
は、文書のすべてのインスタンスから削除されます。
例
次の例は、挿入ポイントがある入力フィールドを削除します。
integer li_rtn
li_rtn = rte_1.InputFieldDeleteCurrent()
関連項目
InputFieldChangeData
InputFieldGetData
InputFieldCurrentName
InputFieldInsert
InputFieldLocate
DataSource
InputFieldGetData
機能
リッチテキスト エディット コントロールの指定された入力フィール
ドのデータを取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldGetData ( inputfieldname )
引数
rtename
inputfieldname
説明
リッチテキスト エディット コントロールの名前。指定さ
れた入力フィールドのデータを取得するコントロールを
指定します。
String 型の値。データを取得する入力フィールドの名前を
指定します。
戻り値
String 型。入力フィールドのデータを返します。フィールドが存在しな
い場合、またはエラーが発生した場合には、空の文字列("")を返し
ます。
例
次に、入力フィールド empname のデータを取得する例を示します。
PowerScript リファレンス ボリューム 2
681
InputFieldInsert
string ls_name
ls_name = rte_1.InputFieldGetData(empname)
関連項目
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldInsert
InputFieldLocate
DataSource
InputFieldInsert
機能
リッチテキスト エディット コントロールの挿入ポイントに、名前付き
の入力フィールドを挿入します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldInsert ( inputfieldname )
引数
rtename
inputfieldname
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの挿入先を指定します。
String 型の値。挿入する入力フィールドの名前を指定しま
す。重複する名前を指定することもできます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。inputfieldname が null の場合は、null を返します。
解説
同じ名前の入力フィールドが複数ある場合があります。同じ名前の
フィールドには、同じデータが入ります。指定された入力フィールド
で InputFieldChangeData 関数を呼び出すと、同じ名前の入力フィールド
はすべて変更されます。
例
範囲が選択されている場合、InputFieldInsert 関数は選択範囲の先頭に
フィールドを挿入します。入力フィールドと選択範囲は、選択された
ままです。
st_status.Text = String( &
rte_1.InputFieldInsert("lastname"))
関連項目
682
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
PowerBuilder
第 10 章
PowerScript 関数
InputFieldLocate
DataSource
InputFieldLocate
機能
リッチテキスト エディット コントロールの入力フィールドの位置を
検索し、検索した位置に挿入ポイントを移動します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldLocate ( location {, inputfieldname } )
引数
rtename
location
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの検索対象を指定します。
入力フィールドの検索位置を指定する Location カタログ
データ型の値。値は以下のとおりです。
• First! - inputfieldname に指定された入力フィールドの
うち、文書内で最初に検索された入力フィールドの名前
を返します。また、inputfieldname が指定されていない
場合、文書内で最初に検索された入力フィールドの名前
を返します。
• Last! - inputfieldname に指定された入力フィールドのう
ち、文書内で最後に検索された入力フィールドの名前を
返します。また、inputfieldname が指定されていない場
合、文書内で最後に検索された入力フィールドの名前を
返します。
• Next! - inputfieldname に指定された入力フィールドの
うち、挿入ポイントのすぐ後で検索された入力フィール
ドの名前を返します。また、inputfieldname が指定され
ていない場合、挿入ポイントの次にくる別の入力フィー
ルドの名前を返します。
inputfieldname
PowerScript リファレンス ボリューム 2
• Prior! - inputfieldname に指定された入力フィールドの
うち、挿入ポイントのすぐ前で検索された入力フィール
ドの名前を返します。また、inputfieldname が指定され
ていない場合、挿入ポイントの前にある別入力フィール
ドの名前を返します。
String 型の値。検索する入力フィールドの名前を指定しま
す。指定された入力フィールドがコントロールに複数ある
場合、location に指定された位置にある入力フィールドが
検索されます。
683
InsertCategory
戻り値
String 型。正常に終了した場合、検索結果の入力フィールドの名前を返
します。指定された条件と一致する入力フィールドが見つからなかっ
た場合、またはエラーが発生した場合には、空の文字列("")を返し
ます。引数のいずれかの値が null の場合は、null を返します。
解説
同じ名前の入力フィールドが複数ある場合があります。同じ名前の
フィールドには、同じデータが入ります。
例
次の例は、挿入ポイントのすぐ後にある入力フィールドを検索します。
入力フィールドが見つかった場合、ls_name にはその入力フィールドの
名前が設定されます。
string ls_name
ls_name = rte_1.InputFieldLocate(Next!)
次の例では、文書の最後にある入力フィールドを検索します。
string ls_name
ls_name = rte_1.InputFieldLocate(Last!)
次の例では、文書の最後にある address という名前の入力フィールドを
検索します。入力フィールドが見つかった場合、ls_name には "address"
が設定されます。
string ls_name
ls_name = rte_1.InputFieldLocate(Last!, "address")
関連項目
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
DataSource
InsertCategory
機能
グラフの項目軸上の指定された位置に項目を挿入します。項目の番号
の連続性を保つために、既存の項目も含めて番号を付け直します。
対象
ウィンドウ内およびユーザ オブジェクト内のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.InsertCategory ( categoryvalue, categorynumber )
684
PowerBuilder
第 10 章
引数
controlname
categoryvalue
categorynumber
PowerScript 関数
説明
項目を挿入したいグラフ コントロールの名前を指定しま
す。
挿入する項目を示す値を指定します。項目は、グラフ コン
トロールで固有でなければなりません。また、指定する値
は、項目軸のデータ型と同じでなければなりません。
項目の番号を指定します。指定された項目の前に、新しい
項目が挿入されます。項目を最後に追加するには、0 を指
定します。項目軸に昇順または降順のソートが定義されて
いる場合、categorynumber は無視され、項目はそのソート
順序の中に統合されます。
戻り値
Integer 型。正常に終了した場合は項目の番号を返し、エラーが発生し
た場合は -1 を返します。項目がすでに存在する場合、既存の項目の番
号を返します。引数のいずれかの値が null の場合、null を返します。
解説
グラフの項目は、それぞれ独立しています。たとえば、日付や時間を
軸とするグラフでも、各項目は項目間に時間的な関連を持たずに独立
しています。散布図だけは個別の項目を持たないので、連続する項目
軸を持ちます。
項目軸のデータ型が String 型の場合、項目名は固有で、大文字と小文
字を区別します。また、項目名として空の文字列("")を指定するこ
とができます。ただし、項目名は固有でなければならないので、名前
として("")を持つ項目は 1 つだけです。
InsertCategory 関数を使用して新しい項目を作成すると、各データ系列の
その項目に空のデータ領域ができます。AddData 関数または InsertData 関
数を使用して、そこにデータ ポイントを挿入します。
項目をデータ系列の最後に追加するには、AddCategory 関
数を使用します。
別の記述方法
たとえば、次のようなステートメントがあるとします。
gr_data.InsertCategory("Qty", 0)
このステートメントは、次のステートメントと同じ意味です。
gr_data.AddCategory("Qty")
例
次のステートメントは、グラフ gr_product_data の PCs という名前の項
目の前に、Macs という項目を挿入します。
integer CategoryNbr
// 項目の番号を取得します。
CategoryNbr = FindCategory("PCs")
PowerScript リファレンス ボリューム 2
685
InsertClass
gr_product_data.InsertCategory("Macs", CategoryNbr)
次のステートメントは、午後のメールの量を示すグラフの時間軸に 3
つの項目を追加します。項目軸がソートされている場合、どんな順序
で項目を追加してもかまいません。
catnum = gr_mail.InsertCategory(13:00, 0)
catnum = gr_mail.InsertCategory(12:00, 0)
catnum = gr_mail.InsertCategory(13:00, 0)
関連項目
AddData
AddCategory
FindCategory
FindSeries
InsertData
InsertSeries
InsertClass
機能
OLE コントロールに、指定された OLE クラスの新しいオブジェクトを
挿入します。
構文
ole2control.InsertClass ( classname )
引数
ole2control
classname
戻り値
説明
新しいオブジェクトを作成する OLE コントロールの名前
を指定します。
String 型の値。作成するオブジェクトのクラス名を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
名前が無効です。
そのほかのエラーです。
引数のいずれかの値が null の場合は、null を返します。
解説
クラス名は、レジストリに登録されます。クラス名の例を次に示しま
す。
Excel.Sheet
Excel.Chart
Word.Document
686
PowerBuilder
第 10 章
例
PowerScript 関数
次に、Excel の空のスプレッドシートを OLE コントロール ole_1 に挿入
する例を示します。
integer result
result = ole_1.InsertClass("excel.sheet")
関連項目
InsertFile
InsertObject
LinkTo
InsertColumn
機能
指定されたラベル、配置、および幅のカラムを、指定された位置に挿
入します。
対象
リストビュー コントロール
構文
listviewname.InsertColumn ( index, label, alignment, width )
引数
listviewname
index
label
alignment
width
説明
リストビュー コントロールの名前。カラムの挿入先を指定
します。
この行の前に新しいカラムを挿入します。
String 型の値で、挿入するカラムの名前を指定します。
Alignment カタログ データ型の値。挿入するカラムの配置
を指定します。値は以下のとおりです。
Center!
Justify!
Left!
Right!
Integer 型の値で、挿入するカラムの幅を PowerBuilder 単位
系で指定します。
戻り値
Integer 型。正常に終了した場合はカラムの index 値を返し、エラーが発
生した場合は -1 を返します。
解説
カラムは、コントロール内のどこにでも挿入できます。現在のカラム
番号よりも、指定されたインデックスの方が大きい場合、そのカラム
は最後のカラムの後ろに挿入されます。
例
次の例は、Location という名前のカラムを挿入します。カラムの配置
を右詰めに設定し、カラムの幅を 300 に設定します。
lv_list.InsertColumn(2 , "Location" , Right! , 300)
PowerScript リファレンス ボリューム 2
687
InsertData
関連項目
AddColumn
DeleteColumn
InsertData
機能
グラフのデータ系列にデータ ポイントを挿入します。データ ポイント
の項目やデータ系列の位置を指定できます。散布図には適用できませ
ん。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.InsertData ( seriesnumber, datapoint, datavalue
{, categoryvalue } )
引数
controlname
seriesnumber
datapoint
datavalue
categoryvalue
(オプション)
戻り値
説明
データ系列 series_glossary にデータを挿入するグラフ コン
トロールの名前を指定します。
データを挿入するデータ系列を識別する番号を指定します。
データを挿入する後ろの位置にあるデータ ポイント
data_point_glossary の番号を指定します。
挿入するデータ ポイントの値を指定します。
項目軸のデータの値に対する項目を指定します。
categoryvalue のデータ型は、項目軸上のデータ型と一致し
なければなりません。通常、categoryvalue を指定します。
この引数を省略すると、項目に属さないデータがデータ
系列に追加されます。
Integer 型。正常に終了した場合はデータの値を返し、エラーが発生し
た場合は -1 を返します。引数のいずれかの値が null の場合は、null を
返します。
解説
categoryvalue を指定せずに datapoint を指定した場合、InsertData 関数
は、既存のデータ ポイントを次の項目にシフトして、その位置にデー
タ ポイントを挿入します。シフトされた軸の最後には、項目に属さな
いデータ ポイントが発生します。
688
PowerBuilder
第 10 章
PowerScript 関数
categoryvalue を指定した場合に項目が存在するときには、datapoint に
指定された位置を無視して、指定された項目に、既存のデータの値を
置き換えたデータ ポイントを挿入します。項目が存在しないときに
は、項目軸の最後に項目が作成されます。
特定の位置のデータ ポイントの値を変更するには、ModifyData 関数を
使用します。
散布図
散布図にデータを追加するには、AddData 関数の構文 2 を使用します。
データ系列の最後またはデータ系列の既存の項目に
データ ポイントを追加するには、AddData 関数を使用します。この関
数の引数の数は、InsertData 関数よりも少なくなります。
別の記述方法
datapoint に挿入または変更する位置を指定した場合、InsertData 関数と
ModifyData 関数の動作形態は異なります。ただし、位置 0 と項目を指定
すると、AddData 関数と同様の動作形態になります。項目がすでに存在
している場合、この 3 つの関数はデータ ポイントの値を変更します。
項目が存在しない場合は、軸の最後にデータ値を持つ項目を挿入します。
項目と位置を指定し、その項目がすでに存在している場合は、InsertData
関数は位置を無視し、指定された項目のデータを変更しますが、ModifyData
関数はその位置の項目ラベルを変更します。
たとえば、次のようなステートメントがあるとします。
gr_data.InsertData(1, 0, 44, "Qty")
このステートメントは、次のステートメントと同じ意味です。
gr_data.ModifyData(1, 0, 44, "Qty")
また、次のように記述しても同じ意味になります。
gr_data.AddData(1, 44, "Qty")
位置を指定した場合、次の 2 つのステートメントの意味は異なります。
•
InsertData 関数は、指定された位置を無視して Qty 項目のデータの
値を変更します。
gr_data.InsertData(1, 4, 44, "Qty")
•
ModifyData 関数は、位置 4 の項目ラベルとデータの値を変更します。
gr_data.ModifyData(1, 4, 44, "Qty")
PowerScript リファレンス ボリューム 2
689
InsertDocument
例
たとえば、項目ラベル Jan が存在していないとします。次のステート
メントは、Costs というデータ系列の Mar に対するデータ ポイントの
前にデータの値を挿入します。そのデータ ポイントをグラフ
gr_product_data の項目ラベル Jan に割り当てます。
integer SeriesNbr, CategoryNbr
// データ系列と項目の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
CategoryNbr = gr_product_data.FindCategory("Mar")
gr_product_data.InsertData(SeriesNbr, &
CategoryNbr, 1250, "Jan")
次のステートメントは、グラフ gr_product_data 内のデータ系列 Revenues
の Apr に対するデータ値の後ろに、データ値 1250 を挿入します。デー
タは Apr の後ろの項目に挿入され、残りのデータがある場合は、後ろ
にずらします。
integer SeriesNbr, CategoryNbr
// データ系列と項目の番号を取得します。
CategoryNbr = gr_product_data.FindCategory("Apr")
SeriesNbr = gr_product_data.FindSeries("Revenues")
gr_product_data.InsertData(SeriesNbr, &
CategoryNbr + 1, 1250)
関連項目
AddData
FindCategory
FindSeries
GetData
InsertDocument
機能
690
リッチテキスト エディット コントロール、データウィンドウ コント
ロール、またはデータストア オブジェクトに、リッチテキスト形式ま
たは書式属性のない通常のテキスト ファイルを挿入します。新しい内
容は、次のどちらかの方法を使用して追加します。
•
挿入ポイントがある場所に新しい内容を挿入する
•
既存のすべての内容を新しい内容で置き換える
PowerBuilder
第 10 章
PowerScript 関数
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール、データストア オブジェクト
構文
rtename.InsertDocument ( filename, clearflag { , filetype } )
引数
rtename
filename
clearflag
説明
ファイルを表示するリッチテキスト エディット コント
ロール、データウィンドウ コントロール、またはデータス
トア オブジェクトの名前を指定します。データウィンドウ
コントロール(またはデータストア)のデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
リッチテキスト エディット コントロールに表示するファ
イルの名前を指定します。filename には、ファイルのパス
を含めることもできます。
Boolean 型の値。コントロールの現行の内容を新しいファ
イルで置き換えるかどうかを指定します。値は以下のとお
りです。
• true - 現行の内容をファイルで置き換えます。
filetype
(オプション)
• false - 既存の内容の挿入ポイントに、ファイルを挿入
します。
FileType カタログ データ型の値。開くファイルの種類を指
定します。値は以下のとおりです。
• FileTypeRichText! -(デフォルト)リッチテキスト
(RTF)形式
• FileTypeText! - 書式属性のない通常の ASCII テキスト
(TXT)
• FileTypeHTML! - HTML 形式(HTM または HTML)
• FileTypeDoc! - Microsoft Word 形式(DOC)
filetype が指定されていない場合、PowerBuilder はファイル
名の拡張子を使用してリッチテキストまたは ASCII テキ
ストとしてファイルを読み込むかどうかを判断します。拡
張子がサポートしているファイルの種類の拡張子でない
場合、PowerBuilder はリッチ テキストとしてファイルを読
み込もうとします。INI、LOG、または SQL などの拡張子
のファイルを挿入するためには、FileTypeText! を指定する
必要があります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
PowerScript リファレンス ボリューム 2
691
InsertFile
解説
コントロールの DisplayOnly プロパティに true を設定すると、リッチ
テキスト コントロールにドキュメントを挿入することができません。
これをしようとすると、PowerBuilder は実行時にエラー メッセージを
表示します。
コントロールがヘッダとフッタをサポートする場合(HeaderFooter プ
ロパティが true の場合)
、文書を挿入すると既存のヘッダとフッタのテ
キストを置き換えますが、追加しません。挿入した文書のヘッダとフッ
タのテキストで、既存のヘッダとフッタのテキストを置き換えるため
には、clearflag に true を設定する必要があります。
サポートされていない RTF 書式もあります。PowerBuilder では、標準
RTF Version 1.2 がサポートされています。ただし、次の書式はサポー
トされていません。
•
書式が設定されている表
•
描画オブジェクト
サポートされていない書式は、すべて無視されます。
例
次に、rte_1 に文書を挿入し、戻り値をスタティックテキスト コント
ロールに返す例を示します。
integer rtn
rtn = rte_1.InsertDocument("c:\pb\test.rtf", &
TRUE, FileTypeRichText!)
st_status.Text = String(rtn)
関連項目
InputFieldInsert
InsertPicture
DataSource
InsertFile
機能
OLE コントロールにオブジェクトを挿入します。指定されたファイル
のコピーが OLE オブジェクトに埋め込まれます。
構文
olecontrol.InsertFile ( filename )
引数
olecontrol
692
説明
OLE コントロールの名前を指定します。
PowerBuilder
第 10 章
引数
filename
戻り値
PowerScript 関数
説明
String 型の値。ファイル名を指定します。指定されたファ
イルの内容が OLE オブジェクトに埋め込むデータとなり
ます。filename には、ファイルのパスを指定する必要があ
ります。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ファイルがありません。
そのほかのエラーです。
引数のいずれかの値が null の場合は、null を返します。
解説
指定されたファイルの内容が、OLE オブジェクトに埋め込まれます。
PowerBuilder のオブジェクトとファイルとの間に、リンクは設定され
ません。
例
次の例は、OLE コントロール ole_1 の中にオブジェクトを作成します。
これは Excel のオブジェクトで、スプレッド シート EXPENSE.XLS の
データを含んでいます。
integer result
result = ole_1.InsertFile("c:\xls\expense.xls")
関連項目
InsertClass
InsertObject
LinkTo
Paste
InsertItem
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、リストビュー コントロール、またはツリービュー コント
ロールに項目を挿入します。
項目の挿入先(コントロール)
リストボックス コントロール、またはドロップダウン リ
ストボックス コントロール
ピクチャ リストボックス コントロールか、ドロップダウ
ン ピクチャ リストボックス コントロール
リストビュー コントロール(項目ラベルとピクチャ イン
デックスだけを指定する場合)
PowerScript リファレンス ボリューム 2
使用する構文
構文 1
構文 2
構文 3
693
InsertItem
項目の挿入先(コントロール)
リストビュー コントロール(項目ラベルとピクチャ イン
デックス以外の情報も指定する場合)
ツリービュー コントロール(項目ラベルとピクチャ イン
デックスだけを指定する場合)
ツリービュー コントロール(項目ラベルとピクチャ イン
デックス以外の情報も指定する場合)
使用する構文
構文 4
構文 5
構文 6
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールに項目を挿入する
機能
ピクチャ リストボックスの値のリストに、項目を挿入します。
対象
リストボックス コントロール、またはドロップダウン リストボックス
コントロール
構文
listboxname.InsertItem ( item, index )
引数
listboxname
item
index
戻り値
説明
リストボックス コントロールまたはドロップダウン リスト
ボックス コントロールの名前。項目の挿入先を指定します。
String 型の値。挿入する項目のテキストを指定します。
リスト内での項目の番号を指定します。指定された項目の前
に、新しい項目を挿入します。
Integer 型。正常に終了した場合、リストボックスに挿入された項目の
最終的な位置を返します。エラーが発生した場合には -1 を返します。
引数のいずれかの値が null の場合は、null を返します。
解説
InsertItem 関数は、index に指定された項目の前に、新しい項目を挿入し
ます。listboxname に指定されたコントロール内の項目がソートされて
いた場合(Sorted プロパティが true の場合)
、PowerBuilder は新しい項
目を挿入した後、項目をソートし直します。したがって、戻り値は、
新しく挿入された項目のリストボックス内での最終的な位置を示しま
す。
AddItem 関数と InsertItem 関数は、
Items プロパティ配列を更新しません。
追加された項目を実行時に検索するには、FindItem 関数を使用します。
例
次のステートメントは、lb_actions の 5 番目の項目の前に、Run Application
という項目を挿入します。
lb_actions.InsertItem("Run Application", 5)
694
PowerBuilder
第 10 章
PowerScript 関数
Sorted プロパティが false の場合、上記のステートメントは 5 を返しま
す。この場合、新しい項目を挿入する前に 5 番目の項目だったものは、
6 番目の項目になります。また、Sorted プロパティが true の場合、項目
を挿入した後でリスト内の項目をソートし、項目の最終的な位置を示
すインデックスを返します。
たとえば、リストボックス コントロール lb_Cities に以下の項目が格納
されていて、Sorted プロパティが true であるとします。次の例では、リ
ストボックスの一番上に Denver を挿入してリストボックス内の項目
をソートし、li_pos に 4 を設定します。リストボックス コントロール
の Sorted プロパティが false の場合、リストボックスの一番上に Denver
を挿入し、li_pos に 1 を設定します。リストの内容は、次のとおりです。
Albany
Boston
Chicago
New York
スクリプトは、次のとおりです。
string ls_City = "Denver"
integer li_pos
li_pos = lb_Cities.InsertItem(ls_City, 1)
関連項目
AddItem
DeleteItem
FindItem
Reset
TotalItems
構文 2
ピクチャ リストボックス コントロールまたはドロッ
プダウン ピクチャ リストボックス コントロールに項
目を挿入する
機能
ピクチャ リストボックスの値のリストに、項目を挿入します。
対象
ピクチャ リストボックス コントロールか、ドロップダウン ピクチャ
リストボックス コントロール
構文
listboxname.InsertItem ( item {, pictureindex }, index )
引数
listboxname
PowerScript リファレンス ボリューム 2
説明
ピクチャ リストボックス コントロールか、ドロップダウ
ン ピクチャ リストボックス コントロールの名前。項目の
挿入先を指定します。
695
InsertItem
引数
item
pictureindex
(オプション)
index
戻り値
説明
String 型の値。挿入する項目のテキストを指定します。
Integer 型の値。新しく追加する項目に関連付けるピクチャ
のインデックスを指定します。
リスト内での項目の番号を指定します。指定された項目の
前に、新しい項目を挿入します。
Integer 型。正常に終了した場合、リストボックスに挿入された項目の
最終的な位置を返します。エラーが発生した場合には -1 を返します。
引数のいずれかの値が null の場合は、null を返します。
解説
ピクチャ インデックスを指定しなかった場合、新しく追加される項目
にピクチャが割り当てられません。
存在しないピクチャ インデックスを指定した場合でも、ピクチャ イン
デックスの番号は、ピクチャとともに格納されます。ピクチャをピク
チャ配列に追加すると、項目が対応するピクチャを示すようになりま
す。
リストボックス内の項目についての補足説明、および Sorted プロパ
ティが項目の順序に影響を与える例については、構文 1 を参照してく
ださい。
例
次のステートメントは、lb_actions の 5 番目の項目の前に、Run Application
という項目を挿入します。項目には、ピクチャが割り当てられません。
plb_actions.InsertItem("Run Application", 5)
次のステートメントは、lb_actions の 5 番目の項目の前に Run Application
という項目を挿入し、その項目にピクチャ インデックス 4 を割り当て
ます。
plb_actions.InsertItem("Run Application", 4, 5)
関連項目
AddItem
DeleteItem
FindItem
Reset
TotalItems
構文 3
リストビュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックスだけを指定する場合)
機能
リストビュー コントロールに項目を挿入します。
対象
リストビュー コントロール
696
PowerBuilder
第 10 章
構文
PowerScript 関数
listviewname.InsertItem ( index, label, pictureindex )
引数
listviewname
index
label
pictureindex
説明
リストビュー コントロールの名前。項目の挿入先を指定し
ます。
Integer 型の値。インデックス番号を指定します。このイン
デックス番号の前に新しい項目を挿入します。
String 型の値。追加する項目の名前を指定します。
Integer 型の値。追加する項目のピクチャのインデックス番
号を指定します。
戻り値
Integer 型。正常に終了した場合は index を返し、エラーが発生した場合
は -1 を返します。
解説
項目ラベルとピクチャ インデックス以外にも情報を指定する場合に
は、構文 4 を使用してください。
例
次の例は、リストビュー コントロールの 11 番目の位置に項目を挿入
します。
lv_list.InsertItem(11 , "Presentation" , 1)
関連項目
AddItem
構文 4
リストビュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックス以外の情報も指定す
る場合)
機能
リストビュー コントロールに項目を挿入します。
対象
リストビュー コントロール
構文
listviewname.InsertItem ( index, item )
引数
listviewname
index
item
戻り値
説明
リストビュー コントロールの名前。項目の挿入先を指定し
ます。
Integer 型の値。追加する項目のインデックス番号を指定し
ます。
データ型 ListViewItem のシステム構造体を指定します。
InsertItem 関数は、ここに挿入する項目を格納します。
Integer 型。正常に終了した場合は index を返し、エラーが発生した場合
は -1 を返します。
PowerScript リファレンス ボリューム 2
697
InsertItem
解説
指定したインデックスは、リストビュー コントロールに新しく追加す
る項目の位置を示します。
挿入する項目ラベルとピクチャ インデックスだけを指定する場合に
は、構文 3 を使用してください。
例
次の例では、リストビューの項目を 2 番目の位置から 5 番目の位置に
移動します。この例では、GetItem 関数を使用して項目 2 の状態情報を
取得します。その情報を項目 5 の状態情報としてリストビュー コント
ロールに挿入し、元の項目(項目 2)を削除します。
listviewitem l_lvi
lv_list.GetItem(2 , l_lvi)
lv_list.InsertItem(5 , l_lvi)
lv_list.DeleteItem(2)
関連項目
AddItem
構文 5
ツリービュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックスだけを指定する場合)
機能
ツリービュー コントロールの特定のレベルに、特定の順序で項目を挿
入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItem ( handleparent, handleafter, label, pictureindex )
引数
treeviewname
handleparent
handleafter
label
pictureindex
戻り値
698
説明
ツリービュー コントロールの名前。項目の挿入先を指定し
ます。
項目のハンドルを指定します。指定された項目の 1 つ下の
レベルに、新しい項目を挿入します。最初のレベルに挿入
したい場合は、0 を指定します。
項目のハンドルを指定します。指定された項目と同じレベ
ルで、この項目のすぐ後に新しい項目を挿入します。
挿入する項目のラベルを指定します。
ピクチャのリストに追加するピクチャ インデックスを指
定します。
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
この構文は、項目ラベルとピクチャ インデックスだけを設定する場合
に使用してください。さらにほかのプロパティを設定する場合は、構
文 6 を使用してください。
ツリービューの SortType プロパティが Unsorted! 以外の値に設定され
ている場合は、挿入した項目は、同レベルの項目と一緒にソートされ
ます。
項目の最初の子を挿入する場合は、InsertItemLast 関数または InsertItemFirst
関数を使用してください。この 2 つの関数では handleafter を指定する
必要がありません。
例
次に、ツリービュー コントロールの現行の項目と同じレベルに項目を
挿入する例を示します。この例では、FindItem 関数を使用して現行の項
目とその親を検索し、親項目の下に新しい項目を挿入します。
long ll_tvi, ll_tvparent
ll_tvi = tv_list.FindItem(currenttreeitem!, 0)
ll_tvparent = tv_list.FindItem(parenttreeitem!,ll_tvi)
tv_list.InsertItem(ll_tvparent,ll_tvi,"Hindemith", 2)
関連項目
GetItem
構文 6
ツリービュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックス以外の情報も指定す
る場合)
機能
ツリービュー コントロールの特定のレベルに、特定の順序で項目を挿
入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItem ( handleparent, handleafter, item )
引数
treeviewname
handleparent
handleafter
item
PowerScript リファレンス ボリューム 2
説明
ツリービュー コントロールの名前。項目の挿入先を指定し
ます。
項目のハンドルを指定します。指定された項目の 1 つ下の
レベルに、新しい項目を挿入します。最初のレベルに挿入
したい場合は、0 を指定します。
項目のハンドルを指定します。指定された項目と同じレベ
ルで、この項目のすぐ後に新しい項目を挿入します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
699
InsertItemFirst
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
項目ラベルとピクチャ インデックスだけを設定する場合は、構文 5 を
使用してください。さらにほかのプロパティを設定する場合は、この
構文を使用してください。
ツリービューの SortType プロパティが Unsorted! 以外の値に設定され
ている場合は、挿入した項目は、同レベルの項目と一緒にソートされ
ます。
項目の最初の子を挿入する場合は、InsertItemLast 関数または
InsertItemFirst 関数を使用してください。この 2 つの関数では handleafter
を指定する必要がありません。
例
次に、ツリービュー コントロールの現行の項目と同じレベルに項目を
挿入する例を示します。この例では、FindItem 関数を使用して現行の項
目とその親を検索し、親項目の下に新しい項目を挿入します。
long ll_tvi, ll_tvparent
treeviewitem l_tvi
ll_tvi = tv_list.FindItem(currenttreeitem!, 0)
ll_tvparent = tv_list.FindItem(parenttreeitem!,ll_tvi)
tv_list.GetItem(ll_tvi , l_tvi)
tv_list.InsertItem(ll_tvparent,ll_tvi, l_tvi)
関連項目
GetItem
InsertItemFirst
親項目の最初の子として、項目を挿入します。
目的
項目ラベルとピクチャ インデックスだけを指定する場合
項目ラベルとピクチャ インデックス以外の情報も指定す
る場合
700
使用する構文
構文 1
構文 2
PowerBuilder
第 10 章
PowerScript 関数
構文 1
項目ラベルとピクチャ インデックスだけを指定する
場合
機能
親の最初の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemFirst ( handleparent, label, pictureindex )
引数
treeviewname
handleparent
label
pictureindex
説明
親の最初の子として指定する項目のツリービュー コント
ロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
親の最初の子として指定する項目のラベルを指定します。
親の最初の子として指定する項目のピクチャ インデック
スを指定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
例
次に、InsertItemFirst 関数を使用してツリービュー コントロールの最初
のレベルに値を設定する例を示します。
long ll_lev1, ll_lev2 ,ll_lev3 ,ll_lev4
int index
tv_list.PictureHeight = 32
tv_list.PictureWidth = 32
ll_lev1 = tv_list.InsertItemFirst(0,"Composers",1)
ll_lev2 = tv_list.InsertItemLast(ll_lev1, &
"Beethoven",2)
ll_lev3 = tv_list.InsertItemLast(ll_lev2, &
"Symphonies", 3)
FOR index = 1 to 9
ll_lev4 = tv_list.InsertItemSort(ll_lev3, &
"Symphony # " + String(index) , 4)
NEXT
tv_list.ExpandItem(ll_lev3)
tv_list.ExpandItem(ll_lev4)
関連項目
InsertItem
InsertItemLast
InsertItemSort
PowerScript リファレンス ボリューム 2
701
InsertItemFirst
構文 2
項目ラベルとピクチャ インデックス以外の情報も指
定する場合
機能
親の最初の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemFirst ( handleparent, item )
引数
treeviewname
handleparent
item
説明
親の最初の子として指定する項目のツリービュー コント
ロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
SortType プロパティが Unsorted! 以外の値に設定されている場合、項目
が追加された後にソートされるので、ツリービューは常にソートされ
ている状態になります。したがって、InsertItemFirst 関数、InsertItemLast
関数、InsertItemSort 関数を呼び出した結果は同じになります。
例
次に、ツリービュー コントロールの最上位の項目の下にある最初の項
目として、現行の項目を挿入する例を示します。
long
ll_handle, ll_roothandle
treeviewitem l_tvi
ll_handle = tv_list.FindItem(CurrentTreeItem!, 0)
ll_roothandle = tv_list.FindItem(RootTreeItem!, 0)
tv_list.GetItem(ll_handle , l_tvi)
tv_list.InsertItemFirst(ll_roothandle, l_tvi)
関連項目
702
InsertItem
InsertItemLast
InsertItemSort
PowerBuilder
第 10 章
PowerScript 関数
InsertItemLast
親項目の最後の子として、項目を挿入します。
目的
項目ラベルとピクチャ インデックスだけを指定する場合
項目ラベルとピクチャ インデックス以外の情報も指定す
る場合
使用する構文
構文 1
構文 2
構文 1
項目ラベルとピクチャ インデックスだけを指定する
場合
機能
親の最後の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemLast ( handleparent, label, pictureindex )
引数
treeviewname
handleparent
label
pictureindex
説明
親の最後の子として指定する項目のツリービュー コント
ロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
親の最後の子として指定する項目のラベルを指定します。
親の最後の子として指定する項目のピクチャ インデック
スを指定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
項目ラベルやインデックス以外の情報も指定する必要がある場合は、
構文 2 を使用してください。
SortType プロパティが Unsorted! 以外の値に設定されている場合、項目
が追加された後にソートされるので、ツリービューは常にソートされ
ている状態になります。したがって、InsertItemFirst 関数、InsertItemLast
関数、InsertItemSort 関数を呼び出した結果は同じになります。
例
次の例は、InsertItemLast 関数を使用してツリービュー コントロールの
最初の 3 つのレベルの値を設定します。
long
int
ll_lev1, ll_lev2, ll_lev3, ll_lev4
index
tv_list.PictureHeight = 32
tv_list.PictureWidth = 32
PowerScript リファレンス ボリューム 2
703
InsertItemLast
ll_lev1 = tv_list.InsertItemLast(0,"Composers",1)
ll_lev2 = tv_list.InsertItemLast(ll_lev1, &
"Beethoven",2)
ll_lev3 = tv_list.InsertItemLast(ll_lev2, &
"Symphonies",3)
FOR index = 1 to 9
ll_lev4 = tv_list.InsertItemSort(ll_lev3, &
"Symphony # " String(index), 4)
NEXT
tv_list.ExpandItem(ll_lev3)
tv_list.ExpandItem(ll_lev4)
関連項目
InsertItem
InsertItemFirst
InsertItemSort
構文 2
項目ラベルとピクチャ インデックス以外の情報も指
定する場合
機能
親の最後の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemLast ( handleparent, item )
引数
treeviewname
handleparent
item
説明
親の最後の子として指定する項目のツリービュー コント
ロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
SortType プロパティが Unsorted! 以外の値に設定されている場合、項目
が追加された後にソートされるので、ツリービューは常にソートされ
ている状態になります。したがって、InsertItemFirst 関数、InsertItemLast
関数、InsertItemSort 関数を呼び出した結果は同じになります。
例
次の例は、ツリービュー コントロールの最上位の項目の下にある最後
の項目として、現行の項目を挿入します。
704
PowerBuilder
第 10 章
PowerScript 関数
long
ll_handle, ll_roothandle
treeviewitem l_tvi
ll_handle = tv_list.FindItem(CurrentTreeItem!, 0)
ll_roothandle = tv_list.FindItem(RootTreeItem!, 0)
tv_list.GetItem(ll_handle , l_tvi)
tv_list.InsertItemLast(ll_roothandle, l_tvi)
関連項目
InsertItem
InsertItemFirst
InsertItemSort
InsertItemSort
子項目を挿入し、親項目内で項目をソートします。
目的
項目ラベルとピクチャ インデックスだけを指定する場合
項目ラベルとピクチャ インデックス以外の情報も指定す
る場合
使用する構文
構文 1
構文 2
構文 1
項目ラベルとピクチャ インデックスだけを指定する
場合
機能
可能であれば、項目をソート順で挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemSort ( handleparent, label, pictureindex )
引数
treeviewname
handleparent
label
pictureindex
PowerScript リファレンス ボリューム 2
説明
親の子として項目を挿入し、ラベル順にソートするツリー
ビュー コントロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
親の子として項目をソートするラベルを指定します。
親の子としてラベル順にソートする項目のピクチャ イン
デックスを指定します。
705
InsertItemSort
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
SortType プロパティが Unsorted! 以外の値に設定されている場合、ツ
リービューは常にソートされている状態になるので、InsertItemSort 関数
を呼び出す必要はありません。任意の挿入関数を使用できます。
SortType プロパティが Unsorted! の場合、アルファベットの昇順で項目
が挿入されます。リストがソートされていない場合には、挿入に最適
な位置を検索しますが、結果は不定です。
例
次の例は、ツリービュー コントロールの 4 番目のレベルの値を設定し
ます。
long ll_lev1, ll_lev2 ,ll_lev3 ,ll_lev4
int index
tv_list.PictureHeight = 32
tv_list.PictureWidth = 32
ll_lev1 = tv_list.InsertItemLast(0,"Composers",1)
ll_lev2 = tv_list.InsertItemLast(ll_lev1, &
"Beethoven",2)
ll_lev3 = tv_list.InsertItemLast(ll_lev2, &
"Symphonies",3)
FOR index = 1 to 9
ll_lev4 = tv_list.InsertItemSort(ll_lev3, &
"Symphony # " + String(index) , 4)
NEXT
tv_list.ExpandItem(ll_lev3)
tv_list.ExpandItem(ll_lev4)
関連項目
706
InsertItem
InsertItemLast
InsertItemFirst
PowerBuilder
第 10 章
PowerScript 関数
構文 2
項目ラベルとピクチャ インデックス以外の情報も指
定する場合
機能
可能であれば、項目をソート順で挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemSort ( handleparent, item )
引数
treeviewname
handleparent
item
説明
親の子としてラベル順にソートする項目のツリービュー
コントロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
SortType プロパティが Unsorted! 以外の値に設定されている場合、ツ
リービューは常にソートされている状態になるので、InsertItemSort 関
数を呼び出す必要はありません。任意の挿入関数を使用できます。
SortType プロパティが Unsorted! の場合、アルファベットの昇順で項目
が挿入されます。リストがソートされていない場合には、挿入に最適
な位置を検索しますが、結果は不定です。
例
次の例は、ツリービュー コントロールの最上位の項目の下にある現行
の項目を挿入し、ラベル順にソートします。
long ll_handle, ll_roothandle
treeviewitem l_tvi
ll_handle = tv_list.FindItem(CurrentTreeItem!, 0)
ll_roothandle = tv_list.FindItem(RootTreeItem!, 0)
tv_list.GetItem(ll_handle , l_tvi)
tv_list.InsertItemSort(ll_roothandle, l_tvi)
関連項目
InsertItem
InsertItemFirst
InsertItemLast
PowerScript リファレンス ボリューム 2
707
InsertObject
InsertObject
機能
エンド ユーザが新規または既存の OLE オブジェクトを選択できるよ
うに、標準のオブジェクトの挿入ダイアログボックスを表示し、OLE
コントロールに指定されたオブジェクトを挿入します。
構文
olecontrol.InsertObject ( )
引数
olecontrol
戻り値
説明
オブジェクトを挿入する OLE コントロールの名前を指定
します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
1 エンド ユーザがダイアログボックスの表示を取り消しました。
-9 エラーが発生しました。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、エンド ユーザが OLE オブジェクトを選択できるように、標
準の オブジェクトの作成と貼り付け ダイアログボックスを表示しま
す。InsertObject 関数は、指定されたオブジェクトをコントロール ole_1
に挿入します。
integer result
result = ole_1.InsertObject()
関連項目
708
InsertClass
InsertFile
LinkTo
PowerBuilder
第 10 章
PowerScript 関数
InsertPicture
機能
リッチテキスト エディット コントロールの挿入ポイントに、画像を挿
入します。
対象
リッチテキスト エディット コントロール
構文
rtename.InsertPicture ( filename{, format } )
引数
rtename
filename
format
説明
画像を挿入するリッチテキスト エディット コントロール
の名前を指定します。
String 型の値。画像を格納しているファイルの名前を指定
します。
Integer 型の値。画像を RTF ファイルに保存する際の形式
を指定します。値は以下のとおりです。
• 1 – BMP
• 2 – WMF(デフォルト)
• 3 – PNG
• 4 – JPG
戻り値
Integer 型。正常に終了した場合は 1 を返します。.tif ファイルの圧縮形
式をサポートしていない場合は -2 を返し、そのほかのエラーが発生し
た場合は -1 を返します。filename が null の場合、InsertPicture は null を
返します。
解説
範囲が選択されている場合、InsertPicture 関数は選択範囲の先頭に画像
を挿入します。画像と選択範囲は、選択されたままです。サポートし
ているファイルの種類は、.bmp、.wmf、.jpeg、.png、および .gif です。
LZW 圧縮形式を使用している場合のみ .tif ファイルもサポートします。
例
次に、リッチテキスト エディット コントロール rte_1 の挿入ポイント
に PNG ファイルを挿入する例を示します。PNG ファイルは、WMF 形
式で RTF ファイルに保存されます。
integer li_rtn
li_rtn = rte_1.InsertPicture("c:\windows\earth.png")
次に、リッチテキスト エディット コントロール rte_1 の挿入ポイント
に JPG ファイルを挿入する例を示します。JPG ファイルは、JPG 形式
で RTF ファイルに保存されます。
integer li_rtn
li_rtn = rte_1.InsertPicture("c:\windows\earth.jpg", 4)
関連項目
InputFieldInsert
InsertDocument
PowerScript リファレンス ボリューム 2
709
InsertSeries
InsertSeries
機能
グラフの指定された位置にデータ系列を挿入します。番号の連続性を
保つために、グラフの既存のデータ系列も含めて番号を付け直します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.InsertSeries ( seriesname, seriesnumber )
引数
controlname
seriesname
seriesnumber
戻り値
説明
データ系列を挿入するグラフ コントロールの名前を指定
します。
挿入するデータ系列の名前を含む文字列を指定します。
データ系列の名前は、グラフの中で固有でなければなりま
せん。
データ系列を挿入する位置の後ろにあるデータ系列の番
号を指定します。データ系列を最後に追加するには、0 を
指定します。
Integer 型。正常に終了した場合はデータ系列の番号を返し、エラーが
発生した場合は -1 を返します。seriesname というデータ系列がすでに
存在する場合は、既存のデータ系列の番号を返します。引数のいずれ
かの値が null の場合は、null を返します。
解説
データ系列の名前は、大文字と小文字が区別されます。したがって、
同じ文字列でも大文字と小文字が異なる場合には、それぞれ別の名前
とみなされます。
リストの最後にデータ系列を追加するには、AddSeries 関
数を使用します。AddSeries 関数は、挿入するデータ系列の名前だけを
引数とします。
別の記述方法
たとえば、次のようなステートメントがあるとします。
gr_data.InsertSeries("Costs", 0)
このステートメントは、次のステートメントと同じ意味です。
gr_data.AddSeries("Costs")
例
以下に、グラフ gr_product_data 内にある Income というデータ系列の前
に、データ系列を挿入するステートメントを示します。
integer SeriesNbr
// データ系列の番号を取得します。
710
PowerBuilder
第 10 章
PowerScript 関数
SeriesNbr = FindSeries("Income")
gr_product_data.InsertSeries("Costs", SeriesNbr)
関連項目
AddData
AddSeries
FindCategory
FindSeries
InsertCategory
InsertData
Int
機能
指定した数値以下の整数の中から、最大の整数を返します。
構文
Int ( n )
引数
n
説明
数値を指定します。指定された値以下の整数の中から、最
大の整数を返します。
戻り値
Integer 型。n に指定された値以下の整数の中から、最大の整数を返し
ます。n に指定された値が整数として表すのに小さすぎる場合や大き
すぎる場合、Int 関数は 0 を返します。n が null の場合、null を返します。
解説
Int 関数の結果の値が -32768 よりも小さい場合、または 32767 よりも大
きい場合には、整数として表すことができないので 0 を返します。
例
次のステートメントは、3.0 を返します。
Int(3.2)
Int(3.8)
次のステートメントは、-4.0 を返します。
Int(-3.2)
Int(-3.8)
次のステートメントは、指定された変数の小数点以下の桁を削除し、
その結果の整数を li_nbr に格納します。
integer li_nbr
li_nbr = Int(3.2) // li_nbr = 3
関連項目
Ceiling
Round
Truncate
PowerScript リファレンス ボリューム 2
711
Integer
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Int メソッド
Integer
機能
文字列の値を整数に変換します。または、Blob 型のデータから整数値
を取得します。
構文
Integer ( stringorblob )
引数
stringorblob
説明
Integer 型に変換する文字列、または最初の値が整数値であ
る Blob 型のデータを指定します。残りの Blob 型の値は無
視されます。Stringorblob には、文字列または Blob 型を含
む Any 型変数を指定することもできます。
戻り値
Integer 型。正常に終了した場合、stringorblob に指定された数値を整数
として返します。stringorblob が有効な数値でない場合、またはデータ
型が一致しない場合には、0 を返します。stringorblob が null の場合、
null を返します。
解説
値が数字の 0 である文字列と、値が数値以外である文字列とを区別す
るには、Integer 関数を呼び出す前に IsNumber 関数を使用します。
例
次のステートメントは、文字列 24 を整数として返します。
Integer("24")
次のステートメントは、シングルライン エディット コントロール sle_Age
の内容を整数として返します。
Integer(sle_Age.Text)
次のステートメントは、0 を返します。
Integer("3ABC") // 3ABC は数値ではありません。
次ので例は、変換する前に sle_data のテキストが数値かどうかテスト
します。このテストは、エンド ユーザが 0 を入力したかどうかを調べ
るために必要です。
integer li_new_data
IF IsNumber(sle_data.Text) THEN
li_new_data = Integer(sle_data.Text)
ELSE
SetNull(li_new_data)
712
PowerBuilder
第 10 章
PowerScript 関数
END IF
次の例では、データベースの Blob 型データを lb_blob に割り当てた後、
Blob 型データの位置 20 に格納されている Integer 型の値を取得します。
integer i
i = Integer(BlobMid(lb_blob, 20, 2))
関連項目
Double
Dec
IsNumber
Long
Real
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Integer メソッド
InternetData
機能
GetURL 関数や PostURL 関数が返した HTML データを処理します。コ
ンテキスト オブジェクトがこの関数を呼び出すので、ユーザが明示的
に呼び出す必要はありません。InternetRequest 標準クラス ユーザ オブ
ジェクトの子孫をカスタマイズして、この関数を上書きしてください。
対象
InternetResult オブジェクト
構文
servicereference.InternetData ( data )
引数
servicereference
data
戻り値
説明
インターネット サービス インスタンスへの参照を指定し
ます。
Blob 型データを指定します。ここに、GetURL 関数や
PostURL 関数が要求したデータがすべて格納されます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
InternetRequest の子孫であるユーザ オブジェクト内でこの関数を上書
きしてください。上書きした関数には、Blob 型の引数が 1 つ含まれて
いなければなりません。引数は値で渡されます。この関数は、Integer
型の戻り値を返し、data を適切に処理します。
PowerScript リファレンス ボリューム 2
713
IntHigh
明示的に呼び出さない
InternetData 関数は、明示的に呼び出さないでください。GetURL 関数と
PostURL 関数に含まれる引数は、インスタンス化した InternetRequest 子
孫を参照します。GetURL 関数と PostURL 関数が完了したら、コンテキ
スト オブジェクトが InternetData 関数を呼び出し、data に HTML を格
納して返します。
例
次の例は、上書きした InternetData 関数を使用して GetURL 関数が返し
たデータを表示するコードです。
MessageBox("GetURL からの HTML",
String(data, EncodingANSI!))
RETURN 1
&
blob は実際のデータを含み、エンコードされた Unicode ではありませ
ん。そのため、String 関数の EncodingANSI! 引数を使用する必要があり
ます。
関連項目
GetURL
PostURL
IntHigh
機能
Long 型の値の上位ワードを返します。
構文
IntHigh ( long )
引数
long
説明
Long 型の値を指定します。
戻り値
Integer 型。正常に終了した場合は long で指定された値の上位ワードを
返し、エラーが発生した場合は -1 を返します。long が null の場合、null
を返します。
解説
IntHigh 関数は、外部 C 関数や Windows のメッセージによって返される
値をデコードする場合に使用します。
例
次のステートメントは、Long 型の値 LValue を下位と上位の Integer に
デコードします。
integer nLow, nHigh
long LValue = 274489
nLow = IntLow (LValue)
714
// 下位 Integer は 12345 です。
PowerBuilder
第 10 章
PowerScript 関数
nHigh = IntHigh(LValue) // 上位 Integer は 4 です。
関連項目
IntLow
IntLow
機能
Long 型の値の下位ワードを返します。
構文
IntLow ( long )
引数
long
説明
Long 型の値を指定します。
戻り値
Integer 型。正常に終了した場合は long で指定された値の下位ワードを
返し、エラーが発生した場合は -1 を返します。long が null の場合、null
を返します。
解説
IntLow 関数は、外部 C 関数や Windows のメッセージによって返される
値をデコードする場合に使用します。
例
次のステートメントは、Long 型の値 LValue を下位と上位の Integer に
デコードします。
integer nLow, nHigh
long LValue = 12345
nLow = IntLow (LValue) // 下位 Integer は 12345 です。
nHigh = IntHigh(LValue) // 上位 Integer は 0 です。
関連項目
IntHigh
InvokePBFunction
機能
指定されたユーザ定義のウィンドウ関数を、PowerBuilder ウィンドウ
ActiveX コントロールに含まれるチャイルド ウィンドウで起動します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.InvokePBFunction ( name {, numarguments {, arguments } })
PowerScript リファレンス ボリューム 2
715
InvokePBFunction
引数
activexcontrol
name
numarguments
(オプション)
arguments
(オプション)
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子を指定します。HTML で使用する場合、これ
はオブジェクト要素の NAME 属性です。そのほかの環境
で使用する場合には、これは PowerBuilder ウィンドウ
ActiveX を含むコントロールを参照します。
String 型の値。ユーザ定義のウィンドウ関数の名前を指定
します。この引数は、参照渡しされます。
arguments 配列の構成要素の数値を指定する整数。デフォ
ルトは 0 です。
Variant 配列で、関数の引数を含みます。PowerBuilder では、
変数は Any データ型にマップされます。この引数は、参照
渡しされます。
この引数を指定すると、numarguments も指定しなければな
りません。この引数を指定せず、関数が arguments を含む
場合は、各引数に対して一度ずつ SetArgElement 関数を呼
び出して引数リストに値を与えます。
JavaScript は、この引数を使用できません。
戻り値
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
指定されたユーザ定義のウィンドウ関数を、PowerBuilder ウィンドウ
ActiveX コントロールに含まれるチャイルド ウィンドウで起動します。
PowerBuilder 関数の戻り値を確認するには、GetLastReturn 関数を呼び出
します。
JavaScript は、arguments 引数を使用できません。
例
次に、JavaScript で InvokePBFunction 関数を呼び出す例を示します。
function invokeFunc(f) {
var retcd;
var rc;
var numargs;
var theFunc;
var theArg;
retcd = 0;
numargs = 1;
theArg = f.textToPB.value;
PBRX1.SetArgElement(1, theArg);
theFunc = "of_args";
retcd = PBRX1.InvokePBFunction(theFunc, numargs);
rc = parseInt(PBRX1.GetLastReturn());
IF (rc != 1) {
716
PowerBuilder
第 10 章
PowerScript 関数
alert(" エラー。空の文字列です。");
}
PBRX1.ResetArgElements();
}
次に、VBScript で InvokePBFunction 関数を呼び出す例を示します。
Sub invokeFunction_OnClick()
Dim retcd
Dim myForm
Dim args(1)
Dim rc
Dim numargs
Dim theFunc
Dim rcfromfunc
retcd = 0
numargs = 1
rc = 0
theFunc = "of_args"
Set myForm = Document.buttonForm
args(0) = buttonForm.textToPB.value
retcd = PBRX1.InvokePBFunction(theFunc, &
numargs, args)
rc = PBRX1.GetLastReturn()
IF rc <> 1 THEN
msgbox " エラー。空の文字列です。"
END IF
PBRX1.ResetArgElements();
END sub
関連項目
GetLastReturn
SetArgElement
TriggerPBEvent
_Is_A
機能
CORBA オブジェクトが、特定のインタフェースを実装したクラスの
インスタンスかどうかをチェックします。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
CORBAObject オブジェクト
構文
corbaobject._Is_A ( classname )
PowerScript リファレンス ボリューム 2
717
IsAlive
引数
corbaobject
classname
説明
テストする CORBAObject 型のオブジェクトを指定します。
テストに使用されるインタフェースを指定します。
戻り値
Boolean 型。オブジェクトのクラスが指定されたインタフェースを実装
している場合は true を返し、そうでない場合は false を返します。
解説
_Narrow 関数への呼び出しを行う前に _Is_A 関数を呼び出すと、
CORBA
オブジェクトが、_Narrow 関数によってオブジェクトを限定するイン
タフェースを実装しているクラスのインスタンスであるかどうかを検
証することができます。
例
次の例では、CORBA オブジェクトの参照が、n_Bank_Account を実装し
ているクラスのインスタンスかどうかをチェックします。
CORBAObject my_corbaobj
n_Bank_Account my_account
...
...
if (my_corbaobj._is_a("n_Bank_Account")) then
my_corbaobj._narrow(my_account,"n_Bank_Account")
end if
my_account.withdraw(100.0)
関連項目
_Narrow
IsAlive
機能
サーバ オブジェクトが起動しているかどうかを評価します。
対象
OLEObject オブジェクト、OLETxnObject オブジェクト
構文
oleobject.IsAlive ( )
引数
oleobject
戻り値
718
説明
オートメーション サーバまたは COM オブジェクトに接続
されている OLEObject 変数または OLETxnObject 変数の名
前を指定します。
Boolean 型。サーバ オブジェクトが起動しているように見える場合は
true を返し、終了している場合は false を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
IsAlive 関数は、サーバ プロセスが終了しているかどうかを評価するの
に使用します。この関数は、ExternalException イベントと Error イベン
トによって提供されるエラー処理にかわるものではありません。これ
は、一定の間隔で、あるいは特定の操作の前に、サーバが実行中かど
うかをチェックして、実行時エラーを回避する手段を提供するもので
す。
IsAlive 関数が true を返しても、サーバは起動しているように見えるだ
けで、実際のステータスはマスクされています。特にサーバが別のコ
ンピュータ上で実行されている場合は、DCOM がキャッシュされた情
報を使ってサーバの状態を判断している可能性があるため、このよう
な状況が発生しやすくなります。false の戻り値は、常に、サーバが終
了していることを表します。
例
この例では、まず OLEObject 変数を作成します。次に、ConnectToNewObject
関数を呼び出して、PowerBuilder COM オブジェクトのインスタンスを
新しく作成し、これに接続します。一定の処理を行った後、さらに追
加の処理を実行する前に、サーバがまだ起動しているかどうかを
チェックします。
OLETxnObject EmpObj
Integer li_rc
EmpObj = CREATE OLEObject
li_rc = EmpObj.ConnectToNewObject("PB70COM.employee")
// COM オブジェクトに対する処理を実行します。
...
IF EmpObj.IsAlive()THEN
// 処理を続行します。
END IF
IsAllArabic
機能
指定された文字列に含まれる文字が、すべてアラビア文字かどうかを
テストします。
構文
IsAllArabic ( string )
引数
string
PowerScript リファレンス ボリューム 2
説明
文字列。含まれる文字がすべてアラビア文字かどうかをテ
ストします。
719
IsAllHebrew
戻り値
Boolean 型。string がすべてアラビア文字の場合には true を返し、そう
でない場合は false を返します。数字、空白文字、発音記号などが含ま
れる場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAllArabic に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name のデータがすべてア
ラビア文字で構成されている場合に true を返します。
IsAllArabic(sle_name.Text)
関連項目
IsAnyArabic
IsArabic
IsArabicAndNumbers
Reverse
IsAllHebrew
機能
指定された文字列に含まれる文字が、すべてヘブライ文字かどうかを
テストします。
構文
IsAllHebrew ( string )
引数
string
説明
文字列。含まれる文字がすべてヘブライ文字かどうかをテ
ストします。
戻り値
Boolean 型。string がすべてヘブライ文字の場合には true を返し、そう
でない場合は false を返します。数字、空白文字、発音記号などが含ま
れる場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAllHebrew に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name のデータがすべてヘ
ブライ文字で構成されている場合に true を返します。
IsAllHebrew(sle_name.Text)
関連項目
720
IsAnyHebrew
IsHebrew
IsHebrewAndNumbers
PowerBuilder
第 10 章
PowerScript 関数
Reverse
IsAnyArabic
機能
指定された文字列にアラビア文字が 1 文字以上含まれているかどうか
をテストします。
構文
IsAnyArabic ( string )
引数
string
説明
文字列。アラビア文字が 1 文字以上含まれるかどうかをテ
ストします。
戻り値
Boolean 型。string にアラビア文字が 1 文字以上含まれている場合には
true を返し、そうでない場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAnyArabic に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name にアラビア文字が 1
文字以上含まれている場合に true を返します。
IsAnyArabic(sle_name.Text)
関連項目
IsAllArabic
IsArabic
IsArabicAndNumbers
Reverse
IsAnyHebrew
機能
指定された文字列にヘブライ文字が 1 文字以上含まれているかどうか
をテストします。
構文
IsAnyHebrew ( string )
引数
string
PowerScript リファレンス ボリューム 2
説明
文字列。ヘブライ文字が 1 文字以上含まれるかどうかをテ
ストします。
721
IsArabic
戻り値
Boolean 型。string にヘブライ文字が 1 文字以上含まれている場合には
true を返し、そうでない場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAnyHebrew に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name にヘブライ文字が 1
文字以上含まれている場合に true を返します。
IsAnyHebrew(sle_name.Text)
関連項目
IsAllHebrew
IsHebrew
IsHebrewAndNumbers
Reverse
IsArabic
機能
指定された文字がアラビア文字であるかどうかをテストします。文字
列の場合は、左端の 1 文字だけをテストします。
構文
IsArabic ( character )
引数
character
説明
文字または文字列。アラビア文字かどうかをテストします。
戻り値
Boolean 型。character がアラビア文字の場合は true を返し、そうでない
場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsArabic に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name の最初の文字がアラ
ビア文字の場合に true を返します。
IsArabic(sle_name.Text)
関連項目
722
IsAllArabic
IsAnyArabic
IsArabicAndNumbers
Reverse
PowerBuilder
第 10 章
PowerScript 関数
IsArabicAndNumbers
機能
指定された文字列の文字がすべてアラビア文字または数字かどうかを
テストします。
構文
IsArabicAndNumbers ( string )
引数
string
説明
文字列。含まれる文字がすべてアラビア文字または数字で
あるかどうかをテストします。
戻り値
Boolean 型。string がすべてアラビア文字または数字の場合には true を
返し、そうでない場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsArabicAndNumbers に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name のデータがすべてア
ラビア文字と数字で構成されている場合に true を返します。
IsArabicAndNumbers(sle_name.Text)
関連項目
IsAllArabic
IsAnyArabic
IsArabic
Reverse
IsCallerInRole
機能
COM+ 上で動作する COM オブジェクトの直接の呼び出し元が指定さ
れた役割(個別、もしくはグループの一部として)を持っているかど
うかを示します。
対象
TransactionServer オブジェクト
構文
transactionserver.IsCallerInRole ( role )
引数
transactionserver
role
戻り値
説明
TransactionServer サービス インスタンスへの参照を指
定します。
役割の名前を含む String 型の式を指定します。
Boolean 型。直接の呼び出し元が指定された役割を持っていれば true を
返し、そうでない場合は false を返します。
PowerScript リファレンス ボリューム 2
723
IsCallerInRole
解説
COM+ において、役割とは、特定のユーザまたはユーザ グループのア
クセス権のセットを表します。たとえば、営業データベースにアクセ
スを提供するコンポーネントには、管理職と営業担当者に対してそれ
ぞれ異なる役割が用意されています。
コードの中で使用する場合は、特定の役割を持つユーザに限定された
タスクを行うコードを実行する前に、IsCallerInRole 関数を使って、現行
メソッドの呼び出し元がその役割に関連付けられているかどうかを評
価します。
IsCallerInRole 関数は、現行メソッドの直接の呼び出し元が、指定され
た役割を持っているかどうかを評価するだけです。直接の呼び出し元
は、クライアント プロセスかサーバ プロセスのいずれかになります。
パッケージは専用サーバ プロセスの中で実行すること
役割チェックをサポートするためには、COM+ パッケージを Library
パッケージではなく、Server パッケージとして起動する必要がありま
す。Server パッケージは、専用サーバ プロセスの中で実行されます。
Library パッケージは、作成者のプロセスの中で実行され、主としてデ
バッグに使用されます。
IsCallerInRole 関数は、セキュリティ チェックが有効になっている場合
のみ、意味のある値を返します。セキュリティ チェックは、COM ま
たは COM+ のプロジェクト ウィザードまたはプロジェクト ペインタ
で有効にすることができます。
例
次の例では、役割の名前を引数とし、Integer 型の値を返す関数
(f_checkrole)を呼び出します。この例の場合、管理職だけが 200,000 円
を超える発注を行うことができます。
integer rc
long ordervalue
IF ordervalue > 200,000 THEN
rc = f_checkrole("Manager")
IF rc <> 1
// 負の値を処理して終了します。
ELSE
// 処理を続行します。
END IF
END IF
724
PowerBuilder
第 10 章
PowerScript 関数
f_checkrole 関数は、まず、コンポーネントが COM+ 上で動作している
かどうかと、セキュリティ チェックが有効になっているかどうかを
チェックします。次に、直接の呼び出し元が、引数に指定された役割
を持っているかどうかをチェックします。いずれかのチェックに失敗
すると、負の値を返します。
TransactionServer ts
integer li_rc
string str_role
li_rc = GetContextService( "TransactionServer", ts)
// 必要であればエラーを処理します。
// COM+ 上で動作しているかどうかを調べます。
IF ts.which() <> 2 THEN RETURN -1
// セキュリティが有効になっているかどうかを調べます。
IF NOT ts.IsSecurityEnabled() THEN RETURN -2
// 呼び出し元が役割を持っているかどうかを調べます。
IF NOT ts.IsCallerInRole(str_role) THEN
RETURN -3
ELSE
RETURN 1
END IF
関連項目
ImpersonateClient
IsImpersonating
IsSecurityEnabled
RevertToSelf
IsDate
機能
文字列の値が有効な日付かどうかをテストします。
構文
IsDate ( datevalue )
引数
datevalue
戻り値
説明
String 型の値。有効な日付かどうかを確認する値を指定し
ます。
Boolean 型。datevalue が有効な日付の場合は true を返し、そうでない場
合は false を返します。datevalue が null の場合、IsDate は null を返します。
PowerScript リファレンス ボリューム 2
725
IsHebrew
解説
IsDate 関数を使用すると、エンド ユーザが入力したデータを Date 型の
データに変換する前に、有効な日付かどうかをテストすることができ
ます。ある値を日付の値に変換するには、Date 関数を使用します。西
暦の値は、01 から 9999 の範囲でなければなりません。
例
次のステートメントは、true を返します。
IsDate("Jan 1, 05")
次のステートメントは、false を返します。
IsDate("Jan 32, 2005")
シ ン グ ル ラ イ ン エ デ ィ ッ ト コ ン ト ロ ー ル sle_Date_Of_Hire の 値 が
"7/1/91" の場合、次のステートメントは HireDate に 1999-07-01 を格納
します。
Date HireDate
IF IsDate(sle_Date_Of_Hire.text) THEN
HireDate = Date(sle_Date_Of_Hire.text)
END IF
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsDate メソッド
IsHebrew
機能
指定された文字がヘブライ文字であるかどうかをテストします。文字
列の場合は、左端の 1 文字だけをテストします。
構文
IsHebrew ( character )
引数
character
説明
文字または文字列。ヘブライ文字かどうかをテストしま
す。
戻り値
Boolean 型。character がヘブライ文字の場合は true を返し、そうでない
場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsHebrew に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name の最初の文字がヘブ
ライ文字の場合に true を返します。
IsHebrew(sle_name.Text)
726
PowerBuilder
第 10 章
関連項目
PowerScript 関数
IsAllHebrew
IsAnyHebrew
IsHebrewAndNumbers
Reverse
IsHebrewAndNumbers
機能
指定された文字列の文字がすべてヘブライ文字または数字かどうかを
テストします。
構文
IsHebrewAndNumbers ( string )
引数
string
説明
文字列。含まれる文字がすべてヘブライ文字または数字で
あるかどうかをテストします。
戻り値
Boolean 型。string がすべてヘブライ文字または数字の場合には true を
返し、そうでない場合は false を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsHebrewAndNumbers に false が設定されます。
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name のデータがすべてヘ
ブライ文字と数字で構成されている場合に true を返します。
IsHebrewAndNumbers(sle_name.Text)
関連項目
IsAllHebrew
IsAnyHebrew
IsHebrew
Reverse
PowerScript リファレンス ボリューム 2
727
IsImpersonating
IsImpersonating
機能
COM+ 上で動作する COM オブジェクトがクライアントに同一化され
ているかどうかを問い合わせます。
対象
TransactionServer オブジェクト
構文
transactionserver.IsImpersonating ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Boolean 型。コンポーネントがクライアントに同一化されていれば true
を返し、そうでない場合は false を返します。
解説
COM+ 上で動作する COM オブジェクトは、ImpersonateClient 関数を
使って、クライアントのセキュリティ コンテキストで実行することが
できます。これによって、サーバ プロセスがクライアントと同じリ
ソ ー ス に ア ク セ ス で き る よ う に な り ま す。IsImpersonating 関 数 は、
ImpersonateClient 関数が呼び出され、これに対応する RevertToSelf 関数
が呼び出されていないかどうかを評価するのに使用します。
例
次の例では、まず TransactionServer サービスのインスタンスを作成し、
COM オブジェクトが現在クライアントのセキュリティ コンテキスト
で実行されているかどうかをチェックします。クライアントのセキュ
リティ コンテキストで実行されていない場合は、クライアントに同一
化させ、クライアントのセキュリティ コンテキストを使って一定の処
理を実行した後、このオブジェクトのセキュリティ コンテキストに戻
します。
TransactionServer txninfo_test
integer li_rc
li_rc = GetContextService( "TransactionServer",
txninfo_test )
IF NOT txninfo_test.IsImpersonating() THEN
txninfo_test.ImpersonateClient()
END IF
// クライアントとして処理を続行します。
txninfo_test.RevertToSelf()
関連項目
728
&
ImpersonateClient
IsCallerInRole
IsSecurityEnabled
RevertToSelf
PowerBuilder
第 10 章
PowerScript 関数
IsInTransaction
機能
コンポーネントがトランザクションの中で実行されているかどうかを
表します。
対象
TransactionServer オブジェクト
構文
transactionserver.IsInTransaction ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Boolean 型。コンポーネントがトランザクションの一部として実行され
ていれば true を返し、そうでない場合は false を返します。
解説
コンポーネントのメソッドでは、IsInTransaction 関数を呼び出して、こ
のメソッドがトランザクションの中で実行されているかどうかを評価
することができます。
transactional として宣言したコンポーネントのメソッドは、常にトラン
ザクションの一部として実行されます。
Supports Transaction のトランザクション タイプを持つコンポーネント
のメソッドは、このコンポーネントが基本クライアントによって直接
インスタンス化されているか、別のコンポーネントによってインスタ
ンス化されているかによって、EAServer トランザクションのコンテキ
スト上で実行されている場合と、そうでない場合があります。このよ
うなトランザクション タイプを持つコンポーネントでは、IsInTransaction
関数を使用して、コンポーネントがトランザクションの中で実行され
ているかどうかを評価することができます。
IsInTransaction 関数は、EAServer における isInTransaction トランザク
ション プリミティブに相当します。
例
次に、IsInTransaction 関数の使用例を示します。
TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", &
ts)
IF ts.IsInTransaction = TRUE THEN
// トランザクションのコンテキストに基づいてロジックを実行し
ます。
END IF
関連項目
EnableCommit
PowerScript リファレンス ボリューム 2
729
IsNull
IsTransactionAborted
Lookup
SetAbort
SetComplete
Which
IsNull
機能
変数または式の値が null かどうかを調べます。
構文
IsNull ( any )
引数
any
説明
変数または式を指定します。その値が null 値かどうかをテ
ストします。
戻り値
Boolean 型。any に指定した変数が null の場合は true を返し、そうでな
い場合は false を返します。
解説
IsNull 関数は、エンド ユーザが入力した値、またはデータベースの検
索によって読み込まれた値が null かどうかをテストする場合に使用し
ます。
データウィンドウに null 値を許さないカラムが 1 つまたは複数ある場
合、エンド ユーザがそのすべてのカラムにデータを入力するまでは更
新しません。開発者は IsNull 関数を使用してすべての行とカラムを 1 つ
ずつ調べるかわりに、FindRequired 関数を使用して null 値のままのカラ
ムが存在する行を見つけます。
変数を null に設定するには、SetNull 関数を
使用します。標準 PowerBuilder アプリケーションでは、SetNull 関数を
呼び出して明示的に変数に null を設定していない場合、その変数に対
する IsNull 関数の呼び出しは false を返します。
変数を null に設定するには
一般に、.NET アプリケーションの場合も同様です。ただし、変数が参
照タイプ(PowerObject 基本クラスから派生するタイプ)の場合、イン
スタンス化されたオブジェクトを割り当てることによって変数を初期
化 し て い な い 場 合、IsNull は true を 返 し ま す。以 下 の 例 は、標 準
PowerBuilder アプリケーションでは IsNull が false を返しますが、.NET
アプリケーションでは true を返します。
dataStore ds
boolean b
730
PowerBuilder
第 10 章
PowerScript 関数
b = IsNull(ds)
MessageBox("IsNull", string(b))
明示的に変数に null を設定している場合、標準アプリケーションと
.NET アプリケーションの両方で IsNull は true を返します。
SetNull(ds)
b = IsNull(ds)
MessageBox("IsNull", string(b))
標準アプリケーションと .NET アプリケーション間で一貫した動作を
確実に得るには、IsNull 関数のかわりに IsValid 関数を使用して、オブ
ジェクトがインスタンス化されているかどうかを確認してください。
以下の例では、標準アプリケーションと .NET アプリケーションの両
方で IsValid は false を返します。
dataStore ds
boolean b
b = IsValid(ds)
MessageBox("IsValid", string(b))
SetNull(ds)
b = IsValidl(ds)
MessageBox("IsValid", string(b))
例
次のステートメントは、lb_test に true を設定します。
integer a, b
boolean lb_test
SetNull(b)
lb_test = IsNull(a + b)
関連項目
IsValid
SetNull
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsNull メソッド
PowerScript リファレンス ボリューム 2
731
IsNumber
IsNumber
機能
文字列の値が数値かどうかを調べます。
構文
IsNumber ( string )
引数
string
戻り値
説明
String 型の値。PowerScript で有効な数値であるかどうかを
調べる値を指定します。
Boolean 型。string の値が PowerScript で有効な数値である場合は true を
返し、そうでない場合は false を返します。string が null の場合、null を
返します。
解説
IsNumber 関数を使用すると、エディット コントロールのテキストを数
値に変換できるかどうかをテストできます。
文字列を特定の数値型データに変換するには、Double 関数、Dec 関数、
Integer 関数、Long 関数、または Real 関数を使用します。
例
次のステートメントは、true を返します。
IsNumber("32.65")
次のステートメントは、false を返します。
IsNumber("A16")
シングルライン エディット コントロール sle_Age の値が 32 の場合、次
のステートメントは li_YearsOld に 32 を 格納します。
integer li_YearsOld
IF IsNumber(sle_Age.Text) THEN
li_YearsOld = Integer(sle_Age.Text)
END IF
関連項目
732
Double
Dec
Integer
Long
Real
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsNumber メソッド
PowerBuilder
第 10 章
PowerScript 関数
IsPreview
機能
リッチテキスト エディット コントロールがプレビュー モードで表示
されているかどうかを調べます。
対象
リッチテキスト エディット コントロール
構文
rtename.IsPreview ( )
引数
rtename
戻り値
説明
リッチテキスト エディット コントロールの名前。プレ
ビュー モードで表示されているかどうかを調べます。
Boolean 型。rtename がプレビュー モードで表示されている場合、true
を返します。データ入力モードで表示されている場合、false を返しま
す。
例
次の例では、リッチテキスト エディット コントロール rte_1 がプレ
ビュー モードで表示されていない場合、プレビュー モードに切り換え
て印刷します。
IF NOT rte_1.IsPreview() THEN
rte_1.Preview(TRUE)
rte_1.Print(1, "1-4", FALSE, TRUE)
END IF
関連項目
Preview
IsSecurityEnabled
機能
COM+ 上で動作する COM オブジェクトに対してセキュリティ チェッ
クが有効になっているかどうかを表します。
対象
TransactionServer オブジェクト
構文
transactionserver.IsSecurityEnabled ( )
引数
transactionserver
戻り値
説明
TransactionServer サービス インスタンスへの参照を指
定します。
Boolean 型。セキュリティ チェックが有効であれば true を返し、そう
でない場合は false を返します。
PowerScript リファレンス ボリューム 2
733
IsSecurityEnabled
解説
IsSecurityEnabled 関数は、現行の COM オブジェクトに対してセキュリ
ティ チェックが有効になっているかどうかをチェックするのに使用
します。
COM オブジェクトが作成者のプロセスの中で実行されている場合、
IsSecurityEnabled 関数は常に false を返します。
例
次の例では、セキュリティ チェックが有効になっているかどうかを
チェックし、有効になっていれば、呼び出しを完了する前に、直接の
呼び出し元が管理者の役割を持っているかどうかをチェックします。
TransactionServer ts
integer li_rc
string str_role = "Admin"
li_rc = GetContextService( "TransactionServer", &
ts)
// セキュリティが有効になっているかどうかを調べます。
IF ts.IsSecurityEnabled() THEN
// 呼び出し元が役割を持っているかどうかを調べます。
IF NOT ts.IsCallerInRole(str_role) THEN
// 呼び出しを完了しません。
ELSE
// 呼び出しを通常どおりに実行します。
END IF
ELSE
// セキュリティが有効になっていないため、
// 呼び出しを完了しません。
END IF
関連項目
734
ImpersonateClient
IsCallerInRole
IsImpersonating
RevertToSelf
PowerBuilder
第 10 章
PowerScript 関数
IsTime
機能
文字列の値が有効な時刻かどうかを調べます。
構文
IsTime ( timevalue )
引数
timevalue
説明
String 型の値。有効な時刻かどうかをテストする値を指定
します。
戻り値
Boolean 型。timevalue が有効な時刻の場合は true を返し、そうでない場
合は false を返します。timevalue が null の場合、null を返します。
解説
IsTime 関数を使用すると、エンド ユーザが編集可能なコントロールに
入力した値が有効な時刻かどうかをテストすることができます。
文字列を時刻の値に変換するには、データ型に対応した適切な Time 関
数を使用します。
例
次のステートメントは、true を返します。
IsTime("8:00:00 am")
次のステートメントは、false を返します。
IsTime("25:00")
シングルライン エディット コントロール sle_EndTime の値が 4:15 の場
合、次のステートメントは lt_QuitTime に 04:15:00 を格納します。
Time lt_QuitTime
IF IsTime sle_EndTime.Text) THEN
lt_QuitTime = Time(sle_EndTime.Text)
END IF
関連項目
Time
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsTime メソッド
PowerScript リファレンス ボリューム 2
735
IsTransactionAborted
IsTransactionAborted
機能
EAServer コンポーネントが参加している現行のトランザクションが中
止されているかどうかを評価します。
対象
TransactionServer オブジェクト
構文
transactionserver.IsTransactionAborted ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Boolean 型。現行のトランザクションが中止されていれば true を返し、
そうでない場合は false を返します。
解説
IsTransactionAborted 関数を使用すると、コンポーネントが、データベー
スへの更新を実行する前に、現行のトランザクションがまだ実行中で
あ る こ と を 確 認 す る こ と が で き ま す。IsTransactionAborted 関 数 は、
EAServer における isRollbackOnly トランザクション プリミティブに相
当します。
例
次の例では、トランザクションが中止されているかどうかをチェック
します。中止されていなければ、データベースを更新し、EnableCommit
関数を呼び出します。中止されていれば、DisableCommit 関数を呼び出
します。
// インスタンス変数:ids_datastore, ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
IF ts.IsTransactionAborted() = FALSE THEN
ll_rv = ids_datastore.Update()
IF ll_rv = 1 THEN
ts.EnableCommit()
ELSE
ts.DisableCommit()
END IF
END IF
関連項目
736
EnableCommit
IsInTransaction
Lookup
PowerBuilder
第 10 章
PowerScript 関数
SetAbort
SetComplete
Which
IsValid
機能
オブジェクトのインスタンスが作成されているかどうか(その値が有
効なオブジェクト ハンドルかどうか)を調べます。
構文
IsValid ( objectvariable )
引数
objectvariable
説明
オブジェクト変数または Any 型の変数。通常、有効性テス
トの対象となるオブジェクトへの参照を指定します。
戻り値
Boolean 型。objectvariable がインスタンス化されているオブジェクトの
場合は、true を返します。objectvariable がオブジェクトではない場合、
またはインスタンス化されていないオブジェクトの場合は、false を返
します。objectvariable が null の場合、null を返します。
解説
IsValid 関数は、ウィンドウが開かれているかどうかを調べるときに
Handle 関数のかわりに使用します。
例
次のステートメントは、ウィンドウ w_emp が開いているかどうかを判
定し、開いていない場合は開きます。
IF IsValid(w_emp) = FALSE THEN Open(w_emp)
次の例では、IsValid 関数が false を返すため、-1 を返します。objectvariable
は有効な引数ですが、インスタンス化されていないオブジェクトです。
la_value がインスタンス化されているオブジェクトである場合にのみ、
IsValid メソッドは true を返します。
any la_value
la_value = "I’m a string"
IF NOT IsValid(la_value) THEN return -1
関連項目
Handle
PowerScript リファレンス ボリューム 2
737
KeyDown
KeyDown
機能
エンド ユーザが、キーボード上の指定されたキーを押したかどうかを
調べ、その結果を返します。
構文
KeyDown ( keycode )
引数
keycode
説明
キーボードのキーを示す KeyCode カタログ データ型の
値、またはキーの ASCII コードを表す Integer 型の値を指
定します。すべての ASCII 値が認識されるわけではありま
せん。詳細については、以下の説明を参照してください。
また、「解説」の KeyCode 値の表も参照してください。
戻り値
Boolean 型。keycode に指定されたキーが押された場合は true を返し、そ
のキーが押されなかった場合は false を返します。keycode が null の場
合、null を返します。
解説
KeyDown 関数は、エンド ユーザが入力した文字を返すわけではありま
せん。KeyDown 関数を呼び出すスクリプトが記述されているイベント
が起動されたときに、エンド ユーザが特定のキーを押したかどうかを
調べ、その結果を返します。
イベント ウィンドウ内の Key イベントまたはコントロールの Keypress
イベントで KeyDown 関数を呼び出すと、エンド ユーザが特定のキーを
押したかどうかを判別できます。挿入ポイントが編集中の行にない限
り、エンド ユーザがキーを押すたびに Key イベントが発生します。エ
ンド ユーザがリピート機能のあるキーを押し続けると、Key イベント
が繰り返し発生します。コントロールの場合には、データウィンドウ
の pbm_keydown または pbm_dwnkey に対してユーザ イベントを定義す
ることができ、そのスクリプトで KeyDown 関数を呼び出します。
Clicked イベントなどのマウス イベントで KeyDown 関数を呼び出すと、
エンド ユーザが〔Ctrl〕などの修飾キーを押したかどうかを判断する
ことができます。
キーコード値と ASCII 値 KeyDown 関数では、大文字と小文字は区別さ
れず、〔Shift〕の状態も区別されません。たとえば、KeyA! は A キーを
参照します。この場合、エンド ユーザは "A" か "a" を押した可能性が
あります。Key9! は、"9" と ")" の両方を参照します。このような場合に
は、修飾キーも押されたかどうかをテストする必要があります。
KeyDown 関数は、
〔Caps Lock〕などのトグル キーがオンの状態である
かどうかを判断せずに、エンド ユーザがそのキーを押しているかどう
かだけを判断します。
738
PowerBuilder
第 10 章
PowerScript 関数
KeyDown 関 数 は、ASCII コ ー ド の 65-90(KeyA!- KeyZ!)と 48-57
(Key0!-Key9!)の範囲の値だけを検出します。この範囲の ASCII 値を指
定すると、そのキーが押されたかどうかと、エンド ユーザが〔Shift〕
または〔Caps Lock〕も押したかどうかを調べます。KeyDown 関数では、
ほかの ASCII 値(小文字を表す 97-122 の値など)は検出されません。
次の表は、キーコード値をキーの種類別に示したものです。一部のキー
については、キー名も説明しています。
表 0-5: キーボードのキーの KeyCode 値
キーの種類
マウスのボタン
英字
ほかの記号キー
印刷不可文字
ファンクション
キー
コントロールキー
PowerScript リファレンス ボリューム 2
キーコード値
KeyLeftButton! マウスの左ボタン
KeyMiddleButton! マウスの中央ボタン
KeyRightButton! マウスの右ボタン
KeyA! - KeyZ! A - Z(大文字、小文字)
KeyQuote! ' と "
KeyEqual! = と +
KeyComma! , と <
KeyDash! - と _
KeyPeriod! . と >
KeySlash! / と ?
KeyBackQuote! ` と ~
KeyLeftBracket! [ と {
KeyBackSlash! \ と |
KeyRightBracket! ] と }
KeySemiColon! ; と :
KeyBack! バックスペース
KeyTab!
KeyEnter!
KeySpaceBar!
KeyF1! - KeyF12! 〔F1〕~〔F12〕
KeyShift!
KeyControl!
KeyAlt!
KeyPause!
KeyCapsLock!
KeyEscape!
KeyPrintScreen!
KeyInsert!
KeyDelete!
739
KeyDown
キーの種類
ナビゲーション
キー
数字キーと記号
キー
テンキーの数字
キー
テンキーの記号
キー
例
キーコード値
KeyPageUp!
KeyPageDown!
KeyEnd!
KeyHome!
KeyLeftArrow!
KeyUpArrow!
KeyRightArrow!
KeyDownArrow!
Key0! 0 と )
Key1! 1 と !
Key2! 2 と @
Key3! 3 と #
Key4! 4 と $
Key5! 5 と %
Key6! 6 と ^
Key7! 7 と &
Key8! 8 と *
Key9! 9 と (
KeyNumpad0! - KeyNumpad9! テンキーの 0 ~ 9
KeyMultiply! テンキーの *
KeyAdd! テンキーの +
KeySubtract! テンキーの KeyDecimal! テンキーの .
KeyDivide! テンキーの /
KeyNumLock!
KeyScrollLock!
次のステートメントは、エンド ユーザが〔F1〕または〔Ctrl〕を押し
たかどうかを確認し、押されたキーに対応する処理を実行します。
IF KeyDown(KeyF1!) THEN
. . . // 〔F1〕が押されたときに実行する処理
ELSEIF KeyDown(KeyControl!) THEN
. . . // 〔Ctrl〕が押されたときに実行する処理
END IF
次のステートメントは、エンド ユーザが〔Tab〕、
〔Enter〕、下矢印、上矢
印、
〔Page Down〕、
〔Page Up〕
のどのキーを押したかを示す値を返します。
IF (KeyDown(KeyTab!) OR KeyDown(KeyEnter!) OR &
KeyDown(KeyDownArrow!) OR KeyDown(KeyUpArrow!) &
OR KeyDown(KeyPageDown!) OR
KeyDown(KeyPageUp!))&
THEN ...
740
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、エンド ユーザが〔A〕
(ASCII コード "65")を
押したかどうかを調べます。
IF KeyDown(65) THEN ...
次のステートメントは、エンド ユーザが〔Shift〕と〔A〕を押したか
どうかを調べます。
IF KeyDown(65) AND KeyDown(KeyShift!) THEN ...
次のステートメントは、Clicked イベントでの使用例です。
〔Shift〕も
押されたかどうかを調べます。
IF KeyDown(KeyShift!) THEN ...
LastPos
機能
対象文字列内で、検索文字列が最後に検索される位置を特定します。
構文
LastPos ( string1, string2 {, searchlength } )
引数
string1
string2
searchlength
(オプション)
戻り値
説明
取得する文字列 string2 を含む文字列を指定します。
string1 から検索する文字列を指定します。
Long 型の値。対象文字列 string1 の左端から searchlength 文
字に検索範囲を制限します。特に指定しない限り、文字列
全体が対象になります。
Long 型。searchlength で指定された文字内の string1 の中で最後に検索
された string2 の先頭の文字位置を表す値を返します。また、string1 の
中から string2 が検索されない場合や searchlength が 0 の場合は、0 を
返します。引数のいずれかの値が null の場合、null を返します。
解説
LastPos 関数は、英文字の大文字と小文字を区別します。対象文字列内
で検索する文字列全体が見つかることが必要です。
例
次のステートメントは 6 を返します。これは、最後に見つかった RU
の位置が 6 であるためです。
LastPos("BABE RUTH", "RU")
次のステートメントは、3 を返します。
LastPos("BABE RUTH", "B")
PowerScript リファレンス ボリューム 2
741
LastPos
次のステートメントは 0 を返します。これは、大文字と小文字の組み
合わせが一致しないためです。
LastPos("BABE RUTH", "be")
次のステートメントは左端から 4 文字を検索して、0 を返します。こ
れは、唯一見つかる RU の位置が 4 以降にあるためです。最後に見つ
かる RU の先頭位置を示す 6 を返すには、左端から少なくとも 7 文字
(文字列 "RU" 全体を含む)を検索する必要があります。
LastPos("BABE RUTH", "RU", 4)
次の例は、シングルライン エディットである sle_group の中の "NY" と
いう文字列を変更します。最後のテキスト "NY" を "North East" に変更
します。
long place_nbr
place_nbr = LastPos(sle_group.Text, "NY")
sle_group.SelectText(place_nbr, 2 )
sle_group.ReplaceText("North East")
次の例で、GetBandAtPointer 関数の戻り値は、タブで区域名と行番号に
分割されています。LastPos 関数は文字列中の(最後の)タブの位置を
検索し、Left 関数と Mid 関数はタブの左側と右側にある情報をそれぞれ
取り出します。
string s, ls_left, ls_right
integer li_tab
s = dw_groups.GetBandAtPointer()
li_tab = LastPos(s, "~t")
ls_left = Left(s, li_tab - 1)
ls_right = Mid(s, li_tab + 1)
次のステートメントは、対象文字列を末尾側からトークン化します。
// 対象文字列を末尾側からトークン化
// 結果は "pbsyc110.dll powerbuilder
// shared sybase programs c:" になる
string sSource = &
'c:\programs\sybase\shared\powerbuilder\pbsyc110.dll'
string sFind
= '\'
string sToken
long llStart, llEnd
llEnd = Len(sSource) + 1
742
PowerBuilder
第 10 章
PowerScript 関数
DO
llStart = LastPos(sSource, sFind, llEnd)
sToken = Mid(sSource, (llStart + 1), &
(llEnd - llStart))
mle_comment.text += sToken + ' '
llEnd = llStart - 1
LOOP WHILE llStart > 1
関連項目
Pos
LastPosW
機能
対象文字列内で、検索文字列が最後に検索される位置を特定します。
この関数は、将来サポートされなくなります。動作は、すべての環境
で LastPos 関数と同じです。
構文
LastPosw ( string1, string2 {, searchlenth } )
Left
機能
文字列の左端から、指定された文字数分の文字列を取り出して返します。
構文
Left ( string, n )
引数
string
n
戻り値
説明
検索する文字列を指定します。
Long 型の値。取得する文字数を指定します。
String 型。正常に終了した場合、string に指定された文字列内の左端か
ら n 文字分を返します。エラーが発生した場合、空の文字列("")を
返します。引数のいずれかの値が null の場合は、null を返します。n が
文字列の長さ以上の場合、Left 関数はすべての文字列を返します。ただ
し、戻り値の文字数を n と同じにするために、スペースを追加するこ
とはありません。
例
次のステートメントは、"BABE" を返します。
Left("BABE RUTH", 4)
次のステートメントは、"BABE RUTH" を返します。
Left("BABE RUTH", 40)
PowerScript リファレンス ボリューム 2
743
LeftA
次のステートメントは、シングルライン エディット コントロール
sle_address 内のテキストの先頭から 40 文字分を emp_address に格納し
ます。
string emp_address
emp_address = Left(sle_address.Text, 40)
Left 関数を使用してタブで区切られた 2 つの値を解析する例について
は、Pos 関数を参照してください。
関連項目
Mid
Pos
Right
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Left メソッド
LeftA
機能
現行のロケールに基づいて文字列を Unicode から DBCS に一時的に変
換し、その文字列の左端から、指定されたバイト数分の文字列を返し
ます。
構文
LeftA (string, n)
引数
string
n
説明
文字列を指定します。指定された文字列を左から右に検索
します。
返す文字列のバイト数を Long 型で指定します。
戻り値
String 型。正常に終了した場合、ソース文字列の左端から n バイト分の
文字列を返します。エラーが発生した場合、空の文字列("")を返し
ます。引数のいずれかの値が null の場合は、null を返します。n が文字
列の長さ以上の場合、LeftA 関数はすべての文字列を返します。ただし、
戻り値の文字数を n と同じにするために、スペースを追加することは
ありません。
解説
LeftA 関数は、PowerBuilder 9 の DBCS 環境 における Left 関数の機能に
置き換わるものです。
SBCS 環境の場合、Left、
LeftW、
および LeftA 関数は同じ結果を返します。
744
PowerBuilder
第 10 章
PowerScript 関数
LeftC
機能
文字列の左端から、指定されたバイト数の文字列を取り出して返しま
す。取り出される文字列の終端によって 2 バイト文字が分割される場
合、その前の文字までの文字列を返します。この関数は、サポートさ
れなくなります。
構文
LeftC ( string, n )
LeftW
機能
文字列の左端から、指定された文字数分の文字列を取り出して返しま
す。この関数は、サポートされなくなります。動作は、すべての環境
で Left 関数と同じです。
構文
LeftW ( string, n )
LeftTrim
機能
文字列の左端からスペースを削除します。
構文
LeftTrim ( string {, removeallspaces } )
引数
string
removeallspaces
戻り値
説明
左端からスペースを削除する文字列を指定します。
Boolean 型の値。全種類のスペースの削除を指定します。
String 型。正常に終了した場合、string の左端からスペースを削除した
文字列を返します。エラーが発生した場合、空の文字列("")を返し
ます。また、string が null の場合、null を返します。
解説
オプションの removeallspaces 引数を指定しないか、またはこの引数の
値 に false を 設 定 し た 場 合、文 字 列 か ら ス ペ ー ス 文 字(U+0020 と
U+3000)のみが除去されます。
removeallspaces 引数に true を設定した場合、全種類のスペース文字が
除去されます。
空白文字のリストを以下に示します。
CHARACTER TABULATION (U+0009)
PowerScript リファレンス ボリューム 2
745
LeftTrim
LINE FEED (U+000A)
LINE TABULATION (U+000B)
FORM FEED (U+000C)
CARRIAGE RETURN (U+000D)
SPACE (U+0020)
NO-BREAK SPACE (U+00A0)
EN QUAD (U+2000)
EM QUAD (U+2001)
EN SPACE (U+2002)
EM SPACE (U+2003)
THREE-PER-EM SPACE (U+2004)
FOUR-PER-EM SPACE (U+2005)
SIX-PER-EM SPACE (U+2006)
FIGURE SPACE (U+2007)
PUNCTUATION SPACE (U+2008)
THIN SPACE (U+2009)
HAIR SPACE (U+200A)
ZERO WIDTH SPACE (U+200B)
IDEOGRAPHIC SPACE (U+3000)
ZERO WIDTH NO-BREAK SPACE (U+FEFF)
例
次のステートメントは、左端のスペースがすべてスペース文字の場合
に RUTH を返します。
LeftTrim(" RUTH")
次のステートメントは、左端のスペースにほかの種類のスペース文字
(タブ文字など)が含まれている場合に RUTH を返します。
LeftTrim(" RUTH", true)
次のステートメントは、マルチライン エディット コントロール mle_name
内のテキストから先頭のスペースを削除して emp_name に格納しま
す。
string emp_name
emp_name = LeftTrim(mle_name.Text)
関連項目
746
RightTrim
Trim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの LeftTrim メソッド
PowerBuilder
第 10 章
PowerScript 関数
LeftTrimW
機能
文字列の左端からスペースを削除します。この関数は、サポートされ
なくなります。動作は、すべての環境で LeftTrim 関数と同じです。
構文
LeftTrimW ( string )
Len
機能
指定した文字列や Blob 型データの長さを返します。
構文
Len ( stringorblob )
引数
stringorblob
戻り値
説明
バイト数を求める文字列や、バイト数を求める Blob 型の
データを指定します。
Long 型。正常に終了した場合、stringorblob で指定した文字列または
Blob 型のデータの長さを表す Long 型の値を返します。エラーが発生
した場合、-1 を返します。stringorblob が null の場合、null を返します。
解説
Len は、文字列の文字数を調べます。文字列の最後の null は数えられま
せん。
Blob 型の変数宣言でサイズを指定した場合、Len 関数はそのサイズを
返します。Blob 型のサイズを指定しないと、Len 関数は、最初に Blob
型の長さを 0 として返します。Blob のサイズは、データを Blob 型に割
り当てたときに初めて設定されます。Len 関数は Blob 型の長さを格納
可能なバイト数で返します。
例
次のステートメントは、0 を返します。
Len("")
次のステートメントは、シングルライン エディット コントロール
sle_address 内のテキストの文字列の文字数を変数 s_address_len に格納
します。
long s_address_len
s_address_len = Len(sle_address.Text)
以下の例では、Blob 型の変数の長さが宣言に依存することを示してい
ます。
PowerScript リファレンス ボリューム 2
747
LenA
最初の例では、ib_blob というインスタンス変数が宣言されています
が、そのサイズは初期化されていません。データが ib_blob に割り当て
られる前に Len 関数を呼び出すと、Len 関数は 0 を返します。データが
割り当てられた後で、Len 関数は Blob 型データの長さを返します。
インスタンス変数を宣言します。
blob ib_blob
例を示します。
long ll_len
ll_len = Len(ib_blob) // ll_len は 0 です。
ib_blob = Blob( "Test String")
ll_len = Len(ib_blob) // ll_len は 22 です。
2 番目の例では、インスタンス変数 ib_blib は長さ 100 で宣言されてま
す。ib_blob に対して Len 関数を呼び出すと、常に 100 が返されます。
この例では、データのサイズがすでに決定されているので、Blob 関数
ではなく BlobEdit 関数を使用してデータを Blob 型に割り当てていま
す。インスタンス変数を宣言します。
blob{100} ib_blob
例を示します。
long ll_len
ll_len = Len(ib_blob) // ll_len は 100 です。
BlobEdit(ib_blob, 1, "Test String")
ll_len = Len(ib_blob) // ll_len は 100 です。
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Len メソッド
LenA
機能
引数が文字列の場合、現行のロケールに基づいて文字列を Unicode か
ら DBCS に一時的に変換し、その長さをバイト数で返します。引数が
Blob 型の場合、変換は行われません。
構文
LenA (stringorblob)
引数
stringorblob
748
説明
バイト数を求める文字列または Blob 型データを指定しま
す。
PowerBuilder
第 10 章
戻り値
PowerScript 関数
Long 型。正常に終了した場合、stringorblob で指定した文字列または
Blob 型のデータの長さを表す Long 型の値を返します。エラーが発生
した場合、-1 を返します。stringorblob が null の場合、null を返します。
解説
LenA 関数は、PowerBuilder 9 の DBCS 環境 における Len 関数の機能に
代わるものです。
SBCS 環境の場合、Len、LenW、および LenA 関数は同じ結果を返します。
Blob 型の変数宣言でサイズを指定した場合、LenA 関数はそのサイズを
返します。Blob 型のサイズを指定しないと、LenA 関数は、最初に Blob
型の長さを 0 として返します。Blob のサイズは、データを Blob 型に割
り当てたときに初めて設定されます。LenA 関数は、Blob 型の長さを格
納可能なバイト数で返します。
LenW
機能
指定した文字列や Blob 型データの長さを返します。この関数は、サ
ポートされなくなります。動作は、すべての環境で Len 関数と同じで
す。
構文
LenW ( stringorblob )
Length
機能
開いている OLEStream オブジェクトの大きさをバイト数で取得しま
す。
Len 関数
文字列や Blob 型データの長さを取得するには、Len 関数を使用します。
対象
OLEStream オブジェクト
構文
olestream.Length ( sizevar )
引数
olestream
sizevar
PowerScript リファレンス ボリューム 2
説明
開いている OLEStream 変数の名前を指定します。
Length によって olestream の大きさを格納する Long 型の変
数を指定します。
749
LibraryCreate
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ストリームが開かれていません。
そのほかのエラーです。
引数のいずれかの値が null の場合は、null を返します。
例
次の例は、MYSTUFF.OLE ファイルで OLE オブジェクトを開き、
OLEStorage オブジェクト stg_stuff に代入します。次に、stg_stuff のス
トリーム info を開き、ストリーム オブジェクト olestr_info に割り当て
ます。最後に、ストリームの長さを変数 info_len に格納します。
この例では、関数の戻り値をチェックしていませんが、実際のスクリ
プトでは必ず戻り値をチェックしてください。
boolean lb_memexists
OLEStorage stg_stuff
OLEStream olestr_info
long info_len
stg_stuff = CREATE oleStorage
stg_stuff.Open("c:\ole2\mystuff.ole")
olestr_info.Open(stg_stuff, "info", &
stgRead!, stgExclusive!)
olestr_info.Length(info_len)
関連項目
Open
Read
Seek
Write
LibraryCreate
機能
オプションのコメントを持つ空の PowerBuilder ライブラリを作成しま
す。
構文
LibraryCreate ( libraryname {, comments } )
引数
libraryname
750
説明
String 型の値。作成する PowerBuilder ライブラリの名前を
指定します。ライブラリを現行のディレクトリ以外の位置
に作成する場合、絶対パス名を入力します。
PowerBuilder
第 10 章
引数
comments
(オプション)
PowerScript 関数
説明
String 型の値。ライブラリに関連付けるコメントを指定し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
解説
libraryname でディレクトリのパスが指定されない場合、LibraryCreate 関
数は現行のディレクトリに PowerBuilder ライブラリ ファイル(.PBL)
を作成します。拡張子が指定されていない場合、拡張子 PBL を追加し
ます。
例
次のステートメントは、Windows NT で、C ドライブの PB ディレクト
リに dwTemp という名前のライブラリを作成し、そのライブラリにコ
メントを付けています。
LibraryCreate("c:\pb\dwTemp.pbl", &
"Temporary library for dynamic DataWindows")
関連項目
LibraryDelete
LibraryDirectory
LibraryExport
LibraryImport
LibraryDelete
機能
ライブラリ ファイルを削除します。データウィンドウ オブジェクトを
指定した場合、ライブラリからデータウィンドウ オブジェクトを削除
します。
構文
LibraryDelete ( libraryname {, objectname, objecttype } )
引数
libraryname
objectname
(オプション)
PowerScript リファレンス ボリューム 2
説明
String 型の値。削除する PowerBuilder ライブラリの名前、
または削除するデータウィンドウ オブジェクトが含まれ
ている PowerBuilder ライブラリの名前を指定します。絶対
パス名が指定されていない場合、LibraryDelete 関数はシス
テムの標準のファイル検索方法でファイルを検索します。
String 型の値。libraryname で指定されたライブラリから削
除するデータウィンドウ オブジェクトの名前を指定しま
す。
751
LibraryDirectory
引数
objecttype
(オプション)
説明
LibImportType カタログデータ型の値。削除するオブジェ
クトの型を指定します。現在サポートされているオブジェ
クト型は、ImportDataWindow! だけです。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合は、null を返します。
解説
スクリプトで LibraryDelete 関数を呼び出して、ライブラリからデータ
ウィンドウ オブジェクトを削除することができます。データウィンド
ウ以外のオブジェクトを削除するには、ライブラリ ペインタを使用し
ます。
例
次のステートメントは、現行のディレクトリの現行のアプリケーショ
ン ライブラリ パスにある dwTemp というライブラリを削除します。
LibraryDelete("dwTemp.pbl")
関連項目
LibraryCreate
LibraryDirectory
LibraryExport
LibraryImport
LibraryDirectory
機能
PowerBuilder ライブラリ内のオブジェクトのリストを取得します。取
得できる情報は、オブジェクト名、最後に修正が行われた日時、およ
びオブジェクトに対するコメントです。すべてのオブジェクトのリス
トまたは特定のオブジェクトのリストを取得することができます。
構文
LibraryDirectory ( libraryname, objecttype )
引数
libraryname
752
説明
String 型の値。オブジェクトをリストする PowerBuilder ラ
イブラリの名前を指定します。絶対パス名が指定されてい
ない場合、LibraryDirectory 関数はシステムの標準のファイ
ル検索方法でファイルを検索します。
PowerBuilder
第 10 章
引数
objecttype
PowerScript 関数
説明
LibDirType カタログ データ型の値。リスト内に表示するオ
ブジェクトの型を指定します。次のいずれかの値を指定し
ます。
• DirAll! - すべてのオブジェクト
• DirApplication! - アプリケーション オブジェクト
• DirDataWindow! - データウィンドウ オブジェクト
• DirFunction! - 関数オブジェクト
• DirMenu! - メニュー オブジェクト
• DirPipeline! - パイプライン オブジェクト
• DirProject! - プロジェクトオブジェクト
• DirQuery! - クエリ オブジェクト
• DirStructure! - 構造体オブジェクト
• DirUserObject! - ユーザ オブジェクト
• DirWindow! - ウィンドウ オブジェクト
戻り値
String 型。LibraryDirectory 関数は、1 つのオブジェクトを 1 行で表したリ
ストを返します。各行のデータは、次のようにタブで区切られます。
name ~t date/time modified ~t comments ~n
エラーが発生した場合、空の文字列("")を返します。引数のいずれ
かの値が null の場合、null を返します。
解説
1 つ目の引数として PBD ファイルを指定して LibraryDirectory 関数を呼
び出した場合、PBD ファイルにはコメントが含まれていないため、コ
メントが表示されません。
LibraryDirectory 関数が返した文字列を ImportString 関数に渡して、データ
ウィンドウ コントロールにオブジェクトのリストを表示することが
できます。そのデータウィンドウには、3 つの文字列カラムが含まれ
ていることが必要です。3 つのカラムは渡されたデータを格納するの
に十分な大きさでなければなりません。大きさが十分でない場合、無
効となりエラーが発生します。
オブジェクトのデータ型を返すには、LibraryDirectoryEx 関数を使用しま
す。
タブで区切られたデータの解析方法については、Pos 関数を参照して
ください。
例
次のステートメントは、返された文字列を データウィンドウ コント
ロール dw_list にインポートし、dw_list を作成します。データウィンド
ウは、外部ソースと 3 つの文字列カラムを持っています。
PowerScript リファレンス ボリューム 2
753
LibraryDirectoryEx
String ls_entries
ls_entries = LibraryDirectory( &
"c:\pb\dwTemp.pbl", DirUserObject!)
dw_list.SetRedraw(FALSE)
dw_list.Reset( )
dw_list.ImportString(ls_Entries)
dw_list.SetRedraw(TRUE)
関連項目
ImportString
LibraryCreate
LibraryDelete
LibraryDirectoryEx
LibraryExport
LibraryImport
LibraryDirectoryEx
機能
PowerBuilder ライブラリ内のオブジェクトのリストを取得します。取
得できる情報は、オブジェクト名、最後に修正が行われた日時、オブ
ジェクトに対するコメント、およびオブジェクトのデータ型です。す
べてのオブジェクトのリストまたは特定のオブジェクトのリストを取
得することができます。
構文
LibraryDirectoryEx ( libraryname, objecttype )
引数
libraryname
754
説明
String 型の値。オブジェクトをリストする PowerBuilder ラ
イブラリの名前を指定します。絶対パス名が指定されてい
ない場合、システムの標準のファイル検索方法でファイル
を検索します。
PowerBuilder
第 10 章
引数
objecttype
PowerScript 関数
説明
LibDirType カタログ データ型の値。リスト内に表示するオ
ブジェクトの型を指定します。次のいずれかの値を指定し
ます。
• DirAll! - すべてのオブジェクト
• DirApplication! - アプリケーション オブジェクト
• DirDataWindow! - データウィンドウ オブジェクト
• DirFunction! - 関数オブジェクト
• DirMenu! - メニュー オブジェクト
• DirPipeline! - パイプライン オブジェクト
• DirProject! - プロジェクトオブジェクト
• DirQuery! - クエリ オブジェクト
• DirStructure! - 構造体オブジェクト
• DirUserObject! - ユーザ オブジェクト
• DirWindow! - ウィンドウ オブジェクト
戻り値
String 型。LibraryDirectoryEx 関数は、1 つのオブジェクトを 1 行で表した
リストを返します。各行のデータは、次のようにタブで区切られます。
name ~t date/time modified ~t comments ~t type~n
エラーが発生した場合、空の文字列("")を返します。引数のいずれ
かの値が null の場合、null を返します。
解説
1 つ目の引数として PBD ファイルを指定して LibraryDirectoryEx 関数を
呼び出した場合、PBD ファイルにはコメントが含まれていないため、
コメントが表示されません。
LibraryDirectoryEx 関数が返した文字列を ImportString 関数に渡して、デー
タウィンドウ コントロールにオブジェクトのリストを表示すること
ができます。そのデータウィンドウには、4 つの文字列カラムが含ま
れていることが必要です。4 つのカラムは渡されたデータを格納する
のに十分な大きさでなければなりません。大きさが十分でない場合、
無効となりエラーが発生します。
オブジェクトのデータ型を返す必要がなければ、LibraryDirectory 関数を
使用できます。
タブで区切られたデータの解析方法については、Pos または LastPos を
参照してください。
例
次のステートメントは、返された文字列を データウィンドウ コント
ロール dw_list にインポートし、dw_list を作成します。データウィンド
ウは、外部ソースと 4 つの文字列カラムを持っています。
PowerScript リファレンス ボリューム 2
755
LibraryExport
String ls_entries
ls_entries = LibraryDirectoryEx( &
"c:\pb\dwTemp.pbl", DirUserObject!)
dw_list.SetRedraw(FALSE)
dw_list.Reset( )
dw_list.ImportString(ls_Entries)
dw_list.SetRedraw(TRUE)
関連項目
ImportString
LibraryCreate
LibraryDelete
LibraryDirectory
LibraryExport
LibraryImport
LibraryExport
機能
ライブラリからオブジェクトをエクスポートします。オブジェクトの
構文がエクスポートされます。
構文
LibraryExport ( libraryname, objectname, objecttype )
引数
libraryname
objectname
756
説明
String 型の値。オブジェクトをエクスポートする
PowerBuilder ライブラリの名前を指定します。絶対パス名
が指定されていない場合、システムの標準のファイル検
索方法でファイルを検索します。
String 型の値。エクスポートするオブジェクトの名前を指
定します。
PowerBuilder
第 10 章
引数
objecttype
PowerScript 関数
説明
LibExportType カタログ データ型の値。エクスポートする
オブジェクトの型を指定します。
• ExportApplication! - アプリケーション オブジェクト
• ExportDataWindow! - データウィンドウ オブジェクト
• ExportFunction! - 関数オブジェクト
• ExportMenu! - メニュー オブジェクト
• ExportPipeline! - パイプライン オブジェクト
• ExportProject! - プロジェクトオブジェクト
• ExportQuery! - クエリ オブジェクト
• ExportStructure! - 構造体オブジェクト
• ExportUserObject! - ユーザ オブジェクト
• ExportWindow! - ウィンドウ オブジェクト
戻り値
String 型。正常に終了した場合、指定されたオブジェクトの構文を返し
ます。返される構文は、ライブラリ ペインタ内のオブジェクトをエク
スポートした場合(エクスポート ヘッダが存在しない場合は除く)に
返される構文と同じものです。エラーが発生した場合、空の文字列("")
を返します。引数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、dwTemp というライブラリからデータウィン
ドウ オブジェクト dw_emp をエクスポートし、データウィンドウ オブ
ジェクトの構文を文字列変数 ls_dwsyn に代入します。次に、その変数
を使用してデータウィンドウを作成します。
String ls_dwsyn, ls_errors
ls_dwsyn = LibraryExport("c:\pb\dwTemp.pbl", &
"d_emp", ExportDataWindow!)
dw_1.Create(ls_dwsyn, ls_errors)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Create メソッド
LibraryCreate
LibraryDelete
LibraryDirectory
LibraryImport
PowerScript リファレンス ボリューム 2
757
LibraryImport
LibraryImport
機能
ライブラリにオブジェクトをインポートします。テキスト形式で記述
されたデータウィンドウ オブジェクトの構文を使用して、ライブラリ
にオブジェクトを作成します。
構文
LibraryImport ( libraryname, objectname, objecttype, syntax, errors
{, comments } )
引数
libraryname
objectname
objecttype
syntax
errors
comments
(オプション)
説明
String 型の値。エントリをインポートする PowerBuilder ラ
イブラリの名前を指定します。絶対パス名が指定されてい
ない場合、システムの標準のファイル検索方法でファイル
を検索します。
String 型の値。インポートするデータウィンドウ オブジェ
クトの名前を指定します。
LibImportType カタログ データ型の値。インポートするオ
ブジェクトの型を指定します。現在サポートされているオ
ブジェクト型は、ImportDataWindow! だけです。
インポートするデータウィンドウ オブジェクトの構文を
表す文字列を指定します。
String 型の変数。表示されるエラー メッセージを格納する
変数の名前を指定します。
エントリに関連付けたコメントを表す文字列を指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データウィンドウをインポートするときに発生したエラーは、errors に
指定された String 型の変数に格納されます。
アプリケーションの実行中にデータウィンドウを動的に作成する場
合、LibraryImport 関数を使用してそのデータウィンドウをライブラリに
保存します。
例
次のステートメントは、データウィンドウ オブジェクト d_emp を
dwTemp ライブラリにインポートして、エラーを ErrorBuffer に格納し
ます。データウィンドウ オブジェクトの構文を Describe 関数から取得
していることに注意してください。
string dwsyntax, ErrorBuffer
integer rtncode
dwsyntax = dw_1.Describe("DataWindow.Syntax")
rtncode = LibraryImport("c:\pb\dwTemp.pbl", &
"d_emp", ImportDataWindow!, &
758
PowerBuilder
第 10 章
PowerScript 関数
dwsyntax, ErrorBuffer )
次のステートメントは、データウィンドウ オブジェクト d_emp を
dwTemp というライブラリにインポートしてエラーを ErrorBuffer に格
納し、"Employee DataWindow 1" というコメントをエントリに関連付
けます。
string dwsyntax, ErrorBuffer
integer rtncode
dwsyntax = dw_1.Describe("DataWindow.Syntax")
rtncode = LibraryImport("c:\pb\dwTemp.pbl", &
"d_emp", ImportDataWindow!, &
dwsyntax, ErrorBuffer, &
"Employee DataWindow 1")
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Describe メソッド
LibraryCreate
LibraryDelete
LibraryDirectory
LibraryImport
LineCount
機能
複数行からなる編集可能なエディット コントロールの行数を返しま
す。
対象
リッチテキスト エディット コントロール、マルチライン エディット
コントロール、エディットマスク コントロール、データウィンドウ コ
ントロール
構文
editname.LineCount ( )
引数
editname
戻り値
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、リッチテキスト エディットのいずれかのコント
ロール名。テキストの行数を取得するコントロールを指定
します。
Long 型。正常に終了した場合は editname に行数を返し、エラーが発生
した場合は -1 を返します。editname が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
759
LineCount
解説
LineCount 関数は、折り返された行か、改行された行かに関わらず、表
示されている行数を数えます。
データウィンドウに対して LineCount 関数を呼び出すと、現行の行とカ
ラムのエディット コントロールの行数を調べます。データウィンドウ
にテキスト形式のデータが含まれていて、データが入力されている
ボックスの大きさが内容を表示するのに十分な場合、エンド ユーザ
は、データウィンドウのカラムに複数の行を入力することができます。
カラムに表示できる行数は、カラムのボックスのサイズによって決ま
ります。入力するときに行は自動的に折り返されないので、エンド
ユーザは〔Enter〕を押して次の行を入力する必要があります。
マルチライン エディット コントロールでは、HScrollBar プロパティま
たは AutoHScroll プロパティが true でない場合に、エンド ユーザの入
力でコントロールが横方向に収まらなくなると、行が折り返されます。
これらのプロパティが設定されていて横方向にスクロールできる場
合、エンド ユーザは〔Enter〕を押して次の行を入力する必要がありま
す。
リッチテキスト エディット コントロールは、コントロールにテキスト
がない場合も、ファイルの末尾を示す記号が含まれます。このため、
行数は少なくとも 1 になります。ほかのエディット コントロールが空
の場合、行数は 0 になります。
例
マルチライン エディット コントロール mle_Instructions に 9 行のテキス
トが入力されている場合、次の例は li_Count に 9 を設定します。
integer li_Count
li_Count = mle_Instructions.LineCount()
次 の ス テ ー ト メ ン ト は、マ ル チ ラ イ ン エ デ ィ ッ ト コ ン ト ロ ー ル
mle_Address に入力されているテキストが 1 行以下の場合にメッセージ
ボックスを表示します。
integer li_Lines
li_Lines = mle_Address.LineCount()
IF li_Lines < 2 THEN
MessageBox(" 警告 ", "2 行必要です ")
END IF
760
PowerBuilder
第 10 章
PowerScript 関数
LineLength
機能
エディット コントロール内で挿入ポイントがある行の長さを返します。
対象
リッチテキスト エディット コントロール、マルチライン エディット
コントロール、エディットマスク コントロール
構文
editname.LineLength ( )
引数
editname
説明
リッチテキスト エディット コントロール、マルチライン
エディット コントロール、またはエディットマスク コン
トロールの名前。挿入ポイントがある行の長さを調べるコ
ントロールを指定します。
戻り値
Long 型。正常に終了した場合、editname 内で挿入ポイントがある行の
長さを返します。エラーが発生した場合には -1 を返します。editname
が null の場合、null を返します。
解説
コントロールに挿入ポイントではなく選択範囲が含まれる場合、選択
範囲の最初の行の長さを調べます。
PowerBuilder は、編集可能なコントロール内の挿入ポイントの位置を
記憶しています。エンド ユーザがほかのコントロールを使用する場合
にも、LineLength 関数を使用して最後に編集された行の長さを調べるこ
とができます。
編集可能なコントロール内の挿入ポイント
挿入ポイントの位置が記憶されているので、エンド ユーザがタブを使
用してコントロールをアクティブにした場合、前の挿入ポイントから
編集を再開することができます。コントロールをクリックしてアク
ティブにした場合、挿入ポイントも移動します。
エディットマスク コントロールを対象とする場合、エンド ユーザが入
力した文字数にかかわらず、マスクの長さを調べます。
例
挿入ポイントが mle_Contact の 5 行目にあり、5 行目のテキストが
"Select All" である場合、次の例は il_linelength に 10(5 行目の長さ)を
設定します。
integer li_linelength
li_linelength = mle_Contact.LineLength()
関連項目
Position
SelectedLine
SelectedStart
TextLine
PowerScript リファレンス ボリューム 2
761
LineList
LineList
機能
パフォーマンス解析モデルに含まれるルーチンのラインリストを取得
します。
対象
ProfileRoutine オブジェクト
構文
iinstancename.LineList ( list )
引数
instancename
list
戻り値
解説
説明
ProfileRoutine オブジェクトのインスタンス名を指定しま
す。
データ型 ProfileLine の可変長配列変数です。LineList 関数
は、ルーチンのラインごとに ProfileLine オブジェクトとし
て格納します。この引数は、参照渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しません。
パフォーマンス解析モデルに含まれるルーチンのラインリストを取得
します。BuildModel 関数を使用してトレース ファイルからパフォーマ
ンス解析モデルをあらかじめ作成しておかなければなりません。各ラ
インは ProfileLine オブジェクトとして定義され、リストには、ライン
がヒットした回数、ラインからの呼び出し、ラインや呼び出し関数の
経過時間などがラインごとに示されます。ラインは番号順にリストさ
れます。
ラインはデータベース ステートメントやオブジェクトに返されるこ
とはありません。ライン情報がトレース ファイルに記録されていない
場合、ラインは返されません。
例
次の例では、パフォーマンス解析モデルに含まれるルーチンのリスト
を取得してから、各ルーチンに含まれるラインのリストを取得します。
Long ll_cnt
ProfileLine lproln_line[]
lpro_model.BuildModel()
lpro_model.RoutineList(iprort_list)
FOR ll_cnt = 1 TO UpperBound(iprort_list)
iprort_list[ll_cnt].LineList(lproln_line)
...
NEXT
関連項目
762
BuildModel
PowerBuilder
第 10 章
PowerScript 関数
LinkTo
機能
OLE コントロールとファイル、または OLE コントロールとファイルの
ソース アイテムとの間にリンクを確立します。
構文
olecontrol.LinkTo ( filename {, sourceitem } )
引数
olecontrol
filename
sourceitem
(オプション)
戻り値
説明
リンクされたオブジェクトを挿入する OLE コントロール
の名前を指定します。
String 型の値。olecontrol に挿入するデータを含むファイル
の名前を指定します。リンクによって PowerBuilder のオブ
ジ ェ ク ト と オ リ ジ ナ ル の デ ー タ が 接 続 さ れ ま す。
sourceitem を省略すると、ファイル全体に対してリンクが
確立されます。
リンクする filename 内の ソース アイテムの名前を指定し
ます。指定方法は、OLE サーバ アプリケーションによっ
て決まります。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-9
ファイルがありません。
ソース アイテムがありません。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、OLE コントロール ole_1 の中にオブジェクトを作成します。
そのオブジェクトとファイル C:\XLS\EXPENSE.XLS をリンクしま
す。
integer result
result = ole_1.LinkTo("c:\xls\expense.xls")
次の例は、上の例と同じスプレッド シートの行とカラムのセクション
にオブジェクトをリンクします。
integer result
result = ole_1.LinkTo("c:\xls\expense.xls", &
"R1C1:R5C5")
関連項目
InsertFile
InsertObject
PasteLink
PasteSpecial
PowerScript リファレンス ボリューム 2
763
LoadInk
LoadInk
機能
インクピクチャ コントロールにファイルまたは Blob からインクを
ロードします。
対象
インクピクチャ コントロール
構文
inkpicname.LoadInk ( t | b )
引数
inkpicname
t
b
説明
インクをロードしたいインクピクチャ コントロールの名前
を指定します。
String 型の値。コントロールにロードしたいインクを含む
ファイルの名前と位置を指定します。
コントロールにロードしたいインクを含む Blob の名前を指
定します。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、-1 を返します。
解説
LoadInk 関数を使用して、ファイルまたは Blob に保存したインクをコ
ントロールにロードします。
例
次の例は、ファイルからインクをロードします。ユーザは単一のファ
イルを選択するため、GetFileOpenName の 2 番目の引数はファイルのパ
スと名前を含み、3 番目の引数は無視されます。
string ls_inkpath, ls_inkname
GetFileOpenName("Select Ink File", ls_inkpath,
ls_inkname)
ip_1.LoadInk(ls_inkpath)
&
次の例は、Blob からインクをロードします。
string ls_inkpath, ls_inkname
integer li_filenum
blob lblb_ink
GetFileOpenName("Select Ink File", ls_inkpath,
ls_inkname)
li_filenum = FileOpen(ls_inkpath, StreamMode!)
If li_filenum <> 1 Then
FileRead(li_filenum, lblb_ink)
FileClose(li_filenum)
ip_1.LoadInk(lblb_ink)
End If
関連項目
764
&
LoadPicture
ResetInk
PowerBuilder
第 10 章
PowerScript 関数
ResetPicture
SaveInk
Save
LoadPicture
機能
インクピクチャ コントロールにファイルまたは Blob からピクチャを
ロードします。
対象
インクピクチャ コントロール
構文
inkpicname.LoadPicture ( t | b )
引数
inkpicname
t
b
説明
ピクチャをロードしたいインクピクチャ コントロールの名
前を指定します。
String 型の値。コントロールにロードしたいピクチャを含む
ファイルの名前と位置を指定します。
コントロールにロードしたいピクチャを含む Blob の名前を
指定します。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、-1 を返します。
解説
LoadPicture 関数を使用して、インクピクチャ コントロールにイメージ
をロードします。
例
次の例は、ファイルからイメージをロードします。ユーザは単一のファ
イルを選択するため、GetFileOpenName の 2 番目の引数はファイルのパ
スと名前を含み、3 番目の引数は無視されます。
string ls_path, ls_name
GetFileOpenName("Select Image", ls_path, ls_name)
ip_1.LoadPicture(ls_path)
次の例は、Blob からイメージをロードします。
string ls_path, ls_name
integer li_filenum
blob lblb_ink
GetFileOpenName("Select Ink File", ls_path, ls_name)
li_filenum = FileOpen(ls_path, StreamMode!)
If li_filenum <> 1 Then
FileRead(li_filenum, lblb_ink)
PowerScript リファレンス ボリューム 2
765
Log
FileClose(li_filenum)
ip_1.LoadInk(lblb_ink)
End If
関連項目
LoadInk
ResetInk
ResetPicture
SaveInk
Save
Log
数値の自然対数を返します。ErrorLogging オブジェクトの場合は、こ
の関数を使って、オブジェクトのコンテナによって管理されているロ
グ ファイルに文字列を書きこむことができます。
目的
数値の自然対数を求める
ログ ファイルに文字列を書き込む
構文 1
すべてのオブジェクトに対して
機能
数値の自然対数を返します。
構文
Log ( n )
引数
n
戻り値
使用する構文
構文 1
構文 2
説明
自然対数(底 e)を返す数値を指定します。n は正の値で
なければなりません。
Double 型。n の自然対数を返します。n が負の値または 0 の場合、エ
ラーが発生します。n が null の場合、null を返します。
ヒント
Log 関数の逆関数は Exp 関数です。
例
次のステートメントは、2.302585092 を返します。
Log(10)
次のステートメントは、-0.693147. . を返します。
766
PowerBuilder
第 10 章
PowerScript 関数
Log(0.5)
次のステートメントは、どちらも実行時にエラーが発生します。
Log(0)
Log(-2)
次のステートメントを実行すると、a の値は 200 になります。
double a, b = Log(200)
a = Exp(b)// a = 200
関連項目
Exp
LogTen
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Log メソッド
構文 2
ErrorLogging オブジェクトに対して
機能
オブジェクトのコンテナによって管理されているログ ファイルに文
字列を書きこみます。
対象
ErrorLogging オブジェクト
構文
errorlogobj.Log ( message )
引数
errorlogobj
message
説明
ErrorLogging サービス インスタンスへの参照を指定しま
す。
ログに書き込むテキスト文字列を指定します。
戻り値
なし
解説
ErrorLogging オブジェクトは、オブジェクトのコンテナによって使用
されるログ ファイルにメッセージを書き込む機能を提供します。たと
えば、EAServer の jaguar.log などがあります。
Log 関数を呼び出す前に、GetContextService 関数を呼び出して、
ErrorLogging サービスのインスタンスを作成しておく必要があります。
例
次の例は、EAServer または COM+ のログに文字列を書き込む方法を示
しています。
ErrorLogging el
this.GetContextService("ErrorLogging", el)
el.log("Write this string to log")
関連項目
GetContextService
PowerScript リファレンス ボリューム 2
767
LogTen
LogTen
機能
数値の対数(底 10)を返します。
構文
LogTen ( n )
引数
n
解説
説明
対数(底 10)を返す数値を指定します。n の値は 0 または
正の値です。
Double 型。n の対数(底 10)を返します。n が負の値の場合はエラー
が発生します。n が null の場合、null を返します。
LogTen の逆関数 式 10^n は、LogTen(n) の逆関数です。r = LogTen(n)
の n を取得するには、n = 10^r を計算します。
例
次のステートメントは、1 を返します。
LogTen(10)
次のステートメントは、どちらも 0 を返します。
LogTen(1)
LogTen(0)
次のステートメントでは、実行時にエラーが発生します。
LogTen( - 2)
次のステートメントを実行すると、a の値は 200 になります。
double a, b = LogTen(200)
a = 10^b// a = 200
関連項目
768
Exp
LogTen
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの LogTen メソッド
PowerBuilder
第 10 章
PowerScript 関数
Long
データを Long 型に変換します。次の 2 つの構文を使用します。
目的
使用する構文
2 つの Unsignedinteger 型の値を結合して Long 型の値に変 構文 1
換する
値が数値である文字列を Long 型に変換する、または Blob 構文 2
型の変数から Long 型の値を取得する
構文 1
UnsignedInteger 型の値を結合する
機能
2 つの UnsignedInteger 型の値を結合して Long 型の値に変換します。
構文
Long ( lowword, highword )
引数
lowword
highword
説明
UnsignedInteger 型の値。Long 型に変換する下位ワードを指
定します。
UnsignedInteger 型の値。Long 型に変換する上位ワードを指
定します。
戻り値
Long 型。正常に終了した場合は Long 型の値を返し、エラーが発生し
た場合は -1 を返します。引数のいずれかの値が null の場合、null を返
します。
解説
値を外部 C 関数に渡す場合や、メッセージ オブジェクトの LongParm
プロパティの値を指定する場合、構文 1 を使用します。
例
次の例は、UnsignedInteger 型の変数 nLow と nHigh を Long 型の値に変
換します。
UnsignedInt nLow // 下位 Integer 16 ビット
UnsignedInt nHigh // 上位 Integer 16 ビット
long LValue // Long 型の値 32 ビット
nLow = 12345
nHigh = 0
LValue = Long(nLow, nHigh)
MessageBox("Long 型の値 ", Lvalue)
PowerScript リファレンス ボリューム 2
769
Long
構文 2
文字列の変換、または Blob 型からの値の取得
機能
値が数値である文字列を Long 型に変換するか、Blob 型の変数から
Long 型の値を取得します。
構文
Long ( stringorblob )
引数
stringorblob
戻り値
説明
Long 型に変換する文字列、または最初の値が Long 型であ
る Blob 型の変数の値を指定します。残りの Blob 型の値は
無視されます。Stringorblob には、文字列または Blob 型を
含む Any 変数を指定することもできます。
Long 型。正常に終了した場合、stringorblob で指定された内容を Long
型の値で返します。stringorblob の値が有効な数値でない場合、または
データ型が一致しない場合には、0 を返します。stringorblob が null の
場合、null を返します。
解説
値が数字の 0 である文字列と、値が数値以外である文字列とを区別す
るには、Long 関数を呼び出す前に IsNumber 関数を使用します。
例
次の例は、2167899876 を Long 型の値に変換して返します。
Long("2167899876")
データベースの Blob 型のデータを lb_blob に格納した場合、次の例は、
lb_blob の位置 20 に格納されている Long 型の値を取得します。
long lb_num
lb_num = Long(BlobMid(lb_blob, 20, 4))
Blob 型の変数にデータを代入する方法、および Blob 型の変数からデー
タを取り出す方法については、Real 関数の例を参照してください。
関連項目
770
Dec
Double
Integer
LongLong
Real
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Long メソッド
PowerBuilder
第 10 章
PowerScript 関数
LongLong
データを LongLong 型に変換します。次の 2 つの構文を使用します。
目的
使用する構文
2 つの Unsignedlong 型の値を結合して LongLong 型の値に 構文 1
変換する
値が数値である文字列を LongLong 型に変換するか、Blob 構文 2
型の変数から LongLong 型の値を取得する
構文 1
Long 型を結合する
機能
2 つの UnsignedLong 型の値を結合して LongLong 型の値に変換します。
構文
LongLong ( lowword, highword )
引数
lowword
highword
説明
UnsignedLong 型の値。LongLong 型に変換する下位ワード
を指定します。
UnsignedLong 型の値。LongLong 型に変換する上位ワード
を指定します。
戻り値
LongLong 型。正常に終了した場合は LongLong 型の値を返し、エラー
が発生した場合は -1 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
C++ や Java の外部関数に値を渡す場合に、LongLong 関数を使用しま
す。
例
次の例は、UnsignedLong 型の変数 lLow と lHigh を LongLong 型の値に
変換します。
UnsignedLong lLow
UnsignedLong lHigh
longlong LLValue
//LowLong 型の値 32 ビット
//High Long 型の値 32 ビット
//LongLong 型の値 64 ビット
lLow = 1234567890
lHigh = 9876543210
LLValue = LongLong(lLow, lHigh)
MessageBox("LongLong 型の値 ", LLvalue)
PowerScript リファレンス ボリューム 2
771
LongLong
構文 2
文字列の変換、または Blob 型からの値の取得
機能
値が数値である文字列を LongLong 型に変換するか、Blob 型の変数から
LongLong 型の値を取得します。
構文
LongLong ( stringorblob )
引数
stringorblob
戻り値
説明
longlong 型に変換する文字列、または先頭が longlong 型の
値である Blob 型データを指定します。残りの Blob 型の値
は無視されます。Stringorblob には、文字列または Blob 型
を含む Any 変数を指定することもできます。
LongLong 型。正常に終了した場合、stringorblob で指定された内容を
longlong 型の値で返します。stringorblob の値が有効な数値でない場合、
またはデータ型が一致しない場合には、0 を返します。stringorblob が
null の場合、null を返します。
解説
値が数字の 0 である文字列と、値が数値以外である文字列とを区別す
るには、LongLong 関数を呼び出す前に IsNumber 関数を使用します。
例
次のステートメントは、LongLong 型の 216789987654321 を返します。
LongLong("216789987654321")
データベースの Blob 型のデータを lb_blob に格納した場合、次の例は、
lb_blob の位置 20 に格納されている LongLong 型の値を取得します。
longlong llb_num
llb_num = LongLong(BlobMid(lb_blob, 20, 4))
Blob 型の変数にデータを代入する方法、および Blob 型の変数からデー
タを取り出す方法については、Real 関数の例を参照してください。
関連項目
772
Dec
Double
Integer
Real
PowerBuilder
第 10 章
PowerScript 関数
Lookup
EAServer コンポーネントのインスタンスを作成するためのファクトリ
インタフェースまたはホーム インタフェースを PowerBuilder クライア
ントまたはコンポーネントが取得できるようにします。この関数を使
用するのは、PowerBuilder クライアント(EAServer 内のコンポーネン
トに接続する場合)と、PowerBuilder コンポーネント(同じサーバ上
のほかのコンポーネントに接続する場合)です。
目的
EAServer 内で動作する CORBA 準拠コンポーネントの
ファクトリ インタフェースを取得します。
EAServer 内で動作する EJB コンポーネントのホーム イン
タフェースを取得します。
使用する構文
構文 1
構文 2
構文 1
CORBA 準拠の EAServer コンポーネントの場合
機能
EAServer コンポーネントのファクトリ インタフェース(コンポーネン
ト インスタンスを作成するためのインタフェース)を PowerBuilder ク
ライアントまたはコンポーネントが取得できるようにします。
対象
接続オブジェクト、TransactionServer オブジェクト
構文
objname.Lookup (objectvariable , componentname )
引数
objname
objectvariable
componentname
戻り値
説明
接続を確立するための接続オブジェクトの名前、また
は TransactionServer コンテキスト オブジェクトのイン
スタンスの名前を指定します。
ファクトリ インタフェースのデータ型のグローバル
変数、インスタンス変数あるいはローカル変数を指定
します。
String 型の値。作成するコンポーネント インスタンス
の名前を指定します。オプションで、コンポーネン
ト名の前にスラッシュで区切ってパッケージ名を指
定することもできます(たとえば、
「mypackage/mycomponent」など)。
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
PowerScript リファレンス ボリューム 2
773
Lookup
解説
Lookup 関数は、CreateInstance 関数に代わる方法として使用できます。
ファクトリ インタフェースへの参照を取得します。これは、EAServer
内で動作するコンポーネントのインスタンスを作成するために使用可
能なインタフェースです。
接続オブジェクトの Lookup 関数を使用することで、EAServer 内で動作
するコンポーネントに PowerBuilder クライアントがアクセスすること
が可能になります。接続オブジェクトの location プロパティで、サー
バ名またはサーバ名のリストを指定できます。
TransactionServer オブジェクトの Lookup 関数を使用することで、
EAServer 内で動作する PowerBuilder コンポーネントが、同じサーバで
動作する別のコンポーネントにアクセスすることが可能になります。
Lookup 関数を使用するには、SessionManager パッケージの EAServer プ
ロキシ ライブラリを作成する必要があります。これは、ファクトリ イ
ンタフェースのプロキシを取得するために必要です。ライブラリ リス
トにこのプロキシ ライブラリを含めます。
例
次 の 例 で は、n_Bank_Account コ ン ポ ー ネ ン ト の フ ァ ク ト リ イ ン タ
フェースのインスタンスを作成するために Lookup を使用しています。
その後、ファクトリ インタフェースの create メソッドを使用して
n_Bank_Account コンポーネントのインスタンスを作成しています。
// インスタンス変数 :
// Connection myconnect
Factory my_Factory
CORBAObject mycorbaobj
n_Bank_Account my_account
long ll_result
ll_result = &
myconnect.lookup(my_Factory,"Bank/n_Bank_Account")
mycorbaobj = my_Factory.create()
mycorbaobj._narrow(my_account, "Bank/n_Bank_Account")
my_account.withdraw(100.0)
関連項目
CreateInstance
構文 2
EJB コンポーネントのインスタンス
機能
EAServer 内の EJB コンポーネントのホーム インタフェース(コンポー
ネント インスタンスを作成するためのインタフェース)を PowerBuilder
クライアントまたはコンポーネントが取得することを可能にします。
対象
接続オブジェクト、TransactionServer オブジェクト
774
PowerBuilder
第 10 章
構文
objname.Lookup (objectvariable , componentname {, homeid} )
引数
objname
objectvariable
componentname
homeid
戻り値
PowerScript 関数
説明
接続を確立するための接続オブジェクトの名前、また
は TransactionServer コンテキスト オブジェクトのイン
スタンスの名前を指定します。
作成するホーム インタフェースのデータ型のグロー
バル変数、インスタンス変数あるいはローカル変数を
指定します。
String 型の値。作成する EJB コンポーネントの名前を
指定します。オプションで、コンポーネント名の前に
スラッシュで区切ってパッケージ名を指定することもで
きます(たとえば、
「mypackage/mycomponent」など)。
String 型の値。作成するホーム インタフェースの名前
を指定します。この引数はオプションです。
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
EJBConnection
J2EE 準拠のアプリケーション サーバで実行している EJB コンポーネ
ントのインスタンスを作成する場合は、EJBConnection PowerBuilder 拡
張オブジェクトの Lookup メソッドを使用することもできます。詳細に
ついては、
『PowerBuilder エクステンション リファレンス』の「Lookup」
を参照してください。
Lookup 関数は、EJB コンポーネントのホーム インタフェースのインス
タンスを作成します。これによって、EJB インスタンスを作成するこ
とが可能になります。接続オブジェクトの Lookup 関数を使用すること
で、EAServer 内で動作するコンポーネントに PowerBuilder クライアン
トがアクセスすることが可能になります。接続オブジェクトの location
プロパティで、サーバ名またはサーバ名のリストを指定できます。
TransactionServer オ ブ ジ ェ ク ト の Lookup 関 数 を 使 用 す る こ と で、
EAServer 内で動作する PowerBuilder コンポーネントが、同じサーバで
動作する EJB コンポーネントにアクセスすることが可能になります。
Lookup 関数は、標準の CORBA ネーミング サービスを使用して
componentname を CORBA オブジェクトに解決します。さらにこれを
コンポーネントのホーム インタフェースの名前で限定します。Lookup
関数の 3 番目の引数を指定しない場合、ホーム インタフェース名の形式
が PackageName/CompNameHome であることが想定されます。しかし、
大半の EJB コンポーネントは標準の Java パッケージ ディレクトリ構造
を使用していて、ホーム インタフェース名は
com/domain/project/CompNameHome などの形式を持ちます。
PowerScript リファレンス ボリューム 2
775
Lookup
ホーム インタフェースの名前を指定する Lookup 関数に 3 番目の引数
を指定することによって、PowerBuilder クライアントまたはコンポー
ネントでコンポーネントのホーム インタフェースが確実に特定され
るように配慮できます。コンポーネントのホーム インタフェース名
は、EAServer リポジトリ内の com.sybase.jaguar.component.home.ids プロ
パティで定義されます。home.ids プロパティの形式は次のとおりです。
IDL:com/domain/project/CompNameHome:1.0
3 番目の引数には、コンポーネントの home.ids 文字列から先頭の IDL
と末尾の 1.0 を取り除いた文字列を指定します。次に例を示します。
ts.lookup(MyCartHome, "shopping/cart", &
"com/sybase/shopping/CartHome")
あるいは、ホーム インタフェースの完全な Java クラス名をドット表記
で指定することもできます。次に例を示します。
ts.lookup(MyCartHome, "shopping/cart", &
"com.sybase.shopping.CartHome")
Lookup 関数では大文字と小文字が区別される
EAServer の Lookup 関数では大文字と小文字が区別されます。lookup
関数の引数で指定する文字列の大文字 / 小文字と、ejb.home プロパティ
の文字列の大文字 / 小文字が一致していることを確かめます。
例
次の例では、接続オブジェクトの Lookup を使用することで、Java パッ
ケ ージ abc.xyz.math 内の Multiply セッション EJB のホーム イン タ
フェースを特定しています。
// インスタンス変数 :
// Connection myconnect
Multiply myMultiply
MultiplyHome myMultiplyHome
long ll_result, ll_product
ll_result = &
myconnect.lookup(myMultiplyHome,"Math/Multiply", &
"abc.xyz.math.MultiplyHome)
IF ll_result <> = 0 THEN
MessageBox("Lookup 失敗 ", myconnect.errtext)
ELSE
try
myMultiply = myMultiplyHome.create()
catch (ctscomponents_createexception ce)
MessageBox(" 例外の作成 ", ce.getmessage())
// 例外を処理します。
776
PowerBuilder
第 10 章
PowerScript 関数
end try
ll_product = myMultiply.multiply(1234, 4567)
END IF
エンティティ Bean には、前のセッションで保存された EJB を検索す
るための findByPrimaryKey メソッドがあります。次の例では、Dirk Dent
用に保存されたショッピング カートを検索するために findByPrimaryKey
メソッドを使用しています。
// インスタンス変数 :
// Connection myconnect
Cart myCart
CartHome myCartHome
long ll_result
ll_result = &
myconnect.lookup(myCartHome,"Shopping/Cart", &
"com.mybiz.shopping.CartHome")
IF ll_result <> = 0 THEN
MessageBox("Lookup 失敗 ", myconnect.errtext)
ELSE
TRY
myCart = myCartHome.findByPrimaryKey("DirkDent")
myCart.addItem(101)
CATCH ( ctscomponents_finderexception fe )
MessageBox("Finder 例外 ", &
fe.getmessage())
END TRY
END IF
PowerBuilder から EAServer に配布された非ビジュアル オブジェクト
では、TransactionServer コンテキスト オブジェクトのインスタンスを
使用することによって、同じサーバ内の EJB コンポーネントのホーム
インタフェースを特定できます。
CalcHome MyCalcHome
Calc MyCalc
TransactionServer ts
ErrorLogging errlog
long ll_result
this.GetContextService("TransactionServer", ts)
this.GetContextService("ErrorLogging", errlog)
ll_result = ts.lookup(MyCalcHome, "Utilities/Calc", &
"com.biz.access.utilities.CalcHome")
IF ll_result <> 0 THEN
errlog.log("Lookup failed:" + string(ll_result))
PowerScript リファレンス ボリューム 2
777
Lower
ELSE
TRY
MyCalc = MyCalcHome.create()
MyCalc.square(12)
CATCH (ctscomponents_createexception ce)
errlog.log("Create exception:" + ce.getmessage())
END TRY
END IF
関連項目
ConnectToServer
Lower
機能
文字列内のすべての英文字の大文字を小文字に変換します。
構文
Lower ( string )
引数
string
戻り値
説明
文字列を指定します。指定された文字列に含まれる英文字
の大文字をすべて小文字に変換します。
String 型。正常に終了した場合、string で指定された文字列の英文字の
大文字を小文字に変換して返します。エラーが発生した場合、空の文
字列("")を返します。string が null の場合、null を返します。
例
次の例は、"babe ruth" を返します。
Lower("Babe Ruth")
関連項目
778
Upper
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Lower メソッド
PowerBuilder
第 10 章
PowerScript 関数
LowerBound
機能
配列の次元の下限を求めます。
構文
LowerBound ( array {, n } )
引数
array
説明
配列の名前を指定します。指定された配列の n 次元の下限
を求めます。
n
下限を求める次元を指定します。特に指定しない限り、1
が設定されます。
(オプション)
戻り値
Long 型。array に指定された配列の n 次元の下限を返します。n に指定
された値が配列の次元数よりも大きい場合、-1 を返します。引数のい
ずれかの値が null の場合、null を返します。
解説
可変長の配列に対しては、配列に値を割り当てたときに、その配列に
メモリが割り当てられます。値が割り当てられる前の下限は 1 で、上
限は 0 です。
例
次のステートメントは、固定長および可変長の配列に対して、メモリ
が割り当てられる前後に返される値を示します。
integer a[5],
LowerBound(a)
LowerBound(a,
LowerBound(a,
LowerBound(b,
integer c[ ]
LowerBound(c)
c[50] = 900
LowerBound(c)
b[2,5]
// 戻り値
1) // 戻り値
2) // 戻り値
2) // 戻り値
1
1
-1、a は 1 次元配列です。
1
// 戻り値 1
// 戻り値 1
integer d[-10 to 50]
LowerBound(d)
// 戻り値 - 10
関連項目
UpperBound
PowerScript リファレンス ボリューム 2
779
mailAddress
mailAddress
機能
メール メッセージに対する mailRecipient 配列を更新します。
対象
mailSession オブジェクト
構文
mailsession.mailAddress ( { mailmessage } )
引数
mailsession
mailmessage
(オプション)
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージのアドレスを格納
します。
メッセージについての情報を格納する mailMessage オブ
ジェクト構造体を指定します。mailmessage を省略すると、
mailAddress 関数はアドレス ダイアログボックスを表示し
ます。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
解説
mailRecipient 配列には、メール メッセージの受信者やメール メッセー
ジの作成者についての情報が格納されています。作成者についての情
報は、メッセージの送信時には使用されません。
mailRecipient 配列の中にエラーが発生した場合、mailAddress 関数はア
ドレス ダイアログボックスを表示してエンド ユーザがアドレスを修
正できるようにします。
(エンド ユーザが受け取ったメッセージなど
の)有効なアドレスのメッセージが格納されている mailMessage 構造
体を渡した場合、アドレスが正確なので何も表示されません。
mailMessage を省略した場合、メール システムはアドレス ダイアログ
ボックスを表示してエンド ユーザがアドレスの検索や個人的なアド
レス リストのメンテナンスなどを行うことができるようにします。た
だし、エンド ユーザは、メッセージを送信するための宛先を選択する
ことはできません。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
780
PowerBuilder
第 10 章
例
PowerScript 関数
次のステートメントは、mailSession オブジェクトを作成し、テキスト
ファイルを添付してメールを送信します。次に、メール システムの
セッションを終了し、mailSession オブジェクトを破棄します。
mailSession mSes
mailReturnCode mRet
mailMessage mMsg
mailFileDescription mAttach
// mailSession オブジェクトを作成します。
mSes = CREATE mailSession
// メール システムとのセッションを開始します。
mRet = mSes.mailLogon(mailNewSession!)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メール ", ' セッションを開始できません。')
RETURN
END IF
mMsg.AttachmentFile[1] = mAttach
mRet = mSes.mailAddress(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メール ", ' アドレス指定に失敗しました。')
RETURN
END IF
// メールを送信します。
mRet = mSes.mailSend(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メール ", ' メールが送信されませんでした。')
RETURN
END IF
mSes.mailLogoff()
DESTROY mSes
関連項目
mailLogoff
mailLogon
mailResolveRecipient
mailSend
PowerScript リファレンス ボリューム 2
781
mailDeleteMessage
mailDeleteMessage
機能
エンド ユーザの受信トレイからメール メッセージを削除します。
対象
mailSession オブジェクト
構文
mailsession.mailDeleteMessage ( messageid )
引数
mailsession
messageid
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージを削除します。
String 型の値。削除するメール メッセージの ID を指定し
ます。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnInvalidMessage!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
解説
エンド ユーザの受信トレイのメッセージ ID のリストを取得するには、
mailGetMessages 関数を呼び出します。メール関数を呼び出す前に、
mailSession オブジェクトを宣言して作成し、mailLogon 関数を呼び出
してメール システムとのセッションを開始する必要があります。
例
次の例では、データウィンドウ dw_inbox がメール項目(Sender、Subject、
Postmark、MessageID)のリストを格納しているとします。また、mailSession
オブジェクト mSes が作成され、メッセージ システムとのセッション
が正常に開始したとします。この場合、dw_inbox の Clicked イベントに
対する次のスクリプトは、メール システムから、選択されているメッ
セージを削除します。
string sID
integer nRow
mailReturnCode mRet
nRow = GetClickedRow()
IF nRow > 0 THEN
sID = GetItemString(nRow, "messageID")
mRet = mSes.mailDeleteMessage(sID)
END IF
関連項目
782
mailGetMessages
mailLogon
PowerBuilder
第 10 章
PowerScript 関数
mailGetMessages
機能
mailSession オブジェクトの MessageID 配列に、エンド ユーザの受信ト
レイのメッセージ ID を格納します。
対象
mailSession オブジェクト
構文
mailsession.mailGetMessages ( { messagetype, } { unreadonly } )
引数
mailsession
messagetype
(オプション)
unreadonly
(オプション)
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージを受信します。
String 型の値。メッセージ タイプの値を指定します。標準
のメッセージ タイプは IPM または空の文字列("")で、個
人のメッセージを識別します。そのほかの標準のメッセー
ジ タイプは IPC で、非表示のプロセス間のメッセージを識
別します。メール管理者が、ほかのユーザ定義のメッセー
ジ タイプを設定している場合もあります。
未読メッセージの ID のみが必要であることを指定する
Boolean 型の値。値は以下のとおりです。
• TRUE - 未読メッセージ ID だけ
• FALSE - すべてのメッセージ ID
戻り値
mailReturnCode カタログ データ型。以下の値のいずれかを返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnNoMessages!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
解説
MailGetMessages 関数は、mailSession オブジェクトの MessageID 配列に
格納されているメッセージ ID を取り出すだけです。メッセージ ID は、
ほかのメール関数の引数として使用されます。たとえば、
mailReadMessage 関数の引数として使用された場合、メッセージ ID は
読むメッセージを示します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
PowerScript リファレンス ボリューム 2
783
mailHandle
例
次の例は、エンド ユーザの受信トレイのメッセージのリストを、デー
タウィンドウに表示します。このデータウィンドウは外部のデータ
ソースによって定義されていて、3 つのカラム(msgid、msgdate、およ
び msgsubject)を持ちます。MailGetMessages は mailSession オブジェク
ト内の MessageID 配列にデータを格納し、mailReadMessage は各 ID に
関する情報を取得します。
次の例では、アプリケーションがすでに mailSession オブジェクト mSes
を作成し、メール システムとのセッションを開始しているものとしま
す。
mailMessage msg
long n, c_row
mSes.mailGetMessages()
FOR n = 1 to UpperBound(mSes.MessageID[])
mSes.mailReadMessage(mSes.MessageID[n], &
msg, mailEnvelopeOnly!, FALSE )
c_row = dw_1.InsertRow(0)
dw_1.SetItem(c_row, "msgid", mSes.MessageID[n])
dw_1.SetItem(c_row, "msgdate", msg.DateReceived)
// 件名の長さを、定義と一致するように切り詰めます。
dw_1.SetItem(c_row, "msgsubject", &
Left(msg.Subject, 50))
NEXT
関連項目
mailDeleteMessage
mailReadMessage
mailHandle
機能
mailSession オブジェクトのハンドルを取得します。
対象
mailSession オブジェクト
構文
mailsession.mailHandle ( )
引数
mailsession
784
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションのハンドルを取得します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
UnsignedLong 型。mailSession オブジェクトの内部ハンドルを返します。
mailsession が null の場合、エラー メッセージを表示します。
解説
エンド ユーザがメール システムとのセッションを開始すると、エンド
ユーザの mailSession オブジェクトに有効なハンドルが与えられます。
そのような関数を外部関数として呼び出す場合、mailSession オブジェ
クトへのハンドルを使用します。MAPI がサポートしている関数には、
PowerBuilder が直接、関数として実装していないものもあります。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次のステートメントは、現行のメール システムの内部ハンドルを返し
ます。
current_session. mailHandle()
mailLogoff
機能
PowerBuilder アプリケーションとメール システムとの接続を解除し、
メール セッションを終了します。PowerBuilder がメール セッションを
開始したときにすでに実行されていたメール アプリケーションは、そ
のままの状態です。
対象
mailSession オブジェクト
構文
mailsession.mailLogoff ( )
引数
mailsession
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションを終了します。
戻り値
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
解説
mailSession オブジェクトが使用しているメモリを解放するには、メー
ル システムとのセッションを終了した後で、
DESTROY キーワードを使
用します。
PowerScript リファレンス ボリューム 2
785
mailLogon
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次のステートメントは、現行のメール システムとのセッションを終了
します。
current_session. mailLogoff()
DESTROY current_session
関連項目
mailLogon
mailLogon
機能
PowerBuilder アプリケーションのメール セッションを確立します。
PowerBuilder アプリケーションは、新しいメール セッションを開始す
るか、既存のセッションを使用します。
対象
mailSession オブジェクト
構文
mailsession.mailLogon ( { profile, password } {, logonoption } )
引数
mailsession
profile
(オプション)
password
(オプション)
786
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションを開始します。
String 型の値。メール システムとのセッションの開始時に
使用するプロファイルまたはユーザ ID を指定します。
String 型の値。メール システムとのセッションの開始時に
使用するパスワードを表す文字列を指定します。
PowerBuilder
第 10 章
引数
logonoption
(オプション)
PowerScript 関数
説明
mailLogonOption カタログ データ型の値。メール システム
とのセッションの開始時に使用するオプションを指定し
ます。
• mailNewSession! - メール アプリケーションが実行中か
どうかに関係なく、新しいメール システムとのセッ
ションを開始します。
• mailDownLoad! - サーバからユーザの受信トレイに、
メッセージを強制的にダウンロードします。メール ア
プリケーションが実行中でない場合、新しいメール シ
ステムとのセッションを開始します。
• mailNewSessionWithDownLoad! - 新しいメール システ
ムとのセッションを開始し、サーバからエンド ユーザ
の受信トレイに新しいメッセージを強制的にダウン
ロードします。
特に指定しない限り、既存のセッションが使用されます。
この場合、新しいメッセージの強制的なダウンロードも行
われません。
戻り値
mailReturnCode カタログ データ型。以下の値のいずれかを返します。
mailReturnSuccess!
mailReturnLoginFailure!
mailReturnInsufficientMemory!
mailReturnTooManySessions!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
解説
エンド ユーザのコンピュータですでにメール アプリケーションが実
行されている場合、新しいセッションを開始する mailLogon 関数を呼び
出さないときには、メール セッションは既存のセッションを使用しま
す。profile と password は不要です。
mailLogon 関数がメール システムとの新しいセッションを開始する場
合、スクリプトの中で profile と password を提供していないときには、
メール システムのダイアログボックスが表示されてユーザ ID とパス
ワードの入力が要求されます。
ダウンロード オプションにより、メール サーバは最新のメッセージを
エンド ユーザの受信トレイにダウンロードします。これにより、受信
トレイを最新の状態にします。ただし、そのメッセージを PowerBuilder
から利用できなくなります。mailGetMessages 関数と mailReadMessage
関数を使用してメッセージを参照します。
PowerScript リファレンス ボリューム 2
787
mailReadMessage
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
する必要があります。
例
次の例では、mailSession オブジェクト new_session は、ウィンドウのイ
ンスタンス変数です。ウィンドウの Open イベントに対するスクリプ
トで、mailSession オブジェクトを格納するメモリを割り当て、メール
システムとのセッションを開始します。セッションの開始時に、メー
ル アプリケーションはダイアログボックスを表示してユーザ ID とパ
スワードの入力を要求します。
new_session = CREATE mailSession
new_session.mailLogon(mailNewSession!)
次の例は、新しいメール システムとのセッションを開始し、エンド
ユーザの受信トレイを更新します。すでにユーザ情報が提供されている
ので、ユーザ ID とパスワードの入力は不要です。この例の mailSession
オブジェクトは、ローカル変数に格納されています。
mailSession new_session
new_session = CREATE mailSession
new_session.mailLogon("jpl", "hotstuff", &
mailNewSessionWithDownLoad!)
関連項目
mailLogoff
mailReadMessage
機能
mailSession オブジェクトのプロパティである配列 MessageID にメッ
セージ ID が格納されているメール メッセージを開きます。メッセー
ジ全体を読むか、またはヘッダ情報(発信者、受信日付など)だけを
読むかを選択できます。メッセージにファイルが添付されている場合、
一時ファイルに格納されます。また、メッセージの内容を一時ファイ
ルに書き込むように選択することもできます。
対象
mailSession オブジェクト
構文
mailsession.mailReadMessage ( messageid, mailmessage, readoption,
mark )
引数
mailsession
messageid
788
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージを読みます。
String 型の値。読みたいメール メッセージの ID を指定し
ます。
PowerBuilder
第 10 章
PowerScript 関数
引数
mailmessage
説明
mailReadMessage 関数がメッセージ情報を格納する
readoption
mailMessage オブジェクト構造体を指定します。
MailReadOption カタログ データ型の値を指定します。
• mailEntireMessage! - ヘッダ、テキスト、添付ファイル
を取得します。
• mailEnvelopeOnly! - ヘッダ情報だけを取得します。
• mailBodyAsFile! - ヘッダ、テキスト、添付ファイルを
取得します。メッセージの内容を最初の添付ファイルと
して扱い、一時ファイルに格納します。
• mailSuppressAttachments! - ヘッダとテキストを取得し
ます。添付ファイルの内容は取得しません。
mark
Boolean 型の値。エンド ユーザの受信トレイで、メッセー
ジに読まれたことを示すマークを付けるかどうかを指定
します。値は以下のとおりです。
• TRUE - マークを付ける
• FALSE - マークを付けない
戻り値
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
引数のいずれかの値が null の場合、null を返します。
解説
エンド ユーザの受信トレイにあるメッセージのメッセージ ID を取得
するには、mailGetMessages 関数を呼び出します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
添付ファイルを読むには
メッセージにファイルが添付されていて添付ファイルを禁止していな
い場合、添付ファイルに関する情報が mailMessage オブジェクトの
AttachmentFile プロパティに格納されます。AttachmentFile プロパティ
は、mailFileDescription オブジェクトです。そのオブジェクトの PathName
プロパティには、添付ファイルを保存するために作成された一時ファ
イルの位置が格納されています。特に指定しない限り、一時ファイル
は TEMP 環境変数で指定されるディレクトリに配置されます。
一時ファイルが不要になった場合には、必ず削除してください。
PowerScript リファレンス ボリューム 2
789
mailReadMessage
例
たとえば、メール メッセージのリストを表示するデータウィンドウ コ
ントロール dw_inbox と、メッセージ テキストを表示するマルチライン
エディット コントロール mle_note を持つウィンドウに、メールが表示
されるとします。また、アプリケーションで mailSession オブジェクト
mSes を作成してメール システムとのセッションを開始し、dw_inbox が
メール項目(Sender、Subject、Postmark、MessageID)のリストを格納
しているものとします。次の例は、dw_inbox の Clicked イベントに対す
るスクリプトです。選択されたメッセージの内容をマルチライン エ
ディット コントロール mle_note に表示します。
integer nRow, nRet
string sMessageID
string sRet, sName
// 選択されたメール項目を取得します。
nRow = GetClickedRow()
IF nRow > 0 THEN
// メッセージ ID を取得します。
sMessageID = GetItemString(nRow, 'MessageID')
// 最初にエンベロープしか読まなかったので、
// メッセージをもう一度読んで内容全体を取得します。
mRet = mSes.mailReadMessage(sMessageID, mMsg &
mailEntireMessage!, TRUE)
// テキストを表示します。
mle_note.Text = mMsg.NoteText
END IF
データウィンドウ コントロールにメール メッセージのリストを作成
する方法については、mailGetMessages 関数、または「Code Examples」
のメール アプリケーションを参照してください。
関連項目
790
mailGetMessages
mailLogon
mailSend
PowerBuilder
第 10 章
PowerScript 関数
mailRecipientDetails
機能
指定された受信者のアドレス情報をダイアログボックスに表示しま
す。
対象
mailSession オブジェクト
構文
mailsession.mailRecipientDetails ( mailrecipient {, allowupdates } )
引数
mailsession
mailrecipient
allowupdates
(オプション)
戻り値
説明
セッションを表す mailSession オブジェクトを指定しま
す。指定されたセッション内で受信者の詳細情報を表示
します。
有効なアドレス情報を格納する mailRecipient オブジェ
クト構造体を指定します。mailrecipient には、
mailAddress 関数、mailResolveRecipient 関数、または
mailReadMessage 関数によって返される受信者の識別
子が格納されている必要があります。
Boolean 型の値。受信者の名前の更新を許可するかどう
かを指定します。エンド ユーザが更新の権限を持って
いない場合、この allowupdates は無効です。特に指定し
ない限り、false が設定されます。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnUnknownRecipient!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
解説
allowupdates に true を設定した場合の機能は、メール システムとエン
ド ユーザの権限に依存します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次の例は、エンド ユーザの受信トレイからメッセージ ID を取得し、最
初のメッセージを読み込みます。次に、mailRecipientDetails 関数を呼び
出して最初の受信者のアドレス情報を表示します。Recipient は mailMessage
のプロパティで、構造体の配列です。配列の各要素は、メッセージの
受信者を表します。この例では、MessageID や Recipient の要素数を考
慮していません。また、mailSession オブジェクトをすでに作成し、メー
ル メッセージとのセッションを開始しているものとします。
PowerScript リファレンス ボリューム 2
791
mailResolveRecipient
mailMessage msg
integer n
long c_row
mSes.mailGetMessages()
mSes.mailReadMessage(mSes.MessageID[1], &
msg, mailEnvelopeOnly!, FALSE )
mSes.mailRecipientDetails(msg.Recipient[1])
関連項目
mailResolveRecipient
mailSend
mailResolveRecipient
機能
ユーザのフルネームまたは名前の一部に基づいて、有効な電子メール
アドレスを取得します。ユーザが権限を持っている場合、システムの
アドレスに格納されている情報を更新することもできます。
対象
mailSession オブジェクト
構文
mailsession.mailResolveRecipient ( recipient {, allowupdates } )
引数
mailsession
recipient
allowupdates
(オプション)
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内で受信者のメール アドレスを取
得します。
受信者の名前を格納する mailRecipient 構造体、または
String 型変数を指定します。受信者の名前は、mailRecipient
構造体のプロパティです。mailResolveRecipient 関数は、文
字列の値に受取者のフルネームを設定するか、または構造
体に解決されたアドレス情報を格納します。
Boolean 型の値。受信者の名前の更新を許可するかどうか
を指定します。エンド ユーザが更新の権限を持っていない
場合、この allowupdates は無効です。特に指定しない限り、
false が設定されます。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnUserAbort!
引数のいずれかの値が null の場合、null を返します。
792
PowerBuilder
第 10 章
解説
PowerScript 関数
メール システム内で名前が有効なアドレスかどうかを確認するため
に mailResolveRecipient 関数を使用します。名前が検索できない場合、
mailReturnFailure! を返します。
mailRecipient 構造体が指定された場合、mailResolveRecipient 関数は、ア
ドレスを割り出す際に有効なアドレス情報をその構造体に格納しま
す。文字列が指定された場合、メール システムが識別できるように、
文字列の値はエンド ユーザのフルネームに置き換えられます。ローカ
ルなメール システム環境では、アドレスを文字列で指定するのが適切
です。ゲートウェイを介してほかのシステムにメールを送る場合、
mailRecipient 構造体の完全なアドレスの詳細情報を取得する必要があ
ります。
mailResolveRecipient 関数に部分的なアドレス情報が指定され、メール
システムで複数のアドレスが一致した場合は、メール システムはダイ
アログボックスを表示し、エンド ユーザに名前を選択させます。
アドレス情報を含む mailRecipient 構造体が指定され、その情報がメー
ル システムの情報と異なる場合、その情報は修正されます。allowupdates
が true で、その情報がメール システムの情報と異なる場合、ユーザに
権限があるときには、メール システムの情報が修正されます。更新を
許可するとアドレス情報が修正されるので注意してください。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次の例は、J Smith というユーザがメール システムに存在するかどうか
を調べます。この名前と一致するユーザ(Jane Smith、Jerry Smith など)
がいる場合、変数 mname にそのフルネームが設定されます。システム
上に一致する名前が複数ある場合、メール システムはユーザが名前を
選択できるようにダイアログボックスを表示します。ユーザが選択し
た名前が mname に格納されます。この例では、アプリケーションがす
でに mailSession オブジェクト mSes を作成し、メール システムとの
セッションを開始しているものとします。
mailReturnCode mRet
string mname
mname = "Smith, J"
mRet = mSes.mailResolveRecipient(mname)
IF mRet = mailReturnSuccess! THEN
MessageBox(" アドレス ", mname + " が見つかりました。")
ELSEIF mRet = mailReturnFailure! THEN
MessageBox(" アドレス ", "J Smith は見つかりませんでした。
")
ELSE
MessageBox(" アドレス ", " 要求が評価されませんでした。")
END IF
PowerScript リファレンス ボリューム 2
793
mailSaveMessage
次の例では、sle_to はメール受信者のフルネームまたは名前の一部を格
納しています。名前を mailRecipient オブジェクトに格納し、
mailResolveRecipient 関数を呼び出して名前を検索し、アドレスの詳細
を取得します。名前が検出された場合、mailRecipientDetails 関数はそ
の情報を表示し、フルネームが sle_to に格納されます。この例では、ア
プリケーションがすでに mailSession オブジェクト mSes を作成し、メー
ル システムとのセッションを開始しているものとします。
mailReturnCode mRet
mailRecipient mRecip
mRecip.Name = sle_to.Text
mRet = mSes.mailResolveRecipient(mRecip)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" アドレス ", &
sle_to.Text + " は見つかりませんでした ")
ELSE
mRet = mSes.mailRecipientDetails(mRecipient)
sle_to.Text = mRecipient.Name
END IF
関連項目
mailAddress
mailLogoff
mailLogon
mailRecipientDetails
mailSend
mailSaveMessage
機能
ユーザの受信トレイに、新しいメッセージを作成したり、既存のメッ
セージを置き換えたりします。
対象
mailSession オブジェクト
構文
mailsession.mailSaveMessage ( messageid, mailmessage )
引数
mailsession
messageid
794
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメール メッセージを保存します。
String 型の値。置換されるメッセージ ID を指定します。新
しいメッセージを保存する場合、空の文字列("")を指定
します。
PowerBuilder
第 10 章
引数
mailmessage
戻り値
PowerScript 関数
説明
保存するメッセージの情報を格納する mailMessage オブ
ジェクト構造体を指定します。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnInvalidMessage!
mailReturnUserAbort!
mailReturnDiskFull!
引数のいずれかの値が null の場合、null を返します。
解説
既存のメッセージを置き換える場合でも、メッセージを保存する前に
そのメッセージにアドレスを付加する必要があります。後でほかの
ユーザに送信するために、メッセージにアドレスを付けておくことが
できます。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次の例は、現行のユーザの受信トレイに新しいメッセージを作成しま
す。そのメッセージは、後で Jerry Smith に送られます。この例では、
アプリケーションがすでに mailSession オブジェクト mSes を作成し、
メール システムとのセッションを開始しているものとします。
mailRecipient recip
mailMessage msg
mailReturnCode mRet
recip.Name = "Smith, Jerry"
mRet = mSes.mailResolveRecipient(recip)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" 新しいメッセージの保存 ", &
" アドレスが適切ではありません。")
RETURN
END IF
msg.NoteText = mle_note.Text
msg.Subject = sle_subject.Text
msg.Recipient[1] = recip
mRet = mSes.mailSaveMessage("", msg)
IF mRet <> mailReturnSuccess! THEN
PowerScript リファレンス ボリューム 2
795
mailSaveMessage
MessageBox(" 新しいメッセージの保存 ", &
" 何らかの理由で失敗しました。")
END IF
次の例は、Jane Smith というエンド ユーザの受信トレイの最新のメッ
セージを置き換えます。mailSession オブジェクト mSe の MessageID 配
列からメッセージ ID を取得します。メッセージの件名を変更し、その
ユーザのアドレスを再設定して保存します。この例では、アプリケー
ションがすでに mailSession オブジェクト mSes を作成し、メール シス
テムとのセッションを開始しているものとします。
mailRecipient recip
mailMessage msg
mailReturnCode mRet
string s_ID
mRet = mSes.mailGetMessages()
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メッセージはありません ", " 受信トレイは空です。
")
RETURN
END IF
s_ID = mSes.MessageID[UpperBound(mSes.MessageID)]
mRet = mSes.mailReadMessage(s, msg, &
mailEntireMessage!, FALSE )
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メッセージ ", " メッセージを読むことができませ
ん。")
RETURN
END IF
msg.Subject = msg.Subject + " Test"
recip.Name = "Smith, Jane"
mRet = mSes.mailResolveRecipient( recip )
msg.Recipient[1] = recip
mRet = mSes.mailSaveMessage(s_ID, msg)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" 古いメッセージを保存します ", " 何らかの理由で
失敗しました。")
END IF
PowerBuilder のサンプルにあるメール アプリケーションを参照してく
ださい。
関連項目
796
mailReadMessage
mailResolveRecipient
PowerBuilder
第 10 章
PowerScript 関数
mailSend
機能
メール メッセージを送信します。メッセージ情報がない場合、メール
システムはメッセージを送る前に、情報を入力するダイアログボック
スを表示してメッセージ情報を要求します。
対象
mailSession オブジェクト
構文
mailsession.mailSend ( { mailmessage } )
引数
mailsession
mailmessage
(オプション)
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージを送ります。
mailMessage オブジェクト構造体を指定します。
mailReturnCode カタログ データ型。以下のいずれかの値を返します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnLoginFailure!
mailReturnUserAbort!
mailReturnDiskFull!
mailReturnTooManySessions!
mailReturnTooManyFiles!
mailReturnTooManyRecipients!
mailReturnUnknownRecipient!
mailReturnAttachmentNotFound!
引数のいずれかの値が null の場合、null を返します。
解説
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
mailSend の場合、mailMessage オブジェクトの Recipient プロパティと
して mailOriginator! は無効な値です。有効な値は、mailto!、mailcc!、お
よび mailbcc! です。送信者がメッセージのコピーを受け取る場合には、
mailcc! を使用します。
例
次の例は、mailSession オブジェクトを作成し、メール メッセージを送
信した後でメール システムとのセッションを終了して mailSession オ
ブジェクトを破棄します。
mailSession mSes
mailReturnCode mRet
mailMessage mMsg
PowerScript リファレンス ボリューム 2
797
Match
// mailSession オブジェクトを作成します。
mSes = create mailSession
// メール システムとのセッションを開始します。
mRet = mSes.mailLogon(mailNewSession!)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メール ", ' セッションを開始できません。')
RETURN
END IF
// mailMessage 構造体の要素に値を割り当てます。
mMsg.Subject = mle_subject.Text
mMsg.NoteText = 'Luncheon at 12:15'
mMsg.Recipient[1].name = 'Smith, John'
mMsg.Recipient[2].name = 'Shaw, Sue'
// メールを送信します。
mRet = mSes.mailSend(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox(" メール ", ' メールが送信されませんでした。')
RETURN
END IF
mSes.mailLogoff()
DESTROY mSes
PowerBuilder のサンプルにあるメール アプリケーションを参照してく
ださい。
関連項目
mailReadMessage
mailResolveRecipient
Match
機能
文字列の中に、指定された文字パターンがあるかどうかを調べます。
構文
Match ( string, textpattern )
引数
string
798
説明
文字列を指定します。この文字列の中に、指定された文字
パターンがあるかどうかを調べます。
PowerBuilder
第 10 章
引数
textpattern
PowerScript 関数
説明
String 型の値。文字列の中にあるかどうかを調べるテキス
ト パターンを指定します。
戻り値
Boolean 型。string の中に textpattern がある場合は true を返し、textpattern
がない場合は false を返します。引数が指定されていない場合、または
textpattern が不正な文字列の場合にも、false を返します。引数のいずれ
かの値が null の場合、null を返します。
解説
この関数を使用すると、文字列に一般的な文字パターンが含まれてい
るかどうかを調べることができます。特定の位置に文字列があるかど
うかを調べるには、Pos 関数を使用してください。
textpattern に指定するテキスト パターンは、通常の式に似ています。テ
キスト パターンは、特殊な意味を持つメタ文字と、実際に照合される
通常の文字を組み合わせて指定します。照合される文字列の先頭また
は末尾に、特殊な意味を持つ 1 つ以上の文字を指定してください。照
合される文字列には、特殊な意味を持つ文字以外のすべての文字を指
定できます。
テキスト パターンは、照合文字列で特殊な意味を持つメタ文字と、実
際に照合される非メタ文字で構成されます。次の表は、メタ文字の意
味と使用例を示しています。
表 0-6: Match 関数で使用されるメタ文字
メタ文字
キャレット(^)
ドル記号($)
ピリオド(.)
円記号(\)
PowerScript リファレンス ボリューム 2
意味
文字列の先頭文字と照
合します。
文字列の末尾の文字と
照合します。
任意の文字と照合しま
す。
円記号(\)の後に指
定されているメタ文字
の特殊な意味を取り消
します。つまり、円記
号(\)の後に指定さ
れている文字と照合し
ます。
使用例
^C は、C で始まる文字列と
照合します。
s$ は、s で終わる文字列と照
合します。
. . . は、連続する 3 文字と照
合します。
\\ は、\ と照合します。
799
Match
メタ文字
文字集合(角カッ
コ([ ]))で囲まれ
ている文字のグ
ループ)
意味
角カッコ([ ])内の各
文字と照合します。
使用例
[AEIOU] は A、E、I、O、U
と照合します。
文字集合の補集合
(角カッコ([ ])内
の最初の文字が
キャレット(^)の
場合)
キャレット(^)の後
に指定されている文字
グループ以外のすべて
の文字と照合します。
ハイフン(-)を使用すると、
文字集合に含まれている文字
の範囲を短縮して表すことが
できます。たとえば、[A-Zaz] はすべての英字と照合しま
す。
[^0-9] は、数字以外のすべて
の文字と照合し、[^A-Za-z]
は、英字以外のすべての文字
と照合します。
アスタリスク(*)、プラス記号(+)、疑問符(?)の各メタ文字は、独
立した演算子です。この演算子は、通常の式で反復を指定するときに
使用します。
表 0-7: Match 関数でメタ文字として使用される独立した演算子
メタ文字
*(アスタリスク)
意味
0 回以上の反復を表し
ます。
+(プラス記号)
1 回以上の反復を表し
ます。
? (疑問符)
0 回または 1 回の反復
を表します。
使用例
A* は、A がまったくない文
字列か、A が 1 つ以上ある文
字列(A、AA、AAA など)
と照合します。
A+ は、A が 1 つ以上ある文
字列(A、AAA など)と照合
します。
A? は、空の文字列("")か、
文字 A と照合します。
テキスト パターンの例 次の表は、さまざまなテキスト パターンと、各
パターンに一致するテキストの例を示しています。
表 0-8: テキスト パターンの例
テキスト パターン
AB
B*
AB*C
AB+C
800
照合される文字列の例
AB を含む文字列。例:ABA、DEABC、graphAB_one
B がまったくない文字列か、B が 1 つ以上ある文字列。
例:AC、B、BB、BBB、ABBBC
AC、ABC、ABBC などのパターンを含む文字列(B が
まったくない文字列か、B が 1 つ以上ある文字列)
ABC、ABBC、ABBBC などのパターンを含む文字列
(B が 1 つ以上ある文字列)
PowerBuilder
第 10 章
テキスト パターン
ABB*C
^AB
AB?C
^[ABC]
[^ABC]
^[^abc]
^[^a-z]$
[A-Z]+
^[0-9]+$
^[0-9][0-9][0-9]$
^([0-9][0-9][0-9])$
例
PowerScript 関数
照合される文字列の例
ABC、ABBC、または ABBBC などのパターンを含む文
字列(1 つの B と 0 個以上の B を含む文字列)
先頭が AB の文字列
AC または ABC を含む文字列(B がまったくない文字
列か、B が 1 つある文字列)
A、B、C のいずれかの文字で始まる文字列
A、B、C 以外の任意の文字を含む文字列
a、b、c 以外の文字で始まる文字列
小文字以外の 1 文字の文字列。^ と $ は、文字列の先頭
と末尾の文字を示しています。
1 文字以上の英字の大文字を含む文字列
数字だけの文字列
3 桁の数字の文字列
3 桁の数字を丸カッコ(( ))で囲んだ文字列
次のステートメントは、sle_ID 内のテキストが 1 文字以上の大文字の英
字または小文字の英字から始まる場合に true を返します。パターンの
先頭の ^ は、^ の後に指定した文字が文字列の先頭文字であることを
示します。
Match(sle_ID.Text, "^[A-Za-z]")
次のステートメントは、sle_ID 内のテキストに数字が含まれている場合
に false を返します。角カッコ内の ^ は、^ の後に指定した文字を除外
することを示します。
Match(sle_ID.Text, "[^0-9]")
次のステートメントは、sle_ID 内のテキストに 1 文字の大文字の英字が
ある場合に true を返します。
Match(sle_ID.Text, "[A-Z]")
次のステートメントは、sle_ID 内のテキストに 1 文字以上の大文字の英
字がある場合に true を返します。+ は、指定したパターンが 1 つ以上
あることを示します。
Match(sle_ID.Text, "[A-Z]+")
次のステートメントは、sle_ID 内のテキストに 2 桁の数字と 1 文字の英
字以外の文字が含まれている場合に false を返します。^ と $ は、文字
列の先頭と末尾を示します。
Match(sle_ID.Text, "^[0-9][0-9][A-Za-z]$")
PowerScript リファレンス ボリューム 2
801
MatchW
関連項目
Pos
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Match メソッド
MatchW
機能
文字列の中に、指定された文字パターンがあるかどうかを調べます。
この関数は、サポートされなくなります。動作は、すべての環境で
Match 関数と同じです。
構文
MatchW ( string, textpattern )
Max
機能
2 つの数値を比較して、より大きな数値を返します。
構文
Max ( x, y )
引数
x
y
説明
y と比較する数値を指定します。
x と比較する数値を指定します。
戻り値
x または y のデータ型のうち、精度の高い方のデータ型で返します。引
数のいずれかの値が null の場合、null を返します。
解説
比較する値のどちらかが null 値の場合、null を返します。
例
次のステートメントは、7 を返します。
Max(4,7)
次のステートメントは、-4 を返します。
Max(- 4, - 7)
次の例は、小数点以下の桁を含む値 8.2 を返します。
Max(8.2, 4)
関連項目
802
Min
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Max メソッド
PowerBuilder
第 10 章
PowerScript 関数
MemberDelete
機能
ストレージの OLE オブジェクトからメンバーを削除します。メンバー
であるのは、ほかの OLE オブジェクト(サブストレージ)やストリー
ムです。
対象
OLEStorage オブジェクト
構文
olestorage.MemberDelete ( membername )
引数
olestorage
membername
戻り値
説明
削除するメンバー(サブストレージまたはストリーム)を
格納する OLEStorage 型のオブジェクトの変数名を指定し
ます。
OLEStorage オブジェクトから削除するメンバーの名前を
表す文字列を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-4
-5
-9
ストレージが開かれていません。
メンバーがありません。
リソースが不足しているか、開いているファイルが多すぎます。
アクセスが拒否されました。
ストレージの状態が無効です。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、ストレージ オブジェクトを作成し、ファイルの中の OLE オ
ブジェクトを開きます。wordobj がそのオブジェクト内のサブストレー
ジであるかどうかを確認します。wordobj がサブストレージである場
合、wordobj を削除し、OLE オブジェクトをファイルに書き込みます。
boolean lb_memexists
integer result
stg_stuff = CREATE OLEStorage
stg_stuff.Open("c:\ole2\mystuff.ole")
stg_stuff.MemberExists("wordobj", lb_memexists)
IF lb_memexists THEN
result = stg_stuff.MemberDelete("wordobj")
IF result = 0 THEN stg_stuff.Save( )
END IF
関連項目
MemberExists
MemberRename
PowerScript リファレンス ボリューム 2
803
MemberExists
Open
MemberExists
機能
指定されたメンバーがストレージの OLE オブジェクトに存在するか
どうかを確認します。メンバーであるのは、ほかの OLE オブジェクト
(サブストレージ)やストリームです。
対象
OLEStorage オブジェクト
構文
olestorage.MemberExists ( membername, exists )
引数
olestorage
membername
exists
戻り値
説明
OLEStorage 型のオブジェクト変数の名前を指定します。
メンバー名を表す文字列を指定します。OLE オブジェクト
に存在するかどうかを確認します。
Boolean 型の変数を指定します。メンバーが存在するかど
うかを表す値が格納されます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ストレージが開かれていません。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、ストレージ オブジェクトを作成し、ファイルの中の OLE オ
ブジェクトを開きます。wordobj がそのオブジェクト内のサブストレー
ジであるかどうかを確認します。wordobj がサブストレージである場
合、wordobj を削除し、OLE オブジェクトをファイルに書き込みます。
boolean lb_memexists
integer result
stg_stuff = CREATE OLEStorage
stg_stuff.Open("c:\ole2\mystuff.ole")
stg_stuff.MemberExists("wordobj", lb_memexists)
IF lb_memexists THEN
result = stg_stuff.MemberDelete("wordobj")
IF result = 0 THEN stg_stuff.Save( )
END IF
関連項目
804
MemberDelete
PowerBuilder
第 10 章
PowerScript 関数
MemberRename
Open
MemberRename
機能
OLE ストレージのメンバーの名前を変更します。メンバーであるのは、
ほかの OLE オブジェクト(サブストレージ)やストリームです。
対象
OLEStorage オブジェクト
構文
olestorage.MemberRename ( membername, newname )
引数
olestorage
membername
newname
戻り値
説明
メンバー(サブストレージまたはストリーム)を含んでい
る OLEStorage 型のオブジェクト変数名を指定します。そ
の中のメンバーの名前を変更します。
名前を変更するメンバーの名前を表す文字列を指定しま
す。
メンバーに割り当てる新しい名前を表す文字列を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-4
-5
-6
-9
ストレージが開かれていません。
メンバーがありません。
リソースが不足しているか、開いているファイルが多すぎます。
アクセスが拒否されました。
ストレージの状態が無効です。
同じ名前が存在します。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、ストレージ オブジェクトを作成し、ファイルの中の OLE オ
ブジェクトを開きます。wordobj がそのオブジェクト内のサブストレー
ジであるかどうかを確認します。サブストレージである場合、wordobj
の名前を memo に変更し、OLE オブジェクトをファイルに書き込みま
す。
boolean lb_memexists
integer result
stg_stuff = CREATE OLEStorage
PowerScript リファレンス ボリューム 2
805
MessageBox
stg_stuff.Open("c:\ole2\mystuff.ole")
stg_stuff.MemberExists("wordobj", lb_memexists)
IF lb_memexists THEN
result = &
stg_stuff.MemberRename("wordobj", "memo")
IF result = 0 THEN stg_stuff.Save( )
END IF
関連項目
MemberDelete
MemberExists
Open
MessageBox
機能
指定されたタイトル、テキスト、アイコン、およびボタンが表示され
ているシステムのメッセージ ボックスを表示します。
構文
MessageBox ( title, text {, icon {, button {, default } } } )
引数
title
text
icon
(オプション)
説明
メッセージ ボックスのタイトル バーに表示するタイトル
を表す文字列を指定します。
メッセージ ボックスに表示するテキストとして、数値デー
タ型、文字列、および Boolean 型の値を指定することがで
きます。
メッセージ ボックスの左側に表示するアイコンを示すカ
タログ データ型の値を指定します。値は以下のとおりで
す。
• Information!(デフォルト)
• StopSign!
• Exclamation!
• Question!
• None!
806
PowerBuilder
第 10 章
引数
button
(オプション)
PowerScript 関数
説明
カタログ データ型の値。メッセージ ボックスの下部に表
示するコマンドボタン群を指定します。カタログ データ型
にリストされる順番に、ボタンに番号が付けられます。値
は以下のとおりです。
• OK! -(デフォルト)[OK]ボタン
• OKCancel! -[OK]ボタンと[キャンセル]ボタン
• YesNo! -[はい]ボタンと[いいえ]ボタン
• YesNoCancel! -[はい]、
[いいえ]、
[キャンセル]の各
ボタン
• RetryCancel! -[再試行]ボタンと[キャンセル]ボタン
default
(オプション)
• AbortRetryIgnore! -[中止]
、
[再試行]、
[無視]の各ボ
タン
デフォルト ボタンとして使用するボタンの番号を指定し
ます。標準の設定は 1 です。表示されるボタン数よりも多
い数が指定された場合、標準の設定が使用されます。
戻り値
Integer 型。正常に終了した場合、選択されているボタンの番号(1、2
または 3)を返します。エラーが発生した場合、-1 を返します。引数
のいずれかの値が null の場合、null を返します。
解説
title または text 内の文字列が null 値の場合、メッセージ ボックスは表
示されません。特に指定しない限り、エンド ユーザがボタンをクリッ
クするか、〔Enter〕を押すと、スクリプトの実行は続行されます。こ
れは、
ボタンが 1 個しかない場合には有効な機能です。メッセージ ボッ
クスに複数のボタンがある場合、エンド ユーザが選択したボタンに対
応した処理をスクリプトに記述します。
現行のアプリケーションでの操作を続行するには、メッセージ ボック
スへの何らかの応答が必要です。ただし、メッセージ ボックスに応答
せずに、ほかの Windows アプリケーションに切り替えることもできま
す。
RightToLeft 対応(右から左に文字を書く言語を使用する国に対応)の
PowerBuilder および Windows を実行している場合に、アラビア語また
はヘブライ語を使用してボタン作成とメッセージ表示を行うときは、
アプリケーション オブジェクトの RightToLeft プロパティを true にし
ます。メッセージは右から左方向へ表示されるようになります。ただ
し、PowerBuilder のローカライズ版を使っていない場合、ボタンに表
示されるテキストは、英語のままです。
PowerScript リファレンス ボリューム 2
807
MessageBox
メッセージ ボックスが表示されない場合
コントロールは一定の操作を行っているときにマウスを独占してしま
います。たとえば、コマンドボタン コントロールの場合はクリックの
操作を行っているとき、エディット コントロールの場合はテキストを
選択しているとき、スクロールバー コントロールの場合はスクロール
の操作を行っているときに、マウスを独占します。マウスが独占され
ている間に MessageBox 関数を呼び出すと、Windows は不安定になり
ます。
MessageBox 関数はフォーカスを横取りするので、フォーカスを移動し
ている最中(LoseFocus イベントの間など)は、MessageBox 関数を使
用しないでください。そのかわりに、ウィンドウのタイトルまたはマ
ルチライン エディット コントロールにメッセージを表示することが
できます。
また、PrintOpen 関数の後に MessageBox 関数を呼び出すと動作がおかし
くなります。詳細については、PrintOpen 関数を参照してください。
例
次の例は、タイトル Greeting、テキスト Hello User、アイコン(Information!)
、
およびデフォルト ボタン([OK]ボタン)を表示したメッセージ ボッ
クスを開きます。
MessageBox("Greeting", "Hello User")
次の例は、タイトル Result 、関数の実行結果、Exclamation アイコン、
[OK]ボタン、およびデフォルト ボタン([キャンセル]ボタン)を
表示したメッセージ ボックスを開きます。
integer Net
long Distance = 3.457
Net = MessageBox("Result", Abs(Distance), &
Exclamation!, OKCancel!, 2)
IF Net = 1 THEN
... // [OK]ボタンが選択された場合の処理。
ELSE
... // [キャンセル]ボタンが選択された場合の処理。
END IF
808
PowerBuilder
第 10 章
PowerScript 関数
Mid
機能
文字列の中の指定された文字位置から、指定された文字数分の文字列
を取り出します。
構文
Mid ( string, start {, length } )
引数
string
start
length
(オプション)
説明
取得する文字列を含む文字列を指定します。
Long 型の値。取り出す文字列の最初の文字の位置を指定
します(文字列の先頭文字の位置は、1 になります)
。
Long 型の値。取り出す文字数を指定します。length を省略
した場合、または length が start に指定された位置から末
尾までの文字数よりも大きい場合には、start に指定された
位置から末尾までの文字列を返します。
戻り値
String 型。string の start に指定された文字位置から、length に指定され
た文字数分の文字列を返します。start に指定された値が string に指定
された文字数よりも大きい場合、空の文字列("")を返します。また、
length に指定された値が start に指定された文字位置から末尾までの文
字数よりも大きい場合、start に指定された位置から末尾までの文字列
を返します。ただし、戻り値の文字数を length に指定された値と同じ
にするために、スペースを追加することはありません。引数のいずれ
かの値が null の場合、null を返します。
解説
取り出す文字列の位置を検索する場合は、Pos 関数を使用します。Pos
関数の戻り値を、Mid 関数の start 引数の値に使用します。文字列の左
端または右端から特定の文字数の文字列を取り出すには、Left 関数また
は Right 関数を使用します。
例
次の例は、"RUTH" を返します。
Mid("BABE RUTH", 5, 5)
次の例は、空の文字列("")を返します。
Mid("BABE RUTH", 40, 5)
次の例は、"BE RUTH" を返します。
Mid("BABE RUTH", 3)
次の例は、シングルライン エディット コントロール sle_address 内の
文字列(40 文字目以降)を ls_address_extra に格納します。
string ls_address_extra
ls_address_extra = Mid(sle_address.Text, 40)
PowerScript リファレンス ボリューム 2
809
Mid
次の例では、ユーザ定義関数 str_to_int_array は、文字列を整数配列に変
換します。配列の各整数は、2 文字含みます(最初の文字は上位バイ
ト(ASCII 値 * 256)として、2 番目の文字は下位バイトとして)。この
関数の引数は、値によって渡される文字列 str と、参照によって渡され
る整数配列 iarr です。配列の長さは、関数が呼び出される前に初期化
されます。整数配列が文字列よりも長い場合、スクリプトはスペース
を格納します。文字列が整数配列よりも長い場合、スクリプトは余分
な文字を無視します。
関数を呼び出すには、次のように記述します。
int rtn
iarr[20]=0// 必要な場合は、配列を初期化します。
rtn = str_to_int_array("This is a test.", iarr)
str_to_int_array 関数は、次のとおりです。
long stringlen, arraylen, i
string char1, char2
// 配列と文字列の長さを取得します。
arraylen = UpperBound(iarr)
stringlen = Len(str)
// 文字列を整数配列に変換するまでループします。
FOR i = 1 to arraylen
IF (i*2 <= stringlen) THEN
// str から 2 文字を取得します。
char1 = Mid(str, i*2, 1)
char2 = Mid(str, i*2 - 1, 1)
ELSEIF (i*2 - 1 <= stringlen) THEN
// 最後の文字を取得します。
char1 = " "
char2 = Mid(str, i*2 - 1, 1)
ELSE
// str の最後を超える場合は、スペースを使用します。
char1 = " "
char2 = " "
END IF
iarr[i] = Asc(char1) * 256 + Asc(char2)
NEXT
RETURN 1
整数の配列を文字列に変換する方法については、Asc 関数の例を参照し
てください。
810
PowerBuilder
第 10 章
関連項目
PowerScript 関数
AscA
Left
Pos
Right
UpperBound
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Mid メソッド
MidA
機能
文字列を DBCS に一時的に変換し、文字列の指定された位置から、指
定した数のバイトを返します。
構文
MidA (string, start, {length})
引数
string
start
length
(オプション)
説明
検索する文字列を指定します。
Long 型の値。取り出す文字列の最初のバイト位置を指定
します(文字列の先頭バイトの位置は、1 になります)。
Long 型の値。取り出すバイト数を指定します。length を省
略した場合、または length が start に指定された位置から
末尾までのバイト数よりも大きい場合には、start に指定さ
れた位置から末尾までのバイトを返します。
戻り値
String 型。ソース文字列で、start 引数で指定されたバイト位置から、取
り出されるバイト数分の文字列を返します。start に指定された値が
string のバイト数よりも大きい場合、空の文字列("")を返します。ま
た、length に指定された値が start に指定された文字位置から末尾まで
のバイト数よりも大きい場合、start に指定された位置から末尾までの
バイトを返します。ただし、戻り値の文字数を length に指定された値
と同じにするために、スペースを追加することはありません。引数の
いずれかの値が null の場合、null を返します。
解説
MidA 関数は、PowerBuilder 9 の DBCS 環境 における Mid 関数の機能に
代わるものです。
PowerScript リファレンス ボリューム 2
811
MidC
MidC
機能
文字列の指定されたバイト位置から、指定されたバイト数の文字列を
取り出して返します。この関数は、サポートされなくなります。
構文
MidC ( string, start {, length } )
MidW
機能
文字列の中の指定された文字位置から、指定された文字数分の文字列
を取り出します。この関数は、サポートされなくなります。動作は、
すべての環境で Mid 関数と同じです。
構文
MidW ( string, start {, length } )
Min
機能
2 つの数値を比較して、より小さな数値を返します。
構文
Min ( x, y )
引数
x
y
説明
y と比較する数値を指定します。
x と比較する数値を指定します。
戻り値
x または y のデータ型のうち、精度の高い方のデータ型で返します。引
数のいずれかの値が null の場合、null を返します。
解説
比較する値のどちらかが null 値の場合、null を返します。
例
次のステートメントは、4 を返します。
Min(4,7)
次のステートメントは、-7 を返します。
Min(- 4, - 7)
次の例は、小数点以下の桁を含む値 3.0 を返します。
Min(9.2,3.0)
関連項目
812
Max
PowerBuilder
第 10 章
PowerScript 関数
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Min メソッド
Minute
機能
指定された Time 型の値から、分の部分を取り出します。
構文
Minute ( time )
引数
time
説明
Time 型。時刻を表す値を指定します。指定された値から、
分の部分を取り出します。
戻り値
Integer 型。time で指定された値の分の部分に対応する整数(00 ~ 59)
を返します。time が null の場合、null を返します。
例
次のステートメントは、1 を返します。
Minute(19:01:31)
関連項目
Hour
Second
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Minute メソッド
Mod
機能
除算の余り(剰余)を取得します。
構文
Mod ( x, y )
引数
x
y
説明
y で割られる数値(被除数)を指定します。
x を割る数値(除数)を指定します。
戻り値
x または y のデータ型のうち、精度の高い方のデータ型で返します。引
数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、2 を返します。
Mod(20, 6)
PowerScript リファレンス ボリューム 2
813
ModifyData
次のステートメントは、1.5 を返します。
Mod(25.5, 4)
次のステートメントは、2.5 を返します。
Mod(25, 4.5)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Mod メソッド
ModifyData
グラフのデータ系列におけるデータ ポイントの値を変更します。グラ
フ提示様式によって 2 つの構文があります。
目的
散布図以外のすべてのグラフを変更する
散布図を変更する
使用する構文
構文 1
構文 2
構文 1
散布図以外のすべてのグラフを変更する
機能
グラフのデータ系列におけるデータ ポイントの値を変更します。位置
または項目を使用して、変更するデータ ポイントを指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフでは、データウィンドウか
ら直接データが取得されるからです。
構文
controlname.ModifyData (seriesnumber, datapoint, datavalue
{, categoryvalue } )
引数
controlname
seriesnumber
datapoint
datavalue
814
説明
データを変更するグラフ コントロールの名前を指定します。
データを変更するデータ系列の番号を指定します。
データを変更するデータ ポイントの番号を指定します。
データ ポイントの新しい値を指定します。datavalue の
データ型は、グラフの値軸のデータ型と同じでなければな
りません。
PowerBuilder
第 10 章
引数
categoryvalue
(オプション)
解説
PowerScript 関数
説明
datavalue の項目を指定します。categoryvalue のデータ型
は、グラフの項目軸のデータ型と同じでなければなりませ
ん。
categoryvalue を指定すると、ModifyData 関数は、指定された位置の項目
の値とデータ ポイントの値を変更します。指定した名前と同じ名前が
ほかの位置にすでにある場合、その位置にあるデータが変更されます。
datapoint に指定した位置は無視され、InsertData 関数と同じ処理を行い
ます。
位置を 0 に指定すると、ModifyData 関数は常に InsertData 関数と同じ処
理 を 行 い ま す。InsertData 関 数 の「別 の 記 述 方 法」で 解 説 し て い る
AddData 関数、InsertData 関数、および ModifyData 関数の比較を参照し
てください。
例
次のステートメントは、グラフ gr_product_data のデータ系列 Costs の
Apr に対するデータを変更します。
integer SeriesNbr, CategoryNbr
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
CategoryNbr = gr_product_data.FindCategory("Apr")
gr_product_data.ModifyData(SeriesNbr, &
CategoryNbr, 1250)
関連項目
AddData
FindCategory
FindSeries
InsertCategory
InsertData
構文 2
散布図を変更する
機能
グラフのデータ系列におけるデータ ポイントの値を変更します。位置
を使用してデータ ポイントを指定し、x 座標と y 座標の値を与えます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフでは、データウィンドウか
ら直接データが取得されるからです。
構文
controlname.ModifyData ( seriesnumber, datapoint, xvalue, yvalue )
PowerScript リファレンス ボリューム 2
815
Month
引数
controlname
seriesnumber
datapoint
xvalue
yvalue
説明
データ系列のデータを変更する散布図の名前を指定しま
す。
データを変更するデータ系列を識別する番号を指定しま
す。
データを変更するデータ ポイントの番号を指定します。
変更するデータの新しい x 座標の値を指定します。
変更するデータの新しい y 座標の値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
散布図には、項目がありません。データを変更するデータ系列の位置
を指定し、データに x 座標と y 座標の値を与えます。
例
次のステートメントは、散布図 gr_product_data のデータ系列 Test One
のデータ ポイント 9 を変更します。
integer SeriesNbr
SeriesNbr = gr_product.FindSeries("Test One")
gr_product_data.ModifyData(SeriesNbr, &
9, 4.55, 86.38)
関連項目
AddData
FindSeries
Month
機能
指定された日付の値から、月の値の部分を取得します。
構文
Month ( date )
引数
date
説明
Date 型の値を指定します。この値から月の値の部分を取得
します。
戻り値
Integer 型。date に指定された値の月の部分に対応する整数(1 ~ 12)
を返します。date が null の場合、null を返します。
例
次の例は、1 を返します。
Month(2004-01-31)
816
PowerBuilder
第 10 章
PowerScript 関数
次の例は、シングルライン エディット コントロール sle_start_data に入
力された日付の値から取得した月の部分を start_month に格納します。
integer start_month
start_month = Month(date(sle_start_date.Text))
関連項目
Day
Date
Year
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Month メソッド
Move
機能
オブジェクトまたはコントロールを親ウィンドウと相対的な位置に移
動します。または、ウィンドウ オブジェクトを画面と相対的な位置に
移動します。
対象
すべてのオブジェクトとコントロール
構文
objectname.Move ( x, y )
引数
objectname
x
y
説明
新しい位置に移動するオブジェクトまたはコントロール
の名前を指定します。
新しい位置の X 座標(PowerBuilder 単位系)を指定します。
新しい位置の Y 座標(PowerBuilder 単位系)を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合、
または objectname が最大化されたウィンドウの場合には、-1 を返しま
す。引数のいずれかの値が null の場合、null を返します。
解説
x と y は、オブジェクトまたはコントロールの左上隅の位置を示す新
しい座標です。(ラジオボタン コントロール、楕円コントロールなど
のように)オブジェクトまたはコントロールの形状が四角形ではない
場合、x と y は、その形状を囲む四角形の左上隅の位置を示します。直
線コントロールでは、x と y は BeginX と BeginY プロパティになりま
す。.
コントロール、描画オブジェクト、チャイルド ウィンドウの X と Y
は、親ウィンドウの左上隅と相対的な位置関係を持ちます。それに対
して、メイン、ポップアップ、レスポンスの各ウィンドウの X と Y は、
表示画面の左上隅と相対的な位置関係を持ちます。
PowerScript リファレンス ボリューム 2
817
Move
Move 関数は、最大化されたシートまたはウィンドウを移動することが
できません。ウィンドウが最大化されている場合、Move 関数は -1 を返
します。
座標を親ウィンドウのフレームや画面の外に設定できます。このよう
にすると、オブジェクトやコントロールを効果的に非表示にすること
ができます。
ピクチャ コントロールの画像を指定の位置に描画するには、Draw 関
数を使用します。
移動したオブジェクトの X と Y プロパティは変更されます。
次に示す構文は、オブジェクトまたはコントロールの X
と Y プロパティを直接設定します。Move 関数と同じ機能を実行します
が、objectname で指定されたオブジェクトは 2 回再描画されます。最
初は新しい X の位置で、2 回目は新しい X と Y の位置で再描画されま
す。
別の記述方法
objectname.X = x
objectname.Y = y
次のステートメントは、gb_box1 を 2 回再描画します。
gb_box1.X = 150
gb_box1.Y = 200
次のステートメントは同様の機能を実行しますが、gb_box1 を 1 回だけ
再描画します。
gb_box1.Move(150,200)
例
次の例は、gb_box1 の X 座標と Y 座標をそれぞれ 150 と 200 に変更し
て新しい位置に移動します。
gb_box1.Move(150, 200)
次の例は、ピクチャ コントロール p_Train2 をピクチャ p_Train1 の隣に
移動します。
P_Train2.Move(P_Train1.X + P_Train1.Width, &
P_Train1.Y)
818
PowerBuilder
第 10 章
PowerScript 関数
MoveTab
機能
タブ ページのインデックス番号を変更して、タブ コントロールのタブ
ページを別の位置に移動します。
対象
タブ コントロール
構文
tabcontrolname.MoveTab (source, destination )
引数
tabcontrolname
source
destination
説明
移動するタブを含むタブ コントロールの名前を指定しま
す。
Integer 型の値。移動するタブのインデックスを指定します。
Integer 型の値。source に指定されたタブの移動先のイン
デックスを指定します。移動先は、タブを移動する前の状
態のインデックスで指定してください。destination が 0 ま
たはタブ数以上の場合、source に指定されたタブは最後に
移動します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
MoveTab 関数はまた、タブ コントロールの Control 配列(これは、タブ
コントロール内のタブページの一覧を管理しているプロパティです)
の中のタブ ページを並べ替えて、新しいタブ順序に一致させます。
例
次の例は、最初のタブを最後に移動します。
tab_1.MoveTab(1, 0)
次の例は、4 番目のタブを最初に移動します。
tab_1.MoveTab(4, 1)
次の例は、4 番目のタブを 3 番目に移動します。
tab_1.MoveTab(4, 3)
関連項目
OpenTab
SelectTab
PowerScript リファレンス ボリューム 2
819
_Narrow
_Narrow
機能
CORBA オブジェクトの参照を、一般的なスーパータイプから特定の
サブタイプに変換します。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
CORBAObject オブジェクト
構文
corbaobject._Narrow ( newremoteobject, classname )
引数
corbaobject
newremoteobject
classname
説明
変換する CORBAObject 型のオブジェクトを指定します。
変換されたオブジェクトの参照を格納する変数を指
定します。
オブジェクト参照を限定するサブタイプのクラス名
を指定します。
戻り値
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
_Narrow 関数を使用すると、EAServer に接続している CORBA 互換の
クライアントにおいて、プロキシ オブジェクトを限定することができ
ます。そのほかの例については、関連項目リストの関数を参照してく
ださい。
例
次の例は、CORBA オブジェクトの参照を、n_Bank_Account インタフェー
スに限定します。
CORBAObject my_corbaobj
n_Bank_Account my_account
...
...
my_corbaobj._narrow(my_account,"Bank/n_Bank_Account")
my_account.withdraw(100.0)
次の例で示すコンポーネントは、EAServer 内の個別のドメインに存在
する EJB コンポーネントです。この場合、SimpleBean コンポーネント
のクラスは、../classes/adomain/asimplepackage サブディレクトリにあり
ます。
CORBAObject my_corbaobj
SimpleBean my_simplebean
SimpleBeanHome my_simplebeanhome
...
my_corbaobj._narrow(my_simplebeanhome,
820
PowerBuilder
第 10 章
PowerScript 関数
"adomain/asimplepackage/SimpleBeanHome")
関連項目
_Is_A
Resolve_Initial_References
String_To_Object
NextActivity
機能
トレース ファイルの次の動作を取得します。
対象
TraceFile オブジェクト
構文
instancename.NextActivity ( )
引数
instancename
説明
TraceFile オブジェクトのインスタンス名を指定します。
戻り値
TraceActivityNode
解説
NextActivity 関数を使うと、トレース ファイル中の次の動作を読み込め
ます。NextActivity 関数は、検索した次の動作を TraceActivityNode オブ
ジェクトとして返します。次の動作が見つからない場合、またはファ
イルがオープンされていない場合は、NextActivity 関数は無効なオブ
ジェクトを返します。TraceFile オブジェクトの LastError プロパティを
参照すると、エラーの種類を確認できます。
この関数を使用する前に、Open 関数を使ってトレース ファイルを開い
ておく必要があります。NextActivity 関数と Open 関数とともに、TraceFile
オブジェクトが提供するほかのプロパティおよび関数を使うと、ト
レース ファイルの内容に直接アクセスできます。たとえば、既存の解
析モデル化オブジェクトを使わずに、トレース データを独自の方法で
解析したい場合には、これらの関数を使用します。
例
次の例は、トレース ファイルを開き、次にユーザ定義関数
of_dumpactivitynode を使用して、各動作の種類に従って、動作情報をレ
ポートします。
String ls_filename, ls_line
TraceFile ltf_file
TraceActivityNode ltan_node
ls_filename = sle_filename.text
ltf_file = CREATE TraceFile
PowerScript リファレンス ボリューム 2
821
Now
ltf_file.Open(ls_filename)
ls_line = "CollectionTime = " + &
String(ltf_file.CollectionTime) + "~r~n" + &
"Num Activities = " + &
String(ltf_file.NumberOfActivities) + "~r~n
mle_output.text = ls_line
ltan_node = ltf_file.NextActivity()
DO WHILE IsValid(ltan_node)
ls_line = of_dumpactivitynode(ltan_node)
ltan_node = ltf_file.NextActivity()
mle_output.text = ls_line
LOOP
関連項目
Open
Close
Reset
Now
機能
クライアント マシンのシステム時刻に基づいて、現在の時刻を取得し
ます。
構文
Now ( )
戻り値
Time 型。クライアント マシンのシステム時刻に基づいて、現在の時刻
を返します。
解説
Now 関数は、実際の時刻をシステムに設定されている時刻と比較する
場合や、システムに設定されている時刻を画面に表示する場合に使用
します。Timer 関数を使用すると、Timer イベントが起動し、Now 関数
は画面を再描画します。
例
次の例は、現在のシステム時刻を返します。
Now()
次の例は、スタティックテキスト コントロール st_time に現在の時刻を
表示します。Timer イベントが 60 秒ごとに起動するようにタイマーを
設定し、表示する現在時刻を最新の時刻に更新します。ウィンドウの
Open イベントに対するスクリプトで最初の時刻を表示し、タイマーを
始動します。Timer イベントに対するスクリプトは、時刻を再表示しま
す。
822
PowerBuilder
第 10 章
PowerScript 関数
次の例は、ウィンドウの Open イベントに対するスクリプトです。
st_time.Text = String(Now(), "hh:mm")
Timer(60)
次の例は、Timer イベントに対するスクリプトで表示している時刻を更
新します。
st_time.Text = String(Now(), "hh:mm")
関連項目
Today
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Now メソッド
ObjectAtPointer
機能
エンド ユーザがクリックしたグラフ上の位置を検出します。ObjectAtPointer
関数は、ポインタが位置しているグラフの領域を取得し、関連付けら
れるデータ系列とデータ ポイントの番号を指定された変数に格納し
ます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.ObjectAtPointer ( { graphcontrol, } seriesnumber, datapoint )
引数
controlname
説明
グラフ オブジェクトの名前を指定します。そのグラフ上の
ポインタが示すオブジェクトを求めます。または、グラフ
を含むデータウィンドウ コントロールを指定します。
graphcontrol
(オプション)データウィンドウ コントロール上のグラフ
(データウィン 名を表す文字列を指定します。そのグラフ上のポインタの
ドウ コント
下のオブジェクトを求めます。
ロールのみ)
seriesnumber
Integer 型の変数を指定します。ポインタの下のデータ系列
の番号を格納します。
datapoint
Integer 型の変数を指定します。ポインタの下のデータ ポ
イントの番号を格納します。
戻り値
grObjectType 型。エンド ユーザがグラフ上の任意の箇所(空の領域を
含む)をクリックした場合、grObjectType カタログ データ型の値を返
します。グラフの外をクリックした場合、null を返します。
PowerScript リファレンス ボリューム 2
823
ObjectAtPointer
grObjectType カタログ データ型の値とその値が示すグラフの部分は、
次のとおりです。
解説
•
TypeCategory! - 項目のラベル
•
TypeCategoryAxis! - 項目軸、または項目ラベルと項目ラベルの間
•
TypeCategoryLabel! - 項目軸のラベル
•
TypeData! - データ ポイントまたはほかのデータ マーカー
•
TypeGraph! - 指定された grObjectType カタログ データ型のグラフ
コントロール上の任意の位置
•
TypeLegend! - 凡例ボックス内(データ系列ラベル上は除く)
•
TypeSeries! - グラフの型が直線の場合にデータ系列のデータ ポイ
ントに接続する直線、または凡例ボックスのデータ系列ラベル上
の直線
•
TypeSeriesAxis! - 3D グラフのデータ系列軸
•
TypeSeriesLabel! - 3D グラフのデータ系列軸のラベル
•
TypeTitle! - グラフのタイトル
•
TypeValueAxis! - 数値軸(数値ラベル上も含む)
•
TypeValueLabel! - エンド ユーザがクリックした数値軸のラベル
ObjectAtPointer 関数を使用すると、エンド ユーザがグラフのどこをク
リックしているのかを知ることができます。関数は、エンド ユーザが
操作しているグラフの各部分を識別する grObjectType カタログ データ
型の値を返します。エンド ユーザがデータ系列、データ ポイント、お
よび項目をクリックすると、ObjectAtPointer 関数は、指定された変数に
データ系列および(または)データ ポイント番号を格納します。
エンド ユーザがデータ ポイント(または、線分や棒などのデータ マー
ク)、または凡例ボックスのデータ系列ラベルをクリックすると、
ObjectAtPointer 関数は、指定された変数にデータ系列番号を格納しま
す。
エンド ユーザがデータ ポイントまたは項目の目盛ラベルをクリック
すると、変数にデータ ポイント番号を格納します。
エンド ユーザが実際のデータ ポイントではなく、データ系列内をク
リックした場合、ObjectAtPointer 関数は datapoint に 0 を格納します。項
目をクリックした場合、seriesnumber に 0 を格納します。グラフのその
ほかの部分をクリックした場合、両方の変数に 0 を格納します。
824
PowerBuilder
第 10 章
PowerScript 関数
ObjectPointer 関数を最初に呼び出す場合
ObjectAtPointer 関数は、グラフ コントロールに対する Clicked イベント
のスクリプトの中で最初に呼び出すと効果的です。グラフ コントロー
ルが使用可能であることを確認してください。特に指定しない限り、
グラフ コントロールは使用不可になっています。使用不可になってい
ると、Clicked イベントは起動されません。
例
次のステートメントは、グラフ gr_product でクリックされた位置のデー
タ系列番号とデータ ポイント番号を SeriesNbr および ItemNbr に格納
します。それらの変数は、オブジェクトの型が TypeSeries! の場合、デー
タ系列名を取得し、TypeData! の場合はデータの値を取得します。
integer SeriesNbr, ItemNbr
double data_value
grObjectTypeobject_type
string SeriesName
object_type = &
gr_product.ObjectAtPointer(SeriesNbr, ItemNbr)
IF object_type = TypeSeries! THEN
SeriesName = &
gr_product.SeriesName(SeriesNbr)
ELSEIF object_type = TypeData! THEN
data_value = &
gr_product.GetData(SeriesNbr, ItemNbr)
END IF
次のステートメントは、データウィンドウ コントロール dw_equipment
上のグラフ gr_computers でクリックされた位置のデータ系列番号と
データ ポイント番号を、SeriesNbr および ItemNbr に格納します。
integer SeriesNbr, ItemNbr
dw_equipment.ObjectAtPointer("gr_computers", &
SeriesNbr, ItemNbr)
関連項目
AddData
AddSeries
PowerScript リファレンス ボリューム 2
825
Object_To_String
Object_To_String
機能
オブジェクトを文字列の形式で返します。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
JaguarORB オブジェクト
構文
jaguarorb.Object_To_String ( object )
引数
jaguarorb
object
説明
JaguarORB のインスタンスを指定します。
文字列に変換する CORBA オブジェクトを指定します。
CORBA オブジェクトの文字列表現は、オブジェクトのホ
ストとなるサーバへの接続方法を記述した Interoperable
Object Reference(IOR)です。EAServer は、標準形式の
IOR(16 進でコード化されているもの)と URL 形式の IOR
(人が判読できるもの)の両方をサポートしています。
戻り値
String 型。CORBA オブジェクトの文字列表現を返します。
解説
Object_To_String 関数を使用すると、プロキシ オブジェクト参照をシリ
アライズすることができます。オブジェクト参照をシリアライズする
ことによって、オブジェクトの状態を保存し、クライアントが処理を
終了した後にも残るようにすることができます。
Object_To_String 関数は、通常の場合、オブジェクト参照のシリアライ
ズを解除する String_To_Object 関数とともに使用します。
例
次の例は、Object_To_String 関数を使って、プロキシ オブジェクト参照
をシリアライズします。
Payroll payroll
JaguarORB my_orb
...
my_orb = CREATE JaguarORB
my_orb.init("ORBRetryCount=3,ORBRetryDelay=1000")
...
String payroll_ior = my_orb.Object_To_String(payroll)
関連項目
826
Init
String_To_Object
PowerBuilder
第 10 章
PowerScript 関数
OffsetPos
機能
プログレスバー コントロールのオフセットを設定します。
対象
プログレスバー コントロール
構文
control.OffsetPos (increment )
引数
control
increment
説明
プログレスバー コントロールの名前を指定します。
Integer 型。プログレスバー コントロールの開始位置に追
加される値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次のステートメントは、垂直プログレスバーの開始位置を 10 だけオフ
セットします。
HProgressBar.OffsetPos ( 10 )
関連項目
SelectionRange
SetRange
StepIt
Open
ウィンドウ、OLE オブジェクト、またはトレース ファイルを開きます。
ウィンドウを開く場合 Open はウィンドウを表示し、すべてのプロパ
ティとコントロールをスクリプトで利用できるようにします。
目的
使用する構文
特定のウィンドウのデータ型のインスタンスを開く
構文 1
スクリプトの実行時にアプリケーションがウィンドウの 構文 2
データ型を選択できるようにする
Open はファイルまたはストレージに含
まれる OLE オブジェクトを OLE コントロールまたはストレージ オブ
ジェクト変数にロードします。これによって、ソースとターゲットが
保存作業のために接続されます。
OLE オブジェクトを開く場合
PowerScript リファレンス ボリューム 2
827
Open
目的
ファイルに格納された OLE オブジェクトを開き、それを
OLE コントロールにロードする
メモリのストレージ オブジェクトに格納された OLE オブ
ジェクトを開き、それを OLE コントロールにロードする
OLE ストレージ ファイルに格納された OLE オブジェクト
を開き、それをメモリのストレージ オブジェクトにロード
する
すでに開かれている OLE ストレージ オブジェクトのメン
バーである OLE オブジェクトを開き、それをメモリのス
トレージ オブジェクトにロードする
メモリの OLE ストレージ オブジェクトに格納されたスト
リームを開き、それをストリーム オブジェクトにロードす
る
使用する構文
構文 3
構文 4
構文 5
構文 6
構文 7
トレース ファイルを開く場合 Open は指定されたトレース ファイルを
開いて、ファイル内容を読める状態にします。
目的
トレース ファイルを開く
使用する構文
構文 8
構文 1
データ型がわかっているウィンドウを開く
機能
データ型がわかっているウィンドウ オブジェクトを開きます。Open 関
数は、ウィンドウを表示し、すべてのプロパティとコントロールをス
クリプトで使用できるようにします。
対象
ウィンドウ オブジェクト
構文
Open ( windowvar {, parent } )
引数
windowvar
828
説明
表示するウィンドウの名前を指定します。ウィンドウ ペイ
ンタで定義されたウィンドウ オブジェクト(ウィンドウの
データ型)、または、ウィンドウのデータ型の変数を指定
します。Open 関数は、windowvar に開かれたウィンドウの
参照を渡します。
PowerBuilder
第 10 章
引数
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合のみ)(オ
プション)
PowerScript 関数
説明
開くチャイルド ウィンドウまたはポップアップ ウィンド
ウの親ウィンドウを指定します。チャイルド ウィンドウま
たはポップアップ ウィンドウを開く場合に parent を省略
すると、現在アクティブなウィンドウが親ウィンドウにな
ります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
ウィンドウのプロパティにアクセスする前に、ウィンドウを開く必要
があります。ウィンドウを開く前にプロパティにアクセスすると、エ
ラーが発生します。
スクリプトで開いているウィンドウを参照するには、windowvar を使
用します。
Open 関数を 2 回呼び出す場合
同じウィンドウに対して構文 1 の Open 関数を 2 回呼び出しても、
PowerBuilder はそのウィンドウを 2 回アクティブにするだけで、ウィ
ンドウの 2 つのインスタンスを開くわけではありません。
配列の中の各ウィンドウのデータ型が異なる場合にウィンドウの配列
を開くには、Open 関数の構文 2 を使用します。
parent を指定してチャイルド ウィ
ンドウまたはポップアップ ウィンドウを開く場合、parent が開かれた
ウィンドウ(windowname または windowvar)の親ウィンドウになりま
す。親ウィンドウが閉じるときには、そのすべてのチャイルド ウィン
ドウも閉じられます。
開かれたウィンドウの親ウィンドウ
すべてのウィンドウが親ウィンドウになれるわけではありません。表
示する領域をほかのウィンドウ内に限定されていないウィンドウだけ
が親ウィンドウになることができます。チャイルド ウィンドウ、また
はシートとして開かれたウィンドウは、親ウィンドウになることはで
きません。ほかのウィンドウに " 閉じこめられた " ウィンドウを親ウィ
ンドウとして指定した場合、PowerBuilder はその親、さらにその親と、
親として使用できるウィンドウが見つかるまで検索します。ポップ
アップ ウィンドウを開き、シートをその親ウィンドウに指定した場
合、PowerBuilder はそのシートを含む MDI フレームを親ウィンドウにし
ます。
PowerScript リファレンス ボリューム 2
829
Open
チャイルド ウィンドウまたはポップアップ ウィンドウの親ウィンド
ウを指定しない場合、アクティブ ウィンドウがその親ウィンドウにな
ります。特定のポップアップ ウィンドウがアクティブのときにほかの
ウィンドウを開いた場合、メイン ウィンドウではなく、最初のポップ
アップ ウィンドウがその親ウィンドウになります。そのポップアップ
ウィンドウが閉じると、そのウィンドウのチャイルド ウィンドウも閉
じます。
ただし、MDI アプリケーションでは、アクティブ シートはアクティブ
ウィンドウではないので、親ウィンドウにはなれません。Windows で
は、アクティブ シートではなく、MDI フレームがアクティブ ウィン
ドウであることが一目でわかります。つまり、MDI フレームのタイト
ル バーがアクティブ ウィンドウを示すカラーで表示され、MDI フレー
ムはメニューを表示しています。
マウスの動作とウィンドウの応答
コントロールは一定の操作を行っているときにマウスを独占してしま
います。たとえば、コマンドボタン コントロールの場合はクリックの
操作を行っているとき、エディット コントロールの場合はテキストを
選択されているとき、スクロールバー コントロールはスクロールの操
作を行っているときに、マウスを独占します。マウスが独占されている
間にレスポンス ウィンドウを開くと、Windows は不安定になります。
レスポンス ウィンドウはフォーカスを横取りするので、フォーカスを
移動している最中(LoseFocus イベントの間など)は、レスポンス ウィ
ンドウを使用しないでください。
例
次の例は、ウィンドウのインスタンス w_employee を開きます。
Open(w_employee)
次の例は、w_employee 型のウィンドウのインスタンスを開きます。
w_employee w_to_open
Open(w_to_open)
次の例は、cw_data という名前のチャイルド ウィンドウのインスタンス
を開き、w_employee をそのウィンドウの親ウィンドウにします。
child cw_data
Open(cw_data, w_employee)
次の例は、w_emp 型の 2 つのウィンドウを開きます。
w_emp w_e1, w_e2
Open(w_e1)
Open(w_e2)
830
PowerBuilder
第 10 章
PowerScript 関数
関連項目
Close
OpenWithParm
Show
構文 2
データ型がわからないウィンドウを開く
機能
アプリケーションが実行されるまでデータ型がわからないウィンドウ
オブジェクトを開きます。Open 関数は、ウィンドウを表示し、すべて
のプロパティとコントロールをスクリプトで使用できるようにします。
対象
ウィンドウ オブジェクト
構文
Open ( windowvar, windowtype {, parent } )
引数
windowvar
windowtype
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合のみ)(オ
プション)
説明
ウィンドウ オブジェクトの変数を指定します。Open 関数
は、windowvar に開かれたウィンドウの参照を渡します。
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、windowvar と同じ
か、または子孫までなければなりません。
これから開くチャイルド ウィンドウまたはポップアップ
ウィンドウの親ウィンドウにするウィンドウを指定しま
す。チャイルド ウィンドウまたはポップアップ ウィンド
ウを開く場合に parent を省略すると、現在アクティブな
ウィンドウが親ウィンドウになります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
ウィンドウのプロパティにアクセスする前に、ウィンドウを開く必要
があります。ウィンドウを開く前にプロパティにアクセスすると、エ
ラーが発生します。
スクリプトで開いているウィンドウを参照するには、windowvar を使用
します。
windowtype に指定されたウィンドウ オブジェクトは、windowvar と同
じデータ型(または windowvar を継承したデータ型)でなければなり
ません。通常、windowvar のデータ型は Window です。すべてのウィン
ドウは Window を継承しますが、windowtype の先祖オブジェクトの型
である場合もあります。データ型が異なる場合、エラーが発生します。
PowerScript リファレンス ボリューム 2
831
Open
配列の中の各ウィンドウのデータ型が異なる場合にウィンドウの配列
を開くには、構文 2 を使用します。詳細については、最後の例を参照
してください。その例では、ウィンドウのデータ型は 1 つの配列に格
納され、別の配列の各ウィンドウが開かれているときに、windowtype
として使用されます。
ウィンドウのデータ型を指定する場合の注意
構文 2 を使用すると、windowtype に指定したデータ型のウィンドウの
インスタンスを開き、変数 windowvar にインスタンスの参照を格納し
ます。
windowtype が Window 型を継承して作られた型の場合は、windowvar 変
数のデータ型で定義されたプロパティ、イベント、関数、または構造
体しか参照できません。たとえば、windowtype に対してユーザ イベン
トが宣言されている場合は、そのイベントを参照することはできませ
ん。
windowtype に指定したオブジェクトは、実行アプリケーションに自動
的には含まれません。実行ファイルに含めるには、アプリケーション
とともに配布する PBD ファイル(PowerBuilder 動的ライブラリ)に保
存する必要があります。
親ウィンドウの詳細については、構文 1 を参照してください。
例
次の例は、文字列 s_w_name で指定したデータ型のウィンドウを開き、
変数 w_to_open でそのウィンドウを参照します。SELECT 文はウィンド
ウの型を指定するデータをデータベースから取得し、それを s_w_name
に格納します。
window w_to_open
string s_w_name
SELECT next_window INTO
WHERE... ;
:s_w_name FROM routing_table
Open(w_to_open, s_w_name)
次の例は、文字列 is_w_emp1 で指定されたウィンドウのデータ型の 10
個のウィンドウの配列を開き、配列内の各ウィンドウにタイトルを割
り当てます。文字列 is_w_emp1 は、ウィンドウの型を値として持つイ
ンスタンス変数です。
integer n
window win_array[10]
FOR n = 1 to 10
832
PowerBuilder
第 10 章
PowerScript 関数
Open(win_array[n], is_w_emp1)
win_array[n].title = "Window " + string(n)
NEXT
次の例は、4 つのウィンドウを開きます。各ウィンドウの型は、配列
w_stock_type に格納されています。Open 関数は、ウィンドウの参照を
配列 w_stock_win の要素に格納します。
window w_stock_win[ ]
string w_stock_type[4]
w_stock_type[1]
w_stock_type[2]
w_stock_type[3]
w_stock_type[4]
=
=
=
=
"w_stock_wine"
"w_stock_scotch"
"w_stock_beer"
"w_stock_soda"
FOR n = 1 to 4
Open(w_stock_win[n], w_stock_type[n])
NEXT
関連項目
Close
OpenWithParm
Show
構文 3
ファイルからコントロールへ OLE オブジェクトを
ロードする
機能
ファイルの OLE オブジェクトを開き、それを OLE コントロールにロー
ドします。
対象
OLE コントロール
構文
olecontrol.Open ( OLEsourcefile )
引数
olecontrol
OLEsourcefile
戻り値
説明
OLE オブジェクトをロードする OLE コントロールの名前
を指定します。
オブジェクトを含む OLE ストレージ ファイルの名前を表
す文字列を指定します。ファイルはすでに存在していて、
OLE オブジェクトを含んでいなければなりません。
OLEsourcefile には、OLE ストレージ内のパス情報だけで
なく、ファイルのパスを含めることもできます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
PowerScript リファレンス ボリューム 2
833
Open
-1
-9
ファイルがないか、またはファイルのデータの書式が無効です。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、MYSTUFF.OLE ファイルの OLE オブジェクトを開き、それ
をコントロール ole_1 にロードします。
integer result
result = ole_1.Open("c:\ole2\mystuff.ole")
関連項目
InsertFile
Save
SaveAs
構文 4
メモリの OLE オブジェクトを開き、コントロールに
ロードする
機能
メモリの OLE ストレージ オブジェクトの OLE オブジェクトを開き、
それを OLE コントロールにロードします。
対象
OLE コントロール
構文
olecontrol.Open ( sourcestorage, substoragename )
引数
olecontrol
sourcestorage
substoragename
戻り値
説明
OLE オブジェクトをロードする OLE コントロールの名前
を指定します。
olecontrol にロードするオブジェクトを含む OLEStorage の
オブジェクト変数の名前を指定します。
sourcestorage 内の必要なオブジェクトを含むサブスト
レージの名前を表す文字列を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-2
-9
親ストレージが開かれていません。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、ストレージ変数 stg_stuff 内のサブストレージ excel_obj のオ
ブジェクトを開き、それをコントロール ole_1 にロードします。stg_stuff
は、すでに開いています。
integer result
result = ole_1.Open(stg_stuff, "excel_obj")
834
PowerBuilder
第 10 章
PowerScript 関数
次の例は、ストレージ変数 stg_stuff 内のサブストレージを開き、それ
をコントロール ole_1 にロードします。サブストレージ名は、変数
stuff_1 で指定されています。stg_stuff は、すでに開いています。
integer result
string stuff_1 = "excel_obj"
result = ole_1.Open(stg_stuff, stuff_1)
関連項目
InsertFile
Save
SaveAs
構文 5
ファイルの OLE オブジェクトを開き OLEStorage オ
ブジェクトにロードする
機能
OLE ストレージ ファイルの OLE オブジェクトを開き、それをメモリ
のストレージ オブジェクトにロードします。
対象
OLE ストレージ オブジェクト
構文
olestorage.Open ( OLEsourcefile {, readmode {, sharemode } } )
引数
olestorage
OLEsourcefile
readmode
(オプション)
説明
OLE オブジェクトをロードする OLEStorage 型のオブジェ
クト変数の名前を指定します。
オブジェクトを含む OLE ストレージ ファイルの名前を表
す文字列を指定します。ファイルはすでに存在していて、
OLE オブジェクトを含んでいなければなりません。
OLEsourcefile には、ストレージ内のパス情報だけでなく、
ファイルのパスを含めることもできます。
OLEsourcefile へのアクセス タイプを表す stgReadMode カ
タログ データ型の値。値は以下のとおりです。
• stgReadWrite! -(デフォルト)読み込みまたは書き込み
アクセス。ファイルが存在しない場合、Open 関数はファ
イルを作成します。
• stgRead! - 読み込み専用アクセス。OLEsourcefile を変更
できません。
• stgWrite! - 書き込みアクセス。OLEsourcefile を書き換
えることができますが、その現行の内容を読み込むこと
はできません。ファイルが存在しない場合、Open 関数
はファイルを作成します。
PowerScript リファレンス ボリューム 2
835
Open
引数
sharemode
(オプション)
説明
開発者またはほかの開発者のアプリケーション オブジェ
クトから OLEsourcefile を開くことを試みた場合の対応を
示す stgShareMode カタログ データ型の値。値は以下のと
おりです。
• stgExclusive! -(デフォルト)ほかからは OLEsourcefile
を開けない
• stgDenyNone! - ほかからも OLEsourcefile を開ける
• stgDenyRead! - ほかからは OLEsourcefile を読み込み用
に開けない
• stgDenyWrite - ほかからは OLEsourcefile を書き込み用
に開けない
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-3
-9
ファイルが OLE ストレージ ファイルではありません。
ファイルがありません。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
解説
OLE ストレージ ファイルはディレクトリのような構造をしています。
各 OLE オブジェクトは、ほかの OLE オブジェクト(サブストレージ)
とほかのデータ(ストリーム)を格納することができます。ストレージ
の構造がわかっている場合は、サーバ アプリケーションに属している
OLE ストレージのメンバーを開くことができます。
ただし、
PowerBuilder
はストレージを扱う関数を提供しているので、個々のアプリケーショ
ンに合わせて使用する OLE オブジェクトを構成し、ストレージを構築
できます。
ファイル全体を OLE オブジェクトにしたり、ファイル内のサブスト
レージを OLE オブジェクトにしたりすることもできます。ほとんどの
場合、開発者が作成したストレージ ファイルは OLE オブジェクトで
ないルート レベルになり、独立した OLE オブジェクトをサブストレー
ジとして含みます。ストレージ ファイルの階層のどのレベルも OLE オ
ブジェクトを含むことができます。また、単に別のレベルのリポジト
リとして使用することもできます。
836
PowerBuilder
第 10 章
PowerScript 関数
ネストしたオブジェクトを開く場合
円記号(\)を区切り文字として、OLE ストレージにパス情報を指定
できるので、Open 関数を 1 回呼ぶだけで、深くネストしたオブジェク
トを開くことができます。ただし、指定したパスを検証しません。ま
た、Open 関数が失敗した場合はその原因を知ることもできません。パ
スをたどって必要なそれぞれのオブジェクトを開いていくことをお勧
めします。
例
次の例は、MYSTUFF.OLE ファイルのオブジェクトを開き、それを
OLEStorage 変数 stg_stuff にロードします。
integer result
OLEStorage stg_stuff
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole")
次の例は、同じオブジェクトを読み込むために開きます。
integer result
OLEStorage stg_stuff
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole", &
stgRead!)
次の例は、前記の例と同様に、ファイル MYSTUFF.OLE のオブジェク
トを開き、それを OLEStorage 変数 stg_stuff にロードします。次に、Open
関数の構文 6 を使用して、サブストレージ drawing_1 を開き、それを
OLEStorage 変数 opest_drawing に格納します。この例では、開いてい
るオブジェクトを閉じて、破棄するためのステートメントを記述して
いません。
integer result
OLEStorage stg_stuff, stg_drawing
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole")
IF result >= 0 THEN
stg_drawing = CREATE OLEStorage
result = opest_drawing.Open("drawing_1", &
stgRead!, stgDenyNone!, stg_stuff)
END IF
PowerScript リファレンス ボリューム 2
837
Open
次の例は、MYSTUFF.OLE ファイルのオブジェクトを開き、それを
OLEStorage 変数 stg_stuff にロードします。次に、ストリーム info が
OLE オブジェクトに存在するかどうかを確認します。それが存在する
場合は、構文 7 を使用してストリームを読み込み専用アクセス モード
で開きます。この例では、開いているオブジェクトを閉じて、破棄す
るためのステートメントを記述していません。
integer result
boolean str_found
OLEStorage stg_stuff
OLEStream mystream
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole")
IF result < 0 THEN RETURN
result = stg_stuff.MemberExists("info", str_found)
IF result < 0 THEN RETURN
IF str_found THEN
mystream = CREATE OLEStream
result = mystream.Open(stg_stuff, "info", &
stgRead!, stgDenyNone!)
IF result < 0 THEN RETURN
END IF
関連項目
Close
Save
SaveAs
構文 6
OLE ストレージのメンバーを開きストレージにロー
ドする
機能
開いている OLE ストレージのメンバーを開き、それをメモリのスト
レージ オブジェクト内の OLEStorage オブジェクトにロードします。
対象
OLE ストレージ オブジェクト
構文
olestorage.Open ( substoragename, readmode, sharemode, sourcestorage )
引数
olestorage
838
説明
OLE オブジェクトをロードする OLEStorage 型のオブジェ
クト変数の名前を指定します。
PowerBuilder
第 10 章
引数
substoragename
readmode
PowerScript 関数
説明
開く sourcestorage 内のストレージ メンバーの名前を表す
文字列を指定します。構文 4 の sourcestorage および
substoragename の指定と逆の順序になることに注意して
ください。
substoragename へのアクセス タイプを表す stgReadMode
カタログ データ型の値。値は以下のとおりです。
• stgReadWrite! - 読み込みまたは書き込みアクセス。メ
ンバーが存在しない場合、Open 関数はメンバーを作成
します。
• stgRead! - 読み込み専用アクセス。substoragename を変
更できません。
sharemode
• stgWrite! - 書き込みアクセス。substoragename を書き換
えることができますが、その現行の内容を読み込むこと
はできません。メンバーが存在しない場合、Open 関数
はメンバーを作成します。
開発者またはほかの開発者のアプリケーション オブジェ
クトから substoragename を開くことを試みた場合の対応
を示す stgShareMode カタログ データ型の値。値は以下の
とおりです。
• stgExclusive! -(デフォルト)ほかからは substoragename
を開けない
• stgDenyNone! - ほかからも substoragename を開ける
• stgDenyRead! - ほかからは substoragename を読み込み
用に開けない
sourcestorage
戻り値
• stgDenyWrite - ほかからは substoragename を書き込み
用に開けない
substoragename を含む OLEStorage オブジェクトを開きま
す。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-2
-3
-9
親ストレージが開かれていません。
メンバーがありません。(読み込みのために開けた場合)
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
839
Open
解説
OLE ストレージ ファイルはディレクトリのような構造をしています。
各 OLE オブジェクトは、ほかの OLE オブジェクト(サブストレージ)
とほかのデータ(ストリーム)を格納することができます。ストレー
ジの構造がわかっている場合は、サーバ アプリケーションに属してい
る OLE ス ト レ ー ジ の メ ン バ ー を 開 く こ と が で き ま す。た だ し、
PowerBuilder はストレージを扱う関数を提供しているので、個々のア
プリケーションに合わせて使用する OLE オブジェクトを構成し、スト
レージを構築できます。
ファイル全体を OLE オブジェクトにしたり、ファイル内のサブスト
レージを OLE オブジェクトにしたりすることもできます。ほとんどの
場合、開発者が作成したストレージ ファイルは OLE オブジェクトで
ないルート レベルになり、独立した OLE オブジェクトをサブストレー
ジとして含みます。ストレージ ファイルの階層のどのレベルも OLE オ
ブジェクトを含むことができます。また、単に別のレベルのリポジト
リとして使用することもできます。
ネストしたオブジェクトを開く場合
円記号(\)を区切り文字として、OLE ストレージにパス情報を指定
できるので、Open 関数を 1 回呼ぶだけで、深くネストしたオブジェク
トを開くことができます。ただし、指定したパスを検証しません。ま
た、Open 関数が失敗した場合はその原因を知ることもできません。パ
スをたどって必要なそれぞれのオブジェクトを開いていくことをお勧
めします。
例
次の例は、前記の例と同様に、ファイル MYSTUFF.OLE のオブジェク
トを開き、それを OLEStorage 変数 stg_stuff にロードします。次に、サ
ブストレージ drawing_1 を開き、それを OLEStorage 変数 opest_drawing
に格納します。この例では、開いているオブジェクトを閉じて、破棄
するためのステートメントを記述していません。
integer result
OLEStorage stg_stuff, stg_drawing
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole")
IF result >= 0 THEN
stg_drawing = CREATE OLEStorage
result = opest_drawing.Open("drawing_1", &
stgRead!, stgDenyNone!, stg_stuff)
END IF
関連項目
840
Close
Save
PowerBuilder
第 10 章
PowerScript 関数
SaveAs
構文 7
OLE ストリーム を開く場合
機能
開いている OLE ストレージ オブジェクトのストリームを開き、それ
を OLE ストリーム オブジェクトにロードします。
対象
OLE ストリーム オブジェクト
構文
olestream.Open ( sourcestorage, streamname {, readmode {, sharemode } } )
引数
olestream
sourcestorage
streamname
readmode
(オプション)
説明
OLE オブジェクトをロードする OLEStream 型のオブジェ
クト変数の名前を指定します。
開かれるストリームを含んでいる OLEStorage オブジェク
トを指定します。
開かれる sourcestorage 内のストリームの名前を指定する
文字列を指定します。
streamname へのアクセス タイプを表す stgReadMode カタ
ログ データ型の値。値は以下のとおりです。
• stgReadWrite! - 読み込みまたは書き込みアクセス。
streamname が存在しない場合は、Open 関数は
streamname を作成します。
• stgRead! - 読み込み専用アクセス。streamname を変更
できません。
sharemode
(オプション)
• stgWrite! - 書き込みアクセス。streamname を書き換え
ることができますが、その現行の内容を読み込むことは
できません。streamname が存在しない場合は、Open 関
数は streamname を作成します。
開発者またはほかの開発者のアプリケーション オブジェ
クトから streamname を開くことを試みた場合の対応を示
す stgShareMode カタログ データ型の値。値は以下のとお
りです。
• stgExclusive! - ほかからは streamname を開けない
• stgDenyNone! - ほかからも streamname を開ける
• stgDenyRead! - ほかからは streamname を読み込み用に
開けない
• stgDenyWrite - ほかからは streamname を書き込み用に
開けない
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
PowerScript リファレンス ボリューム 2
841
Open
-1
-2
-3
-4
-5
-6
-9
ストリームが見つかりません。
ストリームがすでに存在しています。
ストリームがすでに開いています。
ストレージが開かれていません。
アクセスが拒否されました。
名前が無効です。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、MYSTUFF.OLE ファイルのオブジェクトを開き、それを
OLEStorage 変数 stg_stuff にロードします。次に、ストリーム info が
OLE オブジェクトに存在するかどうかを確認します。存在する場合は、
ストリームを読み込み専用アクセスモードで開きます。この例では、
開いているオブジェクトを閉じて、破棄するためのステートメントを
記述していません。
integer result
boolean str_found
OLEStorage stg_stuff
OLEStream mystream
stg_stuff = CREATE OLEStorage
result = stg_stuff.Open("c:\ole2\mystuff.ole")
IF result < 0 THEN RETURN
result = stg_stuff.MemberExists("info", str_found)
IF result < 0 THEN RETURN
IF str_found THEN
mystream = CREATE OLEStream
result = mystream.Open(stg_stuff, "info", &
stgRead!, stgDenyNone!)
IF result < 0 THEN RETURN
END IF
関連項目
842
Close
PowerBuilder
第 10 章
PowerScript 関数
構文 8
トレース ファイルを開く
機能
指定されたトレース ファイルを開いて、読める状態にします。
対象
TraceFile オブジェクト
構文
instancename.Open ( filename )
引数
instancename
filename
戻り値
説明
TraceFile オブジェクトのインスタンスを指定します。
読み込むトレース ファイルの名前を文字列で指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileAlreadyOpenError! - 指定されたトレース ファイルは、すでに
開かれています。
•
FileOpenError! - トレース ファイルは読み込むために開けません。
•
FileInvalidFormatError! - 指定されたファイルの書式が正しくあり
ません。
•
EnterpriseOnlyFeature! - この関数は、PowerBuilder Enterprise 版で
のみサポートされています。
•
SourcePBLError! - ソース ライブラリが見つかりません。
解説
この構文を使って、PowerBuilder アプリケーションの実行中に作成さ
れたトレース ファイルを選択し、そのファイルの内容を参照します。
ファイルを開いた後は、TraceFile オブジェクトが提供するプロパティ
および関数を使って、既存の解析モデル化オブジェクトを使わずに、
トレース データを独自の方法で解析できます。
例
次の例では、トレース ファイルを開きます。
TraceFile ltf_file
String ls_filename
ltf_file = CREATE TraceFile
ltf_file.Open(ls_filename)
...
関連項目
Close
Reset
NextActivity
PowerScript リファレンス ボリューム 2
843
OpenChannel
OpenChannel
機能
DDE サーバ アプリケーションのチャネルを開きます。
構文
OpenChannel ( applname, topicname {, windowhandle } )
引数
applname
topicname
windowhandle
(オプション)
戻り値
Long 型。正常に終了した場合、開かれているチャネルを示すハンドル
(正の値)を返します。エラーが発生した場合、以下の負の整数のいず
れかを返します。値は以下のとおりです。
-1
-9
解説
説明
DDE サーバ アプリケーションの DDE 名(サービス名)を
表す文字列を指定します。
コマンドで使用するデータ、またはアプリケーションのイ
ン ス タ ン ス を 表 す 文 字 列 を 指 定 し ま す。た と え ば、
Microsoft Excel の場合、システムまたは開かれているスプ
レッド シートの名前を指定します。
DDE クライアントとして機能させるウィンドウを示すハ
ンドルを指定します。複数のウィンドウを開いているとき
に、DDE クライアントとして機能させるウィンドウを指
定するために使用します。
チャネルを開けません。
handle が null です。
OpenChannel 関数は、
DDE サーバ アプリケーションのチャネルを開き、
開いた状態を維持するので、アプリケーションへの接続を終了するま
で複数の DDE 要求を実行することができます。このタイプの DDE 対
話を、
「ウォーム リンク」といいます。チャネルが開かれているので、
オペレーティング システムは、データが送信または要求されるたびに
すべての開いているアプリケーションをポーリングする必要がありま
せん。
次に、ウォーム リンク型の対話の概要について示します。
•
OpenChannel 関数を使用して DDE チャネルを開き、返されたチャ
ネル ハンドル(正の値)が有効であることをチェックします。
•
複数の DDE 関数を実行します。次の関数を使用できます。
ExecRemote ( command, handle, <windowhandle> )
GetRemote ( location, target, handle, <windowhandle> )
SetRemote ( location, value, handle, <windowhandle> )
•
844
CloseChannel 関数を使用して DDE チャネルを閉じます。
PowerBuilder
第 10 章
PowerScript 関数
リモート DDE 関数を一度だけ使用する場合、チャネルを開かずに
ExecRemote 関数、GetRemote 関数、または SetRemote 関数を呼び出す
ことができます。これを「コールド リンク」といいます。DDE 関数が
呼び出されるたびに、オペレーティング システムはすべての実行中の
アプリケーションをポーリングし、指定されたサーバ アプリケーショ
ンを検索します。
PowerBuilder アプリケーションは、DDE サーバになる場合もあります。
詳細については、StartServerDDE を参照してください。
サーバ アプリケーションについて
各アプリケーションによって、DDE のサポート方法が異なります。各
サーバ アプリケーションの資料を調べ、DDE 名、有効な機能、および
データの位置の指定の仕方を確認してください。
例
次の例は、Microsoft Excel 内のアクティブなスプレッド シート
REGION.XLS のチャネルを開き、handle にそのチャネルのハンドルを
格納します。
long handle
handle = OpenChannel("Excel", "REGION.XLS")
次の例は、Excel への DDE チャネルを開き、スプレッドシートの 3 つ
のセルのデータを要求します。PowerBuilder アプリケーションは、受
け取ったデータを文字配列 s_regiondata に格納します。DDE 対話で使
用するクライアント ウィンドウは w_ddewin です。
long handle
string s_regiondata[3]
handle = OpenChannel("Excel", "REGION.XLS", &
Handle(w_ddewin))
GetRemote("R1C2", s_regiondata[1], handle, &
Handle(w_ddewin))
GetRemote("R1C3", s_regiondata[2], handle, &
Handle(w_ddewin))
GetRemote("R1C4", s_regiondata[3], handle, &
Handle(w_ddewin))
CloseChannel(handle, Handle(w_ddewin))
関連項目
CloseChannel
ExecRemote
GetRemote
SetRemote
PowerScript リファレンス ボリューム 2
845
OpenSheet
OpenSheet
機能
MDI(Multiple Document Interface)フレーム ウィンドウ内でシートを
開きます。エンド ユーザがシートを選択できるように、メニュー上に
メニュー項目を作成し、開いているシート名のリストを表示します。
対象
ウィンドウ オブジェクト
構文
OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position
{, arrangeopen } } )
引数
sheetrefvar
windowtype
(オプション)
mdiframe
position
(オプション)
arrangeopen
(オプション)
説明
MDI フレーム ウィンドウ以外のウィンドウ オブジェクト
の名前を指定します。OpenSheet 関数は開かれたシートへ
の参照を sheetrefvar に格納します。
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、sheetrefvar と同じ
か、または子孫までなければなりません。
MDI フレーム ウィンドウの名前を指定します。
開かれたシートの名前を追加するメニュー項目(開かれた
シートに対応しているメニュー内の項目)の番号を指定し
ます。メニューバーのメニュー項目は、左端から順番に 1
から番号が付けられています。標準の設定(0)では、最
後から 2 番目のメニュー項目に、開いているシートのリス
トが表示されます。
開いているシートの MDI フレームでの配置を指定する
ArrangeOpen カタログ データ型の値。次のいずれかの値を
指定します。
• Cascaded! -(デフォルト)すべてのタイトル バーが見
えるように、開いているシートを重ねて表示します。前
に開いていたシートの下に重ねて表示されます。
• Layered! - 開いているシートを重ねて表示します。フ
レーム全体に、そのシートが表示されます。前に開いて
いたシートの上に重ねて表示されます。
• Original! - シートを元のサイズで開き、重ねて表示し
ます。
戻り値
846
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
windowtype 引数が無効な場合などは、OpenSheet はランタイム エラー
を送出し、値を返しません。そのため、例の節の最初の例で示すよう
に、戻り値をテストし、try-catch ブロックでの関数呼び出しを囲むこ
との両方を行うことをお勧めします。
PowerBuilder
第 10 章
解説
PowerScript 関数
シートは、MDI フレーム ウィンドウ内に含まれるドキュメント ウィ
ンドウです。MDI アプリケーションでは、複数のシートを同時に開く
ことができます。新しく開いたシートが、アクティブ シートになりま
す。関連付けられたメニューを格納するシートが開かれている場合、
そのメニューがフレームのメニューになります。
windowtype を指定する場合、sheetrefvar と同じデータ型(または
sheetrefvar を継承したデータ型)でなければなりません。通常、
sheetrefvar のデータ型は Window です。すべてのウィンドウは Window
を継承しますが、windowtype の先祖オブジェクトの型である場合もあ
ります。データ型が異なる場合、エラーが発生します。
PowerBuilder では、String 型の変数によって実行ファイルで動的に参照
されているオブジェクトのコピーは、自動的には作成されません。ア
プリケーションで windowtype に指定されているウィンドウ オブジェ
クトを含めるには、実行ファイルを作成するときに使用するリソース
(PBR)ファイルに、そのウィンドウ オブジェクトのリストを作成しま
す。実行ファイルの PBR ファイルの詳細については、PowerBuilder の
『ユーザーズ ガイド』マニュアルを参照してください。
OpenSheet 関数は、シートを開き、position に指定されているメニュー
バーの項目にその名前を追加します。position に指定されている値が 0
の場合、またはメニューバー上の項目数よりも大きな数値の場合、
PowerBuilder はメニューバー上の最後から 2 番目のメニュー項目に
シート名を追加します。通常、メニューバーの最後から 2 番目のメ
ニュー項目は、ウィンドウ メニューです。ウィンドウ メニューには、
開いているシート名とシートの配置を変更するコマンドが表示されて
います。
PowerBuilder では、メニュー項目を持たないメニューにシートを追加
することができません。指定するメニューを確認してください。また、
position を省略した場合、最後から 2 番目のメニューが少なくとも 1 つ
のメニュー項目を持つことを確認してください。
10 個以上のシートをフレーム内で開くと、position に指定されたメ
ニューの最後に先頭の 9 個のシートのリストが表示され、その下に「そ
の他のウィンドウ ...」と表示されます。
フレーム内のシートは、表示不可にはできません。シートを開いた場
合、Visible プロパティの値は無視されます。ウィンドウがすでに開か
れている場合、Visible プロパティの変更は有効となりません。
PowerScript リファレンス ボリューム 2
847
OpenSheet
レスポンス ウィンドウを開く場合
レスポンス ウィンドウを開く場合は OpenSheet 関数を使用しないでく
ださい。
例
次の例は、シート child_1 を MDI フレーム MDI_User 内に元のサイズで
開き、開いているシートの名前をメニューバー内の 2 番目のメニュー
項目に追加します。メニューは、フレームではなくシート child_1 に関
連付けられます。呼び出しに失敗した場合、OpenSheet は -1 を返すか、
ランタイム エラーを送出します。これらの両可能性を確実に拾うため
に、次の例では、関数の戻り値をチェックし、try-catch 文を使用して
起こる可能性のあるランタイム エラーを捕捉します。
integer li_retrun
try
li_retrun = OpenSheet (child_1, MDI_User, 2, &
Original!)
if IsNull(li_return) then
MessageBox (" 失敗 ", "Null 引数が指定されました。")
elseif li_return = 1 then
MessageBox (" 成功 ", " シートを開きました。")
else
MessageBox (" 失敗 ", " シートを開くのに失敗しました。")
end if
catch (runtimeerror rt)
MessageBox(" 失敗 "," シートを開くのに失敗しました。", &
+ rt.getmessage()) // エラーを処理するか、処理しない
end try
次の例は、ウィンドウ オブジェクト child_1 のインスタンスを MDI シー
トとして開き、開いているシートへの参照を child に格納します。開い
ているシートの名前は、child_1 に関連付けられているメニューの 4 番
目の項目に追加され、上に重ねて表示されます。
window child
OpenSheet(child, "child_1", MDI_User, 4, Layered!)
関連項目
848
ArrangeSheets
GetActiveSheet
OpenSheetWithParm
PowerBuilder
第 10 章
PowerScript 関数
OpenSheetWithParm
機能
OpenSheet 関数と同様に、MDI(Multiple Document Interface)フレーム
内にシートを開き、メニュー上にメニュー項目を作成し、エンド ユー
ザがシートを選択できるように開かれたシート名のリストを表示しま
す。OpenSheetWithParm 関数は、システムの Message オブジェクトにパ
ラメータを格納するので、開かれたシートにアクセスすることができ
ます。
対象
ウィンドウ オブジェクト
構文
OpenSheetWithParm ( sheetrefvar, parameter {, windowtype }, mdiframe
{, position {, arrangeopen } } )
引数
sheetrefvar
parameter
説明
MDI フレーム ウィンドウ以外のウィンドウ オブジェクト
の名前を指定します。OpenSheetWithParm 関数は開かれた
シートへの参照を sheetrefvar に格納します。
指定されたシートが開かれるときに Message オブジェク
トに格納するパラメータを指定します。parameter には、次
のいずれかのデータ型の変数を指定します。
• String 型
• 数値型
windowtype
(オプション)
mdiframe
position
(オプション)
PowerScript リファレンス ボリューム 2
• PowerObject 型
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、sheetrefvar と同じ
か、または子孫までなければなりません。
MDI フレーム ウィンドウの名前を指定します。
開かれたシートの名前を追加するメニュー項目(開かれた
シートに対応しているメニュー内の項目)の番号を指定し
ます。メニューバーのメニュー項目は、左端から順番に 1
から番号付けされています。特に指定しない限り、最後か
ら 2 番目のメニュー項目に開かれたシートのリストが表
示されます。
849
OpenSheetWithParm
引数
arrangeopen
(オプション)
説明
MDI フレーム内での開かれたシートの配置を指定する
ArrangeOpen カタログ データ型の値。次のいずれかの値を
指定します。
• Cascaded! -(デフォルト)すべてのタイトル バーが見
えるように、開いているシートを重ねて表示します。前
に開いていたシートの下に重ねて表示されます。
• Layered! - 開いているシートを重ねて表示します。フ
レーム全体に、そのシートが表示されます。前に開いて
いたシートの上に重ねて表示されます。
• Original! - シートを元のサイズで開き、重ねて表示し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
windowtype 引数が無効な場合などは、OpenSheetWithParm はランタイム
エラーを送出し、値を返しません。そのため、例の節の最初の例で示
すように、戻り値をテストし、try-catch ブロックでの関数呼び出しを
囲むことの両方を行うことをお勧めします。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。OpenSheetWithParm 関数のパラメータに指定
されたデータ型に対応するプロパティに値が格納されます。パラメー
タのデータ型と Message オブジェクトのプロパティの対応を次に示し
ます。
Message オブジェクトの
プロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
引数のデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
850
PowerBuilder
第 10 章
PowerScript 関数
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
レスポンス ウィンドウを開く場合
レスポンス ウィンドウを開く場合は OpenSheetWithParm 関数を使用し
ないでください。
OpenSheet 関数の解説も参考にしてください。OpenSheetWithParm 関数
にも適用できる内容が記述されています。
例
次の例は、w_child_1 というシートを MDI フレーム MDI_User の中に元
のサイズで開き、MA を Message.StringParm 内に格納します。開かれた
シートの名前を w_child_1 と関連付けられている MDI_User の 2 番目の
メ ニ ュ ー 項 目 に 追 加 し ま す。呼 び 出 し に 失 敗 し た 場 合、
OpenSheetWithParm は -1 を返すか、ランタイム エラーを送出します。
これらの両可能性を確実に拾うために、次の例では、関数の戻り値を
チェックし、try-catch 文を使用して起こる可能性のあるランタイム エ
ラーを捕捉します。
integer li_retrun
try
li_retrun = OpenSheetWithParm(w_child_1, "MA", &
MDI_User, 2, Original!)
if IsNull(li_return) then
MessageBox (" 失敗 ", "Null 引数が指定されました。")
elseif li_return = 1 then
MessageBox (" 成功 ", " シートを開きました。")
else
MessageBox (" 失敗 ", " シートを開くのに失敗しました。")
end if
catch (runtimeerror rt)
MessageBox(" 失敗 "," シートを開くのに失敗しました。", &
+ rt.getmessage()) // エラーを処理する
end try
PowerScript リファレンス ボリューム 2
851
OpenSheetWithParm
次の例は、ウィンドウのスクリプトです。Message オブジェクトに渡
されたパラメータにアクセスする方法を示しています。これらのス
テートメントは、2 つの異なるウィンドウのスクリプトにあります。最
初のウィンドウのスクリプトでは、child を Window 型として宣言し、
w_child_1 のインスタンスを MDI シートとして開きます。開かれたシー
トの名前 w_child_1 は、関連付けられているメニューの 4 番目のメ
ニュー項目に追加されます。
シングルライン エディット コントロール sle_state への参照を Message
オブジェクトの PowerObject 型のパラメータに渡します。w_child_1 の
Open イベントのスクリプトは、エディット コントロール内のテキス
トを使用して実行すべき計算の種類を特定します。2 つ目のスクリプ
トでは sle_state を参照するときに sle_state が存在しないと、失敗に終
わります。sle_state への参照を渡すかわりに、sle_state に入力されてい
るテキストを渡すことができます。この場合、テキストは Message オ
ブジェクトの String 型のパラメータに格納されます。
2 つ目のスクリプトで SingleLineEdit のテキストが決まり、そのテキス
トに基づいてスクリプトが処理を行います。
最初のスクリプトは、次のとおりです。
window child
OpenSheetWithParm(child, sle_state, &
"w_child_1", MDI_User, 4, Layered!)
2 つ目のスクリプトは、次のとおりです。
SingleLineEdit sle_state
sle_state = Message.PowerObjectParm
IF sle_state.Text = "overtime" THEN
... // 残業時間の計算
ELSEIF sle_state.Text = "vacation" THEN
... // 休暇の処理
ELSEIF sle_state.Text = "standard" THEN
... // 通常勤務時間の計算
END IF
関連項目
852
ArrangeSheets
OpenSheet
PowerBuilder
第 10 章
PowerScript 関数
OpenTab
ビジュアル ユーザ オブジェクトを開き、開いたユーザ オブジェクトを
指定されたタブ コントロールのタブ ページとします。また、すべての
プロパティとコントロールをスクリプトで使用できるようにします。
目的
ユーザ オブジェクトをタブ ページとして開く
実行時にアプリケーションがユーザ オブジェクトのデー
タ型を選択できるように、ユーザ オブジェクトをタブ
ページとして開く
使用する構文
構文 1
構文 2
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているカスタム ビジュアル ユーザ オブジェクトを、
タブ コントロールのタブ ページとして開きます。
対象
タブ コントロール
構文
tabcontrolname.OpenTab ( userobjectvar, index )
引数
tabcontrolname
userobjectvar
index
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
タブ ページとして開くカスタム ビジュアル ユーザ オブ
ジェクトの名前を指定します。ユーザ オブジェクト ペイ
ンタで定義したカスタム ビジュアル ユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenTab 関数は、userobjectvar に指定され
たカスタム ビジュアル ユーザ オブジェクトへの参照を配
置します。
新しいタブを挿入する位置を示すタブ番号を指定します。
index が 0、またはタブ数より大きい場合、タブ ページは
最後に挿入されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
PowerScript リファレンス ボリューム 2
853
OpenTab
OpenTab 関数は、ユーザ オブジェクトのタブ ページを選択状態にしま
せん。ユーザ オブジェクトのコントロールの Constructor イベントに対
するスクリプトは、タブ ページが選択されるまで実行されません。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
ユーザ オブジェクトがタブ コントロール定義の一部となっている場
合(つまり、ウィンドウ ペインタから、ユーザ オブジェクトをタブ コ
ントロールに追加した場合)には、スクリプトでユーザ オブジェクト
を開く必要はありません。タブ コントロールを含むウィンドウを開く
場合は、PowerBuilder は自動的にユーザ オブジェクトも開きます。
OpenTab 関数は、新しく開いたユーザ オブジェクトを、タブ コント
ロールの Control 配列に追加します。この Control 配列は、タブ コント
ロール内のタブ ページのリストを管理しているプロパティです。
同じオブジェクトを 2 回開いた場合
構文 1 を 2 回呼び出して同じユーザ オブジェクトを開くと、Open 関数
と OpenUserObject 関数の動作形態とは対照的に、OpenTab 関数は、ユー
ザ オブジェクトを別のタブ ページとしてもう一度開きます。
動作の変更
以前のリリースでは、タブ ページとしてユーザ オブジェクトを開くた
めに OpenTab 関数を呼び出すと、オブジェクトの Visible プロパティに
false を設定していたとしても、タブ ページが表示されました。現在の
リリースでは、タブ ページが表示されるように、ユーザ オブジェクト
の Visible プロパティに true を設定する必要があります。
例
次の例は、ユーザ オブジェクト u_Employee のインスタンスをタブ コ
ントロール tab_1 のタブ ページとして開きます。
tab_1.OpenTab(u_Employee, 0)
次の例は、ユーザ オブジェクト u_to_open のインスタンスをタブ コン
トロール tab_1 のタブ ページとして開きます。オブジェクトのインス
タンスは、コントロールの最初のタブになります。
u_employee u_to_open
tab_1.OpenTab(u_to_open, 1)
関連項目
854
OpenTabWithParm
PowerBuilder
第 10 章
PowerScript 関数
構文 2
データ型がわからないユーザ オブジェクトを開く
機能
スクリプトを実行するまでデータ型がわからないビジュアル ユーザ
オブジェクトをタブ コントロールのタブ ページとして開きます。
対象
タブ コントロール
構文
tabcontrolname.OpenTab ( userobjectvar, userobjecttype, index )
引数
tabcontrolname
userobjectvar
userobjecttype
index
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
ユーザオブジェクト データ型の変数を指定します。
OpenTab 関数は、userobjectvar に指定されたカスタム ビ
ジュアル ユーザ オブジェクトへの参照を配置します。
String 型の値。タブ ページとして開くユーザ オブジェクト
のデータ型を指定します。userobjecttype のデータ型は、
userobjectvar の子孫でなければなりません。
新しいタブを挿入する位置を示すタブ番号を指定します。
index が 0、またはタブ数より大きい場合、タブ ページは
最後に挿入されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
OpenTab 関数は、ユーザ オブジェクトのタブ ページを選択状態にしま
せん。タブ ページが選択されるまでは、コントロールのユーザ オブジェ
クトに対する Constructor イベント用スクリプトは、実行されません。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
ユーザ オブジェクトがタブ コントロール定義の一部となっている場
合(つまり、ウィンドウ ペインタから、ユーザ オブジェクトをタブ コ
ントロールに追加した場合)には、スクリプトでユーザ オブジェクト
を開く必要はありません。タブ コントロールを含むウィンドウを開く
場合は、PowerBuilder は自動的にユーザ オブジェクトも開きます。
OpenTab 関数は、新しく開いたユーザ オブジェクトを、タブ コント
ロールの Control 配列に追加します。この Control 配列は、タブ コント
ロール内のタブ ページのリストを管理しているプロパティです。
PowerScript リファレンス ボリューム 2
855
OpenTab
動作の変更
以前のリリースでは、タブ ページとしてユーザ オブジェクトを開くた
めに OpenTab 関数を呼び出すと、オブジェクトの Visible プロパティに
false を設定していたとしても、タブ ページが表示されました。現在の
リリースでは、タブ ページが表示されるように、ユーザ オブジェクト
の Visible プロパティに true を設定する必要があります。
ユーザ オブジェクト データ型を指定するときの考慮点
構文 2 を使用すると、PowerBuilder は userobjecttype に指定されたデー
タ型のユーザ オブジェクトのインスタンスを開き、変数 userobjectvar
にこのインスタンスへの参照を格納します。スクリプトでインスタン
スを参照するには、userobjectvar を使用します。
userobjecttype がユーザ オブジェクトの子孫である場合、userobjectvar
の定義の一部であるプロパティ、イベント、関数、または構造体だけ
を参照できます。たとえば、userobjecttype にユーザ イベントが定義さ
れていた場合、そのイベントを参照することはできません。
実行モジュールを作成すると userobjecttype に指定されたオブジェク
トは、自動的にはアプリケーションの実行ファイルには含まれません。
実行ファイルに含めるには、アプリケーションとともに配布する PBD
ファイル(PowerBuilder 動的ライブラリ)に保存する必要があります。
例
次の例は、ユーザ オブジェクトをタブ コントロール tab_1 の最後のタ
ブ ページとして開きます。ユーザ オブジェクトのデータ型は文字列
s_u_name に指定されていて、ユーザ オブジェクトへの参照は変数
u_to_open に格納されています。
UserObject u_to_open
string s_u_name
s_u_name = sle_user.Text
tab_1.OpenTab(u_to_open, s_u_name, 0)
関連項目
856
OpenTabWithParm
PowerBuilder
第 10 章
PowerScript 関数
OpenTabWithParm
指定されたウィンドウにビジュアル ユーザ オブジェクトを追加し、
OpenTab 関数と同様に、そのユーザ オブジェクトのすべてのプロパ
ティとコントロールをスクリプトで使用できるようにします。また、
開かれているオブジェクトがパラメータにアクセスできるように、シ
ステムの Message オブジェクトにパラメータを格納します。
目的
使用する構文
ユーザ オブジェクトをタブ ページとして開く
構文 1
実行時にアプリケーションがユーザ オブジェクトのデー 構文 2
タ型を選択できるように、ユーザ オブジェクトをタブ
ページとして開く
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているカスタム ビジュアル ユーザ オブジェクトを
タブ コントロールのタブ ページとして開き、システムの Message オブ
ジェクトにパラメータを格納します。
対象
タブ コントロール
構文
tabcontrolname.OpenTabWithParm ( userobjectvar, parameter, index )
引数
tabcontrolname
userobjectvar
parameter
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
タブ ページとして開くカスタム ビジュアル ユーザ オブ
ジェクトの名前を指定します。ユーザ オブジェクト ペイ
ンタで定義したカスタム ビジュアル ユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenTabWithParm 関数は、userobjectvar に
指定されたカスタム ビジュアル ユーザ オブジェクトへの
参照を配置します。
指定されたユーザ オブジェクトが開かれるときに Message
オ ブ ジ ェ ク ト に 格 納 す る パ ラ メ ー タ を 指 定 し ま す。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
• PowerObject 型
PowerScript リファレンス ボリューム 2
857
OpenTabWithParm
引数
index
説明
新しいタブを挿入する位置を示すタブ番号を指定します。
index が 0、またはタブ数より大きい場合、タブ ページは
最後に挿入されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。開かれているユーザ オブジェクトのスクリ
プトは、次のいずれかのプロパティをチェックします。チェックされ
るプロパティは、OpenTabWithParm 関数で指定されたパラメータのデー
タ型によって異なります。
Message オブジェクトの
プロパティ
message.DoubleParm
message.PowerObjectParm
message.StringParm
引数のデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、Message
オブジェクトに渡された値には、すぐにアクセスすることをお勧めし
ます。
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
OpenTab 関数の解説も参考にしてください。OpenTabWithParm 関数にも
適用できる内容が記述されています。
858
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、ユーザ オブジェクト u_Employee のインスタンスをタブ コ
ントロール tab_empsettings のタブ ページとして開きます。また、文字
列 James Newton を Message.StringParm に格納します。ユーザ オブジェ
クトに対する Constructor イベントのスクリプトは、String 型のパラメー
タをオブジェクトのスタティックテキスト コントロール st_empname の
テキストとして使用します。タブ ページを開くスクリプトには、次の
ステートメントが記述されています。
tab_empsettings.OpenTabWithParm(u_Employee, &
"James Newton", 0)
ユーザオブジェクトの Constructor イベントに対するスクリプトには、
次のステートメントが記述されています。
st_empname.Text = Message.StringParm
次のステートメントは、ユーザ オブジェクト u_to_open のインスタン
スをタブ コントロール tab_empsettings の最初のタブ ページとして開き
ます。また、番号を message.DoubleParm に格納します。最後のステー
トメントは、タブ ページを選択します。
u_employee u_to_open
integer age = 50
tab_1.OpenTabWithParm(u_to_open, age, 1)
tab_1.SelectTab(u_to_open)
関連項目
OpenTab
構文 2
データ型がわからないユーザ オブジェクトを開く
機能
スクリプトを実行するまでデータ型がわからないビジュアル ユーザ
オブジェクトをタブ コントロールのタブ ページとして開きます。ま
た、開かれているオブジェクトがパラメータにアクセスできるように、
システムの Message オブジェクトにパラメータを格納します。
対象
タブ コントロール
構文
tabcontrolname.OpenTabWithParm ( userobjectvar, parameter,
userobjecttype, index )
引数
tabcontrolname
userobjectvar
PowerScript リファレンス ボリューム 2
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
ユーザオブジェクト データ型の変数を指定します。
OpenTabWithParm 関数は開かれたユーザ オブジェクトへ
の参照を userobjectvar に格納します。
859
OpenTabWithParm
引数
parameter
説明
指定されたユーザ オブジェクトが開かれるときに Message
オブジェクトに格納するパラメータを指定します。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
userobjecttype
index
• PowerObject 型
表示するユーザ オブジェクトのデータ型を表す文字列を
指定します。userobjecttype のデータ型は、userobjectvar の
子孫でなければなりません。
新しいタブを挿入する位置を示すタブ番号を指定します。
index が 0、またはタブ数より大きい場合、タブ ページは
最後に挿入されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。開かれているユーザ オブジェクトのスクリ
プトは、次のいずれかのプロパティをチェックします。チェックされ
るプロパティは、OpenTabWithParm 関数で指定されたパラメータのデー
タ型によって異なります。
Message オブジェクトの
プロパティ
message.DoubleParm
message.PowerObjectParm
message.StringParm
パラメータのデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
860
PowerBuilder
第 10 章
PowerScript 関数
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
OpenTab 関数の解説も参考にしてください。OpenTabWithParm 関数にも
適用できる内容が記述されています。
例
次のステートメントは、タイプ u_benefit_plan のユーザ オブジェクト
u_data のインスタンスを、タブ コントロール tab_1 の最後のタブ ペー
ジとして開きます。パラメータ Benefits は、message.StringParm に格納
されます。
UserObject u_data
tab_1.OpenTabWithParm(u_data, &
"Benefits", "u_benefit_plan", 0)
次の例は、文字列 s_u_name に指定された型のユーザ オブジェクトを
開き、変数 u_to_open にユーザ オブジェクトへの参照を格納します。
s_u_name の値は、データベースから開かれるユーザ オブジェクトの型
を検索します。パラメータは シングルライン エディット コントロー
ル sle_loc のテキストなので、message.StringParm に格納されます。ユー
ザ オブジェクトは、タブ コントロール tab_1 の 3 番目のタブ ページに
なります。
UserObject u_to_open
string s_u_name, e_location
e_location = sle_location.Text
SELECT next_userobj INTO
FROM routing_table
WHERE ... ;
:s_u_name
tab_1.OpenTabWithParm(u_to_open, &
e_location, s_u_name, 3)
PowerScript リファレンス ボリューム 2
861
OpenUserObject
次の例は、文字列 s_u_name に指定された型のユーザ オブジェクトを
開き、変数 u_to_open にユーザ オブジェクトへの参照を格納します。
パラメータは数値なので、message.DoubleParm に格納されます。ユー
ザ オブジェクトは、タブ コントロール tab_1 の最初のタブ ページにな
ります。
UserObject u_to_open
integer age = 60
string s_u_name
s_u_name = sle_user.Text
tab_1.OpenTabWithParm(u_to_open, age, &
s_u_name, 1)
関連項目
OpenTab
OpenUserObject
指定されたウィンドウにユーザ オブジェクトを追加し、追加したユー
ザ オブジェクトのすべてのプロパティとコントロールをスクリプト
で利用できるようにします。
目的
特定のユーザ オブジェクトのインスタンスを開く
使用する構文
構文 1
スクリプトの実行時に、アプリケーションがユーザ オブ 構文 2
ジェクト データ型を選択することができるユーザ オブ
ジェクトを開く
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているユーザ オブジェクトを開きます。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObject ( userobjectvar {, x, y } )
引数
windowname
862
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名
前を指定します。
PowerBuilder
第 10 章
PowerScript 関数
引数
userobjectvar
説明
表示するユーザ オブジェクトの名前を指定します。ユーザ
オブジェクト ペインタで定義したユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenUserObject は、開かれたユーザ オブ
ジェクトの参照を userobjectvar に格納します。
x
ウィンドウのフレーム内のユーザ オブジェクトの表示位
(オプション) 置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
y
ウィンドウのフレーム内のユーザ オブジェクトの表示位
(オプション) 置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
初期状態のウィンドウで定義されているユーザ オブジェクト(ウィン
ドウ ペインタで追加されたウィンドウ)は、スクリプトで開く必要は
ありません。このユーザ オブジェクトは、PowerBuilder がウィンドウ
を開くときに開かれます。
OpenUserObject 関数は、新しく開かれたユーザ オブジェクトをウィン
ドウ プロパティの Control 配列に追加します。Control 配列は、ウィン
ドウのコントロールを格納します。
実行時にユーザ オブジェクトを開く場合は、ウィンドウを閉じるとき
にユーザ オブジェクトが自動的に破棄されません。通常はウィンドウ
を閉じるときに、CloseUserObject 関数を呼び出してユーザ オブジェク
トを破棄する必要があります。ユーザ オブジェクトを破棄しない場
合、メモリ内に保存され、メモリ リークの原因となります。
PowerScript リファレンス ボリューム 2
863
OpenUserObject
PowerBuilder はウィンドウを再表示するか、またはスクリプトの最後
の行を実行したときに(どちらかが先に起ったときに)、ユーザ オブ
ジェクトを表示します。たとえば、スクリプトで複数のユーザ オブ
ジェクトを開く場合、ほかの処理によって画面の外観が変更されない
限り、スクリプトが終了する時点で、すべてのユーザ オブジェクトが
同時に表示されます。たとえば、MessageBox 関数がメッセージを表示
したり、スクリプトがコントロールの表示プロパティを変更したりし
ない限り、スクリプトが終了する時点で、すべてのユーザ オブジェク
トが同時に表示されます。
OpenUserObject 関数を 2 回呼び出す場合
同じユーザ オブジェクトを開くつもりで構文 1 を 2 回呼び出しても、
PowerBuilder はそのユーザ オブジェクトを 2 回アクティブにするだけ
で、ユーザ オブジェクトのインスタンスを 2 つ開くわけではありません。
例
次の例は、ユーザ オブジェクト u_Employee のインスタンスをウィンド
ウ w_emp の左上隅(0,0)に表示します。
w_emp.OpenUserObject(u_Employee)
次の例は、ユーザ オブジェクト u_to_open のインスタンスをウィンド
ウ w_empstatus の(200,100)に表示します。
u_employee u_to_open
w_empstatus.OpenUserObject(u_to_open, 200, 100)
次の例は、
ユーザ オブジェクト u_data のインスタンスを w_info の
(20,100)
の位置に表示します。
w_info.OpenUserObject(u_data, 20, 100)
関連項目
OpenUserObjectWithParm
構文 2
データ型がわからないユーザ オブジェクトを開く
機能
スクリプトを実行するまでデータ型がわからないユーザ オブジェク
トを開きます。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObject ( userobjectvar, userobjecttype {, x, y } )
引数
windowname
864
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
PowerBuilder
第 10 章
引数
userobjectvar
userobjecttype
x
(オプション)
y
(オプション)
PowerScript 関数
説明
DragObject データ型の変数を指定します。OpenUserObject
関数は、開かれたユーザ オブジェクトの参照を
userobjectvar に格納します。
表示するユーザ オブジェクトの名前を表す文字列を指定
します。userobjecttype のデータ型は、userobjectvar の子孫
でなければなりません。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
初期状態のウィンドウで定義されているユーザ オブジェクト(ウィン
ドウ ペインタで追加されたウィンドウ)は、スクリプトで開く必要は
ありません。このユーザ オブジェクトは、PowerBuilder がウィンドウ
を開くときに開かれます。
OpenUserObject 関数は、新しく開かれたユーザ オブジェクトをウィン
ドウ プロパティの Control 配列に追加します。Control 配列は、ウィン
ドウのコントロールを格納します。
実行時にユーザ オブジェクトを開く場合は、ウィンドウを閉じるとき
にユーザ オブジェクトが自動的に破棄されません。通常はウィンドウ
を閉じるときに、CloseUserObject 関数を呼び出してユーザ オブジェク
トを破棄する必要があります。ユーザ オブジェクトを破棄しない場
合、メモリ内に保存され、メモリ リークの原因となります。
PowerScript リファレンス ボリューム 2
865
OpenUserObject
PowerBuilder はウィンドウを再表示するか、またはスクリプトの最後
の行を実行したときに(どちらかが先に起ったときに)、ユーザ オブ
ジェクトを表示します。たとえば、スクリプトで複数のユーザ オブ
ジェクトを開く場合、ほかの処理によって画面の外観が変更されない
限り、スクリプトが終了する時点で、すべてのユーザ オブジェクトが
同時に表示されます。たとえば、MessageBox 関数がメッセージを表示
したり、スクリプトがコントロールの表示プロパティを変更したりし
ない限り、スクリプトが終了する時点で、すべてのユーザ オブジェク
トが同時に表示されます。
userobjecttype 引数
構文 2 を使用すると、PowerBuilder は userobjecttype に指定されたデー
タ型のユーザ オブジェクトのインスタンスを開き、変数 userobjectvar
にこのインスタンスへの参照を格納します。スクリプトでインスタン
スを参照するには、userobjectvar を使用します。
userobjecttype がユーザ オブジェクトの子孫である場合、userobjectvar
の定義の一部であるプロパティ、イベント、関数、または構造体だけ
を参照できます。たとえば、userobjecttype にユーザ イベントが定義さ
れていた場合、そのイベントを参照することはできません。
実行モジュールを作成すると userobjecttype に指定されたオブジェク
トは、自動的にはアプリケーションの実行ファイルには含まれません。
実行ファイルに含めるには、アプリケーションとともに配布する PBD
ファイル(PowerBuilder 動的ライブラリ)に保存する必要があります。
例
次の例では、シングルライン エディット コントロールに入力された
ユーザ オブジェクトの型を s_u_name に設定します。s_u_name で指定
されたユーザ オブジェクトのインスタンスをウィンドウ w_info の
(100,200)に 表示し、そのユーザ オブジェクトへの参照を u_to_open
に格納します。
DragObject u_to_open
string s_u_name
s_u_name = sle_user.Text
w_info.OpenUserObject(u_to_open, s_u_name, 100, 200)
関連項目
866
OpenUserObjectWithParm
PowerBuilder
第 10 章
PowerScript 関数
OpenUserObjectWithParm
OpenUserObject 関数と同様に、指定されたウィンドウにユーザ オブ
ジェクトを追加し、そのユーザ オブジェクトのすべてのプロパティと
コントロールをスクリプトで利用できるようにします。また、開かれ
ているオブジェクトがパラメータにアクセスできるように、システム
の Message オブジェクトにパラメータを格納します。
目的
使用する構文
特定のユーザ オブジェクトのインスタンスを開く
構文 1
スクリプトの実行時に、アプリケーションがユーザ オブ 構文 2
ジェクト データ型を選択することができるユーザ オブ
ジェクトを開く
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているユーザ オブジェクトを開き、システムのメッ
セージ オブジェクトにパラメータを保存します。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObjectWithParm ( userobjectvar, parameter
{, x, y } )
引数
windowname
userobjectvar
parameter
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
表示するユーザ オブジェクトの名前を指定します。ユーザ
オブジェクト ペインタで定義したユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenUserObjectWithParm 関数は、開かれ
たユーザ オブジェクトへの参照を userobjectvar に格納し
ます。
指定されたユーザ オブジェクトが開かれるときに Message
オ ブ ジ ェ ク ト に 格 納 す る パ ラ メ ー タ を 指 定 し ま す。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
• PowerObject 型
PowerScript リファレンス ボリューム 2
867
OpenUserObjectWithParm
引数
x
(オプション)
y
(オプション)
説明
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。開かれているユーザ オブジェクトのスクリ
プトは、次のいずれかのプロパティをチェックします。チェックされ
るプロパティは、OpenUserObjectWithParm 関数で指定されたパラメータ
のデータ型によって異なります。
Message オブジェクトの
プロパティ
message.DoubleParm
message.PowerObjectParm
message.StringParm
引数のデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
OpenUserObject 関数の解説も参考にしてください。
OpenUserObjectWithParm 関数にも適用できる内容が記述されています。
868
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、ユーザ オブジェクト u_Employee のインスタンスをウィンド
ウ w_emp に表示し、文字列 James Newton を Message.StringParm に格納
します。ユーザ オブジェクトの Constructor イベントに対するスクリプ
ト で、文 字 列 パ ラ メ ー タ を ス タ テ ィ ッ ク テ キ ス ト コ ン ト ロ ー ル
st_empname のテキストとして使用します。ユーザ オブジェクトを開く
スクリプトには、次のステートメントが記述されています。
w_emp.OpenUserObjectWithParm(u_Employee, "Jim Newton")
ユーザオブジェクトの Constructor イベントに対するスクリプトには、
次のステートメントが記述されています。
st_empname.Text = Message.StringParm
次の例は、ユーザ オブジェクト u_to_open のインスタンスをウィンド
ウ w_emp に表示し、数値を message.DoubleParm に格納します。
u_employee u_to_open
integer age = 50
w_emp.OpenUserObjectWithParm(u_to_open, age)
関連項目
CloseWithReturn
OpenUserObject
OpenWithParm
構文 2
データ型がわからないユーザ オブジェクトを開く
機能
スクリプトを実行するまでデータ型がわからないユーザ オブジェク
トを開きます。また、開かれているオブジェクトがパラメータにアク
セスできるように、システムの Message オブジェクトにパラメータを
格納します。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObjectWithParm ( userobjectvar, parameter,
userobjecttype {, x, y } )
引数
windowname
userobjectvar
PowerScript リファレンス ボリューム 2
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
DragObject データ型の変数を指定します。
OpenUserObjectWithParm 関数は、開かれたユーザ オブ
ジェクトへの参照を userobjectvar に格納します。
869
OpenUserObjectWithParm
引数
parameter
説明
指定されたユーザ オブジェクトが開かれるときに Message
オ ブ ジ ェ ク ト に 格 納 す る パ ラ メ ー タ を 指 定 し ま す。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
userobjecttype
x
(オプション)
y
(オプション)
• PowerObject 型
表示するユーザ オブジェクトのデータ型を表す文字列を
指定します。userobjecttype のデータ型は、userobjectvar の
子孫でなければなりません。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。開かれているユーザ オブジェクトのスクリ
プトは、次のいずれかのプロパティをチェックします。チェックされ
るプロパティは、OpenUserObjectWithParm 関数で指定されたパラメータ
のデータ型によって異なります。
Message オブジェクトの
プロパティ
message.DoubleParm
message.PowerObjectParm
message.StringParm
引数のデータ型
数値型
PowerObject(ユ ー ザ 定 義 構 造 体 を 含 む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
870
PowerBuilder
第 10 章
PowerScript 関数
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
OpenUserObject 関数の解説も参考にしてください。
OpenUserObjectWithParm 関数にも適用できる内容が記述されています。
例
次のステートメントは、u_benefit_plan 型のユーザ オブジェクト u_data
のインスタンスを、ウィンドウ w_hresource の(20,100)の位置に表示
します。パラメータ Benefits は、message.StringParm に格納されます。
DragObject u_data
w_hresource.OpenUserObjectWithParm(u_data, &
"Benefits", "u_benefit_plan", 20, 100)
次の例は、文字列 s_u_name に指定された型のユーザ オブジェクトを
開き、変数 u_to_open にユーザ オブジェクトへの参照を格納します。
s_u_name の値は、データベースから開かれるユーザ オブジェクトの型
を検索します。パラメータはシングルライン エディット コントロール
sle_loc に入力されているテキストなので、message.StringParm に格納さ
れます。ユーザ オブジェクトは、ウィンドウ w_info の標準の(0,0)の
位置に表示されます。
DragObject u_to_open
string s_u_name, e_location
e_location = sle_location.Text
SELECT next_userobj INTO
FROM routing_table
WHERE ... ;
:s_u_name
w_info.OpenUserObjectWithParm(u_to_open, &
e_location, s_u_name)
次の例は、文字列 s_u_name に指定された型のユーザ オブジェクトを
開き、変数 u_to_open にユーザ オブジェクトへの参照を格納します。
指定されたパラメータは数値なので、message.DoubleParm に格納され
ます。ユーザ オブジェクトは、ウィンドウ w_emp の(100,200)の位
置に表示されます。
PowerScript リファレンス ボリューム 2
871
OpenWithParm
userobject u_to_open
integer age = 60
string s_u_name
s_u_name = sle_user.Text
w_emp.OpenUserObjectWithParm(u_to_open, age, &
s_u_name, 100, 200)
関連項目
CloseWithReturn
OpenUserObject
OpenWithParm
OpenWithParm
Open 関数と同様に、ウィンドウを表示して、そのすべてのプロパティ
とコントロールをスクリプトで使用できるようにします。また、開か
れたウィンドウがパラメータにアクセスできるように、システムの
Message オブジェクトにパラメータを格納します。
目的
特定のウィンドウ データ型のインスタンスを開く
スクリプトの実行時に、アプリケーションがウィンドウの
データ型を選択することができるようにする
使用する構文
構文 1
構文 2
構文 1
データ型がわかっているウィンドウを開く
機能
デ ー タ 型 が わ か っ て い る ウ ィ ン ド ウ オ ブ ジ ェ ク ト を 開 き ま す。
OpenWithParm 関数は、ウィンドウを表示し、すべてのプロパティとコ
ントロールをスクリプトで使用できるようにします。また、システム
の Message オブジェクトにパラメータを格納します。
対象
ウィンドウ オブジェクト
872
PowerBuilder
第 10 章
構文
PowerScript 関数
OpenWithParm ( windowvar, parameter {, parent } )
引数
windowvar
parameter
説明
表示するウィンドウの名前を指定します。ウィンドウ ペイ
ンタで定義されたウィンドウ オブジェクト(ウィンドウの
データ型)、または、ウィンドウのデータ型の変数を指定
します。OpenWithParm 関数は、windowvar に開かれたウィ
ンドウの参照を渡します。
指定された Window オブジェクトが開かれるときに Message
オブジェクトに格納するパラメータです。parameter には、
次のいずれかのデータ型の変数を指定します。
• String 型
• 数値型
• PowerObject 型
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合)(オプ
ション)
開くチャイルド ウィンドウまたはポップアップ ウィンド
ウの親ウィンドウを指定します。チャイルド ウィンドウま
たはポップアップ ウィンドウを開く場合に parent を省略
すると、現在アクティブなウィンドウが親ウィンドウにな
ります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。OpenWithParm 関数のパラメータに指定され
たデータ型に対応するプロパティに値が格納されます。パラメータの
データ型と Message オブジェクトのプロパティの対応を次に示しま
す。
Message オブジェクトの
プロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
引数のデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
PowerScript リファレンス ボリューム 2
873
OpenWithParm
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
複数の値を構造体として渡す場合
複数の値を渡すには、値を格納するためのユーザ定義の構造体を作成
し、開かれたウィンドウにおけるメッセージ オブジェクトの
PowerObjectParm プロパティにアクセスします。構造体は、参照として
ではなく、値として渡されるので、ユーザ定義構造体が破棄された場
合でも情報にアクセスできます。
Open 関数の解説も参考にしてください。OpenWithParm 関数にも適用で
きる内容が記述されています。
例
次の例は、ウィンドウのインスタンス w_employee を開いて、指定され
た文字列パラメータを Message.StringParm に格納します。ウィンドウ
の Open イベントに対するスクリプトでは、この文字列パラメータを
スタティックテキスト コントロール st_empname のテキストとして使
用します。ウィンドウを開くスクリプトには、次のステートメントが
記述されています。
OpenWithParm(w_employee, "James Newton")
ウィンドウの Open イベントに対するスクリプトには、次のステート
メントが記述されています。
st_empname.Text = Message.StringParm
次の例は、w_employee 型のウィンドウのインスタンスを開きます。指
定されたパラメータは数値なので、Message.DoubleParm に格納されま
す。
w_employee w_to_open
integer age = 50
OpenWithParm(w_to_open, age)
874
PowerBuilder
第 10 章
PowerScript 関数
次の例は、チャイルド ウィンドウのインスタンス cw_data を開き、
w_employee を親ウィンドウにします。ウィンドウ w_employee は開いて
いる必要があります。指定したパラメータ benefit_plan は文字列なの
で、Message.StringParm に格納されます。
OpenWithParm(cw_data, "benefit_plan", w_employee)
関連項目
CloseWithReturn
Open
構文 2
データ型がわからないウィンドウを開く
機能
アプリケーションが実行されるまでデータ型がわからないウィンドウ
オブジェクトを開きます。OpenWithParm 関数は、ウィンドウを表示し、
すべてのプロパティとコントロールをスクリプトで使用できるように
します。また、システムの Message オブジェクトにパラメータを格納
します。
対象
ウィンドウ オブジェクト
構文
OpenWithParm ( windowvar, parameter, windowtype {, parent } )
引数
windowvar
parameter
説明
ウィンドウ オブジェクトの変数を指定します。
OpenWithParm 関数は、開かれたウィンドウへの参照を
windowvar に格納します。
指定されたウィンドウ オブジェクトが開かれるときに
メッセージ オブジェクトに格納するパラメータ。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
windowtype
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合)
PowerScript リファレンス ボリューム 2
• PowerObject 型
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、windowvar と同じ
か、または子孫でなければなりません。
これから開くチャイルド ウィンドウまたはポップアップ
ウィンドウの親ウィンドウにするウィンドウを指定しま
す。チャイルド ウィンドウまたはポップアップ ウィンド
ウを開く場合に parent を省略すると、現在アクティブな
ウィンドウが親ウィンドウになります。
875
OpenWithParm
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。OpenWithParm 関数のパラメータに指定され
たデータ型に対応するプロパティに値が格納されます。パラメータの
データ型と Message オブジェクトのプロパティの対応を次に示します。
Message オブジェクトの
プロパティ
Message.DoubleParm
Message.PowerObjectParm
引数のデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
Message.StringParm
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
null オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、null オブジェクト参照となり、エラーが発生します。たとえば、
閉じられているウィンドウのコントロール名を渡した場合、そのコン
トロールは、スクリプトがパラメータにアクセスするときには存在し
ません。
複数の値を構造体として渡す場合
複数の値を渡すには、値を格納するためのユーザ定義の構造体を作成
し、開かれたウィンドウにおけるメッセージ オブジェクトの
PowerObjectParm プロパティにアクセスします。構造体は、参照として
ではなく、値として渡されるので、ユーザ定義構造体が破棄された場
合でも情報にアクセスできます。
Open 関数の解説も参考にしてください。OpenWithParm 関数にも適用で
きる内容が記述されています。
876
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、文字列 s_w_name で指定したデータ型のウィンドウを開き、
変数 w_to_open にそのウィンドウの参照を格納します。開くウィンド
ウのデータ型の文字列である s_w_name の値をデータベースから取得
します。e_location で指定されたパラメータはテキストなので、
Message.StringParm に格納されます。
window w_to_open
string s_w_name, e_location
e_location = sle_location.Text
SELECT next_window INTO :s_w_name
FROM routing_table
WHERE ... ;
OpenWithParm(w_to_open, e_location, s_w_name)
次の例は、文字列 c_w_name で指定された型のウィンドウを開いて、変
数 wc_to_open にウィンドウへの参照を渡します。w_emp を wc_to_open
の親ウィンドウに指定します。指定されたパラメータは数値なので、
Message.DoubleParm に格納されます。
window wc_to_open
string c_w_name
integer age = 60
c_w_name = "w_c_emp1"
OpenWithParm(wc_to_open, age, c_w_name, w_emp)
関連項目
CloseWithReturn
Open
OutgoingCallList
機能
パフォーマンス解析モデルに含まれているルーチンの呼び出し情報の
リストを提供します。
対象
ProfileLine オブジェクト、ProfileRoutine オブジェクト
構文
instancename.OutgoingCallList ( list, aggregate )
引数
instancename
PowerScript リファレンス ボリューム 2
説明
ProfileLine オブジェクトまたは ProfileRoutine オブジェク
トのインスタンス名を指定します。
877
OutgoingCallList
引数
list
aggregate
(ProfileRoutine
のみ)
戻り値
解説
説明
ProfileCall 型の可変長配列変数を指定します。指定された
ルーチン内からの別ルーチンの呼び出しごとに、
OutgoingCallList 関数は ProfileCall オブジェクトを 1 つ作成
してこの変数に格納します。この引数は、参照渡しされ
ます。
Boolean 型の値。呼び出しが複数回発生した場合に、
ProfileCall オブジェクトを 1 つだけ作成するか、または複
数作成するかどうかを指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しません。
OutgoingCallList 関数を使うと、
ある特定のスクリプトの行またはルーチ
ンから、パフォーマンス解析モデルに含まれるルーチンを呼び出して
いる場合に、その情報のリストを取得できます。BuildModel 関数を使っ
てトレース ファイルからパフォーマンス解析モデルをあらかじめ作
成しておかなければなりません。呼び出し側ルーチンはそれぞれ、
ProfileCall オブジェクトとして定義されます。このオブジェクトには、
呼び出されるルーチン、呼び出すルーチン、呼び出し回数、および処
理時間が書き込まれます。リスト中のルーチンの並び方に、特に規則
性はありません。
aggregate 引 数 は、ル ー チ ン の 呼 び 出 し が 複 数 回 発 生 す る 場 合 に、
ProfileCall オブジェクトを 1 つだけ作成するか、または複数作成するか
どうかを示します。この引数が有効になるのは、ライン トレースを行
うように設定されていて、呼び出し側ルーチンが呼び出し先ルーチン
を、異なる複数のラインから呼び出している場合だけです。aggregate
が true である場合、新規作成される ProfileCall オブジェクトは 1 つだ
けであり、呼び出し側ルーチンから呼び出し先ルーチンへの呼び出し
の情報はすべて、このオブジェクトに 1 つにまとめられます。aggregate
が false である場合、ProfileCall オブジェクトは複数作成され、呼び出
し側ルーチンが呼び出し先ルーチンを呼び出している 1 ラインに対
し、1 つのオブジェクトが対応します。
例
次の例では、パフォーマンス解析モデルに含まれるルーチンのリスト
を取得し、次に、そのリスト内の個々のルーチンが呼び出しているルー
チンのリストを取得します。
Long ll_cnt
ProfileCall lproc_call[]
lpro_model.BuildModel()
878
PowerBuilder
第 10 章
PowerScript 関数
lpro_model.RoutineList(iprort_list)
FOR ll_cnt = 1 TO UpperBound(iprort_list)
iprort_list[ll_cnt].OutgoingCallList(lproc_call, &
TRUE)
...
NEXT
関連項目
BuildModel
IncomingCallList
PowerScript リファレンス ボリューム 2
879
PageCount
PageCount
機能
リッチテキスト エディット コントロールの文書全体のページ数を返
します。
対象
リッチテキスト エディット コントロール
構文
rtename.PageCount ( )
引数
rtename
説明
ページ数を調べるリッチテキスト エディット コントロー
ルの名前を指定します。
戻り値
Integer 型。リッチテキスト エディット コントロールのページ数を返し
ます。コントロールにテキストがない場合は 1 を返し、エラーが発生
した場合は -1 を返します。
解説
文書のページ数は、テキストの量や、ページのサイズ、余白、フォン
トのサイズなどのレイアウトの仕様によって決まります。
リッチテキスト エディットコントロールがデータウィンドウとデー
タを共有すると、データウィンドウの行ごとに文書のインスタンスが
作成されます。PageCount 関数は、1 つのインスタンスのページ数を報
告します。ページ数の合計を取得するには、データウィンドウ関数の
RowCount 関数の戻り値にページ数を掛けます。
例
次の例は、リッチテキスト エディット コントロール rte_1 の文書の
ページ数をスタティックテキスト コントロール st_status のテキストと
して表示します。
st_status.Text = String(rte_1.PageCount())
関連項目
880
LineCount
LineLength
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RowCount メソッド
PowerBuilder
第 10 章
PowerScript 関数
PageCreated
機能
指定したタブ ページがすでに作成されているかどうかを報告します。
対象
タブ ページとして使用されているユーザ オブジェクト
構文
userobject.PageCreated ( )
引数
userobject
説明
存在するかどうかをテストしたいタブ ページの名前を指
定します。
戻り値
Boolean 型。指定されたユーザ オブジェクトがタブ ページであって、
すでに作成済みである場合は、true を返します。それ以外の場合は、
false を返します。
解説
多くのコントロールを含むタブ ページを画面に描画するのを後まわ
しにすれば、ウィンドウが開くまでの時間を短縮できます。ただしそ
の場合、タブ ページに対する Constructor イベントが実行されてコント
ロールが画面に描画されるまでは、スクリプトからタブ ページ上のコ
ントロールを参照できません。タブ コントロールの CreateOnDemand
プロパティが選択されている場合は、ユーザがそのタブ ページを表示
するまでは、スクリプトからそのタブ ページ上のコントロールを参照
できません。PageCreated 関数を使うと、特定のタブ ページがすでに作
成されているかどうかをテストできます。
例
次の例では、tabpage_2 がすでに作成されているかどうかをテストし、
作成されていない場合は、このタブ ページを作成します。
IF tab_1.CreateOnDemand = True THEN
IF tab_1.tabpage_2.PageCreated() = False THEN
tab_1.tabpage_2.CreatePage()
END IF
END IF
関連項目
CreatePage
PowerScript リファレンス ボリューム 2
881
ParentWindow
ParentWindow
機能
親ウィンドウを取得します。
対象
ウィンドウ オブジェクト
構文
windowname.ParentWindow ( )
引数
windowname
説明
親ウィンドウを取得するウィンドウ オブジェクトの名前
を指定します。
戻り値
Window 型。windowname で指定されたウィンドウの親ウィンドウを返
します。エラーが発生した場合、または windowname が null の場合に
は、null オブジェクトへの参照を返します。
解説
ParentWindow 関数で代名詞 Parent を使用すると、実際のウィンドウ名
を指定しないので、より汎用的なスクリプトを記述することができま
す。Parent は現行のオブジェクトまたはコントロールを含むウィンド
ウ(ローカル環境)を参照します。ParentWindow 関数は、指定された
ウィンドウの親ウィンドウを返します。
ウィンドウが親ウィンドウを持つかどうかは、ウィンドウのデータ型
とウィンドウが開かれた方法に依存します。ウィンドウを開くときに、
親ウィンドウを指定することができます。常に親ウィンドウを持つ
ウィンドウに対して親ウィンドウが指定されていない場合、PowerBuilder
が親ウィンドウを選択します。レスポンス ウィンドウとチャイルド
ウィンドウは、常に親ウィンドウを持ちます。MDI アプリケーション
のシートの親ウィンドウは、MDI フレーム ウィンドウです。
ポップアップ ウィンドウは、ほかのウィンドウから開かれる場合には
親ウィンドウを持ちますが、MDI アプリケーション内で使用される場
合の親は、MDI フレームです。なお、アプリケーションの Open イベ
ントに対するスクリプトから開かれた場合は、親ウィンドウを持ちま
せん。
メニュー オブジェクトの ParentWindow プロパティは、Menu スクリプ
ト内では代名詞として使用できます。このプロパティは、実行時にそ
のメニュー項目と関連付けられているウィンドウを識別します。詳細
については、PowerBuilder の『ユーザーズ ガイド』マニュアルを参照
してください。
例
次の例は、child_1 の親ウィンドウ(データ型 Win1 のウィンドウ)を返
します。
Win1 w_parent
w_parent = child_1.ParentWindow()
882
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、ポップアップ ウィンドウの[キャンセル]ボ
タンのスクリプトです。ボタンの親ウィンドウ(ボタンを含むウィン
ドウ)の親ウィンドウのイベントを起動し、ボタンの親ウィンドウを
閉じます。続いて、ボタンのウィンドウが閉じます。ボタンのウィン
ドウの親ウィンドウには、イベント cancelrequested に対するスクリプ
トが定義されています。
Parent.ParentWindow().TriggerEvent("cancelrequested")
Close(Parent)
Paste
機能
クリップボードの内容を指定されたコントロールに挿入します(貼り
付けます)。編集可能なコントロールを対象とする場合、クリップボー
ドのテキストを挿入ポイントに貼り付けます。OLE コントロールを対
象とする場合、クリップボードの OLE オブジェクトをコントロール内
の既存のオブジェクトに置き換えます。
対象
エディットマスク コントロール、インクエディット コントロール、マ
ルチライン エディット コントロール、シングルライン エディット コ
ントロール、リッチテキスト エディット コントロール、ドロップダウ
ン リストボックス コントロール、ドロップダウン ピクチャ リスト
ボックス コントロール、データウィンドウ コントロール、OLE コン
トロール
構文
controlname.Paste ( )
引数
controlname
説明
データウィンドウ、エディットマスク、インクエディット、
マルチライン エディット、シングルライン エディット、
リッチテキスト エディット、ドロップダウン リストボッ
クス、ドロップダウン ピクチャ リストボックス、OLE の
いずれかのコントロールの名前。クリップボードの内容の
貼り付け先を指定します。
controlname がデータウィンドウ コントロールの場合、エ
ディット コントロールの現行の行とカラムの上にテキス
トを貼り付けます。controlname にドロップダウン リスト
ボックス コントロールまたはドロップダウン ピクチャ リ
ストボックス コントロールを指定する場合、AllowEdit プ
ロパティは true でなければなりません。
戻り値
データウィンドウ、インクエディット、およびリストボックスの 場合
は Integer 型、ほかのコントロールの場合は Long 型
PowerScript リファレンス ボリューム 2
883
Paste
エディット コントロールを対象とする場合、controlname に指定された
コントロールに貼り付けられた文字数を返します。切り取りやコピー
が行われていない場合(クリップボードが空の場合)、Paste 関数はエ
ディット コントロールの内容を変更せずに、0 を返します。クリップ
ボードにテキスト以外のデータ(ビットマップや OLE オブジェクトな
ど)が格納されており、コントロールがそのデータを受け付けること
ができない場合、Paste 関数はコントロールの内容を変更せずに、0 を
返します。
OLE コントロールを対象とする場合、正常に終了したときには 0 を返
します。エラーが発生したときには、次のいずれかの負の値を返しま
す。
-1 クリップボードにデータがないか、またはクリップボードの内
容を埋め込むことができません。
-9 そのほかのエラーです。
解説
編集可能なコントロールでは、controlname でテキストが選択される
と、Paste 関数はそのテキストをクリップボードの内容と置き換えま
す。エディット コントロールに格納できる行数より多くの行がクリッ
プボードに格納されている場合には、格納できるだけの行数を貼り付
けます。
データウィンドウ コントロールでは、現行の行とカラム上にあるエ
ディット コントロールにテキストを貼り付けます。そのカラムに格納
できる行数より多くのテキストがクリップボードに格納されている場
合、格納できるだけのテキストを貼り付け、残りは切り捨てます。ク
リップボードのテキストがカラムのデータ型と一致しない場合には、
すべてのテキストが切り捨てられるため、選択したテキストは空の文
字列("")に置き換えられます。
リッチテキスト エディット コントロールには、テキストだけでなく、
ビットマップも貼り付けることができます。
特定の文字列を controlname に挿入したり、選択したテキストを特定の
文字列に置き換えたりするには、ReplaceText 関数を使用します。
Paste 関数を使用して OLE オブジェクトを OLE コントロールに貼り付
ける場合、データは PowerBuilder アプリケーションにリンクされるわ
けではなく、埋め込まれます。
884
PowerBuilder
第 10 章
例
PowerScript 関数
クリップボードに Proposal good for 90 days という文字列が格納され、テ
キストが選択されていない場合、次のステートメントは、mle_Comment1
の挿入ポイントに Proposal good for 90 days を貼り付けて 25 を返します。
mle_Comment1.Paste()
クリップボードに Final Edition という文字列が格納され、mle_Comment2
に This is a Preliminary Draft という文字列が格納されているとします。
mle_Comment2 のテキストを選択すると、次のステートメントは、This
is a Preliminary Draft を削除して Final Edition に置き換え、13 を返します。
mle_Comment2.Paste()
クリップボードに OLE オブジェクトが格納されている場合、次のス
テートメントは、クリップボードの内容を ole_1 コントロールに貼り付
け、0 を返します。
ole_1.Paste()
関連項目
Copy
Cut
PasteLink
PasteSpecial
ReplaceText
PasteLink
機能
クリップボードの内容に対するリンクを OLE コントロールに貼り付
けます。クリップボード上のオブジェクトに対するサーバ アプリケー
ションを実行している必要があります。
対象
OLE コントロール
構文
olecontrol.PasteLink ( )
引数
olecontrol
戻り値
説明
クリップボードの OLE オブジェクトの貼り付け先である
OLE コントロールの名前を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
データがないか、クリップボードの内容がリンクできません。
そのほかのエラーです。
olecontrol が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
885
PasteRTF
解説
OLE をサポートするアプリケーションからクリップボードにデータを
コピーする場合に、サーバ アプリケーションが実行中のときは、ク
リップボード上のオブジェクトが、元のオブジェクトのリンクを持っ
ているので、そのリンクを持たせたまま OLE コントロールにオブジェ
クトを貼り付けることができます。OLE コントロールに貼り付けたオ
ブジェクトの元のオブジェクトの情報は、サーバ アプリケーションが
実行している間だけ利用できます。ただし、OLE オブジェクトがライ
ブラリのオブジェクトまたはウィンドウのコントロールの定義に使用
されている場合、PowerBuilder は元のオブジェクトの情報を持ってい
ます。このため、開発者がサーバ アプリケーションの実行について考
慮する必要はありません。PowerBuilder は OLE オブジェクトから元の
オブジェクトのリンクを実現するために、サーバ アプリケーションを
バックグラウンドで実行します。
PasteLink 関数がエラーになるのは、エンド ユーザがサーバ アプリケー
ションに切り替えてデータをコピーし、サーバ アプリケーションを終
了した後、PasteLink 関数を使用して PowerBuilder アプリケーションに
コピーしたオブジェクトを貼り付けてリンクする場合です。
例
クリップボードが OLE オブジェクトを格納し、オブジェクトのサーバ
アプリケーションが実行中であるものとします。次の例は、ole_1 にク
リップボードの中の OLE オブジェクトを貼り付け、li_result に 0 を設
定します。
integer li_result
li_result = ole_1.PasteLink()
関連項目
LinkTo
Paste
PasteSpecial
PasteRTF
機能
文字列のリッチテキスト形式のデータを、データウィンドウ コント
ロール、データストア オブジェクト、またはリッチテキスト エディッ
ト コントロールに貼り付けます。
対象
データウィンドウ コントロール、データストア オブジェクト、リッチ
テキスト エディット コントロール
886
PowerBuilder
第 10 章
構文
PowerScript 関数
rtename.PasteRTF ( richtextstring, { band } )
引数
rtename
richtextstring
band
(オプション)
説明
データをリッチテキスト形式で貼り付けるデータウィン
ドウ コントロール、データストア オブジェクト、または
リッチテキスト エディット コントロールの名前を指定し
ます。データウィンドウ コントロール(またはデータスト
ア)のデータウィンドウ オブジェクトは、リッチテキスト
エディット データウィンドウでなければなりません。
String 型の値。リッチテキスト形式のデータを指定します。
リッチテキスト形式のデータを貼り付ける区域を指定す
る Band カタログ データ型の値。値は以下のとおりです。
• Detail! - 詳細区域
• Header! - ヘッダ区域
• Footer! - フッタ区域
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
戻り値
Long 型。エラーが発生した場合は -1 を返します。richtextstring の値が
null の場合、null を返します。
解説
提示様式がリッチテキストのデータウィンドウには、3 つの区域しか
ありません。サマリー区域とトレーラ区域はありません。また、グルー
プ ヘッダ区域やグループ フッタ区域もありません。
例
次のステートメントは、リッチテキスト エディット コントロール
rte_message のヘッダ区域に、文字列 ls_richtext のリッチテキストを貼
り付けます。
string ls_richtext
rte_message.PasteRTF(ls_richtext, Header!)
関連項目
CopyRTF
PasteSpecial
機能
OLE オブジェクトを特定のコントロールに貼り付けるときに、標準の
OLE ダイアログボックスを表示し、エンド ユーザが OLE オブジェク
トを埋めこむのか、リンクするのかを選択できるようにします。埋め
込みを選択した場合の結果は、Paste 関数を使用した場合と同じです。
リンクを選択した場合の結果は、PasteLink 関数を使用した場合と同じ
です。
PowerScript リファレンス ボリューム 2
887
Pi
対象
OLE コントロール
構文
olecontrol.PasteSpecial ( )
引数
olecontrol
戻り値
説明
クリップボードの OLE オブジェクトの貼り付け先である
OLE コントロールの名前を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
1 エンド ユーザが挿入位置を指定せずにキャンセルしました。
-1 データがありません。
-9 そのほかのエラーです。
olecontrol が null の場合、null を返します。
解説
クリップボードに含まれているオブジェクトを、リンクするタイミン
グについては PasteLink 関数を参照してください。
例
クリップボードに OLE オブジェクトが含まれていて、オブジェクトの
サーバ アプリケーションが実行中であるとします。次の例は、コント
ロール ole_1 にオブジェクトを埋め込むかリンクするかをエンド ユー
ザが選択できます。
integer li_result
li_result = ole_1.PasteSpecial()
関連項目
LinkTo
Paste
PasteLink
Pi
機能
指定された数値に pi(円周率)を掛けます。
構文
Pi ( n )
引数
n
説明
pi(円周率 3.14159265358979323)を掛ける数値を指定しま
す。
戻り値
Double 型。正常に終了した場合は n × pi の結果を返し、エラーが発生
した場合には -1 を返します。n が null の場合、null を返します。
解説
Pi 関数は、
角度と弧度(ラジアン)を互いに変換する場合に使用します。
888
PowerBuilder
第 10 章
PowerScript 関数
次の例は、pi(円周率)を返します。
例
Pi(1)
次の 2 つのステートメントは、どちらも半径 id_Rad の円の面積を返し
ます。id_Rad は、Double 型のインスタンス変数を指定します。
Pi(1) * id_Rad^2
Pi(id_Rad^2)
次の例は、45 度の余弦(コサイン)を計算します。
real degree = 45.0, cosine
cosine = Cos(degree * (Pi(2)/360))
関連項目
Cos
Sin
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Pi メソッド
PixelsToUnits
機能
ピクセル単位の数値を、PowerBuilder 単位系に変換します。通常、ピ
クセルは 1 次元なので、変換するピクセルが水平方向か垂直方向かを
指定します。
構文
PixelsToUnits ( pixels, type )
引数
pixels
type
説明
PowerBuilder 単位系に変換するピクセル数を表す Integer
型の数値を指定します。
変換方法を指定する ConvertType カタログ データ型の値を
指定します。
• XPixelsToUnits! - 水平方向のピクセルを変換します。
• YPixelsToUnits! - 垂直方向のピクセルを変換します。
戻り値
Integer 型。正常に終了した場合は変換後の値を返し、エラーが発生し
た場合は -1 を返します。引数のいずれかの値が null の場合、null を返
します。
例
次の例は、水平方向の 35 ピクセルを PowerBuilder 単位系に変換し、変
換した値を Value に設定します。
PowerScript リファレンス ボリューム 2
889
Play
integer Value
Value = PixelsToUnits(35, XPixelsToUnits!)
関連項目
UnitsToPixels
Play
機能
アニメーション AVI クリップの再生を開始します。
対象
アニメーション コントロール
構文
animationname.Play ( from, to, replay )
引数
animationname
from
to
replay
説明
AVI クリップを表示するアニメーション コントロールの
名前を指定します。
0 ~ 65,535 の Long 型の値。再生を開始するフレームを指
定します。値 0 の場合は最初のフレームからクリップを再
生します。
-1 ~ 65,535 の Long 型の値。再生を終了するフレームを指
定します。値 -1 の場合は最後のフレームでクリップの再
生を終了します。
-1 ~ 65,535 の Long 型の値。クリップを再生する回数を指
定します。値 -1 の場合、クリップの再生は無期限に継続
されます。
戻り値
Integer 型。成功した場合は 1、失敗した場合は -1 を返します。
解説
Play 関数は、開かれている AVI ファイルをアニメーション コントロー
ルで再生します。指定範囲外の値を引数に指定した場合、Play 関数は
何も実行しないで -1 を返します。
例
次の例は、最初のフレームから AVI クリップの再生を開始し、最後の
フレームまで再生した後、無期限に再生を続けます。
integer li_return
li_return = am_1.Play(0, -1, -1)
関連項目
890
Stop
PowerBuilder
第 10 章
PowerScript 関数
PointerX
機能
指定されたオブジェクトの左端からポインタまでの距離を返します。
対象
すべてのオブジェクトとコントロール
構文
objectname.PointerX ( )
引数
objectname
戻り値
説明
コントロールまたはウィンドウの名前を指定し、その左端
からポインタまでの距離を返します。objectname を省略す
ると、現行のシートまたはウィンドウの左端からの距離が
返されます。
Integer 型。正常に終了した場合、objectname で指定されたコントロー
ルまたはウィンドウの左端からポインタまでの距離(PowerBuilder 単
位系)を返し、エラーが発生した場合には -1 を返します。
例
次の例は、ウィンドウのコントロールのスクリプトです。ウィンドウ
の端からポインタまでの距離を変数 li_dist に格納します。ウィンドウ
の左端からポインタまでの距離が 5 の場合、li_dist は 5 になります。
integer li_dist
li_dist = Parent.PointerX()
次のステートメントは、コントロールの RButtonDown イベントに対す
るスクリプトです。ポップアップ メニュー m_Appl.M_Help をカーソル
の位置に表示します。
m_Appl.m_Help.PopMenu(Parent.PointerX(), &
Parent.PointerY())
上記の操作を、ウィンドウのコントロールのスクリプトではなく、ウィ
ンドウの RButtonDown イベントのスクリプトに記述すると、次の文の
ようになります。次のステートメントは、ウィンドウ上のカーソルの
位置にポップアップ メニューを表示します。
m_Appl.m_Help.PopMenu(This.PointerX(), &
This.PointerY())
関連項目
PointerY
PopMenu
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceX
WorkSpaceY
PowerScript リファレンス ボリューム 2
891
PointerY
PointerY
機能
指定されたオブジェクトの上端からポインタまでの距離を返します。
対象
すべてのオブジェクトとコントロール
構文
objectname.PointerY ( )
引数
objectname
説明
コントロールまたはウィンドウの名前を指定し、その上端
からポインタまでの距離を返します。objectname を省略す
ると、現行のシートまたはウィンドウの上端からの距離が
返されます。
戻り値
Integer 型。正常に終了した場合は objectname で指定されたコントロー
ルまたはウィンドウの上端からポインタまでの距離(PowerBuilder 単
位系)を返し、エラーが発生した場合には -1 を返します。objectname
が null の場合、null を返します。
例
次の例は、ウィンドウのコントロールのスクリプトです。ウィンドウ
の上端からポインタまでの距離を変数 li_dist に格納します。ウィンド
ウの上端からポインタまでの距離が 10 の場合、li_dist は 10 になりま
す。
integer li_Dist
li_Dist = Parent.PointerY()
次のステートメントは、コントロールの RButtonDown イベントに対す
るスクリプトです。ポップアップ メニュー m_Appl.M_Help をカーソル
の位置に表示します。
m_Appl.M_Help.PopMenu(Parent.PointerX(), &
Parent.PointerY())
関連項目
892
PointerX
PopMenu
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceX
WorkSpaceY
PowerBuilder
第 10 章
PowerScript 関数
PopMenu
機能
指定された位置にメニューを表示します。
対象
メニュー オブジェクト
構文
menuname.PopMenu ( xlocation, ylocation )
引数
menuname
xlocation
ylocation
説明
指定された位置に表示するメニューバーのメニュー オブ
ジェクト名を指定します。
表示するメニューからウィンドウの左端までの距離
(PowerBuilder 単位系)を指定します。
表示するメニューからウィンドウの上端までの距離
(PowerBuilder 単位系)を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
メニューを関連付けずに定義したウィンドウを開いたときに、メ
ニューを関連付けるには、CREATE 文を使用してメニューにメモリを割
り当てる必要があります。詳細については、最後の例を参照してくだ
さい。
メニュー項目の Visible プロパティが false の場合、ポップアップ メ
ニューを表示する前に、プロパティを true に変更してください。
PopMenu に対して指定する座標は、アクティブなウィンドウ上の座標
です。MDI アプリケーションでは、座標はアクティブなフレーム ウィ
ンドウ上の座標です。カーソル位置にメニューを表示するには、アク
ティブなウィンドウ(MDI アプリケーション内のフレーム ウィンド
ウ)に対して PointerX 関数と PointerY 関数を呼び出し、カーソル座標
を取得します。詳細については「例」を参照してください。
オブジェクトのスクリプトから PopMenu 関数を呼び出す
PopMenu 関数は、オブジェクトのスクリプトから呼び出します。グロー
バル関数からは呼び出さないでください。
例
次の例は、メニュー項目 m_Emp.M_Procedures を(100,200)の位置に表
示します。m_Emp はウィンドウに関連付けられたメニューです。
m_Emp.M_Procedures.PopMenu(100, 200)
次の例は、メニュー m_Appl.M_File をカーソルの位置に表示します。
m_Appl は、ウィンドウに関連付けられたメニューです。
m_Appl.M_file.PopMenu(PointerX(), PointerY())
PowerScript リファレンス ボリューム 2
893
PopulateError
次の例は、ポップアップ メニューをカーソルの位置に表示します。
Menu4 はメニュー ペインタで作成され、m_language というメニュー項
目を持っています。Menu4 はアクティブ ウィンドウのメニューではあ
りません。NewMenu は Menu4 のインスタンスです(Menu4 データ型)。
Menu4 NewMenu
NewMenu = CREATE Menu4
NewMenu.m_language.PopMenu(PointerX(), PointerY())
最後のステートメントは、MDI アプリケーションで、ポインタ関数を
MDI フレームに対するオブジェクト関数として使用しています。
NewMenu.m_language.PopMenu( &
w_frame.PointerX(), w_frame.PointerY())
PopulateError
機能
SystemError イベントをトリガさせずに、エラー オブジェクトにエラー
情報を格納します。
構文
PopulateError ( number, text )
引数
number
text
説明
エラー オブジェクトの数値プロパティに格納すべき整数
を指定します。
エラー オブジェクトのテキスト プロパティに格納すべき
文字列を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。通常、戻り値は使用されません。
解説
エラー オブジェクトに格納しようとする値が、スクリプト内のある変
数の実行時の値によって変わる場合は、この PopulateError 関数を使っ
て、エラー オブジェクトの数値項目とテキスト項目に値を割り当てる
ことが可能です(エラーが発生した行番号などの、エラー オブジェク
ト の そ の ほ か の 項 目 に は、自 動 的 に 値 が 設 定 さ れ ま す)。次 に、
SignalError 関数を引数なしで呼び出し、SystemError イベントをトリガ
させます。SystemError イベントのスクリプトには、独自のエラー番号
に 対 す る エ ラ ー を 処 理 す る よ う に 記 述 す る 必 要 が あ り ま す。
SystemError イベントに対するスクリプトがないときは、SignalError 関
数は何もしません。
894
PowerBuilder
第 10 章
例
PowerScript 関数
gf_DoSomething 関数はテーブル名とレコードを受け取り、成功した場
合は 0、エラーの場合は負の値を返します。次の例では、あるスクリ
プト変数の実行時の値に従って、エラー オブジェクトの数値項目とテ
キスト項目に値を設定します。次に、処理が終了した後で、SystemError
イベントをトリガさせます。
li_result = gf_DoSomething("Company", record_id)
IF (li_result < 0) THEN
CHOOSE CASE li_result
CASE -1
PopulateError(1, "No company record exists &
record id: " + record_id)
CASE -2
PopulateError(2, "That company record is &
currently locked. Please try again later.")
CASE -3
PopulateError(3, "The company record could &
not be updated.")
CASE else
PopulateError(999, "Update failed.")
END CHOOSE
SignalError()
END IF
関連項目
SignalError
Pos
機能
文字列の中から指定された文字列を検索し、最初に検索した文字列の
先頭文字の位置を返します。
構文
Pos ( string1, string2 {, start } )
引数
string1
string2
start
(オプション)
PowerScript リファレンス ボリューム 2
説明
取得する文字列 string2 を含む文字列を指定します。
string1 から検索する文字列を指定します。
string1 に対して検索を開始する位置を文字数で示す Long
型の値を指定します。特に指定しない限り、1 が設定され
ます。
895
Pos
戻り値
Long 型。string1 の中で、start で指定された位置より後で最初に検索さ
れた string2 の先頭の文字位置を表す Long 型の値で返します。また、
string1 の中から string2 が検索されない場合や start 位置が string1 に存
在しない場合は、0 を返します。引数のいずれかの値が null の場合、null
を返します。
解説
Pos 関数は、文字の位置を数えます。また、英文字の大文字と小文字
を区別します。
例
次のステートメントは、6 を返します。
Pos("BABE RUTH", "RU")
次のステートメントは、1 を返します。
Pos("BABE RUTH", "B")
次のステートメントは 0 を返します。これは、大文字と小文字の組み
合わせが一致しないためです。
Pos("BABE RUTH", "be")
次のステートメントは、位置 4 から検索を開始し、位置 4 は BE の後
ろなので 0 を返します。
Pos("BABE RUTH", "BE", 4 )
次のステートメントは、シングルライン エディット コントロール
sle_group の中の NY という文字列を、North East に変更します。
long place_nbr
place_nbr = Pos(sle_group.Text, "NY")
sle_group.SelectText(place_nbr, 2)
sle_group.ReplaceText("North East")
次の例で、GetBandAtPointer 関数の戻り値は、タブで区域名と行数に分
割されています。Pos 関数は文字列中の(最後の)タブの位置を検索
し、Left 関数と Mid 関数はタブの左側と右側にある情報をそれぞれ取り
出します。
string s, ls_left, ls_right
integer li_tab
s = dw_groups.GetBandAtPointer()
li_tab = Pos(s, "~t", 1)
ls_left = Left(s, li_tab - 1)
ls_right = Mid(s, li_tab + 1)
896
PowerBuilder
第 10 章
PowerScript 関数
一般的な構文解析の関数を定義するものとします。その関数は 3 つの
引数を持ちます。1 つは値で渡す String 型の s で、残りの 2 つは参照で
渡す String 型の ls_left と ls_right です。
GetBandAtPointer 関数のほかにも GetObjectAtPointer 関数と GetValue 関数
の戻り値はタブで区切られているので、上記で述べた構文解析関数を
使用してその戻り値を解析することができます。
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GetValue メソッド
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GetObjectAtPointer メソッド
LastPos
Left
Mid
Right
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Pos メソッド
PosA
機能
現行のロケールに基づいて、文字列を Unicode から DBCS に一時的に
変換し、文字列の中から指定された文字列を検索し、最初に検索した
文字列の先頭文字の位置を返します。
構文
PosA (string1, string2, {start})
引数
string1
string2
start
(オプション)
戻り値
説明
取得する文字列 string2 を含む文字列を指定します。
string1 から検索する文字列を指定します。
string1 に対して検索を開始する位置を示す Long 型の値を
指定します。位置は、この引数で指定したバイト数で示さ
れます。特に指定しない限り、1 が設定されます。
Long 型。string1 の中で、start でバイトで指定された位置より後で最初
に検索された string2 の先頭の文字位置を表す Long 型の値で返しま
す。また、string1 の中から string2 が検索されない場合や start 位置が
string1 に存在しない場合は、0 を返します。引数のいずれかの値が null
の場合、null を返します。
PowerScript リファレンス ボリューム 2
897
PosW
解説
PosA 関数は、PowerBuilder 9 の Pos 関数が DBCS 環境で提供していた
機能に代わるものです。SBCS 環境では、Pos 関数、PosW 関数、PosA
関数は同じ結果を返します。
PosW
機能
文字列の中から指定された文字列を検索し、最初に検索した文字列の
先頭文字の位置を返します。この関数は、サポートされなくなります。
動作は、すべての環境で Pos 関数と同じです。
構文
PosW ( string1, string2 {, start } )
Position
編集可能なコントロール内にある挿入ポイントの位置を調べます。
目的
使用する構文
リッチテキスト エディット コントロールを除く編集可能 構文 1
なコントロール内にある挿入ポイントの位置を調べる
リッチテキスト エディット コントロールまたはオブジェ 構文 2
クトの提示様式がリッチテキスト エディットのデータ
ウィンドウ コントロールで、挿入ポイントの位置または選
択されているテキストの先頭と末尾の位置を調べる
構文 1
リッチテキスト エディット コントロール以外の編集
可能なコントロール内にある挿入ポイントの位置を
調べる
機能
エディット コントロール内にある挿入ポイントの位置を返します。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、ドロップダウン リス
トボックス コントロール、ドロップダウン ピクチャ リストボックス
コントロール
898
PowerBuilder
第 10 章
構文
editname.Position ( )
引数
editname
戻り値
PowerScript 関数
説明
データウィンドウ、エディットマスク、インクエディット、
マルチライン エディット、シングルライン エディット、ド
ロップダウン リストボックス、ドロップダウン ピクチャ
リストボックスのいずれかのコントロールの名前。挿入ポ
イントの位置を調べるコントロールの名前を指定します。
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
正常に終了した場合は editname 内での挿入ポイントの位置を返し、エ
ラーが発生した場合は -1 を返します。editname が null の場合、null を返
します。
解説
Position 関数は、挿入ポイントの直後の文字の位置番号を調べます。た
とえば、カーソルが editname の先頭にある場合、Position 関数は 1 を返
します。editname 内でテキストが選択されている場合、Position 関数は
選択されているテキストの 1 文字目の位置を返します。
データウィンドウ コントロールを対象とする場合、Position 関数は、現
行の行とカラム上のエディット コントロール内にある挿入ポイント
の位置を返します。
例
たとえば、mle_EmpAddress に Boston Street という文字列が格納されて
おり、カーソルが Boston の n の後に設定されているとします。テキス
トが選択されていない場合、次のステートメントは 7 を返します。
mle_EmpAddress.Position()
たとえば、mle_EmpAddress に Boston Street という文字列が格納されて
いるとします。Street が選択されている場合、次のステートメントは 8
(Street の S の位置)を返します 。
mle_EmpAddress.Position()
関連項目
SelectedLine
SelectedStart
構文 2
リッチテキスト エディット コントロール内にある挿
入ポイントの位置を調べる
機能
リッチテキスト エディット コントロール内で挿入ポイントがある行
とカラムの位置を調べます。または、選択されているテキスト(選択
範囲)の先頭と末尾の位置を返します。
PowerScript リファレンス ボリューム 2
899
Position
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.Position ( fromline, fromchar {, toline, tochar } )
引数
rtename
fromline
fromchar
toline
(オプション)
tochar
(オプション)
戻り値
解説
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前。挿入ポイントの位置また
は選択範囲の位置を調べるコントロールの名前を指定し
ます。データウィンドウ コントロールのデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
Long 型の変数を指定します。指定された変数に、挿入ポ
イントの位置または選択範囲の先頭の行番号を格納しま
す。
Long 型の変数を指定します。指定された変数に、選択範
囲の 1 文字目の位置または挿入ポイントの後の位置を格
納します。
Long 型の変数を指定します。指定された変数に、選択範
囲の末尾の行番号を格納します。
Long 型の変数を指定します。指定された変数に、選択範
囲の末尾の文字の位置を格納します。
Band カタログ データ型。選択範囲または挿入ポイントを含む区域
(Detail!、Header!、Footer!)を返します。
toline と tochar を省略すると、Position 関数は挿入ポイントの位置を返
します。テキストが選択されている場合、挿入ポイントは、選択範囲
の先頭文字になることも、末尾の文字になることもあります。たとえ
ば、エンド ユーザが下方向にテキストを選択した場合、挿入ポイント
は選択範囲の末尾にあります。
テキストが選択されている場合、文字引数に 0 を設定して、選択範囲
が行の先頭から始まるのか、行の先頭で終了するのかを示すことがで
きます。その行では、何も選択されません。エンド ユーザが上方向に
選択した場合、選択範囲を行の先頭から開始することができます。こ
の場合、fromchar には 0 が設定されます。エンド ユーザが下方向選択
した場合、選択範囲を行の先頭で終了することができます。この場合、
tochar には 0 が設定されます。
900
PowerBuilder
第 10 章
PowerScript 関数
選択範囲と挿入ポイント 選択範囲の位置を調べるのか、挿入ポイント
だけを調べるのかを指定するには、4 つのすべての引数を指定します。
toline と tochar に 0 を指定すると、選択範囲ではなく、挿入ポイントだ
けが返されます。テキストが選択されている場合に、挿入ポイントの
位置を調べるときには、2 つの引数だけを指定して Position 関数をもう
一度呼び出す必要があります。詳細については、次の説明を参照して
ください。
挿入ポイントの位置と選択範囲の末尾の位置は異なる可能性がある 選 択 さ
れているテキストの位置を調べる場合、Position 関数は選択されている
先頭行の先頭文字と最終行の末尾の文字を調べます。挿入ポイントの
位置を調べる場合、Position 関数は挿入ポイントの直後の文字の位置を
返します。したがって、テキストが選択されている場合に選択範囲の
末尾に挿入ポイントがあるときは、挿入ポイントを示す値と選択範囲
の末尾を示す値は異なります。
たとえば、1 行目の最初の 4 文字が選択されていて、選択範囲の末尾
に挿入ポイントがあるとします。次のステートメントを使用して挿入
ポイントの位置を調べるとします。
rte_1.Position(ll_line, ll_char)
結果は、次のとおりです。
•
ll_line に、1 が設定されます。
•
ll_char に、5(挿入ポイントの直後の文字の位置)が設定されます。
次のステートメントを使用して選択範囲の位置を調べるとします。
rte_1.Position(ll_startline, ll_startchar, &
ll_endline, ll_endchar)
•
ll_startline と ll_startchar には、どちらも 1 が設定されます。
•
ll_endline には 1 が設定され、ll_endchar には 4 が設定されます。こ
れは、選択範囲の末尾の文字の位置です。
SelectText 関数に値を渡す Position 関数を使用して取得した値は、選択
範 囲 だ け で は な く、そ の ほ か の 情 報 も 提 供 し ま す。し た が っ て、
SelectText 関数に Position 関数から取得した値を直接渡すことはできま
せん。特に、テキストが選択されている場合、0 は正しい文字位置を
示す値ではありません。ただし、この値は、選択範囲について説明す
る場合には意味があります。
例
次の例は、Position 関数を呼び出し、選択範囲の先頭と末尾にある区域、
行、およびカラムの値を取得します。取得した値は、String 型に変換
され、スタティックテキスト コントロール st_status に表示されます。
integer li_rtn
PowerScript リファレンス ボリューム 2
901
Position
long ll_startline, ll_startchar
long ll_endline, ll_endchar
string ls_s, ls_band
band l_band
// 選択範囲の区域、先頭、末尾の位置を取得します。
l_band = rte_1.Position(ll_startline, ll_startchar,&
ll_endline, ll_endchar)
// 位置を表す値を String 型に変換します。
ls_s = "Start line/char: " + String(ll_startline) &
+ ", " + String(ll_startchar)
ls_s = ls_s + " End line/char: " &
+ String(ll_endline) + ", " + String(ll_endchar)
// Band カタログ データ型の値を String 型に変換します。
CHOOSE CASE l_band
CASE Detail!
ls_band = " Detail"
CASE Header!
ls_band = " Header"
CASE Footer!
ls_band = " Footer"
CASE ELSE
ls_band = " No band"
END CHOOSE
ls_s = ls_s + ls_band
// 情報を表示します。
st_status.Text = ls_s
次の例は、現行の選択範囲を 1 行下まで拡張します。ここでは、1 行
下に挿入ポイントまたは選択範囲があるか、挿入ポイントが選択範囲
の先頭または末尾にあるか、選択範囲が行の先頭で終了するかどうか
を考慮します。
integer rtn
long l1, c1, l2, c2, linsert, cinsert
long l1select, c1select, l2select, c2select
// 選択範囲の先頭と末尾の位置を取得します。
rte_1.Position(l1, c1, l2, c2)
// 挿入ポイントを取得します。
rte_1.Position(linsert, cinsert)
902
PowerBuilder
第 10 章
IF l2 = 0 and
l1select =
c1select =
l2select =
c2select =
PowerScript 関数
c2 = 0 THEN // 挿入ポイント
linsert
cinsert
l1select + 1 // 最終行に 1 を加算します。
c1select
ELSEIF l2 > l1 THEN // 選択範囲、
挿入ポイントを末尾に設定します。
IF c2 = 0 THEN // 選択範囲の末尾(挿入ポイント)を
// 行の先頭(char 0)に設定します。
c2 = 999 // 前の行の末尾に変更します。
l2 = l2 - 1
END IF
l1select
c1select
l2select
c2select
=
=
=
=
l1
c1
l2 + 1 // 最終行に 1 を加算します。
c2
ELSEIF l2 < l1 THEN // 選択範囲、
挿入ポイントを先頭に設定します。
IF c2 = 0 THEN // 選択範囲の末尾(挿入ポイントではない)を
// 行の先頭に設定します。
c1 = 999 // 前の行の末尾に変更します。
l1 = l1 - 1
END IF
l1select = l2
c1select = c2
l2select = l1 + 1 // 最終行に 1 を加算します。
// ( 選択範囲の先頭)
c2select = c1
ELSE // l1 = l2 の場合、1 行目を選択します。
l1select = l1
l2select = l2 + 1 // 行に 1 を加算します。
IF c1 < c2 THEN // 挿入ポイントを末尾に設定します。
c1select = c1
c2select = c2
ELSE // c1 > c2 の場合、挿入ポイントを先頭に設定します。
c1select = c2
c2select = c1
END IF
END IF
// 拡張した選択範囲を選択します。
rtn = rte_1.SelectText( l1select, c1select, &
l2select, c2select )
PowerScript リファレンス ボリューム 2
903
Post
リッチテキスト エディット コントロールで各単語を選択する方法に
ついては、SelectTextWord 関数の例を参照してください。
関連項目
SelectedLine
SelectedStart
SelectText
Post
機能
ウィンドウのメッセージ キューにメッセージを追加します。ウィンド
ウとは、PowerBuilder のウィンドウまたはほかのアプリケーションの
ウィンドウです。
構文
Post ( handle, message#, word, long )
引数
handle
message#
word
long
説明
ウィンドウ(PowerBuilder またはほかのアプリケーション
で作成したもの)のシステム ハンドルを表す Long 型を指
定します。このハンドルにメッセージを送付します。
送付するメッセージのシステム メッセージ番号を表す
UnsignedInteger 型の値を指定します。
送信するメッセージの整数値を表す Long 型の値を指定し
ます。メッセージがこの引数を使用しない場合は、0 を指
定します。
送信するメッセージが使用する Long 型の値または文字列
を指定します。
戻り値
Boolean 型。引数のいずれかの値が null の場合、null を返します。
解説
PowerBuilder で定義されていないシステム イベントを引き起こす場合
は、Post 関数または Send 関数を使用します。Post 関数は非同期で、ウィ
ンドウのメッセージ キューの最後にメッセージを追加します。Send 関
数は同期的で、メッセージを送付するとすぐにイベントを起動します。
PowerBuilder のハンドルを取得するには、Handle 関数を使用します。
PowerBuilder イベントを起動するには、
TriggerEvent 関数または PostEvent
関数を使用します。これらの関数は起動されたイベントに対するスク
リプトを実行します。どちらの関数もコーディングやメッセージ
キューへの追加を簡単に行うことができます。
long に文字列を指定すると、Post 関数は文字列をコピーし、文字列に
対するポインタを渡します。
904
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、現行ウィンドウ w_date のメッセージ キューに入っている
メッセージを処理した後、w_date を 1 ページ分スクロール ダウンしま
す。
Post(Handle(w_date), 277, 3, 0)
関連項目
Handle
PostEvent
Send
TriggerEvent
PostEvent
機能
イベントをオブジェクトのイベント キューの最後に追加します。
対象
アプリケーション以外のオブジェクト
構文
objectname.PostEvent ( event, { word, long } )
引数
objectname
event
word
(オプション)
long
(オプション)
PowerScript リファレンス ボリューム 2
説明
任意の PowerBuilder オブジェクトまたはコントロール(ア
プリケーション オブジェクトを除く)の名前を指定しま
す。それに定義されているイベントを起動します。
PowerBuilder のイベント(たとえば、Clicked!、Modified!、
DoubleClicked!)を識別する TrigEvent カタログ データ型の
値を指定します。または、イベントの名前を表す文字列を
指定します。イベントは、objectname に有効なイベントで
なければなりません。また、このイベントに対するスクリ
プトは、objectname に存在していなければなりません。
システムの Message オブジェクトの WordParm プロパティ
に格納される Long 型の値を指定します。word ではなく
long に値を指定する場合、0 を入力します。クロス プラッ
トフォームの互換性を維持するために、WordParm プロパ
ティと LongParm プロパティのデータ型は Long 型になっ
ています。
システムの Message オブジェクトの LongParm プロパティ
に格納される Long 型の値を指定します。文字列を指定す
ると、その文字列のポインタが LongParm プロパティに格
納されます。LongParm プロパティにアクセスするには、
String 関数を使用します。詳細については、
「解説」を参照
してください。
905
PostEvent
戻り値
Boolean 型。正常に終了した場合、true を返します。objectname に対し
て有効でないイベントが指定された場合、false を返します。objectname
にイベントに対するスクリプトが存在しない場合にも、true を返しま
す。引数のいずれかの値が null の場合、null を返します。
解説
アプリケーション オブジェクトのイベント キューにイベントをポス
トすることはできません。そのかわり、TriggerEvent 関数を使用します。
イベントを持たないオブジェクト(描画オブジェクトなど)に対して
イベントをポストしたり、起動したりすることはできません。ユーザ
インタフェースを持たないバッチ アプリケーションにはイベント
キューがないので、これらのアプリケーション内でイベントをポスト
したり、イベントを起動したりすることはできません。
PostEvent 関数を呼び出した後は、PostEvent 関数が正常に終了したこと
を確認してください。
word と long を使用してイベント スクリプトに情報を渡すことができ
ます。その情報は、Message オブジェクトに格納されます。スクリプ
トの中で、Message オブジェクトの WordParm プロパティと LongParm
プロパティを参照して、渡された情報にアクセスします。ほかのコー
ドが Message オブジェクトを使用していたとしても、渡した情報を利
用できるように、送付されたイベントに対するスクリプトを実行する
直前に Message オブジェクトは保存されることに注意してください。
long に 文 字 列 を 指 定 し た 場 合、String 関 数 の format に キ ー ワ ー ド
"address" を指定して呼び出し、long に指定した情報にアクセスできま
す。その文字列は任意のメモリ域に格納されるので、ポインタや格納
された文字列を変更する以外は何もできません。イベント スクリプト
は、次のように始めることができます。
string PassedString
PassedString = String(Message.LongParm, "address")
TriggerEvent 関数および PostEvent 関数を使用すると、
同じコードを記述
する手間を省くことができます。2 つのコントロールが同じタスクを
実行する場合、同じコードを 2 箇所に記述せずに、1 つのコントロー
ルのイベントに PostEvent 関数を使用してほかのスクリプトも実行し
ます。たとえば、ボタンとメニュー項目がデータを削除する場合、ボ
タンの Clicked イベントに対するスクリプトで削除処理の記述を行い、
メ ニ ュ ー 項 目 の Clicked イ ベ ン ト に 対 す る ス ク リ プ ト で ボ タ ン の
Clicked イベントをポストするとデータを削除するスクリプトが実行
されます。
906
PowerBuilder
第 10 章
PowerScript 関数
PostEvent 関数と TriggerEvent 関数の相違点 PostEvent 関数と
TriggerEvent 関数は、どちらもイベントに対するスクリプトを実行します。
PostEvent 関数は非同期で、オブジェクトのイベント キューの最後に
イベントを追加します。TriggerEvent 関数は同期的で、イベントをすぐ
に起動します。
ポストされたイベントが実行される前に現行のイベント スクリプト
を完了するには、PostEvent 関数を使用します。TriggerEvent 関数は現行
のスクリプトに割り込んで、起動されたイベントのスクリプトを実行
します。ある処理を中断する場合(たとえば、印刷をキャンセルする
場合)
、TriggerEvent 関数を使用します。
PostEvent 関数または TriggerEvent 関数がイベント スクリプトの最後の
行で呼び出され、未処理のイベントがない場合は、PostEvent 関数と
TriggerEvent 関数の機能は同じになります。
Windows におけるイベントとメッセージ PostEvent 関 数 と TriggerEvent
関数は、どちらもイベントに関連付けたスクリプトを実行します。た
だし、これらの関数は、実際のイベント メッセージを送付しません。
この点は、対象となるオブジェクトとイベントを選択するうえで重要
です。次に、PowerBuilder 内部での処理について説明します。
多くの PowerBuilder 関数は、Windows にメッセージを送ります。Windows
はそのメッセージを受け取って、イベントを起動し、スクリプトを実行し
ます。たとえば、Close 関数は Windows に close メッセージ(WM_CLOSE)
を送ります。PowerBuilder はそのメッセージをその内部の close メッ
セージ(PBM_CLOSE)にマップします。次に、Close イベントを起動
し、スクリプトを実行してからウィンドウを閉じます。
Close! を引数として TriggerEvent 関数と PostEvent 関数を使用すると、
PowerBuilder は Close イベントに対するスクリプトを実行します。ただ
し、close メッセージを受け取っていないので、ウィンドウは閉じませ
ん。このように、どのイベントを起動するかは重要です。Close 関数を
呼び出すスクリプトが記述されているボタンの Clicked! イベントを起
動すると、PowerBuilder は Close イベントのスクリプトを実行し、ウィ
ンドウを閉じます。
PowerBuilder で定義されていないシステム イベントを引き起こす場合
は、Post 関数または Send 関数を使用します。
例
次の例は、Clicked イベントをコマンドボタン コントロール cb_OK の
イベント キューに追加します。このイベント スクリプトは、ほかの未
処理のイベントのスクリプトが実行された後で実行されます。
cb_OK.PostEvent(Clicked!)
PowerScript リファレンス ボリューム 2
907
PostURL
次の例は、ユーザ定義イベント cb_exit_request を親ウィンドウのイベン
ト キューに追加します。
Parent.PostEvent("cb_exit_request")
次の例では、1 つの引数を持つ cb_exit_request イベントをポストし、イ
ベントのスクリプトの中で Message オブジェクトからその値を取り出
します。
最初のステートメントは、ユーザ定義イベント cb_exit_request を親ウィ
ンドウのイベント キューに追加します。値 455 は Message オブジェク
トに格納され、cb_exit_request イベントに対するスクリプトの中で使用
されます。
Parent.PostEvent("cb_exit_request", 455, 0)
2 番目のステートメントは、cb_exit_request イベントに対するスクリプ
トの先頭に記述されています。Message オブジェクトの値をローカル
変数に代入します。
integer numarg
numarg = Message.WordParm
関連項目
Post
Send
TriggerEvent
PostURL
機能
HTTP Post 機能を実行します。これにより、PowerBuilder アプリケー
ションは CGI、NSAPI または ISAPI を経由してリクエストを送信でき
ます。
対象
Inet オブジェクト
構文
servicereference.PostURL ( urlname, urldata, headers, {serverport, } data )
引数
servicereference
urlname
urldata
908
説明
インターネット サービス インスタンスへの参照を指
定します。
ポストするデータの URL を表す文字列を指定します。
Blob 型の変数を指定します。この変数には urlname で
指定した URL に渡す引数を設定します。
PowerBuilder
第 10 章
引数
headers
serverport
(オプション)
data
戻り値
PowerScript 関数
説明
HTML ヘッダを表す文字列を指定します。Netscape ブ
ラウザを使用している場合、各 HTTP ヘッダの後に改
行(~n)が必要で、さらにすべてのヘッダが終了した
後に最後の改行が 1 つ必要です。
リクエストのサーバ ポート番号を指定します。この引
数のデフォルト値は 0 です。つまり、ポート番号はシ
ステムによって決定します(HTTP リクエストの場合
はポート 80)。
InternetResult 型のインスタンスを指定します。PostURL
関数は、このインスタンスの中に HTML データを格納
します。
Integer 型。以下のいずれかの値を返します。
1 正常に終了しました。
-1 一般的なエラーが発生しました。
-2 指定された URL が無効です。
-4 インターネットに接続できません。
-5 サポートされていないセキュア(HTTPS)接続が試みられま
した。
-6 インターネットへのリクエストが拒否されました。
解説
この関数を呼び出して、CGI、NSAPI または ISAPI 関数を起動します。
data は、InternetResult クラスから継承した標準クラス ユーザ オブジェ
クトを参照します。また、InternetData 関数は上書きされています。こ
の上書きされた関数を使って、取得した HTML データを処理します。
インターネットでは非同期モードでデータを転送するため、
(ウィンド
ウ レベルのインスタンス変数のように)PostURL 関数の実行終了後も、
data はスコープ(有効範囲)に入っている変数を参照する必要があり
ます。
フォームの発行をシミュレートするには、適切なコンテンツタイプを
表すヘッダを送信する必要があります。フォームの場合の適正なコン
テンツタイプ ヘッダは次のとおりです。
Content-Type:application/x-www-form-urlencoded
InternetResult 標準クラス ユーザ オブジェクトと InternetData 関数につ
いての詳細は、PowerBuilder Browser で参照してください。
例
次の例では、サーバ ポート 8080 を使用して PostURL 関数を呼び出し
ています。iinet は、inet 型のインスタンス変数です。
Blob lblb_args
String ls_headers
String ls_url
PowerScript リファレンス ボリューム 2
909
PostURL
Long ll_length
iir_msgbox = CREATE n_ir_msgbox
ls_url = "http://coltrane.sybase.com/"
ls_url += "cgi-bin/pbcgi60.exe/"
ls_url += "myapp/n_cst_html/f_test?"
lblb_args = blob("")
ll_length = Len(lblb_args)
ls_headers = "Content-Length: " &
+ String(ll_length) + "~n~n"
iinet.PostURL &
(ls_url, lblb_args, ls_headers, 8080, iir_msgbox)
次の例では、フォームに対応する適切なコンテンツタイプを含むヘッ
ダを使用しています。
Blob lblb_args
String ls_headers
String ls_url
String ls_args
long ll_length
integer li_rc
li_rc = GetContextService( "Internet", iinet_base )
IF li_rc = 1 THEN
ir = CREATE n_ir
ls_url = "http://localhost/Site/testurl.stm?"
ls_args = "user=MyName&pwd=MyPasswd"
lblb_args = Blob( ls_args )
ll_length = Len( lblb_args )
ls_header = "Content-Type: " + &
"application/x-www-form-urlencoded~n" + &
"Content-Length:" + String( ll_length ) + "~n~n"
li_rc = iinet.PostURL( ls_url, lblb_args, &
ls_header, ir )
END IF
関連項目
910
GetURL
HyperLinkToURL
InternetData
PowerBuilder
第 10 章
PowerScript 関数
Preview
機能
リッチテキスト エディット コントロールの内容を、文書の印刷プレ
ビュー モードまたは編集モードで表示します。
対象
リッチテキスト エディット コントロール
構文
rtename.Preview ( previewsetting )
引数
rtename
previewsetting
説明
プレビュー モードまたは編集モードで表示するリッチテ
キスト エディット コントロールの名前を指定します。
リッチテキスト エディット コントロールの内容をプレ
ビュー モードまたは編集モードのどちらのモードで表示
するかを示す Boolean 型の値。値は以下のとおりです。
• True - リッチテキスト エディット コントロールの内容
の印刷イメージを表示するプレビュー モード
• False - 内容を編集できる編集モード
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールの内容を表示するには、編集
モードとプレビュー モードの 2 つの表示モードを使用します。Preview
関数は、この 2 つのモードを切り換えます。
編集モードでは、テキストが読める形式で表示されます。
エンド ユーザは、テキストの入力、選択、および変更を行うことがで
きます。キャリッジ リターン、空白、タブ、入力フィールドなど、テ
キスト中の印刷されない文字の表示を制御するプロパティがありま
す。編集モードでは、ツールバー、ルーラ、タブバーは、コントロー
ルの編集エリアの上部に表示されます。
編集モード
プレビュー モード プレビュー モードでは、コントロールの中に印刷
イメージが縮小されて表示されます。ページのサイズは、コントロー
ルの大きさに合うように変更されます。プレビュー モードには、用紙
のサイズと余白を指定するエディットボックスがあります。コント
ロールの表示モードがプレビュー モードに切り換わると、すべての選
択箇所は取り消されます。エンド ユーザは、プレビュー モードでテキ
ストを編集することはできません。ただし、スクリプトで関数を呼び
出せば、テキストの選択や変更だけでなく、文書の挿入を行うことが
できます。
コントロールがプレビュー モードのときに ShowHeadFoot 関数を呼び
出すと、編集モードに戻り、ヘッダとフッタの編集パネルが表示され
ます。
PowerScript リファレンス ボリューム 2
911
Print
プレビュー モードで表示される用紙設定用のエディットボックスや
コントロールのスクロールバーを表示するのに、リッチテキスト エ
ディット コントロールが十分な大きさであることを確認してくださ
い。
例
次の例は、リッチテキスト エディット コントロール rte_1 のページ レ
イアウトをプレビューします。
rte_1.Preview(TRUE)
関連項目
IsPreview
Print
現行のプリンタ(エンド ユーザがスプーラを設定している場合はス
プーラ)にデータを送信します。次の 4 つの構文を使用できます。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「Print メソッド」を参照してください。
目的
使用する構文
ウィンドウやグラフ コントロールなどのビジュアル オブ 構文 1
ジェクトも印刷ジョブに含める
印刷ジョブの一部として 1 行以上のテキストを送信する
構文 2
リッチテキスト エディット コントロールの内容を印刷する 構文 3
構文 1
印刷ジョブのビジュアル オブジェクトを印刷する
機能
PrintOpen 関数を使用して起動した印刷ジョブに、ウィンドウやグラフ
コントロールなどのビジュアル オブジェクトを追加します。
対象
すべてのオブジェクト
構文
objectname.Print ( printjobnumber, x, y {, width, height } )
引数
objectname
912
説明
印刷するオブジェクトの名前を指定します。オブジェクト
は、先祖の種類が DragObject であるオブジェクトまたは
ウィンドウでなければなりません。DragObject には、ウィ
ンドウに配置できるすべてのコントロールが含まれてい
ます。
PowerBuilder
第 10 章
引数
printjobnumber
x
y
width
(オプション)
height
(オプション)
PowerScript 関数
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
Integer 型の値。オブジェクトの左端の x 座標を指定しま
す。単位は 1/1000 インチです。
Integer 型の値。オブジェクトの左端の y 座標を指定しま
す。単位は 1/1000 インチです。
Integer 型の値。印刷するオブジェクトの幅を指定します。
単位は 1/1000 インチです。この引数を省略すると、オブ
ジェクトの元の幅が使用されます。
Integer 型の値。印刷するオブジェクトの高さを指定しま
す。単位は 1/1000 インチです。この引数を省略すると、オ
ブジェクトの元の高さが使用されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PowerBuilder は、ジョブを開く、データを送信する、ジョブを閉じる
などの操作を行って印刷ジョブを制御します。構文 2 または構文 3 を
使 用 す る 場 合、開 発 者 は PrintOpen 関 数 と PrintClose 関 数(ま た は
PrintCancel 関数)を呼び出して印刷処理を制御する必要があります。
PowerBuilder は、画面上のコントロールの領域をプリンタにコピーし
ます。コントロールの印刷中に、画面上のコントロール領域の上にほ
かのウィンドウやアプリケーションが表示されている場合、そのウィ
ンドウやアプリケーションも印刷されます。
印刷領域と余白 印刷領域とは、物理的なページ サイズからプリンタ
の余白を差し引いた領域です。
例
次の例は、コマンドボタン cb_close を元のサイズで位置(500,1000)に
印刷します。
long Job
Job = PrintOpen( )
cb_close.Print(Job, 500,1000)
PrintClose(Job)
次の例は、新しいページを設定する印刷ジョブを開きます。Print 関数
の構文 3 を使用してタイトルを印刷します。その後、Print 関数の構文
2 を使用して 1 ページ目にグラフを印刷し、2 ページ目にウィンドウを
印刷します。
long Job
Job = PrintOpen( )
Print(Job, "Report of Year-to-Date Sales")
gr_sales1.Print(Job, 1000,PrintY(Job)+500, &
PowerScript リファレンス ボリューム 2
913
Print
6000,4500)
PrintPage(Job)
w_sales.Print(Job, 1000,500, 6000,4500)
PrintClose(Job)
関連項目
PrintCancel
PrintClose
PrintOpen
PrintScreen
構文 2
印刷ジョブの一部としてテキストを印刷する
機能
PrintOpen 関数を使用して開始した印刷ジョブの一部として、1 行以上
のテキストを送信します。テキストの前後にタブを設定してページ上
でのテキストの水平方向の位置を制御することもできます。
対象
オブジェクト以外
構文
Print ( printjobnumber, { tab1, } string {, tab2 } )
引数
printjobnumber
tab1
(オプション)
string
tab2
(オプション)
戻り値
914
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
印刷領域の左端からの距離を、1/1000 インチ単位で指定し
ます。string を印刷する前に、印刷カーソルを tab1 に指定
された位置まで移動します。印刷カーソルがすでに指定さ
れた位置にある場合、指定された位置を越えている場合、
または tab1 を省略した場合には、印刷カーソルの現行の位
置から印刷を開始します。
印刷するテキストを指定します。文字列にキャリッジ リ
ターン文字と改行文字(~r~n)が指定されている場合、文
字列は複数行に印刷されます。ただし、2 行目以降では tab1
は無視されます。
印刷領域の左端からの距離を 1/1000 インチ単位で指定し
ます。string を印刷した後で、印刷カーソルを tab2 に指定
された位置まで移動します。印刷カーソルがすでに指定さ
れた位置にある場合、または指定された位置を越えている
場合には、Print 関数は tab2 を無視し、印刷カーソルはテ
キストの最後に設定されたまま移動しません。tab2 を省略
すると、印刷カーソルを次の行の先頭に移動します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
PowerBuilder は、ジョブを開く、データを送信する、ジョブを閉じるな
どの操作を行って印刷ジョブを制御します。構文 2 または構文 3 を使用
する場合、開発者は PrintOpen 関数と PrintClose 関数(または PrintCancel
関数)を呼び出して印刷処理を制御する必要があります。
印刷カーソル PowerBuilder は、印刷ジョブで印刷カーソルを使用し
て印刷位置を制御しています。印刷カーソルには、印刷開始位置の左
上端の座標が設定されます。PowerBuilder は、Print 関数を使用してテ
キストを印刷した後で印刷カーソルを更新します。
テキストを印刷するときの行間隔 PowerBuilder に お け る 行 間 隔 は、
文字の高さに比例します。標準の間隔は文字の高さの 1.2 倍です。Print
関数は、新しい行を開始するときにカーソルの x 座標を 0 に設定し、
現行の行間隔によって y 座標を増加します。PrintSetSpacing 関数を使用
すると、新しい比例定数を指定して行間隔を変更することができます。
Print 関数の構文 3 では、新しい行を印刷するたびに y 座標が増分され
るため、自動的に改ページが行われます。y 座標がページ サイズを越
えると、印刷ジョブに新しいページが自動的に作成されます。印刷カー
ソルの位置を制御する印刷関数(PrintText 関数、PrintLine 関数など)を
使用する場合と同様に、PrintPage 関数を呼び出す必要はありません。
印刷領域と余白 印刷領域とは、物理的なページ サイズからプリンタ
の余白を差し引いた領域です。
フォントの使用 PrintDefineFont 関数と PrintSetFont 関数を使用すると、
Print 関数を使用して印刷する文字のフォントを指定できます。
複数の言語のフォント 印刷関数の標準のフォントはシステム フォ
ントですが、このフォントでは複数の言語を正しく印刷することがで
きません。通常は、Tahoma フォントを使用するとよいでしょう。ただ
し、プリンタ フォントを Tahoma に設定した場合に Tahoma フォントが
プリンタにインストールされていないと、複数言語の文字が検出され
たときに全体のフォント セットがプリンタにダウンロードされます。
PrintDefineFont 関数と PrintSetFont 関数を使用して、エンド ユーザのプ
リンタで利用でき、複数言語をサポートしているフォントを指定でき
ます。
例
次の例は、印刷ジョブを開いて Sybase Corporation という文字列を標準
フォントで印刷し、改行します。
long Job
// 空白のページを定義し、印刷ジョブにジョブ番号を割り当てます。
Job = PrintOpen( )
// 文字列を印刷し、改行して次の行を開始します。
PowerScript リファレンス ボリューム 2
915
Print
Print(Job, "Sybase Corporation")
...
PrintClose(Job)
次の例は、印刷ジョブを開いて Sybase Corporation という文字列を標準
フォントで印刷し、印刷領域の左端から 5 インチの位置までカーソル
を移動します。ただし、改行しません。
long Job
// 空白のページを定義し、印刷ジョブにジョブ番号を割り当てます。
Job = PrintOpen( )
// 文字列を印刷しますが、改行しません。
Print(Job, "Sybase Corporation", 5000)
...
PrintClose(Job)
次の例の最初の Print 文は、印刷領域の左端から 0.5 インチの位置に
カーソルを移動し、Sybase Corporation という文字列を印刷して改行しま
す。2 番目の Print 文は、印刷領域の左端から 1 インチの位置にカーソ
ルを移動し、Directors: という文字列を印刷して改行します。
long Job
// 空白のページを定義し、印刷ジョブにジョブ番号を割り当てます。
Job = PrintOpen( )
// 文字列を印刷し、改行して次の行を開始します。
Print(Job, 500, "Sybase Corporation")
// 左端から 1 インチの位置にカーソルを移動し、印刷します。
Print(Job, 1000, "Directors:")
...
PrintClose(Job)
次の例の最初の Print 文は、印刷領域の左端から 0.5 インチの位置に
カーソルを移動し、Sybase Corporation という文字列を印刷します。さら
に、印刷領域の左端から 6 インチの位置にカーソルを移動します。こ
のとき、改行しません。2 番目の Print 文は、現行の日付を印刷して改
行します。
long Job
// 空白のページを定義し、印刷ジョブにジョブ番号を割り当てます。
Job = PrintOpen( )
// 文字列を印刷し、左端から 6 インチの位置にカーソルを移動します。
916
PowerBuilder
第 10 章
PowerScript 関数
Print(Job, 500, "Sybase Corporation", 6000)
// 同じ行に現在の日付を印刷します。
Print(Job, String(Today()))
...
PrintClose(Job)
次の例は、Print ボタンのスクリプトに記述した例です。マルチライン
エディット コントロール mle_message にデータベース エラー メッ
セージを表示するウィンドウで、日付と時刻を含むタイトルとメッ
セージを印刷します。
long li_prt
li_prt = PrintOpen("Database Error")
Print(li_prt, "Database error - " &
+ String(Today(), "mm/dd/yyyy") &
+ " - " &
+ String(Now(), "HH:MM:SS"))
Print(li_prt, " ")
Print(li_prt, mle_message.text)
PrintClose(li_prt)
関連項目
PrintCancel
PrintClose
PrintDataWindow
PrintOpen
PrintScreen
PrintSetFont
PrintSetSpacing
構文 3
リッチテキスト エディット コントロールに対して
機能
リッチテキスト エディット コントロールの内容を印刷します。
対象
リッチテキスト エディット コントロール
構文
rtename.Print ( copies, pagerange, collate, canceldialog )
引数
rtename
copies
PowerScript リファレンス ボリューム 2
説明
印刷するリッチテキスト エディット コントロールの名前
を指定します。
印刷する部数を整数で指定します。
917
Print
引数
pagerange
collate
説明
印刷するページを示す文字列を指定します。すべてのペー
ジを印刷する場合、空の文字列("")を指定します。ペー
ジの一部を指定して印刷するには、ハイフン(-)を使用
して範囲を指定し、カンマ(,)を使用して範囲と各ページ
番号を区切ります。たとえば、"1-3"、"2,5,8-10" のように
指定します。
rtename がデータウィンドウ コントロールとデータを共有
している場合、pagerange は文書の各インスタンス内の
ページ数ではなく、コントロール内の総ページ数に基づい
てページを参照します。
Boolean 型の値。2 部以上印刷するときに、部単位で印刷
するかどうか、つまり、1 ページ目から最後のページまで
1 部ずつ印刷した後、2 部目以降も同様の順序で印刷する
かどうかを指定します。値は以下のとおりです。
TRUE - 1 部ずつ、ページ番号順に印刷します。
FALSE - 指定された部数だけ、同じページ番号のペー
canceldialog
ジを連続して印刷します。
Boolean 型の値。エンド ユーザが印刷を取り消すことがで
きるように、非モダル ダイアログボックスを表示するかど
うかを指定します。値は以下のとおりです。
TRUE - 表示
FALSE - 非表示
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータをデータウィンド
ウと共有している場合、コントロール内の総ページ数は、文書内のペー
ジ数にデータウィンドウの行数を乗算した値です。
文書のヘッダまたはフッタに入力フィールドを含めると、印刷する
ページ番号を指定できます。
例
次の例は、リッチテキスト エディット コントロール rte_1 内の文書の
1 ~ 5 ページを 1 部ずつ印刷します。部単位の印刷は行われません。エ
ンド ユーザが印刷を取り消すことができるように、ダイアログボック
スが表示されます。
rte_1.Print(1, "1-5", FALSE, TRUE)
関連項目
918
Preview
PrintEx
PowerBuilder
第 10 章
PowerScript 関数
PrintBitmap
機能
現在のページ上の指定された位置にビットマップを印刷します。
構文
PrintBitmap ( printjobnumber, bitmap, x, y, width, height )
引数
printjobnumber
bitmap
x
y
width
height
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
ビットマップ画像のファイル名を表す文字列を指定します。
ビットマップ画像のページ上の X 座標(1/1000 インチ単
位)を表す整数値を指定します。
ビットマップ画像のページ上の Y 座標(1/1000 インチ単
位)を表す整数値を指定します。
ビットマップ画像の幅を 1/1000 インチ単位で示した整数
値を指定します。width が 0 の場合は、画像のオリジナル
の幅が使用されます。
ビットマップ画像の高さを 1/1000 インチ単位で示した整
数値を指定します。height が 0 の場合は、画像のオリジナ
ルの高さが使用されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintBitmap 関数は、印刷カーソルの位置を変更しません。印刷カーソ
ルは関数が呼び出される前の位置のままです。通常、座標を引数とす
る印刷関数は、印刷カーソルに影響を及ぼしません。印刷関数につい
ては、
「関連項目」の関数を参照してください。
例
次の文は、新しく空白ページを定義した後、d:\PB\BITMAP1.BMP ファ
イル内のビットマップをオリジナル サイズで(50,100)の位置に印刷
します。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// 元のサイズでビットマップを印刷します。
PrintBitmap(Job, "d:\PB\BITMAP1.BMP", 50,100, 0,0)
// ページをプリンタに送り、ジョブを終了します。
PrintClose(Job)
関連項目
PrintClose
PrintLine
PrintRect
PowerScript リファレンス ボリューム 2
919
PrintCancel
PrintRoundRect
PrintOval
PrintOpen
PrintCancel
機能
印刷を取り消し、スプール ファイルを削除します。PrintOpen 関数を使
用して開かれた印刷ジョブを取り消します。印刷ジョブは、PrintOpen
関数が返す番号によって認識されます。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「PrintCancel メソッド」を参照してください。
構文
PrintCancel ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。printjobnumber が null の場合、null を返します。
解説
指定された印刷ジョブを取り消し、そのジョブのスプール ファイルが
存在する場合は、スプール ファイルを削除します。PrintCancel 関数は、
印刷ジョブを閉じる処理も同時に行いますので、この関数を呼び出し
た後には、PrintClose 関数は呼び出さないでください。
例
次の例は、印刷ボタンのイベントに対するスクリプトです。印刷ジョ
ブを開き、次に、[キャンセル]ボタンを持つウィンドウを開きます。
エンド ユーザが[キャンセル]ボタンをクリックすると、そのスクリ
プトで、エンド ユーザがジョブをキャンセルしたことを示すグローバ
ル変数を設定します。
[印刷]ボタンのイベントに対するスクリプトで
は、印刷関数を呼び出すたびにグローバル変数を調べ、true の場合に
印刷ジョブを取り消します。
グローバル変数の定義は、次のとおりです。
boolean gb_printcancel
[印刷]ボタンのイベントに対するスクリプトは、次のとおりです。
long job, li
gb_printcancel = FALSE
job = PrintOpen("Test Page Breaks")
920
PowerBuilder
第 10 章
PowerScript 関数
IF job < 1 THEN
MessageBox(" エラー ", " 印刷ジョブを開けません。")
RETURN
END IF
Open(w_printcancel)
PrintBitmap(Job, "d:\PB\bitmap1.bmp", 5, 10, 0, 0)
IF gb_printcancel = TRUE THEN
PrintCancel(job)
RETURN
END IF
... // ほかの印刷コマンド
... // gb_printcancel の点検
PrintClose(job)
Close(w_printcancel)
次の例は、ダイアログボックスの[キャンセル]ボタンのイベントに
対するスクリプトです。
gb_printcancel = TRUE
Close(w_printcancel)
関連項目
Print
PrintClose
PrintOpen
PrintClose
機能
現在のページをプリンタ(またはスプーラ)に送り、印刷ジョブを終
了します。PrintCancel 関数によってジョブを終了しない限り、印刷ジョ
ブに対する最後のコマンドとして PrintClose 関数を呼び出します。
構文
PrintClose ( printjobnumber )
引数
printjobnumber
戻り値
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。printjobnumber が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
921
PrintDataWindow
解説
印刷ジョブを開始した後は、そのジョブを終了する(または取り消す)
必要があります。印刷ジョブのハングアップを避けるために、印刷ジョ
ブを開始したイベントと同じイベント内で印刷処理および印刷の終了
を行うようにしてください。
例
次の例は、印刷ジョブを開始します。印刷ジョブは、空白ページを設
定し、そのページにビットマップを印刷して、現行のページをプリン
タまたはスプーラに送り、ジョブを終了します。
ulong Job
// 新しいジョブとページを開始します。
Job = PrintOpen( )
// 元のサイズでビットマップを印刷します。
PrintBitmap(Job, d:\PB\BITMAP1, 5,10, 0,0)
// ページをプリンタに送り、ジョブを終了します。
PrintClose(Job)
関連項目
PrintCancel
PrintOpen
PrintDataWindow
機能
データウィンドウ コントロールの内容を 1 つの印刷ジョブとして印刷
します。
構文
PrintDataWindow ( printjobnumber, dwcontrol )
引数
printjobnumber
dwcontrol
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
印刷するデータウィンドウ オブジェクトを含むデータ
ウィンドウ コントロール、子データウィンドウ、または
データストア オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintDataWindow 関数は、PrintOpen 関数、PrintClose 関数以外の Print 関
数とともに使用することはできません。
922
PowerBuilder
第 10 章
PowerScript 関数
PrintDataWindow 関数を PrintOpen 関数および PrintClose 関数とともに使
用すると、1 つの印刷ジョブで複数のデータウィンドウを印刷できま
す。各データウィンドウ コントロールの情報は、新しいページから印
刷されます。
PrintDataWindow 関数を使ってデータウィンドウを印刷する場合、デー
タウィンドウで指定されたフォントとレイアウトではなく、コン
ピュータのプリンタ設定で指定されたフォントとレイアウトが使用さ
れます。PrintDefineFont 関数および PrintSetFont 関数も無効です。
データウィンドウの表示されたスタイルが、リッチテキスト エディッ
トの場合、各行は新しいページから印刷されます。
特定のページを指定して印刷する場合、PrintPage イベントのリターン
コードを設定します。詳細については「Print 関数」を参照してください。
例
次の例は、3 つのデータウィンドウ コントロールの内容を 1 つの印刷
ジョブとして現行のプリンタに送ります。
long job
job = PrintOpen( )
// 各データウィンドウは、新しいページから印刷を始めます。
PrintDataWindow(job, dw_EmpHeader)
PrintDataWindow(job, dw_EmpDetail)
PrintDataWindow(job, dw_EmpDptSum)
PrintClose(job)
関連項目
Print
PrintClose
PrintOpen
PrintDefineFont
機能
プリンタでサポートされているフォントと、フォントのプロパティに
番号を定義します。定義した番号を PrintSetFont 関数または PrintText 関
数で使用することができます。一度に 8 つのフォントを定義できます。
構文
PrintDefineFont ( printjobnumber, fontnumber, facename, height, weight,
fontpitch, fontfamily, italic, underline )
引数
printjobnumber
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
fontnumber
す。
フォントに割り当てる番号(1 ~ 8)を指定します。
PowerScript リファレンス ボリューム 2
説明
923
PrintDefineFont
引数
facename
height
weight
fontpitch
説明
プリンタがサポートするフォント名(たとえば、Courier
10Cpi)を表す文字列を指定します。
Integer 型の値。文字の高さを 1/1000 インチ単位で表した
もの(たとえば、18 ポイント 10Cpi の場合は 250)または、
ポイント サイズを示す負の数(たとえば、-18 は 18 ポイ
ント)を指定します。ポイント サイズで指定した方が厳密
に指定できます。1/1000 インチ単位で示した文字の高さ
は、ポイント サイズの近似値にすぎません。
文字の太さを指定します。通常の太さの場合は 400 を指定
し、太字の場合は 700 を指定します。
フォントのピッチを示す FontPitch カタログ データ型の
値。次のいずれかの値を指定します。
Default!
Fixed!
Variable!
fontfamily
フォントのファミリーを示す FontFamily カタログ データ
型の値で次のいずれかを指定します。
AnyFont!
Decorative!
Modern!
Roman!
Script!
Swiss!
italic
フォントが斜体かどうかを示す Boolean 型の値を指定しま
す。標準の設定は false(斜体ではない)です。
フォントに下線が付くかどうかを示す Boolean 型の値を指
定します。標準の設定は false(下線が付かない)です。
underline
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
1 つの印刷ジョブには、最大 8 つのフォントを定義することができます。
1 つのジョブで 9 つ以上のフォントが必要な場合には、PrintDefineFont
関数をもう一度呼び出してフォント数の設定を変更します。
PrintSetFont 関数を使用して、開いている印刷ジョブの現行のフォント
にフォント番号を割り当てます。
Microsoft Windows におけるフォント
fontfamily は、フォント名に関する情報と重複するように見えますが、
Windows はこの引数をフォント名とともに使用してフォントを識別
し、そのフォントが使用できない場合は類似のフォントで代用します。
924
PowerBuilder
第 10 章
PowerScript 関数
フォント名と大きさ
フォント名にはサイズが含まれているものがあります。特に、等幅の
フォントには、インチ当りの文字数が含まれています。これは、その
フォントの推奨サイズで、height に指定した印刷サイズには影響しま
せん。
例
次の例は、新しい空白の 1 ページを設定し、印刷ジョブ Job に対して
フォント 1 を Courier 10Cpi、18 ポイント、通常の太さ、標準のピッチ、
Decorative フォント、斜体なし、下線なしと定義します。
long Job
Job = PrintOpen( )
PrintDefineFont(Job, 1, "Courier 10Cpi", &
-18, 400, Default!, Decorative!, FALSE, FALSE)
関連項目
PrintClose
PrintOpen
PrintSetFont
PrintEx
機能
リッチテキスト エディット コントロールの内容を印刷します。
対象
リッチテキスト エディット コントロール
構文
rtename.PrintEx ( canceldialog )
引数
rtename
canceldialog
説明
印刷するリッチテキスト エディット コントロールの名前
を指定します。
Boolean 型の値。エンド ユーザが印刷を取り消すことがで
きるように、非モダルのキャンセル ダイアログボックスを
表示するかどうかを指定します。システムの印刷 ダイアロ
グボックスは常に表示されます。値は以下のとおりです。
TRUE - 表示
FALSE - 非表示
PowerScript リファレンス ボリューム 2
925
PrintGetPrinter
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。エンド ユーザが印刷 ダイアログボックスの[キャンセ
ル]ボタンをクリックした場合、PrintEx 関数は -1 を返します。エンド
ユーザがキャンセル ダイアログボックスの[キャンセル]ボタンをク
リックした場合、PrintEx 関数は 1 を返します。
解説
印刷するページの範囲と部数、および部単位で印刷するかどうかを指
定するには、Print 関数を使用します。
例
次の例は、リッチテキスト エディット コントロール rte_1 内の文書を
印刷します。エンド ユーザが印刷を取り消すことができるように、
キャンセル ダイアログボックスが表示されます。
rte_1.PrintEx(TRUE)
関連項目
Preview
Print
PrintGetPrinter
機能
現行のプリンタの名前を取得します。
構文
PrintGetPrinter ( )
戻り値
String 型。現行のプリンタに関する情報をタブ区切り形式(printername
~t drivername ~t port)で返します。
解説
PrintSetPrinter メソッドで変更しない限り、現行のプリンタはデフォル
トのプリンタです。PowerBuilder アプリケーションが PrintGetPrinter メ
ソッドを呼び出したときに取得するプリンタ情報は、アプリケーショ
ンの初期化後に外部的に再設定されたデフォルトのプリンタの情報で
はありません。
例
次の例では、各シングルライン エディット テキスト ボックスに現行
のプリンタ名、ドライバ、およびポートを提示しています。
String ls_fullstring=PrintGetPrinter()
String ls_name, ls_driver, ls_port, ls_temp
Long ll_place
ll_place=pos (ls_fullstring, "~t")
ls_name=left(ls_fullstring, ll_place -1)
ls_temp=mid(ls_fullstring, ll_place +1)
ll_place=pos (ls_temp, "~t")
ls_driver=left(ls_temp, ll_place -1)
ls_port=mid(ls_temp, ll_place +1)
926
PowerBuilder
第 10 章
PowerScript 関数
sle_1.text=ls_name
sle_2.text=ls_driver
sle_3.text=ls_port
関連項目
PrintGetPrinters
PrintSetPrinter
PrintGetPrinters
機能
利用可能なプリンタのリストを取得します。
構文
PrintGetPrinters ( )
戻り値
String 型。リスト内で各プリンタは、printername ~t drivername ~t port ~n
の形式の文字列で表示されます。
解説
返された文字列は、ImportString を使用してデータウィンドウにロード
できます。また、~n ごとに区切ることも可能です。
例
次の例では、PrintGetPrinters の呼び出しで返された文字列を解析し、そ
の結果得られた各プリンタ名を既存のシングルライン エディット コ
ントロールに格納しています。プリンタの数の方がシングルライン エ
ディット ボックスよりも多い場合には、最後のシングルライン エ
ディット ボックスに、それまでに表示しきれなかったすべてのプリン
タの文字列を提示します。
singlelineedit sle
long ll_place, i, k
string ls_left, ls_prntrs
ls_prntrs = PrintGetPrinters ( )
k = upperbound(control)
FOR i= k to 1 STEP -1
IF parent.control[i].typeof()=singlelineedit! then
sle=parent.control[i]
ll_place=pos (ls_prntrs, "~n" )
ls_left = Left (ls_prntrs, ll_place - 1)
sle.text = ls_left
ls_prntrs = Mid (ls_prntrs, ll_place + 1)
END IF
NEXT
sle.text = ls_prntrs
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ImportString メソッド
PowerScript リファレンス ボリューム 2
927
PrintLine
PrintGetPrinter
PrintSetPrinter
PrintLine
機能
現在の印刷ページに指定の太さで、指定された 2 点を両端とする線分
を描きます。
構文
PrintLine ( printjobnumber, x1, y1, x2, y2, thickness )
引数
printjobnumber
説明
x1
線の開始位置の X 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の開始位置の Y 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の終了位置の X 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の終了位置の Y 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の太さを 1/1000 インチ単位の整数値で指定します。
y1
x2
y2
thickness
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintLine 関数は、印刷カーソルの位置を変更しません。印刷カーソル
は関数が呼び出される前の位置のままです。
例
次の例は、新しい空白の 1 ページを設定し、10/1000 インチの太さで、
(0,5)の位置から(7500,5)の位置までの線分を印刷します。
long Job
Job = PrintOpen( )
... // いろいろな印刷コマンド
// 新しいページを開始します。
PrintPage(Job)
// ページの上部から線を印刷します。
PrintLine(Job,0,5,7500,5,10)
... // ほかの印刷
PrintClose(Job)
関連項目
928
PrintBitmap
PrintClose
PowerBuilder
第 10 章
PowerScript 関数
PrintOpen
PrintOval
PrintRect
PrintRoundRect
PrintOpen
機能
印刷ジョブを開き、それに番号を割り当てます。番号はほかの印刷ス
テートメントで使用します。
構文
PrintOpen ( { jobname {, showprintdialog } } )
引数
jobname
(オプション)
showprintdialog
(オプション)
説明
ジョブに割り当てる名前を表す文字列を指定します。ジョ
ブの名前は、Windows のプリント マネージャのダイアログ
ボックスとスプーラのダイアログボックスに表示されま
す。
Boolean 型の値。エンド ユーザがプリンタを選択したり印
刷プロパティを設定したりできるように、システムの印刷
ダイアログボックスを表示するかどうかを指定します。値
は以下のとおりです。
TRUE - 表示
FALSE -(デフォルト)非表示
戻り値
Long 型。正常に終了した場合はジョブ番号を返し、エラーが発生した
場合は -1 を返します。印刷 ダイアログボックスが表示され、エンド
ユーザが[キャンセル]ボタンをクリックした場合、PrintOpen 関数は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
新しい印刷ジョブは、新しいページから開始されます。フォントはプ
リンタの標準のフォントに設定されます。印刷カーソルは、印刷領域
の左上端に位置付けられます。
showprintdialog 引数に true を指定した場合、エンド ユーザが印刷ジョ
ブを取り消すことができるように、システムの印刷 ダイアログボック
スが表示されます。PowerBuilder はあらかじめ印刷ジョブのページ数
を判断することができないため、印刷 ダイアログボックスのページ範
囲を指定するオプションは使用できません。サーバで動作しているコ
ンポーネントでこの引数を指定している場合、その引数は無視されま
す。
返されたジョブ番号は、それ以降に使用するすべての印刷関数で、ジョ
ブを識別するための番号として使用します。
PowerScript リファレンス ボリューム 2
929
PrintOpen
PrintOpen 関数の後に MessageBox 関数を呼び出すと、エンド ユーザを
混乱させる状態を引き起こします。PrintOpen 関数を呼び出すと、現行
のアクティブ ウィンドウからは Windows による印刷処理が使用でき
なくなります。PrintOpen 関数の後でメッセージ ボックスを表示する
と、Windows はアクティブ ウィンドウをメッセージ ボックスの親ウィ
ンドウにします。頻繁に、別のアプリケーションのウィンドウがメッ
セージの親ウィンドウになり、別のアプリケーションがアクティブに
なってしまいます。
PrintOpen と PrintClose
印刷ジョブを開始した後は、そのジョブを終了する(または取り消す)
必要があります。印刷ジョブのハングアップを避けるために、印刷ジョ
ブを開始したイベントと同じイベント内で印刷ジョブを処理し、終了
するようにしてください。
例
次の例は印刷ジョブを開きますが、印刷ジョブ名は指定しません。
ulong li_job
li_job = PrintOpen()
次の例は印刷ジョブを開き、その印刷ジョブに名前を指定し、印刷 ダ
イアログボックスを開きます。
ulong li_job
li_job = PrintOpen("Phone List", true)
関連項目
930
Print
PrintBitmap
PrintCancel
PrintClose
PrintDataWindow
PrintDefineFont
PrintLine
PrintOval
PrintPage
PrintRect
PrintRoundRect
PrintSend
PrintSetFont
PrintSetup
PrintText
PrintWidth
PrintX
PrintY
PowerBuilder
第 10 章
PowerScript 関数
PrintOval
機能
印刷ページに指定の太さで、白抜きの楕円の輪郭を描きます。
構文
PrintOval ( printjobnumber, x, y, width, height, thickness )
引数
printjobnumber
x
y
width
height
thickness
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
楕円の形を決める長方形の左上の X 座標の位置を 1/1000
インチ単位の整数値で指定します。
楕円の形を決める長方形の左上の Y 座標の位置を 1/1000
インチ単位の整数値で指定します。
楕円の形を決める長方形の幅を 1/1000 インチ単位の整数
値で指定します。
楕円の形を決める長方形の高さを 1/1000 インチ単位の整
数値で指定します。
楕円の外周の線の太さを 1/1000 インチ単位の整数値で指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintOval 関数、PrintRect 関数、および PrintRoundRect 関数は、内部を塗
りつぶした(白抜きで覆った)図形を描きます。図形の内部にほかの
図形またはテキストを印刷するには、まず、内部を塗りつぶした図形
を描きます。次に、その内部にテキストと、塗りつぶした図形または
線分を描きます。ほかの印刷関数を呼び出した後で内部を塗りつぶし
た図形を描くと、その図形は内部に描かれたものを覆ってしまいます。
たとえば、テキストと線分のまわりに外周を描く場合、まず、楕円ま
たは四角形の外周を描きます。次に、PrintLine 関数と PrintText 関数を使
用して線分とテキストを内部に描きます。
PrintOval 関数は、印刷カーソルの位置を変更しません。印刷カーソル
は関数が呼び出される前の位置のままです。通常、座標を引数とする
印刷関数は、印刷カーソルの位置に影響を及ぼしません。
例
次の例は、新しい空白の 1 ページから印刷ジョブを開始して、1 イン
チの正方形に内接する楕円を印刷します。楕円の形を決める正方形の
左上の位置は、印刷領域の上から 4 インチ、左端から 3 インチで、高
さと幅が等しいので、この楕円は実際には円です。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
PowerScript リファレンス ボリューム 2
931
PrintPage
// 楕円を印刷します。
PrintOval(Job, 4000, 3000, 1000, 1000, 10)
... // ほかの印刷
PrintClose(Job)
関連項目
PrintBitmap
PrintClose
PrintLine
PrintOpen
PrintRect
PrintRoundRect
PrintPage
機能
現在のページをプリンタ(またはスプーラ)に送り、新しい空白の 1
ページを印刷ジョブに設定します。
構文
PrintPage ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
次の例の最初の 3 つの行は、新しい空白の 1 ページを設定し、そのペー
ジにビットマップを印刷した後、そのページをプリンタまたはスプー
ラに送り、新しい空白の 1 ページを設定します。最後の Print 関数は、
新しいページに会社名を印刷します。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// ビットマップを印刷します。
PrintBitmap(Job, "d:\PB\BITMAP1.BMP", 100,250, 0,0)
// 新しいページを始めます。
932
PowerBuilder
第 10 章
PowerScript 関数
PrintPage(Job)
// 新しいページに会社名を印刷します。
Print(Job, "Sybase Corporation")
関連項目
PrintClose
PrintOpen
PrintRect
機能
印刷ページに指定された太さの外周で、内部が白抜きの長方形を描き
ます。
構文
PrintRect ( printjobnumber, x, y, width, height, thickness )
引数
printjobnumber
x
y
width
height
thickness
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
長方形の左上端の X 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の左上端の Y 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の幅を 1/1000 インチ単位の整数値で指定します。
長方形の高さを 1/1000 インチ単位の整数値で指定します。
長方形の外周の線の太さを 1/1000 インチ単位の整数値で
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintOval 関数、PrintRect 関数、および PrintRoundRect 関数は、内部を塗
りつぶした(白抜きで覆った)図形を描きます。図形の内部にほかの
図形またはテキストを印刷するには、まず、内部を塗りつぶした図形
を描きます。次に、その内部にテキストと、塗りつぶした図形または
線分を描きます。ほかの印刷関数を呼び出した後で内部を塗りつぶし
た図形を描くと、その図形は内部に描かれたものを覆ってしまいます。
たとえば、テキストと線分のまわりに外周を描く場合、まず、楕円ま
たは四角形の外周を描きます。次に、PrintLine 関数と PrintText 関数を使
用して線分とテキストを内部に描きます。
PrintRect 関数は、印刷カーソルの位置を変更しません。カーソルは、
関数が呼び出される前の位置に留まります。通常、座標を引数とする
印刷関数は、印刷カーソルの位置に影響を及ぼしません。
PowerScript リファレンス ボリューム 2
933
PrintRoundRect
例
次の例は、新しい空白の 1 ページから印刷ジョブを開始して、各辺が
1 インチの正方形を 1/8 インチの太さの線で印刷します。正方形の左上
の位置は、印刷領域の左端から 4 インチ、上から 3 インチです。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// そのページに長方形を印刷します。
PrintRect(Job, 4000,3000, 1000,1000, 125)
... // ほかの印刷
PrintClose(Job)
関連項目
PrintBitmap
PrintClose
PrintLine
PrintOpen
PrintOval
PrintRoundRect
PrintRoundRect
機能
印刷ページに指定された太さの外周で、内部が白抜きの丸長方形を描
きます。
構文
PrintRoundRect ( printjobnumber, x, y, width, height, xradius, yradius,
thickness )
引数
printjobnumber
x
y
width
height
xradius
yradius
thickness
934
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
長方形の左上端の X 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の左上端の Y 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の幅を 1/1000 インチ単位の整数値で指定します。
長方形の高さを 1/1000 インチ単位の整数値で指定します。
角の x 方向の丸め角度を表す整数値を指定します。
角の y 方向の丸め角度を表す整数値を指定します。
長方形の外周の線の太さを 1/1000 インチ単位の整数値で
指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintOval 関数、PrintRect 関数、および PrintRoundRect 関数は、内部を塗
りつぶした(白抜きで覆った)図形を描きます。図形の内部にほかの
図形またはテキストを印刷するには、まず、内部を塗りつぶした図形
を描きます。次に、その内部にテキストと、塗りつぶした図形または
線分を描きます。ほかの印刷関数を呼び出した後で内部を塗りつぶし
た図形を描くと、その図形は内部に描かれたものを覆ってしまいます。
たとえば、テキストと線分のまわりに外周を描く場合、まず、楕円ま
たは四角形の外周を描きます。次に、PrintLine 関数と PrintText 関数を使
用して線分とテキストを内部に描きます。
PrintRoundRect 関数は、印刷カーソルの位置を変更しません。印刷カー
ソルは関数が呼び出される前の位置のままです。通常、座標を引数と
する印刷関数は、印刷カーソルの位置に影響を及ぼしません。
例
次の例は、新しい空白の 1 ページから印刷ジョブを開始し、ページ枠
を丸長方形にします。次に、プリンタにページを送る印刷ジョブを終
了します。
丸長方形は、高さ 9 インチ、幅 6 1/4 インチで、その左上の位置は印刷
領域の上から 1 インチ、左端から 1 インチです。丸長方形の外周は、
太さ 1/8 インチ、角 300 度で描きます。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// そのページに丸長方形を印刷します。
PrintRoundRect(Job, 1000,1000, 6250,9000, &
300,300, 125)
// プリンタにページを送ります。
PrintClose(Job)
関連項目
PrintBitmap
PrintClose
PrintLine
PrintOpen
PrintOval
PrintRect
PowerScript リファレンス ボリューム 2
935
PrintScreen
PrintScreen
機能
画面のイメージを印刷ジョブの一部として印刷します。
構文
PrintScreen ( printjobnumber, x, y {, width, height } )
引数
printjobnumber
x
y
width
(オプション)
height
(オプション)
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
画面イメージの左上端の X 座標を 1/1000 インチ単位の整
数値で指定します。
画面イメージの左上端の Y 座標を 1/1000 インチ単位の整
数値で指定します。
印刷する画面イメージの幅を 1/1000 インチ単位の整数値
で指定します。width を指定しない場合は、画面はオリジ
ナルのサイズで印刷されます。width を指定すると、height
も指定しなければなりません。
印刷する画面イメージの高さを 1/1000 インチ単位の整数
値で指定します。height を指定しない場合は、画面はオリ
ジナルのサイズで印刷されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、現行の画面イメージを元のサイズで(500,1000)
の位置に印刷します。
long Job
Job = PrintOpen( )
PrintScreen(Job, 500,1000)
PrintClose(Job)
関連項目
936
Print
PrintClose
PrintOpen
PowerBuilder
第 10 章
PowerScript 関数
PrintSend
機能
任意の文字列をプリンタに送ります。通常は、プリンタの設定を変更
するエスケープ シーケンスを送るために使用します。
関数仕様の変更
PrintSend 関数は、旧バージョンのものであり、旧バージョンとの互換
性のために提供されています。この関数を使用できるかどうかは、プ
リンタ ドライバに依存します。
構文
PrintSend ( printjobnumber, string {, zerochar } )
引数
printjobnumber
string
zerochar
(オプション)
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
プリンタに送る文字列を指定します。印字可能文字以外の
文字を文字列に含める場合は、その文字の ASCII コードを
使用してください。
string で指定する文字列中で、数字の 0 として使用する文
字の ASCII コード(1 ~ 255)を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PrintSend 関数は、特定のプリンタにエスケープ シーケンスを送るため
に使用します。たとえば、ビットマップの圧縮モードや余白を設定す
る場合などです。エスケープ シーケンスの内容は、プリンタによって
異なります。
string で指定する文字列中の数字の 0 は、string を終了させます。ただ
し、数字の 0 を制御コードとして使用するプリンタ コードがあります。
このような場合には、string に数字の 0 以外の文字を指定し、zerochar
に数字の 0 の代わりとなる文字を指定できます。0 を示す文字には、通
常使用されない文字を指定します。プリンタに送られたその文字列は、
プリンタによって 0 に変換されます。
プリンタの設定を指定する通常の印刷ジョブでは、次の関数呼び出し
が行われます。
1
PrintOpen 関数
2
PrintSend 関数(プリンタの設定の変更、トレイの選択など)
3
PrintDefineFont 関数、PrintSetFont 関数(フォントの指定)
4
Print 関数(テキストの印刷)
5
PrintClose 関数
PowerScript リファレンス ボリューム 2
937
PrintSend
例
次の例は、新しい空白の 1 ページを設定し、IBM Proprinter モードで余
白を変更するエスケープ シーケンスをプリンタに送ります。0 を示す
文字は指定しません。
long Job
// 印刷ジョブを開きます。
Job = PrintOpen( )
/* エスケープ シーケンスを送ります。
1B はヘキサのエスケープ キャラクタです。
X は余白を変更することを示します。
030 は左余白を 30 文字に設定しています。
040 は右余白を 40 文字に設定しています。
*/
PrintSend(Job," ~ h1BX ~ 030 ~ 040")
... // テキストまたはデータウィンドウを印刷します。
// そのジョブをプリンタまたはスプーラに送ります。
PrintClose(Job)
次の例は、新しい空白の 1 ページを設定し、IBM Proprinter モードで余
白を変更するエスケープ シーケンスをプリンタに送ります。0 を示す
文字として、10 進の ASCII コード 255 を指定します。
long Job
// 印刷ジョブを開きます。
Job = PrintOpen( )
/* エスケープ シーケンスを送ります。
1B はヘキサのエスケープ キャラクタです。
X は余白を変更することを示します。
255 は左余白を 0 に設定します。
040 は右余白を 40 文字に設定しています。
*/
PrintSend(Job, "~h1BX~255~040", 255)
PrintDataWindow(Job, dw_1)
// そのジョブをプリンタまたはスプーラに送ります。
PrintClose(Job)
関連項目
938
PrintClose
PrintOpen
PowerBuilder
第 10 章
PowerScript 関数
PrintSetFont
機能
Print 関数を使用してテキストを印刷するときに使用するフォントを指
定します。PrintDefineFont 関数を使用して、フォント番号と必要なフォ
ント、サイズ、およびプロパティを関連付けます。
構文
PrintSetFont ( printjobnumber, fontnumber )
引数
printjobnumber
説明
fontnumber
PrintDefineFont 関数を使用して定義したフォント番号(1 ~
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
8)
、または 0(プリンタの標準のフォント)を指定します。
戻り値
Integer 型。正常に終了した場合は現行のフォントの文字の高さを返し、
エラーが発生した場合は -1 を返します。引数のいずれかの値が null の
場合、null を返します。
例
次の例は、
新しい印刷ジョブを開始し、
フォント番号 2 に対して、
Courier、
18 ポイント、太字、デフォルト ピッチ、modern フォント、斜体なし、
下線なしと定義します。PrintSetFont 関数はフォント 2 を現行のフォン
トとして設定し、Print 関数は会社名を印刷します。
long Job
// 新しい印刷ジョブとページを開始します。
Job = PrintOpen( )
// ジョブに対してフォントを定義します。
PrintDefineFont(Job, 2, "Courier 10Cps", &
250, 700, Default!, Modern!, FALSE, FALSE)
// ジョブに対してフォントを設定します。
PrintSetFont(Job, 2)
// 設定したフォントで会社名を印刷します。
Print(Job,"Sybase Corporation")
関連項目
PrintDefineFont
PrintOpen
PowerScript リファレンス ボリューム 2
939
PrintSetPrinter
PrintSetPrinter
機能
次の印刷関数の呼び出し時に使用するプリンタを設定します。この関
数は、開いているジョブには影響しません。
構文
PrintSetPrinter ( printername )
引数
printername
戻り値
説明
使用するプリンタの名前を表す文字列を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
printername 引数では、PrintGetPrinter 関数から返される文字列と同じ形
式を使用する必要があります。
例
次の例では、使用するプリンタとして、PrintGetPrinters 関数で取得した
リストの最初のプリンタを設定しています。
long ll_place
string ls_setprn
string ls_prntrs = PrintGetPrinters ( )
ll_place=pos (ls_prntrs, "~n")
mle_1.text = PrintGetPrinters ( )
ls_setprn = Left (ls_prntrs, ll_place - 1)
PrintSetPrinter (ls_setprn)
関連項目
PrintGetPrinter
PrintGetPrinters
PrintSetSpacing
機能
行間隔の算出に使用するファクタを設定します。
構文
PrintSetSpacing ( printjobnumber, spacingfactor )
引数
printjobnumber
spacingfactor
940
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
現行の文字の高さに乗算して、垂直方向の行間を決めるた
めの比例定数(スペース ファクタ)を指定します。特に指
定しない限り、1.2 が設定されます。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PowerBuilder における行間隔は、文字の高さに比例します。標準の間
隔は文字の高さの 1.2 倍です。Print 関数は、新しい行を開始するとき
にカーソルの x 座標を 0 に設定し、現行の行間隔によって y 座標を増
加します。PrintSetSpacing 関数を使用すると、開いている印刷ジョブの
行間隔を決定する新しい比例定数(スペース ファクタ)を指定できま
す。
例
次の例は、新しい印刷ジョブを開始し、垂直方向のスペース ファクタ
を 1.5(文字の高さの 1.5 倍)に設定します。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// スペース ファクタを設定します。
PrintSetSpacing(Job, 1.5)
関連項目
PrintOpen
PrintSetup
機能
プリンタの設定 ダイアログボックスを表示し、エンド ユーザがプリン
タの設定を指定できるようにします。
構文
PrintSetup ( )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
エンド ユーザの設定は現行のアプリケーションが終了するまで有効
です。アプリケーションが終了すると、プリンタの設定は元の値に戻
ります。
例
次のステートメントは、現行のシステム プリンタのプリンタの設定 ダ
イアログボックスを表示し、新しい印刷ジョブを開始します。
long Job
// プリンタ セットアップ プログラムを起動します。
PrintSetup()
// 印刷ジョブを開始し、改ページします。
PowerScript リファレンス ボリューム 2
941
PrintSetupPrinter
Job = PrintOpen( )
関連項目
PrintOpen
PrintSetupPrinter
機能
プリンタの設定 ダイアログボックスを表示します。
構文
PrintSetupPrinter ( )
戻り値
Integer 型。関数が成功した場合は 1、キャンセルされた場合は 0、エ
ラーが発生した場合は -1 を返します。
解説
異なるプリンタの設定 ダイアログボックスを表示する場合には、事前
に PrintSetPrinter 関数を呼び出しておきます。PrintSetup 関数の場合とは
異なり、PrintSetupPrinter 関数の呼び出しでプリンタを変更することは
できません。
例
次の例では、PrintGetPrinters 関数で取得したリストの最後のプリンタに
対応するプリンタの設定 ダイアログボックスを表示しています。
long ll_place
string ls_setptr
string ls_prntrs = PrintGetPrinters ( )
ll_place=lastpos (ls_prntrs, "~n")
ls_setptr = Mid (ls_prntrs, ll_place + 1)
PrintSetPrinter (ls_setptr)
PrintSetupPrinter ()
関連項目
942
PrintGetPrinter
PrintSetPrinter
PrintSetup
PowerBuilder
第 10 章
PowerScript 関数
PrintText
機能
指定された座標位置から、テキストの行を印刷します。
構文
PrintText ( printjobnumber, string, x, y {, fontnumber } )
引数
printjobnumber
string
x
y
fontnumber
(オプション)
戻り値
解説
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
印刷するテキストを表す文字列を指定します。
テキストの印刷を開始する位置の X 座標(1/1000 インチ単
位)を表す整数値を指定します。
テキストの印刷を開始する位置の Y 座標(1/1000 インチ単
位)を表す整数値を指定します。
PrintDefineFont 関数を使用して定義したフォント番号(1
~ 8)、または 0(プリンタの標準フォント)を指定します。
fontnumber が省略された場合、この印刷ジョブの現行の
フォントでテキストを印刷します。
Integer 型。正常に終了した場合は新しい印刷カーソル位置の X 座標
(引数 x の値 + テキストの幅)を返し、エラーが発生した場合は -1 を
返します。引数のいずれかの値が null の場合、null を返します。
PrintText 関数は、座標を引数とするほかの印刷関数と異なり、印刷カー
ソルの位置を変更します。印刷カーソルは、印刷されたテキストの後
に移動します。PrintText 関数は、印刷カーソルの x 座標を返します。そ
の戻り値を使用して、ほかのテキストの印刷開始位置を決定すること
ができます。
PrintText 関数は、
ページの垂直位置であるカーソルの y 座標の位置を変
更しません。
例
次のステートメントは、新しい印刷ジョブを開始し、ページの左上端
から 3.7 インチ(3700,10)の位置に、現行のフォントで「PowerBuilder」
という文字列を印刷します。
long Job
// 新しい空白の 1 ページを設定します。
Job = PrintOpen( )
// テキストを印刷します。
PrintText(Job,"PowerBuilder", 3700, 10)
... // ほかの印刷
PrintClose(Job)
PowerScript リファレンス ボリューム 2
943
PrintText
次のステートメントは、新しい空白のページを定義した後、ページの
上端に中央揃えで「Confidential」を太字で出力します(太字はフォント
番号 3 で定義します)。
long Job
// 新しいジョブとページを開始します。
Job = PrintOpen( )
// フォントを定義します。
PrintDefineFont(Job, 3, &
"Courier 10Cps", 250,700, &
Default!, AnyFont!, FALSE, FALSE)
// テキストを印刷します。
PrintText(Job, "Confidential", 3700, 10, 3)
... // ほかの印刷
PrintClose(Job)
次の例は、ページの中央に 4 行のテキストを印刷します。PrintText 関数
の座標によって、印刷カーソルの新しい垂直位置が決定します。印刷
カーソルは、以降の Print 関数で使用され、その位置から増分処理が行
われます。最初の Print 関数では、PrintText 関数から返された x 座標を
使用して最初の行を出力します。以降の Print 関数のテキスト行の出力
では、PrintText 関数で最初に使用した x 座標へのタブによる移動が行わ
れます。次の例では、各 Print 関数で y 座標を増加させることで、Print
関数ごとに新しい行を開始しています。
long Job
// 新しいジョブとページを開始します。
Job = PrintOpen( )
// テキストを印刷します。
x = PrintText(Job,"The material ", 2000, 4000)
Print(Job, x, " in this report")
Print(Job, 2000, "is confidential and should not")
Print(Job, 2000, "be disclosed to anyone who")
Print(Job, 2000, "is not at this meeting.")
... // ほかの印刷
PrintClose(Job)
関連項目
944
Print
PrintClose
PrintOpen
PowerBuilder
第 10 章
PowerScript 関数
PrintWidth
機能
指定された印刷ジョブが現行のフォントを使用したときの文字列の幅
を取得します。
構文
PrintWidth ( printjobnumber, string )
引数
printjobnumber
string
戻り値
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
テキストを表す文字列を指定します。このテキストの幅を
取得します。
Integer 型。正常に終了した場合は string で指定された文字列の幅を返
し、エ ラ ー が 発 生 し た 場 合 に は -1 を 返 し ま す。返 さ れ る 幅 は、
printjobnumber で指定した現行のフォントを使用し、1/1000 インチ単位
で表します。引数のいずれかの値が null の場合、null を返します。返さ
れた幅が最大値(+32767)を超えた場合は、-1 を返します。
例
次のステートメントは、新しい空白の 1 ページを設定し、現在のフォ
ントを使用した場合の文字列 PowerBuilder の幅を取得し、W に設定
します。Print 関数の引数に W を使用して印刷を開始する位置を指定し
ます。
long Job
int W
// 新しい印刷ジョブを開始します。
Job = PrintOpen( )
// テキストの幅を取得します。
W = PrintWidth(Job,"PowerBuilder")
// その幅を使用して次の印刷位置を求めます。
Print(Job, W - 500, "Features List")
関連項目
PrintClose
PrintOpen
PowerScript リファレンス ボリューム 2
945
PrintX
PrintX
機能
印刷カーソルの X 座標を取得します。
構文
PrintX ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
戻り値
Integer 型。正常に終了した場合は印刷カーソルの X 座標を返し、エ
ラーが発生した場合は -1 を返します。引数のいずれかの値が null の場
合、null を返します。
例
次のステートメントは、印刷カーソルの X 座標を LocX に格納します。
印刷カーソル位置を右へ 1 インチ移動し、End of Report を印刷します。
integer LocX
long Job
Job = PrintOpen( )
... // 印刷ステートメント
LocX = PrintX(Job)
Print(LocX+1000, "End of Report")
関連項目
PrintY
PrintY
機能
印刷カーソルの Y 座標を取得します。
構文
PrintY ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
戻り値
Integer 型。正常に終了した場合は印刷カーソルの Y 座標を返し、エ
ラーが発生した場合は -1 を返します。引数のいずれかの値が null の場
合、null を返します。
例
次のステートメントは、印刷カーソルの位置から 1 インチ下にビット
マップを印刷します。
integer LocX, LocY
long Job
946
PowerBuilder
第 10 章
PowerScript 関数
Job = PrintOpen( )
... // 印刷ステートメント
LocX = PrintX(Job)
LocY = PrintY(Job) + 1000
PrintBitmap(Job, "CORP.BMP", LocX, LocY, 1000,1000)
関連項目
PrintX
ProfileInt
機能
アプリケーションのプロファイルに設定されている情報(Integer 型の
値)を取得します。
構文
ProfileInt ( filename, section, key, default )
引数
filename
section
key
default
PowerScript リファレンス ボリューム 2
説明
プロファイルの名前を表す文字列を指定します。絶対パス
名が指定されていない場合、ProfileInt 関数はシステムの標
準のファイル検索方法でファイルを検索します。
プロファイル内の関連する値のグループの名前(セクショ
ン名)を表す文字列を指定します。プロファイルでは、セ
クション名が角カッコ([])で囲まれています。ただし、
section を指定する場合には、セクション名を角カッコ([])
で囲まないでください。section は、大文字と小文字を区別
しません。
section でのキーワードを指定する文字列を指定します。プ
ロファイルでは、キーワードの後ろに等号(=)が付いて
います。ただし、key を指定する場合には、キーワードの
後ろに等号(=)を付けないでください。key は、大文字
と小文字を区別しません。
ProfileInt 関数が返す Integer 型の値を指定します。この値
は、filename に指定されているファイルが見つからない場
合、filename に指定されているファイル内に、section に指
定されているセクションや key に指定されているキーワー
ドがない場合、または key の値を Integer 型に変換できない
場合に返されます。
947
ProfileInt
戻り値
Integer 型。filename に指定されたファイルが見つからない場合、section
で指定されたセクションがプロファイル内にない場合、key に指定され
たキーワードが指定のセクションにない場合、または key に指定され
た値が整数でない場合には、default に指定された整数値を返します。
エラーが発生した場合には -1 を返します。引数のいずれかの値が null
の場合、null を返します。
解説
ProfileInt 関数と ProfileString 関数を使用すると、自分のアプリケーショ
ンのプロファイルの設定に関する情報を取得できます。
SetProfileString 関数を使用すると、プロファイルの値を変更してアプリ
ケーションの設定を実行時にカスタマイズできます。プロファイルの
値を変更する前に、ProfileInt 関数と ProfileString 関数を使用して元の設
定を保存します。このようにしておくと、エンド ユーザがアプリケー
ションを終了したときに、保存しておいた情報を使用してアプリケー
ションを元の状態に戻すことができます。
ProfileInt 関数、ProfileString 関数、SetProfileString 関数は、Windows シス
テム上では ANSI または UTF16-LE エンコーディング、UNIX システム
上では ANSI または UTF16-BE エンコーディングでファイルからの読
み取りやファイルへの書き込みをすることができます。
Windows レジストリ
ProfileInt 関数を使って、Windows システム レジストリから環境設定の
情報を取得できます。システム レジストリの使用方法についての詳細
は、
『アプリケーション テクニック』マニュアルの「初期設定ファイ
ルおよび Windows レジストリの管理」を参照してください。
例
ここでは、プロファイル PROFILE.INI の次のセクションを使用した例
について説明します。
[Pb]
Maximized=1
[security]
Class=7
次のステートメントは、ファイル PROFILE.INI の PB セクションに記
述されているキーワード Maximized の整数値を返します。PB セクショ
ンがない場合や、PB セクションにキーワード Maximized がない場合、
"3" を返します。
ProfileInt("C:\PROFILE.INI", "PB", "maximized", 3)
948
PowerBuilder
第 10 章
PowerScript 関数
次の例は、ファイル C:\PROFILE.INI の Security セクションに記述され
ているキーワード Class の設定が 9 以下の場合に、メッセージ ボック
スを表示します。プロファイルがない場合や、プロファイルに Class の
設定がない場合は、"6" を返します。
IF ProfileInt("C:\PROFILE.INI", "Security", &
"Class", 6) < 10 THEN
// Class が 10 未満の場合
MessageBox(" 警告 ", " アクセスは拒否されました。")
ELSE
... // 処理を行います。
END IF
関連項目
ProfileString
SetProfileString
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ProfileInt メソッド
ProfileString
機能
アプリケーションのプロファイルに設定されている情報(String 型の
値)を取得します。
構文
ProfileString ( filename, section, key, default )
引数
filename
section
key
PowerScript リファレンス ボリューム 2
説明
プロファイルの名前を表す文字列を指定します。絶対パス
名が指定されていない場合、ProfileString 関数はシステムの
標準のファイル検索方法でファイルを検索します。
プロファイル内の関連する値のグループの名前(セクショ
ン名)を表す文字列を指定します。プロファイルでは、セ
クション名が角カッコ([])で囲まれています。ただし、
section を指定する場合には、セクション名を角カッコ([])
で囲まないでください。section は、大文字と小文字を区別
しません。
section でのキーワードを指定する文字列を指定します。プ
ロファイルでは、キーワードの後ろに等号(=)が付いて
います。ただし、key を指定する場合には、キーワードの
後ろに等号(=)を付けないでください。key は、大文字
と小文字を区別しません。
949
ProfileString
引数
default
説明
ProfileString 関数が返す String 型の値を指定します。この値
は、filename に指定されているファイルが見つからない場
合、filename に指定されているファイル内に、section に指
定されているセクションや key に指定されているキーワー
ドがない場合、または key の値を String 型に変換できない
場合に返されます。
戻り値
String 型。最大 4,096 文字までの文字列。filename に指定されているファ
イルの section に指定されているセクションで key に指定されている
キーワードの値を返します。filename に指定されているファイルが見
つからない場合、section に指定されているセクションがプロファイル
内にない場合、または key に指定されているキーワードが指定のセク
ションにない場合は、default に指定されている文字列を返します。エ
ラーが発生した場合、空の文字列("")を返します。引数のいずれか
の値が null の場合、null を返します。
解説
ProfileInt 関数と ProfileString 関数を使用すると、自分のアプリケーショ
ンのプロファイルの設定に関する情報を取得できます。
SetProfileString 関数を使用すると、プロファイルの値を変更してアプリ
ケーションの設定を実行時にカスタマイズできます。プロファイルの
値を変更する前に、ProfileInt 関数と ProfileString 関数を使用して元の設
定を保存します。このようにしておくと、エンド ユーザがアプリケー
ションを終了したときに、保存しておいた情報を使用してアプリケー
ションを元の状態に戻すことができます。
ProfileInt 関数、ProfileString 関数、SetProfileString 関数は、Windows シス
テム上では ANSI または UTF16-LE エンコーディング、UNIX システム
上では ANSI または UTF16-BE エンコーディングでファイルからの読
み取りやファイルへの書き込みをすることができます。
Windows レジストリ
さらに、32 ビット オペレーティング システムでは、ProfileString 関数を
使って、Windows システム レジストリ から環境設定の情報を取得でき
ます。システム レジストリの使用方法についての詳細は、
『アプリケー
ション テクニック』マニュアルの「初期設定ファイルおよび Windows
レジストリの管理」を参照してください。
例
ここでは、プロファイル PROFILE.INI の次のセクションを使用した例
について説明します(INI ファイル内で文字列値を囲む引用符はオプ
ションです)。
[Employee]
950
PowerBuilder
第 10 章
PowerScript 関数
Name=Smith
[Dept]
Name=Marketing
次のステートメントは、C:\PROFILE.INI ファイルの Employee セク
ションに記述されているキーワード Name の値の文字列を返します。
エラーが発生した場合、"None" を返します。この例では、"Smith" が
返されます。
ProfileString("C:\PROFILE.INI", "Employee", &
"Name", "None")
次の例は、ファイル C:\PROFILE.INI の Department セクションに含まれ
るキーワード Name の文字列が Marketing であった場合に、w_marketing
を開きます。
IF ProfileString("C:\PROFILE.INI", "Department", &
"Name", "None") = "Marketing" THEN
Open(w_marketing)
END IF
関連項目
ProfileInt
SetProfileString
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ProfileString メソッド
Rand
機能
1 から指定された上限までの範囲にある整数の乱数を返します。
構文
Rand ( n )
引数
n
説明
返される乱数の上限を指定します。下限は常に 1 です。上
限は 32,767 です。
戻り値
数値データ型、n のデータ型。1 から n までの範囲(1 と n を含む)に
ある整数の乱数を返します。n が null の場合、null を返します。
解説
Rand 関数を繰り返し呼び出して生成させた一連の数値は、擬似乱数
シーケンスです。アプリケーションの実行のたびに、乱数シーケンス
が異なるようにするには、Randomize 関数を呼び出して乱数ジェネレー
タを初期化します。
PowerScript リファレンス ボリューム 2
951
Randomize
例
次の文は、1 ~ 10 の範囲の整数の乱数を返します。
Rand(10)
関連項目
Randomize
Randomize
機能
Rand 関数が新しい擬似乱数を生成するように、乱数ジェネレータを初
期化します。
構文
Randomize ( n )
引数
n
説明
乱数ジェネレータを初期化する値(シード値)を指定しま
す。n にゼロを指定するとシステム クロックからシード値
を得るので、毎回異なる乱数を生成します。0 以外の値を
指定すると、シード値ごとに同じ乱数を繰り返し生成しま
す。n は、32,767 以下です。
戻り値
Integer 型。n が null の場合、null を返します。通常戻り値は使用されま
せん。
解説
Rand 関数を繰り返し呼び出して生成させた一連の数値は、擬似乱数
シーケンスです。Randomize 関数を使用してシステム クロックまたは
ほかの変更値で乱数ジェネレータを初期化できるので、アプリケー
ションの実行のたびに異なる乱数シーケンスを生成することができま
す。テスト用のデータを生成するために、特定のシード値を選択し、
アプリケーションの実行のたびに同じ擬似乱数を繰り返し生成するこ
とができます。
アプリケーションの Open イベントに対するスクリプトで Randomize
関数を呼び出してください。
例
次のステートメントは、乱数ジェネレータのシード値を 0 に設定し、ス
クリプトの実行のたびに Rand 関数を呼び出して乱数を発生させます。
Randomize(0)
次のステートメントは、乱数ジェネレータのシード値を 4 に設定して
いるので、乱数ジェネレータが初期化されるたびに Rand 関数が呼び出
され、同じ乱数が繰り返し生成されます。
Randomize(4)
関連項目
952
Rand
PowerBuilder
第 10 章
PowerScript 関数
Read
開いている OLEStream オブジェクトからデータを読み込みます。
目的
データを文字列に読み込む
データを文字配列または Blob 型の変数に読み込む
使用する構文
構文 1
構文 2
構文 1
データを文字列に読み込む
機能
OLEStream オブジェクトから文字列にデータを読み込みます。
対象
OLEStream オブジェクト
構文
olestream.Read ( variable {, stopforline } )
引数
olestream
variable
stopforline
(オプション)
説明
開いている OLEStream 変数の名前を指定します。
String 型の変数。olestream から読み込んだデータを格納す
る変数の名前を指定します。
Boolean 型の値。一度に 1 行ずつ読み込むかどうかを指定
します。つまり、次のキャリッジ リターン文字とライン
フィード文字で、Read 関数が読み込みを停止するかどう
かを指定します。値は以下のとおりです。
• TRUE -(デフォルト)行の最後で読み込みを停止し、
読み込みポインタをキャリッジ リターン文字とライン
フィード文字の後に設定します。次の読み込み操作で、
次の行を読み込むことができるようにします。
• FALSE - ストリーム全体、または最大 32,765 バイトを
読み込みます。
戻り値
Integer 型。読み込んだ文字数またはバイト数を返します。文字を読み
込む前にエンド オブ ファイル マーク(EOF)が検出された場合、Read
関数は -100 を返します。エラーが発生した場合、次のいずれかの負の
値を返します。
-1 ストリームが開かれていません。
-2 読み込みエラーです。
-9 そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
953
Read
例
次の例は、MYSTUFF.OLE ファイルで OLE オブジェクトを開き、
OLEStorage オブジェクト stg_stuff に代入します。次に、stg_stuff のスト
リーム info を開き、ストリーム オブジェクト olestr_info に割り当てま
す。最後に、olestr_info の内容を文字列 ls_info に読み込みます。
この例では、関数の戻り値をチェックしていませんが、実際のスクリ
プトでは必ず戻り値をチェックしてください。
boolean lb_memexists
OLEStorage stg_stuff
OLEStream olestr_info
blob ls_info
stg_stuff = CREATE OLEStorage
stg_stuff.Open("c:\ole2\mystuff.ole")
olestr_info.Open(stg_stuff, "info", &
stgRead!, stgExclusive!)
olestr_info.Read(ls_info)
関連項目
Open
Length
Seek
Write
構文 2
データを文字列配列または Blob 型の変数に読み込む
機能
OLEStream オブジェクトから文字配列または Blob 型の変数にデータ
を読み込みます。
対象
OLEStream オブジェクト
構文
olestream.Read ( variable {, maximumread } )
引数
olestream
variable
maximumread
(オプション)
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
954
説明
開いている OLEStream 変数の名前を指定します。
olestream からデータを読み込む Blob 型の変数または文字
配列の名前を指定します。
Long 型の値。読み込む最大バイト数を指定します。特に
指定しない限り、32,765 文字または olestream の長さが設
定されます。
ストリームが開かれていません。
PowerBuilder
第 10 章
-2
-9
PowerScript 関数
読み込みエラーです。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、MYSTUFF.OLE ファイルで OLE オブジェクトを開き、
OLEStorage オブジェクト stg_stuff に代入します。次に、stg_stuff のスト
リーム info を開き、ストリーム オブジェクト olestr_info に割り当てま
す。最後に、olestr_info の内容を Blob 型の変数 lb_info に読み込みます。
この例では、関数の戻り値をチェックしていませんが、実際のスクリ
プトでは必ず戻り値をチェックしてください。
boolean lb_memexists
OLEStorage stg_stuff
OLEStream olestr_info
blob lb_info
stg_stuff = CREATE OLEStorage
stg_stuff.Open("c:\ole2\mystuff.ole")
olestr_info.Open(stg_stuff, "info", &
stgRead!, stgExclusive!)
olestr_info.Read(lb_info)
関連項目
Open
Length
Seek
Write
Real
機能
String 型の値を Real 型のデータに変換します。または、Blob 型変数に
格納されている Real 型の値を取得します。
構文
Real ( stringorblob )
引数
stringorblob
PowerScript リファレンス ボリューム 2
説明
Real 型として返す String 型、または最初の値が Real 型で
ある Blob 型変数を指定します。残りの Blob 型の値は無視
されます。stringorblob は文字列または Blob 型を含む Any
変数を指定することもできます。
955
Real
戻り値
Real 型。stringorblob で指定された値を Real 型として返します。
stringorblob に指定された値が PowerScript で有効な数値でない場合、ま
たは一致しないデータ型を含む場合には、0 を返します。stringorblob が
null の場合、null を返します。
例
次のステートメントは、Real 型の 24 を返します。
Real("24")
次のステートメントは、シングルライン エディット コントロール
sle_Temp のテキストを Real 型で返します。
Real(sle_Temp.Text)
次の例は、実際に即した値ではありませんが、Real 型の値を Blob 型の
変数に挿入する方法と、Real 関数を使用して Blob 型の変数から Real 型
の値を取り出す方法を示します。2 つの BlobEdit 関数は、Blob 型の変
数に 2 つの Real 型の値を挿入します。Real 関数を使用してその値を取
り出すステートメントで、Real 型の各値の先頭位置を指定します。Real
関数はバイト数がわかっているので、BlobMid 関数のように正確な値の
長さを指定する必要はありません。
blob{20} lb_blob
real r1, r2
integer len1, len2
len1 = BlobEdit(lb_blob, 1, 32750E0)
len2 = BlobEdit(lb_blob, len1, 43750E0)
// 先頭の Real 型の値を取得します。
// Blob 型変数の残りの値は無視します。
r1 = Real(lb_blob)
// Blob 型変数に格納されている 2 番目の Real 型の値を取り出し
ます。
r2 = Real(BlobMid(lb_blob, len1, len2 - len1))
関連項目
956
Double
Integer
Long
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Real メソッド
PowerBuilder
第 10 章
PowerScript 関数
RecognizeText
機能
インクエディット コントロール内のテキストを認識するように指定
します。
対象
インクエディット コントロール
構文
inkeditname.RecognizeText ( )
引数
inkeditname
戻り値
説明
テキストを認識したいインクエディット コントロールの名
前を指定します。
Integer 型。テキストが認識される場合は 1 を返し、そうでない場合は
0 を返します。
解説
デフォルトでは、ユーザがインクの入力中に中断したとき、および
RecognitionTimer プロパティで指定した秒数が経過したときに、インク
が自動的に認識されます。テキストを認識させずにユーザが中断でき
るようにするには、RecognitionTimer 間隔をあけて、ボタンの clicked
イベントあるいは別のイベントで RecognizeText 関数をコードに記述し
ます。
例
“Done” ボタンの clicked イベントの次のコードで、認識エンジンはユー
ザが入力したストロークをテキストとして認識します。
boolean lb_success
lb_success = ie_1.RecognizeText()
RegistryDelete
機能
Windows のシステム レジストリのキーまたはキーの値を削除します。
構文
RegistryDelete ( key, valuename )
引数
key
valuename
PowerScript リファレンス ボリューム 2
説明
String 型の値。削除するシステム レジストリのキーまたは
キーの値を指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
レジストリの値の名前を含む文字列を指定します。指定さ
れたキーにサブキーがない場合は、空の文字列を指定する
と、キーと名前のある値が削除されます。
957
RegistryGet
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次のステートメントは、レジストリから、Title という名前の値とその
値に関連付けられている値を削除します。キーは削除されません。
RegistryDelete( &
"HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts",&
"Title")
関連項目
RegistryGet
RegistryKeys
RegistrySet
RegistryValues
RegistryGet
機能
Windows のシステム レジストリから値を取得します。
構文
RegistryGet ( key, valuename, { valuetype }, valuevariable )
引数
key
valuename
958
説明
String 型の値。システム レジストリのキーの名前を指定し
ます。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
レジストリの値の名前を含む文字列を指定します。各キー
には、名前のない値を 1 つと、名前のある値を複数持つこ
とができます。名前のない値の場合は、空の文字列("")
を指定します。
PowerBuilder
第 10 章
引数
valuetype
PowerScript 関数
説明
RegistryValueType カタログ データ型の値を指定します。こ
の値を使って、レジストリの値のデータ型を識別します。
値は以下のとおりです。
• RegString! - null で終わる文字列
• RegExpandString! - 環境変数への非拡張参照を含む、
null で終わる文字列
• RegBinary! - バイナリ データ
• ReguLong! - 32 ビットの数値
• ReguLongBigEndian! - 32 ビットの数値
• RegLink! - Unicode シンボリック リンク
valuevariable
• RegMultiString! - String 型の値の可変長配列
valuetype で指定したデータ型に対応する変数を指定しま
す。この変数に、指定されたキーと値の名前でシステム レ
ジストリから取得した値を格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。valuevariable のデータ型が valuetype で指定したデータ
型に対応していない場合は、エラーとなります。
解説
レジストリの値が、長い文字列である(2048 バイトを超える)場合は、
文字列は別のファイルに格納され、そのファイル名がレジストリに格
納されます。システム レジストリのキーと値の名前についての詳細
は、「RegistrySet 関数」を参照してください。
例
次のステートメントは、レジストリから Title という名前の値を取得し、
ls_titlefont に格納します。
string ls_titlefont
RegistryGet( &
"HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts",&
"Title", RegString!, ls_titlefont)
次のステートメントは、レジストリから NameOfEntryNum という名前の
値を取得して、Long 型変数 ul_num に格納します。
ulong ul_num
RegistryGet("HKEY_USERS\MyApp.Settings\Fonts", &
"NameOfEntryNum", RegULong!, ul_num)
関連項目
RegistryDelete
RegistryKeys
RegistrySet
RegistryValues
PowerScript リファレンス ボリューム 2
959
RegistryKeys
RegistryKeys
機能
Windows のシステム レジストリのキーより 1 つ下のレベルにある子項
目(サブキー)のキー一覧を取得します。
構文
RegistryKeys ( key, subkeys )
引数
key
subkeys
説明
String 型の値。サブキーを取得するシステム レジストリの
キーの名前を指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
サブキーを格納する String 型の配列変数を指定します。
配列のサイズが可変の場合、要素数には検索されたサブ
キーの数が反映されます。
配列のサイズが固定の場合、すべてのサブキーを格納する
のに十分な大きさが必要です。ただし、すべてのサブキー
を検索できたかどうかを確認することはできません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次の例は、キー HKEY_CLASSES_ROOT\MyApp に関連付けられたサ
ブキーを取得します。サブキーは、可変サイズ配列 ls_subkeylist に格納
されます。
string ls_subkeylist[]
integer li_rtn
li_rtn = RegistryKeys("HKEY_CLASSES_ROOT\MyApp", &
ls_subkeylist)
IF li_rtn = -1 THEN
... // エラー処理
END IF
関連項目
960
RegistryDelete
RegistryGet
RegistrySet
RegistryValues
PowerBuilder
第 10 章
PowerScript 関数
RegistrySet
機能
キーの値と値の名前をシステム レジストリに設定します。キーまたは
値の名前が存在しない場合、新しいキーまたは名前を作成し、値を設
定します。
構文
RegistrySet ( key, valuename, valuetype, value )
引数
key
説明
String 型の値。システム レジストリのキーの名前を指定し
ます。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
valuename
valuetype
key がレジストリにない場合、RegistrySet 関数は新しい
キーを作成します。名前のない値で key を作成するには、
valuename に空の文字列("")を指定します。
レジストリの値の名前を含む文字列を指定します。各キー
には、名前のある値が複数ある可能性があります。名前の
ない値を指定するには、空の文字列("")を指定します。
レジストリに valuename がない場合、RegistrySet 関数は key
に新しい名前のある値を作成します。
RegistryValueType カタログ データ型の値を指定します。こ
の値を使って、レジストリの値のデータ型を識別します。
値は以下のとおりです。
• RegString! - null で終わる文字列
• RegExpandString! - 環境変数への非拡張参照を含む、
null で終わる文字列
• RegBinary! - バイナリ データ
• ReguLong! - 32 ビットの数値
• ReguLongBigEndian! - 32 ビットの数値
• RegLink! - Unicode シンボリック リンク
value
• RegMultiString! - String 型の値の可変長配列
valuetype のデータ型に対応した変数を指定します。レジス
トリに設定すべき値をこの変数に格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。valuevariable のデータ型が valuetype で指定したデータ
型に対応していない場合は、エラーとなります。
解説
レジストリの値が、長い文字列である(2048 バイトを超える)場合は、
文字列は別のファイルに格納され、そのファイル名がレジストリに格
納されます。
PowerScript リファレンス ボリューム 2
961
RegistrySet
項目
キー
説明
レジストリの構成要素の 1 つです。キーは、キーのツリー
の一部で、すでに定義されたルート キーのうちの 1 つの子
孫です。各キーは、サブキーまたは階層構造での親キーの
子です。
ルートには、次の 4 つのキーがあります。
• HKEY_CLASSES_ROOT
• HKEY_LOCAL_MACHINE
• HKEY_USERS
• HKEY_CURRENT_USER
キーは、その上位の親キーの一覧で識別されます。一覧に
あるキーは、次の例に示されるように円記号(\)で区切
られています。
HKEY_CLASSES_ROOT\Sybase.Application
HKEY_USERS\MyApp\Display\Fonts
値の名前
値の型
値
例
キーに属する値の名前です。キーは、名前のない値を1つ
と、複数の名前がある値を持つことができます。
レジストリの値のデータ型を示す値です。
値の名前に関連付けられた値または、名前のない値です。
レジストリでは、いくつかの文字列、数値、およびバイナ
リのデータ型がサポートされます。
次の例は、レジストリの Fonts キーと Title という名前の値に値を設定
します。
RegistrySet( &
"HKEY_LOCAL_MACHINE\Software\MyApp\Fonts", &
"Title", RegString!, sle_font.Text)
次の例は、レジストリの Fonts キーと NameOfEntryNum という名前の値
に値を設定します。
ulong ul_num
RegistrySet( &
"HKEY_USERS\MyApp.Settings\Fonts", &
"NameOfEntryNum", RegULong!, ul_num)
関連項目
962
RegistryDelete
RegistryGet
RegistryKeys
RegistryValues
PowerBuilder
第 10 章
PowerScript 関数
RegistryValues
機能
キーに関連付けられた名前のある値の一覧を取得します。
構文
RegistryValues ( key, valuename )
引数
key
valuename
説明
String 型の値。サブキーの値を取得するシステム レジスト
リのキーを指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
名前を格納する String 型の配列変数を指定します。
配列のサイズが可変の場合、要素数には検索された名前の
ある値の数が反映されます。
配列のサイズが固定の場合、すべての名前を格納するのに
十分な大きさが必要です。ただし、名前が実際にいくつ検
索されたかを知る方法はありません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次の例は、レジストリから Fonts キーに関連付けられている値の名前
を取得し、配列 ls_valuearray に格納します。
string ls_valuearray[]
RegistryValues( &
"HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts",&
ls_valuearray)
関連項目
RegistryDelete
RegistryGet
RegistryKeys
RegistrySet
PowerScript リファレンス ボリューム 2
963
RelativeDate
RelativeDate
機能
指定された日付から、指定された日数だけ前または後の日付を取得し
ます。
構文
RelativeDate ( date, n )
引数
date
n
説明
Date 型の値。日付を指定します。
Integer 型の値。日数を指定します。
戻り値
Date 型。n に指定されている値が 0 以上の場合は date の n 日後の日付
を返します。n が 0 未満の場合は date の n 日前の日付を返します。引
数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、2006-02-10 を返します。
RelativeDate(2006-01-31, 10)
次のステートメントは、2006-01-21 を返します。
RelativeDate(2006-01-31,
関連項目
- 10)
DaysAfter
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RelativeDate メソッド
RelativeTime
機能
ある時刻を起点とし、指定された秒数より前または後の時刻を 24 時間
未満の表記で返します。
構文
RelativeTime ( time, n )
引数
time
n
戻り値
964
説明
Time 型の値を指定します。
Long 型の値。秒数を指定します。
Time 型。n が正の数の場合は、time で指定された時刻から n 秒後の時
刻を返します。n が負の数の場合は、time で指定された時刻から n 秒
前の時刻を返します。戻り値の最大値は、23:59:59 になります。引数
のいずれかの値が null の場合、null を返します。
PowerBuilder
第 10 章
PowerScript 関数
解説
RelativeTime 以外の PowerBuilder のすべての関数は Windows API を使用
して日付と時間を処理するため、ほとんどの場合、夏時間(DST:
Daylight Savings Time)の処理はオペレーティング システムに依存しま
す。しかし、RelativeTime 関数は夏時間を考慮していないため、夏時間
を使用する地域では間違った時間を返す場合があります。
例
次のステートメントは、19:01:41 を返します。
RelativeTime(19:01:31, 10)
次のステートメントは、19:01:21 を返します。
RelativeTime(19:01:31,
関連項目
- 10)
SecondsAfter
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RelativeTime メソッド
ReleaseAutomationNativePointer
機能
GetAutomationNativePointer 関数で取得した OLE オブジェクトへのポイン
タを解放します。
対象
OLEObject
構文
oleobject.ReleaseAutomationNativePointer ( pointer )
引数
oleobject
pointer
説明
OLEObject 型の変数。解放するネイティブ ポインタが示す
オブジェクトが含まれる OLE オブジェクトを指定します。
UnsignedLong 型の変数。解放するポインタを指定します。
ReleaseAutomationNativePointer 関数は、指定した pointer
に 0 を設定し、ポインタを無効にします。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、IUnknown::QueryInterface
とともに使用します。
GetAutomationNativePointer 関数が呼び出されると、PowerBuilder は OLE
の AddRef 関数を呼び出してポインタをロックします。DLL 関数、また
は PowerBuilder スクリプトで ReleaseAutomationNativePointer 関数を使用
してポインタを解放する必要があります。
PowerScript リファレンス ボリューム 2
965
ReleaseNativePointer
例
例については、GetAutomationNativePointer 関数を参照してください。
関連項目
GetAutomationNativePointer
GetNativePointer
ReleaseNativePointer
ReleaseNativePointer
機能
GetNativePointer 関数で取得した OLE オブジェクトへのポインタを解放
します。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.ReleaseNativePointer ( pointer )
引数
olename
pointer
説明
解放するネイティブ ポインタが示すオブジェクトが含ま
れる OLE コントロールの名前を指定します。
UnsignedLong 型の変数。解放するポインタを指定します。
ReleaseNativePointer 関数は、指定した pointer に 0 を設定
し、ポインタを無効にします。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、IUnknown::QueryInterface
とともに使用します。
GetNativePointer 関数が呼び出されると、PowerBuilder は OLE の AddRef
関 数 を 呼 び 出 し て ポ イ ン タ を ロ ッ ク し ま す。DLL 関 数、ま た は
PowerBuilder スクリプトで ReleaseNativePointer 関数を使用してポイン
タを解放する必要があります。
例
例については、GetNativePointer 関数を参照してください。
関連項目
GetAutomationNativePointer
GetNativePointer
ReleaseAutomationNativePointer
966
PowerBuilder
第 10 章
PowerScript 関数
RemoveDirectory
機能
ディレクトリを削除します。
構文
RemoveDirectory ( directoryname )
引数
directoryname
戻り値
説明
削除するディレクトリの名前を表す文字列を指定します。
絶対パスを指定しない場合、現行の作業ディレクトリへの
相対パスを使用して削除されます。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
この関数の処理を成功させるには、ディレクトリが空であることが必
要です。また、現行ディレクトリを対象にすることはできません。
例
次の例は、現行ディレクトリからサブディレクトリを削除します。
string ls_path="my targets"
integer li_filenum
li_filenum = RemoveDirectory ( ls_path )
If li_filename <> 1 then
MessageBox(" ディレクトリの削除に失敗しました ", &
+ " ディレクトリが存在していること、ディレクトリが空でないこ
と" &
+ " 現行ディレクトリでないことを確認してください ")
else
MessageBox (" 成功 ", " ディレクトリ " + ls_path + &
" を削除しました ")
end if
関連項目
DirectoryExists
GetCurrentDirectory
Repair
機能
パイプライン ユーザ オブジェクトのエラー データウィンドウで修正
された内容によって、目的のデータベースを更新します。
対象
パイプライン オブジェクト
構文
pipelineobject.Repair ( destinationtrans )
PowerScript リファレンス ボリューム 2
967
Repair
引数
pipelineobject
destinationtrans
戻り値
説明
実行されているパイプライン オブジェクトを含むパイプ
ライン ユーザ オブジェクトの名前を指定します。
転送先のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
負の値を返します。エラーが発生した場合、次のいずれかの値を返し
ます。
-5 接続がありません。
-9 転送先に致命的な SQL エラーがあります。
-10 エラーの最大数を超えました。
-11 ウィンドウ ハンドルが正しくありません。
-12 テーブル構文に誤りがあります。
-15 パイプはすでに進行中です。
-17 転送先のデータベースにエラーがあります。
-18 転送先のデータベースは読み出し専用です。
引数のいずれかの値が null の場合、null を返します。
解説
パイプライン データの転送中にエラーが発生すると、Start 関数はパイ
プライン エラー用のデータウィンドウ コントロールにそのエラーが
発生した行を表示します。そのときにエンド ユーザやスクリプトに
よって、データを修正することができます。Repair 関数は、通常コマ
ンドボタンと連携しており、エンド ユーザはパイプライン エラー用の
データウィンドウのデータを訂正してから、これをクリックします。
再びエラーが発生した場合は、エラーが発生した行はパイプライン エ
ラー用のデータウィンドウに残ります。エンド ユーザは再度データを
修正して Repair 関数を呼ぶボタンをクリックします。
例
次のステートメントは、トランザクションのインスタンス変数 i_dst を
使用して転送先のデータベースに接続した後、パイプライン i_pipe に
対するパイプライン エラー用のデータウィンドウで行われた修正内
容でデータベースを更新します。
i_pipe.Repair(i_dst)
関連項目
968
Cancel
Repair
Start
PowerBuilder
第 10 章
PowerScript 関数
Replace
機能
文字列の指定した文字位置から、指定した文字数をほかの文字列で置
換した文字列を返します。
構文
Replace ( string1, start, n, string2 )
引数
string1
start
n
string2
説明
string2 で置き換えられる文字列を含む文字列を指定しま
す。
Long 型の値。置き換えられる文字列の最初の文字の位置
を指定します。文字列の先頭は 1 です。
Long 型の値。置き換えられる文字列の文字数を指定します。
string1 の中の文字列と置き換えられる文字列を指定しま
す。string2 の文字数は、string1 の中の置き換えられる文字
数以上でも、文字数以下でも構いません。
戻り値
String 型。正常に終了した場合、一部または全部が置き換えられた文字
列を返します。エラーが発生した場合、空の文字列("")を返します。
引数のいずれかの値が null の場合、null を返します。
解説
Replace 関数は、文字位置や文字数を数えて string2 を string1 で置き換
えます。start 位置が string1 の文字数を越えている場合は、string2 を
string1 に追加します。start 位置から末尾までの文字数が n よりも小さ
い場合は、start 位置から末尾までのすべての文字を置き換えます。
n が 0 の場合は、string2 を string1 に挿入します。
例
次のステートメントは、Name の値を Davis から Dave に置換します。
string Name
Name = "Davis"
Name = Replace(Name, 4, 2, "e")
次のステートメントは、"BABY RUTH" を返します。
Replace("BABE RUTH", 1, 4, "BABY")
次のステートメントは、"Closed for the Winter" を返します。
Replace("Closed for Vacation", 12, 8, "the Winter")
次のステートメントは、"ABZZZZEF" を返します。
Replace("ABCDEF", 3, 2, "ZZZZ")
次のステートメントは、"ABZZZZ" を返します。
Replace("ABCDEF", 3, 50, "ZZZZ")
次のステートメントは、"ABCDEFZZZZ" を返します。
PowerScript リファレンス ボリューム 2
969
ReplaceA
Replace("ABCDEF", 50, 3, "ZZZZ")
次のステートメントは、文字列 mystring に含まれる red をすべて green
に置換します。元の文字列はシングルライン エディット コントロール
sle_1 から取得されます。置換された結果、sle_1 は新しいテキストにな
ります。
long start_pos=1
string old_str, new_str, mystring
mystring = sle_1.Text
old_str = "red"
new_str = "green"
// old_str の最初の位置を取得します。
start_pos = Pos(mystring, old_str, start_pos)
// old_str を見つけた場合、ループに入ります。
DO WHILE start_pos > 0
// old_str を new_str に置き換えます。
mystring = Replace(mystring, start_pos, &
Len(old_str), new_str)
// 次の old_str の 位置を取得します。
start_pos = Pos(mystring, old_str, &
start_pos+Len(new_str))
LOOP
sle_1.Text = mystring
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Replace メソッド
ReplaceA
機能
現行のロケールに基づいて文字列を DBCS に一時的に変換し、文字列
の一部をほかの文字列と置き換えます。
構文
ReplaceA (string1, start, n, string2)
引数
string1
970
説明
string2 で置き換えられる文字列を含む文字列を指定しま
す。
PowerBuilder
第 10 章
引数
start
n
string2
PowerScript 関数
説明
Long 型の値。置き換えられる文字列 string1 の最初の文字
の位置をバイトで指定します。
Long 型の値。string1 の中で置き換えられるバイト数を指
定します。
string1 の中の文字列と置き換えられる文字列を指定しま
す。string2 の文字数は、string1 の中の置き換えられる文字
数以上でも、文字数以下でも構いません。
戻り値
String 型。正常に終了した場合、一部または全部が置き換えられた文字
列を返します。エラーが発生した場合、空の文字列("")を返します。
引数のいずれかの値が null の場合、null を返します。
解説
ReplaceA 関数は、PowerBuilder 9 の Replace が DBCS 環境で提供してい
た機能に代わるものです。ReplaceA 関数は、バイト数を基準にして文
字列を置き換えます。一方、Replace 関数は、SBCS と DBCS の両方の
環境で、文字数を基準にして文字列を置き換えます。ReplaceA 関数で
は、置き換えられる文字列の開始位置をバイト数で指定し、Replace 関
数は文字数で指定します。
SBCS 環境の場合、Replace 関数、ReplaceW 関数、ReplaceA 関数は同じ
結果を返します。
ReplaceText
機能
編集可能なコントロールの中で選択されたテキストを、指定された文
字列で置き換えます。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、リッチテキスト エ
ディット コントロール、ドロップダウン リストボックス コントロー
ル、ドロップダウン ピクチャ リストボックス コントロール
構文
editname.ReplaceText (string )
PowerScript リファレンス ボリューム 2
971
ReplaceText
引数
editname
string
戻り値
説明
選択された文字列の置き換えを行うデータウィンドウ、エ
ディットマスク、インクエディット、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。
データウィンドウ コントロールでは、エディット コント
ロール中の現行の行のカラムに関するテキストが置換さ
れます。
選択されたテキストの置換に使用する文字列を指定します。
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
インクエディットでは正常に終了した場合は 1 を返し、エラーが発生
した場合は -1 を返します。ほかのコントロールでは、正常に終了した
場合は string の文字数を示す整数を返し、エラーが発生した場合は -1
を返します。引数のいずれかの値が null の場合、null を返します。
解説
テキストが選択されていない場合には、ReplaceText 関数は置換テキス
トをカーソル位置に挿入します。
リッチテキスト エディット コントロールでは、ピクチャを選択するこ
ともできます。
テキスト置換のそのほかの方法
クリップボードの内容を置換テキストとして使用する場合、ReplaceText
関数のかわりに Paste 関数を使用します。
コントロール中のテキストではなく文字列のテキストを置換するに
は、Replace 関数を使用します。
例
マルチライン エディット コントロール mle_Comment に Offer Good for 3
Months というテキストが含まれていて、3Months が選択されているとしま
す。次のステートメントは、3Months を 60 Days に置換し、7 を返します。
置換された結果、mle_Comment の値は Offer Good for 60 Days となります。
mle_Comment.ReplaceText("60 Days")
テキストが選択されていない場合、次のステートメントはシングルラ
イ ン エ デ ィ ッ ト コ ン ト ロ ー ル sle_Comment3 内 の カ ー ソ ル 位 置 に
"Draft" という文字列を挿入します。
sle_Comment3.ReplaceText("Draft")
972
PowerBuilder
第 10 章
関連項目
PowerScript 関数
Copy
Cut
Paste
ReplaceW
機能
文字列の指定した文字位置から、指定した文字数をほかの文字列で置
換した文字列を返します。この関数は、サポートされなくなります。
動作は、すべての環境で Replace 関数と同じです。
構文
ReplaceW ( string1, start, n, string2 )
Reset
データをコントロールまたはオブジェクトから消去します。使用する
構文は、消去するオブジェクトによって異なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「Reset メソッド」を参照してください。
目的
リストからすべての項目を削除する
グラフから、すべてのデータ(およびオプションで、デー
タ系列と項目)を削除する
トレース ファイルの最初に戻る
使用する構文
構文 1
構文 2
構文 3
構文 1
リストボックスのデータを消去する
機能
リストからすべての項目を削除します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.Reset ( )
PowerScript リファレンス ボリューム 2
973
Reset
引数
listboxname
説明
リストボックス コントロールの名前。すべての項目を削除
するコントロールを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。listboxname が null の場合、null を返します。通常、戻り
値は使用されません。
例
次のステートメントは、リストボックス コントロール ddlb_Actions の
すべての項目を削除します。
ddlb_Actions.Reset()
関連項目
DeleteItem
構文 2
グラフのデータを消去する
機能
グラフからデータ、項目、およびデータ系列を削除します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ、外部にデータ
ソースのあるデータウィンドウ オブジェクト上のグラフ
データウィンドウ オブジェクト上のグラフを対象とすることはでき
ません。これは、データウィンドウ オブジェクト上のグラフでは、デー
タウィンドウから直接データが取得されるからです。
構文
controlname.Reset ( graphresettype )
引数
controlname
graphresettype
説明
グラフ オブジェクトの名前を指定します。指定されたグラ
フ オブジェクト上のすべてのデータ値、またはすべての
データ系列とすべてのデータ値を削除します。
grResetType カタログデータ型の値。データ値だけを削除
するのか、すべてのデータ系列とすべてのデータ値を削除
するのかを指定します。次のいずれかの値を指定します。
• All! - controlname 内のすべてのデータ系列、項目、お
よびデータ
• Category! - controlname 内の項目とデータ
• Data! - controlname 内のデータ
• Series! - controlname 内のデータ系列とデータ
戻り値
974
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。通
常、戻り値は使用されません。
PowerBuilder
第 10 章
PowerScript 関数
解説
グラフに新しいデータを追加する前に、グラフから既存のデータを消
去する場合、この関数を使用します。
例
次のステートメントは、グラフ gr_product_data のデータ系列とデータ
を削除しますが、項目は削除せずに残します。
gr_product_data.Reset(Series!)
関連項目
AddData
AddSeries
構文 3
トレース ファイルの最初に戻る
機能
トレース ファイルの内容をもう一度読み直せるように、ファイルの最
初に戻ります。
対象
TraceFile オブジェクト
構文
instancename.Reset ( )
引数
instancename
戻り値
説明
TraceFile オブジェクトのインスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileNotOpenError! - 指定されたトレース ファイルは、開かれてい
ません。
解説
開いているトレース ファイルの最初に戻って、ファイルの内容をもう
一度読み直したい場合に、この関数を使用します。Reset 関数を使用す
る前に、Open 関数を使ってトレース ファイルを開いておく必要があり
ます。Reset 関数と Open 関数とともに、TraceFile オブジェクトが提供
するほかのプロパティおよび関数を使うと、トレース ファイルの内容
に直接アクセスできます。たとえば、既存の解析モデル化オブジェク
トを使わずに、トレース データを独自の方法で解析したい場合には、
これらの関数を使用します。
例
以下の例では、エンド ユーザが ltf_file ファイルの内容をもう一度読め
るように、ファイルの位置を最初に戻します。
TraceFile ltf_file
string ls_filename
ltf_file = CREATE TraceFile
ltf_file.Open(ls_filename)
...
PowerScript リファレンス ボリューム 2
975
ResetArgElements
ltf_file.Reset(ls_filename)
...
関連項目
Open
NextActivity
Close
ResetArgElements
機能
引数リストをクリアします。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.ResetArgElements ( )
引数
activexcontrol
戻り値
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、これはオブジェク
ト要素の NAME 属性です。そのほかの環境で使用する場
合には、これは PowerBuilder ウィンドウ ActiveX を含むコ
ントロールを参照します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
この関数を呼び出して引数リストをクリアする前に、InvokePBFunction
関数または TriggerPBEvent 関数を呼び出す必要があります。
SetArgElement 関数を使って引数リストに値を設定する場合は、
InvokePBFunction 関数または TriggerPBEvent 関数を使って引数付きでイ
ベントまたは関数を呼び出した後、この関数を使って引数をクリアし
ておく必要があります。
例
次の JavaScript の例は、ResetArgElements 関数を呼び出します。
...
retcd = PBRX1.TriggerPBEvent(theEvent, numargs);
rc = parseInt(PBRX1.GetLastReturn());
IF (rc != 1) {
alert(" エラー。空の文字列です。");
}
PBRX1.ResetArgElements();
...
976
PowerBuilder
第 10 章
PowerScript 関数
次に、VBScript で ResetArgElements 関数を呼び出す例を示します。
...
retcd = PBRX1.TriggerPBEvent(theEvent, numargs)
rc = PBRX1.GetLastReturn()
IF rc <> 1 THEN
msgbox " エラー。空の文字列です。"
END IF
PBRX1.ResetArgElements()
...
関連項目
GetLastReturn
InvokePBFunction
SetArgElement
TriggerPBEvent
ResetDataColors
機能
指定されたデータ ポイントの色をデータ系列の標準の色に戻します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.ResetDataColors ( { graphcontrol, } seriesnumber,
datapointnumber )
引数
controlname
graphcontrol
(データウィンド
ウ コントロールの
み)
seriesnumber
datapointnumber
戻り値
説明
特定のデータ ポイントの色をリセットするグラフ コ
ントロールの名前、またはそのグラフがあるデータ
ウィンドウ コントロールの名前を指定します。
(オプション)色を再設定するデータウィンドウ コント
ロール内のグラフ名を表す文字列を指定します。
特定のデータ ポイントの色をリセットするデータ系列
の番号を指定します。
色をリセットするデータ ポイントの番号を指定しま
す。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
977
ResetInk
データ ポイントに対する標準の色
データ系列の色を設定するには、SetSeriesStyle 関数を使用します。デー
タ系列に設定した色は、そのデータ系列内のすべてのデータ ポイント
に対する標準の色になります。
例
次のステートメントは、グラフ gr_product_data の Costs という名前の
データ系列にあるデータ ポイント 10 の色を、データ系列と同じ色に
変更します。
SeriesNbr = gr_product_data.FinSeries("Costs")
gr_product_data.ResetDataColors(SeriesNbr, 10)
次のステートメントは、データウィンドウ コントロール dw_equip 内の
グラフ gr_comps の Costs という名前のデータ系列にあるデータ ポイン
ト 10 の色を、データ系列と同じ色に変更します。
SeriesNbr = dw_equipment.FindSeries("Costs")
dw_equip.ResetDataColors("gr_comps", SeriesNbr, 10)
関連項目
GetDataStyle
SeriesName
GetSeriesStyle
SetDataStyle
SetSeriesStyle
ResetInk
機能
インクピクチャ コントロールからインクを消去します。
対象
インクピクチャ コントロール
構文
inkpicname.ResetInk ( )
引数
inkpicname
説明
インクを消去したいインクピクチャ コントロールの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ResetInk 関数を使用して、インクピクチャ コントロールからインクを
消去します。
978
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、インクピクチャ コントロールからインクを消去します。
ip_1.ResetInk()
関連項目
LoadInk
LoadPicture
ResetPicture
SaveInk
Save
ResetPicture
機能
インクピクチャ コントロールからピクチャを消去します。
対象
インクピクチャ コントロール
構文
inkpicname.ResetPicture ( )
引数
inkpicname
説明
ピクチャを消去したいインクピクチャ コントロールの名前
を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ResetPicture 関数を使用して、インクピクチャ コントロールからイメー
ジを消去します。
例
次の例は、インクピクチャ コントロールからイメージを消去します 。
ip_1.ResetPicture()
関連項目
LoadInk
LoadPicture
ResetInk
SaveInk
Save
PowerScript リファレンス ボリューム 2
979
Resize
Resize
機能
Width プロパティと Height プロパティを設定することによって、オブ
ジェクトまたはコントロールのサイズを変更し、オブジェクトを再描
画します。
対象
子データウィンドウ以外のオブジェクト
構文
objectname.Resize ( width, height )
引数
objectname
width
height
説明
サイズを変更するオブジェクトまたはコントロールの名
前を指定します。
新しい幅を PowerBuilder 単位系の値で指定します。
新しい高さを PowerBuilder 単位系の値で指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返します。エラーが発生した場
合、または objectname が最小化または最大化されたウィンドウの場合
には、-1 を返します。引数のいずれかの値が null の場合、null を返しま
す。
解説
子データウィンドウには、Resize 関数を使用できません。
Resize 関数は最小化または最大化されたシートやウィンドウのサイズ
を変更することはできません。ウィンドウが最小化または最大化され
ている場合、-1 を返します。
次に示すように、Resize 関数を呼び出すかわりに、オブ
ジェクトの Width プロパティと Height プロパティを設定することがで
きます。次の 2 つのステートメントを実行すると、PowerBuilder は
objectname が表すオブジェクトを 2 回再描画します。つまり、1 回目は
新しい幅を使用して描き、2 回目は新しい幅と高さを使用して描きま
す。
別の記述方法
objectname.Width = width
objectname.Height = height
最初の 2 つのステートメントは、gb_box1 を 2 回再描画していますが、
これは 3 番目のステートメントと同じ結果になります。
gb_box1.Width = 100 // gb_box1 の高さと幅を
gb_box1.Height = 150 // 100 x 150 に変更します。
gb_box1.Resize(100, 150)// このステートメントは、上の 2 つと
同じ結果になります。
例
980
次のステートメントは、gb_box1 の Width プロパティと Height プロパ
ティを設定し、新しいプロパティで gb_box1 を再描画します。
PowerBuilder
第 10 章
PowerScript 関数
gb_box1.Resize(100, 150)
次のステートメントは、ピクチャ コントロール p_1 の幅と高さを 2 倍
にします。
p_1.Resize(p_1.Width*2, p_1.Height*2)
Resolve_Initial_References
機能
CORBA ネーミング サービス API を使って、EAServer コンポーネント
の最初のネーム コンテキストを取得します。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
JaguarORB オブジェクト
構文
jaguarorb.Resolve_Initial_References ( objstring, object )
引数
jaguarorb
objstring
object
戻り値
説明
JaguarORB のインスタンスを指定します。
「NameService」という値の文字列を指定します。
COS ネーミング サービスへの参照を格納する
CORBAObject 型の参照変数を指定します。
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
Jaguar ネーミング サービス API にアクセスしたい場合は、
Resolve_Initial_References 関数を使用して、最初のネーム コンテキスト
を取得します。しかし、この方法を使用することはお勧めできません。
非難されることの多い SessionManager::Factory の create メソッドを使
用する必要があるためです。大部分の PowerBuilder クライアントでは、
CORBA ネーミング サービスを明示的に使用する必要はありません。
そのかわりに、接続オブジェクトの CreateInstance メソッドや Lookup メ
ソッドを使って EAServer コンポーネントを作成するときに自動的に
実行される名前解決を利用できます。
また、CORBA ネーミング サービスを明示的に使用しなくても、JaguarORB
オブジェクトの String_To_Object メソッドを使用してプロキシ インス
タンスをインスタンス化することができます。JaguarORB オブジェク
トを使用して EAServer に接続する方法についての詳細は、『アプリ
ケーション テクニック』マニュアルを参照してください。
PowerScript リファレンス ボリューム 2
981
Resolve_Initial_References
CORBA ネーミングサービスを使用する場合は、ネーミング サービス
インタフェースに対するプロキシを生成し、これらのプロキシをクラ
イアントのライブラリ リストに含める必要があります。
例
次の例は、Resolve_Initial_References 関数を使って、最初のネーム コン
テキストを取得します。ネーム コンテキストを取得した後、ネーム コ
ンテキストの resolve メソッドを使用してコンポーネントの Factory オ
ブジェクトへの参照を得ます。そして、その参照を SessionManager の
Factory インタフェースに限定します。
resolve メソッドは、NameComponent 構造体のシーケンスである名前の
パラメータをとります。各 NameComponent 構造体には、コンポーネン
トを識別する id 属性と、コンポーネントを記述するための kind 属性が
あります。次の例では、名前が持つコンポーネントは 1 つだけです。
Factory オブジェクトの create メソッドは、コンポーネントのプロキシ
を取得します。そして、CORBA オブジェクトの参照を返します。こ
の参照は、_Narrow メソッドを使用することでコンポーネントのインタ
フェースへの参照に変換できます。
次 の 例 で 使 用 す る NamingContext と NameComponent の デ ー タ 型 は
EAServer の CosNaming パッケージからインポートしたプロキシであ
り、Factory データ型は SessionManager パッケージからインポートしま
した。
CORBAObject my_corbaobj
JaguarORB my_orb
NamingContext my_nc
NameComponent the_name[]
Factory my_Factory
n_jagcomp my_jagcomp
my_orb = CREATE JaguarORB
// URL 名を単引用符で囲みます。
my_orb.init("ORBNameServiceURL='iiop://server1:2000'")
my_orb.Resolve_Initial_References("NameService", &
my_corbaobj)
my_corbaobj._narrow(my_nc, &
"omg.org/CosNaming/NamingContext")
the_name[1].id = "mypackage/n_jagcomp"
the_name[1].kind = ""
TRY
my_corbaobj = my_nc.resolve(the_name)
my_corbaobj._narrow(my_Factory, &
982
PowerBuilder
第 10 章
PowerScript 関数
"SessionManager/Factory")
my_corbaobj = my_Factory.create("jagadmin","")
my_corbaobj._narrow(my_jagcomp, &
"mypackage/n_jagcomp")
CATCH (Exception e)
MessageBox(" 例外が発生しました ", e.getMessage())
END TRY
my_jagcomp.getdata()
関連項目
Init
_Narrow
String_To_Object
RespondRemote
機能
リモートの DDE アプリケーションから受信したコマンドやデータが
受け入れられたかどうかを示す DDE メッセージを送信します。
構文
RespondRemote ( boolean )
引数
boolean
戻り値
説明
Boolean 型の値を指定します。true は直前に受信したコマ
ンドまたはデータが受け入れられたことを示し、false は受
け入れられなかったことを示します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、不正な状況で関数が呼び出された場合)、-1 を返します。
boolean が null の場合、null を返します。
解説
RespondRemote 関数は、PowerBuilder アプリケーションが DDE サーバ
アプリケーション、または DDE クライアント アプリケーションの場
合にだけ使用できます。
通常、次の関数の後に RespondRemote 関数を呼び出します。
GetCommandDDE
GetCommandDDEOrigin
GetDataDDE
GetDataDDEOrigin
クライアントとして機能する PowerBuilder アプリケーションについて
の詳細は、
「OpenChannel 関数」および「ExecRemote 関数」を参照して
ください。サーバとして機能する PowerBuilder アプリケーションにつ
いての詳細は、「StartServerDDE 関数」を参照してください。
PowerScript リファレンス ボリューム 2
983
Restart
例
次の例は、HotLinkAlarm イベントに対するスクリプトです。"Gateway"
という名前のリモート アプリケーションに対し、データの受信が成功
したことを通知します。
String Applname, Topic, Item, Value
GetDataDDEOrigin(Applname, Topic, Item)
IF Applname = "Gateway" THEN
IF GetDataDDE(Value) = 1 THEN
RespondRemote(TRUE)
END IF
END IF
関連項目
GetCommandDDE
GetCommandDDEOrigin
GetDataDDE
GetDataDDEOrigin
Restart
機能
すべてのスクリプトの実行を停止し、すべてのウィンドウを閉じ(た
だし、アプリケーションの Close イベントに対するスクリプトは実行
しない)、データベースをコミットしてから、接続を解除します。その
後、アプリケーションを再起動し、アプリケーションの Open イベン
トに対するスクリプトを実行します。
構文
Restart ( )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。通常、戻り値は使用されません。
解説
アプリケーションの Idle イベントに対するスクリプト内で Restart 関数
を使用して、アプリケーションに対してエンド ユーザが一定時間何も
実行していない場合などにアプリケーションを再起動することができ
ます。
例
アプリケーションの Idle イベントに対するスクリプトの中で、次のス
テートメントはアプリケーションを再起動します。
Restart()
関連項目
984
HALT on page 143
PowerBuilder
第 10 章
PowerScript 関数
ResumeTransaction
機能
引数として渡された EAServer トランザクションを呼び出し元のスレッ
ドに関連付けます。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.ResumeTransaction ( handletrans )
引数
CORBACurrent
handletrans
戻り値
解説
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
UnsignedLong 型の値。中断したトランザクションのハン
ドルを指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
不明なエラーです。
-2
handletrans の示すトランザクションが既に有効ではありません。
ResumeTransaction 関数は、handletrans 引数で指定されたトランザク
ションと、呼び出し元のスレッドを関連付けます。
この引数は、SuspendTransaction の呼び出し時に取得したものです。現
行のスレッドあるいは同じ実行環境内の異なるスレッドに以前に関連
付けたことのあるトランザクションでもかまいません。
注意
handletrans 引数は、SuspendTransaction 関数から取得する必要がありま
す。ResumeTransaction の引数としてそのほかの値を使用すると、予期
できない結果に終わる可能性があります。
ResumeTransaction は、OTS スタイルのマークが付いているクライアン
トまたはコンポーネントで呼び出せます。EAServer は、2 フェーズ コ
ミット トランザクション コーディネータ(OTS/XA)を使用している
ことが必要です。
例
この例では、ResumeTransaction 関数を使用することで、
SuspendTransaction によって返された ll_handle 引数のトランザクション
と、呼び出し元のスレッドを関連付けています。
// インスタンス変数 :
// CORBACurrent corbcurr
integer li_rc
unsignedlong ll_handle
PowerScript リファレンス ボリューム 2
985
Reverse
li_rc = this.GetContextService("CORBACurrent", &
corbcurr)
li_rc = corbcurr.Init()
li_rc = corbcurr.BeginTransaction()
// 何らかのトランザクション処理を実行します。
ll_handle = corbcurr.SuspendTransaction()
// 何らかの非トランザクション処理を実行します。
li_rc = corbcurr.ResumeTransaction(ll_handle)
// さらに、何らかのトランザクション処理を実行します。
li_rc = corbcurr.CommitTransaction()
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
Reverse
機能
指定された文字列の文字の順序を逆にします。
構文
Reverse ( string )
引数
string
説明
末尾の文字が先頭文字になり、先頭文字が末尾の文字にな
るように、文字を並べ替える文字列を指定します。
戻り値
String 型。string に指定された文字列の文字の順序を逆にし、その結果
の文字列を返します。エラーが発生した場合、空の文字列("")を返
します。
解説
Reverse 関数は、IsArabic 関数と IsHebrew 関数とともに使用すると便利
です。たとえば、RightToLeft 対応(右から左に文字を書く言語を使用
する国に対応)の PowerBuilder と Windows で RightToLeft 文字(ヘブ
ライ語、アラビア語などの右から左に文字を書く言語の文字)を表示
する場合に使用します。
986
PowerBuilder
第 10 章
例
PowerScript 関数
RightToLeft 対応の Windows では、このステートメントは sle_name に
入力された文字の順序を逆にし、その結果の文字列を返します。
string ls_name
ls_name = Reverse(sle_name.Text)
関連項目
IsArabic
IsHebrew
RevertToSelf
機能
COM+ 上で動作し、クライアントに同一化している COM オブジェク
トのセキュリティ属性を復元します。
対象
TransactionServer オブジェクト
構文
transactionserver.RevertToSelf ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
COM+ 上で動作する COM オブジェクトは、ImpersonateClient 関数を
使って、クライアントのセキュリティ コンテキストで実行することが
できます。これによって、サーバ プロセスがクライアントと同じリ
ソースにアクセスできるようになります。RevertToSelf 関数は、このオ
ブジェクトのセキュリティ コンテキストを復元するのに使用します。
例
次の例では、まず TransactionServer サービスのインスタンスを作成し、
COM オブジェクトが現在クライアントのセキュリティ コンテキスト
で実行されているかどうかをチェックします。クライアントのセキュ
リティ コンテキストで実行されていれば、このオブジェクトのセキュ
リティ コンテキストに戻します。
TransactionServer txninfo_test
integer li_rc
li_rc = GetContextService( "TransactionServer",
txninfo_test )
IF txninfo_test.IsImpersonating() THEN &
txninfo_test.RevertToSelf()
PowerScript リファレンス ボリューム 2
&
987
RGB
関連項目
ImpersonateClient
IsCallerInRole
IsImpersonating
IsSecurityEnabled
RGB
機能
色の構成要素である赤、緑、青の数値によって指定された色を表す
Long 型の値を計算します。
構文
RGB ( red, green, blue )
引数
red
green
blue
戻り値
説明
Integer 型の値。指定する色に含まれる赤の量を指定します。
Integer 型の値。指定する色に含まれる緑の量を指定します。
Integer 型の値。指定する色に含まれる青の量を指定します。
Long 型。正常に終了した場合、指定された red、green、blue の各値を
組み合わせて作成した色を表す Long 型の値を返します。エラーが発生
した場合、-1 を返します。また、引数のいずれかの値が null の場合は
null を返します。
解説
色を表す Long 型の値を、赤、緑、および青の値から求める計算式は、
次のとおりです。
65536 * Blue+ 256 * Green+ Red
RGB 関数は、テキストまたは描画オブジェクトの色の設定に必要な
Long 型の値を取得するために使用します。オブジェクトの色には、色
を表す Long 型の値を設定する必要があります。RGB 関数を使用する
と、色を表す Long 型の値を簡単に計算できます。
988
PowerBuilder
第 10 章
PowerScript 関数
色の値について
色の構成要素の値は、目的の色を作成するために必要とされる色の量
を表す 0 ~ 255 の整数です。値を低くすると色は暗くなり、値を高く
すると色は明るくなります。
色の構成要素の値(RGB 値)を測定するには、色の設定 ダイアログ
ボックスを使用します。色の設定 ダイアログボックスにアクセスする
には、ワークスペース最下部のカラーバーの色を選択し、カラーバー
のボックス中で最初に表示される選択されている色をダブルクリック
します。
次の表は、標準の 16 色に対応する赤、緑、および青の値をまとめたも
のです。
表 0-9: RGB として使用される赤、緑、青の値
色
黒色
白色
薄い灰色
濃い灰色
赤色
濃い赤色
緑色
濃い緑色
青色
濃い青色
赤紫色
濃い赤紫色
シアン色
濃いシアン色
黄色
茶色
例
赤の値
0
255
192
128
255
128
0
0
0
0
255
128
0
0
255
128
緑の値
0
255
192
128
0
0
255
128
0
0
0
0
255
128
255
128
青の値
0
255
192
128
0
0
0
0
255
128
255
128
255
128
0
0
次のステートメントは、黒を表す Long 型の値を返します。
RGB(0, 0, 0)
次のステートメントは、白を表す Long 型の値を返します。
RGB(255, 255, 255)
PowerScript リファレンス ボリューム 2
989
Right
次のステートメントは、スタティックテキスト コントロール st_title の
色属性を濃いマゼンタの背景と緑色の文字に設定します。
st_title.TextColor = RGB(0, 255, 0)
st_title.BackColor = RGB(128, 0, 128)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RGB メソッド
Right
機能
文字列の右端から、指定された文字数分の文字列を返します。
構文
Right ( string, n )
引数
string
n
戻り値
説明
取得する文字列を含む文字列を指定します。
Long 型の値。string の右端から取得する文字列の文字数を
指定します。
String 型。正常に終了した場合、string に指定された文字列の右端から
n 文字分の文字列を返します。エラーが発生した場合、空の文字列("")
を返します。引数のいずれかの値が null の場合、null を返します。n が
文字列の長さ以上の場合、Right 関数はすべての文字列を返します。た
だし、戻り値の文字数を n と同じにするために、スペースを追加する
ことはありません。
例
次の例は、"RUTH" を返します。
Right("BABE RUTH", 4)
次のステートメントは、"BABE RUTH" を返します。
Right("BABE RUTH", 75)
関連項目
990
Left
Mid
Pos
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Right メソッド
PowerBuilder
第 10 章
PowerScript 関数
RightA
機能
現行のロケールに基づいて文字列を Unicode から DBCS に一時的に変
換し、文字列の端から、指定したバイト数を返します。
構文
RightA (string, n)
引数
string
n
戻り値
説明
検索する文字列を指定します。
Long 型の値。string の右端から取得する文字列のバイト数
を指定します。
String 型。正常に終了した場合、string に指定された文字列の右端から
n バイト分の文字列を返します。エラーが発生した場合、空の文字列
(“”)を返します。引数のいずれかの値が null の場合、null を返します。
n が文字列の長さ以上の場合、RightA 関数はすべての文字列を返しま
す。ただし、戻り値の文字数を n と同じにするために、スペースを追
加することはありません。
解説
RightA 関数は、PowerBuilder 9 の Right 関数が DBCS 環境で提供してい
た機能に代わるものです。
SBCS 環境の場合、Right 関数、RightW 関数、RightA 関数は同じ結果を
返します。
RightC
機能
文字列の右端から、指定されたバイト数の文字列を取り出して返しま
す。この関数は、サポートされなくなります。
構文
RightC ( string, n )
RightW
機能
文字列の右端から、指定された文字数分の文字列を返します。この関
数は、サポートされなくなります。動作は、すべての環境で Right 関数
と同じです。
構文
RightW ( string, n )
PowerScript リファレンス ボリューム 2
991
RightTrim
RightTrim
機能
文字列の右端からスペースを削除します。
構文
RightTrim ( string {, removeallspaces } )
引数
string
removeallspaces
戻り値
説明
右端からスペースを削除する文字列を指定します。
Boolean 型の値。全種類のスペースの削除を指定します。
String 型。正常に終了した場合は、string の右端からスペースを削除し、
その結果の文字列を返します。エラーが発生した場合、空の文字列("")
を返します。引数のいずれかの値が null の場合、null を返します。
解説
オプションの removeallspaces 引数を指定しないか、またはこの引数の
値 に false を 設 定 し た 場 合、文 字 列 か ら ス ペ ー ス 文 字(U+0020 と
U+3000)のみが除去されます。
removeallspaces 引数に true を設定した場合、全種類のスペース文字が
除去されます。スペース文字のリストについては、LeftTrim を参照して
ください。
例
次のステートメントは、右端のスペースがすべてスペース文字の場合
に RUTH を返します。
RightTrim("RUTH ")
次のステートメントは、右端のスペースにほかの種類の空白スペース
文字が含まれている場合に RUTH を返します。
RightTrim("RUTH ", true)
関連項目
LeftTrim
Trim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RightTrim メソッド
RightTrimW
機能
文字列の右端からスペースを削除します。この関数は、将来サポート
されなくなります。動作は、すべての環境で RightTrim 関数と同じです。
構文
RightTrimW ( string )
992
PowerBuilder
第 10 章
PowerScript 関数
RollbackOnly
機能
トランザクションのロールバックが唯一発生しうる結果になるように、
呼び出し元のスレッドに関連する EAServer トランザクションを修正
します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.RollbackOnly ( )
引数
CORBACurrent
戻り値
解説
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
理由の不明なエラーで失敗しました。
-2
呼び出し元のスレッドにトランザクションが関連付けられていま
せん。
RollbackTransaction 関数は一般に、トランザクションの作成元のスレッ
ドから呼び出されます。クライアント トランザクションまたは OTS ス
タイルのトランザクション内の別の参加スレッドが、トランザクショ
ンのロールバックを実行するために RollbackOnly 関数を呼び出すこと
もできます。
RollbackOnly 関数は、OTS スタイルのマークが付いているクライアント
またはコンポーネントで呼び出せます。EAServer は、2 フェーズ コ
ミット トランザクション コーディネータ(OTS/XA)を使用している
ことが必要です。
例
次の例では、トランザクション内のある参加スレッドがトランザク
ションをロールバックすることに決定しました。参加スレッドは、
CORBACurrent サービス オブジェクトのインスタンスを作成して初期
化し、トランザクションをロールバックすることを実行します。
// インスタンス変数 :
// CORBACurrent corbcurr
int li_rc
li_rc = this.GetContextService("CORBACurrent", &
corbcurr)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
li_rc = corbcurr.Init()
PowerScript リファレンス ボリューム 2
993
RollbackTransaction
IF li_rc <> 0 THEN
// エラーを処理します。
ELSE
corbcurr.RollbackOnly()
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackTransaction
SetTimeout
SuspendTransaction
RollbackTransaction
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションをロールバックします。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.RollbackTransaction ( )
引数
CORBACurrent
戻り値
994
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
理由の不明なエラーで失敗しました。
-2
呼び出し元のスレッドにトランザクションが関連付けられていま
せん。
-3
呼び出し元のスレッドがトランザクションをコミットする権限を
持ちません。
-4
HeuristicCommit 例外が発生しました。
PowerBuilder
第 10 章
解説
PowerScript 関数
RollbackTransaction 関数は、呼び出し元のスレッドに関連付けられてい
るトランザクションをロールバックします。HeuristicCommit 例外が発
生した場合、RollbackTransaction 関数の呼び出しは失敗します。通信エ
ラーが発生した場合など、正常な処理を継続できない場合に、ヒュー
リスティックな判断が通常行われます。HeuristicCommit 例外が発生す
るのは、関連する更新がすべてコミットされている場合です。
RollbackTransaction 関数は、OTS スタイルのマークが付いているクライ
アントまたはコンポーネントで呼び出せます。EAServer は、2 フェー
ズ コミット トランザクション コーディネータ(OTS/XA)を使用して
いることが必要です。
例
次の例は、更新が成功しなかった場合に RollbackTransaction 関数を使用
してトランザクションをロールバックする方法を示しています。
// インスタンス変数:
// CORBACurrent corbcurr
int li_rc1, li_rc2
long ll_rc
this.GetContextService("CORBACurrent", corbcurr)
li_rc1 = corbcurr.Init()
IF li_rc1 <> 1 THEN
// エラーを処理します。
ELSE
ll_rc = CreateInstance(mycomp)
// インスタンス化したコンポーネントのメソッドを起動します。
// 戻り値をテストし、条件を満たさない場合は
// ロールバックします。
IF li_rc2 = 1 THEN
corbcurr.CommitTransaction()
ELSE
corbcurr.RollbackTransaction()
END IF
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackOnly
SetTimeout
PowerScript リファレンス ボリューム 2
995
Round
SuspendTransaction
Round
機能
数値を四捨五入して指定された小数点の桁数にします。
構文
Round ( x, n )
引数
x
n
説明
四捨五入の対象になる数値を指定します。
小数点以下の桁数を指定します。x に指定されている数値
をこの桁数に四捨五入します。有効な値は 0 ~ 30 です。
戻り値
Decimal 型。正常に終了した場合、x を小数点以下 n 桁に四捨五入した
数を返します。エラーが発生した場合、または引数のいずれかの値が
null の場合には、null を返します。
例
次のステートメントは、9.62 を返します。
Round(9.624, 2)
次のステートメントは、9.63 を返します。
Round(9.625, 2)
次のステートメントは、9.600 を返します。
Round(9.6, 3)
次のステートメントは、-9.63 を返します。
Round(-9.625, 2)
次のステートメントは、null を返します。
Round(-9.625, -1)
関連項目
996
Ceiling
Int
Truncate
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Round メソッド
PowerBuilder
第 10 章
PowerScript 関数
RoutineList
機能
パフォーマンス解析モデルに含まれるルーチンのリストを取得しま
す。
対象
ProfileClass オブジェクトおよび Profiling オブジェクト
構文
instancename.RoutineList ( list )
引数
instancename
list
戻り値
解説
説明
ProfileClass または Profiling オブジェクトのインスタンス
名を指定します。
ProfileRoutine 型の可変長配列変数を指定します。
RoutineList 関数は、解析モデルに登録されているクラス内
のルーチンごとに ProfileRoutine オブジェクトを 1 つずつ
作成し、この配列変数に格納します。この引数は、参照
渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - パフォーマンス解析モデルが存在しませ
ん。
パフォーマンス解析モデルに含まれている、ある特定のクラスのルー
チンのリストを取得したい場合に、この関数を使用します。BuildModel
関数を使ってトレース ファイルからパフォーマンス解析モデルをあ
らかじめ作成しておかなければなりません。各ルーチンごとにそれぞ
れ ProfileRoutine オブジェクトが定義されます。このオブジェクトに含
まれる情報は、ルーチンの実行時間、そのルーチンから呼び出される
ルーチン名とその呼び出し回数、およびそのルーチンが属するクラス
名です。リスト中のルーチンの並び方に、特に規則性はありません。
あるクラスに属するオブジェクトの作成および削除処理は、この関数
を使って取得されるリスト中に含まれるルーチン内と、埋め込み SQL
文によって示されます。
例
以下の例では、あるパフォーマンス解析モデルに含まれる、クラスご
とのルーチン情報をリスト表示します。
Long ll_cnt
ProfileCall lproc_call[]
lpro_model.BuildModel()
lpro_model.RoutineList(iprort_list)
...
関連項目
ClassList
PowerScript リファレンス ボリューム 2
997
Run
Run
機能
指定されたアプリケーション プログラムを実行します。
構文
Run ( string {, windowstate } )
引数
string
windowstate
(オプション)
説明
実行するプログラムのファイル名を表す文字列を指定し
ます。必要に応じて、string にはプログラムが使用するパ
ラメータを 1 つ以上指定することもできます。
WindowState カタログデータ型の値。プログラムのどの状
態で実行するかを指定します。
• Maximized! - 最大化。プログラムの起動時に、そのプ
ログラム ウィンドウのサイズを最大にします。
• Minimized! - 最小化。プログラムの起動時に、そのプ
ログラム ウィンドウのサイズを最小にします。
• Normal! -(デフォルト)プログラム ウィンドウを標準
サイズで実行します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
Run 関数を使用して、オペレーティング システムから実行する任意の
プログラムを実行することができます。プログラムのパラメータが指
定されていない場合、Run 関数はアプリケーションを開き、最初のア
プリケーション ウィンドウを表示します。windowstate を指定すると、
指定された状態でアプリケーション ウィンドウが表示されます。
プログラムのパラメータが指定されている場合、アプリケーションに
よってパラメータが何を意味しているかが判断されます。パラメータ
の典型的な使用方法は、プログラムの実行時にどのデータ ファイルを
開くべきかを識別することです。パラメータを指定したアプリケー
ションの実行中に PowerBuilder アプリケーションを実行している場合
には、その PowerBuilder アプリケーションから CommandParm 関数を呼
び出してパラメータを検索し、それに一致した処理を行うことができ
ます。
拡張子を省略してファイル名を指定すると、PowerBuilder は拡張子を
EXE とみなします。EXE 以外の拡張子(たとえば BAT、COM、PIF)
を持つプログラムを実行する場合、必ず拡張子を指定してください。
例
次のステートメントは、Microsoft Windows の時計アクセサリを標準の
サイズで実行します。
Run("Clock")
998
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、Microsoft Windows の時計アクセサリを最小化
して実行します。
Run("Clock", Minimized!)
次のステートメントは、C ドライブの WINNER.COM を最大化して実
行します。そのパラメータは WINNER.COM に渡され、EMPLOYEE.INF
ファイルを開きます。
Run("C:\WINNER.COM EMPLOYEE.INF", Maximized!)
次の例は、DOS のバッチ ファイル MYBATCH.BAT を実行し、そのバッ
チ ファイルに TEST パラメータを渡します。バッチ ファイルの中のコ
マンドで変数を使用してパラメータを参照しています。
Run("MYBATCH.BAT TEST")
バッチ ファイルの中の次のステートメントは、ファイル FILE1 のファ
イル名を TEST に変更します。
RENAME c:\PB\FILE1 %1
PowerScript リファレンス ボリューム 2
999
Save
Save
インクピクチャ コントロールからファイルまたは Blob に、ピクチャ
およびオプションでオーバーレイ インクを保存するか、OLE コント
ロールあるいは OLEstorage オブジェクトに OLE オブジェクトを保存
します。使用する構文は、保存するオブジェクトの種類によって異な
ります。
目的
インクピクチャ コントロールの内容を保存する
OLE オブジェクトを保存する
使用する構文
構文 1
構文 2
構文 1
インクピクチャ コントロールの場合
機能
インクピクチャ コントロールからファイルまたは Blob に、ピクチャ
およびオプションでオーバーレイ インクを保存します。
対象
インクピクチャ コントロール
構文
inkpicname.Save( t | b , format { , WithInk } )
引数
inkpicname
t
b
format
WithInk(オプ
ション)
説明
ピクチャを保存したいインクピクチャ コントロールの名前
を指定します。
ピクチャを保存するファイルの名前と位置を含む文字列を
指定します。
コントロールにピクチャを保持する Blob の名前を指定しま
す。この引数は、参照渡しされます。
Integer 型。ピクチャを保存する形式を指定します。値は以下
のとおりです。
0 – BMP(ビットマップ)
1 – JPEG(Joint Photographic Experts Group)
2 – GIF(Graphics Interchange Format)
3 – TIFF(Tagged Image File Format)
4 – PNG(Portable Network Graphics)
Boolean 型。オーバーレイ インクをピクチャとともに保存す
るかどうかを指定します。値は以下のとおりです。
True – オーバーレイ インクをピクチャとともに保存しま
す(デフォルト)。
False – オーバーレイ インクをピクチャとともに保存しま
せん。
1000
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
Save 関数を使用して、ファイルまたは Blob にインクピクチャ コント
ロール内のイメージをインク注釈を付けてあるいは付けずに保存しま
す。デフォルトでは、インクはイメージとともに保存されます。
例
次の例は、Blob にビットマップ形式でインクピクチャ コントロール内
のイメージおよびそのインク注釈を保存し、データベース内のイメー
ジを更新しようとします。
int li_return
blob lblb_ink
li_return = ip_1.save(lblb_ink, 0, true)
UPDATEBLOB employee SET backimage = :lbb_ink WHERE
emp_id = :gi_id;
IF sqlca.SQLNRows > 0 THEN
COMMIT;
ELSE
messagebox("Update failed",sqlca.sqlerrtext)
END IF
次の例は、GIF ファイルにインク注釈を付けずに InkControl 内のイメー
ジを保存します。
int li_return
string ls_pathname, ls_filename
GetFileSaveName("Save As", ls_pathname, ls_filename,
"GIF")
li_return = ip_1.save(ls_pathname, 2, false)
関連項目
LoadInk
LoadPicture
ResetInk
ResetPicture
SaveInk
PowerScript リファレンス ボリューム 2
1001
Save
構文 2
OLE オブジェクトの場合
機能
OLE コントロールまたは OLEStorage オブジェクト内の OLE オブジェ
クトを保存します。
構文
oleobject.Save ( )
引数
oleobject
戻り値
説明
OLE コントロールまたは OLEStorage 変数の名前を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
コントロールは空です。
そのほかのエラーです。
oleobject が null の場合、null を返します。
解説
開発者が OLE オブジェクトを保存すると、PowerBuilder は、OLE オブ
ジェクトとオープン ストレージまたはファイル間の現時点の接続状
態に応じて保存します。開発者が Open 関数を呼び出すと、最初の接続
を確立します。開発者が SaveAs 関数を呼び出すと、接続を終了し、別
のストレージまたはファイルとの新しい接続を確立します。
OLE コントロールに対して Save 関数を呼び出すと、PowerBuilder は、
OLE コントロール内のオブジェクトを現在接続されているストレージ
に保存します。ストレージは、ストレージ オブジェクト変数でも OLE
ストレージ ファイルでも構いません。
データがサーバ アプリケーションに保存されていない場合、ディスク
上にファイルがないので、PowerBuilder の Save 関数はエラーを返しま
す。
ス ト レ ー ジ オ ブ ジ ェ ク ト 変 数 に 対 し て Save 関 数 を 呼 び 出 す と、
PowerBuilder は、現在接続されているファイルまたはそのファイル内
のサブストレージにストレージを保存します。この場合、あらかじめ
Open 関数か SaveAs 関数を使用してディスク上の OLE ストレージ
ファイル、またはそのファイル内のサブストレージに接続を確立して
おく必要があります。
1002
PowerBuilder
第 10 章
PowerScript 関数
Save 関数を 2 回呼び出す必要がある場合
ストレージ オブジェクト変数を作成した後、OLE コントロール内でそ
のオブジェクトを開く場合、変更された OLE 情報をディスクに書くた
めに、Save 関数を 2 回呼び出す必要があります。1 回目はコントロー
ル内のオブジェクトからストレージに保存し、2 回目はそのストレー
ジが関連付けられるファイルに保存するためです。
例
次の例は、ole_1 コントロール内のオブジェクトをロードされているス
トレージに保存し直します。ストレージは、ストレージ オブジェクト
変数でもディスク上のファイルでも構いません。
integer result
result = ole_1.Save()
次の例は、ファイルにストレージ オブジェクトを保存します。Olestor_1
は、OLEStorage 型のインスタンス変数です。
integer result
result = olestor_1.Save()
次の例は、ウィンドウの Open イベントに対するスクリプトです。
ole_stor をインスタンス変数として宣言し、Visio デッサンが入ってい
るストレージ ファイルと接続します。コントロール ole_draw の中に 1
つの描画オブジェクトを開きます。エンド ユーザがそのオブジェクト
をアクティブにして編集した後で、
[保存]ボタンのスクリプトでオブ
ジェクトをストレージに保存し、ストレージ ファイルに保存します。
次の例は、ウィンドウの Open イベントに対するスクリプトです。
OLEStorage stg_stor
stg_stor = CREATE OLEStorage
stg_stor.Open("myvisio.ole")
ole_draw.Open(ole_stor, "visio_drawing1")
次の例は、ウィンドウの[保存]ボタンの Clicked イベントに対するス
クリプトです。
integer result
result = ole_draw.Save()
IF result = 0 THEN ole_stor.Save()
関連項目
Close
SaveAs
PowerScript リファレンス ボリューム 2
1003
SaveAs
SaveAs
データウィンドウ コントロール、データストア オブジェクト、グラ
フ、OLE コントロール、および OLE ストレージの内容をファイルに保
存します。使用する構文は、保存するオブジェクトの種類によって異
なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「SaveAs メソッド」を参照してください。
目的
グラフ内のデータを保存する
OLE コントロール内の OLE オブジェクトをストレージ
ファイルに保存する
OLE コントロール内の OLE オブジェクトをメモリ内のス
トレージ オブジェクトに保存する
OLEStorage オブジェクトとそのストレージを開いている
すべてのコントロールをファイルに保存する
OLEStorage オブジェクトを別の OLEStorage オブジェクト
に保存する
使用する構文
構文 1
構文 2
構文 3
構文 4
構文 5
構文 1
グラフ オブジェクトを保存する
機能
グラフ内のデータを指定された形式で保存します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ、データウィンド
ウ上およびデータストア上のグラフ
構文
controlname.SaveAs ( { filename, } { graphcontrol, saveastype, colheading { ,
encoding } } )
引数
controlname
filename
(オプション)
1004
説明
保存する内容を含むグラフ コントロールの名前を指定す
るか、グラフ コントロールを含むデータウィンドウ コン
トロール、またはデータストア オブジェクトの名前を指定
します。
String 型の値。グラフ コントロール内のデータの保存先の
ファイル名を指定します。この引数を省略した場合、また
は空の文字列("")を指定した場合、PowerBuilder はエン
ド ユーザにファイル名の入力を要求します。
PowerBuilder
第 10 章
引数
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
saveastype
(オプション)
PowerScript 関数
説明
String 型の値。内容を保存するデータウィンドウ コント
ロールまたはデータストア オブジェクト内のグラフの名
前を指定します。
SaveAsType カタログ データ型の値。グラフ内のデータを
保存する形式を指定します。値は以下のとおりです。
• Clipboard! - クリップボードにグラフの画像を保存
• CSV! - カンマで区切った値
• dBASE2! - dBASE-II 形式
• dBASE3! - dBASE-III 形式
• DIF! - データ交換形式
• EMF! - 拡張メタファイル形式
• Excel! - Microsoft Excel 形式
• Excel5! - Microsoft Excel バージョン 5 形式
• Excel8! - Microsoft Excel バージョン 8 以上の形式
• HTMLTable! - HTML の TABLE、TR、TD 要素
• PDF! - Adobe PDF 形式
• PSReport! - Powersoft レポート(PSR)形式
• SQLInsert! - SQL 構文
• SYLK! - Microsoft Multiplan 形式
• Text! -(デフォルト)各カラムをタブで区切り、各行
末にキャリッジ リターンがある形式
• WKS! - Lotus 1-2-3 形式
• WK1! - Lotus 1-2-3 形式
• WMF! - Windows メタファイル形式
• XML! - XML 形式
• XSLFO! - XSL Formmating Objects(XSL-FO)形式オブ
ジェクト
旧形式の値
SaveAsType の値のうち、Excel!、WK1!、WKS!、SYLK!、
dBase2!、WMF! は旧形式とみなされて、これらの値は将来
の リ リ ー ス で 廃 止 さ れ る 予 定 で す。現 バ ー ジ ョ ン の
Microsoft Excel 形式として保存するには Excel8! を使用し、
WMF! については、かわりに EMF! を使用してください。
PowerScript リファレンス ボリューム 2
1005
SaveAs
引数
colheading
(オプション)
encoding
(オプション)
説明
Boolean 型の値。保存したデータにカラム ヘッダを付ける
かどうかを指定します。特に指定しない限り、true が設定
されます。dBASE ファイルの場合、この引数の値は無視
され、カラム ヘッダは常に保存されます。
データの保存先となるファイルの文字のエンコーディン
グを指定します。このパラメータは、TEXT、CSV、SQL、
HTML、および DIF の各形式にのみ適用されます。encoding
パラメータを指定しない場合、ファイルは ANSI 形式で保
存されます。値は以下のとおりです。
• EncodingANSI!(デフォルト)
• EncodingUTF8!
• EncodingUTF16LE!
• EncodingUTF16BE!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
引数は、1 つも使用しないか、あるいは 3 つの引数を使用します。SaveAs
関数の引数を省略した場合、PowerBuilder は名前を付けて保存 ダイア
ログボックスを表示し、保存するデータの形式を指定するようにユー
ザに要求します。
地域設定
グラフ内で日付形式を使用する場合、ユーザのコントロール パネルの
[地域設定]で、
「短い形式」の年の部分が yyyy になっていることを確
認する必要があります。これは、プログラムの中で RegistryGet 関数を
使ってチェックすることができます。
正しく設定されていない場合は、手動で設定を変更するようユーザに
依頼するか、あるいはアプリケーションで RegistrySet 関数を呼び出し
て変更します。設定を変更した後、ユーザによるリブートが必要な場
合があります。
例
次のステートメントは、グラフ gr_History の内容を保存します。ファイ
ルと形式に関する情報が指定されていないため、PowerBuilder はファ
イル名の入力を要求し、グラフをタブで区切られたテキスト形式で保
存します。
gr_History.SaveAs()
1006
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、グラフ gr_History の内容を
G:\HR\EMPLOYEE.HIS ファイルに保存します。ファイルは、カラム
ヘッダを含まない CSV 形式で保存されます。
gr_History.SaveAs("G:\HR\EMPLOYEE.HIS" ,CSV!, FALSE)
次のステートメントは、データウィンドウ コントロール dw_equipmt 内
の gr_computers の内容を、G:\INVENTORY\SALES.XLS ファイルに保
存します。ファイルは、カラム ヘッダを含む Excel 形式で保存されま
す。
dw_equipmt.SaveAs("gr_computers", &
"G:\INVENTORY\SALES.XLS", Excel!, TRUE)
関連項目
Print
構文 2
OLE コントロールのオブジェクトをファイルに保存
する
機能
OLE コントロール内のオブジェクトをストレージ ファイルに保存し
ます。
対象
OLE コントロール
構文
olecontrol.SaveAs (OLEtargetfile )
引数
olecontrol
OLEtargetfile
戻り値
説明
保存するオブジェクトを含む OLE コントロールの名前を
指定します。
String 型の値。OLEStorage ファイルの名前を指定します。
既存のファイルの名前を指定することもできます。この引
数には、ファイル内のどこにオブジェクトを格納するかに
ついての情報だけでなく、パスを指定することもできま
す。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-9
コントロールが空です。
ストレージが開かれていません。
ストレージの名前が不正です。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
1007
SaveAs
解説
Open 関数は、ストレージ ファイルとストレージ オブジェクトとの間
の接続、またはストレージ ファイルやストレージ オブジェクトと OLE
コントロールとの間の接続を確立します。Save 関数は、この接続を使
用して OLE データを保存します。
OLE コントロールに対して SaveAs 関数を呼び出すと、OLE オブジェ
クトとそのストレージ(ファイルまたはストレージ オブジェクト)と
の間の現行の接続を閉じます。この関数は新しいストレージを使用し
て新しい接続を確立し、その接続は Save 関数を後で呼び出すときに
ターゲット(保存先)として使用できます。
例
次の例は、コントロール ole_1 内のオブジェクトを保存します。
integer result
result = ole_1.SaveAs("c:\ole\expense.ole")
関連項目
Open
Save
構文 3
OLE コントロールのオブジェクトを OLE ストレージ
に保存する
機能
OLE コントロール内のオブジェクトを、メモリ内の OLE ストレージ
オブジェクトに保存します。
対象
OLE コントロール
構文
olecontrol.SaveAs ( targetstorage, substoragename )
引数
olecontrol
targetstorage
substoragename
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-9
1008
説明
保存するオブジェクトを含む OLE コントロールの名前を
指定します。
OLEStorage のオブジェクト変数の名前を指定します。
olecontrol 内のオブジェクトは、この変数に格納されます。
String 型の値。targetstorage 内のサブストレージの名前を指
定します。substorage が存在しない場合は、SaveAs 関数は
substorage を作成します。
コントロールが空です。
ストレージが開かれていません。
ストレージの名前が不正です。
そのほかのエラーです。
PowerBuilder
第 10 章
PowerScript 関数
引数のいずれかの値が null の場合、null を返します。
解説
Open 関数は、ストレージ ファイルとストレージ オブジェクトとの間
の接続、またはストレージ ファイルやストレージ オブジェクトと OLE
コントロールとの間の接続を確立します。Save 関数は、この接続を使
用して OLE データを保存します。
OLE コントロールに対して SaveAs 関数を呼び出すと、OLE オブジェ
クトとそのストレージ(ファイルまたはストレージ オブジェクト)と
の間の現行の接続を閉じます。この関数は新しいストレージを使用し
て新しい接続を確立し、その接続は Save 関数を後で呼び出すときに
ターゲット(保存先)として使用できます。
例
次の例は、コントロール ole_1 内のオブジェクトをストレージ変数
stg_stuff に保存します。
integer result
result = ole_1.SaveAs(stg_stuff)
関連項目
Open
Save
構文 4
OLE ストレージ オブジェクトをファイルに保存する
機能
OLE ストレージ オブジェクトをファイルに保存します。OLE コント
ロールで OLE ストレージ オブジェクトが開いている場合にこの構文
を使用すると、開いているストレージ オブジェクトも保存済みの状態
になります。
対象
OLE ストレージ オブジェクト
構文
olestorage.SaveAs (OLEtargetfile )
引数
olestorage
OLEtargetfile
戻り値
説明
保存する OLE オブジェクトを含む OLEStorage 型のオブ
ジェクト変数の名前を指定します。
String 型の値。新しい OLE ストレージ ファイルの名前を
指定します。この引数には、パスを指定することができま
す。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
ストレージが開かれていません。
ストレージの名前が不正です。
親ストレージが開かれていません。
PowerScript リファレンス ボリューム 2
1009
SaveAs
-4
-5
-6
-7
-9
ファイルがすでに存在します。
メモリ不足です。
開いているファイルの数が多すぎます。
アクセスが拒否されました。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
解説
Open 関数は、ストレージ ファイルとストレージ オブジェクトとの間
の接続、またはストレージ ファイルやストレージ オブジェクトと OLE
コントロールとの間の接続を確立します。Save 関数は、この接続を使
用して OLE データを保存します。
ストレージ オブジェクトに対して SaveAs 関数を呼び出すと、ストレー
ジ オブジェクトとファイルとの間の現行の接続を閉じ、ストレージ オ
ブジェクトのデータを格納する新しいファイルを作成します。
ストレージ ファイルの構造についての詳細は、Open 関数を参照してく
ださい。
例
次の例は、ストレージ オブジェクト stg_stuff を MYSTUFF.OLE ファイ
ルに保存します。olest_stuff は、インスタンス変数です。
integer result
result = stg_stuff.SaveAs("c:\ole\mystuff.ole")
次の例は、1 つのファイルのサブストレージを開いて別のファイルに
保存します。MYROOT.OLE という OLE ストレージ ファイルには、い
くつかのサブストレージがあり、そのうちの 1 つ sub1 を開いて別の
ファイルに保存します。この例では、stg1 と stg2 という 2 つのストレー
ジ オブジェクトを定義しています。まず、MYROOT.OLE が stg1 で開
かれ、次に sub1 が stg2 で開かれます。最後に、stg2 が MYSUB.OLE と
いう新しいファイルに保存されます。stg2 で開かれたオブジェクトは、
MYROOT.OLE ではなく MYSUB.OLE に接続されています。
olestorage stg1, stg2
stg1 = CREATE OLEStorage
stg2 = CREATE OLEStorage
stg1.Open("myroot.ole")
stg2.Open("sub1", stg1)
stg2.SaveAs("mysub.ole")
関連項目
1010
Close
Open
Save
PowerBuilder
第 10 章
PowerScript 関数
構文 5
OLE ストレージ オブジェクトを別の OLE ストレー
ジに保存する
機能
OLE ストレージ オブジェクトを、メモリ内のほかの OLE ストレージ
オブジェクト変数に保存します。
対象
OLE ストレージ オブジェクト
構文
olestorage.SaveAs ( substoragename, targetstorage )
引数
olestorage
substoragename
targetstorage
戻り値
説明
保存する OLE オブジェクトを含む OLEStorage 型のオブ
ジェクト変数の名前を指定します。
String 型の値。targetstorage 内のサブストレージの名前を指
定します。substorage が存在しない場合は、SaveAs 関数は
substorage を作成します。
OLEStorage 型のオブジェクト変数の名前。olestorage 内の
オブジェクトの格納先のオブジェクトを指定します。
substoragename と targetstorage の順序が、構文 4 の場合と
逆であることに注意してください。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-4
-5
-6
-7
-9
ストレージが開かれていません。
ストレージの名前が不正です。
親ストレージが開かれていません。
ファイルがすでに存在します。
メモリ不足です。
開いているファイルの数が多すぎます。
アクセスが拒否されました。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
解説
Open 関数は、ストレージ ファイルとストレージ オブジェクトとの間
の接続、またはストレージ ファイルやストレージ オブジェクトと OLE
コントロールとの間の接続を確立します。Save 関数は、この接続を使
用して OLE データを保存します。
ストレージ オブジェクトに対して SaveAs 関数を呼び出すと、ストレー
ジ オブジェクトとファイルとの間の現行の接続を閉じ、ストレージ オ
ブジェクトのデータを格納する新しいファイルを作成します。
ストレージ ファイルの構造についての詳細は、Open 関数を参照してく
ださい。
PowerScript リファレンス ボリューム 2
1011
SaveDocument
例
次の例は、OLEStorage 型の変数 stg_stuff 内のオブジェクトを、copy1 と
いうサブストレージとして 2 番目のストレージ変数 stg_clone に保存し
ます。
integer result
result = stg_stuff.SaveAs("copy1", stg_clone)
関連項目
Close
Open
Save
SaveDocument
機能
リッチテキスト エディット コントロールの内容をファイルに保存し
ます。保存するファイルの形式として、リッチテキスト形式(RTF)、
テキスト形式、Microsoft Word 形式、HTML 形式、または PDF 形式を
指定できます。
対象
リッチテキスト エディット コントロール
構文
rtename.SaveDocument ( filename {, filetype {, encoding }} )
引数
rtename
filename
filetype
(オプション)
説明
内容を保存するリッチテキスト エディット コントロール
の名前を指定します。
String 型の値。保存するファイルの名前を指定します。指
定されたファイル名がすでに存在する場合、FileExists イベ
ントが起動されます。
保存するファイルの形式を指定する FileType カタログ
データ型の値。値は以下のとおりです。
• FileTypeRichText! - リッチテキスト形式
• FileTypeText! - テキスト形式
• FileTypeDoc! - Microsoft Word 形式
• FileTypeHTML! - HTML 形式
• FileTypePDF! - PDF 形式
1012
PowerBuilder
第 10 章
引数
encoding
(オプション)
PowerScript 関数
説明
データを保存するファイルのエンコーディング文字。この
引数はテキスト ファイルにだけ適用されます。encoding 引
数を指定しない場合は、ファイルは ANSI 形式で保存され
ます。
filetype 引数は FileTypeText! に設定されなければなりませ
ん。filetype 引数がほかのファイルの種類に設定されると、
この引数は無視されます。値は以下の通りです。
• EncodingANSI!(デフォルト)
• EncodingUTF8!
• EncodingUTF16LE!
• EncodingUTF16BE!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SaveDocument 関数は、指定されたファイル名がすでに存在する場合に
FileExists イベントを起動します。SaveDocument で filetype を指定しな
い場合、拡張子 .txt を持つファイル名を指定すると、ファイルはテキ
スト ファイルとして保存され、拡張子 .doc を持つファイル名を指定す
ると、Microsoft Word 文書として保存され、拡張子 .rtf を持つファイル
名を指定すると、RTF ファイルとして保存されます。
encoding 引数で指定する形式は、filetype 引数に FileTypeText! を指定し
た場合のみ有効です。SaveDocument は、ほかのファイルの種類の場合
のみ ANSI 形式でテキストを保存します。
例
次のコマンドボタン コントロールのコードは、リッチテキスト エ
ディット コントロール rte_1 内の文書を保存します。
integer li_rtn
li_rtn = rte_1.SaveDocument("c:\test.rtf", &
FileTypeRichText!)
TEST.RTF ファイルがすでに存在する場合、PowerBuilder は次のスクリ
プトで FileExists イベントを起動します。OpenWithParm 関数は、エンド
ユーザにファイルを上書きしてもよいかどうかを確認するレスポンス
ウィンドウを表示します。FileExists イベントの戻り値によって、ファ
イルを保存するかどうかが決まります。
OpenWithParm( w_question, &
"The specified file already exists. " + &
"Do you want to overwrite it?" )
IF Message.StringParm = "Yes" THEN
RETURN 0 // ファイルは保存されます。
ELSE
PowerScript リファレンス ボリューム 2
1013
SaveInk
RETURN -1 // ファイルの保存をキャンセルします。
END IF
次のコマンドボタン コントロールのコードは、UTF-16LE エンコー
ディングのテキスト ファイルにリッチテキスト エディット コント
ロール rte_1 内の文書を保存します。
integer li_rtn
li_rtn = rte_1.SaveDocument("c:\test.rtf", &
FileTypeRichText!, EncodingUTF16LE!)
関連項目
InsertDocument
SaveInk
機能
インクピクチャ コントロールからファイルまたは Blob にインクを保
存します。
対象
インクピクチャ コントロール
構文
inkpicname.SaveInk ( t | b {, format {, mode } } )
引数
inkpicname
説明
インクを保存したいインクピクチャ コントロールの名前を
指定します。
t
コントロールから保存したいインクを保持するファイルの
名前と位置を含む文字列を指定します。
b
コントロールから保存したいインクを保持する Blob の名前
を指定します。この引数は、参照渡しされます。
format (オプ インクを保存したい形式を指定する InkPersistenceFormat カ
ション)
タログデータ型変数の値を指定します。値は以下のとおり
です。
• Base64GIFFormat!
• Base64InkSerializedFormat!
• GIFFormat!
• InkSerializedFormat!(デフォルト)
mode (オ プ インクを保存したい圧縮モードを指定する
ション)
InkCompressionMode カタログデータ型変数の値を指定しま
す。値は以下のとおりです。
• DefaultCompression!(デフォルト)
• MaximumCompression!
• NoCompression!
1014
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SaveInk 関数を使用して、別のファイルまたは Blob にインクピクチャ
コントロール内のイメージに作られた注釈を保存します。
InkSerializedFormat! (ISF) は最もコンパクトな持続的インク表記を提供
します。この形式は、バイナリ文書形式内に埋め込んだり、クリップ
ボードに追加したりできます。Base64InkSerializedFormat! は、base64 ス
トリームとして ISF 形式をエンコードします。この形式は、インクを
XML や HTML ファイルにエンコードできるようにします。
GIFFormat! は、ISF が メ タ デ ー タ と し て 埋 め 込 ま れ て い る Graphics
Interchange Format (GIF) ファイル内のイメージを保存します。この形式
は、インクが有効になっていないアプリケーションで表示できます。
Base64GIFFormat! は、base64 encoded fortified GIF を使用して保存されま
す。インクが XML あるいは XHTML ファイルに直接エンコードされ
るためにあり、後でイメージに変換する場合は、この形式を使用しま
す。これは HTML への XSLT 変換をサポートします。
例
次の例は、デフォルトの圧縮でインクピクチャ コントロール内のイン
クを ISF ファイルに保存します。
int li_return
string ls_pathname, ls_filename
GetFileSaveName("Save As", ls_pathname, ls_filename,
"ISF")
li_return = ip_1.SaveInk(ls_pathname)
次の例は、最小の圧縮でインクピクチャ コントロール内のインクを
GIF ファイルに保存します。
int li_return
string ls_pathname, ls_filename
GetFileSaveName("Save As", ls_pathname, ls_filename,
"GIF")
li_return = ip_1.SaveInk(ls_pathname, GIFFormat!,
MaximumCompression!)
関連項目
LoadInk
LoadPicture
ResetInk
ResetPicture
Save
PowerScript リファレンス ボリューム 2
1015
Scroll
Scroll
機能
マルチライン エディット コントロールまたはデータウィンドウのエ
ディット コントロールを、指定された行数分、上下にスクロールします。
対象
データウィンドウ コントロール、マルチライン エディット コントロー
ル、リッチテキスト エディット コントロール
構文
editname.Scroll ( number )
引数
editname
number
説明
上下にスクロールするデータウィンドウ コントロール、
リッチテキスト エディット コントロールまたはマルチラ
イン エディット コントロールの名前を指定します。
editname がデータウィンドウ コントロールの場合、Scroll
関数はそのエディット コントロールで有効です。
Long 型の値。スクロールの方向と行数を指定します。下
方向へスクロールするには、正の Long 値を使用します。
上方向へスクロールするには、負の Long 値を使用します。
戻り値
Long 型。Scroll 関数は、リッチテキスト エディット コントロールに対
して正常に終了した場合、1 を返します。そのほかのコントロールに
対して正常に終了した場合、editname の一番上の行番号を返します。
エラーが発生した場合、-1 を返します。引数のいずれかの値が null の
場合、null を返します。
解説
残りの行数がスクロールする行数よりも少ない場合、Scroll 関数は指定
方向の先頭行または最終行までスクロールします。
例
次のステートメントは、mle_Employee を下方向に 4 行スクロールします。
mle_Employee.Scroll(4)
次のステートメントは、mle_Employee を上方向に 4 行スクロールします。
mle_Employee.Scroll(-4)
関連項目
1016
次の関数は、データウィンドウやリッチテキスト エディット内でスク
ロールするために使用します。
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
ScrollToRow
PowerBuilder
第 10 章
PowerScript 関数
ScrollNextPage
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウで、文書を 1 ページ後方にスクロールしま
す。
データウィンドウの場合の構文については、『データウィンドウ リ
ファレンス』マニュアル、またはオンライン ヘルプの「ScrollNextPage
メソッド」を参照してください。
対象
リッチテキスト エディット コントロール
構文
rtename.ScrollNextPage ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロールの次のページにスクロールします。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ある行に対して文書の最終ページが表示されているときに ScrollNextPage
関数を呼び出すと、次の行である先頭ページにスクロールします。
ScrollNextPage 関数および ScrollPriorPage 関数は、リッチテキスト コン
トロールの HeaderFooter プロパティが選択されたときのみ、リッチテ
キスト エディット コントロールの編集モードで動作します。これらの
関数は HeaderFooter プロパティの設定に関係なく印刷プレビュー モー
ドで動作し、データウィンドウにヘッダ区域やフッタ区域があっても
なくても、編集モードでリッチテキスト データウィンドウ コントロー
ルに対して動作します。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の次のページにスクロールします。文書に複数のインス
タンスがある場合、次のインスタンスにスクロールすることができま
す。
rte_1.ScrollNextPage()
PowerScript リファレンス ボリューム 2
1017
ScrollNextRow
関連項目
Scroll
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
ScrollNextRow
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の次のインスタンスにスク
ロールします。リッチテキスト エディット コントロールがデータウィ
ンドウとデータを共有している場合、リッチテキスト エディット コン
トロールには文書の複数のインスタンスが格納されます。文書の次の
インスタンスは、データウィンドウ内の次の行に関連付けられます。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollNextRow メソッド」を参照してくださ
い。
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollNextRow ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール内にある文書の次のインスタンスにスク
ロールします。各インスタンスは、データウィンドウの行
に関連付けられます。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
1018
PowerBuilder
第 10 章
PowerScript 関数
ScrollNextRow 関数は、リッチテキスト エディット コントロール内にあ
る文書の次のインスタンスにスクロールします。一方、ScrollNextPage
関数を繰り返して呼び出すと、文書の同じインスタンスのすべての
ページを下方向へスクロールした後、次の行のページにスクロールし
ます。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の次のインスタンスにスクロールします。各文書のイン
スタンスは、行に関連付けられています。
rte_1.ScrollNextRow()
関連項目
Scroll
ScrollNextPage
ScrollPriorPage
ScrollPriorRow
ScrollPriorPage
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の前のページにスクロール
します。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、
『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollPriorPage メソッド」を参照してくださ
い。
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollPriorPage ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロールの前のページにスクロールします。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
1019
ScrollPriorRow
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ある行に対して文書の先頭ページが表示されているときに、
ScrollPriorPage 関数を呼び出すと、前の行である最終ページにスクロー
ルします。
ScrollNextPage 関数および ScrollPriorPage 関数は、リッチテキスト コン
トロールの HeaderFooter プロパティが選択されたときのみ、リッチテ
キスト エディット コントロールの編集モードで動作します。これらの
関数は HeaderFooter プロパティの設定に関係なく印刷プレビュー モー
ドで動作し、データウィンドウにヘッダ区域やフッタ区域があっても
なくても、編集モードでリッチテキスト データウィンドウ コントロー
ルに対して動作します。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の前のページにスクロールします。文書に複数のインス
タンスがある場合、前のインスタンスにスクロールすることができま
す。
rte_1.ScrollPriorPage()
関連項目
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorRow
ScrollPriorRow
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の前のインスタンスにスク
ロールします。リッチテキスト エディット コントロールがデータウィ
ンドウとデータを共有している場合、リッチテキスト エディット コン
トロールには文書の複数のインスタンスが格納されます。文書の次の
インスタンスは、データウィンドウ内の次の行に関連付けられます。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollPriorRow メソッド」を参照してくださ
い。
1020
PowerBuilder
第 10 章
PowerScript 関数
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollPriorRow ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール内にある文書の前のインスタンスにスク
ロールします。各インスタンスは、データウィンドウの行
に関連付けられます。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ScrollPriorRow 関数は、リッチテキスト エディット コントロール内にあ
る文書の前のインスタンスにスクロールします。一方、ScrollPriorPage
関数を繰り返して呼び出すと、文書のインスタンスのすべてのページ
を上方向へスクロールした後、前の行のページにスクロールします。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の前のインスタンスにスクロールします。各文書のイン
スタンスは、行に関連付けられています。
rte_1.ScrollPriorRow()
関連項目
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorPage
PowerScript リファレンス ボリューム 2
1021
ScrollToRow
ScrollToRow
機能
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、指定された行に関連付けられている文書のイ
ンスタンスにスクロールします。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollToRow メソッド」を参照してください。
対象
リッチテキスト エディット コントロール
構文
rtename.ScrollToRow ( row )
引数
rtename
row
説明
リッチテキスト エディット コントロールの名前を指定し
ます。指定されたコントロールの指定された行に関連付け
られている文書のインスタンスにスクロールします。
Long 型の値。スクロール先の行を指定します。row が 0 の
場合、ScrollToRow 関数は先頭行にスクロールします。row
に指定された値が、関連付けられているデータウィンドウ
内の行数より大きい場合、最終行にスクロールします。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。ScrollToRow 関数は、指定された行に関連付けられているインスタ
ンスにスクロールします。
例
次の例では、dw_1 は少なくとも 25 行のデータを検索して格納してい
ます。DataSource 関数を呼び出した後、リッチテキスト エディット コン
トロールには、少なくとも 25 個の文書のインスタンスが格納されてい
ます。ScrollToRow 関数は、25 番目のインスタンスにスクロールします。
rte_1.DataSource(dw_1)
rte_1.ScrollToRow(25)
関連項目
1022
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
PowerBuilder
第 10 章
PowerScript 関数
Second
機能
Time 型の値の秒の部分から秒数を取得します。
構文
Second ( time )
引数
time
説明
秒数を取得する Time 型の値を指定します。
戻り値
Integer 型。time の秒数の部分(00 ~ 59)を返します。time が null の場
合、null を返します。
例
次のステートメントは、31 を返します。
Second(19:01:31)
関連項目
Hour
Minute
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Second メソッド
SecondsAfter
機能
ある時刻から別の時刻までの経過秒数を測定します。
構文
SecondsAfter ( time1, time2 )
引数
time1
time2
説明
測定する間隔の開始時刻を示す Time 型の値を指定します。
測定する間隔の終了時刻を示す Time 型の値を指定します。
戻り値
Long 型。time1 から time2 までの経過秒数を返します。time2 が time1 よ
り前の場合、負の数を返します。引数のいずれかの値が null の場合、
null を返します。
例
次のステートメントは、15 を返します。
SecondsAfter(21:15:30, 21:15:45)
次のステートメントは、-15 を返します。
SecondsAfter(21:15:45, 21:15:30)
次のステートメントは、0 を返します。
SecondsAfter(21:15:45, 21:15:45)
PowerScript リファレンス ボリューム 2
1023
Seek
start_time と end_time を Time 型の変数として宣言し、start_time に
19:02:16 を 割り当て、end_time に 19:02:28 を割り当てる場合、次のよ
うに記述します。
time start_time, end_time
start_time = 19:02:16
end_time = 19:02:28
次のステートメントは、いずれも 12 を返します。
SecondsAfter(start_time, end_time)
SecondsAfter(19:02:16, end_time)
SecondsAfter(start_time, 19:02:28)
SecondsAfter(19:02:16, 19:02:28)
関連項目
DaysAfter
RelativeDate
RelativeTime
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの SecondsAfter メソッド
Seek
OLEStream オブジェクトでファイル ポインタを移動するか、アニメー
ション コントロールに、AVI クリップで指定したフレームを表示します。
目的
OLEStream オブジェクト中で読み書きポインタを移動す
る
AVI クリップの指定フレームを表示する
目的
構文 1
構文 2
構文 1
OLEStream オブジェクトの場合
機能
OLEStream オブジェクト中の指定の位置に、読み書きポインタを移動
します。ポインタは、ストリームの中で次の読み書きの開始位置とな
ります。
対象
OLEStream オブジェクト
構文
olestream.Seek ( position {, origin } )
引数
olestream
1024
説明
開いている OLEStream 変数の名前を指定します。
PowerBuilder
第 10 章
引数
position
PowerScript 関数
説明
origin
(オプション)
Long 型の値。読み書きポインタを移動する位置を origin に
相対的な値で指定します。
処理を開始する位置を指定する SeekType カタログ データ
型の値。値は以下のとおりです。
• FromBeginning! -(デフォルト)ファイルの先頭
• FromCurrent! - 現行の位置
• FromEnd! - ファイルの末尾
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-9
ストリームが開かれていません。
シーク エラーです。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、OLE ストリームに追加データを書き込みます。
MYSTUFF.OLE ファイルで OLE オブジェクトを開き、OLEStorage オブ
ジェクト stg_stuff に代入します。次に、stg_stuff のストリーム info を開
き、ストリーム オブジェクト olestr_info に割り当てます。Seek 関数を
使用して読み書きポインタをストリームの最後に配置し、Blob 型のイ
ンスタンス変数 lb_info の内容が、一番最後に書き込まれるようにしま
す。
この例では、関数の戻り値をチェックしていませんが、実際のスクリ
プトでは必ず戻り値をチェックしてください。
boolean lb_memexists
OLEStorage stg_stuff
OLEStream olestr_info
stg_stuff = CREATE OLEStorage
stg_stuff.Open("c:\ole\mystuff.ole")
olestr_info.Open(stg_stuff, "info", &
stgReadWrite!, stgExclusive!)
olestr_info.Seek(0, FromEnd!)
olestr_info.Write(lb_info)
関連項目
Open
Length
Read
Write
PowerScript リファレンス ボリューム 2
1025
Seek
構文 2
アニメーション コントロールの場合
機能
AVI クリップの指定フレームをアニメーション コントロールに表示し
ます。
対象
アニメーション コントロール
構文
animationname.Seek ( s )
引数
animationname
s
説明
AVI クリップを表示するアニメーション コントロールの
名前を指定します。
0 ~ 65,535 の Long 型の値。表示するフレームを指定しま
す。
戻り値
Integer 型。成功した場合は 1、失敗した場合は -1 を返します。
解説
Seek は、指定したフレームを表示します。指定した値が、クリップ内
のフレーム数より大きい場合、Seek 関数はクリップの最後のフレーム
を表示し、1 を返します。指定された範囲外の値を指定した場合、Seek
関数は何もしないで -1 を返します。アニメーションが再生されている
場合、Seek 関数は常に Stop イベントを起動します。
例
次のコードは、ボタンの Clicked イベントのスクリプトです。シングル
ライン エディット コントロール内の数字で指定されたフレームを表
示し、数字を1つずつ増やします。ボタンをクリックするたびに、ク
リップが 1 フレームずつ進みます。
// インスタンス変数 :
integer li_return
number = long (sle_seek.text)
li_return = am_1.Seek(number)
number +=1
sle_seek.text = string(number)
関連項目
1026
Play
Stop
PowerBuilder
第 10 章
PowerScript 関数
SelectedColumn
機能
リッチテキスト エディット コントロールの挿入ポイントの直後にあ
る文字の行頭からの文字数を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.SelectedColumn ( )
引数
rtename
説明
行頭から挿入ポイントの次の文字までの文字数を取得す
るリッチテキスト エディット コントロールの名前を指定
します。
戻り値
Long 型。rtename に指定されたコントロールの行頭から挿入ポイント
の直後の文字までの文字数を返します。エラーが発生した場合、-1 を
返します。
解説
挿入ポイントは、選択範囲の先頭または末尾に設定することができま
す。このため、SelectedColumn 関数は、挿入ポイントの位置に応じて、
選択範囲の先頭文字、または選択範囲の直後の文字までの文字数を返
します。
例
挿入ポイントがリッチテキスト エディット コントロール rte_Contact
の 8 行目の 5 番目の文字の前にある場合、次の例は ll_col に 5 を設定
し、ll_line に 8 を設定します。
long ll_col, ll_line
ll_col = rte_Contact.SelectedColumn()
ll_line = rte_Contact.SelectedLine()
関連項目
LineLength
Position
SelectedLine
SelectedPage
SelectedText
TextLine
PowerScript リファレンス ボリューム 2
1027
SelectedIndex
SelectedIndex
機能
リストボックス コントロールまたはリストビュー コントロール内で
選択されている項目の番号を取得します。
対象
リストボックス コントロール、リストビュー コントロール
構文
listcontrolname.SelectedIndex ( )
引数
listcontrolname
戻り値
説明
リストボックス コントロールまたはリストビュー コント
ロールの名前を指定します。指定されたコントロール内で
選択されている項目の位置を返します。
Integer 型。listcontrolname 内で選択されている項目のインデックスを返
します。複数の項目が選択された場合、最初に選択された項目のイン
デックスを返します。選択された項目が存在しなかった場合、または
エラーが発生した場合には、-1 を返します。listcontrolname が null の場
合、null を返します。
解説
SelectedIndex 関数と SelectItem 関数は、単一の選択だけを許可するリス
トを想定しています。コントロールの MultiSelect プロパティは、false
です。
MultiSelect プロパティが true の場合、SelectedIndex 関数は最初に選択さ
れた項目のインデックスだけを取得します。SelectedIndex 関数を使用
せずに、State 関数を使用してリストボックスの項目を 1 つ 1 つチェッ
クし、項目が選択されているかどうかを確認します。リストボックス
の中の項目のテキストを取得するには、Text 関数を使用します。
例
lb_actions の項目 5 が選択されると、次の例は li_Index に 5 を設定しま
す。
integer li_Index
li_Index = lb_actions.SelectedIndex()
次のステートメントは、lb_actions の項目 5 が選択された場合に、ウィ
ンドウ w_emp を開きます。
integer li_X
li_X = lb_actions.SelectedIndex()
If li_X = 5 then Open(w_emp)
関連項目
1028
SelectedItem
PowerBuilder
第 10 章
PowerScript 関数
SelectedItem
機能
リストボックス コントロールまたはピクチャ リストボックス コント
ロール内で選択されている項目のテキストを返します。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.SelectedItem ( )
引数
listboxname
説明
リストボックス コントロールまたはピクチャ リストボック
ス コントロールの名前を指定します。指定されたコント
ロール内で現在選択されている項目のテキストを返します。
戻り値
String 型。listboxname 内で選択されている項目のテキストを返します。
項目が選択されていない場合には、空の文字列("")を返します。
listboxname が null の場合、null を返します。
解説
SelectedIndex 関数と SelectItem 関数は、単一の選択だけを許可するリス
トを想定しています。コントロールの MultiSelect プロパティは、false
です。
MultiSelect プロパティが true の場合、SelectedItem 関数は最初に選択さ
れた項目のテキストだけを取得します。SelectedItem 関数を使用せず
に、State 関数を使用してリストボックスの項目を 1 つ 1 つチェックし、
項目が選択されているかどうかを確認します。リストボックスの中の
項目のテキストを取得するには、Text 関数を使用します。
例
リストボックス lb_shortcuts 内で選択されている項目のテキストが F1
の場合、次の例は ls_item に F1 を設定します。
string ls_Item
ls_Item = lb_Shortcuts.SelectedItem()
関連項目
SelectedIndex
State
PowerScript リファレンス ボリューム 2
1029
SelectedLength
SelectedLength
機能
編集可能なコントロール内で選択されているテキストの文字数の合計
を返します。文字数には、空白と行末文字も含まれます。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、リッチテキスト エ
ディット コントロール、ドロップダウン リストボックス コントロー
ル、ドロップダウン ピクチャ リストボックス コントロール
構文
editname.SelectedLength ( )
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストの長さを返します。
データウィンドウ コントロールの名前を指定すると、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストの長さを返します。
戻り値
データウィンドウ、インクエディット、およびリストボックスの場合
は Integer 型、ほかのコントロールの場合は Long 型
editname に指定されたコントロール内で選択されているテキストの長
さを返します。テキストを選択しなかった場合、0 を返します。エラー
が発生した場合、-1 を返します。
editname が null の場合、null を返します。
解説
1030
リッチテキスト コントロールのテキストを除いて、行末文字(〔Ctrl〕
+〔Enter〕または〔Enter〕を入力したときに生成される)は、プラッ
トフォームによって異なります。Windows の場合は、キャリッジ リ
ターン(CR)とライン フィード(LF)で、長さを計算するときには 2
文字として数えられます。ほかのプラットフォームでは、行末文字は
1 文字です。自動的に折り返された行には、行末文字はありません。ド
ロップダウン リストボックス コントロールとドロップダウン ピク
チャ リストボックス コントロールの場合、コントロールの AllowEdit
プロパティが false のときには -1 を返します。
PowerBuilder
第 10 章
PowerScript 関数
リッチテキスト エディット コントロール
リッチテキスト コントロールでは、キャリッジ リターンとライン
フィードは、テキストの長さを計算するときに常に 1 文字として数え
られます。
ドロップダウン リストボックスでのフォーカスと選択
ドロップダウン リストボックス コントロールまたはドロップダウン
ピクチャ リストボックス コントロールがフォーカスを失うと、選択さ
れていたテキストの選択状態が解除されます。
例
マルチライン エディット コントロール mle_Contact 内で John Smith とい
うテキストを選択している場合、次の例は li_length に 10 を設定します。
long ll_length
ll_length = mle_Contact.SelectedLength()
関連項目
LineLength
SelectedItem
SelectedLine
SelectedPage
SelectedStart
TextLine
SelectedLine
機能
編集可能なコントロール内で挿入ポイントを含む行の番号を取得します。
挿入ポイントは、現行行がキャリッジ リターンを含む場合には次の行
に移動します。
対象
データウィンドウ コントロール、マルチライン エディット コントロー
ル、リッチテキスト エディット コントロール
構文
editname.SelectedLine ( )
PowerScript リファレンス ボリューム 2
1031
SelectedLine
引数
editname
説明
データウィンドウ コントロール、マルチライン エディッ
ト コントロール、またはリッチテキスト エディット コン
トロールの名前を指定します。指定されたコントロール内
で挿入ポイントを含む行の行番号を取得します。データ
ウィンドウ コントロールの名前を指定すると、エディット
コントロール内の現行の行とカラムの行番号を返します。
戻り値
Long 型。正常に終了した場合、editname 内で挿入ポイントを含む行の
行番号を返します。エラーが発生した場合、-1 を返します。editname
が null の場合、null を返します。
解説
エディットマスク コントロールの場合、SelectedLine 関数は動作します
が、常に 1 を返します。
挿入ポイントは、選択範囲の先頭または末尾に設定することができま
す。したがって、SelectedLine 関数は、挿入ポイントの位置に応じて選
択範囲の先頭行または最終行を返します。
例
マルチライン エディット コントロール mle_Contact の 5 行目のどこか
に挿入ポイントがある場合、次の例は li_SL に 5 を設定します。
integer li_SL
li_SL = mle_Contact.SelectedLine()
次の例では、エンド ユーザがマルチライン エディット コントロール
mle_winselect で選択している行に応じて、どのウィンドウを開くかが
決まります。
integer li_SL
li_SL = mle_winselect.SelectedLine()
IF li_SL = 1 THEN
Open(w_emp_data)
ELSEIF li_SL = 2 THEN
Open(w_dept_data)
END IF
関連項目
1032
LineLength
Position
SelectedColumn
SelectedPage
SelectedText
TextLine
PowerBuilder
第 10 章
PowerScript 関数
SelectedPage
機能
リッチテキスト エディット コントロールの現行ページの番号を取得
します。
対象
リッチテキスト エディット コントロール
構文
rtename.SelectedPage ( )
引数
rtename
説明
現行ページの番号を取得するリッチテキスト エディット
コントロールの名前を指定します。
戻り値
Integer 型。rtename に指定されたコントロールの現行ページの番号を返
します。エラーが発生した場合、-1 を返します。
解説
リッチテキスト エディット コントロールの現行ページとは、テキスト
の入力モードで挿入ポイントがあるページ、またはプレビュー モード
で現在表示されているページです。
リッチテキスト エディット コントロールがデータウィンドウ オブ
ジェクトとデータを共有している場合、SelectedPage 関数は現行の行の
文書のインスタンスのページ番号を返します。
文書のインスタンスについての詳細は、DataSource 関数を参照してく
ださい。
例
次の例は、現行ページのページ番号を返します。
integer li_pagect
li_pagect = rte_1.SelectedPage()
関連項目
DataSource
PageCount
Preview
SelectedLength
SelectedLine
SelectedStart
SelectedText
PowerScript リファレンス ボリューム 2
1033
SelectedStart
SelectedStart
機能
編集可能なコントロール内で選択されている文字の先頭文字の位置を
返します。
対象
データウィンドウ コントロール、エディットマスク コントロール、マ
ルチライン エディット コントロール、シングルライン エディット コ
ントロール、リッチテキスト エディット コントロール、ドロップダウ
ン リストボックス コントロール、ドロップダウン ピクチャ リスト
ボックス コントロール
構文
editname.SelectedStart ( )
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストの先頭文字の位置を返します。
データウィンドウ コントロールの名前を指定すると、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストの先頭文字の位置を返します。
戻り値
Long 型。editname に指定されたコントロール内で選択されているテキ
ストの開始位置を返します。テキストが選択されていない場合、挿入
ポイントの直後にある文字の位置を返します。エラーが発生した場合、
-1 を返します。editname が null の場合、null を返します。
解説
リッチテキスト エディット コントロール以外のすべてのコントロー
ルの場合、SelectedStart 関数は行の途中にあるスペースや行末文字も含
めて、テキストの先頭から文字位置を数えます。
リッチテキスト エディット コントロールの場合、SelectedStart 関数は
選択範囲の先頭行の先頭から文字位置を数えます。先頭とは、選択範
囲の開始位置(挿入ポイント)と反対の位置(終了位置)です。たと
えば、エンド ユーザが上方向に選択した場合、選択範囲の先頭はハイ
ライト表示されているテキストの末尾になり、挿入ポイントは選択範
囲の先頭の前に設定されます。選択の先頭と末尾に関する情報が必要
な場合、Position 関数を使用してください。
1034
PowerBuilder
第 10 章
PowerScript 関数
ドロップダウン リストボックスでのフォーカスと選択
ドロップダウン リストボックス コントロールまたはドロップダウン
ピクチャ リストボックス コントロールがフォーカスを失うと、選択さ
れていたテキストの選択状態が解除されます。
例
たとえば、マルチライン エディット コントロール mle_Comment に
Closed for Vacation July 3 to July 10 という文字列が格納されていて、
Vacation
が選択されているとします。次の例は、li_Start に 12(Vacation の 1 文
字目の文字位置)を設定します。
integer li_Start
li_Start = mle_Comment.SelectedStart()
関連項目
Position
SelectedLine
SelectedPage
SelectedText
機能
編集可能なコントロール内で選択されているテキストを返します。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、リッチテキスト エ
ディット コントロール、ドロップダウン リストボックス コントロー
ル、ドロップダウン ピクチャ リストボックス コントロール
構文
editname.SelectedText ( )
PowerScript リファレンス ボリューム 2
1035
SelectedText
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストを返します。
ドロップダウン リストボックス コントロールまたはド
ロップダウン ピクチャ リストボックス コントロールの名
前を指定した場合、AllowEdit プロパティが true である必
要があります。
データウィンドウ コントロールの名前を指定した場合、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストを返します。
戻り値
String 型。editname に指定されたコントロール内で選択されているテキ
ストを返します。テキストが選択されていない場合、またはエラーが
発生した場合には、空の文字列("")を返します。editname が null の場
合、null を返します。
解説
リッチテキスト エディット コントロールでは、選択範囲内のピクチャ
は無視されます。選択範囲に入力フィールドがある場合、入力フィー
ルドの名前は { } で囲まれ、この関数から返される文字列の一部にな
ります。入力フィールドの内容は返しません。
たとえば、手紙の書き出しの挨拶文を選択した場合、SelectedText 関数
は次の文字列を返します。
Dear {title} {lastname}:
ドロップダウン リストボックスでのフォーカスと選択
ドロップダウン リストボックス コントロールまたはドロップダウン
ピクチャ リストボックス コントロールがフォーカスを失うと、選択さ
れていたテキストの選択状態が解除されます。
例
マルチライン エディット コントロール mle_Contact に James B. Smith と
いうテキストが格納されていて、James B. が選択されている場合、次の
例は emp_fname に James B. を設定します。
string ls_emp_fname
ls_emp_fname = mle_Contact.SelectedText()
ド ロ ッ プ ダ ウ ン リ ス ト ボ ッ ク ス コ ン ト ロ ー ル ddlb_Location の エ
ディット ボックス内で Maine というテキストが選択されている場合、
次の例はリストボックス コントロール lb_LBMaine を表示します。
1036
PowerBuilder
第 10 章
PowerScript 関数
string ls_Loc
ls_Loc = ddlb_Location.SelectedText()
IF ls_Loc = "Maine" THEN
lb_LBMaine.Show()
ELSE
...
END IF
関連項目
SelectText
SelectionRange
機能
トラックバー コントロールにおいて、特定の範囲の隣接する値をハイ
ライト表示します。トラックバーのチャネルでは、選択した範囲がハ
イライト表示され、範囲の両端には矢印が表示されます。
対象
トラックバー コントロール
構文
control.SelectionRange ( startpos, endpos )
引数
control
startpos
endpos
説明
トラックバー コントロールの名前を指定します。
Integer 型の値。範囲の開始位置を指定します。
Integer 型の値。範囲の終了位置を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
この関数は、推奨値の範囲を示すのに使用します。
スケジューリング アプリケーションでは、すでに予定の埋まっている
時間帯を示すことができます。選択範囲を設定しても、ユーザがその
範囲の内側または外側の値を選択できなくなるわけではありません。
例
次のステートメントは、トラックバーの 30 ~ 70 の間の値をハイライ
ト表示します。
HTrackBar.SelectionRange( 30, 70 )
関連項目
『オブジェクトとコントロール』マニュアルの「HTrackBar」
『オブジェクトとコントロール』マニュアルの「VTrackBar」
PowerScript リファレンス ボリューム 2
1037
SelectItem
SelectItem
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、またはツリービュー コントロール内の項目を検索し、選択
してハイライト表示します。
目的
リストボックス コントロールで項目のテキストだけがわ
かっていて位置がわからない場合に、項目を選択する
リストボックス コントロールでリスト内の項目の位置が
わかっている場合に、項目を選択するか、または現行の選
択範囲を解除する
ツリービュー コントロールで項目を選択する
使用する構文
構文 1
構文 2
構文 3
構文 1
項目のテキストがわかっているときにその項目を選
択する
機能
項目のテキストの一部または全部を指定できる場合に、リストボック
スの項目を検索し、選択してハイライト表示します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.SelectItem ( item, index )
引数
listboxname
item
index
戻り値
説明
行を選択するリストボックス コントロールの名前を指定
します。
String 型の値。選択する項目の先頭のテキストを指定します。
項目の番号を指定します。指定された番号の後の項目から
検索が開始されます。
Integer 型。選択されている項目のインデックス番号を返します。一致
する項目が見つからない場合は、0 を返します。エラーが発生した場
合、-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
SelectItem 関数は、index に指定された番号の後の項目から、選択する
項目の検索を開始します。指定されたテキストから始まる項目が検索
されます。指定されたテキストよりも長いテキストが項目に格納され
ていても構いません。
項目を検索するだけで、選択しない場合には、FindItem 関数を使用して
ください。
1038
PowerBuilder
第 10 章
PowerScript 関数
複数選択が可能なリストボックス
MultiSelect プロパティが true のリストボックスやピクチャ リストボッ
クスでは、SelectItem 関数は無効です。リストボックス内のほかの項目
の選択状態に影響を与えずに項目を選択するには、SetState 関数を使用
してください。
ドロップダウン リストボックスのエディット ボックスの消去
エンド ユーザが編集できないドロップダウン リストボックス コント
ロールやドロップダウン ピクチャ リストボックス コントロールのエ
ディット ボックスを消去するには、SelectItem 関数の構文 2 を使用して
ください。
例
lb_Actions の項目 5 が Delete Files の場合、次の例は項目 2 の次の項目か
ら検索を開始します。Delete Files を検索してハイライト表示し、li_Index
に 5 を設定します。
integer li_Index
li_Index = lb_Actions.SelectItem("Delete Files", 2)
lb_Actions の項目 4 が Select Objects の場合、次の例は項目 2 の次の項目
から検索を開始します。Select Objects を検索してハイライト表示し、
li_Index に 4 を設定します。
integer li_Index
li_Index = lb_Actions.SelectItem("Sel", 2)
関連項目
AddItem
DeleteItem
FindItem
InsertItem
SetState
構文 2
項目番号がわかっているときにその項目を選択する
機能
項目のインデックス番号を指定できる場合に、リストボックスから項
目を検索し、選択してハイライト表示します。また、インデックス番
号を 0 に指定して選択を解除することもできます。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
PowerScript リファレンス ボリューム 2
1039
SelectItem
構文
listboxname.SelectItem ( itemnumber )
引数
listboxname
itemnumber
説明
項目を選択するリストボックス コントロールの名前を指
定します。
Integer 型の値。リストボックスまたはドロップダウン リ
ストのリストボックス内での項目の位置(インデックス)
を指定します。
選択されている項目の選択を解除する場合、0 を指定しま
す。listboxname にリストボックス コントロールまたはピ
クチャ リストボックス コントロールの名前を指定した場
合、この引数に 0 を指定すると、選択されている項目のハ
イライト表示が取り消されます。ドロップダウン リスト
ボックス コントロールまたはドロップダウン ピクチャ リ
ストボックス コントロールの名前を指定した場合、この引
数に 0 を指定すると、テキストボックスが消去されます。
戻り値
Integer 型。選 択 さ れ て い る 項 目 の イ ン デ ッ ク ス 番 号 を 返 し ま す。
itemnumber に指定された値が無効な場合、または選択されている項目
の選択を解除するために 0 が指定された場合には、0 を返します。エ
ラーが発生した場合、-1 を返します。引数のいずれかの値が null の場
合、null を返します。
解説
項目を検索するだけで、選択しない場合には、FindItem 関数を使用して
ください。
複数選択が可能なリストボックス
MultiSelect プロパティが true のリストボックスやピクチャ リストボッ
クスでは、SelectItem 関数は無効です。リストボックス内のほかの項目
の選択状態に影響を与えずに項目を選択するには、SetState 関数を使用
してください。
ドロップダウン リストボックスのエディット ボックスの消去
エンド ユーザが編集できないドロップダウン リストボックス コント
ロールやドロップダウン ピクチャ リストボックス コントロールのエ
ディット ボックスを消去するには、itemnumber に 0 を設定します。コ
ントロールの AllowEdit プロパティが false の場合、コントロールのテ
キストを空の文字列("")に設定することはできません。
例
次の例は、項目番号 5 をハイライト表示します。
integer li_Index
li_Index = lb_Actions.SelectItem(5)
1040
PowerBuilder
第 10 章
PowerScript 関数
次の例は、ドロップダウン リストボックス コントロール ddlb_choices
のエディット ボックスから選択を解除し、li_Index に 0 を設定します。
integer li_Index
li_Index = ddlb_choices.SelectItem(0)
関連項目
AddItem
DeleteItem
FindItem
InsertItem
SetState
構文 3
ツリービュー コントロールの項目を選択する
機能
指定された項目を選択します。
対象
ツリービュー コントロール
構文
treeviewname.SelectItem ( itemhandle )
引数
treeviewname
itemhandle
説明
ツリービュー コントロールの名前を指定します。指定され
たコントロールの項目を選択します。
項目のハンドルです。指定された項目を選択します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ツリービュー コントロールの特定の位置にある項目のハンドルを取
得するには、FindItem 関数を使用します。
例
次の例は、ツリービュー コントロールの現行の項目の親を選択します。
long ll_tvi, ll_tvparent
int li_tvret
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
ll_tvparent = tv_list.FindItem(ParentTreeItem! , &
ll_tvi)
li_tvret = tv_list.SelectItem(ll_tvparent)
関連項目
FindItem
PowerScript リファレンス ボリューム 2
1041
SelectObject
SelectObject
機能
アクティブなサーバ アプリケーション以外の OLE コントロール オブ
ジェクトの選択や選択の解除を行います。サーバ アプリケーションの
メニューが、PowerBuilder アプリケーションのメニューに追加されま
す。
対象
OLE コントロール
構文
olecontrol.SelectObject ( selectstate )
引数
olecontrol
selectstate
戻り値
説明
OLE コントロールの名前を指定します。そのコントロール
の中の OLE コントロール オブジェクトを選択します。
オブジェクトの選択または選択解除を示す Boolean 型の値
を指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
コントロールは空です。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、OLE コントロール ole_1 のオブジェクトを選択します。
integer result
result = ole_1.SelectObject(TRUE)
SelectTab
機能
指定されたタブを選択し、タブ コントロールにそのタブ ページを表示
します。
対象
タブ コントロール
構文
tabcontrolname.SelectTab ( tabidentifier )
引数
tabcontrolname
1042
説明
タブを選択するタブ コントロールの名前を指定します。
PowerBuilder
第 10 章
引数
tabidentifier
PowerScript 関数
説明
選択するタブを指定します。次のいずれかを指定します。
• タブ ページ インデックス(Integer 型)
• ユーザ オブジェクトの名前(DragObject データ型、ま
たは UserObject データ型)
• ユーザ オブジェクトの名前を持つ文字列(String 型)
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
別の記述方法
SelectedTab プロパティにタブのインデックス番号を設
定してタブを選択することもできます。
tab_1.SelectedTab = 3
例
次の 3 つの例は、tab_1 の 3 番目のタブを選択します。この例は、タブ
コントロール tab_1 を含むウィンドウのコマンドボタン コントロール
に対するスクリプトに記述されています。
tab_1.SelectTab(3)
tab_1.SelectTab(tab_1.uo_3)
string ls_tabpage
ls_tabpage = "uo_3"
tab_1.SelectTab(ls_tabpage)
次の例は、ユーザ オブジェクト uo_fontsettings のインスタンスをタブ
ページとして開き、そのタブを選択します。
userobject uo_tabpage
string ls_tabpage
string ls_tabpage
tab_1.OpenTab(uo_tabpage, ls_tabpage, 0)
tab_1.SelectTab(uo_tabpage)
関連項目
OpenTab
PowerScript リファレンス ボリューム 2
1043
SelectText
SelectText
編集可能なコントロール内のテキストを選択します。
目的
リッチテキスト エディット コントロール以外の編集可能
なコントロールでテキストを選択する
リッチテキスト エディット コントロール、またはリッチ
テキスト エディット提示様式のデータウィンドウ オブ
ジェクトが格納されているデータウィンドウ コントロー
ルのテキストを選択する
使用する構文
構文 1
構文 2
構文 1
編集可能なコントロール(リッチテキスト エディッ
ト コントロール以外)でテキストを選択する
機能
編集可能なコントロール内のテキストを選択します。選択範囲の先頭
の位置と選択する文字数を指定します。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、ドロップダウン リス
トボックス コントロール、ドロップダウン ピクチャ リストボックス
コントロール
構文
editname.SelectText ( start, length )
引数
editname
start
length
戻り値
説明
データウィンドウ、エディットマスク、インクエディット、
マルチライン エディット、シングルライン エディット、ド
ロップダウン リストボックス、ドロップダウン ピクチャ
リストボックスのいずれかのコントロールの名前を指定
します。指定されたコントロールからテキストを選択しま
す。
Long 型の値。選択範囲の先頭の位置を指定します。
Long 型の値。選択する文字数を指定します。length が 0 の
場合、テキストを選択せずに、start に指定された位置に挿
入ポイントを移動します。
データウィンドウおよびリストボックスの場合は Integer 型、ほかのコ
ントロールの場合は Long 型
選択された文字数を返します。エラーが発生した場合、-1 を返します。
1044
PowerBuilder
第 10 章
解説
PowerScript 関数
コントロールにフォーカスが設定されていない場合に SelectText 関数
を呼び出すと、コントロールにフォーカスが設定されるまで、テキス
トはハイライト表示されません。選択したテキストがハイライト表示
されるように、コントロールにフォーカスを設定するには、SetFocus
関数を使用します。
選択する長さ
ライン エディットのすべてのテキストを選択する場合、またはエ
ディット コントロール内の指定された位置から最後までの内容を選
択する場合、Len 関数を使用してコントロールのテキストの長さを取得
します。
リッチテキスト エディット提示様式が定義されているデータウィン
ドウ内のテキストを選択する場合、構文 2 を使用してください。
例
次のステートメントは、シングルライン エディット コントロール
sle_name のテキストの末尾に挿入ポイントを設定します。
sle_name.SelectText(Len(sle_name.Text), 0)
次のステートメントは、シングルライン エディット コントロール
sle_name のすべての内容を選択します。
sle_name.SelectText(1, Len(sle_name.Text))
以下の 3 つの例では、マルチライン エディット コントロール
mle_EmpAddress に Boston Street というテキストが格納されているとし
ます。
次のステートメントは、ost という文字列を選択し、3 を返します。
mle_EmpAddress.SelectText(2, 3)
次のステートメントは、oston Street という文字列を選択し、12 を返し
ます。
mle_EmpAddress.SelectText(2, &
Len(mle_EmpAddress.Text))
次のステートメントは、Bos という文字列を選択し、3 を返します。さ
らに、Bos がハイライト表示されるように、mle_EmpAddress にフォーカ
スを設定します。
mle_EmpAddress.SelectText(1, 3)
mle_EmpAddress.SetFocus()
関連項目
Len
Position
PowerScript リファレンス ボリューム 2
1045
SelectText
SelectedItem
SelectedText
SetFocus
TextLine
構文 2
リッチテキスト エディット コントロールとリッチテ
キスト エディット提示様式のオブジェクトからテキ
ストを選択する
機能
リッチテキスト エディット コントロール内の指定された行と文字位
置から始まるテキスト、または指定された行と文字位置で終了するテ
キストを選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectText ( fromline, fromchar, toline, tochar { band } )
引数
rtename
fromline
fromchar
toline
tochar
band
(オプション)
説明
リッチテキスト エディット コントロール、またはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロールのテキストを選択します。データウィンドウ
コントロールのデータウィンドウ オブジェクトは、リッチ
テキスト エディット データウィンドウでなければなりま
せん。
Long 型の値。選択範囲の先頭の行番号を指定します。
Long 型の値。選択範囲の先頭の文字の位置を指定します。
Long 型の値。選択範囲の最後の行番号を指定します。挿
入ポイントを指定する場合、toline と tochar に 0 を指定し
ます。
Long 型の値。選択範囲の最後の文字の位置を指定します。
Band カタログ データ型の値。テキストを選択する区域を
指定します。値は以下のとおりです。
• Detail!
• Header!
• Footer!
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
1046
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Long 型。選択された文字数を返します。ライン フィードを持つキャ
リッジ リターンは、1 文字として数えられます。エラーが発生した場
合、SelectText は -1 を返します。また、引数のいずれかの値が null の場
合、null を返します。
解説
挿入ポイントは選択範囲の末尾に設定されます。つまり、toline と
tochar に指定された位置に設定されます。toline と tochar に指定された
位置が、fromline と fromchar に指定された位置よりも前の場合、挿入
ポイントは選択範囲の先頭に設定されます。
選択を行う場合に、文字位置として 0 を指定することはできません。
選択を行う場合に、Position 関数から返された値を使用できないことも
あります。挿入ポイントが行の先頭に設定されている場合、Position 関
数は文字位置として 0 を返します。
行全体を選択する場合、挿入ポイントを適切な位置に設定して
SelectTextLine 関数を呼び出します。行の残りの部分を選択する場合、
挿入ポイントを適切な位置に設定し、行の長さより大きい値の文字位
置を指定して SelectText 関数を呼び出します。
例
次のステートメントは、リッチテキスト エディット コントロールの 1
文字目から 3 行目の 4 文字目までのテキストを選択します。
rte_1.SelectText(1,1, 3,4)
次のステートメントは、2 行目の先頭に挿入ポイントを設定します。
rte_1.SelectText(2,1, 0,0)
次の例は、文字数として大きい値を指定して 2 行目の末尾に挿入ポイ
ントを設定します。選択範囲は、行の末尾を越えて拡張されます。
rte_1.SelectText(2,999, 0,0)
次の例は、行の実際の長さを確認して 2 行目の末尾に挿入ポイントを
設定します。この例では、挿入ポイントを行の先頭に設定し、行の長
さを確認した後で行の末尾に挿入ポイントを設定します。
long ll_length
// 2 行目を現行の行にします。
rte_1.SelectText(2,1, 0,0)
// 末尾の文字の次の位置を指定します。
ll_length = rte_1.LineLength() + 1
// 挿入ポイントを末尾の文字位置に設定します。
rte_1.SelectText(2,ll_length, 0,0)
rte_1.SetFocus()
PowerScript リファレンス ボリューム 2
1047
SelectTextAll
次の例は、現行の挿入ポイントから現行の行の末尾までのテキストを
選択します。現行の行が最終行の場合、返される行の長さは選択でき
る文字数より 1 だけ大きい値になります。このため、この例では行の
長さを調整しています。
long ll_insertline, ll_insertchar
long ll_line, ll_count
// 挿入ポイントを取得します。
rte_1.Position(ll_insertline, ll_insertchar)
// 行番号と行の長さを取得します。
ll_line = rte_1.SelectedLine()
ll_count = rte_1.LineLength()
// 行の長さには、選択できない EOF 文字
// が含まれます。
IF ll_line = rte_1.LineCount() THEN ll_count -= 1
// 挿入ポイントから
// 行末までを選択します。
rte_1.SelectText(ll_insertline, ll_insertchar, &
ll_line, ll_count)
関連項目
SelectedText
SelectTextAll
SelectTextLine
SelectTextWord
SelectTextAll
機能
キャリッジ リターンおよびエンド オブ ファイル(EOF)マーカなどの
特殊文字を含めて、リッチテキスト エディット コントロールのすべて
の内容を選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextAll ( { band } )
1048
PowerBuilder
第 10 章
引数
rtename
band
(オプション)
PowerScript 関数
説明
すべての内容を選択するリッチテキスト エディット コン
トロールまたはデータウィンドウ コントロールの名前を
指定します。データウィンドウ コントロールのデータウィ
ンドウ オブジェクトは、リッチテキスト エディット デー
タウィンドウでなければなりません。
すべてのテキストを選択する区域を指定する Band カタロ
グ データ型の値。値は以下のとおりです。
• Detail!
• Header!
• Footer!
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
戻り値
Integer 型。選択された文字数を返します。エラーが発生した場合、-1
を返します。ライン フィードを持つキャリッジ リターンは、1 文字と
して数えられます。
例
次のステートメントは、詳細区域のすべてのテキストを選択します。
rte_1.SelectTextAll()
次のステートメントは、ヘッダ区域のすべてのテキストを選択します。
rte_1.SelectTextAll(Header!)
関連項目
SelectedText
SelectText
SelectTextLine
SelectTextWord
SelectTextLine
機能
リッチテキスト エディット コントロールで挿入ポイントがある行を
選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextLine ( )
PowerScript リファレンス ボリューム 2
1049
SelectTextWord
引数
rtename
戻り値
説明
行を選択するリッチテキスト エディット コントロールま
たはデータウィンドウ コントロールの名前を指定します。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
Integer 型。正常に終了した場合は選択された文字数を返し、エラーが
発生した場合は -1 を返します。
解説
リッチテキスト エディット コントロールに選択範囲が含まれている
場合、挿入ポイントはその選択範囲の先頭または末尾にあります。挿
入ポイントの位置は、テキストの選択方法によって異なります。エン
ド ユーザが文末に向かって選択した場合、選択範囲の最後の行が選択
されます。エンド ユーザが文頭に向かって選択した場合、選択範囲の
最初の行が選択されます。
SelectTextLine 関数は、行末文字(Windows ではキャリッジ リターンと
ライン フィード、UNIX ではライン フィード)を選択しません。
例
次のステートメントは、現行の行を選択します。
rte_1.SelectTextLine()
関連項目
SelectedText
SelectText
SelectTextAll
SelectTextWord
SelectTextWord
機能
リッチテキスト エディット コントロールで挿入ポイントがある単語
を選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextWord ( )
1050
PowerBuilder
第 10 章
引数
rtename
PowerScript 関数
説明
単語を選択するリッチテキスト エディット コントロール
またはデータウィンドウ コントロールの名前を指定しま
す。データウィンドウ コントロールのデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
戻り値
Integer 型。正常に終了した場合、選択された文字数を返します。単語
が選択できない場合、またはエラーが発生した場合には -1 を返しま
す。
解説
単語は英数字の任意のグループです。単語には下線と単引用符を含め
ることができますが、句読点や、$、# などの特殊文字を含めることは
できません。選択された単語の後に句読点や特殊文字がある場合、句
読点や特殊文字は選択されません。
挿入ポイントの後にある文字が空白、句読点、特殊文字、または行末
記号の場合、SelectTextWord 関数は何も選択せずに -1 を返します。
例
次のステートメントは、挿入ポイントがある単語を選択します。
rte_1.SelectTextWord()
次の例は、挿入ポイントがある位置で単語を選択します。単語がない
場合は、単語が見つかるまで挿入ポイントの位置を移動します。単語
を検索しながら、行の終わりに到達したことをチェックし、次の行へ
と折り返します。このスクリプトがコマンドボタンに割り当てられて
いる場合に、そのボタンが繰り返しクリックされると、単語から単語
へと選択範囲が移動していきます。
integer li_rtn
long llstart, lcstart, ll_lines, ll_chars
ll_lines = rte_1.LineCount()
ll_chars = rte_1.LineLength()
li_rtn = rte_1.SelectTextWord()
// 挿入ポイントがある位置で単語が見つからない場合、-1 を返します。
DO WHILE li_rtn = -1
// カーソルの位置を取得します。
rte_1.Position(llstart, lcstart)
// 次の単語を検索するために、位置に 1 を加算します。
lcstart += 1
// 行の終わりに到達した場合、次の行へ移動します。
PowerScript リファレンス ボリューム 2
1051
Send
IF lcstart >= ll_chars THEN
lcstart = 1 // 先頭文字
llstart += 1 // 次の行
// 最後の行を越えた場合、終了します。
IF llstart > ll_lines THEN
RETURN 0
END IF
END IF
// 挿入ポイントを設定します。
rte_1.SelectText(llstart, lcstart, 0, 0)
// 挿入ポイントを設定した後で、
// 行の長さを取得します。
ll_chars = rte_1.LineLength( )
// 単語を選択します。
li_rtn = rte_1.SelectTextWord()
LOOP
// 単語を処理するコードをここに追加します
// (たとえば、スペル チェッカーに単語を渡すなど)
。
関連項目
SelectedText
SelectText
SelectTextAll
SelectTextLine
Send
機能
ウィンドウにメッセージを送信します。メッセージは即時に実行され
ます。
構文
Send ( handle, message#, lowword, long )
引数
handle
message#
1052
説明
PowerBuilder またはほかのアプリケーションで生成された
ウィンドウのハンドルを表す Long 型を指定します。指定
したハンドルのウィンドウに対して、メッセージが送信さ
れます。
送信するメッセージ番号を表す UnsignedInteger 型を指定
します。
PowerBuilder
第 10 章
引数
lowword
long
PowerScript 関数
説明
送信するメッセージの整数値を表す Long 型の値を指定し
ます。メッセージがこの引数を使用しない場合は、0 を指
定します。
送信するメッセージが使用する Long 型の値または文字列
を指定します。
戻り値
Long 型。正常に終了した場合は Windows の SendMessage から返された
値を返し、エラーが発生した場合は -1 を返します。引数のいずれかの
値が null の場合、null を返します。
解説
PowerBuilder の Send 関数は、message# で識別されたメッセージとオプ
ションの lowword および long を handle で指定されたウィンドウに送信
し、Windows の SendMessage 関数に処理を依頼します。オブジェクト
のメッセージ キューをバイパスしてメッセージはオブジェクトに直
接送信されます。メッセージが処理され、SendMessage 関数の戻り値
を取得するまで、Send 関数は待ち状態になります。
Windows のメッセージ
PowerBuilder オブジェクトの Windows ハンドルを取得するには、
Handle 関数を使用します。
Windows のメッセージは、番号で指定します。詳細については、
Microsoft Windows Software Development Kit(SDK)や、ほかの
Windows 開発キット内の WINDOWS.H ファイルを参照してください。
メッセージの追加
Send 関数を使用してメッセージを送信すると、即時に実行されます。
メッセージをオブジェクトのメッセージ キューの一番後ろに入れる
には、Post 関数を使用してください。
例
次のステートメントは、ダイアログボックス w_emp を 1 ページスク
ロールアップします。
Send(Handle(w_emp), 277, 2, 0)
次の 2 つのステートメントは、どちらもコマンドボタン cb_OK をク
リックします。
Send(Handle(Parent), 273, 0, Handle(cb_OK))
cb_OK.TriggerEvent(Clicked!)
PowerScript リファレンス ボリューム 2
1053
Send
次の例では、Send 関数を使用してデータウィンドウを最大化または最
小化し、そのデータウィンドウを標準に戻します。Send 関数を使用し
て上記の操作を行うメッセージを送る前に、データウィンドウ コント
ロールの TitleBar、Minimize、Maximize の各プロパティを使用可能に
してください。また、データウィンドウ コントロールに最小化のアイ
コンを与えてください。
次のステートメントは、データウィンドウを最小化します。
Send(Handle(dw_whatever), 274, 61472, 0)
次のステートメントは、データウィンドウを最大化します。
Send(Handle(dw_whatever), 274, 61488, 0)
次のステートメントは、データウィンドウを標準の定義されたサイズ
にします。
Send(Handle(dw_whatever), 274, 61728, 0)
MultiSelect プロパティが true のリストボックスがあるとします。Send
関数で、リストボックスで最後にクリックされた項目を調べるメッ
セ ー ジ を 送 り ま す。次 の 例 は、リ ス ト ボ ッ ク ス コ ン ト ロ ー ル の
SelectionChanged イベントに対するスクリプトです。LB_GETCURSEL
は、リストボックスのインデックスを返します。LB_GETCURSEL が返
すインデックス値は、0 から始まります。したがって、PowerBuilder 上
のリストボックスの項目番号を取得するには、次のステートメントの
ように Send 関数からの戻り値に 1 を加算します。次の例では、idx は
ウィンドウの整数型のインスタンス変数です。
// LB_GETCURSEL の Windows メッセージを
// リストボックスに送信します
idx = Send(Handle(This), 1033, 0, 0)
idx = idx + 1
関連項目
1054
Handle
Post
PowerBuilder
第 10 章
PowerScript 関数
SeriesCount
機能
グラフのデータ系列の数を返します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SeriesCount ( { graphcontrol } )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
説明
データ系列の数を調べるグラフ コントロールの名前、また
はそのグラフ コントロールのあるデータウィンドウ コン
トロールの名前を指定します。
String 型の値。データウィンドウ コントロールのグラフの
名前を指定します。指定されたグラフのデータ系列の数を
調べます。
戻り値
Integer 型。正常に終了した場合はグラフのデータ系列の数を返し、エ
ラーが発生した場合は -1 を返します。引数のいずれかの値が null の場
合、null を返します。
例
次のステートメントは、グラフ gr_product_data のデータ系列の数を変
数 li_series_count に格納します。
integer li_series_count
li_series_count = gr_product_data.SeriesCount()
次のステートメントは、データウィンドウ コントロール dw_equipment
上のグラフ gr_computers のデータ系列の数を、変数 li_series_count に格
納します。
integer li_series_count
li_series_count = &
dw_equipment.SeriesCount("gr_computers")
関連項目
CategoryCount
DataCount
PowerScript リファレンス ボリューム 2
1055
SeriesName
SeriesName
機能
指定したデータ系列の番号に対応するデータ系列の名前を取得しま
す。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SeriesName ( { graphcontrol, } seriesnumber )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesnumber
説明
グラフ コントロールの名前、またはグラフのあるデータ
ウィンドウ コントロールの名前を指定します。そのグラフ
の中のデータ系列の名前を取得します。
String 型の値。データウィンドウ コントロールのグラフの
名前を指定します。指定されたグラフのデータ系列の名前
を調べます。
名前を取得するデータ系列の番号を指定します。
戻り値
String 型。指定されたデータ系列に割り当てられた名前を返します。エ
ラーが発生した場合、空の文字列("")を返します。引数のいずれか
の値が null の場合、null を返します。
解説
データ系列には、1 から SeriesCount 関数で返される値まで、連続した
番号が付けられています。データ系列を 1 つ削除すると、連続した番
号を付けるために、データ系列の番号は付け直されます。SeriesName
関数を使用して、指定したデータ系列の番号に対応するデータ系列の
名前を取得することができます。
例
次のステートメントは、グラフ gr_product_data のデータ系列番号 5 の
名前を変数 ls_SeriesName に格納します。
string ls_SeriesName
ls_SeriesName = gr_product_data.SeriesName(5)
次のステートメントは、データウィンドウ コントロール dw_equipment
上のグラフ gr_computers のデータ系列番号 5 の名前を変数
ls_SeriesName に格納します。
string ls_SeriesName
ls_SeriesName = &
dw_equipment.SeriesName("gr_computers", 5)
関連項目
1056
CategoryName
DeleteSeries
FindSeries
PowerBuilder
第 10 章
PowerScript 関数
SetAbort
トランザクション サーバ上のトランザクションをロールバックする
必要があることを宣言します。
トランザクションのロールバック
OLETxnObject オブジェクトのトランザクションをロール
バックする
TransactionServer オブジェクトのトランザクションをロー
ルバックする
使用する構文
構文 1
構文 2
構文 1
OLETxnObject オブジェクトのトランザクションを
ロールバックする
機能
現行のトランザクションをロールバックする必要があることを宣言し
ます。
対象
OLETxnObject オブジェクト
構文
oletxnobject.SetAbort ( )
引数
oletxnobject
説明
COM オブジェクトに接続されている OLETxnObject の名
前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
クライアントから SetAbort 関数を呼び出すと、COM+ トランザクショ
ンを強制的にロールバックできます。デフォルトでは、COM+ サーバ
上のトランザクションのすべての参加者が SetComplete 関数または
EnableCommmit 関数を呼び出している場合に、トランザクションを完
了します。
例
以下に、データベースの更新を実行するコンポーネントのメソッドに
おける SetAbort 関数の使用例を示します。
integer li_rc
OleTxnObject lotxn_obj
lotxn_obj = CREATE OleTxnObject
li_rc = lotxn_obj.ConnectToNewObject("pbcom.n_test")
IF li_rc <> 0 THEN
Messagebox( " 接続エラー ", string(li_rc) )
// エラーを処理します。
END IF
PowerScript リファレンス ボリューム 2
1057
SetAbort
lotxn_obj.f_dowork()
lotxn_obj.f_domorework()
IF /* クライアントの要求を満たしているかどうかのテスト */ THEN
lotxn_obj.SetComplete()
ELSE
lotxn_obj.SetAbort()
END IF
lotxn_obj.DisconnectObject()
関連項目
SetComplete
構文 2
TransactionServer オブジェクトのトランザクション
をロールバックする
機能
コンポーネントが現行のトランザクションの作業を完了することがで
きず、このトランザクションをロールバックする必要があることを宣
言します。メソッドが復帰するとコンポーネントのインスタンスは非
アクティブ化されます。
対象
TransactionServer オブジェクト
構文
transactionserver.SetAbort ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetAbort 関数は、EAServer における rollbackWork トランザクション プリ
ミティブに相当します。
ト ラ ン ザ ク シ ョ ン に 参 加 し て い る す べ て の コ ン ポ ー ネ ン ト は、
rollbackWork プリミティブを呼び出すことによってトランザクション
をロールバックすることができます。EAServer がトランザクションを
コミットするタイミングを決定するのは、ルート コンポーネント(ト
ランザクションを開始したコンポーネント インスタンス)のアクショ
ンだけです。
1058
PowerBuilder
第 10 章
例
PowerScript 関数
以下に、データベースの更新を実行するコンポーネントのメソッドに
おける SetAbort 関数の使用例を示します。
// インスタンス変数:
// DataStore ids_datastore
// TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
...
ll_rv = ids_datastore.Update()
IF ll_rv = 1 THEN
ts.SetComplete()
ELSE
ts.SetAbort()
END IF
関連項目
DisableCommit
EnableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetComplete
Which
PowerScript リファレンス ボリューム 2
1059
SetAlignment
SetAlignment
機能
リッチテキスト エディット コントロールで選択されている段落の配
置を設定します。
対象
リッチテキスト エディット コントロール
構文
rtename.SetAlignment ( align )
引数
rtename
align
説明
選択されている段落の配置を設定するリッチテキスト エ
ディット コントロールの名前を指定します。
段落の配置方法を指定する Alignment カタログ データ型
の値。値は以下のとおりです。
• Left! - 左揃え
• Right! - 右揃え
• Center! - 中央揃え
• Justify! - 両端揃え
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ている段落の配置を設定します。
integer li_success
li_success = rte_1.SetAlignment(Right!)
関連項目
1060
GetAlignment
GetSpacing
GetTextStyle
SetSpacing
SetTextStyle
PowerBuilder
第 10 章
PowerScript 関数
SetArgElement
機能
指定した引数要素に値を設定します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.SetArgElement ( index, argument )
引数
activexcontrol
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、これはオブジェク
ト要素の NAME 属性です。そのほかの環境で使用する場
合には、これは PowerBuilder ウィンドウ ActiveX を含むコ
ントロールを参照します。
index
Integer 型の値。引数の配置を指定します。
任意の型の引数値を指定します。
argument
戻り値
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
この関数は、InvokePBFunction 関数または TriggerPBEvent 関数より前に
呼び出して、渡される関数の引数を指定する必要があります。
JavaScript スクリプトは、この関数を使用して関数とイベントの引数を
指定しなければなりません。VBScript スクリプトは、この関数を使用
するか、または引数配列を直接指定することができます。
例
次の JavaScript の例は、SetArgElement 関数を呼び出します。
function triggerEvent(f) {
var retcd;
var rc;
var numargs;
var theEvent;
var theArg;
retcd = 0;
numargs = 1;
theArg = f.textToPB.value;
PBRX1.SetArgElement(1, theArg);
theEvent = "ue_args";
retcd = PBRX1.TriggerPBEvent(theEvent, numargs);
...
関連項目
GetArgElement
GetLastReturn
InvokePBFunction
TriggerPBEvent
PowerScript リファレンス ボリューム 2
1061
SetAutomationLocale
SetAutomationLocale
機能
OLE オブジェクトのオートメーション プログラミングに使用される
言語を設定します。スクリプトで、エンド ユーザの言語と異なる言語
を使用してオートメーション コマンドを記述した場合に、この関数を
呼び出してください。
対象
OLE オブジェクト
構文
olename.SetAutomationLocale ( language, sortorder )
引数
olename
language
説明
オートメーション言語を設定するオブジェクトの名前を
指定します。
LanguageID カタログ データ型の値。オートメーション コ
マンドに使用した言語を指定します。OLE サーバには、指
定された言語で定義された関数名やプロパティ名が必要
です。
通常、次のような LanguageID を指定します。
• LanguageNeutral! - 言語は特に指定されていません。
オートメーション コマンドとサーバの標準のコマンド
セットは一致していません。
• LanguageUserDefault! - エンド ユーザのコントロール
パネルの地域設定を使用します。
• LanguageSystemDefault! - エンド ユーザのローカル マ
シンにインストールされた Windows システムで使用さ
れている言語を使用します。
LanguagePolish! や LanguagePortuguese_Brazilian! など、
言語や方言を指定することもできます。
sortorder
LanguageID の特定の言語の値については、PowerBuilder
のブラウザを参照してください。
LanguageSortID カタログ データ型の値。言語のソート順を
指定します。値は以下のとおりです。
• LanguageSortNative! - 選択された言語の一般的なソー
ト順
• LanguageSortUnicode! - Unicode で定義されたソート順
戻り値
1062
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
ほとんどの場合、SetAutomationLocale 関数を呼び出す必要はありませ
ん。オートメーション コマンドが実行できなかった場合、PowerBuilder
は Error イベントを起動する前に別の言語で実行しようとします。
PowerBuilder がコマンドを実行するときに使用する言語は、次のとお
りです。
1
サーバが理解する言語のコマンド(標準のコマンド)
2
現行の言語(エンド ユーザがコントロール パネルで設定した言語
と異なる場合)
3
エンド ユーザがコントロール パネルで設定した言語
(LanguageUserDefault!)
4
システムで使用されている言語(LanguageSystemDefault!)
5
英語(LanguageEnglish!)
PowerBuilder が上記のいずれかの言語で名前の妥当性検査に成功した
場合、成功した値で言語を再設定します。したがって、OLE サーバに
設定されている言語とは異なる言語を設定してしまう可能性がありま
す。ただし Microsoft Office 製品の場合は、通常、出荷されている地域
の言語と英語の両方の言語に対応しているので、動作に支障はないで
しょう。
SetAutomationLocale 関数で指定した言語に OLE サーバが対応していな
い場合に、動作する言語を上記の方法で検索できなかったときは、OLE
オートメーション コマンドは実行できません。このような場合には、
SetAutomationLocale 関数を使用して正しい言語を設定してください。
例
次の例は、oleobj_report という OLEObject の言語をドイツ語に設定しま
す。
oleobj_report.SetAutomationLocale(LanguageGerman!)
次の例は、OLE コントロール ole_1 の言語をドイツ語に設定します。
ole_1.Object.SetAutomationLocale(LanguageGerman!)
PowerScript リファレンス ボリューム 2
1063
SetAutomationPointer
SetAutomationPointer
機能
OLEObject オブジェクトのオートメーション ポインタを別のオブジェ
クトのオートメーション ポインタの値に設定します。
対象
OLEObject
構文
oleobject.SetAutomationPointer ( object )
引数
oleobject
object
戻り値
説明
OLEObject 変数の名前を指定します。この変数のオート
メーション ポインタを設定します。OLE コントロールの
Object プロパティである OLEObject を指定することはで
きません。
oleobject で指定したポインタ値を設定するために使用す
るオートメーション ポインタを格納している OLEObject
変数の名前を指定します。
Integer 型。
正常に終了した場合は 0 を返し、有効な OLE オートメーショ
ン ポインタがオブジェクトに含まれていない場合は -1 を返します。
解説
SetAutomationPointer 関数は、OLE が使用する基底のオートメーション
ポインタを OLEObject の子孫に割り当てます。
例
次の例は、OLEObject 変数を作成し、ConnectToNewObject 関数を呼び出
して新規の Excel オブジェクトを作成し、そのオブジェクトに接続し
ます。また、OLEObject の子孫である oleobjectchild 型のオブジェクト
を作成し、
子孫オブジェクトのオートメーション ポインタを OLEObject
オブジェクト内のオートメーション ポインタの値に設定します。次
に、子孫オブジェクトを使用してワークシート内の値を設定し、それ
を別のファイルに保存してから両方のオブジェクトを破棄します。
OLEObject ole1
oleobjectchild oleChild
integer rs
ole1= CREATE OLEObject
rs = ole1.ConnectToNewObject("Excel.Application")
oleChild = CREATE oleobjectchild
rs = oleChild.SetAutomationPointer(ole1 )
IF ( rs = 0 ) THEN
oleChild.workbooks.open("d:\temp\expenses.xls")
oleChild.cells(1,1).value = 11111
oleChild.activeworkbook.saveas( &
"d:\temp\newexp.xls")
oleChild.activeworkbook.close()
oleChild.quit()
1064
PowerBuilder
第 10 章
PowerScript 関数
END IF
ole1.disconnectobject()
DESTROY oleChild
DESTROY ole1
SetAutomationTimeout
機能
PowerBuilder クライアントがサーバに対する OLE プロシージャ コー
ルを取り消すまでに待つ時間をミリ秒単位で設定します。
対象
OLEObject オブジェクト
構文
oleobject.SetAutomationTimeout ( interval )
引数
oleobject
interval
説明
タイムアウト期間を設定するオブジェクトを格納してい
る OLEObject 変数を指定します。
32 ビットの Long 型の符号付き整数値。PowerBuilder のク
ライアントがプロシージャ コールを取り消すまでに待つ
時間の長さをミリ秒単位で指定します。デフォルト値は
300,000 ミリ秒(5 分)です。0 または負の値を指定した場
合、interval はデフォルト値にリセットされます。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
この関数は、interval の値を PowerBuilder の IMessageFilter インタフェー
スの実装に渡し、PowerBuilder が OLE プロシージャ コールを試行する
時間の長さを決定します。値は、PowerBuilder が OLE クライアントの
場合にだけ適用され、PowerBuilder が OLE サーバの場合には適用され
ません。
デフォルトのタイムアウト期間
ほとんどの場合、SetAutomationTimeout 関数を呼び出す必要はありませ
ん。通常は、デフォルトのタイムアウト期間である 5 分が適切です。
特定の OLE リクエストが 5 分より長くかかると予想される場合は、
SetAutomationTimeout 関数を使用してデフォルトのタイムアウト期間を
変更してください。
タイムアウト期間が短すぎる場合、PowerBuilder アプリケーション実
行 エ ラ ー R0035 が 発 生 す る 場 合 が あ り ま す。こ の よ う な 場 合 は、
SetAutomationTimeout 関数を使用してタイムアウト期間を延長します。
PowerScript リファレンス ボリューム 2
1065
SetBoldDate
タイムアウト期間が満了した場合、実行時エラー 1037 が発生します。
このエラーを処理するためのコードを追加してください。通常は、サー
バがハングアップしていることを示すだけです。トランザクションを
取り消すと、サーバとオペレーティング システムの両方でしばしばメ
モリ リークが発生することに注意してください。
SetAutomationTimeout 関数で指定する値は、ほかのオブジェクトに関連
する呼び出しを含め、現行のセッションのすべての OLE トランザク
ションに適用されます。
例
次の例は、ConnectToObject 関数を呼び出して Excel ワークシートに接続
し、タイムアウト期間を 900,000 ミリ秒(15 分)に設定します。
OLEObject ole1
integer rs
long interval
interval = 900000
ole1 = create OLEObject
rs = ole1.ConnectToObject("Excel.Application")
rs = ole1.SetAutomationTimeOut(interval)
SetBoldDate
機能
指定した日付を太字で表示します。
対象
月表示カレンダ コントロール
構文
controlname.SetBoldDate ( d, onoff {, rt } )
引数
controlname
d
onoff
説明
太字の日付を設定する月表示カレンダ コントロールの名
前を指定します。
太字が設定される日付を指定します。
Boolean 型の値。日付を太字にするかどうかを指定します。
値は以下のとおりです。
true - 日付を太字にします。
false - 日付の太字設定を解除します。
1066
PowerBuilder
第 10 章
引数
rt
(オプション)
PowerScript 関数
説明
MonthCalRepeatType カタログ データ型変数の値。値は以下
のとおりです。
Once! - 指定した日付の太字を設定または解除します
(デフォルト)。
Monthly! - 指定した日付の日の部分を使用して、すべ
ての月で、特定の日だけ太字を設定または解除します。
Yearly! - 指定した日付の日と月の部分を使用して、す
べての年でその特定の日付だけ太字を設定または解除
します。
戻り値
解説
Integer 型。正常に終了した場合は 0 を返します。失敗した場合は、次
のいずれかの負の値を返します。
-1
無効な引数が指定されました。
-2
不明なエラーです。
SetBoldDate 関数を使用して、記念日など、特定の日付を太字で表示す
るように指定できます。指定した日付が太字に設定されている場合は、
2 番 目 の パ ラ メ ー タ と し て false を 渡 す と 太 字 を 解 除 で き ま す。
ClearBoldDates 関数は、このような設定をすべて解除します。
例
次の例では、mcVacation コントロールで 2005 年 1 月 5 日に太字を設定
します。
integer li_return
Date d
d = date("2005/01/05")
li_return = mcVacation.SetBoldDate( d, true)
次の例では、mcVacation コントロールで毎月 5 日に太字を設定します。
integer li_return
Date d
d = date("2005/01/05")
li_return = mcVacation.SetBoldDate( d, true, Monthly!)
次の例では、mcVacation コントロールで毎年 1 月 5 日に太字を設定し
ます。
integer li_return
Date d
d = date("2005/01/05")
li_return = mcVacation.SetBoldDate( d, true, Yearly!)
PowerScript リファレンス ボリューム 2
1067
SetByte
次の例は、mcVacation コントロールでの毎月 5 日の太字設定を解除し
ます。
integer li_return
Date d
d = date("2005/01/05")
li_return = mcVacation.SetBoldDate( d, false, Monthly!)
関連項目
ClearBoldDates
SetByte
機能
blob 変数に Byte 型のデータを設定します。
構文
SetByte ( blobvariable, n, b)
引数
blobvariable
説明
n
Byte データ型の値を挿入する blobvariable 内の位置の番号を
b
指定します。
位置 n に blobvariable に設定する Byte データ型のデータを指
定します。
Byte データ型の値を挿入する Blob データ型の変数を指定し
ます。
戻り値
Integer 型。正常に終了した場合は 0 を返します。n が blobvariable のス
コープを超える場合は -1 を返します。いずれかの引数が null の場合は、
null を返します。
例
次の例は、emp_photo blob の先頭の位置に 37 に相当する byte データ型
の値を追加します。byte データ型が 2 番目の位置で指定されない場合、
blob は 2 番目のメッセージ ボックスに 37 に相当する ASCII 文字
(パー
セント文字、%)で表示されます。
blob {100} emp_photo
byte b1 = byte (37)
int li_rtn
li_rtn = SetByte(emp_photo, 1, b1)
messagebox("setbyte", string(b1))
messagebox("setbyte", string(emp_photo))
関連項目
1068
Byte
GetByte
PowerBuilder
第 10 章
PowerScript 関数
SetColumn
機能
データウィンドウ コントロール、子データウィンドウ、または リスト
ビュー コントロールのカラム情報を設定します。
データウィンドウまたは子データウィンドウの場合の構文について
は、『データウィンドウ リファレンス』マニュアルまたはオンライン
ヘルプの「SetColumn メソッド」を参照してください。
対象
リストビュー コントロール
構文
listviewname.SetColumn ( index, label, alignment, width )
引数
listviewname
index
label
alignment
説明
リストビュー コントロールの名前を指定します。そのコン
トロールのカラムのプロパティを設定します。
プロパティを設定するカラムの番号を指定します。
プロパティを設定するカラムのラベルを指定します。
Alignment カタログ データ型の値。カラムの配置を指定し
ます。値は以下のとおりです。
• Left! - 左揃え
• Right! - 右揃え
• Center! - 中央揃え
width
• Justify! - SetColumn 関数では無効です。
プロパティを設定するカラムの幅を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetColumn 関数は、レポート ビューだけで使用できます。
例
次の例は、リストビュー コントロールの 2 番目のカラムのプロパティ
を設定します。
lv_list.SetColumn(2 , "Order" , Center! , 800)
関連項目
AddColumn
AddItem
SetItem
PowerScript リファレンス ボリューム 2
1069
SetComplete
SetComplete
トランザクション サーバ上のトランザクションをコミットする必要
があることを宣言します。
トランザクションのコミット
OLETxnObject オブジェクトのトランザクションをコミッ
トする
TransactionServer オブジェクトのトランザクションをコ
ミットする
使用する構文
構文 1
構文 2
構文 1
OLETxnObject オブジェクトのトランザクションを
コミットする
機能
現行のトランザクションをコミットする必要があることを宣言しま
す。
対象
OLETxnObject オブジェクト
構文
oletxnobject.SetComplete ( )
引数
oletxnobject
説明
COM オブジェクトに接続されている OLETxnObject の名
前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
クライアントから SetComplete 関数を呼び出すと、COM+ サーバ上の
トランザクションのすべての参加者が SetComplete 関数または
EnableCommmit 関数を呼び出している場合に、COM+ トランザクション
を完了することができます。DisableCommit 関数または SetAbort 関数を
呼び出している参加者が 1 人でもいれば、トランザクションは完了さ
れません。
例
以下は、データベースの更新を実行するコンポーネントのメソッドに
おける SetComplete 関数の使用例を示しています。
integer li_rc
OleTxnObject lotxn_obj
lotxn_obj = CREATE OleTxnObject
li_rc = lotxn_obj.ConnectToNewObject("pbcom.n_test")
IF li_rc <> 0 THEN
Messagebox( " 接続エラー ", string(li_rc) )
1070
PowerBuilder
第 10 章
PowerScript 関数
// エラーを処理します。
END IF
lotxn_obj.f_dowork()
lotxn_obj.f_domorework()
lotxn_obj.SetComplete()
lotxn_obj.DisconnectObject()
関連項目
SetAbort
構文 2
TransactionServer オブジェクトのトランザクション
をコミットする
機能
コンポーネントが参加しているトランザクションをコミットし、コン
ポーネントのインスタンスを非アクティブ化する必要があることを宣
言します。
対象
TransactionServer オブジェクト
構文
transactionserver.SetComplete ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetComplete 関数は、EAServer における completeWork トランザクション
プリミティブに相当します。
ト ラ ン ザ ク シ ョ ン に 参 加 し て い る す べ て の コ ン ポ ー ネ ン ト は、
rollbackWork プリミティブを呼び出すことによってトランザクション
をロールバックすることができます。EAServer がトランザクションを
コミットするタイミングを決定するのは、ルート コンポーネント(ト
ランザクションを開始したコンポーネント インスタンス)のアクショ
ンだけです。
トランザクションは、次のいずれかの状況が発生したときにコミット
されます。
•
ルート コンポーネントが completeWork の状態で復帰し、トランザ
クションに参加しているどのコンポーネントも disallowCommit の
状態を設定していない場合
PowerScript リファレンス ボリューム 2
1071
SetComplete
•
クライアントからの明示的な破棄によって、ルート コンポーネン
トが非アクティブ化され、トランザクションに参加しているどの
コンポーネントも disallowCommit の状態を設定していない場合(事
前の明示的な破棄要求を伴わないクライアントの接続解除は、常
にロールバックの原因となります)
トランザクションの状態のプリミティブは、すべてのコンポーネント
で使用できます。コンポーネントが transactional として宣言されていな
くてもかまいません。メソッドから completeWork または rollbackWork を
呼び出すと、非アクティブ化のタイミングが早くなります。
例
以下は、データベースの更新を実行するコンポーネントのメソッドに
おける SetComplete 関数の使用例を示しています。
// インスタンス変数:
// DataStore ids_datastore
// TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
ll_rv = ids_datastore.Update()
IF ll_rv = 1 THEN
ts.SetComplete()
ELSE
ts.SetAbort()
END IF
関連項目
1072
DisableCommit
EnableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetAbort
Which
PowerBuilder
第 10 章
PowerScript 関数
SetData
機能
ユニフォーム データ転送を使用して、OLE コントロールに関連付けら
れている OLE サーバにデータを設定します。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.SetData ( clipboardformat, data )
引数
olename
clipboardformat
data
説明
データの転送先である OLE サーバに関連付けられている
OLE コントロール、または OLE カスタム コントロールの
名前を指定します。
データの形式を指定します。標準の形式は、
ClipboardFormat カタログ データ型の値で指定できます。
また、独自の形式は、文字列で指定します。
ClipboardFormat カタログ データ型の値は、次のとおりです。
ClipFormatBitmap!
ClipFormatDIB!
ClipFormatDIF!
ClipFormatEnhMetafile!
ClipFormatHdrop!
ClipFormatLocale!
ClipFormatMetafilePict!
ClipFormatOEMText!
ClipFormatPalette!
ClipFormatPenData!
ClipFormatRIFF!
ClipFormatSYLK!
ClipFormatText!
ClipFormatTIFF!
ClipFormatUnicodeText!
ClipFormatWave!
clipboardformat に指定された値が空の文字列("")または
null の場合、SetData 関数は ClipFormatText! 形式でデータ
を転送します。
String 型または Blob 型の値。転送するデータを指定しま
す。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
OLE サーバがサポートしていないクリップボード形式を指定すると、
SetData 関数はエラーを返します。OLE サーバがサポートしている形式
を調べるには、OLE サーバのマニュアルを参照してください。
PowerScript リファレンス ボリューム 2
1073
SetDataDDE
SetData 関数は、ユニフォーム データ転送を介して OLE サーバのデー
タを取得します。ユニフォーム データ転送とは、Microsoft が定義した
もので、コンテナ アプリケーションとの間でデータを交換する機構で
す。PowerBuilder では、グローバル ハンドルを介してデータ転送を実
行できます。また、OLE サーバでは、グローバル ハンドルを介した
データ転送がサポートされている必要があります。データ転送がサ
ポートされていない場合は、そのサーバとの間でデータ転送を行うこ
とはできません。
例
2 つの OLE コントロール(Microsoft Word の表と Microsoft Graph)の
間でデータを転送する例については、GetData 関数を参照してくださ
い。
関連項目
GetData
SetDataDDE
機能
PowerBuilder が DDE サーバとして動作しているとき、DDE クライアン
ト アプリケーションにデータを送信します。通常、RemoteRequest イ
ベ ン ト に 対 す る ス ク リ プ ト で、SetDataDDE 関 数 を 呼 び 出 し ま す。
RemoteRequest イベントは、クライアント アプリケーションからの
DDE データ要求によって発生します。
構文
SetDataDDE ( string {, applname, topic, item } )
引数
string
applname
(オプション)
topic
(オプション)
item
(オプション)
戻り値
説明
DDE クライアント アプリケーションに送信する文字列を
指定します。
クライアント アプリケーションの DDE 名を指定します。
DDE クライアント アプリケーションが参照する基本デー
タのグループを表す文字列を指定します。
文字列(topic 内のデータ)を指定します。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、以下の負の整数のいずれかを返します。値は以下のとおりです。
-1
-2
不正な文脈で関数が呼び出されました。
データが受け入れられません。
引数のいずれかの値が null の場合、null を返します。
1074
PowerBuilder
第 10 章
解説
PowerScript 関数
PowerBuilder アプリケーションで DDE サーバ モードを使用するため
に、StartServerDDE 関数を呼び出します。DDE クライアント アプリケー
ションからメッセージを送信して PowerBuilder ウィンドウを起動しま
す。DDE サーバが DDE クライアントの要求にどう答えるかを、起動
されたウィンドウのイベントに対するスクリプトに記述します。DDE
クライアントが DDE サーバのデータを要求すると、RemoteRequest イ
ベントが起動します。通常、ウィンドウの RemoteRequest イベントに
対するスクリプトの中で SetDataDDE 関数を呼び出します。
DDE クライアント アプリケーションが PowerBuilder アプリケーショ
ンの中のロケーションとホット リンクを確立している場合、そのロ
ケーションに関連付けられるオブジェクトのイベントに対するスクリ
プトの中で、SetDataDDE 関数を呼び出すことができます。サーバ アプ
リケーションとして、アプリケーションのコントロールにロケーショ
ン名をどのようにマッピングするかを決めます。たとえば、DDE loc1
はシングルライン エディット コントロール sle_name を参照するとし
ます。また、DDE クライアント loc1 とホット リンクを確立していると
します。
sle_name の Modified イベントに対するスクリプトで SetDataDDE
関数を呼び出すと、クライアントは sle_name が変更されるたびに変更
内容を受信します。loc1 がデータウィンドウを参照する場合、データ
ウ ィ ン ド ウ の ItemChanged イ ベ ン ト に 対 す る ス ク リ プ ト の 中 で
SetDataDDE 関数を呼び出すことができます。
applname は、アプリケーションにチャネルまたはホット リンクを確立
しているクライアント アプリケーションを参照します。topic と item
は、サーバ アプリケーションによって認識されるトピックとロケー
ションを参照します。それらの引数を指定するだけで、どのクライア
ント アプリケーションに対して、何のデータを送信するかを知らせる
ことができます。
例
次のステートメントは、ほかの DDE アプリケーションがデータを要求
したときに、RemoteRequest イベントに対するスクリプトで SetDataDDE
関数が使用されるかどうかを示しています。送信されたデータは、シ
ングルライン エディット コントロール sle_Address のテキストです。
SetDataDDE(sle_Address.Text)
次のステートメントは、オプション引数を指定した例です。
SetDataDDE(sle_Address.Text, "MYDB", &
"Employee", "Address")
関連項目
GetDataDDE
StartServerDDE
PowerScript リファレンス ボリューム 2
1075
SetDataPieExplode
SetDataPieExplode
機能
円グラフから一片を切り離します。そのデータを強調するために、一
片を円の中心から切り離します。複数の円スライス(片)を切り離す
ことができます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetDataPieExplode ( { graphcontrol, } seriesnumber,
datapoint, percentage )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesnumber
datapoint
percentage
説明
グラフ コントロールまたはそのグラフを持つデータウィ
ンドウ コントロールの名前を指定します。指定されたグラ
フ コントロールから、一片を切り離します。
一片を切り離すデータウィンドウ コントロール上のグラ
フの名前を表す文字列を指定します。
データ系列を識別する番号を指定します。
切り離すデータ ポイント(一片)の番号を指定します。
一片の中心からの距離と半径の百分率を表す 0 ~ 100 の数
値を指定します。percentage が 100 の場合、一片の先端が
円周上に位置付けられます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
円グラフ以外のグラフでは、SetDataPieExplode 関数は無効です。
例
次の例は、グラフ内でエンド ユーザがダブルクリックしたときに、ポ
インタの下の一片を 50% 離します。次のスクリプトでは、GraphType
プロパティをチェックしてそのグラフが円グラフかどうかを確認しま
す。次に、ObjectAtPointer 関数を使用してデータ系列とデータ ポイント
の値を取得します。この値をチェックしてエンド ユーザが一片をク
リックしたことを確認してから、SetDataExplode 関数を使用します。次
の例は、グラフ オブジェクトの DoubleClicked イベントに対するスク
リプトです
integer series, datapoint
grObjectType clickedtype
integer percentage
percentage = 50
IF (This.GraphType <> PieGraph! AND &
1076
PowerBuilder
第 10 章
PowerScript 関数
This.GraphType <> Pie3D!) THEN RETURN
clickedtype = This.ObjectAtPointer( &
series, datapoint)
IF (series > 0 and datapoint > 0) THEN
This.SetDataPieExplode(series, datapoint, &
percentage)
END IF
関連項目
GetDataPieExplode
SetDataStyle
グラフのデータ ポイントの外観を指定します。そのデータ ポイントの
データ系列に設定されている外観を、SetDataStyle 関数を使用して変更
できます。
目的
データ ポイントの色を設定する
データ ポイントの線種と線幅を設定する
データ ポイントの塗りつぶしパターンまたはシンボルを
設定する
使用する構文
構文 1
構文 2
構文 3
構文 1
データ ポイントの色を設定する
機能
グラフのデータ ポイントの色を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, colortype, color )
引数
controlname
graphcontrol
(データウィンド
ウ コントロール
のみ)
(オプショ
ン)
PowerScript リファレンス ボリューム 2
説明
グラフ コントロールの名前、またはグラフがあるデー
タウィンドウ コントロールの名前を指定します。その
グラフ コントロールのデータ ポイントの色を設定しま
す。
データ ポイントの色を設定するデータウィンドウ コン
トロールの名前を表す文字列を指定します。
1077
SetDataStyle
引数
seriesnumber
datapointnumber
colortype
説明
データ ポイントの色を設定するデータ系列の番号を指
定します。
色を設定するデータ ポイントの番号を指定します。
grColorType カタログ データ型の値。色を設定するデータ
ポイントの外観を指定します。値は以下のとおりです。
• Foreground! - テキストの色
• Background! - 背景の色
• LineColor! - 線の色
color
• Shade! - 影の色(3D グラフ、立体のオブジェクトを
持ったグラフ)
colortype に設定する色を表す Long 型を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列の外観を変更するには、SetSeriesStyle 関数を使用します。
データ系列に設定された値は、そのデータ系列内のすべてのデータ ポ
イントの標準の値となります。
個別のポイントの色をデータ系列の色に戻すには、ResetDataColors 関
数を呼び出します。
データウィンドウ上のグラフでは、PowerBuilder がグラフを描画する前
にグラフ内のデータ ポイントの外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、そのイベント ス
クリプト内から SetDataStyle 関数を呼び出します。pbm_dwngraphcreate
イベントは、データウィンドウ オブジェクトにグラフが作成される直
前に起動します。
例
次の例は、グラフ gr_emp_data の Salary という名前のデータ系列内の
データ ポイント 6 に対する背景色をチェックします。背景色が赤の場
合、SetDataStyle 関数を使用して黒に設定します。
long color_nbr
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = gr_emp_data.FindSeries("Salary")
// 背景色を取得します。
gr_emp_data.GetDataStyle(SeriesNbr, 6, &
Background!, color_nbr)
// 背景色が赤の場合、黒に変更します。
IF color_nbr = 255 THEN &
gr_emp_data.SetDataStyle(SeriesNbr, 6, &
Background!, 0)
1078
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、データウィンドウ コントロール dw_employees
にあるグラフ gr_depts の Salary という名前のデータ系列内のデータ ポ
イント 6 のテキスト(前景)の色を黒に設定します。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = &
dw_employees.FindSeries("gr_depts" , "Salary")
// 背景色を設定します。
dw_employees.SetDataStyle("gr_depts" , SeriesNbr, &
6, Background!, 0)
関連項目
GetDataStyle
GetSeriesStyle
ResetDataColors
SeriesName
SetSeriesStyle
構文 2
データ ポイントの線種と線幅を設定する
機能
グラフ内のデータ ポイントの線種と線幅を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, linestyle, linewidth )
引数
controlname
説明
グラフ コントロールの名前、またはそのグラフがある
データウィンドウ コントロールの名前を指定します。
そのグラフ コントロールのデータ ポイントの線種や
線幅を設定します。
データウィンドウ コントロール中の線種と線幅を設定
するグラフの名前を表す文字列を指定します。
graphcontrol
(データウィンド
ウ コントロールの
み)(オプション)
seriesnumber
データ ポイントの線種や線幅を設定するデータ系列の
番号を指定します。
datapointnumber
線種や線幅を設定するデータ ポイントの番号を指定し
ます。
PowerScript リファレンス ボリューム 2
1079
SetDataStyle
引数
linestyle
linewidth
説明
WriteMode カタログ データ型の値。値は以下のとおり
です。
Continuous!
Dash!
DashDot!
DashDotDot!
Dot!
Transparent!
線幅をピクセルで表す Integer 型を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列の外観を変更するには、SetSeriesStyle 関数を使用します。
データ系列に設定された値は、そのデータ系列内のすべてのデータ ポ
イントの標準の値となります。
データウィンドウ上のグラフでは、PowerBuilder がグラフを描画する前
にグラフ内のデータ ポイントの外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、
そのイベント ス
クリプト内から SetDataStyle 関数を呼び出します。
pbm_dwngraphcreate イ
ベントは、データウィンドウ オブジェクトにグラフが作成される直前
に起動します。
例
次の例は、データウィンドウ コントロール dw_equipment にあるグラフ
gr_computers の Costs という名前のデータ系列内のデータ ポイント 10
に使用されている線種をチェックします。一点鎖線(-•)の場合、
SetDataStyle 関数は線を実線に設定します。線の幅は変わりません。
integer SeriesNbr, line_width
LineStyle line_style
// データ系列の番号を取得します。
SeriesNbr = dw_equipment.FindSeries( &
"gr_computers", "Costs")
// 現行の線種を取得します。
dw_equipment.GetDataStyle("gr_computers", &
SeriesNbr, 10, line_style, line_width)
// 一点鎖線(-•)の場合、実線に変更します。
IF line_style = DashDot! THEN &
dw_equipment.SetDataStyle("gr_computers", &
SeriesNbr, 10, Continuous!, line_width)
1080
PowerBuilder
第 10 章
PowerScript 関数
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetSeriesStyle
構文 3
データ ポイントの塗りつぶしパターンやシンボルを
設定する
機能
データ ポイントの塗りつぶしパターンやシンボルを指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, enumvalue )
引数
controlname
説明
グラフ コントロールの名前、またはそのグラフがある
データウィンドウ コントロールの名前を指定します。
そのデータ ポイントの外観を設定します。
String 型の値。データウィンドウ コントロール上の外
観を設定するグラフの名前を指定します。
graphcontrol
(データウィンド
ウ コントロールの
み)(オプション)
seriesnumber
データ ポイントの外観を設定するデータ系列の番号を
指定します。
datapointnumber
外観を設定するデータ ポイントの番号を指定します。
PowerScript リファレンス ボリューム 2
1081
SetDataStyle
引数
enumvalue
説明
データ ポイントの外観を設定する FillPattern カタログ
データ型または grSymbolType カタログ データ型の値。
次のいずれかの値を指定します。
塗りつぶしのパターンを変更するには、FillPattern カタ
ログ データ型の値を指定します。
Bdiagonal! - 左下から右上の斜線
Diamond!
Fdiagonal! - 左上から右下の斜線
Horizontal!
Solid!
Square!
Vertical!
シンボルの型を変更するには、grSymbolType カタログ
データ型の値を指定します。
NoSymbol!
SymbolHollowBox!
SymbolX!
SymbolStar!
SymbolHollowUpArrow!
SymbolHollowCircle!
SymbolHollowDiamond!
SymbolSolidDownArrow!
SymbolSolidUpArrow!
SymbolSolidCircle!
SymbolSolidDiamond!
SymbolPlus!
SymbolHollowDownArrow!
SymbolSolidBox!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列の外観を変更するには、SetSeriesStyle 関数を使用します。
データ系列に設定された値は、そのデータ系列内のすべてのデータ ポ
イントの標準の値となります。
データウィンドウ上のグラフでは、PowerBuilder がグラフを描画する前
にグラフ内のデータ ポイントの外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、
そのイベント ス
クリプト内から SetDataStyle 関数を呼び出します。
pbm_dwngraphcreate イ
ベントは、データウィンドウ オブジェクトにグラフが作成される直前
に起動します。
1082
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、グラフ gr_product_data の Costs という名前のデータ系列内の
データ ポイント 10 に使用されている塗りつぶしパターンをチェック
します。ダイヤモンド(Diamond!)の場合、塗りつぶしパターンを単
色塗りつぶし(solid!)に変更します。
integer SeriesNbr
FillPattern data_pattern
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
// 現行の塗りつぶしパターンを取得します。
gr_product_data.GetDataStyle(SeriesNbr, 10, &
data_pattern)
// 塗りつぶしパターンがダイヤモンドの場合、単色塗りつぶしに変更
します。
IF data_pattern = Diamond! THEN &
gr_product_data.SetDataStyle(SeriesNbr, &
10, Solid!)
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetSeriesStyle
SetDateLimits
機能
カレンダに、最後の日付と最初の日付を設定します。
対象
月表示カレンダ コントロール
構文
controlname.SetDateLimits ( min, max )
引数
controlname
min
max
PowerScript リファレンス ボリューム 2
説明
日付の制限を設定する月表示カレンダ コントロールの名
前を指定します。
日付の値。カレンダで参照または表示できる最初の日付と
して設定します。
日付の値。カレンダで参照または表示できる最後の日付と
して設定します。
1083
SetDropHighlight
戻り値
Integer 型。最初と最後の両方の日付が正常に設定された場合は 0 を返
し、それ以外の場合は次のいずれかの値を返します。
-1
無効な引数が指定されました。
-2
不明なエラーです。
解説
最初と最後の日付を設定するには、SetDateLimits 関数を使用します。
SetDateLimits は、
最初の日付以前の日付を最後の日付として設定してい
る場合は、最後の日付を最初の日付として使用し、最初の日付を最後
の日付として使用します。
例
次の例は、コントロールの最初の日付および最後の日付を設定します。
最初の日付には今日の日付を使用し、最後の日付にはエディットマス
ク コントロールで指定した日付を使用します。
integer li_return
Date mindate, maxdate
mindate = Today()
maxdate = Date(em_1.Text)
li_return = mc_1.SetDateLimits(mindate, maxdate)
関連項目
GetDateLimits
SetDropHighlight
機能
ドロップ ターゲットとして指定された項目をハイライト表示します。
対象
ツリービュー コントロール
構文
treeviewname.SetDropHighlight ( itemhandle )
引数
treeviewname
itemhandle
説明
ドラッグ アンド ドロップ操作のターゲットとして項目を
ハイライト表示するツリービュー コントロールの名前を
指定します。
ドラッグ アンド ドロップ操作のターゲットとしてハイラ
イト表示する項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ドラッグ操作で、ドロップ ターゲットを指定するのに使用します。
1084
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、ツリービュー コントロールの Clicked イベントを使用して
現行のツリービュー コントロールの項目をドロップ ターゲットとし
て設定します。
handle = tv_list.FindItem(CurrentTreeItem!,0)
tv_list.SetDropHighlight(handle)
関連項目
FindItem
SetItem
SetDynamicParm
機能
SQL の OPEN 文または EXECUTE 文で使用される
DynamicDescriptionArea の入力パラメータの値を設定します。
関数の使用制限
この関数は、動的 SQL 文の書式 4 だけで使用できます。
構文
DynamicDescriptionArea.SetDynamicParm ( index, value )
引数
DynamicDescriptionArea
index
value
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
データを設定する入力パラメータのディスクリ
プタを識別する Integer 型を指定します。Index
に指定する値は、DynamicDescriptionArea の
NumInputs の値以下でなければなりません。
index で指定された入力パラメータのディスク
リプタに設定する値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
SetDynamicParm 関数は、DynamicDescriptionArea 内の入力パラメータの
ディスクリプタ配列に、index で識別されるパラメータの値を設定しま
す。
SetDynamicParm 関数は、OPEN 文または EXECUTE 文を実行する前に、
DynamicDescriptionArea の入力パラメータのディスクリプタ配列内の
パラメータを埋めるために使用します。
PowerScript リファレンス ボリューム 2
1085
SetFirstVisible
例
次のステートメントは、SQLDA の最初の入力パラメータのディスクリ
プタに文字列 MA を設定します。
SQLDA.SetDynamicParm(1, "MA")
次のステートメントは、SQLDA の 4 番目の入力パラメータのディスク
リプタに数値 01742 を設定します。
SQLDA.SetDynamicParm(4, "01742")
次のステートメントは、SQLDA の 3 番目の入力パラメータのディスク
リプタに日付 12-31-2002 を設定します。
SQLDA.SetDynamicParm(3, "12-31-2002")
関連項目
GetDynamicDate
GetDynamicDateTime
GetDynamicNumber
GetDynamicString
GetDynamicTime
動的 SQL の使い方
OPEN Cursor
SetFirstVisible
機能
指定された項目を、ツリービュー コントロールで最初に表示される項
目として設定します。
対象
ツリービュー コントロール
構文
treeviewname.SetFirstVisible ( itemhandle )
引数
treeviewname
itemhandle
戻り値
1086
説明
最初に表示される項目を設定するツリービュー コント
ロールの名前を指定します。
ツリービュー コントロールで最初に表示される項目とし
て設定される項目のハンドルを指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章
PowerScript 関数
解説
itemhandle に指定されたツリービュー コントロールの項目にフォーカ
スを移動し、その項目をツリービュー コントロールの上端までスク
ロールするのに使用します。ただし、指定された項目をツリービュー
コントロールの上端までスクロールできない場合は、項目リストでで
きる限り上端に近い位置までスクロールします。たとえば、ツリー
ビュー コントロールの最後の項目が指定された場合は、コントロール
の上端までスクロールすることができません。
例
次の例は、現行のツリービュー コントロールの項目を、ツリービュー
コントロールで最初に表示される項目として設定します。
long ll_tvi
int li_tvret
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
li_tvret = tv_list.SetFirstVisible(ll_tvi)
IF li_tvret = -1 THEN
MessageBox(" 警告 ", " エラーが発生しました。")
END IF
関連項目
FindItem
SetItem
SetFocus
機能
指定されたオブジェクトまたはコントロールに、フォーカスを設定し
ます。
対象
すべてのオブジェクト
構文
objectname.SetFocus ( )
引数
objectname
戻り値
説明
フォーカスを設定するオブジェクトまたはコントロール
の名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。objectname が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
1087
SetGlobalProperty
解説
objectname がリストボックス コントロールの場合、SetFocus 関数は最
初の項目のまわりに長方形のフォーカスを表示します。objectname が
ドロップダウン リストボックス コントロールの場合、SetFocus 関数は
エディット ボックスをハイライト表示にします。リストボックスまた
はドロップダウン リストボックス内の項目を選択するには、SelectItem
関数を使用します。
描画オブジェクトにフォーカスを設定することはできません。した
がって、SetFocus 関数を使用しても、直線コントロール、楕円コント
ロール、長方形コントロール、丸長方形コントロールにフォーカスを
設定することはできません。
例
ウィンドウの Open イベントに対するスクリプトに記述されている次
のステートメントは、lb_Actions の最初の項目にフォーカスを移動しま
す。
lb_Actions.SetFocus()
関連項目
SetItem
SetState
SetTop
SetGlobalProperty
機能
SSL グローバル プロパティの値を設定します。
対象
SSLServiceProvider オブジェクト
構文
sslserviceprovider.SetGlobalProperty ( property, value )
引数
sslserviceprovider
1088
property
説明
SSLServiceProvider サービス インスタンスへの参照を
指定します。
設定する SSL プロパティの名前を指定します。
value
サポートされている全 SSL プロパティのリストにつ
いては EAServer のマニュアルまたは接続オブジェク
トのオンライン ヘルプを参照してください。
String 型。SSL プロパティの値を指定します。
PowerBuilder
第 10 章
戻り値
Long 型。以下のいずれかの値を返します。
0
-1
-2
-3
-10
-11
解説
PowerScript 関数
正常に終了しました。
不明なプロパティです。
プロパティが読み込み専用です。
プロパティの値が不正です。
EAServer または SSL のエラーが発生しました。
引数リストが不正です。
SetGlobalProperty 関数を使用すると、EAServer に SSL 接続している
PowerBuilder クライアントが、グローバル SSL プロパティを設定でき
ます。
SSLServiceProvider インタフェースを使って設定されたすべてのプロ
パティは、そのクライアントによって確立されたすべての EAServer
サーバへの接続に対してグローバルになります。これらのグローバル
な設定は、接続オブジェクトまたは JaguarORB オブジェクトのオプ
ションとして指定することにより、接続レベルで上書きすることがで
きます。
SSL プロパティの取得および設定を行うことができるのは、クライア
ントだけです。サーバ コンポーネントには、SSLServiceProvider サービ
スを使用する権限がありません。
例
次の例は、SetGlobalProperty 関数を使って、cacheSize プロパティの値を
300 に設定します。
SSLServiceProvider ssl
long rc
...
this.GetContextService("SSLServiceProvider", ssl)
rc = ssl.SetGlobalProperty("cacheSize", "300")
...
関連項目
GetGlobalProperty
SetItem
リスト項目の値を設定します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「SetItem メソッド」を参照してください。
PowerScript リファレンス ボリューム 2
1089
SetItem
設定する値
リストビュー コントロールの項目の値を設定する
リストビュー コントロールの項目とカラムの値を設定す
る
ツリービュー コントロールの項目の値を設定する
使用する構文
構文 1
構文 2
構文 3
構文 1
リストビュー コントロールの項目にプロパティ値を
設定する
機能
リ ス ト ビ ュ ー コ ン ト ロ ー ル の 項 目 に 関 連 付 け ら れ た デ ー タ を、
ListViewItem 変数の中に指定されたプロパティ値に設定します。
対象
リストビュー コントロール
構文
listviewname.SetItem ( index, { column }, item )
引数
listviewname
index
column
item
説明
項目のプロパティを設定するリストビュー コントロール
の名前を指定します。
項目のインデックス番号を指定します。指定された項目の
プロパティを設定します。
プロパティを設定する項目のカラムのインデックス番号
を指定します。
リストビュー コントロールの項目に割り当てるプロパ
ティ値を含む ListViewItem 変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
この構文によって、リストビュー コントロールの任意の項目のプロパ
ティを設定することができます。カラムを指定しない場合は、項目の
最初のカラムのプロパティが設定されます。レポート ビューの場合の
み、複数のカラムが表示されます。
リストビュー コントロールに項目を追加するには、AddItem 関数を使
用 します。リスト ビュー コン トロー ルにカ ラムを 追加す るには、
AddColumn 関数を使用します。リストビュー コントロールの項目のカ
ラムに対する表示値を設定する場合は、構文 2 を使用してください。
配置や幅など、カラムのプロパティを設定したい場合は、SetColumn 関
数を使用してください。これらのカラム プロパティは、ListViewItem
オブジェクトとは関連がありません。
1090
PowerBuilder
第 10 章
PowerScript 関数
リストビュー コントロールの項目に関連付けられたピクチャおよび
そのほかのプロパティ値を変更するには、GetItem 関数を使用して値を
取得し、プロパティ値を変更してから、SetItem 関数を使ってリスト
ビュー コントロールに変更を適用します。
例
次の例は、SetItem 関数を使用して リストビュー コントロール lv_list 内
で選択されている項目の状態ピクチャ インデックスを変更します。
listviewitem lvi_1
lv_list.GetItem(lv_list.SelectedIndex( ), lvi_1)
lvi_1.StatePictureIndex = 2
lv_list.SetItem(lv_list.SelectedIndex () , lvi_1)
関連項目
AddColumn
AddItem
GetItem
SetColumn
構文 2
リストビュー コントロールの特定のカラムの値を設
定する
機能
リストビュー コントロールの項目の特定のカラムの表示値を設定し
ます。
対象
リストビュー コントロール
構文
listviewname.SetItem ( index, column, label )
引数
listviewname
index
column
label
戻り値
説明
表示値を設定するリストビュー コントロールの名前を指
定します。
項目のインデックス番号を指定します。指定された項目の
表示値を設定します。
カラムのインデックス番号を指定します。指定されたカラ
ムの表示値を設定します。
リストビュー コントロールの指定された項目の指定され
たカラムに割り当てる String 型の値または変数を指定しま
す。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
1091
SetItem
解説
単一カラムのリストビュー コントロールに値を割り当てる場合も、カ
ラム番号を引数として指定する必要があります。リストビュー コント
ロールの項目のプロパティを指定する場合、構文 1 を使用してくださ
い。
例
次の例は、リストビュー コントロール lv_list 内にある既存の 3 つの項
目に対するレポート ビューの 3 つのカラムに表示値を割り当てます。
listviewitem l_lvi
integer li_count, li_index
FOR li_index = 1 to 3
li_count=li_count+1
lv_1ist.AddItem("Category " + String(li_index),
1)
NEXT
lv_list.AddColumn("Composition", Left! , 860)
lv_list.AddColumn(" Album", Left! , 610)
lv_list.AddColumn(" Artist", Left! , 710)
lv_list.SetItem(1 , 1 , "St. Thomas")
lv_list.SetItem(1 , 2 , "The Bridge")
lv_list.SetItem(1 , 3 , "Sonny Rollins")
lv_list.SetItem(2 , 1 , "So What")
lv_list.SetItem(2 , 2 , "Kind of Blue")
lv_list.SetItem(2 , 3 , "Miles Davis")
lv_list.SetItem(3 , 1 , "Goodbye, Porkpie Hat")
lv_list.SetItem(3 , 2 , "Mingus-Ah-Um")
lv_list.SetItem(3 , 3 , "Charles Mingus")
関連項目
GetItem
構文 3
ツリービュー コントロールの項目の値を設定する
機能
指定された項目に関連付けられているデータを設定します。
対象
ツリービュー コントロール
構文
treeviewname.SetItem ( itemhandle, item )
引数
treeviewname
1092
説明
ツリービュー コントロールの名前を指定します。指定され
たコントロールの特定の項目のデータを設定します。
PowerBuilder
第 10 章
引数
itemhandle
item
PowerScript 関数
説明
変更する項目に関連付けられているハンドルを指定しま
す。
変更するツリービュー コントロールの項目を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
通常、まず、GetItem 関数を呼び出してデータを編集します。次に、SetItem
関数を呼び出してツリービュー コントロールに変更結果を反映させ
ます。
例
次の例は、ItemExpanding イベントを使用してツリービュー コントロー
ルの現行の項目のピクチャ インデックスと選択されているピクチャ
インデックスを変更します。
treeviewitem l_tvi
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
tv_list.GetItem(ll_tvi , l_tvi)
l_tvi.PictureIndex = 5
l_tvi.SelectedPictureIndex = 5
tv_list.SetItem( ll_tvi, l_tvi )
関連項目
GetItem
SetLevelPictures
機能
特定のレベルのすべての項目に、ピクチャ インデックスを設定しま
す。
対象
ツリービュー コントロール
構文
treeviewname.SetLevelPictures ( level, pictureindex, selectedpictureindex,
statepictureindex, overlaypictureindex)
引数
treeviewname
level
PowerScript リファレンス ボリューム 2
説明
ツリービュー コントロールの名前を指定します。この
コントロールの指定されたレベルに、ピクチャを設定
します。
ピクチャ インデックスを設定するツリービュー コン
トロールのレベルを指定します。
1093
SetLevelPictures
引数
pictureindex
selectedpictureindex
statepictureindex
overlaypictureindex
説明
項目が選択されていない場合に表示されるピクチャを
指定する通常のピクチャ リストのインデックスを指定
します。
項目が選択されている場合に表示されるピクチャを指
定する通常のピクチャ リストのインデックスを指定し
ます。
通常のピクチャの左に表示されるピクチャを指定する
状態ピクチャ リストのインデックスを指定します。
通常のピクチャの上に表示されるピクチャを指定する
オーバーレイ ピクチャ リストのインデックスを指定
します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
個々の項目のピクチャを設定するには、GetItem 関数を呼び出してピク
チャ プロパティを設定し、SetItem 関数を呼び出して変更をツリー
ビュー コントロールにコピーします。4 つのインデックスをすべて指
定する必要があります。何も表示しない場合は 0 を指定します。
例
次の例は、ツリービュー コントロールのレベル 3 にピクチャを設定し、
次に新しいツリービュー コントロールの項目を 2 つ挿入します。
long ll_tvi, ll_child, ll_child2
int li_pict, li_level
treeviewitem l_tvi
li_level = 6
tv_list.SetLevelPictures( 3, li_level, li_level, &
li_level, li_level)
ll_tvi = tv_list.FindItem(RootTreeItem!, 0)
ll_child = tv_list.InsertItemLast(ll_tvi, "Walton",2)
ll_child2 = tv_list.InsertItemLast(ll_child, &
"Spitfire Suite", li_level)
tv_list.ExpandItem(ll_child)
tv_list.SetFirstVisible(ll_child)
関連項目
1094
AddPicture
PowerBuilder
第 10 章
PowerScript 関数
SetLibraryList
機能
実行時のアプリケーションのライブラリ探索パスのファイルを変更し
ます。
構文仕様の変更
従来と同様に、applicationname.SetLibraryList(filelist) 関数の前にアプリ
ケーション オブジェクトの名前を指定する古い構文を使用すること
もできます。
構文
SetLibraryList ( filelist )
引数
filelist
戻り値
解説
説明
カンマ(,)で区切られたファイル名のリストを指定しま
す。ファイル名は、拡張子を付けた完全な名前で指定しま
す。パスを省略すると、PowerBuilder のシステムの検索パ
スでそのファイルが検索されます。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
アプリケーションがスタンド アロンではなく、PowerBuilder から
実行されます。
-2
現行のインスタンス化されたオブジェクトは、新しいリスト上に
ないライブラリにあります。引数のいずれかの値が null の場合、null
を返します。
アプリケーションがオブジェクトをロードする場合、PowerBuilder で
は、まず実行ファイルが検索され、次にそのアプリケーションに指定
された実行時ライブラリが検索されます。SetLibraryList 関数を使用し
て、実行ファイル内で指定されているライブラリ ファイルのリストと
は異なるリストを指定することができます。
複数のコンポーネントでリソースを共有するときに起こる問題を回避
するには、EAServer に展開するコンポーネントの探索リストに PBD
ファイルを追加する際、SetLibraryList 関数のかわりに AddToLibraryList 関
数を使用する必要があります。
SetLibraryList 関数を呼び出すと、実行ファイルに指定されたライブラリ
ファイルのリストが新しいファイルのリストに変更されます。たとえ
ば、SetLibraryList 関数を使用して、多数のサブシステムを含むアプリ
ケーションのライブラリ リストを設定できます。しかしどのような場
合でも、GetLibraryList 関数を使用して現行のライブラリの探索パスを取
得した後、目的のすべてのファイルをこのリストに追加すべきです。
その後、ファイルを追加したリスト全体を filelist 引数に渡します。
PowerScript リファレンス ボリューム 2
1095
SetMask
PowerBuilder では、指定したライブラリがそのアプリケーションに適
切かどうかチェックされません。それらのライブラリにアプリケー
ションが必要とするオブジェクトが存在することを確認してくださ
い。
実行ファイルは、常にライブラリ探索パスの最初に指定します。filelist
に実行ファイルを含めても無視されます。
PowerBuilder の開発環境でアプリケーションを実行している場合、
SetLibraryList 関数は無効です。
例
次の例は、選択したアプリケーションサブシステムに基づいて、ライ
ブラリ探索パスに異なるファイルを指定します。
string ls_list
ls_list = getlibrarylist ()
CHOOSE CASE configuration
CASE "Config1"
SetLibraryList(ls_list + ",lib1.pbd, lib2.pbd, &
lib5.pbd")
CASE "Config2"
SetLibraryList(ls_list + ",lib1.pbd, lib3.pbd, &
lib4.pbd")
END CHOOSE
関連項目
AddToLibraryList
GetLibraryList
SetMask
機能
エディットマスク コントロールに、エディットマスクとエディットマ
スクのデータ型を設定します。
対象
エディットマスク コントロール
構文
editmaskname.SetMask ( maskdatatype, mask )
引数
editmaskname
1096
説明
エディットマスクを指定するエディットマスク コント
ロールの名前を指定します。
PowerBuilder
第 10 章
引数
maskdatatype
PowerScript 関数
説明
MaskDataType カタログ データ型の値。マスクのデータ型
を指定します。値は以下のとおりです。
• DateMask!
• DateTimeMask!
• DecimalMask!
• NumericMask!
• StringMask!
• TimeMask!
mask
エディットマスク コントロールを表す文字列を指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
エディットマスクは、固有の文字セットでエンド ユーザが入力できる
文字の種類を表します。また、句読点によって入力値の書式を制御し
ます。マスクのデータ型ごとに固有の有効な文字セットがあります。
たとえば、次の例は電話番号を表示する String 型のマスクです。エ
ディットマスク コントロールは、エディットマスクの句読点(カッコ
とハイフン)をそのまま表示します。# 記号はエンド ユーザが入力す
る数字を表していて、数字以外の文字を入力できません。
(###) ###-####
ウィンドウ ペインタ内のエディットマスク コントロールのエディッ
トマスクの設定 ダイアログボックスを参照して有効なマスクを指定
してください。エディットマスクの設定 ダイアログボックスの内のリ
ストボックスに、それぞれのデータ型に固有のマスク文字の意味と、
マスク文字を使用して定義されたマスクが表示されます。
数値にマスクを指定する場合、書式は U.S. 表記でなければなりません。
つまり、カンマ(,)は 1000 単位の桁区切りを表す書式で、ピリオド
(.)は小数点の位置を表す書式です。実行中に適切な位置に記号を表
示します。
エディットマスク コントロールの DropDownCalendar、Spin、または
UseCodeTable プロパティに true を設定してある場合は、SetMask 関数
を使用して maskdatatype を変更することはできません。これらのプロ
パティのいずれかに true を設定してある場合は、SetMask 関数を呼び出
す前にプロパティの値に false を設定し、その後で値に true を再設定し
ます。
PowerScript リファレンス ボリューム 2
1097
SetMessage
表示書式には色を使用できますが、エディットマスクには色を使用で
きません。
例
次のステートメントは、エディットマスク コントロール password_mask
のマスクとして、pword_code 内のマスクを設定します。このマスクは、
1 桁の数字の後に任意のデータ型の 4 桁の文字を入力するように、エ
ンド ユーザに要求します。
string pword_code
pword_code = "#xxxx"
password_mask.SetMask(StringMask!, pword_code)
次のステートメントは、エディットマスク password_mask のマスクと
して 5 桁の数字マスクを設定します。
password_mask.SetMask(NumericMask!, "#####")
SetMessage
機能
Throwable 型のオブジェクトのエラー メッセージを設定します。
構文
throwableobject.SetMessage (newMessage )
引数
throwableobject
newMessage
説明
エラー メッセージを設定する Throwable 型のオブジェク
トを指定します。
設定するメッセージを含む文字列を指定します。引用符で
囲む必要があります。
戻り値
なし
解説
ユーザ定義例外オブジェクトに対してカスタマイズしたメッセージを
設定する場合に使用します。SetMessage 関数を使用して RuntimeError
オブジェクトの事前設定されたエラー メッセージを修正することも
可能ですが、このような使用方法はお勧めできません。
例
次のステートメントの例は、Throwable 型のユーザ オブジェクトに対
してメッセージを設定しています。
MyException.SetMessage ("MyException thrown")
次の例は、try-catch ブロック内で、あるユーザ定義関数を対象にして
SetMessage 関数を使用しています。このユーザ定義関数は、テキスト
ボックスから入力値をとり、その値の逆余弦を別のテキスト ボックス
に出力します。
1098
PowerBuilder
第 10 章
PowerScript 関数
uo_exception lu_error
Double ld_num
ld_num = Double (sle_1.text)
TRY
sle_2.text = string (acos (ld_num))
CATCH (runtimeerror er)
lu_error = Create uo_exception
lu_error.SetMessage("Value must be between -1" +&
"and 1")
Throw lu_error
END TRY
関連項目
GetMessage
SetMicroHelp
機能
MDI フレーム ウィンドウのマイクロヘルプに表示されるテキストを
指定します。
対象
MDI フレーム ウィンドウ
構文
windowname.SetMicroHelp ( string )
引数
windowname
string
説明
マイクロヘルプを設定する MDI フレーム ウィンドウの名
前を指定します。
新しいマイクロヘルプのテキストを表す文字列を指定し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
コントロールの Tag プロパティは、マイクロヘルプのテキストを格納
するのに便利です。コントロールにフォーカスが移動したときに起動
する GetFocus イベントのスクリプト内で SetMicroHelp 関数を使用する
と、ウィンドウ フレーム上のステータスバーに Tag プロパティのテキ
ストを表示することができます。
PowerScript リファレンス ボリューム 2
1099
SetNewMobiLinkPassword
メニューでは、エンド ユーザがメニュー項目を選択すると、PowerBuilder
は自動的にメニュー ペインタに指定されているマイクロヘルプ テキ
ストを表示します。メニュー項目の Selected イベントに対するスクリ
プト内で SetMicroHelp 関数を使用すると、定義されていたマイクロヘ
ルプ テキストを無視して、ステータスバーにほかのテキストを表示す
ることができます。SetMicroHelp 関数は、定義されていたマイクロヘル
プ テキストを変更しません。
例
次のステートメントは、W_New のフレームに表示されたマイクロヘル
プを " 選択されたテキストを削除します " に変更します。
W_New.SetMicroHelp(" 選択されたテキストを削除します ")
次の例では、
「ウィンドウを閉じます」という文字列が、W_New のコ
マンドボタン cb_done のタグ値として関連付けられています。cb_done
の GetFocus イベントに対するスクリプト内で次のステートメントは、
cb_done にフォーカスが移動すると、W_New のマイクロヘルプとして "
ウィンドウを閉じます " を表示します。
W_New.SetMicroHelp(This.Tag)
SetNewMobiLinkPassword
機能
現行の MobiLink ユーザの新しいパスワードを設定します。
対象
MLSynchronization コントロール、MLSync コントロール、ULSync コン
トロール
構文
syncObject.SetNewMobiLinkPassword (newPW)
引数
syncObject
newPW
戻り値
解説
1100
説明
同期サーバとの接続を開始する同期オブジェクトの名前を
指定します。
MobiLink 用に設定する新しいパスワードで構成される文字
列を指定します。
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
SetNewMobiLinkPassword 関数は、同期オブジェクトのプロパティを使用
して通常の dbmlsync コマンド ラインを生成します。このコマンド ラ
イ ン に は、-pi(ping)オ プ シ ョ ン と、新 し い MobiLink パ ス ワ ー ド
(newPW)を設定するための -mn オプションが含まれます。必要なプ
ロパティ(Datasource、Publication、MLServerVersion、MLUser)が同期
オブジェクトにない場合、新しいパスワードは設定されません。
PowerBuilder
第 10 章
関連項目
PowerScript 関数
GetCommandString
SetParm
SetSyncRegistryProperties
Synchronize
SetNull
機能
変数に null を設定します。変数のデータ型は、配列、構造体、または
自動インスタンス化オブジェクト以外なら何でも構いません。
構文
SetNull ( anyvariable )
引数
anyvariable
説明
null を設定する変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データベースに変数を書き込む前に、SetNull 関数を使用して変数に null
値を設定します。PowerBuilder は、変数を null 値に初期化しません。変
数の宣言時に値を指定しない限り、データ型の標準の初期値で変数を
初期化するので注意してください。
データ型が Any の変数に値を割り当て、その変数を null に設定する場
合、null 値のデータ型は割り当てられた値のデータ型のままになりま
す。SetNull 関数を使用して Any 変数の型を解除することはできません。
例
次のステートメントは、変数 Salary に null 値を設定します。
SetNull(Salary)
関連項目
IsNull
SetOverlayPicture
機能
コントロールの画像リスト内の画像を、オーバーレイ画像リストに入
れます。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.SetOverlayPicture ( overlayindex, imageindex )
PowerScript リファレンス ボリューム 2
1101
SetOverlayPicture
引数
controlname
overlayindex
imageindex
説明
オーバーレイ画像を追加するリストビューまたはツリー
ビュー コントロールの名前を指定します。
オーバーレイ画像リスト内のオーバーレイ ピクチャのイ
ンデックス番号を指定します。オーバーレイ画像リストは
1 次元の配列です。overlayindex は、1(最初の画像の場合)、
以前に指定したインデックス(画像を置換する場合)、ま
たは現行の最大インデックス + 1(別の画像を追加する場
合)のいずれかでなければなりません。配列に欠番ができ
るようなインデックスを指定すると、SetOverlayPicture 関
数はエラーになります。
コントロールのメイン画像リスト内の画像のインデック
ス番号を指定します。リストビューの場合、そのインデッ
クス番号の位置にある大きいピクチャと小さいピクチャ
は、どちらもオーバーレイ画像になります。画像は、依然
として項目のメイン画像として使用できます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
オーバーレイ ピクチャの高さと幅は、オーバーレイの対象となるピク
チャと同じでなければなりません。オーバーレイ ピクチャが下にある
ピクチャと重なる場合、ピクチャを挿入するときに SetPicutreMask プ
ロパティで指定された色は透明になります。したがって、オーバーレ
イ ピクチャの下にある元のピクチャの一部が表示されます。
オーバーレイ リストは、通常のピクチャ リスト内のソース画像を指す
ポインタとして機能します。オーバーレイ リストでも使用される画像
を削除すると、表示されているオーバーレイ ピクチャも影響を受けま
す。
例
次の例は、リストビュー コントロールのオーバーレイ画像を指定しま
す。同じピクチャを大きい画像と小さい画像に使用します。
// オーバーレイ画像の設定
integer index
index = lv_1.AddLargePicture("shortcut.ico")
index = lv_1.AddSmallPicture("shortcut.ico")
lv_1.SetOverlayPicture(1, index)
index = lv_1.AddLargePicture("not.ico")
index = lv_1.AddSmallPicture("not.ico")
lv_1.SetOverlayPicture(2, index)
// 2 番目のオーバーレイ画像を最初の項目に割り当てます。
listviewitem lvi
integer i
1102
PowerBuilder
第 10 章
PowerScript 関数
i = lv_1.GetItem(1, lvi)
lvi.OverlayPictureIndex = 2
i = lv_1.SetItem(1, lvi)
次の例は、ツリービューのメイン画像リスト内の最初のピクチャを最
初のオーバーレイ ピクチャとして指定します。ピクチャは、ツリー
ビューのプロパティ シート上のメイン画像リストに追加されていま
す。
tv_list.SetOverlayPicture(1, 1)
ツリービューの Clicked イベント内の次のスクリプトは、クリックされ
た項目にオーバーレイ画像を割り当てます。
treeviewitem tvi
tv_list.GetItem(handle, tvi)
tvi.OverlayPictureIndex = 1
tv_list.SetItem(handle, tvi)
SetParagraphSetting
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
のインデント、左余白、または右余白のサイズを設定します。
対象
リッチテキスト エディット コントロール
構文
rtecontrol.SetParagraphSetting ( whichsetting, value )
引数
rtecontrol
whichsetting
説明
段落情報を取得するコントロールの名前を指定します。
変更する設定を指定する ParagraphSetting カタログ データ
型の値。値は以下のとおりです。
• Indent! - 段落のインデント
• LeftMargin! - 段落の左余白
value
戻り値
• RightMargin! - 段落の右余白
Long 型の値。1/1000 インチ単位で、余白またはインデン
トの幅を指定します。たとえば、500 は 0.5 インチになり
ます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。いずれかの引数が null の場合は null を返します。
PowerScript リファレンス ボリューム 2
1103
SetParm
解説
各段落には、インデント、左余白、および右余白を設定できます。現
行の段落に 3 つをすべて設定するには、SetParagraphSetting 関数を 3 回
呼び出します。
例
次の例は、現行の段落のインデントを 1/4 インチに設定します。
ll_indent = rte_1.SetParagraphSetting(Indent!, 250)
次の例は、現行の段落の左余白を 1 インチに設定します。
rte_1.SetParagraphSetting(LeftMargin!, 1000)
関連項目
GetParagraphSetting
SetAlignment
SetSpacing
SetTextColor
SetTextStyle
SetParm
機能
MobiLink 同期サーバに送信するパラメータを設定します。
対象
MLSynchronization コントロール、MLSync コントロール、ULSync コン
トロール
構文
SyncObject.SetParm (syncparm )
引数
syncObject
syncparm
説明
同期オブジェクトの名前を指定します。
同 期パラメ ータと して設 定可能な プロパ ティ値 を含む
SyncParm の構造体を指定します。
戻り値
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
例
以下のコード フラグメントは、MLSync オブジェクトのインスタンス
を作成し、システムの SyncParm 構造のインスタンスを使用して必要な
すべてのプロパティおよびオプションのプロパティをプログラムで生
成します。その後、Synchronize 関数を呼び出してデータベース同期を
開始します。
SyncParm
MLSync
Long
Parms
mySync
rc
mySync = CREATE MLSync
mySync.MLServerVersion = 9// 必須プロパティ
1104
PowerBuilder
第 10 章
PowerScript 関数
mySync.Publication = 'salesapi'// 必須プロパティ
mySync.UseLogFile = TRUE// オプション
mySync.LogFileName = "C:\temp\sync.log"// オプション
mySync.Datasource = 'salesdb_remote'// 必須
Parms.MLUser = '50'// 必須
Parms.MLPass = 'xyz123'// 必須
// 以下の値が DSN によって設定されていない場合は、
// 設定する必要があります。
Parms.DBUser = 'dba'
Parms.DBPass = 'sql'
// 同期オブジェクトにプロパティ値を適用します。
mySync.SetParm(Parms)
// 同期プロセスを開始します。
rc = mySync.Synchronize()
destroy mySync
MLSync オブジェクトのプロパティ設定の保持
通常、MLSync オブジェクトから SetParm(SyncParm) を呼び出すと、特定
の SyncParm プロパティの値が空の文字列であった場合でも、MLSync オ
ブジェクトのプロパティとして設定した認証値(AuthenticateParms、
Datasource、DBUser、DBPass、EncryptionKey、MLUser、MLPass)が自
動的に上書きされます。ただし、SetParm を呼び出す前に SetNull を呼
び出して SyncParm オブジェクトの特定のプロパティに NULL を設定
すると、MLSync オブジェクトの該当するプロパティ値がかわりに使
用されます。
関連項目
GetCommandString
SetNewMobiLinkPassword
SetSyncRegistryProperties
PowerScript リファレンス ボリューム 2
1105
SetPicture
SetPicture
機能
Blob 型の変数に格納された画像をピクチャ コントロールの画像とし
て割り当てます。
対象
ピクチャ コントロール
構文
picturecontrol.SetPicture ( bimage )
引数
picturecontrol
bimage
説明
ビットマップを設定するピクチャ コントロールの名前を
指定します。
新規のビットマップを含む Blob 型。bimage は、ビットマッ
プ ファイル(BMP)、GIF ファイル(GIF)、JPEG ファイ
ル(JPEG)、ランレングス圧縮ファイル(RLE)、Windows
のメタファイル(WMF)の形式の有効なピクチャである
必要があります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
FileRead 関数を使用してファイルからビットマップ画像を取得する場
合、FileRead 関数が一度に読み取ることができるのは最大 32,765 バイ
トであるということに注意してください。ファイルの長さをチェック
するには、FileLength 関数を呼び出します。ファイルが 32,765 バイトを
超える場合は、FileRead 関数を 2 回以上呼び出した後、読み込んだデー
タを連結してください。
例
次のステートメントは、エンド ユーザにファイルを選択させた後、そ
のファイルを開き、選択されたファイル内のビットマップをピクチャ
コントロール p_1 に設定します。
integer fh, ret
blob Emp_pic
string txtname, named
string defext = "BMP"
string Filter = "bitmap Files (*.bmp), *.bmp"
ret = GetFileOpenName("Open Bitmap", txtname, &
named, defext, filter)
IF ret = 1 THEN
fh = FileOpen(txtname, StreamMode!)
IF fh <> -1 THEN
FileRead(fh, Emp_pic)
FileClose(fh)
p_1.SetPicture(Emp_pic)
END IF
END IF
1106
PowerBuilder
第 10 章
PowerScript 関数
SetPointer
機能
マウス ポインタを設定します。
構文
SetPointer ( type )
引数
type
説明
ポインタの型を表す Pointer カタログ データ型の値。値は
以下のとおりです。
AppStarting!
Arrow!
Cross!
Beam!
Help!
HourGlass!
Hyperlink!
Icon!
None!
Size!
SizeNS!
SizeNESW!
SizeWE!
SizeNWSE!
UpArrow!
戻り値
Pointer 型。置き換えられる前のポインタのカタログ型を返します。必
要な場合は元に戻すことができます。type が null の場合、null を返しま
す。
解説
スクリプトの実行に時間がかかる場合に、スクリプトの開始時に
SetPointer 関数を使用して砂時計を表示します。スクリプト内で再び変
更されるか、スクリプトが終了するまで、そのポインタは設定された
ままです。
矢印ポインタを元に戻す方法
スクリプトの実行が終了すると、ポインタは矢印に戻ります。矢印に
変更する必要はありません。
PowerBuilder のペインタでは、エンド ユーザがウィンドウ、コントロー
ル、またはデータウィンドウ オブジェクトの特定部分の上でポインタ
を移動するときに PowerBuilder が表示するポインタの型を指定できま
す。使用できる型は、前述の標準のポインタと開発者が待っているカ
スタム カーソル ファイルです。
PowerScript リファレンス ボリューム 2
1107
SetPosition
例
次のステートメントは、マウス ポインタを砂時計型に変更します。
SetPointer(HourGlass!)
次の例は、前のポインタを保存し、長い動作が完了したときにそれを
復元します。
pointer oldpointer // ポインタ変数を宣言します。
oldpointer = SetPointer(HourGlass!)
... // 長い動作を実行します。
SetPointer(oldpointer)
SetPosition
ウィンドウ上のコントロール、ウィンドウ、データウィンドウ上のオ
ブジェクトの前面から背後の重なりの順序を指定します。
目的
ウィンドウ上のコントロールの前面から背後の重なりの
順序を指定する、またはウィンドウをほかの開かれてい
るウィンドウの一番上に表示するかどうかを指定する
データウィンドウ内部のあるオブジェクトを別の区域に
移動する、または同じ区域内のオブジェクトの重なりの
順序を変更する
使用する構文
構文 1
構文 2
構文 1
ウィンドウ上のウィンドウやコントロールの配置を
指定する
機能
ウィンドウ上のコントロールに対しては、ウィンドウ上での前面から
背後の重なりの順序を指定します。ウィンドウに対しては、そのウィ
ンドウをほかの開かれているウィンドウの一番上に表示するかどうか
を指定します。
対象
ウィンドウ上のコントロール、ウィンドウ
構文
objectname.SetPosition ( position {, precedingobject } )
引数
objectname
1108
説明
コントロールの名前を指定します。そのコントロールの
ウィンドウ上での重なりの順序を設定します。または、
ウィンドウの名前を指定します。そのウィンドウを常に一番
上に表示するかどうかを指定します。objectname には、チャ
イルド ウィンドウとシートを指定することはできません。
PowerBuilder
第 10 章
引数
position
PowerScript 関数
説明
PosType カタログ データ型の値を指定します。指定できる
値は、objectname がコントロールかウィンドウかによって
異なります。
コントロールに対しては、次のいずれかの値を指定します。
• Behind! - objectname を precedingobject の背面に配置し
ます。
• ToTop! - objectname をそのほかのコントロールの最前
面に配置します。
• ToBottom! - objectname をそのほかのコントロールの最
背面に配置します。
ウィンドウに対しては、次のいずれかの値を指定します。
• TopMost! - objectname を開かれたそのほかのウィンド
ウの最前面に表示します。
precedingobject
(オプション)
• NoTopMost! - objectname を開かれたそのほかのウィン
ドウの最前面に表示しません。
objectname の後ろに配置するオブジェクトの名前を指定
します。position に Behind! を指定した場合には、
precedingobject を指定する必要があります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
コントロールの重なっている状態に従って、どのコントロールが別の
コントロールの上に配置されるかが決定されます。あるコントロール
が別のコントロールの上に完全に重なっていると、エンド ユーザは下
にあるコントロールにアクセスできなくなります。
複数のウィンドウに対して TopMost! を指定した場合、一番最後に
SetPosition 関数が実行されたコントロールが一番上に表示されます。
例
次のステートメントは、cb_two を一番上に表示します。
cb_two.SetPosition(ToTop!)
次のステートメントは、cb_two を cb_three の後ろに表示します。
cb_two.SetPosition(Behind!, cb_three)
次のステートメントは、w_signon を一番上のウィンドウにします。
w_signon.SetPosition(TopMost!)
次のステートメントは、w_signon を一番上に表示しません。
w_signon.SetPosition(NoTopMost!)
PowerScript リファレンス ボリューム 2
1109
SetPosition
構文 2
データウィンドウ内のオブジェクトの配置を指定する
機能
データウィンドウ内部のあるオブジェクトを別の区域に移動したり、
または同じ区域内のオブジェクトの重なりの順序を変更したりしま
す。
対象
データウィンドウ コントロール、データストア
構文
dwcontrol.SetPosition ( objectname, band, bringtofront )
引数
dwcontrol
objectname
band
説明
データウィンドウ コントロールまたはデータストア オブ
ジェクトの名前を指定します。この中に objectname があり
ます。
データウィンドウ内で移動するオブジェクトの名前を指
定します。データウィンドウ ペインタで与えたデータウィ
ンドウ上のオブジェクトの名前を指定します。
objectname を配置する区域またはレイヤ名を指定します。
レイヤには、背景または前景を指定します。
区域名には、detail、header、footer、summary、header.#、trailer.#
を指定します。
bringtofront
# は、グループ レベルの番号です。区域を変更しない場合、
空の文字列("")を入力します。
Boolean 型の値。objectname を区域内の前面に移動するか
どうかを指定します。
• TRUE - 前面に移動
• FALSE - 前面に移動しない
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、dw_rpt 内の oval_red を header に移動し、それ
を前面に移動します。
dw_rpt.SetPosition("oval_red", "header", TRUE)
次のステートメントは、oval_red の位置は変更せずに、前面に移動し
ます。
dw_rpt.SetPosition("oval_red", "", TRUE)
次のステートメントは、oval_red を footer に移動しますが、前面には移
動しません。
dw_rpt.SetPosition("oval_red", "footer", FALSE)
1110
PowerBuilder
第 10 章
PowerScript 関数
SetProfileString
機能
PowerBuilder アプリケーションのプロファイルに値を書き込みます。
構文
SetProfileString ( filename, section, key, value )
引数
filename
section
key
value
説明
プロファイルの名前を表す文字列を指定します。この引数
に絶対パスを指定しなかった場合、PowerBuilder は DOS パ
スを検索します。
プロファイル内の関連する値のグループの名前(セクショ
ン名)を表す文字列を指定します。section がファイル中に
存在しない場合、PowerBuilder で追加されます。
値を指定する section でのキーワードを表す文字列を指定
します。key が section に存在しない場合、PowerBuilder で
追加されます。
key に対する値を表す持つ文字列を指定します。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定されたファイル
が見つからなかった場合、またはアクセスできなかった場合には、-1
を返します。引数のいずれかの値が null の場合、null を返します。
解説
プロファイルは、角カッコ([])で囲まれているセクション ラベル、
キーワード、等号(=)に続く値で構成されています。キーワードに設
定された値を変更すると、アプリケーションをインストールするマシ
ンごとに、カスタム設定を指定できます。独自のプロファイルを作成
する場合、セクション名とキーワード名を選択し、値をどのように使
用するかを決めます。
たとえば、プロファイルにエンド ユーザに関する情報が入っているも
のとします。次の例では、User Info がセクション名で、そのほかはそ
のキーワードと値です。キーワードやセクション ラベル(「Section=1」
のようなセクション名を使用する場合)の中で使用される等号(=)の
前後に、空白はありません。
[User Info]
Name="James Smith"
JobTitle="Window Washer"
SecurityClearance=9
Password=
SetProfileString 関数を呼び出して、開発者またはエンド ユーザが提供す
る環境設定情報を格納します。ProfileInt 関数や ProfileString 関数を呼び
出してプロファイルの情報を取得します。取得した情報を使用して実
行中に PowerBuilder アプリケーションをカスタマイズすることができ
ます。
PowerScript リファレンス ボリューム 2
1111
SetRange
ProfileInt 関数、ProfileString 関数、SetProfileString 関数は、Windows シス
テム上では ANSI または UTF16-LE エンコーディング、UNIX システム
上では ANSI または UTF16-BE エンコーディングでファイルからの読
み取りやファイルへの書き込みをすることができます。
プロファイルのアクセス SetProfileString 関数は、プロファイル コール
を使用してデータをプロファイルに書き込みます。その後は、プロファ
イ ル が い つ 書 き 込 ま れ た り 閉 じ ら れ た り し た か を 制 御 し ま せ ん。
SetProfileString 関数を呼び出した直後にプロファイルからデータを読
み込もうとすると、ファイルが開いたままになっているために不完全
または不正なデータを受け取る可能性があります。
このような問題を避けるために、SetProfileString 関数のかわりに PowerScript
言語の FileOpen、FileWrite、および FileClose 関数を使用して、データを
プロファイルに書き込むことができます。または、プロファイルから
の読み込みを試行する前にプロファイル コールが完了するように、
SetProfileString 関数呼び出しの後で追加処理をいくつか行うことがで
きます。
Windows レジストリ
SetProfileString 関数を使って、Windows システム レジストリから環境設
定の情報を取得できます。システム レジストリの使用方法の詳細につ
いては、
『アプリケーション テクニック』マニュアルの「初期設定ファ
イルおよび Windows レジストリの管理」を参照してください。
例
次のステートメントは、C:\PROFILE.INI ファイルの Position セクション
のキーワード Title に、文字列 "MGR" を設定します。
SetProfileString("C:\PROFILE.INI", &
"Position", "Title", "MGR")
関連項目
ProfileInt
ProfileString
SetRange
機能
プログレスバー コントロールの継続時間、またはトラックバー コント
ロールの開始および終了位置を設定します。
対象
プログレスバー コントロール
構文
controlname.SetRange ( startpos, endpos )
1112
PowerBuilder
第 10 章
引数
controlname
startpos
endpos
PowerScript 関数
説明
プログレスバーまたはトラックバーの名前を指定します。
Integer 型の値。範囲の開始位置を指定します。
Integer 型の値。範囲の終了位置を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
プログレスバー コントロールのデフォルトの範囲は、0 ~ 100 になっ
ています。
例
次のステートメントは、プログレスバー コントロールの範囲を 1 ~ 10
に設定します。
HProgressBar.SetRange ( 1, 10 )
関連項目
OffsetPos
SelectionRange
StepIt
SetRecordSet
機能
ADOResultSet オブジェクトを設定し、渡された ADO Recordset から
データとメタデータを取得します。
対象
ADOResultSet オブジェクト
構文
adoresultset.SetRecordSet ( adorecordsetobject )
引数
adoresultset
adorecordsetobject
説明
渡された ADO Recordset を格納する ADOResultSet オブ
ジェクトを指定します。
ADO Recordset を含む OLEObject オブジェクトを指定
します。ADO Recordset を含まない OLEObject を渡す
とエラーになります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetRecordSet 関数は、ADO Recordset を含む OLEObject オブジェクトに
よって渡されたデータを、ADOResultSet オブジェクトに入力するのに
使用します。Recordset は、COM+ コンポーネントから、ADO Recordset
として返されたものです。
PowerScript リファレンス ボリューム 2
1113
SetRecordSet
例
次の例では、まず、COM+ コンポーネントに接続し、このコンポーネ
ント上で ADO Recordset を OLEObject オブジェクトに返すメソッドを
呼び出します。次に、
ADOResultSet オブジェクトを作成し、SetRecordSet
関数を使って、この ADOResultSet オブジェクトに OLEObject からデー
タを入力します。
OLEObject loo_mycomponent
OLEObject loo_ADOrecordset
ADOresultset lrs_ADOresultset
integer li_rc
loo_mycomponent = CREATE OLEObject
li_rc = loo_mycomponent.ConnectToNewObject("PB.Test")
IF li_rc <> 0 THEN
Messagebox(" 接続失敗 ", string(li_rc) )
RETURN
END IF
// COM+ コンポーネントのメソッドから返された ADO Recordset
// を保持するために OLEObject を使用します。
loo_ADOrecordset = loo_mycomponent.GetTestResult()
// ADOResultSet を作成し、渡された ADO Recordset を
// 保持する OLEObject から ADOResultSet のデータを取得します。
lrs_ADOresultset = CREATE ADOResultSet
lrs_ADOresultset.SetRecordSet(loo_ADOrecordset)
関連項目
1114
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの CreateFrom メソッド
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
GetRecordSet
SetResultSet
PowerBuilder
第 10 章
PowerScript 関数
SetRedraw
機能
オブジェクトまたはコントロールのプロパティが変更されるたびに、
自動的に再描画するかどうかを制御します。
対象
メニュー以外のオブジェクト
構文
objectname.SetRedraw ( boolean )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。boolean が null の場合、null を返します。
解説
特に指定しない限り、PowerBuilder は外観に影響するプロパティを変
更するたびに、コントロールを再描画します。オブジェクトのプロパ
ティやコントロールのプロパティを何回も変更すると、ちらつきが発
生します。このちらつきを抑えて再描画にかかる時間を短縮するには、
SetRedraw 関数を使用して一時的に再描画しないように設定します。
ウィンドウが表示されない場合、SetRedraw 関数はエラーになります。
注意
再描画をオフにした場合は、オンに戻す必要があります。オンに戻さ
ないと、問題が発生することがあります。また、再描画をオフにして
ウィンドウ内のオブジェクトの Visible プロパティと Enabled プロパ
ティを変更すると、タブ順序に影響するおそれがあります。
例
次のステートメントは、プロパティ変更の後 lb_Location の再描画をし
ません。
lb_Location.SetRedraw(FALSE)
lb_Location のソート プロパティがオン(lb_Location.Sorted=TRUE)で
あるとします。次のステートメントは、新しい項目をリストボックス
に追加するまで、SetRedraw 関数を使用して再描画しないように設定し
ます。
lb_Location.SetRedraw(FALSE)
lb_Location.AddItem("Atlanta")
lb_Location.AddItem("Boston")
lb_Location.AddItem("Washington")
lb_Location.SetRedraw(TRUE)
PowerScript リファレンス ボリューム 2
1115
SetRemote
SetRemote
DDE サーバ アプリケーションに対して、データの受信と、そのデータ
の指定位置への格納を依頼します。確立した DDE 接続の種類によっ
て、使用する構文が異なります。
目的
使用する構文
サーバ アプリケーションに対して 1 つの DDE リクエスト 構文 1
を行う(コールド リンク)
チャネルを開いてウォーム リンクを確立している場合に、 構文 2
サーバ アプリケーションに対して DDE リクエストを行う
構文 1
1 つの DDE リクエストを行う
機能
DDE サーバ アプリケーションに対してチャネルを開かずにデータを
受信し、そのデータを指定した場所に格納するように依頼します。サー
バに対してリクエストを 1 つまたは 2 つしか行わない場合、この構文
が適しています。
構文
SetRemote ( location, value, applname, topicname {,bAnsi} )
引数
location
value
applname
topicname
bAnsi
(オプション)
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
1116
説明
String 型の値。データを受信するサーバ アプリケーション
内のデータの位置を指定します。location の形式は、リク
エストを受信するアプリケーションによって異なります。
String 型の値。リモート アプリケーションに送信する値を
指定します。
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
String 型の値。データを受信するアプリケーションのイン
スタンスまたはデータを指定します。たとえば、Microsoft
Excel の場合、開いているスプレッドシートの名前をト
ピック名として使用できます。
Boolean 型の値。DDE サーバへ送る文字列が ANSI 形式か
どうかを指定します。bAnsi が NULL、false、または空の
場合、PowerBuilder は初めにデータを UNICODE 形式で送
ろうとします。bAnsi が true の場合、PowerBuilder はデー
タを ANSI 形式の文字列で送ろうとします。
リンクは開始されていません。
リクエストが拒否されました。
PowerBuilder
第 10 章
PowerScript 関数
引数のいずれかの値が null の場合、null を返します。
解説
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。構文 1
では、アクティブ ウィンドウが DDE クライアントのウィンドウにな
ります。
DDE チャネル、ウォーム リンク、コールド リンクについての詳細は、
ExecRemote 関数を参照してください。
例
次の例は、Microsoft Excel に対して、SALES.XLS というワークシートの
5 行目のカラム 7 のデータの値を 4500 に設定するように要求します。
SetRemote("R5C7", "4500", "Excel", "SALES.XLS")
関連項目
ExecRemote
GetRemote
OpenChannel
構文 2
開いたチャネルを介して DDE リクエストを行う
機能
サーバ アプリケーションにチャネルを開いてウォーム リンクを確立
している場合、DDE サーバ アプリケーションに対して、データを受信
し、そのデータを指定した場所に格納するように依頼します。複数の
DDE リクエストを行う予定がある場合には、チャネルを開いてウォー
ム リンクを使用する方が効率的です。
構文
SetRemote ( location, value, handle {, windowhandle }{, bAnsi} )
引数
location
value
handle
windowhandle
(オプション)
bAnsi
(オプション)
PowerScript リファレンス ボリューム 2
説明
String 型の値。データを受信するサーバ アプリケーション
内のデータの位置を指定します。location の形式は、リク
エストを受信するアプリケーションによって異なります。
String 型の値。リモート アプリケーションに送信する値を
指定します。
Long 型の値。DDE サーバ アプリケーションに対するチャ
ネルを指定します。handle は、DDE チャネルを開くために
呼び出した OpenChannel 関数から返された値です。
DDE クライアントとして機能させているウィンドウに対
するハンドルを指定します。
Boolean 型の値。DDE サーバへ送る文字列が ANSI 形式か
どうかを指定します。bAnsi が NULL、false、または空の
場合、PowerBuilder は初めにデータを UNICODE 形式で送
ろうとします。bAnsi が true の場合、PowerBuilder はデー
タを ANSI 形式の文字列で送ろうとします。
1117
SetResultSet
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
-9
解説
リンクは開始されていません。
リクエストが拒否されました。
handle が null です。
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。構文 2
では、windowhandle を使用してアクティブ ウィンドウ以外のクライア
ント ウィンドウを指定できます。
SetRemote 関数の構文 2 を使用する前に、OpenChannel 関数を呼び出し
て DDE チャネルを確立しておく必要があります。
DDE チャネル、ウォーム リンク、コールド リンクについての詳細は、
ExecRemote 関数を参照してください。
例
次の例は、Microsoft Excel のワークシートに対するチャネルを開き、5
行目のカラム 7 のデータの値を 4500 に設定するように要求します。
long handle
handle = OpenChannel("Excel", "REGION.XLS")
SetRemote("R5C7", "4500", handle)
関連項目
ExecRemote
GetRemote
OpenChannel
SetResultSet
機能
新規の ADOResultSet オブジェクトに、ResultSet オブジェクトによって
渡されたデータを入力します。
対象
ADOResultSet オブジェクト
構文
adoresultset.SetResultSet ( resultsetobject )
引数
adoresultset
resultsetobject
1118
説明
渡された結果集合を ADO Recordset として格納する
ADOResultSet オブジェクトを指定します。
結果集合データを含む ResultSet オブジェクトを指定しま
す。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetResultSet 関数は、ADOResultSet オブジェクトを作成し、このオブ
ジェクトに ResultSet オブジェクトからデータを入力する場合に使用
します。ResultSet オブジェクトは、データストア オブジェクトから
GenerateResultSet 関数を使って作成できます。
SetResultSet 関数を使って ADOResultSet オブジェクトを作成した後、
GetRecordSet 関数を使って、ADO の結果集合を OLEObject 型の ADO
Recordset オブジェクトの中に返すと、PowerScript においてネイティブ
の ADO Recordset オブジェクトとして使用することができます。
例
関連項目
GetRecordSet 関数を参照してください。
『データウィンドウ リファレンス 』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
GetRecordSet
SetRecordSet
SetSeriesStyle
グラフのデータ系列の外観を指定します。どの設定を変更するかに
よって、構文が異なります。
目的
データ系列の色を設定する
線種、線幅を設定する
データ系列の塗りつぶしパターンやシンボルを設定する
データ系列がオーバーレイかどうかを指定する
使用する構文
構文 1
構文 2
構文 3
構文 4
構文 1
データ系列の色を設定する
機能
グラフのデータ系列の色を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, colortype, color )
PowerScript リファレンス ボリューム 2
1119
SetSeriesStyle
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
colortype
説明
データ系列の色を設定するグラフ コントロールの名前、ま
たはそのグラフがあるデータウィンドウ コントロールの
名前を指定します。
データウィンドウ コントロール上のデータ系列の色を設
定するグラフの名前を表す文字列を指定します。
色を設定するデータ系列の名前を表す文字列を指定しま
す。
grColorType カタログ データ型の値。色を設定する項目を
指定します。値は以下のとおりです。
• Foreground! - テキストの色
• Background! - 背景の色
• LineColor! - 線の色
color
• Shade! - 影の色(3D グラフ、立体のオブジェクトを
持ったグラフ)
colortype に新しく設定する色を表す Long 型の値を指定し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフに塗りつぶしパター
ンや、棒グラフの線種を設定することができます。ただし、塗りつぶ
しパターンや線種を見ることはできません。
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、そのイベント
スクリプト内から SetSeriesStyle 関数を呼び出します。
pbm_dwngraphcreate イベントは、データウィンドウ オブジェクトにグ
ラフが作成される直前に起動します。
例
次のステートメントは、グラフ gr_emp_data のデータ系列 Salary のテ
キスト(前景)の色を黒に設定します。
gr_emp_data.SetSeriesStyle("Salary", &
1120
PowerBuilder
第 10 章
PowerScript 関数
Foreground!, 0)
次のステートメントは、データウィンドウ コントロール dw_employees
上のグラフ gr_depts のデータ系列 Salary の背景色を黒に設定します。
dw_employees.SetSeriesStyle("gr_depts", &
"Salary", Background!, 0)
次の例は、グラフ コントロール gr_product_data の Clicked イベントに
対するスクリプトです。グラフ コントロールとグラフ gr_sales_data と
の間で線の色を調整します。ポインタの下のデータ系列の色を変数
line_color に 格 納 し、そ の 色 を グ ラ フ gr_sales_data の デ ー タ 系 列
northeast の線の色に設定します。
string SeriesName
integer SeriesNbr, Series_Point
long line_color
grObjectType MouseHit
MouseHit = ObjectAtPointer(SeriesNbr,Series_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
gr_product_data.SeriesName(SeriesNbr)
gr_product_data.GetSeriesStyle(SeriesName, &
LineColor!, line_color)
gr_sales_data.SetSeriesStyle("Northeast", &
LineColor!, line_color)
END IF
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
構文 2
グラフの線種と線幅を設定する
機能
グラフのデータ系列の線種と線幅を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, linestyle,
linewidth )
PowerScript リファレンス ボリューム 2
1121
SetSeriesStyle
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
linestyle
linewidth
説明
データ系列の線種と線幅を設定するグラフ コントロール
の名前、またはそのグラフを持つデータウィンドウ コント
ロールの名前を指定します。
データウィンドウ コントロール中の線種と線幅を設定す
るグラフの名前を表す文字列を指定します。
線種と線幅を設定するデータ系列の名前を表す文字列を
指定します。
LineStyle カタログ データ型の値。値は以下のとおりです。
Continuous!
Dash!
DashDot!
DashDotDot!
Dot!
Transparent!
線幅のピクセル数を指定する Integer 型の値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフに塗りつぶしパター
ンや、棒グラフの線種を設定することができます。ただし、塗りつぶ
しパターンや線種を見ることはできません。
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、pbm_dwngraphcreate
をユーザ イベントとして定義して、そのイベント スクリプト内から
SetSeriesStyle 関数を呼び出します。pbm_dwngraphcreate イベントは、
データウィンドウ オブジェクトにグラフが作成される直前に起動し
ます。
例
次のステートメントは、グラフ gr_product_data のデータ系列 Costs に線
種と線幅を設定します。
gr_product_data.SetSeriesStyle("Costs", &
Dot!, 5)
関連項目
1122
GetDataStyle
PowerBuilder
第 10 章
PowerScript 関数
GetSeriesStyle
SeriesName
SetDataStyle
構文 3
グラフの塗りつぶしパターンやシンボルを設定する
機能
データ系列のデータ マーカーに対する塗りつぶしパターンやシンボ
ルを設定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, enumvalue )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
enumvalue
PowerScript リファレンス ボリューム 2
説明
データ系列の外観を設定するグラフ コントロールの名前、
またはそのグラフがあるデータウィンドウ コントロール
の名前を指定します。
String 型の値。データウィンドウ コントロール上の外観を
設定するグラフの名前を指定します。
外観を設定するデータ系列の名前を表す文字列を指定し
ます。
データ系列の外観の設定を表す値を指定します。FillPattern
カタログ データ型または grSymbolType カタログ データ型
の値です。
1123
SetSeriesStyle
引数
説明
塗りつぶしのパターンを変更するには、FillPattern カタロ
グ データ型の値を指定します。
Bdiagonal! - 左下から右上の斜線
Diamond!
Fdiagonal! - 左上から右下の斜線
Horizontal!
Solid!
Square!
Vertical!
シンボルの型を変更するには、grSymbolType カタログ
データ型の値を指定します。
NoSymbol!
SymbolHollowBox!
SymbolX!
SymbolStar!
SymbolHollowUpArrow!
SymbolHollowCircle!
SymbolHollowDiamond!
SymbolSolidDownArrow!
SymbolSolidUpArrow!
SymbolSolidCircle!
SymbolSolidDiamond!
SymbolPlus!
SymbolHollowDownArrow!
SymbolSolidBox!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフに塗りつぶしパター
ンや、棒グラフの線種を設定することができます。ただし、塗りつぶ
しパターンや線種を見ることはできません。
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、そのイベント
スクリプト内から SetSeriesStyle 関数を呼び出します。
pbm_dwngraphcreate イベントは、データウィンドウ オブジェクトにグ
ラフが作成される直前に起動します。
1124
PowerBuilder
第 10 章
例
PowerScript 関数
次のステートメントは、グラフ gr_product_data のデータ系列 Costs のシ
ンボルをプラス記号に設定します。
gr_product_data.SetSeriesStyle("Costs", &
SymbolPlus!)
次のステートメントは、データウィンドウ コントロール dw_equipment
上のグラフ gr_computers のデータ系列 Costs のシンボルを X に設定し
ます。
dw_equipment.SetSeriesStyle("gr_computers", &
"Costs", SymbolX!)
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
構文 4
グラフのオーバーレイを作成する
機能
データ系列がオーバーレイかどうかを指定します。つまり、データ系
列は、ほかのデータ型の一番上の線を表します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, overlaystyle )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
overlaystyle
PowerScript リファレンス ボリューム 2
説明
データ系列のオーバーレイの状況を設定するグラフ コン
トロールの名前、またはそのグラフがあるデータウィンド
ウ コントロールの名前を指定します。
String 型の値。データウィンドウ コントロール上のデータ
系列のオーバーレイの状況を設定するグラフの名前を指
定します。
オーバーレイの状況を変更するデータ系列の名前を表す
文字列を指定します。
Boolean 型の値。データ系列をオーバーレイにするかどう
か(データ系列の線を前面に表示するかどうか)を指定し
ます。データ系列をオーバーレイにするには、true を指定
します。オーバーレイの設定を解除するには、false を指定
します。
1125
SetSeriesStyle
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、pbm_dwngraphcreate
をユーザ イベントとして定義して、そのイベント スクリプト内から
SetSeriesStyle 関数を呼び出します。pbm_dwngraphcreate イベントは、
データウィンドウ オブジェクトにグラフが作成される直前に起動し
ます。
例
次のステートメントは、グラフ gr_product_data のデータ系列 Costs のス
タイルにオーバーレイを設定します。
gr_product_data.SetSeriesStyle("Costs", TRUE)
次のステートメントは、データウィンドウ コントロールの Clicked イ
ベントに対するスクリプトです。データウィンドウ コントロール
dw_employees のグラフ gr_depts の上のポインタが位置するデータ系列
のスタイルを変数 style_type に保存します。データ系列のスタイルが
オーバーレイ(true)の場合、標準(false)に変更します。
string SeriesName
integer SeriesNbr, Data_Point
boolean overlay_style
grObjectType MouseHit
MouseHit = dw_employees.ObjectAtPointer( &
"gr_depts", SeriesNbr, Data_Point)
IF MouseHit = TypeSeries! THEN
SeriesName = &
dw_employees.SeriesName("gr_depts",SeriesNbr)
dw_employees.GetSeriesStyle("gr_depts", &
SeriesName, overlay_style)
IF overlay_style THEN &
dw_employees.SetSeriesStyle("gr_depts", &
SeriesName, FALSE)
END IF
関連項目
1126
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
PowerBuilder
第 10 章
PowerScript 関数
SetSelectedDate
機能
指定された日付を選択します。
対象
月表示カレンダ コントロール
構文
controlname.SetSelectedDate ( d )
引数
controlname
d
戻り値
解説
説明
選択した日付を設定する月表示カレンダ コントロールの
名前を指定します。
選択された日付として設定する日付の値を指定します。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
-1
無効な引数が指定されました。
-2
不明なエラーです。
単一の日付を選択するには、SetSelectedDate 関数を使用します。
SetDateLimits 関数で指定した日付の範囲外の日付を指定しようとした
場合、SetSelectedDate 関数は -1 を返します。
SetSelectedDate 関数と SetSelectedRange 関数は DateChanged イベントを
起動します。DateChanged イベントの中でこれらのメソッドを呼び出
すべきではありません(特に Post メソッドを使用している場合)。
例
次の例は、選択した日付を関数に渡される日付に設定します。
// 関数の引数 seldate
integer li_return
li_return = mc_1.SetSelectedDate(seldate)
関連項目
GetSelectedDate
SetDateLimits
PowerScript リファレンス ボリューム 2
1127
SetSelectedRange
SetSelectedRange
機能
選択した日付の範囲を設定します。
対象
月表示カレンダ コントロール
構文
controlname.SetSelectedRange ( start, end )
引数
controlname
start
end
戻り値
説明
選択した日付の範囲を設定する月表示カレンダ コント
ロールの名前を指定します。
選択される最初の日付として設定する日付の値を指定し
ます。
選択される最後の日付として設定する日付の値を指定し
ます。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
解説
-1
無効な引数が指定されました。
-2
不明なエラーです。
連続する日付の範囲を選択するには、SetSelectedRange 関数を使用しま
す。
SetSelectedRange 関数は、最初の日付以前の日付を最後の日付として指
定している場合は、最初の日付を最後の日付として使用し、最後の日
付を最初の日付として使用します。SetSelectedRange 関数を呼び出す前
に、MaxSelectedCount プロパティの値を、日付の範囲をサポートする
の に 十 分 な 大 き さ に 設 定 す る 必 要 が あ り ま す。指 定 し た 日 付 が
SetDateLimits 関数で指定した最初の日付および最後の日付の範囲外で
あ る 場 合、ま た は 範 囲 が MaxSelectedCount を 超 え て い る 場 合 は、
SetSelectedRange 関数は -1 を返します。最初の日付および最後の日付
が同じ場合は、単一の日付が選択されます。
日付の範囲を選択するときにエンド ユーザがナビゲーション ボタン
を使ってカレンダをスクロールすると、日付の範囲がカレンダのスク
ロールに従って変わります。
SetSelectedDate 関数と SetSelectedRange 関数は DateChanged イベントを
起動します。DateChanged イベントの中でこれらのメソッドを呼び出
すべきではありません(特に Post メソッドを使用している場合)。
例
次の例では、選択する範囲の最初の日付を startdate に、また最後の日
付を enddate に設定します。
integer li_return
Date startdate, enddate
1128
PowerBuilder
第 10 章
PowerScript 関数
startdate = Today()
enddate = Date("2007-12-31")
li_return = mc_1.SetSelectedRange(startdate, enddate)
関連項目
GetSelectedRange
SetDateLimits
SetSpacing
機能
リッチテキスト エディット コントロールで選択されている段落、また
は挿入ポイントがある段落の行間を設定します。
対象
リッチテキスト エディット コントロール
構文
rtename.SetSpacing ( spacing )
引数
rtename
spacing
説明
行間を設定するリッチテキスト エディット コントロール
の名前を指定します。
テキストの行間を指定する Spacing カタログ データ型の
値。値は以下のとおりです。
Spacing1! - 1 行
Spacing15! - 1.5 行
Spacing2! - 2 行
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
行間は、各行ではなく、段落に対する設定です。このため、行が折り
返されている場合、選択されているすべての段落ですべての行の行間
が変わります。
行間を大きくすると、上の行との間が広がります。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ている段落の行間を 2 行に指定します。
rte_1.SetSpacing(Spacing2!)
次の例は、行間を 1.5 行に指定します。
rte_1.SetSpacing(Spacing15!)
関連項目
SetTextColor
SetTextStyle
PowerScript リファレンス ボリューム 2
1129
SetState
SetState
機能
リ ス ト ボ ッ ク ス 内 の 特 定 の 項 目 に ハ イ ラ イ ト 表 示 を 設 定 し ま す。
SetState 関数は、MultiSelect プロパティが true のリストボックスにだけ
適用できます。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.SetState ( index, state )
引数
listboxname
index
state
説明
項目のハイライト表示の状態を設定するリストボックス
コントロールまたはピクチャ リストボックス コントロー
ルの名前を指定します。コントロールの MultiSelect プロパ
ティは、true でなければなりません。
ハイライト表示を設定する項目の番号を指定します。リス
トボックス コントロール内の項目すべてをハイライト表
示するには、0 を指定します。
項目のハイライト表示の状態を決める Boolean 型の値を指
定します。
• TRUE - ハイライト表示
• FALSE - ハイライト表示を解除
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
コントロールの MultiSelect プロパティが false の場合、SetState 関数の
かわりに SelectItem 関数を使用して 1 回に 1 項目ずつ選択します。
例
次のステートメントは、lb_Actions の項目 6 をハイライト表示します。
lb_Actions.SetState(6, TRUE)
次のステートメントは、lb_Actions のすべての項目のハイライト表示を
解除します。
lb_Actions.SetState(0, FALSE)
次のステートメントは、lb_Actions の項目 6 が選択された場合にはハイ
ライト表示を解除し、選択されていない場合には項目をハイライト表
示します。
IF lb_Actions.State(6) = 1 THEN
lb_Actions.SetState(6, FALSE)
ELSE
lb_Actions.SetState(6, TRUE)
END IF
関連項目
1130
SelectItem
PowerBuilder
第 10 章
PowerScript 関数
SetTop
State
SetSyncRegistryProperties
機能
ローカル マシン レジストリに同期プロパティを設定します。
対象
MLSynchronization コントロール、MLSync コントロール、ULSync コン
トロール
構文
SyncObject.SetSyncRegistryProperties ( )
引数
syncObject
説明
同期オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
解説
必要に応じて、SetSyncRegistryProperties 関数が、同期オブジェクトの
SyncRegistryKey プロパティの値を使用して Windows レジストリに
キーを作成します。同期オブジェクトの SyncRegistryKey プロパティが
設定されていない場合、失敗します。
例
SQL Anywhere の MobiLink ウィザードによって生成された MLSync オ
ブジェクトは、Constructor イベント内で以下のコードを使用します。
IF
//
//
//
d_Registry_Build < d_this_object_build THEN
新しいリビジョンの初配布 - このリビジョンの
ウィザード オブジェクトに ObjectRevision を設定し、
すべてのレジストリ値を上書きします。
rc = this.SetSyncRegistryProperties()
ELSE
rc = this.GetSyncRegistryProperties()
END IF
このコードは、実行中のアプリケーションのビルド番号がレジストリ
に格納されているビルド番号よりも大きい場合(または、レジストリ
内にビルド番号が見つからない場合)、Windows レジストリに格納され
ている認証プロパティの値を設定します。
関連項目
GetCommandString
GetSyncRegistryProperties
SetParm
PowerScript リファレンス ボリューム 2
1131
SetTextColor
SetTextColor
機能
リッチテキスト エディット コントロールで選択されているテキスト
の色を設定します。
対象
リッチテキスト エディット コントロール
構文
rtename.SetTextColor ( colornumber )
引数
rtename
colornumber
説明
選択されているテキストの色を設定するリッチテキスト
エディット コントロールの名前を指定します。
Long 型の値。選択されているテキストに設定する色を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
色の値の算出についての詳細は、「RGB 関数」を参照してください。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ているテキストの色を暗い赤に設定します。
rte_1.SetTextColor(RGB(100, 0, 0))
関連項目
GetTextColor
RGB
SetTextStyle
SetTextStyle
機能
リッチテキスト エディット コントロールで選択されているテキスト
に設定する書式を指定します。テキストには、太字、下線、斜体、お
よび取り消し線のテキスト スタイルを設定できます。また、下付きま
たは上付きの書式を設定することもできます。
対象
リッチテキスト エディット コントロール
構文
rtename.SetTextStyle ( bold, underline, {subscript}, {superscript}, italic,
strikeout )
引数
rtename
1132
説明
選択されているテキストに書式を設定するリッチテキス
ト エディット コントロールの名前を指定します。
PowerBuilder
第 10 章
引数
bold
underline
subscript
(旧形式)
superscript
(旧形式)
italic
strikeout
PowerScript 関数
説明
Boolean 型の値。選択されているテキストを太字にするか
どうかを指定します。
Boolean 型の値。選択されているテキストに下線を引くか
どうかを指定します。
下位互換性のために保持されています。Boolean 型の値。
選択されているテキストを下付きにするかどうかを指定
します。この値は現在無視されます。
下位互換性のために保持されています。Boolean 型の値。
選択されているテキストを上付きにするかどうかを指定
します。subscript と superscript の両方が true の場合、
subscript の設定が優先され、選択されているテキストは下
付きになります。この値は現在無視されます。
Boolean 型の値。選択されているテキストを斜体にするか
どうかを指定します。
Boolean 型の値。選択されているテキストに取り消し線を
引くかどうかを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ているテキストに太字と斜体の書式を設定します。
rte_1.SetTextStyle(TRUE, FALSE, &
TRUE, FALSE)
次の例は、選択されているテキストを斜体にします。テキストのほか
の書式設定は、変更されません。
rte_1.SetTextStyle(rte_1.GetTextStyle(Bold!), &
rte_1.GetTextStyle(Underlined!), &
TRUE, rte_1.GetTextStyle(Strikeout!))
関連項目
GetTextStyle
SetSpacing
SetTextColor
PowerScript リファレンス ボリューム 2
1133
SetTimeout
SetTimeout
機能
以降の EAServer トランザクションのタイムアウト値を設定します。ト
ランザクションが完了する前にタイムアウト期間が満了した場合、ト
ランザクションはロールバックされます。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.SetTimeout ( seconds )
引数
CORBACurrent
seconds
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
UnsignedLong 型の値。トランザクションがロールバック
するまでの経過時間(秒)を指定します。
戻り値
Boolean 型。正常に終了した場合は true を返し、エラーが発生した場合
は false を返します。
解説
SetTimeout 関数は、トランザクションがロールバックするまでの経過
時間(秒)を指定します。このタイムアウト期間が適用されるのは、
以降の BeginTransaction 関数の呼び出しによって作成されるトランザク
ションです。seconds に 0 を指定した場合、タイムアウト期間は無効に
なります。
SetTimeout 関数は、OTS スタイルのマークが付いているクライアント
またはコンポーネントで呼び出せます。EAServer は、2 フェーズ コ
ミット トランザクション コーディネータ(OTS/XA)を使用している
ことが必要です。
例
次の例では、SetTimeout 関数を使用してタイムアウト期間を 5 分に設定
しています。
// インスタンス変数:
// CORBACurrent corbcurr
boolean lb_timeout
integer li_rc
li_rc = this.GetContextService("CORBACurrent", &
corbcurr)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
li_rc = corbcurr.Init( "iiop://server1:9003")
IF li_rc <> 1 THEN
// エラーを処理します。
ELSE
lb_timeout = corbcurr.SetTimeout(300)
1134
PowerBuilder
第 10 章
PowerScript 関数
li_rc = corbcurr.BeginTransaction()
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SuspendTransaction
SetToday
機能
カレンダが今日の日付として使用する値を設定します。
対象
日付ピッカー コントロールおよび月表示カレンダ コントロール
構文
controlname.SetToday ( d )
引数
controlname
d
説明
今日の日付を設定するコントロールの名前を指定します。
今日の日付として指定する日付を指定します。
戻り値
Integer 型。成功した場合は 0 を返し、失敗した場合は -1 を返します。
解説
デフォルトでは、現在のシステム日付が今日の日付として設定されま
す。別の日付を設定するには、SetToday 関数を使用します。現在のシ
ステムの日付以外の日付が設定されている場合、次の制限が適用され
ます。
例
•
現在の日付の午前 0 時を過ぎても、コントロールは今日の日付を
自動的に更新しません。
•
コントロールは、ロケールの変更に基づいた表示を自動的に更新
しません。
次の例は、エディットマスク コントロールから日付を取得し、月表示
カレンダ コントロールで今日の日付として設定します。
Date currentdate
integer li_return
PowerScript リファレンス ボリューム 2
1135
SetToolbar
currentdate = Date(em_1.Text)
li_return = mc_1.SetToday(currentdate)
関連項目
GetToday
SetToolbar
機能
指定されたツールバーの配置、可視性、およびタイトルを設定します。
対象
MDI フレーム、シート ウィンドウ
構文
window.SetToolbar ( toolbarindex, visible {, alignment {, floatingtitle } } )
引数
window
toolbarindex
visible
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。設定を変更するツールバーのインデックス
を指定します。
ツールバーを表示するかどうかを指定する Boolean 型の
値。値は以下のとおりです。
• TRUE - 表示
alignment
(オプション)
• FALSE - 非表示
ツールバーの配置を指定する ToolbarAlignment カタログ
データ型の値。値は以下のとおりです。
• AlignAtTop! - フレームの上端にツールバーを配置します。
• AlignAtLeft! - フレームの左端にツールバーを配置します。
• AlignAtRight! - フレームの右端にツールバーを配置し
ます。
• AlignAtBottom! - フレームの下端にツールバーを配置
します。
floatingtitle
(オプション)
戻り値
1136
• Floating! - ツールバーを浮動ツールバーにします。浮動
ツールバーは、独立したウィンドウとして表示されます。
String 型の値。alignment に Floating! が指定されている場合
に表示されるツールバーのタイトルを指定します。
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合、null を返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
ツールバーの配置を Floating! に変更すると、SetToolbarPos 関数を呼び
出して表示位置を調整するまで、PowerBuilder は最後に取得した表示
位置情報を使用します。
ツールバーは、スクリプトの処理が終了するまで再描画されません。
このため、SetToolbar 関数で配置を設定し、次に SetToolbarPos 関数で位
置を設定しても、エンド ユーザにはツールバーが直接その位置に配置
されたように見えます。
例
次の例は、エンド ユーザがリストボックス コントロール lb_position の
配置を選択できるようにします。選択された文字列は ToolbarAlignment
カタログ データ型の値に変換され、インデックス 1 のツールバーの配
置を変更するのに使用されます。
toolbaralignment tba_align
CHOOSE CASE lb_position.SelectedItem()
CASE "Top"
tba_align
CASE "Left"
tba_align
CASE "Right"
tba_align
CASE "Bottom"
tba_align
CASE "Floating"
tba_align
END CHOOSE
= AlignAtTop!
= AlignAtLeft!
= AlignAtRight!
= AlignAtBottom!
= Floating!
w_frame.SetToolbar(1, TRUE, tba_align)
次の例では、エンド ユーザはラジオボタンをクリックして配置を選択
します。ラジオボタンの Clicked イベントは、ToolbarAlignment カタロ
グ データ型のインスタンス変数を設定します。ここでは、ラジオボタ
ンをカスタム ビジュアル ユーザ オブジェクトとしてパッケージ化し
ています。i_toolbaralign は、ユーザ オブジェクトのインスタンス変数
です。
[Top]ラジオボタンに対するスクリプトは、次のとおりです。
Parent.i_toolbaralign = AlignAtTop!
次のスクリプトは、ツールバーの配置を変更します。
w_frame.SetToolbar(1, TRUE, &
uo_toolbarpos.i_toolbaralign )
関連項目
GetToolbar
GetToolbarPos
PowerScript リファレンス ボリューム 2
1137
SetToolbarPos
SetToolbarPos
SetToolbarPos
指定されたツールバーの表示位置を設定します。
目的
固定ツールバーを配置する位置
浮動ツールバーの座標とサイズ
使用する構文
構文 1
構文 2
構文 1
固定ツールバーの表示位置を設定する
機能
固定ツールバーの表示位置を設定します。
対象
MDI フレーム、シート ウィンドウ
構文
window.SetToolbarPos ( toolbarindex, dockrow, offset, insert )
引数
window
toolbarindex
dockrow
offset
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。設定を変更するツールバーのインデックス
を指定します。
Integer 型の値。ツールバーを配置する行の番号を指定しま
す。配置する行には、左から右、または上から下へ番号が
付けられています。
Integer 型の値。ツールバーを配置する行の先頭からの距離
を指定します。上端または下端にあるツールバーの offset
は、左端から測定されます。左端または右端にあるツール
バーの offset は、上端から測定されます。
insert が true の場合、offset に指定された距離は調整される
ので、行内の既存のツールバーとは重なりません。
dockrow の先頭にツールバーを配置するには、offset に 0 を
指定します。
1138
PowerBuilder
第 10 章
引数
insert
PowerScript 関数
説明
Boolean 型の値。toolbarindex を dockrow に挿入するか、ま
たは追加するかを指定します。ツールバーを挿入する場合
には、dockrow にあるツールバーの先頭に挿入されます。
したがって、既存のツールバーは右または下の行に移動し
ます。値は以下のとおりです。
• TRUE - 指定されたツールバーだけが dockrow に設定さ
れるようにします。既存のツールバーは、指定された
ツールバーと重ならないように移動されます。
• FALSE - 指定されたツールバーを dockrow に指定され
た行に追加します。行でのほかのツールバーとの相対的
な位置は、offset に指定された値によって決まります。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合、null を返します。
解説
固定ツールバーがウィンドウの上端、下端、左端、右端のどこにある
かを調べるには、GetToolbar 関数を呼び出します。
ツールバーの配置が固定ではなく浮動の場合、SetToolbar 関数を使用し
て配置を固定に変更すると、SetToolbarPos 関数の構文 1 に指定されて
いる値が有効になります。
insert が false の場合、dockrow に指定された行の既存のツールバーの前
にツールバーを移動するには、既存のツールバーのオフセットより小
さい値を指定します。既存のツールバーのオフセットが 1 の場合、
offset
に 0 を設定すれば、行の先頭にツールバーを移動できます。offset に指
定されたオフセットが既存のツールバーのオフセット以上で、既存の
ツールバーの終わりよりも前の場合、新しく挿入するツールバーは、
既存のツールバーの直後に配置されます。既存のツールバーの終わり
よりも後の場合、ツールバーは offset に指定された位置に配置されま
す。
エンド ユーザがツールバーを固定ツールバーの領域までドラッグす
ると、新しい行とオフセットは、SetToolbarPos 関数で設定された値を
置き換えます。
例
次の例は、ツールバー 1 をウィンドウの左端に配置し、1 行目に追加
します。
w_frame.SetToolbar(1, TRUE, AlignAtLeft!)
w_frame.SetToolbarPos(1, 1, 1, FALSE)
PowerScript リファレンス ボリューム 2
1139
SetToolbarPos
次の例は、ツールバー 2 をウィンドウの左端に配置し、1 行目に追加
します。オフセット 250 以降に既存のツールバーがある場合は、ツー
ルバー 2 のオフセットを増やしてツールバーが重ならないようにしま
す。既存のツールバーがない場合、ツールバーはオフセット 250 の位
置に配置されます。
w_frame.SetToolbar(2, TRUE, AlignAtLeft!)
w_frame.SetToolbarPos(2, 1, 250, FALSE)
次の例では、ツールバー 1 をウィンドウの左端に配置し、2 行目に追
加します。ウィンドウの左端の行 2 以降にあるツールバーは、行に合
わせて移動します。
w_frame.SetToolbar(1, TRUE, AlignAtLeft!)
w_frame.SetToolbarPos(1, 2, 1, TRUE)
関連項目
GetToolbar
GetToolbarPos
SetToolbar
構文 2
浮動ツールバーの表示位置とサイズを設定する
機能
浮動ツールバーの表示位置とサイズを設定します。
対象
MDI フレーム、シート ウィンドウ
構文
window.SetToolbarPos ( toolbarindex, x, y, width, height )
引数
window
toolbarindex
x
y
width
height
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。設定を変更するツールバーのインデックス
を指定します。
Integer 型の値。浮動ツールバーの x 座標を指定します。
Integer 型の値。浮動ツールバーの y 座標を指定します。
Integer 型の値。浮動ツールバーの幅を指定します。
Integer 型の値。浮動ツールバーの高さを指定します。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が null の場合、null を返します。
解説
ツールバーの配置が浮動ではなく固定の場合、SetToolbar 関数を使用し
て配置を浮動に変更すると、SetToolbarPos 関数の構文 2 に指定されて
いる値が有効になります。
1140
PowerBuilder
第 10 章
PowerScript 関数
エンド ユーザがツールバーを浮動の領域までドラッグすると、新しい
表示位置の値は、SetToolbarPos 関数で設定された値を置き換えます。
浮動ツールバーのボタンは、適切なサイズに調整されます。指定した
幅と高さが小さすぎてボタンを表示できない場合、ボタンを表示でき
るように幅と高さが調整されます。幅と高さの両方が大きすぎる場合、
高さが調整されます。
フレームの外の x 座標と y 座標を指定すると、エンド ユーザはツール
バーにアクセスできなくなります。
例
次の例は、ツールバー 1 をフレームの左上隅の近くに表示します。任
意の幅と高さを指定すると、PowerBuilder は必要に応じてツールバー
のサイズを変更できるようになります。
w_frame.SetToolbarPos(1, 10, 10, 400, 1)
w_frame.SetToolbar(1, TRUE, Floating!)
次の例は、ツールバー 2 をフレームの右下隅の近くに表示します。
GetToolbarPos 関数がツールバーの現行の幅と高さを取得するので、
ツールバーのサイズは変わりません。
integer ix, iy, iw, ih
w_frame.GetToolbarPos(2, ix, iy, iw, ih)
w_frame.SetToolbarPos(2, &
w_frame.WorkspaceWidth()-400, &
w_frame.WorkspaceHeight()-400, &
iw, ih)
w_frame.SetToolbar(2, TRUE, Floating!)
次の例は、浮動ツールバー 2 を MDI フレームの右下隅に配置します。
GetToolbarPos 関数は、ツールバーの現行の幅と高さを取得します。取
得されたマイクロヘルプの幅と高さの値は、浮動ツールバーの x 座標
と y 座標を算出するのに使用されます。
integer ix, iy, iw, ih
// ツールバーのサイズを調べます。
w_frame.GetToolbarPos(2, ix, iy, iw, ih)
// サイズを考慮して位置を設定します。
w_frame.SetToolbarPos(2, &
w_frame.WorkspaceWidth( ) - iw, &
w_frame.WorkspaceHeight( ) &
- ih - w_frame.MDI_1.MicroHelpHeight, &
iw, ih)
PowerScript リファレンス ボリューム 2
1141
SetTop
// 配置を浮動に設定します。
w_frame.SetToolbar(2, TRUE, Floating!)
関連項目
GetToolbar
SetToolbar
SetToolbarPos
SetTop
機能
リストボックス コントロールまたはピクチャ リストボックス コント
ロールをスクロールして、指定の項目をリストの一番上に表示します。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.SetTop ( index )
引数
listboxname
index
説明
スクロールするリストボックス コントロールまたはピク
チャ リストボックス コントロールの名前を指定します。
リストの一番上に表示する項目の番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
例
次のステートメントは、lb_Actions の項目 6 をスクロールしてリスト
ボックスの一番上に表示します。項目 6 が表示される項目の先頭にな
ります。
lb_Actions.SetTop(6)
次のステートメントは、lb_Actions に現在選択されている項目をスク
ロールして項目リストの一番上に表示します。
lb_Actions.SetTop(lb_Actions.SelectedIndex())
関連項目
1142
SetFocus
SetState
PowerBuilder
第 10 章
PowerScript 関数
SetTraceFileName
機能
BuildModel 関数を呼び出した場合に、PowerBuilder が解析するトレース
ファイルの名前を指定します。
対象
Profiling オブジェクトと TraceTree オブジェクト
構文
instancename.SetTraceFileName ( tracefilename )
引数
instancename
tracefilename
戻り値
説明
Profiling オブジェクトまたは TraceTree オブジェクトのイ
ンスタンス名を指定します。
String 型の値。PowerBuilder が解析するトレース ファイル
の名前を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileOpenError! - ファイルを開くことができませんでした。
•
FileInvalidFormatError! - トレース ファイルが正しい形式でありま
せん。
•
ModelExistsError! - モデルはすでに構築されています。
エラーが発生した場合、名前は設定されません。
解説
この関数では、PowerBuilder が BuildModel 関数で解析するトレース ファ
イルを指定します。SetTraceFileName 関数は、BuildModel 関数より前に
呼び出します。
例
次の例は、パフォーマンス解析モデルを構築するトレース ファイルの
名前を提供します。
Profiling lpro_model
String ls_line
lpro_model = CREATE Profiling
lpro_model.SetTraceFileName (filename)
ls_line = "CollectionTime = " + &
String(lpro_model.CollectionTime ) + "~r~n" &
+ "Num Activities = " &
+ String(lpro_model.NumberOfActivities) +
"~r~n"
lpro_model.BuildModel()
...
PowerScript リファレンス ボリューム 2
1143
SetTransPool
関連項目
BuildModel
SetTransPool
機能
分散アプリケーションのデータベース トランザクションのプールを
設定します。SetTransPool は、PowerBuilder から除去された機能で使用
されていた関数であり、現在のバージョンではサポートされません。
対象
Application オブジェクト
構文
applicationname.SetTransPool ( minimum, maximum, timeout )
引数
applicationname
minimum
maximum
timeout
戻り値
説明
トランザクション プールを設定するアプリケーション オ
ブジェクトの名前を指定します。
プールで開いておくトランザクションの最小数を指定し
ます。
プールで開いておくトランザクションの最大数を指定し
ます。
トランザクション プールでリクエストが接続待ちできる
秒数を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
SetValue
機能
コントロールの Value プロパティに日付と時間を設定します。
対象
日付ピッカー コントロール
構文
controlname.SetValue ( d, t )
controlname.SetValue ( dt )
引数
controlname
d
t
dt
1144
説明
日付と時間を設定したいコントロールの名前を指定します。
Value プロパティで設定される日付値を指定します。
Value プロパティで設定される時間値を指定します。
Value プロパティで設定される DateTime 値を指定します。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
次のいずれかの負の値を返します。
-1 値を設定できません。
-2 ほかのエラーです。
解説
SetValue 関数は、個別の日付と時間の変数あるいは 1 つの DateTime 変
数を使用して Value プロパティを設定できます。
例
次の例は、個別の日付と時間の値を使用して日付ピッカー コントロー
ルの Value プロパティを設定します。
date d
time t
d=date("2007/12/27")
t=time("12:00:00")
dp_1.SetValue(d, t)
次の例は、DateTime 値を使用して Value プロパティを設定します。
date d
time t
datetime dt
dt = DateTime(d, t)
dp_1.SetValue(dt)
関連項目
GetText
GetValue
PowerScript リファレンス ボリューム 2
1145
SharedObjectDirectory
SharedObjectDirectory
機能
共有するように登録されたオブジェクトのリストを検索します。
構文
SharedObjectDirectory ( instancenames {, classnames } )
引数
instancenames
classnames
(オプション)
戻り値
説明
共有するために登録したオブジェクトの名前を格納する
結合していない String 型の配列を指定します。
共有するために登録したオブジェクトのクラス名を格納
する結合していない String 型の配列を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FeatureNotSupportedError! - この関数はこのプラットフォームで
はサポートされていません。
解説
この関数を使用して、共有するように登録されたオブジェクトのリス
トを取得します。
例
次の例では、アプリケーションが共有オブジェクトとそのクラス名の
リストを検索します。
errorreturn status
string InstanceNames[]
string ClassNames[]
status = SharedObjectDirectory(InstanceNames, &
ClassNames)
関連項目
SharedObjectGet
SharedObjectRegister
SharedObjectGet
機能
共有オブジェクト インスタンスの参照を取得します。
構文
SharedObjectGet ( instancename , objectinstance )
引数
instancename
1146
説明
参照を取得する共有オブジェクト インスタンスの名前を
指定します。指定する名前は、SharedObjectRegister 関数
で最初に登録されたときのオブジェクト インスタンスに
与えられた名前と一致しなければなりません。
PowerBuilder
第 10 章
引数
objectinstance
戻り値
解説
PowerScript 関数
説明
共有オブジェクトのインスタンスを格納する PowerObject
型のオブジェクト変数を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
SharedObjectCreateInstanceError! - 共有オブジェクトに対するロー
カル参照を作成できませんでした。
•
SharedObjectNotExistsError! - そのインスタンス名は登録されてい
ません。
SharedObjectGet 関数は、
SharedObjectRegister 関数で作成されたオブジェ
クトの参照を検索します。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。クライアント
のメイン スレッドから、共有オブジェクト上の関数を非同期に呼び出
します。このとき渡すコールバック オブジェクトに、サーバ上での処
理の完了時の通知が行われます。共有オブジェクト上のこのメソッド
は、処理を実行する EAServer コンポーネント上のメソッドを同期呼び
出しします。共有オブジェクトがクライアント上の個別のスレッド内
で動作しているので、クライアントのメイン スレッドはサーバ上でプ
ロセスの動作中にほかの作業を続行できます。
例
次の例では、共有オブジェクトを使用して EAServer コンポーネントの
メソッドに対して非同期要求を行った後、データをクライアント アプ
リケーション ウィンドウに返しています。クライアントは、そのウィ
ンドウに Retrieve ボタンがあり、さらに SetDW 関数、共有オブジェク
ト、およびコールバック ハンドラを持ちます。EAServer に配布された
コンポーネントがデータベースから従業員の情報を検索します。
ウィンドウの Retrieve ボタンは、EAServer と通信する共有オブジェク
トをコールバック ハンドラのインスタンスとともに作成します。
// インスタンス変数:
// uo_sharedobject iuo_sharedobject
// uo_callback iuo_callback
long ll_rv
SharedObjectRegister("uo_sharedobject","myshare")
SharedObjectGet("myshare",iuo_sharedobject)
iuo_callback = CREATE uo_callback
// ウィンドウの参照をコールバック
PowerScript リファレンス ボリューム 2
1147
SharedObjectGet
// オブジェクトに渡します。
iuo_callback.passobject (parent)
iuo_sharedobject.post retrievedata(iuo_callback)
SetDW 関数は、EAServer コンポーネントから返されたデータウィンドウ
Blob 型変数の内容をウィンドウ内のデータウィンドウ コントロール
に適用します。
long ll_rv
ll_rv = dw_employee.SetFullState(ablb_data)
if ll_rv = -1 then
MessageBox(" エラー ", "SetFullState の呼び出しに失敗しま
した。")
end if
return ll_rv
共有オブジェクトの Constructor イベントは、カスタム接続オブジェクト
n_jagclnt_connect を使用してサーバに接続します。次に、EAServer コン
ポーネントのインスタンスを作成します。
// インスタンス変数:
// uo_employee iuo_employee
// n_jagclnt_connect myconnect
Constructor event
long ll_rc
myconnect = create n_jagclnt_connect
ll_rc = myconnect.ConnectToServer()
ll_rv = myconnect.CreateInstance(iuo_employee, &
"uo_employee")
共有オブジェクトには、EAServer コンポーネント上の RetrieveData 関
数を同期呼び出しする単一の関数 RetrieveData があります。
RetrieveData 関数はその処理が完了すると、コールバック オブジェクト
上の Notify 関数を呼び出し、サーバ コンポーネントから返されたデー
タウィンドウ Blob 型変数を Notify 関数に渡します。
blob lblb_data
long ll_rv
ll_rv = iuo_employee.retrievedata(lblb_data)
auo_callback.notify(lblb_data)
return ll_rv
1148
PowerBuilder
第 10 章
PowerScript 関数
EAServer コンポーネントが処理を完了すると、共有オブジェクトが
ユーザ オブジェクト uo_callback に通知し、続いて uo_callback オブジェ
クトが w_employee ウィンドウに通知します。uo_callback オブジェクト
は、Notify と PassObject の 2 つ の 関 数 を 持 ち ま す。Notify 関 数 は、
w_employee ウィンドウ上の SetDW 関数を呼び出し、
サーバ コンポーネ
ントから返されたデータウィンドウ Blob 型変数を SetDW 関数に渡し
ます。
long ll_rv
ll_rv = iw_employee.setdw(ablb_data)
if ll_rv = -1 then
MessageBox(" エラー ", "SetDW の呼び出しに失敗しました。")
end if
return ll_rv
コールバック ハンドラの PassObject 関数は、w_employee ウィンドウの
参照をキャッシュに入れます(iw_employee インスタンス変数内に格納
します)。この関数は、w_employee 型である引数 aw_employee をとり、
Long 型の値を返します。
iw_employee = aw_employee
return 1
EAServer コンポーネントは、PowerBuilder ユーザ オブジェクト
uo_employee です。uo_employee オブジェクトには、データストアを使
用してデータベースから従業員の行を検索する RetrieveData 関数があり
ます。
// インスタンス変数:
// protected TransactionServer txnsrv
// protected DataStore ids_datastore
long ll_rv
ll_rv = ids_datastore.Retrieve()
ll_rv = ids_datastore.GetFullState(ablb_data)
txnsrv.SetComplete()
return ll_rv
関連項目
SharedObjectRegister
SharedObjectUnregister
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GetFullState メソッド と SetFullState メソッド
PowerScript リファレンス ボリューム 2
1149
SharedObjectRegister
SharedObjectRegister
機能
ユーザ オブジェクトを登録して共有できるようにします。
構文
SharedObjectRegister ( classname , instancename )
引数
classname
instancename
戻り値
解説
説明
共有するユーザ オブジェクトの名前を指定します。
共有オブジェクト インスタンスに割り当てる名前を指定
する文字列値です。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
SharedObjectExistsError! - そのインスタンス名はすでに使用され
ています。
•
SharedObjectCreateInstanceError! - オブジェクトは作成できません
でした。
•
SharedObjectCreatePBSessionError! - 共有オブジェクト セッション
は作成できませんでした。
SharedObjectRegister 関数を呼び出すときに、PowerBuilder は、共有オブ
ジェクト用に別のランタイム セッションを開き、共有オブジェクトを
作 成しま す。その オブジ ェクト イン スタン スに指 定した 名前で、
SharedObjectGet 関数を使ってそのオブジェクト インスタンスにアクセ
スできます。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。詳細について
は、SharedObjectGet 関数の説明を参照してください。
例
次の例では、ユーザ オブジェクト uo_customers を登録し、共有できる
ようにします。共有オブジェクト インスタンスに割り当てられる名前
は、share1 です。オブジェクトを登録してからは、アプリケーション
は SharedObjectGet 関数を使ってオブジェクト変数にオブジェクトのイ
ンスタンスを格納します。
SharedObjectRegister("uo_customers", "share1")
SharedObjectGet("share1",shared_object)
関連項目
1150
SharedObjectGet
SharedObjectUnregister
PowerBuilder
第 10 章
PowerScript 関数
SharedObjectUnregister
機能
以前に登録されたユーザ オブジェクトの登録を取り消します。
構文
SharedObjectUnregister ( instancename )
引数
instancename
戻り値
解説
説明
共有オブジェクト インスタンスにそれが最初に登録され
たときに割り当てられた名前を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
SharedObjectNotExistsError! - そのインスタンス名は登録されてい
ません。
この関数は、共有オブジェクトを破棄するように印を付けます。しか
し、マークされたオブジェクトは実際にはそのオブジェクトへの参照
がなくなるまで破棄されません。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。詳細について
は、SharedObjectGet 関数の説明を参照してください。
例
次の例では、アプリケーションが share1 と呼ばれるオブジェクト イン
スタンスの登録を取り消します。
SharedObjectUnregister("share1")
関連項目
SharedObjectRegister
Show
機能
オブジェクトやコントロールが非表示のとき、それを表示します。そ
のオブジェクトがすでに表示されているとき、Show 関数はそれを最前
面に表示します。
対象
すべてのオブジェクト
構文
objectname.Show ( )
引数
objectname
PowerScript リファレンス ボリューム 2
説明
見える状態にする(表示する)オブジェクトまたはコント
ロールの名前を指定します。
1151
ShowHeadFoot
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。objectname が null の場合、null を返します。
解説
指定されたオブジェクトが開かれていないウィンドウの場合、実行時
にエラーが発生します。
Show 関数では、ドロップダウン メニュー、カスケード メニュー、お
よび親ウィンドウが MDI フレーム ウィンドウであるメニューを表示
することはできません。
Show 関数を呼び出すかわりに、オブジェクトの Visible
プロパティを設定できます。
別の記述方法
objectname.Visible = true
たとえば、次のようなステートメントがあるとします。
m_status.m_options.Visible = TRUE
このステートメントは、次のステートメントと同じ意味です。
m_status.m_options.Show()
例
次のステートメントは、メニュー m_status のメニュー項目 m_options を
表示します。
m_status.m_options.Show()
次のステートメントは、チャイルド ウィンドウ w_child を表示します。
w_child.Show()
関連項目
Hide
ShowHeadFoot
機能
リッチテキスト エディット コントロールで、ヘッダとフッタを編集す
るパネルを表示するか、またはパネルを非表示にしてメイン テキスト
の編集画面に戻ります。
対象
リッチテキスト エディット コントロール、提示様式がリッチテキスト
のデータウィンドウ コントロール
構文
rtename.ShowHeadFoot ( editheadfoot, {headerfooter})
1152
PowerBuilder
第 10 章
引数
rtename
editheadfoot
PowerScript 関数
説明
ヘッダとフッタを編集するリッチテキスト エディット コ
ントロールまたはデータウィンドウ コントロールの名前
を指定します。
表示する編集パネルを指定する Boolean 型の値。値は以下
のとおりです。
• TRUE - ヘッダとフッタの編集パネル
headerfooter
(オプション)
• FALSE - 文書本体の詳細編集パネル
ヘッダまたはフッタ パネルの編集で挿入ポイント(キャ
レット)がヘッダまたはフッタ セクションのどちらにある
かを指定する Boolean 型の値。値は以下のとおりです。
• True キャレットはヘッダ セクションにあります。
• False キャレットはフッタ セクションにあります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ShowHeadFoot 関数は、コントロールがプレビュー モードまたはメイン
テキストの編集モードで表示されている場合に有効です。コントロー
ルがプレビュー モードで表示されている場合にこの関数を呼び出す
と、編集モードに戻ります。
editheadfoot 引数が false の場合は、headerfooter 引数は無視されます。
headerfooter 引数の値が指定されない場合は、デフォルトで「true」が
設定されます。ヘッダとフッタには、ページ番号と日付の入力フィー
ルドを含めることができます。
データウィンドウ コントロールの場合、データウィンドウ オブジェク
トの提示様式がリッチテキストでないときには、ShowHeadFoot 関数は
無効です。
例
次の例は、ヘッダとフッタの編集パネルを表示し、エンド ユーザが
フッタの内容を指定できるようにします。
rte_1.ShowHeadFoot(TRUE, FALSE)
次のスクリプトは、フッタに現在のページ番号を挿入してから、リッ
チテキスト コントロールのドキュメントのボディにフォーカスを戻
します。
rte_1.ShowHeadFoot(true,false)
rte_1.SetAlignment ( Center! )
rte_1.InputFieldInsert("PAGENO")
rte_1.ShowHeadFoot(false,false)
関連項目
Preview
PowerScript リファレンス ボリューム 2
1153
ShowHelp
ShowHelp
機能
PowerBuilder のアプリケーション用に作成した Microsoft Windows ベー
スのヘルプ システムまたはコンパイル済みの HTML ヘルプ ファイル
へのアクセスを提供します。ShowHelp 関数を呼び出すと、PowerBuilder
はヘルプを実行可能にし、指定されたヘルプ ファイルを表示します。
構文
ShowHelp ( helpfile, helpcommand {, typeid } )
引数
helpfile
helpcommand
説明
コンパイル済みの HLP ファイルまたは CHM(HTML ヘル
プ)ファイルの名前を表す文字列を指定します。
HelpCommand カタログ データ型の値。値は以下のとおり
です。
• Finder! - ヘルプ ファイルを前回の使用状態で表示しま
す(WinHelp のヘルプ トピック ダイアログボックスま
たは HTML ヘルプ ビューアのナビゲータ ペインにお
いて、ヘルプ ファイルで前回使用されたタブまたはデ
フォルト タブを開いた状態)
。
• Index! - ヘルプ ファイルのトップレベルの目次トピッ
クを表示します。
• Keyword! - typeid で指定されたキーワードによって識
別されるトピックを表示します。
• Topic! - typeid で指定された数によって識別されるト
ピックを表示します。
typeid
(オプション)
helpcommand に Topic! を指定した場合、トピックを識別す
る番号を指定します。Keyword! を指定した場合、ヘルプ
トピックのキーワードを表す文字列を指定します。
helpcommand が Finder! または Index! の場合、typeid は指定
しません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。helpcommand が Finder! または Index! の場合に typeid を
指定したときには、-1 を返します。引数のいずれかの値が null の場合、
null を返します。
解説
状況依存ヘルプを提供するには、アプリケーションの適切なスクリプ
ト内で、トピック ID やキーワードを指定して ShowHelp 関数を呼び出
します。
helpcommand に Keyword! を指定した場合に typeid の文字列が固有値で
ないときには、ヘルプ検索ウィンドウを表示します。
1154
PowerBuilder
第 10 章
PowerScript 関数
PowerBuilder アプリケーションのオンライン ヘルプ ファイルを作成す
る方法についての詳細は、『アプリケーション テクニック』マニュア
ルで、オンライン ヘルプの作成に関する章を参照してください。
例
次のステートメントは、INQ.HLP ファイルのヘルプ インデックスを表
示します。
ShowHelp("C:\PB\INQ.HLP", Index!)
次のステートメントは、EMP.HLP ファイルのヘルプ トピック 143 を表
示します。
ShowHelp("EMP.HLP", Topic!, 143)
次のステートメントは、EMP.HLP ファイルのキーワード Part# に関連
するヘルプ トピックを表示します。
ShowHelp("EMP.HLP", Keyword!, "Part#")
次のステートメントは、ヘルプ検索ウィンドウを表示します。キーワー
ドのリストの上のボックスには、M で始まるキーワードのうち先頭の
キーワードが表示されます。
ShowHelp("EMP.HLP", Keyword!, "M")
関連項目
Help
ShowPopupHelp
ShowPopupHelp
機能
指定したコントロールのポップアップ ヘルプを表示します。
対象
すべてのコントロール
構文
ShowPopupHelp ( helpfile, control, contextid )
引数
helpfile
control
contextid
戻り値
説明
使用するヘルプ ファイル名を表す文字列を指定します。
ポップアップ ヘルプを表示する DragObject 型の値を指定
します。
コンテキスト ID 番号を表す Long 型の値を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
PowerScript リファレンス ボリューム 2
1155
Sign
解説
ShowPopupHelp の呼び出しが行われる場所は一般的に、
Context Help(状
況依存ヘルプ)プロパティを有効にしたレスポンス ウィンドウの Help
イベント内です。コントロール上でのカーソルの移動に関連するイベ
ントや、コントロールまたはオブジェクトのドラッグに関連するイベ
ントもまた、ShowPopupHelp 関数の呼び出しを行うのに適した場所で
す。
contextid 引数には、正しいコンテキスト ID 番号を入力する必要があり
ます。そうでない場合、ShowPopupHelp 関数を呼び出した項目のヘル
プ トピックが存在しないことを通知するメッセージが表示されます。
例
次の例は、現行ディレクトリのサブディレクトリ内にあるヘルプ ファ
イルを呼び出します。
ShowPopupHelp ( "Help\my_app.hlp", this, 510)
関連項目
Help
ShowHelp
Sign
機能
指定された数値の符号を調べ、数値が正、負、0 のいずれであるかを
示す数値を返します。
構文
Sign ( n )
引数
n
説明
符号を調べる数値を指定します。
戻り値
Integer 型。n で指定された数値の符号を示す数字(-1、0、1)を返しま
す。n が null の場合、null を返します。
例
次のステートメントは、1 を返します。1 は、正の符号を表します。
Sign(5)
次のステートメントは、0 を返します。0 は、符号が付かないことを表
します。
Sign(0)
次のステートメントは、-1 を返します。-1 は、負の符号を表します。
Sign(-5)
関連項目
1156
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sign メソッド
PowerBuilder
第 10 章
PowerScript 関数
SignalError
機能
アプリケーション レベルで SystemError イベントを起動します。
構文
SignalError ( { number }, { text } )
引数
number
(オプション)
text
(オプション)
説明
メッセージ オブジェクトで使用する整数(エラー オブ
ジェクトの数値プロパティに保存されている)を指定しま
す。
メッセージ オブジェクトで使用する文字列(エラー オブ
ジェクトのテキスト プロパティに保存される)を指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。通常、戻り値は使用されません。
解説
SignalError 関数は、開発中にエラー処理のスクリプトをテストするのに
使用します。PopulateError 関数を呼び出してエラー オブジェクトを表
示し、
引数なしで SignalError 関数を呼び出すことができます。
SystemError
イベントのスクリプトがそのエラーをどのように扱うかを調べること
ができます。SignalError 関数にオプションの number および text の引数
を渡す と、エラ ー オブ ジェク トのす べての フィー ルドを 満たし、
SystemError イベントを発生させます。
SignalError 関数は、実際にアプリケーションを実行するときにも便利で
す。たとえば、アプリケーションを続行できない重大なエラーをエン
ド ユーザが発生させた場合、エラー オブジェクトに独自のエラー番号
の値を設定して SignalError 関数を呼び出します。SystemError イベント
のスクリプトには、独自のエラー番号に対するエラーを処理するよう
に記述する必要があります。SystemError イベントに対するスクリプト
がないときは、SignalError 関数は何もしません。
アプリケーション エラーが発生したときに、エラー オブジェクトの
Number プロパティに割り当てる実行時エラーの番号の詳細について
は、PowerBuilder の『ユーザーズ ガイド』マニュアルを参照してくだ
さい。
例
次のステートメントは、エラー オブジェクトに値を設定してから
SystemError イベントを起動し、これらの値に対するエラー処理をテス
トすることができます。
int error_number
string error_text
Error.Number = 1010
Error.Text = "Salary must be a positive number."
Error.Windowmenu = "w_emp"
PowerScript リファレンス ボリューム 2
1157
Sin
error_number = Error.Number
error_text = Error.Text
SignalError(error_number, error_text)
関連項目
PopulateError
Sin
機能
角度の正弦値を計算します。
構文
Sin ( n )
引数
n
説明
正弦値を計算する角度(ラジアン)を指定します。
戻り値
Double 型。n の正弦値を返します。n が null の場合、null を返します。
例
次のステートメントは、.8414709848078965 を返します。
Sin(1)
次のステートメントは、0 を返します。
Sin(0)
次のステートメントは、0 を返します。
Sin(Pi(1))
関連項目
1158
ASin
Cos
Pi
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sin メソッド
PowerBuilder
第 10 章
PowerScript 関数
Sleep
機能
指定した期間、アプリケーションを一時停止します。
構文
Sleep ( seconds )
引数
seconds
戻り値
説明
Long 型の値。アプリケーションを一時停止させる秒数を
指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
例
次の例は、アプリケーションを 5 秒間、一時停止させます。
Sleep ( 5 )
Sort
データウィンドウ コントロール、データストア オブジェクトまたは子
データウィンドウ、あるいはツリービュー またはリストビュー コント
ロールの行をソートします。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアルまたはオンライン ヘルプの
「Sort メソッド」を参照してください。
ソートの対象
ツリービュー コントロールの項目
リストビュー コントロールの項目
使用する構文
構文 1
構文 2
構文 1
ツリービュー コントロールの項目をソートする
機能
ツリービュー コントロールの項目の子をソートします。
対象
ツリービュー コントロール
構文
treeviewname.Sort ( itemhandle , sorttype )
引数
treeviewname
itemhandle
PowerScript リファレンス ボリューム 2
説明
ツリービュー コントロールの名前を指定します。指定され
たコントロールの項目をソートします。
項目を指定します。指定された項目の子をソートします。
1159
Sort
引数
sorttype
説明
ソートする方法を指定します。次のいずれかの値を指定し
ます。
Ascending!
Descending!
UserDefinedSort!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
Sort 関数は、指定した項目のすぐ下のレベルだけをソートします。複
数のレベルをソートする場合、SortAll 関数を使用します。sorttype に
UserDefinedSort! を指定した場合、ツリービュー コントロールの Sort イ
ベントで独自のソート条件を定義します。ツリービュー コントロール
のレベル 1 をソートするには、itemhandle を 0 に設定します。
例
次の例は、ツリービュー コントロールの現行の項目の子をソートしま
す。
long ll_tvi
ll_tvi = tv_foo.FindItem(CurrentTreeItem! , 0)
tv_foo.SetRedraw(false)
tv_foo.Sort(ll_tvi , Ascending!)
tv_foo.SetRedraw(true)
関連項目
SortAll
構文 2
リストビュー コントロールの項目をソートする
機能
リストビュー コントロールの項目をソートします。
対象
リストビュー コントロール
構文
listviewname.Sort ( sorttype, { column } )
引数
listviewname
sorttype
column
(オプション)
1160
説明
リストビュー コントロールを指定します。指定されたコン
トロールの項目をソートします。
使用するソート方法を指定します。値は以下のとおりです。
Ascending!
Descending!
Unsorted!
UserDefinedSort!
カラム番号を指定します。指定されたカラムに基づいてリ
ストビュー コントロールの項目をソートします。
PowerBuilder
第 10 章
PowerScript 関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
特に指定しない限り、英数字がソートされます。
ソートするカラムを指定しなかった場合には、最初のカラムがソート
されます。
例
次の例は、リストビュー コントロールのカラム 3 の項目をソートしま
す。
lv_list.SetRedraw(false)
lv_list.Sort(Ascending! , 3)
lv_list.SetRedraw(true)
関連項目
SortAll
SortAll
機能
ツリービュー コントロールの項目の階層構造で、すべての下位項目を
ソートします。
対象
ツリービュー コントロール
構文
treeviewname.SortAll ( itemhandle, sorttype )
引数
treeviewname
itemhandle
sorttype
説明
項目の階層構造で下位レベルをソートするツリービュー
コントロールの名前を指定します。
すべての下位レベルをソートする項目を指定します。
ソートする方法を指定します。値は以下のとおりです。
Ascending!
Descending!
Unsorted!
UserDefinedSort!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
sorttype に UserDefinedSort! を指定した場合、ツリービュー コントロー
ルの Sort イベントで独自のソート条件を定義します。
SortAll 関数では、ツリービューのレベル 1 をソートできません。しか
し、レベル 1 はツリービューの SortType プロパティがソートを呼び出
したときに自動的にソートされます。
PowerScript リファレンス ボリューム 2
1161
Space
例
次の例は、現行のツリービュー コントロールの項目のすべての下位項
目をソートします。
long ll_tvi
// 現行のツリービュー コントロールの項目を検索します。
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
// すべての子をソートします。
tv_list.SortAll(ll_tvi , Ascending!)
次の例は、ツリービュー コントロール全体をソートします。
long ll_tvi
// ツリービュー コントロールの最上位の項目を検索します。
ll_tvi = tv_list.FindItem(RootTreeItem!, 0)
// すべての子をソートします。
tv_list.SortAll(ll_tvi , Ascending!)
関連項目
Sort
Space
機能
指定された長さのスペース(半角)で構成される文字列を返します。
構文
Space ( n )
引数
n
説明
スペース(空白文字)で構成される文字列の長さを指定す
る Long 型の数値を指定します。最大値は、文字列の最大
の長さである 2,147,483,647 です。
戻り値
String 型。正常に終了した場合は n 個のスペースを持つ文字列を返し、
エラーが発生した場合には空の文字列("")を返します。n が null の場
合、null を返します。
例
次のステートメントは、Name に 4 つのスペースを持つ文字列を代入し
ます。
string Name
Name = Space(4)
次のステートメントは、文字列 Name に 40 個のスペースを代入します。
1162
PowerBuilder
第 10 章
PowerScript 関数
string Name
Name = Space(40)
関連項目
Fill
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Space メソッド
Sqrt
機能
ある数値の平方根を計算します。
構文
Sqrt ( n )
引数
n
説明
平方根を計算する数値を指定します。
戻り値
Double 型。正常に終了した場合は n で指定された数値の平方根を返し
ます。n が null の場合、null を返します。
解説
Sqrt(n) は、n^.5 と同じ意味です。
負の数の平方根を計算しようとすると、実行時にエラーが発生します。
例
次のステートメントは、1.414213562373095 を返します。
Sqrt(2)
次のステートメントは、実行時にエラーが発生します。
Sqrt(-2)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sqrt メソッド
Start
Start 関数には、2 つの構文があります。
目的
パイプライン オブジェクトを実行する
タイミング オブジェクトをアクティブ化する
PowerScript リファレンス ボリューム 2
使用する構文
構文 1
構文 2
1163
Start
構文 1
パイプライン オブジェクトを実行する
機能
パイプライン オブジェクトを実行し、パイプライン オブジェクトの
SQL クエリによって指定された転送先に、転送元からデータを転送し
ます。このパイプライン オブジェクトは、パイプライン システム オ
ブジェクトから継承したユーザ オブジェクトのプロパティを持ちま
す。
対象
パイプライン オブジェクト
構文
pipelineobject.Start ( sourcetrans, destinationtrans, errorobject
{, arg1, arg2,..., argn } )
引数
pipelineobject
sourcetrans
destinationtrans
errorobject
argn
(オプション)
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
負の値を返します。エラーが発生した場合、次のいずれかの値を返し
ます。
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-12
-13
-15
-16
-17
1164
説明
実行するパイプライン オブジェクトを含むパイプライン
ユーザ オブジェクトの名前を指定します。
転送元のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
転送先のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
パイプライン エラー データウィンドウを格納するデータ
ウィンドウ コントロールまたはデータストアの名前を指
定します。
データ パイプライン ペインタのパイプライン オブジェク
トに指定された 1 つ以上の検索引数を指定します。
パイプのオープンに失敗しました。
カラムの数が多すぎます。
テーブルはすでに存在しています。
テーブルが存在しません。
接続していません。
引数に誤りがあります。
カラムが一致していません。
転送元に致命的な SQL のエラーがあります。
転送先に致命的な SQL エラーがあります。
エラーの最大数を超えました。
テーブル構文に誤りがあります。
必要なキーが与えられていません。
パイプはすでに進行中です。
転送元のデータベースにエラーがあります。
転送先のデータベースにエラーがあります。
PowerBuilder
第 10 章
-18
PowerScript 関数
転送先のデータベースは読み出し専用です。
引数のいずれかの値が null の場合、null を返します。
解説
パイプラインの転送には、複数の PowerBuilder のオブジェクトが関連
します。次のオブジェクトが必要です。
•
パイプライン オブジェクト。データ パイプライン ペインタで定義
します。どのようなデータを転送するのか、またはそのデータを
転送元のデータベースのテーブルから転送先のデータベースの
テーブルにどのようにマッピングするのかを指定する SQL 文が含
まれます。
•
ユーザ オブジェクト。パイプライン システム オブジェクトから継
承されたものです。パイプライン転送の進行をチェックするため
のプロパティを引き継いでいます。ペインタで、インスタンス変
数を定義し、パイプラインのイベントに対するスクリプトを記述
します。
•
ウィンドウ。パイプライン エラー データウィンドウとして使用す
るデータウィンドウ コントロールまたはデータストアを持ってい
ます。データウィンドウ オブジェクトを、そのデータウィンドウ
コントロールに配置しないでください。パイプラインの実行時に
エ ラ ー が 発 生 し た 場 合、デ ー タ ウ ィ ン ド ウ コ ン ト ロ ー ル は、
PowerBuilder のパイプライン エラー データウィンドウ オブジェク
トを表示します。
また、ウィンドウには、パイプラインの実行、エラーの修復、キャン
セルなどを行うためのボタンやメニューなどを持たせることもできま
す。これらを実行するスクリプトには、Start 関数、Repair 関数、およ
び Cancel 関数を使用します。
アプリケーションがパイプラインを実行する前に、転送元と転送先の
データベースを接続し、ユーザ オブジェクトのインスタンスを作成
し、ユーザ オブジェクトの DataObject プロパティにパイプライン オブ
ジェクトを割り当てておく必要があります。その後で、Start 関数を呼
び出してパイプラインを実行します。1 つまたは複数のスクリプトに、
この処理を記述します。
パイプラインを実行すると、転送されるデータはデータ パイプライン
ペインタで定義した内容に従ってコミットされます。次のような指定
ができます。
•
パイプラインが終了すると、データはコミットされます。エラー限
界の最大数を超えると、すべてのデータがロールバックされます。
PowerScript リファレンス ボリューム 2
1165
Start
•
指定された行数が転送された後、データは通常のインターバルで
コミットされます。エラー限界の最大数を超えたときは、転送さ
れたすべての行がコミットされます。
データ パイプライン ペインタにおけるパイプライン オブジェクトの
指定方法や、その設定がコミットに与える影響についての詳細は、
PowerBuilder の『ユーザーズ ガイド』マニュアルを参照してください。
アプリケーションにおけるパイプラインの使用についての詳細は、
『ア
プリケーション テクニック』マニュアルを参照してください。
動的にパイプライン オブジェクトをユーザ オブジェクトの DataObject
プロパティに割り当てる場合、アプリケーションの実行ファイルを構
築するときに、パイプライン オブジェクトを動的ライブラリに含める
必要があることに注意してください。
例
次のスクリプトでは、パイプライン ユーザ オブジェクトのインスタン
スを作成し、そのパイプライン ユーザ オブジェクトの DataObject プロ
パティにパイプライン オブジェクトを割り当て、その後でパイプライ
ンを実行します。i_src と i_dst はあらかじめ宣言され、作成されたトラ
ンザクション オブジェクトです。別のスクリプトでデータベースの接
続を確立しています。
u_pipe は、
パイプライン システム オブジェクトを継承したユーザ オブ
ジェクトです。i_upipe は、u_pipe 型のインスタンス変数です。p_pipe
は、データ パイプライン ペインタで作成されたパイプライン オブジェ
クトです。
i_upipe = CREATE u_pipe
i_upipe.DataObject = "p_pipe"
i_upipe.Start(i_src, i_dst, dw_1)
関連項目
Cancel
Repair
構文 2
タイミング オブジェクトをアクティブ化する
機能
Timer イベントを指定された間隔で繰り返し行われるようにするタイ
ミング オブジェクトをアクティブにします。
対象
タイミング オブジェクト
構文
timingobject.Start ( interval )
引数
timingobject
1166
説明
アクティブにしたいタイミング オブジェクトの名前を指
定します。
PowerBuilder
第 10 章
引数
interval
PowerScript 関数
説明
Timer イベント間の秒数を Double 型で指定します。interval
は 0 より大きく 4,294,967 秒以下の自然数または分数で指
定できます。間隔 0 は無効です。
戻り値
Integer 型。正常に終了した場合は、1 を返します。タイマーがすでに
実行されている場合、指定された間隔が無効な場合、または使用でき
るシステム タイマーがない場合は、-1 を返します。
解説
Start 関数のこの構文は、非表示のタイミング オブジェクトをアクティ
ブにするのに使用されます。タイミング オブジェクトは、PowerBuilder
ウィンドウと関連付けられていない Timer イベントを起動するために
使用できます。したがって、各クライアント接続用のウィンドウがな
い分散アプリケーション サーバまたは共有オブジェクトには便利で
す。
タイミング オブジェクトは、Timing システム オブジェクトから継承さ
れた標準クラス ユーザ オブジェクトです。タイミング オブジェクト
を作成し、その Timer イベントをコーディングすると、オペレーティ
ング システムの制限内でオブジェクトのインスタンスをいくつでも
作成できます。オペレーティング システムは、タイマーの固定された
数値をサポートします。これらのタイマーのいくつかは、PowerBuilder
およびそのほかのアプリケーションまたはオペレーティング システ
ム自身ですでに使用されています。
タイミング オブジェクトのインスタンスをアクティブにするには、
Timer イベント間の interval を指定する Start 関数を呼び出します。その
インスタンスの Timer イベントは指定された間隔の後ですぐに起動さ
れ、タイミング オブジェクトのそのインスタンスで Stop 関数が呼び出
されるまで、またはそのオブジェクトが破棄されるまで継続します。
Timer イベントはいつ起こるか
Start 関数に指定される interval は Timer イベントの間隔の最小値です。
そのほかのすべてのポストされたイベントは Timer イベントの前に起
こります。
間隔の精度は、オペレーティング システムによって異なります。
タイミング間隔をいくつにするか、およびタイマー オブジェクトの
Interval と Running プロパティにアクセスすることによってタイマーを
実行するかどうかを決めることができます。これらのプロパティは、
読み込みのみのアクセスです。タイミング間隔の値を変更するには、
タイマーをストップし再起動しなければなりません。
PowerScript リファレンス ボリューム 2
1167
Start
ガベージ コレクション
タイミング オブジェクトが実行されていれば、ガベージ コレクション
にはまわされません。ガベージコレクションは、タイミング オブジェ
クトが実行されておらず、それに対する参照がないときにのみ起こり
ます。
例
例 1 ローカル クライアントが、データベースの値に基づいて株券の
ポートフォリオの値を計算するなどのいくつかの処理を行う分散処理
アプリケーションがあるとします。クライアントは、データベースか
らデータの値を検索するためにリモート サーバ上のユーザ オブジェ
クトを要求します。
標準クラス ユーザ オブジェクトを Timing システム オブジェクトから
継承された uo_timer と呼ばれるサーバに作成し、データをリフレッ
シュするためにその Timer イベントをコーディングします。続いて、以
下のスクリプトがタイミング オブジェクト uo_timer のインスタンス、
MyTimer を作成します。Start 関数は、サーバへの要求が 60 秒の間隔で
発行されるように 60 秒ごとにタイマーをアクティブにします。
uo_timer MyTimer
MyTimer = CREATE uo_timer
MyTimer.Start(60)
例 2 次の例では、タイマーを起動し、ヒット数を数え、タイマーをス
トップし、ウィンドウを閉じるためのボタンがあるウィンドウの共有
オブジェクトとしてタイミング オブジェクトを使用しています。ス
テータスは、sle_state と呼ばれるシングルライン エディットで示され
ます。タイミング オブジェクトである uo_timing は、Timing システム
オブジェクトから継承された標準クラス ユーザ オブジェクトです。接
続の回数を維持する 1 つのインスタンス変数を持ちます。
long il_hits
タイミング オブジェクト、uo_timing は 3 つの関数を持ちます。
•
of_connect は、il_hits を加算し、整数を返します(この例では、簡
略にするために接続スクリプトを省略します)。
il_hits++
// 接続スクリプトは省略されました。
RETURN 1
•
of_hitcount は、il_hits の値を返します。
RETURN il_hits
1168
PowerBuilder
第 10 章
•
PowerScript 関数
of_resetcounter はカウンタの値を 0 にリセットします。
il_hits = 0
uo_timing の Timer イベントは、of_connect 関数を呼び出します。
integer li_err
li_err = This.of_connect()
IF li_err <> 1 THEN
MessageBox(" タイマー エラー ", " 接続に失敗しました ")
END IF
メイン ウィンドウ(w_timer)が開かれると、その Open イベント スク
リプトは、uo_timing ユーザ オブジェクトを共有オブジェクトとして登
録します。
ErrorReturn result
string ls_result
SharedObjectRegister("uo_timing","Timing")
result = SharedObjectGet("Timing", iuo_timing)
// カタログ データ型を文字列に変換します。
ls_result = of_converterror(result)
IF result = Success! THEN
sle_stat.text = "Object Registered"
ELSE
MessageBox(" 失敗 ", "SharedObjectGet が失敗しました。" &
+ " ステータス コード:"+ls_result)
END IF
タイマー開始ボタンは 5 秒の間隔でタイマーを開始させます。
double ld_interval
integer li_err
IF (isvalid(iuo_timing)) THEN
li_err = iuo_timing.Start(5)
ld_interval = iuo_timing.interval
sle_2.text = "Timer started.Interval is " &
+ string(ld_interval) + " seconds"
// タイマー開始ボタンを無効にします。
THIS.enabled = FALSE
ELSE
sle_2.text = "No timing object"
END IF
PowerScript リファレンス ボリューム 2
1169
Start
ヒット数取得ボタンは、of_hitcount 関数を呼び出し、シングルライン エ
ディットに結果を書き込みます。
long ll_hits
IF (isvalid(iuo_timing)) THEN
ll_hits = iuo_timing.of_hitcount()
sle_hits.text = string(ll_hits)
ELSE
sle_hits.text = ""
sle_stat.text = "Invalid timing object..."
END IF
タイマー ストップ ボタンは、タイマーを止め、タイマー開始ボタンを
再度有効にし、ヒット カウンタをリセットします。
integer li_err
IF (isvalid(iuo_timing)) THEN
li_err = iuo_timing.Stop()
IF li_err = 1 THEN
sle_stat.text = "Timer stopped"
cb_start.enabled = TRUE
iuo_timing.of_resetcounter()
ELSE
sle_stat.text = "Error - timer could " &
not be stopped"
END IF
ELSE
sle_stat.text = "Error - no timing object"
END IF
閉じるボタンは、タイマーが停止したかどうかおよびウィンドウがあ
る場合はウィンドウを閉じたかをチェックします。
IF iuo_timing.running = TRUE THEN
MessageBox(" エラー "," 閉じる前に、タイマー ストップ " &
+ " ボタンをクリックしてクリーンアップしてください。")
ELSE
close(parent)
END IF
ウィンドウの Close イベントが共有タイミング オブジェクトの登録を
取り消します。
SharedObjectUnregister("Timing")
1170
PowerBuilder
第 10 章
PowerScript 関数
of_converterror window 関数が、ErrorReturn カタログ データ型を文字列
に変換します。ErrorReturn 型の引数を取ります。
string ls_result
CHOOSE CASE a_error
CASE Success!
ls_result = "The function succeeded"
CASE FeatureNotSupportedError!
ls_result = "Not supported on this platform"
CASE SharedObjectExistsError!
ls_result = "Instance name already used"
CASE MutexCreateError!
ls_result = "Locking mechanism unobtainable"
CASE SharedObjectCreateInstanceError!
ls_result = "Object could not be created"
CASE SharedObjectCreatePBSessionError!
ls_result = "Could not create context session"
CASE SharedObjectNotExistsError!
ls_result = "Instance name not registered"
CASE ELSE
ls_result = "Unknown Error Code"
END CHOOSE
RETURN ls_result
関連項目
Stop
StartHotLink
機能
DDE サーバ アプリケーションとホット リンクを確立して、指定され
たデータに変更があれば、すぐに PowerBuilder にその変更が通知され
るようにします。DDE サーバ アプリケーション内でデータが変更され
ると、DDE アプリケーションで HotLinkAlarm イベントが起動します。
構文
StartHotLink ( location, applname, topic {, bAnsi})
引数
location
PowerScript リファレンス ボリューム 2
説明
データの位置を示す文字列を指定します。ここに値の変更
があると HotLinkAlarm イベントが起動します。位置を表
す書式は、そのデータを持つアプリケーションによって異
なります。
1171
StartHotLink
引数
applname
topic
bAnsi
(オプション)
戻り値
説明
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
データまたはアプリケーションのインスタンスを識別する
文字列を指定します。ここに変更があると、HotLinkAlarm
イベントが起動します。たとえば、Microsoft Excel の場
合、トピック名を開かれているスプレッドシートの名前
にします。
Boolean 型の値。DDE サーバから取得する文字列が ANSI
形式かどうかを指定します。bAnsi が NULL、false、また
は空の場合、PowerBuilder は初めにデータを UNICODE 形
式の文字列で取得しようとします。bAnsi が true の場合、
PowerBuilder はデータを ANSI 形式の文字列として取得し
ようとします。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、以下の負の整数のいずれかを返します。値は以下のとおりです。
-1
-2
サーバがありません。
リクエストが拒否されました。
引数のいずれかの値が null の場合、null を返します。
解説
例
ホット リンクの確立後、HotLinkAlarm イベントに対するスクリプトで
次の関数を呼び出すことができます。
•
GetDataDDEOrigin 関数 - どのアプリケーションがデータの変更を
通知したかを調べます。
•
GetDataDDE 関数 - 新しいデータを取得します。
•
RespondRemote 関数 - データを受け取ったことを通知します。
次の例では、ある PowerBuilder アプリケーションが StartServerDDE 関
数を呼び出してサーバ アプリケーションを MyPBApp として識別して
いるとします。クライアント アプリケーションで記述されている次の
ステートメントは、MyPBApp のデータにホット リンクを確立します。
location と topic に指定する値は、MyPBApp が定義している規約によっ
て異なります。
StartHotLink("Any", "MyPBApp", "Any")
次のステートメントは、Microsoft Excel にホット リンクを確立し、
REGION.XLS の行 1、カラム 2 のデータが変更された場合に
PowerBuilder のウィンドウに通知します。
StartHotLink("R1C2", "Excel", "Region.XLS")
関連項目
1172
StopHotLink
PowerBuilder
第 10 章
PowerScript 関数
StartServerDDE
機能
アプリケーションを DDE サーバとして確立します。サポートする
DDE 名、トピック、および項目を指定します。
構文
StartServerDDE ( { windowname, } applname, topic {, item } )
引数
windowname
(オプション)
applname
topic
item
(オプション)
説明
サーバ ウィンドウの名前を指定します。特に指定しない限
り、現行のウィンドウの名前が設定されます。
エンド ユーザのアプリケーションの DDE 名を指定しま
す。
DDE クライアント アプリケーションが参照する基本デー
タのグループを表す文字列を指定します。
カンマ(,)で区切られた 1 つ以上の文字列(トピック内の
データ)を指定します。これらの文字列は、DDE サーバ
アプリケーションが何をサポートするかを指定します。た
とえば、"Table1"、"Table2" と指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。ただし、アプリケーションはすでにサーバとして開始
されています。引数のいずれかの値が null の場合、null を返します。
解説
DDE クライアント アプリケーションは DDE 要求を送信します。その
要求は、DDE サーバ アプリケーションがサポートすることを宣言した
項目のうちの 1 つで、DDE サーバ アプリケーションではそれらの項目
1 つ 1 つに対して、どのように応答するかを定義します。
DDE 対話のハンドルを提供するには、ウィンドウが開かれている必要
があります。アプリケーション オブジェクトのイベント内で、
StartServerDDE 関数などの DDE 関数を呼び出すことはできません。
アプリケーションが DDE サーバとして確立されている場合、ほかのア
プリケーションは、アプリケーション内で次のイベントを起動する
DDE 要求を送信します。
表 0-10: DDE 要求で起動されるイベントと各イベントで使用できる DDE 関
数
クライアントの
アクション
ホット リンクに対して
要求を送信する
アプリケーションにコマ
ンドを送信する
起動される
イベント
RemoteHotLinkStart
RemoteExec
PowerScript リファレンス ボリューム 2
使用できる関数
-
関数の用途
-
GetCommandDDE
コマンドを取得する
GetCommandDDEOrigin
コマンドを送信したクライ
アント アプリケーション
を特定する
1173
State
クライアントの
アクション
データを送信する
起動される
イベント
RemoteSend
サーバ アプリケーショ RemoteRequest
ンにデータを要求する
関数の用途
データを取得する
GetDataDDEOrigin
RespondRemote
データを送信したクライア
ント アプリケーションを
特定する
要求されたデータを送信す
る
-
要求を受け取ったことを通
知する
-
SetDataDDE
ホット リンクの終了を RemoteHotLinkStop
要求する
例
使用できる関数
GetDataDDE
次のステートメントは、PowerBuilder アプリケーションに対して、サー
バとしての動作を開始させます。このサーバ アプリケーションは、
MyPBApp という名前でほかの DDE アプリケーションに通知されま
す。そのトピックは System という名前で、Table1 と Table2 という名前
の項目をサポートしています。
StartServerDDE(w_emp, "MyPBApp","System", &
"Table1", "Table2")
関連項目
StopServerDDE
State
機能
リストボックス コントロール内の項目が、ハイライト表示されている
かどうかを調べます。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.State ( index )
引数
listboxname
index
1174
説明
リストボックス コントロールまたはピクチャ リストボッ
クス コントロールの名前を指定します。その中の index で
指定された項目のハイライト表示の状態を取得します。
状態を取得する項目の番号を指定します。
PowerBuilder
第 10 章
戻り値
解説
PowerScript 関数
Integer 型。listboxname 中の index で識別される項目が、ハイライト表
示の場合には 1 を返し、ハイライト表示でない場合は 0 を返します。
index が正しい項目の番号でない場合、-1 を返します。引数のいずれか
の値が null の場合、null を返します。
State 関数と SetState 関数は、複数選 択を許可 するリス トボック ス
(MultiSelect プロパティが true のリストボックス)に対して有効です。
すべてのリストをループし、リスト中の選択されたすべての項目のハ
イライト表示の状態をチェックします。
SelectedItem 関数と SelectItem 関数は、1 つしか項目を選択できないリ
ストボックス コントロールに対して機能します。SelectedItem 関数は、
ループを必要としない場合に選択を直接通知します。複数の項目を選
択できるリストボックス コントロールに対して SelectedItem 関数を呼
び出すと、最初に選択された項目だけを通知します。
項目のインデックスがわかっているときは、Text 関数を使用して項目
のテキストを取得できます。
例
lb_Contact の項目 3 が選択されているとき(ハイライト表示されている
とき)
、次の例は li_Item に 1 を設定します。
integer li_Item
li_Item = lb_Contact.State(3)
次のステートメントは、エンド ユーザに複数の選択を許可しているリ
ストボックスの中で選択されているすべての項目のテキストを取得し
ます。MessageBox 関数は、選択されている項目が見つかるたびにその
項目を表示します。選択された値の配列やリストを作成する処理を記
述することもできます。
integer li_ItemTotal, li_ItemCount
// リストボックス中の項目数を取得します。
li_ItemTotal = lb_contact.TotalItems( )
// すべての項目についてループします。
FOR li_ItemCount = 1 to li_ItemTotal
// 項目が選択されている場合、そのテキストを表示します。
IF lb_Contact.State(li_ItemCount) = 1 THEN &
MessageBox(" 選択項目 ", &
lb_Contact.text(li_ItemCount))
NEXT
次のステートメントは、リストボックス lb_Contact の項目 3 がハイライ
ト表示の場合に、処理を行うステートメントを実行します。
IF lb_Contact.State(3) = 1 THEN ...
PowerScript リファレンス ボリューム 2
1175
StepIt
関連項目
SelectedItem
SetState
StepIt
機能
プログレスバー コントロールの現行位置を、このコントロールの
SetStep プロパティに指定された値だけ進めます。
対象
プログレスバー コントロール
構文
control.StepIt ( )
引数
control
説明
プログレスバーの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
StepIt 関数では、SetStep プロパティの値によって現行位置がプログレ
スバーの範囲を超えると、プログレスバー上の位置が先頭位置に戻り
ます。たとえば、SetStep の値が 40、現行位置が 80 で、範囲が 0 から
100 に設定されている場合に StepIt 関数を呼び出すと、再描画後のプロ
グレスバーの位置は 20 になります。
SetStep プロパティには負の値を設定することもできます。SetStep プロ
パティのデフォルト値は 10 です。
例
次のステートメントは、プログレスバー コントロールに SetStep の増
分値を加えます。
HProgressBar.StepIt ( )
関連項目
SetRange
Stop
Stop 関数には、次の 2 つの構文があります。
目的
タイミング オブジェクトを非アクティブ化する
アニメーションの再生を停止する
1176
使用する構文
構文 1
構文 2
PowerBuilder
第 10 章
PowerScript 関数
構文 1
タイミング オブジェクトを非アクティブ化する
機能
タイミング オブジェクトを非アクティブ化します。
対象
タイミング オブジェクト
構文
timingobject.Stop ( )
引数
timingobject
説明
非アクティブ化したいタイミング オブジェクトの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返します。タイマーが起動して
いないまたは止められない場合は -1 を返します。
解説
この関数を使ってタイミング オブジェクトを非アクティブにします。
止められたタイマーは Start 関数で再びアクティブ化できます。
例
次のステートメントは、タイミング オブジェクト インスタンス MyTimer
を停止します。
MyTimer.Stop()
関連項目
Start
構文 2
アニメーションの再生を停止する
機能
アニメーション AVI クリップの再生を停止します。
対象
アニメーション コントロール
構文
animationname.Stop ( )
引数
animationname
説明
AVI クリップを表示しているアニメーション コントロー
ルの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返します。アニメーションが動
作していない、または停止できなかった場合は -1 を返します。
解説
この関数を使って、再生中のアニメーションを停止します。停止され
たアニメーションは Start 関数で再び開始できます。
例
次のステートメントは、アニメーション コントロール MyAnimation で
再生中の AVI クリップを停止します。
MyAnimation.Stop()
関連項目
Play
PowerScript リファレンス ボリューム 2
1177
StopHotLink
StopHotLink
機能
DDE サーバ アプリケーションへのホット リンクを終了します。
注意
すべての引数は、StartHotLink 関数を呼び出したときに指定した引数と
一致している必要があります。
構文
StopHotLink ( location, applname, topic )
引数
location
applname
topic
戻り値
説明
String 型の値。ホット リンクを終了する位置を指定しま
す。StartHotLink 関数で指定した値と同じ値を指定してく
ださい。
String 型の値。サーバ アプリケーションの DDE 名を指定
します。StartHotLink 関数で指定した値と同じ値を指定し
てください。
ホット リンクを終了させるデータまたはアプリケーショ
ン の イ ン ス タ ン ス を 識 別 す る 文 字 列 を 指 定 し ま す。
StartHotLink 関数で指定した文字列と同じ文字列を指定し
てください。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
リンクは開始されていません。
リクエストが拒否されました。
サーバを終了することはできません。
引数のいずれかの値が null の場合、null を返します。
例
ある PowerBuilder アプリケーションが StartServerDDE 関数を呼び出し
て MyPBApp という名前の DDE サーバを確立した場合、別のアプリ
ケーションは DDE クライアントとして動作し、StartHotLink 関数を呼び
出して MyPBApp にホット リンクを確立することができます。次のス
テートメントは、そのホット リンクを終了します。location と topic に
指定する値は、MyPBApp が定義している規約によって異なります。
StopHotLink("Any", "MyPBApp", "Any")
次のステートメントは、Microsoft Excel のスプレッド シート
REGION.XLS の行 1、カラム 2 とのホット リンクを終了させます。
StopHotLink("R1C2", "Excel", "Region.XLS")
関連項目
1178
StartHotLink
PowerBuilder
第 10 章
PowerScript 関数
StopServerDDE
機能
アプリケーションの DDE サーバとしての動作を終了させます。これ以
降、DDE クライアントからのすべての要求がエラーになります。
構文
StopServerDDE ( { windowname, } applname, topic )
引数
windowname
(オプション)
applname
topic
戻り値
説明
サーバ ウィンドウの名前を指定します。特に指定しない限
り、現行のウィンドウの名前が設定されます。複数のサー
バ ウィンドウを使用している場合、windowname の指定が
必要です。
アプリケーションの DDE 名を指定します。
StartServerDDE 関数を呼び出したときに宣言したトピッ
クを表す文字列を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。DDE サーバとして動作を開始していないことを意味し
ます。引数のいずれかの値が null の場合、null を返します。
注意
applname と topic の各引数は、StartServerDDE 関数を呼び出したときに
指定した引数と一致している必要があります。
例
次のステートメントは、PowerBuilder アプリケーション MyPBApp の
サーバとしての動作を終了させます。
StopServerDDE(w_emp, "MyPBApp", "System")
関連項目
StartServerDDE
String
String 関数には、次の 2 つの構文があります。
目的
使用する構文
指定された表示書式マスクに従ってデータを文字列に変 構文 1
換する
Blob 型のデータを文字列に変換する
構文 2
PowerScript リファレンス ボリューム 2
1179
String
構文 1
表示書式マスクに従ってデータを文字列に変換する
機能
表示書式マスクに従って、時刻(Time 型)や日付(Date 型)などの
データを変換します。Date 型、DateTime 型、数値型、Time 型のデー
タの変換と書式設定を行うことができます。また、表示書式を文字列
に適用することもできます。
構文
String ( data, { format } )
引数
data
format
(オプション)
説明
指定した書式を使用して文字列として返すデータ。Date
型、DateTime 型、数値型、Time 型、String 型のいずれかの
データを指定します。また、いずれかのデータ型を格納し
た Any 型の変数を指定することもできます。
String 型の値。データの変換に使用する表示マスクを指定
します。マスクは、data のデータ型固有の書式情報で構成
されます。data が String 型の場合は、format を指定する必
要があります。
format には、data のデータ型に応じて複数のマスクを指定
することもできます。各マスクは、セミコロン(;)で区切
ります。各データ型の詳細については、「解説」を参照し
てください。
戻り値
String 型。正常に終了した場合、指定された書式で data を返します。
data のデータ型が指定された表示マスクのデータ型と一致しない場
合、format が有効な表示マスクでない場合、または data が互換性のな
いデータ型の場合には、空の文字列("")を返します。
解説
Date 型、DateTime 型、数値型、Time 型のデータに書式を指定しなかっ
た場合、PowerBuilder はシステムの標準書式を使用します。数値型デー
タの場合は、標準書式は [General] 書式です。
文字列には、表示マスクの指定が必要です。指定しなかった場合、こ
の関数は何も実行しません。
書式には、1 つ以上のマスクを指定できます。
1180
•
Date 型、DateTime 型、String 型、Time 型のデータの書式には、1
つまたは 2 つのマスクを指定できます。最初のマスクはデータの
書式です。2 番目のマスクは null 値の書式です。
•
数値型のデータの書式には、マスクを 4 つまで指定できます。マ
スクを 1 つだけ指定すると、正のデータと負のデータの両方にそ
のマスクを使用します。複数のマスクを指定すると、1 番目のマス
クは正の値、2 番目のマスクは負の値、3 番目のマスクは 0、4 番
目のマスクは null 値に対して使用されます。
PowerBuilder
第 10 章
PowerScript 関数
Decimal 型の値のマスクの一部として追加の文字を表示するには、各文
字の前に円記号(バックスラッシュ)を付けます。たとえば、4 つの
アスタリスクの後に小数点以下 2 桁の Decimal 型の数値を表示するに
は、次のように各アスタリスクの前に円記号を付ける必要があります。
dec{2} amount
string = ls_result
amount = 123456.32
ls_result = string(amount,"\*\*\*\*0.00")
得られる文字列は、****123456.32 となります。
表示書式の指定の詳細については、PowerBuilder の『ユーザーズ ガイ
ド』マニュアルを参照してください。書式には色も指定できますが、
PowerScript で String 関数を使用する場合には、色の指定は無視されま
す。データウィンドウ ペインタで指定した表示書式の場合にだけ、色
が表示されます。
表示書式がデータ型と一致しない場合でも、PowerBuilder はマスクを
適用しようとします。このため、予測できない結果が発生する場合が
あります。
データウィンドウ コントロール内の Time 型と Date 型の値
String 関数の引数として GetItemTime 関数または GetItemString 関数を呼
び出す場合に表示書式を指定しなかったときには、値は DateTime 型の
値として変換されます。次のステートメントは、"2/26/03 00:00:00" の
ような文字列を返します。
String(dw_1.GetItemTime(1, "start_date"))
日付を書式化し、月がテキストで表示される場合(たと
えば、mmm を含む表示書式)、アプリケーションの実行時に利用可能
なランタイム DLL の言語でその月が表示されます。使用開発環境ある
いはユーザのマシン上にローカライズされたランタイム ファイルが
インストールされていれば、そのマシン上では、結果として得られる
文字列内での月の表示は、ローカライズされたファイルの言語により
ます。
国際的な配布
ANSI データの処理 この関数はデータのエンコーディングを指定でき
るようにする encoding 引数がないため、データが ANSI エンコーディ
ングを持つ場合、返される文字列はガベージ文字を含むことができま
す。String 関数から返される ANSI 文字列を Unicode Blob に変換し、そ
れから Blob および String 変換関数で提供される encoding パラメータを
使用して Blob 内の ANSI 文字列を Unicode 文字列に変換することに
よってこれを処理できます。
PowerScript リファレンス ボリューム 2
1181
String
ls_temp = String(long, "address" )
lb_blob = blob(ls_temp) //EncodingUTF16LE! is default
ls_result = string(lb_blob, EncodingANSI!)
TriggerEvent 関数また
メッセージ オブジェクト String 関数を使用すると、
は PostEvent 関数を呼び出した後で、メッセージ オブジェクトから文
字列を取り出すことができます。詳細については、TriggerEvent 関数ま
たは PostEvent 関数を参照してください。
例
次のステートメントは、Date 型の値に表示書式を適用して "Jan 31, 2002"
を返します。
String(2002-01-31, "mmm dd, yyyy")
次の例は、order_date の値に書式を適用して date1 に 02-6-11 を設定し
ます。
Date order_date = 2002-06-11
string date1
date1 = String(order_date,"m-d-yy")
次の例は、order_date が null の場合に date1 に none が設定されるよう
に、null 値に対する書式を指定します。
Date order_date = 2002-06-11
string date1
SetNull(order_date)
date1 = String(order_date, "m-d-yy;'none'")
次のステートメントは、DateTime 型の値に書式を適用して "Jan 31, 2001
6 hrs and 8 min" を返します。
String(DateTime(2001-01-31, 06:08:00), &
'mmm dd, yyyy h "hrs and" m "min"')
次の例は、Today 関数と Now 関数を使用してシステムの日付と時刻から
DateTime 型の値を作成します。String 関数は、書式を適用して sle_date
のテキストにその値(たとえば、6-11-02 8:06 pm)を設定します。
DateTime sys_datetime
string datetime1
sys_datetime = DateTime(Today(), Now())
sle_date.text = String(sys_datetime, &
"m-d-yy h:mm am/pm;'none'")
次のステートメントは、数値型の値に書式を適用して $5.00 を返しま
す。
String(5,"$#,##0.00")
次のステートメントは、string1 に 0123 を設定します。
1182
PowerBuilder
第 10 章
PowerScript 関数
integer nbr = 123
string string1
string1 = String(nbr,"0000;(000);****;empty")
次のステートメントは、string1 に (123) を設定します。
integer nbr = -123
string string1
string1 = String(nbr,"000;(000);****;empty")
次のステートメントは、string1 に **** を設定します。
integer nbr = 0
string string1
string1 = String(nbr,"0000;(000);****;empty")
次のステートメントは、string1 に empty を設定します。
integer nbr
string string1
SetNull(nbr)
string1 = String(nbr,"0000;(000);****;empty")
次のステートメントは、String 型のデータを変換して A-B-C を返しま
す。この表示書式は、ソース文字列内の各文字をそれぞれの @ に割り
当て、書式内のほかの文字を適切な位置に挿入します。
String("ABC", "@-@-@")
次のステートメントは、"A*B" を返します。
String("ABC", "@*@")
次のステートメントは、"ABC" を返します。
String("ABC", "@@@")
次のステートメントは、スペースを返します。
String("ABC", " ")
次のステートメントは、Time 型のデータに表示書式を適用して "6 hrs
and 8 min" を返します。
String(06:08:02,'h "hrs and" m "min"')
次のステートメントは、"08:06:04 pm" を返します。
String(20:06:04,"hh:mm:ss am/pm")
次のステートメントは、"8:06:04 am" を返します。
String(08:06:04,"h:mm:ss am/pm")
PowerScript リファレンス ボリューム 2
1183
String
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの String メソッド
構文 2
Blob 型のデータを変換する
機能
Blob 型のデータを String 型の値に変換します。Blob の値がテキスト
データでない場合には、String 関数はデータを文字として解釈しようと
します。
構文
String ( blob {,encoding} )
引数
blob
encoding
説明
Blob 型の値。指定された値を String 型の値に変換します。
Blob 型の値を格納した Any 型の変数を指定することもで
きます。
変換される Blob 値の文字エンコーディングを指定しま
す。値は以下のとおりです。
• EncodingANSI!
• EncodingUTF8!
• EncodingUTF16LE!(デフォルト)
• EncodingUTF16BE!
戻り値
String 型。正常に終了した場合は blob の値を文字列に変換して返し、エ
ラーが発生した場合は空の文字列("")を返します。Blob オブジェク
トに String 型のデータが格納されていない場合、String 関数はそのデー
タを文字として解釈し、文字列を返します。blob が null の場合、null を
返します。
解説
encoding 引数が指定されていない場合、String は Unicode Blob 型を
Unicode の文字列に変換します。ほかのエンコーディングの Blob 型に
変換する場合は、encoding 引数を指定する必要があります。
blob にバイト オーダー マーク(BOM: Byte-Order Mark)がある場合、
String 関数は BOM を自動的にフィルタ処理で取り除きます。
たとえば、
blob の 16 進表記が FF FE 54 00 68 00 69 00 73 00 であるとします。BOM
は FF FE です。これは UTF-16LE エンコーディングであることを示し
ます。BOM は、フィルタ処理で取り除かれます。返される文字列は
“This” です。
String 関数を使用すると、TriggerEvent 関数または PostEvent 関数を呼び
出した後で、メッセージ オブジェクトから文字列を取り出すことがで
きます。詳細については、TriggerEvent 関数または PostEvent 関数を参照
してください。
1184
PowerBuilder
第 10 章
例
PowerScript 関数
次の例は、ANSI 形式 の String 型のデータが格納されている Blob 型の
インスタンス変数 ib_sblob を文字列に変換し、その結果を sstr に格納
します。
string sstr
sstr = String(ib_sblob, EncodingANSI!)
次の例は、今日の日付と状況の情報を Blob オブジェクト bb に格納し
ます。pos1 と pos2 には、blob 内の状況の先頭文字の位置と、末尾の文
字の位置が格納されます。最後に、BlobMid 関数は、String 関数が文字
列に変換した blob を取り出します。sle_status には、返された状況が表
示されます。
blob{100} bb
long pos1, pos2
string test_status
date test_date
test_date = Today()
IF DayName(test_date) = "Wednesday" THEN &
test_status = "Coolant Test"
IF DayName(test_date) = "Thursday" THEN &
test_status = "Emissions Test"
// データを Blob オブジェクトに格納します。
pos1 = BlobEdit( bb, 1, test_date)
pos2 = BlobEdit( bb, pos1, test_status )
... // 何らかの処理
// bb に格納された状況を取り出して表示します。
sle_status.text = String( &
BlobMid(bb, pos1, pos2 - pos1))
関連項目
Blob
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの String メソッド
PowerScript リファレンス ボリューム 2
1185
String_To_Object
String_To_Object
機能
渡された文字列に基づいて、オブジェクト参照を取得します。
この関数は、EAServer に接続している PowerBuilder クライアントに
よって使用されます。
対象
JaguarORB オブジェクト
構文
jaguarorb.String_To_Object ( objstring , object)
引数
jaguarorb
objstring
object
説明
JaguarORB のインスタンスを指定します。
CORBA オブジェクトを表す文字列を指定します。
CORBA オブジェクトの文字列表現は、オブジェクトのホ
ストとなるサーバへの接続方法を記述した Interoperable
Object Reference(IOR)です。EAServer は、標準形式の
IOR(16 進でコード化されているもの)と URL 形式の IOR
(人が判読できるもの)の両方をサポートしています。
オブジェクト参照を格納する CORBAObject 型の変数を指
定します。
戻り値
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
String_To_Object 関数を使用すると、Jaguar ネーミング サービスを使用
せずにプロキシ インスタンスをインスタンス化することができます。
EJB コンポーネントへの接続
PowerBuilder 7 以前のバージョンでは、JaguarORB String_To_Object 関数
を使用して EAServer の EJB コンポーネントにアクセスしていました。
PowerBuilder 8 以降では、接続オブジェクトの Lookup 関数を使用する
ことで、EAServer の EJB コンポーネントのホーム インタフェースのプ
ロキシをインスタンス化できます。
PowerBuilder 9 では、EJBConnection PowerBuilder 拡張オブジェクトの
Lookup 関数を使用することで、J2EE 準拠のサーバで実行している EJB
コンポーネントのプロキシをインスタンス化できます。
String_To_Object 関数を使ってプロキシのインスタンス化を行う場合、
オブジェクトを直接インスタンス化することになります。この方法の
欠点は、ネーミング サービスによって提供されるサーバ アドレスの抽
象性の持つ利点が失われることです。
1186
PowerBuilder
第 10 章
PowerScript 関数
ネーミング サービス API を明示的に使用したい場合は、
Resolve_Initial_References 関数を使用して、最初のネーミング コンテキ
ストを取得します。しかし、この方法を使用することはお勧めできま
せん。ユーザにあまり好まれない SessionManager::Factory のメソッド
を使用する必要があるためです。JaguarORB オブジェクトを使用して
EAServer に接続する方法についての詳細は、『アプリケーション テク
ニック』マニュアルを参照してください。
String_To_Object 関数では、URL 形式の IOR を使って、EAServer 認証マ
ネージャのインスタンスを取得できます。URL 形式の IOR 文字列は、
次のような書式にする必要があります。
protocol :// host :iiop_port
ここで、
•
protocol - セキュア ポートに接続する場合は「iiops」、それ以外
の場合は「iiop」
•
host - EAServer のホスト アドレスまたはマシン名
•
iiop_port - IIOP リクエストのポート番号
以下は、URL 形式の IOR の例です。
iiop://hosta:2000
サーバがクラスタの一部である場合、objstring 引数に IOR のリストを
セミコロンで区切って含めることができます。
String_To_Object 関数を呼び出した後、マネージャ インタフェースを
使ってセッション インタフェースのインスタンスを取得し、これに
よってコンポーネントのインスタンスを作成できます。マネージャお
よびセッション インタフェースを使用する場合は、これらのインタ
フェースのプロキシを作成し、クライアントのライブラリ リストに含
める必要があります。これらのインタフェース上のメソッドについて
の詳細は、URL http://yourhost:yourport/ir/ でインタフェース リポジトリ
に関するドキュメントを参照してください。この URL で、yourhost は
サーバのホスト名、yourport は HTTP ポート番号です。
String_To_Object 関数は、プロキシ オブジェクト参照のシリアライズの
解除にも使用できます。オブジェクト参照をシリアライズすることに
よって、オブジェクトの状態を保存し、クライアントが処理を終了し
た後にも残るようにすることができます。オブジェクト参照のシリア
ライズを解除すれば、シリアライズされた文字列からオブジェクト参
照を取得できます。String_To_Object 関数は、多くの場合、オブジェク
ト参照をシリアライズする Object_To_String 関数とともに使用されま
す。
PowerScript リファレンス ボリューム 2
1187
String_To_Object
例
次の例は、String_To_Object 関数を使って、EAServer 認証マネージャの
インスタンスを取得します。ここでは、URL 形式の IOR を使用します。
JaguarORB my_orb
CORBAObject my_corbaobj
Manager my_manager
Session my_session
Factory my_Factory
n_Bank_Account my_account
my_orb = CREATE JaguarORB
my_orb.init("ORBRetryCount=3,ORBRetryDelay=1000")
my_orb.String_To_Object("iiop://myhost:2000", &
my_corbaobj)
my_corbaobj._narrow(my_manager, &
"SessionManager/Manager")
my_session = my_manager.createSession("jagadmin", "")
my_corbaobj = my_session.lookup("Bank/n_Bank_Account")
my_corbaobj._narrow(my_Factory,
"SessionManager/Factory")
my_corbaobj = my_Factory.create()
my_corbaobj._narrow(my_account,"Bank/n_Bank_Account")
my_account.withdraw(100.0)
次の例のコンポーネントは、EJB コンポーネントです。セッション オ
ブジェクトの Lookup 関数の呼び出しで返されたオブジェクト参照を
変換するために _Narrow 関数を呼び出します。このとき、2 番目の引数
にパッケージ名だけでなく、ドメイン名も含めます。これが必要にな
るのは、Java パッケージ名で domainname.packagename 形式を使用して
いる場合です。
JaguarORB my_orb
CORBAObject my_corbaobj
Manager my_mgr
Session my_session
CartHome my_cartHome
Cart my_cart
long ll_return
my_orb = CREATE JaguarORB
my_orb.init("ORBLogFile='c:\temp\orblog'")
my_orb.String_to_Object("iiop://svr1:2000", &
my_corbaObj)
my_corbaObj._narrow(my_mgr, "SessionManager/Manager" )
my_Session = my_mgr.createSession("jagadmin", "")
1188
PowerBuilder
第 10 章
PowerScript 関数
my_corbaObj = my_session.lookup("Cart")
ll_return = my_corbaObj._narrow(my_CartHome,
"com/shopping/CartHome")
my_corbaObj = my_CartHome.create()
my_Cart.addItem()
関連項目
Init
Lookup
_Narrow
Object_To_String
Resolve_Initial_References
SuspendTransaction
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションを中断します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.SuspendTransaction ( )
引数
CORBACurrent
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
戻り値
Unsigned long 型。スレッドに関連するトランザクションを参照するハ
ンドルを返します。エラーが発生した場合には 0 を返します。
解説
SuspendTransaction 関数は、呼び出し元のスレッドに関連付けられてい
るトランザクションの参照ハンドルを返します。このハンドルは、同
じスレッド上または異なるスレッド上の ResumeTransaction 関数に渡す
ことができます。SuspendTransaction 関数を呼び出すと、現行のスレッ
ドはトランザクションに関連しなくなります。
SuspendTransaction 関数を呼び出すことができるのは、クライアントま
たは OTS スタイルとしてマークされたコンポーネントです。EAServer
は、2 フェーズ コミット トランザクション コーディネータ(OTS/XA)
を使用していることが必要です。
例
次の例は、SuspendTransaction 関数を使用することで、呼び出し元のス
レッドが現行のトランザクションから分離されることを示していま
す。
PowerScript リファレンス ボリューム 2
1189
Synchronize
// インスタンス変数 :
// CORBACurrent corbcurr
integer li_rc
unsignedlong ll_handle
// CORBACurrent のインスタンスを取得して初期化します。
...
li_rc = corbcurr.BeginTransaction()
// 何らかのトランザクション処理を実行します。
ll_handle = corbcurr.SuspendTransaction()
// 何らかの非トランザクション処理を実行します。
li_rc = corbcurr.ResumeTransaction(ll_handle)
// さらに、何らかのトランザクション処理を実行します。
li_rc = corbcurr.CommitTransaction()
関連項目
BeginTransaction
CommitTransaction
GetTransactionName
ResumeTransaction
RollbackTransaction
SetTimeout
Synchronize
リモート データベースと統合データベース間で同期を開始します。同
期呼び出しの dbmlsync にコマンド ライン パラメータを含めるかどう
かにより、使用する構文が異なります。
同期の開始
コマンド ライン パラメータを含めない
同期呼び出しにコマンド ライン パラメータを含める
使用する構文
構文 1
構文 2
構文 1
パラメータを使用しないで同期する
機能
リモート データベースと統合データベース間で同期を開始します。
対象
MLSynchronization コントロール、MLSync コントロール、ULSync コン
トロール
構文
SyncObject.Synchronize ( )
1190
PowerBuilder
第 10 章
引数
syncObject
PowerScript 関数
説明
同期オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1、失敗した場合は -1 を返します。
それ以外の戻り値は、dbmlsync からのエラー コードです。
例
ユーザ ID およびパスワードを含む同期オブジェクトのすべてのプロ
パティが初期化されている場合、この関数をすぐに使用できます。次
の nvo_my_mlsync という名前の MLsync オブジェクトの例のように、
コードを少し記述するだけで同期を開始できます。
nvu_my_mlsync mySync
Long
rc
mySync = CREATE nvo_my_mlsync
mySync.Synchronize()
destroy mySync
通常、アプリケーション ウィンドウのメニュー項目またはコマンド ボ
タンの Clicked イベントに上記のコードを追加します。
構文 2
パラメータを使用して同期する
機能
syncparm 構造体の値から渡されるコマンド ライン パラメータを使用
して dbmlsync 同期を開始します。
対象
MLSync コントロール
構文
SyncObject.Synchronize (cmdstring )
引数
syncObject
cmdstring
説明
同期オブジェクトの名前を指定します。
読み取り専用文字列。同期呼び出し用のコマンド ライン引
数を指定します。
戻り値
Integer 型。正常に終了した場合は 1、失敗した場合はそれ以外の値を
返します。
解説
Synchronize 関数呼び出しのコマンド文字列の例を以下に示します。
C:\Program Files\Sybase\SQL Anywhere 10\win32\
dbmlsync.exe
-c "DSN=salesdb_remote;UID=dba;PWD=sql" -n salesapi
-u 50 -mp "pw10" -wc salesapi_50_sync
-o "C:\temp\dbmlsync.log" -v+ -q -k
PowerScript リファレンス ボリューム 2
1191
SyntaxFromSQL
dbmlsync 実行可能ファイルのパス(上記の例では C:\Program
Files\Sybase\SQL Anywhere 10\win32\dbmlsync.exe)がコマンド文字列
に含まれていない場合、アプリケーションが Windows レジストリ内
でファイルを検索します。
例
MLSync オブジェクトについては、以下のように、同期を呼び出すた
めのコマンド ライン引数をユーザが編集できるようにすることがで
きます。
long rc
string cmd
cmd = myMLSync.GetCommandString()
// 必要に応じて cmd を編集できます。
...
rc = myMLSync.Synchronize(cmd)
関連項目
CancelSync
GetCommandString
SetParm
SyntaxFromSQL
機能
SQL SELECT 文に基づいてデータウィンドウのソース コードを生成し
ます。
対象
トランザクション オブジェクト
構文
transaction.SyntaxFromSQL ( sqlselect, presentation, err )
引数
transaction
sqlselect
1192
説明
接続されたトランザクション オブジェクトの名前を指定
します。
有効な SQL SELECT 文を表す文字列を指定します。
PowerBuilder
第 10 章
引数
presentation
PowerScript 関数
説明
データウィンドウ オブジェクトに設定するデフォルトの
提示様式を表す文字列を指定します。最も簡単な書式は、
次のとおりです。
Style(Type=presentationstyle)
presentationstyle の値は、データウィンドウ ペインタの 新
規データ ウィンドウ ダイアログボックスの提示様式に対
応しています。キーワードは、次のとおりです。
(デフォルト)Tabular
Grid
Form(フリーフォーム)
Graph
Group
Label
presentation に使用されるすべてのキーワードのリストに
ついては、「解説」を参照してください。
PowerBuilder が、発生したエラー メッセージを割り当てる
文字列を指定します。
err
戻り値
String 型。エラーが発生した場合、空の文字列("")を返します。
SyntaxFromSQL 関数が失敗した場合、警告や重要度の低いエラー(た
とえば、構文エラー)のときには、err にエラー メッセージが返され
ます。引数のいずれかの値が null の場合、null を返します。
解説
データウィンドウ オブジェクトを作成するには、SyntaxFromSQL 関数
が返したソース コードを直接 Create 関数に渡します。
SQL 文中のテーブル オーナー トランザクション オブジェクトの
LogID プロパティの値が、SyntaxFromSQL 関数に使用する SQL 文の中
でアクセスされるテーブルのオーナーと異なる場合は、SQL SELECT 文
中のテーブル名をオーナー名で修飾する必要があります。
Adaptive Server Enterprise に関する注意
使用している DBMS が Adaptive Server Enterprise の場合、SyntaxFromSQL
関数を呼び出すと、PowerBuilder は固有インデックスによってイン
デックスが更新可能かどうかを判断します。これを可能にするために
は、以下に示すように、SyntaxFromSQL 関数を呼び出す前に AutoCommit
を true にしておく必要があります。
sqlca.autocommit=TRUE
ls_dws=sqlca.syntaxfromsql (sqlstmt, presentation, err)
sqlca.autocommit=FALSE
PowerScript リファレンス ボリューム 2
1193
SyntaxFromSQL
presentation は、次のオブジェクト キーワードと、その後にデータウィ
ンドウをカスタマイズするプロパティとその値を指定することができ
ます。カラム、データウィンドウ全体、データウィンドウの一部の領
域、データウィンドウ中のテキストのスタイルを指定することもでき
ます。オブジェクト キーワードは、次のとおりです。
Column
DataWindow
Group
Style
Text
Title
すべて表現すると次のような書式になります。
"Style ( Type=value property=value ... )
DataWindow ( property=value ... )
Column ( property=value ... )
Group groupby_colnum1 Fby_colnum2 ... property ... )
Text property=value ... )
Title ( 'titlestring' )"
『データウィンドウ リファレンス』マニュアルのデータウィンドウの
オブジェクト プロパティのリストを使用すると、各オブジェクトの
キーワードに対して使用できるプロパティを確認することができます。
データベース カラムがフォント情報と一緒に拡張属性を持っている
場合、SyntaxFromSQL 関数の提示様式を表す文字列で指定したフォント
情報は無視されます。
例
次のステートメントは、SyntaxFromSQL 関数で生成されたタブラ表示形
式のデータウィンドウのデータウィンドウ ソースをマルチライン エ
ディット コントロールに表示します。
エラーが発生すると、PowerBuilder は生成されたエラー メッセージを
文字列変数 ERRORS に格納します。
string ERRORS, sql_syntax
sql_syntax = "SELECT emp_data.emp_id," &
+ "emp_data.emp_name FROM emp_data " &
+ "WHERE emp_data.emp_salary >45000"
mle_sql.text = &
SQLCA.SyntaxFromSQL(sql_syntax, "", ERRORS)
1194
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、SyntaxFromSQL 関数で生成されたデータウィン
ドウ ソースから、グリッド表示形式のデータウィンドウ dw_1 を作成
します。エラーが発生すると、生成されたエラー メッセージを文字列
変数 ERRORS に格納し、メッセージ ボックスを表示します。Retrieve
関数を呼び出す前に、SQLCA を引数として SetTransObject 関数を呼び
出す必要があります。
string ERRORS, sql_syntax
string presentation_str, dwsyntax_str
sql_syntax = "SELECT emp_data.emp_id,"&
+ "emp_data.emp_name FROM emp_data "&
+ "WHERE emp_data.emp_salary > 45000"
presentation_str = "style(type=grid)"
dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, &
presentation_str, ERRORS)
IF Len(ERRORS) > 0 THEN
MessageBox(" 警告 ", &
"SyntaxFromSQL が原因でこれらのエラーが発生しました :" +
ERRORS)
RETURN
END IF
dw_1.Create( dwsyntax_str, ERRORS)
IF Len(ERRORS) > 0 THEN
MessageBox(" 警告 ", &
"Create が原因でこれらのエラーが発生します :" + ERRORS)
RETURN
END IF
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Create メソッド
『データウィンドウ リファレンス』マニュアルのデータウィンドウ オ
ブジェクトのプロパティ
PowerScript リファレンス ボリューム 2
1195
SystemRoutine
SystemRoutine
機能
パフォーマンス解析モデルのシステム ルートを表すルーチン ノード
を提供します。
対象
Profiling オブジェクト
構文
instancename.SystemRoutine ( theroutine )
引数
instancename
theroutine
戻り値
説明
Profiling オブジェクトのインスタンス名を指定します。
システム ルートを表すルーチン ノードを含む ProfileRoutine
の値を指定します。この引数は、参照渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
ModelNotExistsError! - モデルが存在しないため、関数は異常終了
しました。
解説
この関数を使って、パフォーマンス解析モデルのシステム ルートを表
すルーチン ノードを抽出します。BuildModel 関数を使ってトレース
ファイルからパフォーマンス解析モデルをあらかじめ作成しておかな
ければなりません。ルーチン ノードは、ProfileRoutine オブジェクトと
して定義され、ルーチンで費やされた時間、ルーチンと呼ばれるもの
すべて、各ルーチンが呼び出された回数およびルーチンが属するクラ
スを与えます。
例
次の例では、パフォーマンス解析モデルのシステム ルートを表すルー
チンを示します。
Profiling lpro_model
ProfileRoutine lprort_routine
lpro_model.BuildModel()
lpro_model.SystemRoutine(lprort_routine)
...
関連項目
1196
BuildModel
PowerBuilder
第 10 章
PowerScript 関数
TabPostEvent
機能
タブ コントロールの各タブ ページに指定されたイベントを、タブ ペー
ジ ユーザ オブジェクトのイベント キューの最後に追加してポストし
ます。
対象
タブ コントロール
構文
tabcontrolname.TabPostEvent ( event {, word, long } )
引数
tabcontrolname
event
word
(オプション)
long
(オプション)
説明
イベントをポストするタブ ページ ユーザ オブジェクトの
タブ コントロールの名前を指定します。
PowerBuilder のイベント(たとえば、Clicked!、Modified!、
DoubleClicked!)を識別する TrigEvent カタログ データ型の
値を指定します。または、イベントの名前を表す文字列を
指定します。イベントは、tabcontrolname のタブ ページ
ユーザ オブジェクトにとって有効なイベントでなければ
なりません。また、スクリプトは tabcontrolname に指定さ
れたコントロールのイベントに存在していなければなり
ません。
システムの Message オブジェクトの WordParm プロパティ
に格納される Long 型の値を指定します。word ではなく
long に値を指定する場合、0 を入力します。クロス プラッ
トフォームの互換性を維持するために、WordParm プロパ
ティと LongParm プロパティのデータ型は Long 型になっ
ています。
システムの Message オブジェクトの LongParm プロパティ
に格納される Long 型の値あるいは文字列を指定します。
文字列を指定すると、文字列へのポインタが LongParm プ
ロパティに格納され、String 関数でアクセスすることがで
きます。詳細については、PostEvent 関数の「解説」を参
照してください。
戻り値
Integer 型。正常に終了した場合は 1 を返します。エラーが発生した場
合、イベントがタブ ページ ユーザ オブジェクトに対して無効な場合、
またはイベントにスクリプトが記述されていない場合には、-1 を返し
ます。
例
たとえば、tab_address には uo_list から継承した複数のタブ ページが含
まれていて、uo_list には ue_display という名前のユーザ イベントがある
とします。次のステートメントは、tab_address のタブ ページごとにイ
ベント ue_display をポストします。
tab_address.TabPostEvent("ue_display")
関連項目
TabTriggerEvent
PowerScript リファレンス ボリューム 2
1197
TabTriggerEvent
TabTriggerEvent
機能
タブ コントロールの各タブ ページに指定されたイベントを起動しま
す(タブ ページのインデックス順にすぐにスクリプトを実行します)。
対象
タブ コントロール
構文
tabcontrolname.TabTriggerEvent ( event {, word, long } )
引数
tabcontrolname
event
word
(オプション)
long
(オプション)
説明
イベントを起動するタブ ページ ユーザ オブジェクトのタ
ブ コントロールの名前を指定します。
PowerBuilder のイベント(たとえば、Clicked!、Modified!、
DoubleClicked!)を識別する TrigEvent カタログ データ型の
値を指定します。または、イベントの名前を表す文字列を
指定します。イベントは、tabcontrolname のタブ ページ
ユーザ オブジェクトにとって有効なイベントでなければ
なりません。また、スクリプトは tabcontrolname に指定さ
れたコントロールのイベントに存在していなければなり
ません。
システムの Message オブジェクトの WordParm プロパティ
に格納される Long 型の値を指定します。word ではなく
long に値を指定する場合、0 を入力します。クロス プラッ
トフォームの互換性を維持するために、WordParm プロパ
ティと LongParm プロパティのデータ型は共に Long 型に
なっています。
システムの Message オブジェクトの LongParm プロパティ
に格納される Long 型の値あるいは文字列を指定します。
文字列を指定すると、文字列へのポインタが LongParm プ
ロパティに格納され、String 関数でアクセスすることがで
きます。詳細については、TriggerEvent 関数の「解説」を
参照してください。
戻り値
Integer 型。正常に終了した場合は 1 を返します。エラーが発生した場
合、イベントがタブ ページ ユーザ オブジェクトに対して無効な場合、
またはイベントにスクリプトが記述されていない場合には、-1 を返し
ます。
例
たとえば、tab_address には uo_list から継承した複数のタブ ページが含
まれていて、uo_list には ue_display という名前のユーザ イベントがある
とします。次のステートメントは、tab_address のタブ ページごとに
ue_display のスクリプトをすぐに実行します。
tab_address.TabTriggerEvent("ue_display")
関連項目
1198
TabPostEvent
PowerBuilder
第 10 章
PowerScript 関数
Tan
機能
角度の正接値を計算します。
構文
Tan ( n )
引数
n
説明
角度の正接値を計算する角度(ラジアン)を指定します。
戻り値
Double 型。n の正接を返します。n が無効な値の場合は実行エラーが発
生します。n が null の場合、null を返します。
例
次の 2 つのステートメントは、どちらも 0 を返します。
Tan(0)
Tan(Pi(1))
次のステートメントは、1.55741 を返します。
Tan(1)
関連項目
ATan
Cos
Pi
Sin
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Tan メソッド
Text
機能
リストボックス コントロールやドロップダウン リストボックス コン
トロール内の項目のテキストを取得します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.Text ( index )
引数
listboxname
index
PowerScript リファレンス ボリューム 2
説明
項目のテキストを取得するリストボックス、ドロップダウ
ン リストボックス、ドロップダウン ピクチャのいずれか
のコントロールの名前を指定します。
テキストを取得する項目の番号を指定します。
1199
TextLine
戻り値
String 型。listboxname 中の index で識別される項目のテキストを返しま
す。index が有効な項目番号でない場合、空の文字列(“”)を返します。
引数のいずれかの値が null の場合、null を返します。
例
リストボックス lb_Cities に、次の項目が含まれているとします。
Atlanta
Boston
Chicago
Denver
次のステートメントは、項目番号 3 のテキスト "Chicago" を current_city
に格納します。
string current_city
current_city = lb_Cities.Text(3)
関連項目
FindItem
SelectedItem
SelectedText
TextLine
機能
挿入ポイントがある行のテキストを取得します。TextLine 関数は、複数
の行を持つことができるコントロールに対して機能します。
対象
データウィンドウ コントロール、エディットマスク コントロール、マ
ルチライン エディット コントロール、リッチテキスト エディット コ
ントロール
構文
editname.TextLine ( )
引数
editname
説明
挿入ポイントがある行のテキストを取得するデータウィ
ンドウ、エディットマスク、マルチライン エディット、
リッチテキスト エディットのいずれかのコントロールの
名前を指定します。
戻り値
String 型。editname 中の挿入ポイントがある行のテキストを返します。
エラーが発生した場合、空の文字列(“”)を返します。editname が null
の場合、null を返します。
解説
editname にデータウィンドウ コントロールの名前を指定した場合、
TextLine 関数は、現行の行とカラム上のエディット コントロールにつ
いての情報を通知します。
1200
PowerBuilder
第 10 章
例
PowerScript 関数
マルチライン エディット コントロール mle_state の行 4 に挿入ポイン
トがあり、そのテキストが "North Carolina" であるとします。次の例は、
linetext に "North Carolina" を代入します。
string linetext
linetext = mle_state.TextLine()
マルチライン エディット コントロール mle_contact 内のテキスト "Y"
の行に挿入ポイントがある場合、何か処理を行います。
IF mle_contact.TextLine() = "Y" THEN ...
関連項目
SelectedItem
SelectTextLine
Time
DateTime 型、String 型、数値型のデータを Time 型のデータに変換しま
す。Blob 型のデータから時刻の値を取り出すこともできます。使用す
る構文は、対象となるデータのデータ型によって異なります。
目的
DateTime 型のデータから時刻を取り出す、または Blob 型
使用する構文
構文 1
変数に格納されている時刻の値を取り出す
文字列を時刻の値に変換する
時、分、秒の数値を結合して時刻の値にする
構文 2
構文 3
構文 1
DateTime 型の値または Blob 型から時刻を取り出す
機能
DateTime 型の値または Blob 型から時刻を取り出します。
構文
Time ( datetime )
引数
datetime
PowerScript リファレンス ボリューム 2
説明
DateTime 型の値を指定するか、Time 型の値または
DateTime 型の値で始まる Blob 型の値を指定します。残り
の Blob 型の値は無視されます。Datetime には、DateTime
型または Blob 型の値を含む Any 型の変数を指定すること
もできます。
1201
Time
戻り値
Time 型。正常に終了した場合、datetime の時刻を Time 型で返します。
datetime が有効な時刻でない場合、またはデータ型が一致しない場合
には、00:00:00.000000 を返します。datetime が null の場合、null を返し
ます。
例
次の例は、DateTime 型の変数 StartDateTime がデータベースから検索さ
れた後、Time 型の変数 StartTime に StartDateTime の時刻と等しい時刻
を設定します。
DateTime StartDateTime
time StartTime
...
StartTime = Time(StartDateTime)
たとえば、Blob 型変数 ib_blob の値の 32 バイト目に DateTime 型の値が
あるとします。次のステートメントは、ib_blob 値から時刻を取り出し
ます。
time lt_time
lt_time = Time(BlobMid(ib_blob, 32))
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Time メソッド
構文 2
時刻を含む文字列を時刻の値に変換する
機能
有効な時刻を含む string 型の値を時刻の値に変換します。
構文
Time ( string )
引数
string
説明
Time 型に変換する有効な時刻(たとえば、"8 am" や "10:25"
など)の値を表す string 型の値を指定します。時間を省略
することはできませんが、分、秒、マイクロ秒、am、pm
は省略できます。
特に指定しない限り、分と秒が 00、マイクロ秒が 000000
になります。am か pm かは、自動的に決められます。
string には string 型の値または Blob 型を含む Any 型の変数
を指定することもできます。
戻り値
Time 型。正常に終了した場合、string の時刻を Time 型で返します。
string が有効な時刻でない場合、またはデータ型が一致しない場合に
は、00:00:00.000000 を返します。string が null の場合、null を返します。
解説
有効な時刻とは、時(00 ~ 23)
、分(00 ~ 59)、秒(00 ~ 59)
、マイ
クロ秒(0 ~ 999999)のあらゆる組み合わせです。
1202
PowerBuilder
第 10 章
例
PowerScript 関数
次のステートメントは、What_Time に null を設定します。
Time What_Time
string null_string
SetNull(null_string)
What_Time = Time(null_string)
次のステートメントは、文字列として指定されている午前 12 時 45 秒
前の時刻(23:59:15)を Time 型の値で返します。
Time("23:59:15")
次のステートメントは、シングルライン エディット コントロール
sle_Time_Received のテキストを Time 型の値に変換します。
Time(sle_Time_Received.Text)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Time メソッド
構文 3
時、分、秒の数値を結合して時刻の値にする
機能
時、分、秒、マイクロ秒を表す整数を結合して時刻の値にします。
構文
Time ( hour, minute, second {, microsecond } )
引数
hour
minute
second
microsecond
(オプション)
説明
時を示す整数(00 ~ 23)を指定します。
分を示す整数(00 ~ 59)を指定します。
秒を示す整数(00 ~ 59)を指定します。
マイクロ秒(百万分の 1 秒)を示す整数(00 ~ 32767)を
指定します(この引数用にサポートされる値の範囲はマイ
クロ秒で取り得る値の範囲より小さいことに注意してく
ださい)。
戻り値
Time 型。時刻を Time 型で返します。いずれかの引数の値が有効でな
い(指定範囲外の値である)場合、00:00:00 を返します。引数が null の
場合、null を返します。
例
次のステートメントは、What_Time にマイクロ秒を使用する Time 型の
値を設定し、文字列に変換してシングルライン エディット コントロー
ル st_1 に表示します。標準の表示書式にはマイクロ秒は含まれていな
いため、String 関数はマイクロ秒を使用する表示書式を指定します。マ
イクロ秒を表す文字列の部分は、前に 0 が付加されます。
Time What_Time
PowerScript リファレンス ボリューム 2
1203
Timer
What_Time = Time(10, 15, 45, 234)
st_1.Text = String(What_Time, "hh:mm:ss:ffffff")
String 型の変数の中の時間は、10:15:45:000234 に設定されます。
次のステートメントは、What_Time に 10:15:45 を設定します。
Time What_Time
What_Time = Time(10, 15, 45)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Time メソッド
Timer
機能
ウィンドウの Timer イベントを指定した間隔で繰り返し起動します。
Timer 関数を呼び出すと、タイマーが開始します。間隔が終わると、
PowerBuilder は Timer イベントを起動し、タイマーをリセットします。
構文
Timer ( interval {, windowname } )
引数
interval
windowname
(オプション)
説明
Timer イベントが発生してから次の Timer イベントが発生
する間の秒数を指定します。0 より大きく 4,294,967 秒以下
の整数または小数を指定できます。0 を指定すると、タイ
マーがオフになり、Timer イベントは発生しません。
Timer イベントを発生させるウィンドウを指定します。指
定するウィンドウは、開かれている必要があります。この
引数を省略すると、現行のウィンドウで Timer イベントが
起動します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が null の場合、null を返します。
解説
Timer イベント内で Timer 関数を呼び出さないでください。タイマーが
自動的にリセットされ、Timer イベントはすでに設定された間隔で再び
起動します。タイマーを停止または間隔を変更する場合は、そのほか
のイベントのスクリプト内で Timer 関数を呼び出してください。
例
次のステートメントは、アクティブなウィンドウに 2 秒間隔で Timer
イベントを起動させます。
Timer(2)
次のステートメントは、アクティブなウィンドウにおける Timer イベ
ントを停止します。
1204
PowerBuilder
第 10 章
PowerScript 関数
Timer(0)
次のステートメントでは、ウィンドウ w_Train に 0.5 秒間隔で Timer イ
ベントを起動します。
Open(w_Train)
Timer(0.5, w_Train)
次の例は、現在の時刻をウィンドウのスタティック テキスト コント
ロールに表示させます。ウィンドウの Open イベントに対するスクリ
プトで Timer 関数を呼び出すとタイマーが開始します。Timer イベント
に対するスクリプトは、表示される時刻をリフレッシュします。
次のコードは、ウィンドウの Open イベントのスクリプトです。初め
に時刻を表示してタイマーを開始します。
st_time.Text = String(Now(), "hh:mm")
Timer(60)
次のステートメントは、1 分ごとに起動するウィンドウ Timer イベント
に対するスクリプトの中に記述されています。現在の時刻をスタ
ティック テキスト コントロール st_time に表示します。
st_time.Text = String(Now(), "hh:mm")
関連項目
Idle
ToAnsi
機能
文字列を ANSI Blob 型に変換します。
構文
ToAnsi ( string )
引数
string
説明
ANSI Blob 型に変換したい文字列を指定します。
戻り値
Blob 型。成功すると ANSI Blob 型を返し、失敗すると空の Blob 型を返
します。
解説
ToAnsi 関数は Unicode 文字列を ANSI Blob 型に変換します。
ToAnsi 関数
は、Blob(string, EncodingANSI!) と同じ結果を返すので、PowerBuilder の
将来のバージョンではサポートされなくなる予定です。
PowerScript リファレンス ボリューム 2
1205
Today
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。Unicode ファイルをストリーム モードで開
くときに、この 2 バイトが含まれている場合は、それをとばして読み
込んでください。
関連項目
Blob
FromAnsi
FromUnicode
ToUnicode
Today
機能
システムの日付を返します。システムの時刻を返す場合もあります。
構文
Today ( )
戻り値
Date 型。現在のシステムの日付を返します。
解説
Today 関数のデータ型は Date 型ですが、現在の時刻(Time 型)を返す
場合もあります。Today 関数が別の関数の引数として使用され、その引
数で異なるデータ型が認められている場合、この関数は時刻を返すこ
とがあります。
たとえば、String 関数の引数として Today 関数を呼び出し、表示書式と
して日付と時刻の両方を使用した場合には、String 関数は日付(Date
型)と時刻(Time 型)の両方を返します。また、Today 関数を SetItem
関数の引数として呼び出し、ターゲット カラムのデータ型が DateTime
型の場合には、日付と時刻の両方がデータウィンドウに格納されます。
例
次のステートメントは、現在のシステム日付を返します。
Today()
次のステートメントは、現在のシステム日付が 2003 年 4 月 15 日以前
の場合に指定された処理を実行します。
IF Today() < 2003-04-15 THEN ...
次のステートメントは、ウィンドウの隅のスタティック テキスト コン
トロール st_date に現在のシステム日付を表示します。
st_date.Text = String(Today(), "m/d/yy")
1206
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、スタティック テキスト コントロール st_date
に現在のシステム日付とシステム時刻を表示します。
st_date.Text = String(Today(), "m/d/yy hh:mm")
関連項目
Now
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Today メソッド
Top
機能
リストボックス コントロールの一番上に表示されている項目のイン
デックス番号を取得します。Top 関数を使用すると、エンド ユーザが
リストをどのようにスクロールしたかを知ることができます。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.Top ( )
引数
listboxname
説明
リストボックス コントロールまたはピクチャ リストボッ
クス コントロールの名前を指定します。リストボックスの
一番上に表示されている項目のインデックスを取得しま
す。
戻り値
Integer 型。listboxname に表示されている一番上の項目のインデックス
を返します。エラーが発生した場合、-1 を返します。listboxname が null
の場合、null を返します。
解説
リスト項目のインデックスは、リスト全体に対する項目の位置で、コ
ントロールに現在表示されている項目に対する項目の位置ではありま
せん。
例
項目 15 がスクロールされて lb_Contacts のリストの一番上にある場合、
Num に 15 を設定します。
integer Num
Num = lb_Contacts.Top()
エンド ユーザが lb_Contacts のリストをスクロールしていない場合は、
Num に 1 を設定します。
integer Num
Num = lb_Contacts.Top()
PowerScript リファレンス ボリューム 2
1207
TotalColumns
lb_Contacts のリストの一番上にある項目が現在選択されていない場
合、次のステートメントは、現在選択されている項目を一番上にスク
ロールします。
integer Num
Num = lb_Contacts.SelectedIndex()
IF lb_Contacts.Top() <> Num THEN &
lb_contacts.SetTop(Num)
関連項目
SelectedIndex
SetTop
TotalColumns
機能
リストビュー コントロールのカラム数を取得します。
対象
リストビュー コントロール
構文
listviewname.TotalColumns ( )
引数
listviewname
戻り値
説明
カラム数を調べるリストビュー コントロールの名前を指
定します。
Integer 型。正常に終了した場合はカラム数を返し、エラーが発生した
場合は -1 を返します。
解説
リストビュー コントロールがレポート ビューに設定されているとき
に使用します。
例
次の例は、リストビュー コントロールのレポート ビューのカラム数を
シングルライン エディット コントロールに表示します。
int li_cols
li_cols = lv_list.TotalColumns()
sle_info.text = "Total columns = " + string(li_cols)
関連項目
1208
TotalItems
TotalSelected
PowerBuilder
第 10 章
PowerScript 関数
TotalItems
機能
リストボックス コントロール中の項目の総数を取得します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール、リストビュー コントロール
構文
listcontrolname.TotalItems ( )
引数
listcontrolname
戻り値
説明
項目の総数を取得するリストボックス、ドロップダウン リ
ストボックス、ピクチャ リストボックス、ドロップダウン
ピクチャ リストボックス、リストビューのいずれかのコン
トロールの名前を指定します。
Integer 型。listcontrolname の項目の総数を返します。listcontrolname に
項目がない場合は 0 を返し、エラーが発生した場合は -1 を返します。
listcontrolname が null の場合、null を返します。
例
lb_Actions に合計 5 個の項目がある場合、Total に 5 を代入します。
integer Total
Total = lbx_Actions.TotalItems()
次の FOR ループは lb_Actions の各項目に対して実行されます。
integer Total, n
Total = lb_Actions.TotalItems()
FOR n = 1 to Total
... // 何らかの処理
NEXT
関連項目
TotalSelected
TotalSelected
機能
リストボックスから、選択されている項目の数を取得します。
対象
リストボックス コントロール、ピクチャ リストボックス コントロー
ル、リストビュー コントロール
構文
listcontrolname.TotalSelected ( )
PowerScript リファレンス ボリューム 2
1209
ToUnicode
引数
listcontrolname
戻り値
説明
選択された項目の数を取得するリストボックス コント
ロール、ピクチャ リストボックス コントロール、または
リストビュー コントロールの名前を指定します。
Integer 型。listcontrolname 内の選択されている項目の数を返します。
listcontrolname 内に選択されている項目がない場合は 0 を返し、エラー
が発生した場合は -1 を返します。listcontrolname が null の場合、null を
返します。
解説
例
TotalSelected 関数は、listcontrolname の MultiSelect プロパティが true の
場合にだけ有効です。
lb_Actions の 3 つの項目が選択されている場合、SelectedTotal の値は 3
です。
integer SelectedTotal
SelectedTotal = lb_Actions.TotalSelected()
次の例は、lb_Actions の SelectionChanged イベントに対するスクリプト
です。4 つ以上の項目が選択されている場合に、メッセージ ボックス
を表示します。
IF lb_Actions.TotalSelected() > 3 THEN
MessageBox(" 警告 ", &
" 選択できるのは 3 項目だけです。")
ELSE
... // 何らかの処理
END IF
関連項目
TotalItems
ToUnicode
機能
文字列を Unicode Blob 型に変換します。
構文
ToUnicode ( string )
引数
string
戻り値
1210
説明
Unicode Blob 型に変換したい文字列を指定します。
Blob 型。成功すると Unicode Blob 型を返し、失敗すると空の Blob 型を
返します。
PowerBuilder
第 10 章
解説
PowerScript 関数
ToUnicode 関 数 は ANSI 文 字 列 を Unicode Blob 型 に 変 換 し ま す。
ToUnicode 関数は、Blob(string) と同じ結果を返すので、PowerBuilder の
将来のバージョンではサポートされなくなる予定です。
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。
関連項目
FromAnsi
FromUnicode
ToAnsi
TraceBegin
機能
トレース ファイルに動作の種類を挿入し、ログが開始されたことを示
し、すべての有効なアプリケーションのトレース動作のログを開始し
ます。TraceOpen 関数を使ってトレース ファイルを開いてから TraceBegin
を呼び出します。
構文
TraceBegin ( identifier )
引数
identifier
戻り値
解説
説明
トレース ファイルに記録され、トレース ブロックを識別
するのに使用する読み込みのみの文字列を指定します。
identifier が null の場合は、空の文字列がトレース ファイル
に置かれます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileNotOpenError! - TraceOpen 関数が呼び出されていません。
•
TraceStartedError! - TraceBegin 関数は呼び出されました。
TraceBegin 関数の呼び出しは、トレース ファイルに ActBegin! の動作の
種類の値を挿入してログが開始されたことを示し、トレースするよう
に選択したすべてのアプリケーションの動作のログを開始します。
TraceBegin 関数は、TraceOpen 関数を呼び出してからでないと呼び出す
ことができません。記録するすべての動作を TraceEnableActivity 関数を
使って有効にしてから TraceBegin 関数を呼び出します。
PowerScript リファレンス ボリューム 2
1211
TraceBegin
アプリケーションすべての実行に対してトレース ファイルを生成し
たい場合は、通常 TraceBegin 関数をアプリケーションの起動スクリプ
トに入れます。トレース ファイルをアプリケーションの一部の実行に
対して生成したい場合は、通常 TraceBegin 関数をデータを集めたい機
能を開始するスクリプトに入れます。
トレース ファイル内のトレース ブロックを識別するために identifier
引数を使うことができます。トレース ブロックは、TraceBegin 関数と
TraceEnd 関数への呼び出しの間に記録されるデータを表します。アプ
リケーション実行の複数の部分をトレースしている場合は、単一のト
レース ファイル内に複数のトレース ブロックがあることもあります。
例
次に、シングルライン エディット ボックスに入力した名前とドロップ
ダウン リストから選択したタイマーの種類でトレース ファイルを開
く例を示します。トレースされるスクリプトの最初のブロックの有効
な動作のログを開始します。
TimerKind ltk_kind
CHOOSE CASE ddlb_timestamp.text
CASE "None"
ltk_kind = TimerNone!
CASE "Clock"
ltk_kind = Clock!
CASE "Process"
ltk_kind = Process!
CASE "Thread"
ltk_kind = Thread!
END CHOOSE
TraceOpen(sle_filename.text,ltk_kind)
TraceEnableActivity(ActESQL!)
TraceEnableActivity(ActGarbageCollect!)
TraceEnableActivity(ActObjectCreate!)
TraceEnableActivity(ActObjectDestroy!)
TraceBegin("Trace_block_1")
関連項目
1212
TraceOpen
TraceEnableActivity
TraceEnd
PowerBuilder
第 10 章
PowerScript 関数
TraceClose
機能
トレース ファイルを閉じます。
構文
TraceClose ( )
戻り値
ErrorReturn 型。以下のいずれかの値を返します。
解説
•
Success! - 成功しました。
•
FileNotOpenError! - TraceOpen 関数が呼び出されていません。
•
FileCloseError! - ログ ファイルがいっぱいです。
TraceClose 関数は、トレース ファイルを閉じます。TraceEnd 関数を呼
び出していない場合、TraceClose 関数は処理を開始する前にその関数を
呼び出します。
通常、TraceClose 関数をアプリケーションの終了スクリプトに入れま
す。
例
次に、アプリケーション トレース動作のログを終了させる方法と、ト
レース ファイルを閉じる方法を示します。
TraceEnd()
TraceClose()
関連項目
TraceBegin
TraceEnd
TraceOpen
PowerScript リファレンス ボリューム 2
1213
TraceDisableActivity
TraceDisableActivity
機能
指定されたトレース動作のログを無効にします。
構文
TraceDisableActivity ( activity )
引数
activity
説明
ログを使用不可にすべき動作を指定するカタログ データ型
TraceActivity の値を指定します。値は以下のとおりです。
• ActError! - システム エラーと警告の発生
• ActESQL! - 埋め込み SQL 文のエントリと終了
• ActGarbageCollect! - ガベージ コレクションの起動と終了
• ActLine! - ルーチン行のヒット
• ActObjectCreate! - オブジェクト作成のエントリと終了
• ActObjectDestroy! - オブジェクト破壊のエントリと終了
• ActProfile! - ActRoutine!、ActESQL!、ActObjectCreate!、
ActObjectDestroy!、ActGarbageCollect! 値の省略形
• ActRoutine! - ルーチンのエントリと終了(この値が使用
不可の場合は、ActLine! も自動的に使用不可になります)
• ActTrace! - ActLine! を除くすべての動作の省略形
• ActUser! - 選択した動作の発生
戻り値
解説
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileNotOpenError! - TraceOpen 関数が呼び出されていません。
•
TraceStartedError! - TraceEnd の前で TraceBegin の後に
TraceDisableActivity を呼び出しました。
指定されたトレース動作のログを無効にするために使用します。通常、
アプリケーション実行の一部分だけをトレースしていて(したがって
TraceBegin 関数を複数回呼び出す)アプリケーションの各部分で異な
る動作を記録したいときに使用します。
特別に TraceDisableActivity 関数で使用不可にしなければ、以前に
TraceEnableActivity 関数を呼び出して有効にされた動作はすべてのアプ
リケーション実行で有効のままです。
TraceEnd 関数を呼び出してから TraceDisableActivity 関数を呼び出さなけ
ればなりません。
1214
PowerBuilder
第 10 章
例
PowerScript 関数
次に、トレースされるスクリプトの最初のブロックを有効にする動作
のログの方法を示します。続いてログを停止し、2 番目のトレース ブ
ロックの 2 つの動作を使用不可にします。ログがアプリケーション実
行のほかの部分で再開すると、使用不可に指定されていない動作は
TraceClose 関数が呼ばれるまで有効のままです。
TraceEnableActivity(ActESQL!)
TraceEnableActivity(ActGarbageCollect)
TraceEnableActivity(ActObjectCreate!)
TraceEnableActivity(ActObjectDestroy!)
TraceBegin("Trace_block_1")
TraceEnd()
TraceDisableActivity(ActESQL!)
TraceDisableActivity(ActGarbageCollect!)
TraceBegin("Trace_block_2")
関連項目
TraceEnd
TraceEnableActivity
PowerScript リファレンス ボリューム 2
1215
TraceEnableActivity
TraceEnableActivity
機能
指定したトレース動作のログを有効にします。
構文
TraceEnableActivity ( activity )
引数
activity
説明
記録する動作を識別するカタログ データ型 TraceActivity
の値を指定します。値は以下のとおりです。
• ActError! - システム エラーと警告の発生
• ActESQL! - 埋め込み SQL 文のエントリと終了
• ActGarbageCollect! - ガベージ コレクションの起動と終了
• ActLine! - ルーチン行ヒット(この値が有効な場合は、
ActRoutine! は自動的に有効になります)
• ActObjectCreate! - オブジェクト作成のエントリと終了
• ActObjectDestroy! - オブジェクト破壊のエントリと終了
• ActProfile! - ActRoutine!、ActESQL!、ActObjectCreate!、
ActObjectDestroy!、ActGarbageCollect! 値の省略形
• ActRoutine! - ルーチンのエントリと終了
• ActTrace! - ActLine! を除くすべての動作の省略形
戻り値
解説
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileNotOpenError! - TraceOpen 関数が呼び出されていません。
•
TraceStartedError! - TraceEnd の前で TraceBegin の後に
TraceEnableActivity を呼び出しました。
TraceOpen 関数に続いて TraceEnableActivity 関数を呼び出します。
TraceEnableActivity 関数は、トレース ファイルに記録したい動作の種類
を指定できるようにします。記録されるデフォルトの動作の種類は、
ActUser! 値で識別されるユーザ定義の動作の種類です。この動作は、
TraceOpen 関数を呼び出すと使用できるようになります。記録される動
作を指定するには、TraceEnableActivity 関数を呼び出してから TraceBegin
関数を呼び出さなければなりません。
各 TraceOpen 関数の呼び出しは、デフォルトで記録されるように動作
の種類を設定し直します(つまり、ActUser! の動作のみが記録されま
す)。
ActError! と ActUser! の値が文字列のトレース ファイルへの受け渡しを
必要とするので、この情報を記録するには TraceError 関数と TraceUser 関
数を呼び出さなければなりません。
1216
PowerBuilder
第 10 章
PowerScript 関数
TraceDisableActivity 関数を呼び出して特別に使用不可にしない限りは、
TraceEnableActivity で有効になった動作はすべてのアプリケーション実
行を通して有効のままです。
例
次に、シングルライン エディット ボックスに入力した名前とドロップ
ダウン リストから選択したタイマーの種類でトレース ファイルを開
く例を示します。続いて、トレースするスクリプトの最初のブロック
の有効な動作のログを開始します。
TimerKindltk_kind
CHOOSE CASE ddlb_timestamp.text
CASE "None"
ltk_kind = TimerNone!
CASE "Clock"
ltk_kind = Clock!
CASE "Process"
ltk_kind = Process!
CASE "Thread"
ltk_kind = Thread!
END CHOOSE
TraceOpen(sle_filename.text,ltk_kind)
TraceEnableActivity(ActRoutine!)
TraceEnableActivity(ActESQL!)
TraceEnableActivity(ActGarbageCollect!)
TraceEnableActivity(ActError!)
TraceEnableActivity(ActCreateObject!)
TraceEnableActivity(ActDestroyObject!)
TraceBegin("Trace_block_1")
関連項目
TraceOpen
TraceBegin
TraceDisableActivity
PowerScript リファレンス ボリューム 2
1217
TraceEnd
TraceEnd
機能
ログが終了したことを示す動作の種類の値をトレース ファイルに挿
入し、アプリケーションのトレース動作のログを中止します。
構文
TraceEnd ( )
戻り値
ErrorReturn 型。以下のいずれかの値を返します。
解説
•
Success! - 成功しました。
•
FileNotOpenError! - TraceOpen 関数が呼び出されていません。
•
TraceNotStartedError! - TraceBegin が呼び出されていません。
TraceEnd 関数の呼び出しで、トレース ファイルの ActBegin! の動作の
種類の値が挿入されてログが終了したことを示し、トレースするよう
に選択したすべてのアプリケーション動作のログを中止します。
TraseClose 関数を呼び出すときに TraceEnd 関数が呼び出されていない
場合は、TraceClose 関数は TraceEnd 関数を呼び出してから処理を始め
ます。
すべてのアプリケーション実行に対してトレース ファイルを生成し
たい場合は、通常アプリケーションの終了スクリプトに TraceEnd 関数
を入れます。アプリケーション実行の一部分についてのみトレース
ファイルを生成したい場合は、通常、データを集める機能を終了させ
るスクリプトに TraceEnd 関数を入れます。
例
次に、アプリケーション トレース動作のログを終了させる方法と、ト
レース ファイルを閉じる方法を示します。
TraceEnd()
TraceClose()
関連項目
1218
TraceOpen
TraceBegin
TraceClose
TraceDisableActivity
PowerBuilder
第 10 章
PowerScript 関数
TraceError
機能
この動作の種類のトレースが有効にされた場合は、独自のエラー メッ
セージおよびそのエラー レベルをトレース ファイルに記録します。
構文
TraceError ( severity, message )
引数
severity
message
戻り値
説明
エラーの重要度を示すための値が数値である long 型を指
定します。
トレース ファイルに追加したい値がエラー メッセージで
ある string 型を指定します。
ErrorReturn 型。この関数はいつでも Success! を返します。
severity または message が null の場合は、TraceError 関数は null を返し、
トレース ファイルにエントリは作成されません。
解説
TraceEnableActivity 関数でこの種類のトレースを有効にし、
次に TraceBegin
関数を呼び出した場合は、TraceError 関数は、ActError! の動作の種類の
値をトレース ファイルに記録します。独自のエラー メッセージを記録
するためには TraceError 関数を使用します。この関数は、TraceUser 関
数のように機能しますが、より深刻な問題を識別するのに使います。
severity と message の値は、トレース ファイルを変更することなく渡さ
れます。
例
次に、データベース検索が失敗したときにエラー メッセージをトレー
ス ファイルに記録する例を示します。
dw_1.SetTransObject(SQLCA)
TraceUser(100, "Starting database retrieval")
IF dw_1.Retrieve() = -1 THEN
TraceError(999, "Retrieve for dw_1 failed")
ELSE
TraceUser(200, "Database retrieval complete")
END IF
関連項目
TraceEnableActivity
TraceUser
PowerScript リファレンス ボリューム 2
1219
TraceOpen
TraceOpen
機能
指定された名前でトレース ファイルを開き、アプリケーション トレー
ス動作のログを有効にします。
構文
TraceOpen ( filename, timer )
引数
filename
timer
説明
トレース ファイルを識別するために使用する読み込みの
みの文字列を指定します。
タイマーを識別するカタログ データ型 TimerKind の値を
指定します。値は以下のとおりです。
• Clock! - 時計のタイマーを使用する
• Process! - プロセス タイマーを使用する
• Thread! - スレッド タイマーを使用する
• TimeNone! - タイマーの値を記録しない
戻り値
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! - 成功しました。
•
FileAlreadyOpenError! - TraceOpen 関数が TraceClose 関数を介する
ことなく再度呼び出されました。
•
FileOpenError! - ファイルを書き込み用に開くことができません
でした。
•
EnterpriseOnlyFeature! - この関数は PowerBuilder の Enterprise 版で
のみサポートされています。
filename が null の場合は、TraceOpen 関数は null を返します。
解説
TraceOpen 関数は指定されたトレース ファイルを開き、アプリケー
ションのトレース動作のログを有効にします。トレース ファイルを開
くと、TraceOpen 関数は現行のアプリケーションとライブラリ リスト
をトレース ファイルに記録します。デフォルトの動作の種類、ActUser!
の値で識別されるユーザ定義の動作の種類のログも有効にします。
TraceOpen 関数を呼び出してから、TraceEnableActivity 関数を使ってト
レース ファイルに記録する追加の動作を選択できます。TraceOpen 関
数と TraceEnableActivity 関数を呼び出したら、ログを開始するためには
TraceBegin 関数を呼び出さなければなりません。
アプリケーション トレース動作のログを停止するには、TraceEnd 関数
に続いて TraceClose 関数を呼び出し、トレース ファイルを閉じなけれ
ばなりません。TraceOpen 関数の各呼び出しは、デフォルトの ActUser!
への動作の種類のログを再設定します。
1220
PowerBuilder
第 10 章
PowerScript 関数
通常、TraceOpen 関数はアプリケーションの起動スクリプトに入れま
す。
注意
トレース ファイルのディスク容量がなくなってもエラーは生成され
ません。しかし、ログはストップし、トレース ファイルを解析のため
に使用できなくなります。
デフォルトでは、各動作が開始、終了する時間は、マシンが起動した
時間のような外部の動作に対する絶対時間を計測するクロック タイ
マーを使って記録されます。クロック タイマーは、時間をマイクロ秒
で計測します。マシンの CPU のスピードによって、クロック タイマー
は 1 マイクロ秒より小さな時間を表すこともできます。タイマーの精
度は、そのタイマーが測定できる最小の時間の単位です。
実行されるプロセスまたはスレッドが開始した時間に対する時間をマ
イクロ秒で測定するプロセスまたはスレッド タイマーを使用するこ
ともできます。スレッド タイマーは分散アプリケーションに使用しま
す。プロセスおよびスレッド タイマーの両方は、プロセスまたはス
レッドが実行されるのにかかる時間をより正確に測定できるようにし
ますが、どちらもクロック タイマーよりも精度は低くなります。
解析で時間の情報が必要ない場合は、トレース ファイルの時間情報を
省略できます。
集積時間 トレース ファイルのタイムスタンプは、トレース データを
集めるのにかかった時間を除外します。
例
次に、シングルライン エディット ボックスに入力した名前とドロップ
ダウン リストから選択したタイマーの種類でトレース ファイルを開
く例を示します。続いて、トレースするスクリプトの最初のブロック
の有効な動作のログを開始します。
TimerKindltk_kind
CHOOSE CASE ddlb_timestamp.text
CASE "None"
ltk_kind = TimerNone!
CASE "Clock"
ltk_kind = Clock!
CASE "Process"
ltk_kind = Process!
CASE "Thread"
ltk_kind = Thread!
END CHOOSE
PowerScript リファレンス ボリューム 2
1221
TraceUser
TraceOpen(sle_filename.text,ltk_kind)
関連項目
TraceBegin
TraceClose
TraceEnableActivity
TraceEnd
TraceUser
機能
トレース ファイルに指定する動作の種類の値を記録します。
構文
TraceUser (info, message )
引数
info
message
戻り値
説明
ログ動作と関連させたい値が参照数値である long 型を指
定します。
トレース ファイルに追加したい値が動作の種類の値であ
る string 型を指定します。
ErrorReturn 型。この関数はいつでも Success! を返します。
info または message が null の場合は、TraceUser 関数は null を返し、ログ
ファイルにエントリは作成されません。
解説
TraceUser 関数は、トレース ファイルに ActUser! の動作の種類の値を
記録します。これはデフォルトの動作の種類で、TraceOpen 関数が呼び
出されたときに有効になります。アプリケーションの実行中の特定の
発生を識別する独自のメッセージを記録するために TraceUser 関数を
使います。たとえば、特定の戻り値の発生またはスクリプト文の始め
と終わりを記録したいかもしれません。TraceUser 関数は、TraceError 関
数のように動作しますが、TraceError 関数はより深刻な問題を識別する
ために使用します。info および message の値は、トレース ファイルを
変更することなく渡されます。
例
この例では、ユーザ メッセージがトレース ファイルに記録され、デー
タベース検索の開始と終了がいつ行われたかを識別します。
dw_1.SetTransObject(SQLCA)
TraceUser(100, "Starting database retrieval")
IF dw_1.Retrieve() = -1 THEN
TraceError(999, "Retrieve for dw_1 failed")
ELSE
1222
PowerBuilder
第 10 章
PowerScript 関数
TraceUser(200, "Database retrieval complete")
END IF
関連項目
TraceEnableActivity
TraceError
TriggerEvent
機能
指定されたオブジェクトに関連するイベントを起動し、そのイベント
のスクリプトを直ちに実行します。
対象
すべてのオブジェクト
構文
objectname.TriggerEvent ( event {, word, long } )
引数
objectname
event
word
(オプション)
long
(オプション)
戻り値
説明
関連するイベントを持つ PowerBuilder のオブジェクトま
たはコントロールの名前を指定します。
PowerBuilder のイベント(たとえば、Clicked!、Modified!、
DoubleClicked!)を識別する TrigEvent カタログ データ型の
値を指定します。または、イベントの名前を表す文字列を
指定します。イベントは、objectname に有効なイベントで
なければなりません。また、このイベントに対するスクリ
プトは、objectname に存在していなければなりません。
システムの Message オブジェクトの WordParm プロパティ
に格納される Long 型の値を指定します。word ではなく、
long に値を指定する場合、0 を入力してください。プラッ
トフォームの互換性を維持するために、WordParm プロパ
ティと LongParm プロパティは、どちらも Long 型になり
ます。
システムの Message オブジェクトの LongParm プロパティ
に格納される Long 型の値を指定します。文字列を指定す
ると、その文字列のポインタが LongParm プロパティに格
納されます。LongParm プロパティにアクセスするには、
String 関数を使用します。詳細については、
「解説」を参照
してください。
Integer 型。正常に終了した場合は 1 を返し、イベントのスクリプトが
実行されます。イベントが objectname に対して有効でない場合、また
はこのイベントに対するスクリプトが objectname に存在しない場合に
は、-1 を返します。引数のいずれかの値が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
1223
TriggerEvent
解説
TrigEvent カタログ データ型の値のかわりにイベントの名前を指定す
る場合は、イベント名を二重引用符(")で囲みます。
リターン コードをチェック
TriggerEvent 関数が正常に終了したかどうかを確認するために、リター
ン コードをチェックし、結果に応じて適切な処理を実行してくださ
い。
word と long を使用してイベント スクリプトに情報を渡すことができ
ます。その情報は、Message オブジェクトに格納されます。スクリプ
トの中で、Message オブジェクトの WordParm プロパティと LongParm
プロパティを参照して、渡された情報にアクセスします。
long に 文 字 列 を 指 定 し た 場 合、String 関 数 の format に キ ー ワ ー ド
"address" を指定して呼び出し、long に指定した情報にアクセスできま
す。イベント スクリプトは、次のように始めることができます。
string PassedString
PassedString = String(Message.LongParm, "address")
注意
引数 long が有効な文字列値を含む場合以外は、この構文を使わないで
ください。
イベントについての詳細、および PostEvent 関数と TriggerEvent 関数を
使用するタイミングについては、PostEvent 関数を参照してください。
PowerBuilder で定義されたイベントではなく、システム イベントを起
動するには、PostEvent 関数や TriggerEvent 関数のかわりに、Post 関数ま
たは Send 関数を使用してください。Send 関数は PowerBuilder イベン
トを起動させるメッセージを送信できますが、次に示すようにそれぞ
れのメッセージ コードを知っている必要があります。目的のイベント
を発生させるには、PowerBuilder の関数を使用した方が簡単です。
別の記述方法 次のステートメントは、どちらもチェックボックス コン
トロール cb_OK をクリックします。次の例は Send 関数を呼び出して
います。
Send(Handle(Parent), 273, 0, Long(Handle(cb_OK), 0))
このステートメントは、次のステートメントと同じ意味です。
cb_OK.TriggerEvent(Clicked!)
1224
PowerBuilder
第 10 章
例
PowerScript 関数
次のステートメントは、コマンドボタン コントロール cb_OK の Clicked
イベントに対するスクリプトを直ちに実行します。
cb_OK.TriggerEvent(Clicked!)
次のステートメントは、親ウィンドウのユーザ定義イベント
cb_exit_request に対するスクリプトを実行します。
Parent.TriggerEvent("cb_exit_request")
次のステートメントは、メニュー m_Appl のメニュー項目 m_File の
Clicked イベントに対するスクリプトを実行します。
m_Appl.m_File.TriggerEvent(Clicked!)
関連項目
Post
PostEvent
Send
TriggerPBEvent
機能
PowerBuilder ウィンドウ ActiveX コントロールに含まれるチャイルド
ウィンドウで指定されたユーザ イベントを起動します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.TriggerPBEvent ( name {, numarguments {, arguments } } )
引数
activexcontrol
name
numarguments
(オプション)
PowerScript リファレンス ボリューム 2
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、これはオブジェク
ト要素の NAME 属性です。そのほかの環境で使用する場合
には、これは PowerBuilder ウィンドウ ActiveX を含むコン
トロールを参照します。
ユーザ イベントの名前を指定する文字列を指定します。こ
の引数は、参照渡しされます。
arguments 配列の構成要素の数値を指定する Integer 型の値。
デフォルトは 0 です。
1225
TriggerPBEvent
引数
arguments
(オプション)
説明
イベント引数を含む可変配列。PowerBuilder では、変数は
Any データ型にマップされます。この引数は、参照渡しさ
れます。
この引数を指定すると、numarguments も指定しなければな
りません。この引数を指定せず、関数が arguments を含む
場合は、各引数に対して一度ずつ SetArgElement 関数を呼
び出して引数リストに値を与えます。
JavaScript は、この引数を使用できません。
戻り値
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
この関数を呼び出し、PowerBuilder ウィンドウ ActiveX コントロール
に含まれるチャイルド ウィンドウでユーザ イベントを起動します。
PowerBuilder 関数の戻り値を確認するには、GetLastReturn 関数を呼び出
します。
JavaScript は、arguments 引数を使用できません。
例
次に、JavaScript が TriggerPBEvent 関数を呼び出す例を示します。
function triggerEvent(f) {
var retcd;
var rc;
var numargs;
var theEvent;
var theArg;
retcd = 0;
numargs = 1;
theArg = f.textToPB.value;
PBRX1.SetArgElement(1, theArg);
theEvent = "ue_args";
retcd = PBRX1.TriggerPBEvent(theEvent, numargs);
rc = parseInt(PBRX1.GetLastReturn());
if (rc != 1) {
alert(" エラー。空の文字列です。");
}
PBRX1.ResetArgElements();
}
次に、VBScript が TriggerPBEvent 関数を呼び出す例を示します。
Sub TrigEvent_OnClick()
Dim retcd
Dim myForm
Dim args(1)
1226
PowerBuilder
第 10 章
PowerScript 関数
Dim rc
Dim numargs
Dim theEvent
retcd = 0
numargs = 1
rc = 0
theEvent = "ue_args"
Set myForm = Document.buttonForm
args(0) = buttonForm.textToPB.value
retcd = PBRX1.TriggerPBEvent(theEvent, &
numargs, args)
rc = PBRX1.GetLastReturn()
if rc <> 1 then
msgbox " エラー。空の文字列です。"
end if
end sub
関連項目
GetLastReturn
SetArgElement
InvokePBFunction
Trim
機能
文字列の左端と右端からスペースを削除します。
構文
Trim ( string {, removeallspaces } )
引数
string
removeallspaces
説明
左端と右端からスペースを削除する文字列を指定します。
Boolean 型の値。全種類のスペースの削除を指定します。
戻り値
String 型。正常に終了した場合は、string の左端と右端からスペースを
削除した文字列を返します。エラーが発生した場合、空の文字列("")
を返します。string が null の場合、Trim 関数は null を返します。
解説
Trim 関数は、エンド ユーザが入力したデータの左端と右端からスペー
スを削除します。
オプションの removeallspaces 引数を指定しないか、またはこの引数の
値 に false を 設 定 し た 場 合、文 字 列 か ら ス ペ ー ス 文 字(U+0020 と
U+3000)のみが除去されます。
PowerScript リファレンス ボリューム 2
1227
TrimW
removeallspaces 引数に true を設定した場合、全種類のスペース文字が
除去されます。スペース文字のリストについては、LeftTrim を参照して
ください。
例
次のステートメントは、左端と右端のスペースがすべてスペース文字
である場合に BABE RUTH を返します。
Trim(" BABE RUTH ")
次のステートメントは、左端と右端のスペースにほかの種類の空白ス
ペース文字が含まれている場合に BABE RUTH を返します。
Trim(" BABE RUTH ", true )
次の例は、エンド ユーザがシングルライン エディット コントロール
sle_emp_fname に入力した値の左端と右端のスペースを取り除き、それ
を emp_fname に格納します。
string emp_fname
emp_fname = Trim(sle_emp_fname.Text)
関連項目
LeftTrim
RightTrim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Trim メソッド
TrimW
機能
文字列の左端と右端からスペースを削除します。この関数は、サポー
トされなくなります。動作は、すべての環境で Trim 関数と同じです。
構文
TrimW ( string )
1228
PowerBuilder
第 10 章
PowerScript 関数
Truncate
機能
指定の小数点以下の位置で、数値の切り捨てを行います。
構文
Truncate ( x, n )
引数
x
n
戻り値
説明
切り捨てを行う数値を指定します。
x の切り捨てを行う小数点以下の位置を指定します。有効
な値は 0 ~ 28 です。
Decimal 型。正常に終了した場合、切り捨てた値を返します。エラーが
発生した場合、または引数が null の場合には、null を返します。
計算フィールドにおける Truncate 関数の使用
浮動小数レジスタ(計算用)にロードされた実数は、バイナリの記憶
領域における最大限の精度で表現されます。たとえば、2.07 として表
示されている実数は、実際には 2.06999999999999999999999997 として
格納されています。
このような数値に対して切り捨てを行うと、期待される結果にならな
いことがあります。この問題を回避するためには、元の real 型を long
型、integer 型、または decimal 型に変更するか、あるいは次のように
Truncate 関数の引数に定数を付加します。Truncate (x + 0.0000001, n )
例
次のステートメントは、9.2 を返します。
Truncate(9.22, 1)
次のステートメントは、9.2 を返します。
Truncate(9.28, 1)
次のステートメントは、9 を返します。
Truncate(9.9, 0)
次のステートメントは、-9.2 を返します。
Truncate(-9.29, 1)
関連項目
Ceiling
Int
Round
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Truncate メソッド
PowerScript リファレンス ボリューム 2
1229
TrustVerify
TrustVerify
機能
SSL 証明書のチェーンについてクライアントによる使用のための承認
を得る必要がある場合に、EAServer によって呼び出されます。この関
数は、EAServer に接続している PowerBuilder クライアントによって使
用されます。
対象
SSLCallBack オブジェクト
構文
sslcallback.TrustVerify ( thesessioninfo, reason )
引数
sslcallback
thesessioninfo
reason
説明
カスタマイズされた SSLCallBack オブジェクトのインス
タンスを指定します。
SSL セッションに関する情報を含む CORBA オブジェク
トを指定します。
コールバックの理由を示す Long 型の値を指定します。値
は以下のとおりです。
• 1 REASON_CHAIN_INCOMPLETE
• 2 REASON_UNKNOWN_CA
• 3 REASON_CHAIN_EXPIRED
• 4 REASON_TRUSTDBPINNOTSET
• 5 REASON_TRUSTDBLOGINFAILED
戻り値
Long 型。以下のいずれかの値を返します。
1 TRUST_ONCE(現行の接続を受け入れます)
2 TRUST_FAIL(現行の接続を拒否します)
3 TRUST_ALWAYS(受け入れ、信頼できるものとしてデータベー
ス内でマークします)
4 TRUST_NEVER(拒否し、信頼できないものとしてデータベー
ス内でマークします)
5 TRUST_SESSION(現時点から現行のセッションが終わるまで
受け入れます)
6 TRUST_FAIL_SESSION(現行のセッションが終わるまで拒否
します)
解説
1230
PowerBuilder のアプリケーションでは、通常、TrustVerify 関数を直接呼
び出すことはありません。TrustVerify 関数が EAServer から呼び出され
るのは、内部の SSL 信頼認証チェックでサーバの証明書のチェーンを
確認できない場合、または Sybase PKCS11 トークンにログインするた
めの正しい PIN が提供されなかった場合です。どの SSL プロトコルを
使用している場合でも TrustVerify 関数が起動されます。これは、SSL ハ
ンドシェイク プロセスでサーバ認証が必要な手順であるためです。
PowerBuilder
第 10 章
PowerScript 関数
SSLCallBack オブジェクトの任意の関数の動作を上書きするためには、
SSLCallBack から継承された標準クラス ユーザ オブジェクトを作成
し、必要であればこのオブジェクトをカスタマイズします。コールバッ
クが要求されたときに使用するオブジェクトを EAServer に認識させ
るには、SSL の callbackImpl プロパティにオブジェクト名を指定しま
す。このプロパティの値を設定するには、SetGlobalProperty 関数を呼び
出します。
TrustVerify 関数の実装を提供していない場合、CORBA::NO_IMPLEMENT
例外が EAServer に送られ、接続が拒否されます。
戻り値を有効なものにするには、エラーの理由に関する情報をユーザ
に提供し、セッションを継続するためのサーバ証明書チェーンが信頼
で き る か ど う か 判 断 す る よ う に ユ ー ザ に 依 頼 し ま す。ユ ー ザ が
TRUST_FAIL または TRUST_ONCE を指定した場合、現行のセッショ
ン中にこの関数が再び呼び出される可能性があります。
このコールバック関数内で例外を送出することによって、このような
接続の試行をユーザがキャンセルすることが可能になります。その例
外を捕捉するには、ConnectToServer 関数を try-catch ブロックの中に含
める必要があります。
例
次の例は、エラーが呼び出された理由が PIN の不正または欠如である
かどうかチェックし、そうである場合には GetPin を呼び出すために
TRUST_FAIL を返します。そうでない場合には、サーバで証明書チェー
ンを確認できなかった理由を表示し、セッションを継続するかどうか
選択するようにユーザに促します。
long
rc
string
stmp, stmp2
w_response w_ssl_response
string ls_rc
sslSessionInfo
mySessionInfo
rc = thesessioninfo._narrow(mySessionInfo, &
"thesessioninfo")
is_tokenName = mySessionInfo.getProperty( "tokenName" )
CHOOSE CASE reason
CASE 4
MessageBox("SSL セッションには PIN が必要です。", &
"PIN を入力しないと、" + is_tokenName + &
+ " 証明書データベースにアクセスできません。")
return 2
CASE 5
MessageBox(" 入力した PIN が不正です。", &
PowerScript リファレンス ボリューム 2
1231
TrustVerify
" 正しい PIN コードを入力し、" + is_tokenName + &
+ " 証明書データベースへのアクセスを試みてください。")
return 2
CASE 1
MessageBox(" 証明書の検証に失敗しました。", &
" サーバの証明書チェーンが不完全です。ORB は " &
+ "~nSybase PKCS11 トークンの " &
+ "CA 証明書を使用して " &
+ "~n チェーンを完了できません。")&
CASE 2
MessageBox(" 証明書の検証に失敗しました。", &
" サーバの証明書チェーンの期限が切れています。
チェーン内の " &
+ "1 つまたは複数の証明書が " &
+ " 有効ではありません。")
CASE 3
MessageBox(" 証明書の検証に失敗しました。", &
" サーバの証明書チェーンに " &
+ " 不明なルート証明書機関が含まれています。 " &
+ " この CA は、Sybase PKCS11 トークンの信頼された " &
+ " データ内には見つかりません。")
END CHOOSE
sTmp = "~nVersion: "
stmp += mySessionInfo.getProperty( "Version" )
sTmp = "~nHost: "
stmp += mySessionInfo.getProperty( "host" )
stmp += "~nport: "
stmp += mySessionInfo.getProperty( "port" )
stmp += "~nciphersuite: "
stmp += mySessionInfo.getProperty( "ciphersuite" )
stmp += "~nCertificateLabel: "
stmp += mySessionInfo.getProperty( "certificateLabel" )
stmp += "~nUserData: "
stmp += mySessionInfo.getProperty( "UserData" )
stmp += "~ntokenName: "
stmp += mySessionInfo.getProperty( "tokenName" )
stmp += "~npkcs11Module: "
stmp += mySessionInfo.getProperty( "pkcs11Module" )
stmp += "~nPlease enter your choice: "
stmp += "~n 1: Accept this connection"
stmp += "~n 2: Reject this connection"
stmp += "~n 3: Accept this connection and mark CA as
trusted"
1232
PowerBuilder
第 10 章
PowerScript 関数
stmp += "~n 4: Reject this connection and mark CA as
untrusted"
stmp += "~n 5: Accept this CA throughout this session"
stmp += "~n 6: Reject this CA throughout this session"
// レスポンス ウィンドウに情報を表示し
// CloseWithReturn 関数で応答を返します。
openwithparm(w_response, stmp)
ls_rc = Message.StringParm
return long(ls_rc)
関連項目
ConnectToServer
GetCertificateLabel
GetCredentialAttribute
GetPin
TypeOf
機能
オブジェクトまたはコントロールの型を調べて、Object カタログ デー
タ型の値を取得します。
対象
すべてのオブジェクト
構文
objectname.TypeOf ( )
引数
objectname
説明
型を取得するオブジェクトまたはコントロールの名前を
指定します。
戻り値
Object カタログ データ型。objectname の型を返します。objectname が
null の場合、null を返します。
解説
TypeOf 関数を使用して、選択またはドラッグされたコントロールの
データ型を調べることができます。
例
dw_Customer がデータウィンドウ コントロールの場合、次のステート
メントは DataWindow! を返します。
dw_Customer.Typeof()
次の例は、w_dept ウィンドウの Control 配列のうち、最初の 5 つのコン
トロールを調べます。ループの中では、コントロールがチェックボッ
クスの場合に、何か処理を行います。
integer n
PowerScript リファレンス ボリューム 2
1233
TypeOf
FOR n = 1 to 5
IF w_dept.Control[n].TypeOf() = CheckBox! THEN
... // 何らかの処理
END IF
NEXT
次の例では、ループの中でウィンドウの Control 配列内の各オブジェク
トのデータ型を winobject 配列に代入します。
object winobjecttype[]
long ll_count
FOR ll_count = 1 to UpperBound(Control[])
winobjecttype[ll_count] = &
TypeOf(Control[ll_count])
NEXT
メッセージ オブジェクトの PowerObjectParm プロパティを介して渡さ
れたコントロールの種類がわからないものとします。次の例は、渡さ
れたすべてのオブジェクトをコントロールの先祖オブジェクトである
graphicobject 型の変数に代入し、TypeOf 関数を使用して取得したコン
トロールの型を変数 type_obj に設定します。CHOOSE CASE 文には、各
コントロールのデータ型に対応する処理を記述することができます。
次のステートメントは、OpenWithParm 関数を使用して開かれたウィン
ドウの Open イベントに対するスクリプトの一部です。
graphicobject stp_obj
object type_obj
stp_obj = Message.PowerObjectParm
type_obj = stp_obj.TypeOf()
CHOOSE CASE type_obj
CASE DataWindow!
MessageBox(" オブジェクト "," データウィンドウです。")
CASE SingleLineEdit!
MessageBox(" オブジェクト "," シングルライン エディットで
す。")
... // そのほかの種類のオブジェクトに対する処理
CASE ELSE
MessageBox(" オブジェクト "," そのほかです。")
END CHOOSE
関連項目
1234
ClassName
PowerBuilder
第 10 章
PowerScript 関数
Uncheck
機能
ドロップダウン メニューまたはカスケード メニューの項目の先頭に
表示されているチェックマークを削除し、その項目の Checked プロパ
ティを false にします。
対象
メニュー オブジェクト
構文
menuname.Uncheck ( )
引数
menuname
説明
チェックマークを削除するメニュー項目の完全な名前を
指定します。ドロップダウン メニューとカスケード メ
ニューのメニュー項目を指定できます。メニューバー上に
ある項目は、指定できません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。menuname が null の場合、null を返します。
解説
メニュー項目の先頭に表示されているチェックマークは、そのメ
ニュー項目が現在オンになっていることを示しています。エンド ユー
ザは、そのメニュー項目を選択してオンとオフを切り替えることがで
きます。たとえば、グリッドが表示されているときは、ウィンドウ ペ
インタの[デザイン]メニューの[グリッドの表示]にチェックマー
クが付いています。
メニュー項目の Clicked イベントに対するスクリプトの中で Check 関
数を使用すると、エンド ユーザがメニュー項目を選択したときに、メ
ニュー項目にチェックマークを付けることができます。また、Uncheck
関数を使用すると、エンド ユーザがメニュー項目の選択を解除したと
きに、メニュー項目からチェックマークを削除することができます。
別の記述方法 Uncheck 関数を呼び出すかわりに、次のようにオブジェ
クトの Checked プロパティを設定する方法もあります。
menuname.Checked = false
たとえば、次のようなステートメントがあるとします。
m_appl.m_view.m_grid.Checked = FALSE
このステートメントは、次のステートメントと同じ意味です。
m_appl.m_view.m_grid.Uncheck()
例
次のステートメントは、メニュー m_appl のドロップダウン メニュー
m_view にあるメニュー項目 m_grid の先頭に表示されているチェック
マークを取り除きます。
m_appl.m_view.m_grid.Uncheck()
PowerScript リファレンス ボリューム 2
1235
Undo
次のステートメントは、メニュー m_appl のドロップダウン メニュー
m_view にあるメニュー項目 m_grid の先頭にチェックマークが表示さ
れているかどうかを調べます。チェックマークが表示されている場合
はチェックマークを削除し、チェックマークが表示されていない場合
はその項目にチェックマークを付けます。
IF m_appl.m_view.m_grid.Checked = TRUE THEN
m_appl.m_view.m_grid.Uncheck()
ELSE
m_appl.m_view.m_grid.Check()
END IF
関連項目
Check
Undo
機能
編集可能なコントロールで最後に行った編集操作を取り消し、コント
ロール内のテキストを最後の編集の前の内容に戻します。
対象
編集可能なコントロール(データウィンドウ、エディットマスク、マ
ルチライン エディット、リッチテキスト エディット、シングルライン
エディット)
構文
editname.Undo ( )
引数
editname
説明
最後に行われた編集を取り消す(元に戻す)データウィン
ドウ、エディットマスク、マルチライン エディット、リッ
チテキスト エディット、シングルライン エディットのい
ずれかのコントロールの名前を指定します。データウィン
ドウ コントロールの名前を指定した場合、現行の行とカラ
ムに対するエディット コントロール内の最後の編集が元
に戻ります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。editname が null の場合、null を返します。
解説
最後に行われた操作を取り消すことができるかどうかを調べるには、
CanUndo 関数を呼び出してください。
例
次のステートメントは、マルチライン エディット コントロール
mle_Contact で最後に実行された編集を元に戻します。
mle_Contact.Undo()
1236
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、マルチライン エディット コントロール
mle_Contact で最後に実行された編集を元に戻せるかどうかをチェック
します。元に戻すことができる場合、最後に実行された編集を元に戻
します。
IF mle_Contact.CanUndo() THEN mle_Contact.Undo()
関連項目
CanUndo
UnitsToPixels
機能
PowerBuilder 単位系をピクセル単位に変換し、そのピクセル数を返し
ます。通常、ピクセルは 1 次元なので、水平方向または垂直方向のど
ちらの方向に変換するかを指定できます。
構文
UnitsToPixels ( units, type )
引数
units
type
説明
Integer 型の値。ピクセルに変換する PowerBuilder 単位系の
数を指定します。
ConvertType カタログ データ型の値。PowerBuilder 単位系
を水平方向に変換するか、垂直方向に変換するかを指定し
ます。
• XUnitsToPixels! - 水平方向
• YUnitsToPixels! - 垂直方向
戻り値
Integer 型。正常に終了した場合は変換後の値を返し、エラーが発生し
た場合は -1 を返します。引数のいずれかの値が null の場合、null を返
します。
例
次のステートメントは、垂直方向の Power Builder 単位系の 350 を垂直
方向のピクセルに変換し、変換した値を Value に設定します。
integer Value
Value = UnitsToPixels(350, YUnitsToPixels!)
関連項目
PixelsToUnits
PowerScript リファレンス ボリューム 2
1237
UpdateLinksDialog
UpdateLinksDialog
機能
OLE コンテナにリンクされたファイルを検索します。リンクされた
ファイルが見つからない場合は、メッセージを表示してからダイアロ
グボックスを表示します。エンド ユーザは、このダイアログボックス
で、ファイルを検索したり、リンクを変更したりできます。
対象
OLE コントロール、OLE DWObject(データウィンドウ コントロール
のデータウィンドウ オブジェクトの中にあるオブジェクト)
構文
objectref.UpdateLinksDialog ( )
引数
objectref
説明
リンクを設定するオブジェクトを含む OLE コントロール
の名前、またはデータウィンドウ コントロール上の OLE
DWObject の完全な名前を指定します。
DWObject の名前は、次のような完全な名前で指定します。
dwcontrol.Object.dwobjectname
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
コンテナの LinkUpdateOptions プロパティが自動更新に設定されてい
る場合、OLE コンテナを作成したときと、オブジェクトをロードした
とき(ウィンドウを開いたときなど)に、PowerBuilder はリンクを更
新しようとします。リンク ファイルが見つからないと、メッセージが
表示されます。エンド ユーザは、リンクの解除や、正しいファイルの
検索などの編集を行うことができます。
UpdateLinksDialog 関数と LinkTo 関数は、リンク ファイルが移動された
場合や、コンテナの LinkUpdateOptions プロパティが手動更新に変更さ
れた場合に便利です。
この関数を呼び出すと、自動更新と同じ処理
が実行されます。PowerBuilder はファイルを検索し、見つからなかっ
た場合はエンド ユーザがリンクを編集できるようにします。
UpdateLinksDialog 関数
LinkTo 関数 エンド ユーザを介さずにリンクを設定する場合は、その
引数にリンクするファイルと項目を指定して LinkTo 関数を呼び出しま
す。リンク ファイルを選択する独自のダイアログボックスを表示する
場合は、そのダイアログボックスでエンド ユーザが選択したリンク
ファイルと項目を引数に指定して LinkTo 関数を呼び出します。
OLE コンテナに埋め込みオブジェクトがある場合、UpdateLinksDialog 関
数は無効になり、0 を返します。
1238
PowerBuilder
第 10 章
PowerScript 関数
リンクの更新についての詳細は、『アプリケーション テクニック』マ
ニュアルを参照してください。
例
次の例は、OLE コントロール ole_report にリンクされたファイルを検索
します。ファイルが見つからない場合、リンク ダイアログボックスを
表示し、エンド ユーザがリンクを編集できるようにします。
ole_report.UpdateLinksDialog()
次の例は、データウィンドウ コントロール dw_customer_data の OLE
DWObject ole_word にリンクされたファイルを検索します。ファイルが
見つからない場合、エンド ユーザはリンク ダイアログボックスを使用
してリンクを編集することができます。
dw_customer_data.Object.ole_word.UpdateLinksDialog()
関連項目
InsertObject
LinkTo
Upper
機能
文字列中のすべての英文の小文字を大文字に変換します。
構文
Upper ( string )
引数
string
説明
文字列中の英文の小文字を大文字に変換する文字列を指
定します。
戻り値
String 型。正常に終了した場合は、string の英文の小文字を大文字に変
換して返します。エラーが発生した場合、空の文字列(“”)を返しま
す。string が null の場合、null を返します。
例
次のステートメントは、"BABE RUTH" を返します。
Upper("Babe Ruth")
関連項目
Lower
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Upper メソッド
PowerScript リファレンス ボリューム 2
1239
UpperBound
UpperBound
機能
配列の次元の上限を取得します。
構文
UpperBound ( array {, n } )
引数
array
n
(オプション)
説明
配列の名前を指定します。この配列の次元の上限を求めます。
上限を取得する次元の番号を指定します。特に指定しない
限り、1 が設定されます。
戻り値
Long 型。array の n 次元の上限を返します。n が配列の次元数よりも大
きい場合、-1 を返します。引数のいずれかの値が null の場合、null を返
します。
解説
可変長の配列に対しては、配列に値を割り当てたときに、その配列に
メモリが割り当てられます。UpperBound 関数は、現在のスクリプトで
その配列に対して定義されている最大の値を返します。値が割り当て
られる前の下限は 1 で、上限は 0 です。固定長の配列に対しては、
UpperBound 関数は常に宣言されているサイズを返します。
例
次のステートメントは、固定長配列と可変長配列の次元の上限を求め
ています。可変長の配列については、メモリが割り当てられる前と後
に次元の上限を求めています。
integer a[5]
UpperBound(a)
// 5 を返します。
UpperBound(a,1) // 5 を返します。
UpperBound(a,2) // 2 次元はないので、-1 を返します。
integer b[10,20]
UpperBound(b,1) // 10 を返します。
UpperBound(b,2) // 20 を返します。
integer c[ ]
UpperBound(c)
c[50] = 900
UpperBound(c)
c[60] = 800
UpperBound(c)
c[60] = 800
c[50] = 700
UpperBound(c)
// メモリが割り当てられていないので、
// 0 を返します。
// 50 を返します。
// 60 を返します。
// 60 を返します。
integer d[10 to 50]
UpperBound(d)
// 50 を返します。
1240
PowerBuilder
第 10 章
PowerScript 関数
次の例では、メニューバー上の[ファイル]メニューの位置を探し、
そのメニューのカスケード メニューに[更新]メニューがある場合、
[更新]メニューを無効状態にします。コードは、ウィンドウ内のコン
トロールを表すスクリプトです。
次のスクリプトは、複雑なメニュー項目 Parent、Menuid、Item を含ん
でいます。Parent、Menuid、Item の構成要素は、次のとおりです。
•
Parent - スクリプトを実行するコントロールの親ウィンドウ
•
Menuid - ウィンドウに関連するメニューを識別する値が設定さ
れているウィンドウのプロパティ
•
Item - メニューのプロパティで、メニュー項目から成る配列。Item
配列の要素自体がドロップダウン メニューまたはカスケード メ
ニューの場合は、Item 配列を持っていて、メニューの完全な名前
の 4 番目の修飾子となります。
次の例は、ウィンドウのコントロールに対するスクリプトです。
long i, k, tot1, tot2
// メニューバーのメニュー項目数を調べます。
tot1 = UpperBound(Parent.Menuid.Item)
FOR i = 1 to tot1
// [ファイル]メニューの位置を見つけます。
IF Parent.Menuid.Item[i].text = "File" THEN
MessageBox(" 位置 ", &
"[ファイル]の位置は "+ string(i) + " です。")
tot2 = UpperBound(Parent.Menuid.Item[i].Item)
FOR k = 1 to tot2
// [ファイル]メニューのカスケード メニューである
[更新]メニューを見つけます。
IF Parent.Menuid.Item[i].Item[k].Text = &
"Update" THEN
// [更新]メニュー オプションを使用不可にします。
Parent.Menuid.Item[i].Item[k].Disable()
EXIT
END IF
NEXT
EXIT
END IF
NEXT
関連項目
LowerBound
PowerScript リファレンス ボリューム 2
1241
Which
Which
機能
コンポーネントがトランザクション サーバ上で動作しているかどう
かを判別できるようにします。
対象
TransactionServer オブジェクト
構文
transactionserver.Which ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。オブジェクトがトランザクション サーバ上で実行されてい
なければ 0 を返し、EAServer 上で実行されていれば 1 を返し、COM+
上で実行されていれば 2 を返します。
解説
Which 関数を使用すると、カスタム クラス ユーザ オブジェクトが、そ
の実行時コンテキストによって異なる処理を実行できます。
例
次の例のコードは、実行時コンテキストがトランザクション サーバ
(EAServer または COM+)かどうかをチェックします。もしそうなら
ば、トランザクション サーバに対応したトランザクション セマン
ティックを使用し、そうでない場合は、COMMIT と ROLLBACK を使っ
て直接データベースとやり取りを行います。
// インスタンス変数:
// DataStore ids_datastore
// TransactionServer ts
Integer li_rc
long ll_rv
li_rc = this.GetContextService("TransactionServer", &
ts)
IF li_rc <> 1 THEN
// エラーを処理します。
END IF
...
...
ll_rv = ids_datastore.Update()
IF ts.Which() > 0 THEN
IF ll_rv = 1 THEN
ts.EnableCommit()
ELSE
ts.DisableCommit()
END IF
1242
PowerBuilder
第 10 章
PowerScript 関数
ELSE
IF ll_rv = 1 THEN
COMMIT USING SQLCA;
ELSE
ROLLBACK USING SQLCA;
END IF
END IF
関連項目
EnableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetAbort
SetComplete
WordCap
機能
渡されたスクリプト内の各単語の最初の文字を大文字にします。各単
語内の続く文字は小文字になります。
対象
すべてのテキスト オブジェクト
構文
WordCap ( text )
引数
text
説明
修正する文字列を指定します。
戻り値
String 型。正常に終了した場合、関数の引数で渡されたテキストを各単
語の最初の文字を大文字、続く文字を小文字にして返します。エラー
が発生した場合には null を返します。
例
次の例では、シングルライン エディット コントロールからユーザの入
力したテキストを取得し、各単語の最初の文字を大文字、続く文字を
小文字にした後、テキストを文字列変数に格納します。
string ls_fullname
ls_fullname = WordCap (sle_1.text)
テキスト joe MaCdonald は、WordCap 関数によって Joe Macdonald に
変換されます。
PowerScript リファレンス ボリューム 2
1243
WorkSpaceHeight
WorkSpaceHeight
機能
指定されたウィンドウのワークスペースの高さを取得します。
対象
ウィンドウ オブジェクト
構文
windowname.WorkSpaceHeight ( )
引数
windowname
説明
ワークスペースの高さを取得するウィンドウの名前を指
定します。
戻り値
Integer 型。windowname で指定されたウィンドウのワークスペースの高
さを PowerBuilder 単位系で返します。エラーが発生した場合、-1 を返
します。windowname が null の場合、null を返します。
解説
ワークスペースの高さには、ウィンドウの上下のフレームの太さ、タ
イトル バー、メニューバー、水平スクロールバー、およびウィンドウ
の上下のツールバーの領域は含まれません。ワークスペースの高さに
は、マイクロヘルプが表示されるステータスバーの領域が含まれてい
ます。
ワークスペースの幅には、ウィンドウの左右のフレームの厚さ、垂直ス
クロールバー、およびウィンドウの左右のツールバーは含まれません。
例
次の例は、ウィンドウ w_employee のワークスペースの高さを返します。
Integer Height
Height = W_employee.WorkSpaceHeight()
次の例はカスタム MDI フレーム ウィンドウのクライアント領域(つ
まりコントロールを配置しているフレーム ウィンドウ)のサイズを変
更します。P_logo はウィンドウに配置されたコントロールです。この
コードは、フレームの Resize イベントに対するスクリプト内に記述さ
れています。
integer lw, lh
// 現在のワークスペースの測定値
lw = This.WorkSpaceWidth()
lh = This.WorkSpaceHeight()
// 高さからロゴ、マイクロヘルプを差し引きます。
lh = lh - (p_logo.Y + p_logo.Height)
lh = lh - MDI_1.MicroHelpHeight
//
//
//
lh
1244
フレーム トップ
(メニュー バーまたはツール バーがあればその直下)
とワークスペース トップ間の距離を加算します。
= lh + This.WorkspaceY( )
PowerBuilder
第 10 章
PowerScript 関数
// ピクチャ コントロールの下のクライアント領域を移動します。
MDI_1.Move(This.WorkspaceX( ), &
p_logo.Y + p_logo.Height)
// 寸法を計算してクライアント領域のサイズを変更します。
mdi_1.Resize(lw, lh)
関連項目
WorkSpaceWidth
WorkSpaceX
WorkSpaceY
PointerX
PointerY
WorkSpaceWidth
機能
指定されたウィンドウのワークスペースの幅を取得します。
対象
ウィンドウ オブジェクト
構文
windowname.WorkSpaceWidth ( )
引数
windowname
説明
ワークスペースの幅を取得するウィンドウの名前を指定
します。
戻り値
Integer 型。windowname で指定されたウィンドウのワークスペースの幅
を PowerBuilder 単位系で返します。エラーが発生した場合、-1 を返し
ます。windowname が null の場合、null を返します。
解説
ワークスペースの高さには、ウィンドウの上下のフレームの太さ、タ
イトル バー、メニューバー、水平スクロールバー、およびウィンドウ
の上下のツールバーの領域は含まれません。ワークスペースの高さに
は、マイクロヘルプが表示されるステータスバーの領域が含まれてい
ます。
ワークスペースの幅には、ウィンドウの左右のフレームの厚さ、垂直ス
クロールバー、およびウィンドウの左右のツールバーは含まれません。
例
次の例は、ウィンドウ w_employee のワークスペースの幅を返します。
integer Width
Width = w_employee.WorkSpaceWidth()
PowerScript リファレンス ボリューム 2
1245
WorkSpaceX
関連項目
PointerX
PointerY
WorkSpaceHeight
WorkSpaceX
WorkSpaceY
WorkSpaceX
機能
カスタム MDI フレーム ウィンドウ以外のウィンドウの場合、ワーク
スペースの左端と、スクリーンの左端の間の距離を取得します。
カスタム MDI フレーム ウィンドウの場合、フレーム ウィンドウの左
端からワークスペースの左端までの距離を取得します。
対象
ウィンドウ オブジェクト
構文
windowname.WorkSpaceX ( )
引数
windowname
説明
ウィンドウの名前を指定します。このウィンドウ オブジェ
クトのワークスペースの左端とスクリーンの左端の間の
距離を求めます。
戻り値
Integer 型。スクリーンの左端から、windowname で指定されたウィンド
ウのワークスペースの左端までの距離を(PowerBuilder 単位系で)返
します。エラーが発生した場合、-1 を返します。windowname が null の
場合、null を返します。
解説
ワークスペースは、ウィンドウの左右(フレームの太さや垂直スクロー
ルバーは除く)と、ウィンドウの上下(フレームの太さ、タイトル
バー、メニューバー、水平スクロールバーは除く)に囲まれた領域です。
例
次の例は、スクリーンの左端からウィンドウ w_employee のワークス
ペースの左端までの距離を返します。
integer workx
workx = w_employee.WorkSpaceX()
関連項目
1246
PointerX
PointerY
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceY
PowerBuilder
第 10 章
PowerScript 関数
WorkSpaceY
機能
カスタム MDI フレーム ウィンドウ以外のウィンドウの場合、ワーク
スペースの上端と、スクリーンの上端の間の距離を取得します。
カスタム MDI フレーム ウィンドウの場合、フレーム ウィンドウの上
端からワークスペースの上端までの距離を取得します。フレーム ウィ
ンドウの上端は、メニューバーまたはツールバーの下端です。
対象
ウィンドウ オブジェクト
構文
windowname.WorkSpaceY ( )
引数
windowname
説明
ウィンドウの名前を指定します。このウィンドウのワークス
ペースの上端と、スクリーンの上端の間の距離を求めます。
戻り値
Integer 型。スクリーンの上端から、windowname で指定されたウィンド
ウのワークスペースの上端までの距離を(PowerBuilder 単位系で)返
します。エラーが発生した場合、-1 を返します。windowname が null の
場合、null を返します。
解説
ワークスペースは、ウィンドウの左右(フレームの太さや垂直スクロー
ルバーは除く)と、ウィンドウの上下(フレームの太さ、タイトル
バー、メニューバー、水平スクロールバーは除く)に囲まれた領域です。
例
次の例は、スクリーンの上端からウィンドウ w_employee のワークス
ペースの上端までの距離を返します。
integer worky
worky = w_employee.WorkSpaceY()
関連項目
PointerX
PointerY
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceX
Write
機能
開いている OLE ストリーム オブジェクトに、データを書き込みます。
対象
OLEStream オブジェクト
構文
olestream.Write ( dataforstream )
PowerScript リファレンス ボリューム 2
1247
Write
引数
olestream
dataforstream
戻り値
説明
開いている OLEStream 変数の名前を指定します。
olestream に書き込む値を表す文字列、Blob 型の値、また
は文字配列を指定します。
Long 型。正常に終了した場合、書いた文字またはバイトの数を返しま
す。エラーが発生した場合、次のいずれかの値を返します。
-1
-2
-9
ストリームが開かれていません。
読み込みエラーです。
そのほかのエラーです。
引数のいずれかの値が null の場合、null を返します。
例
次の例は、MYSTUFF.OLE ファイルの OLE オブジェクトを開き、その
オブジェクトを OLEStorage オブジェクト olest_stuff に割り当てます。
その後、olest_stuff の中のストリーム info を開き、そのストリームをス
トリーム オブジェクト olestr_info に割り当てます。次に、Blob 型の変
数 lb_info の内容をストリーム olestr_info に書き込みます。最後に、そ
のストレージ olest_stuff を保存します。
boolean lb_memexists
OLEStorage olest_stuff
OLEStream olestr_info
integer li_result
long ll_result
olest_stuff = CREATE OLEStorage
li_result = olest_stuff.Open("c:\ole2\mystuff.ole")
IF li_result <> 0 THEN RETURN
li_result = olestr_info.Open(olest_stuff, "info", &
stgReadWrite!, stgExclusive!)
IF li_result <> 0 THEN RETURN
ll_result = olestr_info.Write(lb_info)
IF ll_result = 0 THEN olest_stuff.Save()
関連項目
1248
Length
Open
Read
Seek
PowerBuilder
第 10 章
PowerScript 関数
XMLParseFile
機能
XML ファイルを解析して、ファイルが整形式かどうか、指定した文法
でコンパイルできるかどうかを判別します。
構文
XMLParseFile ( xmlfilename {, validationscheme }{, parsingerrors } {,
namespaceprocessing {, schemaprocessing {, schemafullchecking }}})
引数
xmlstring
validationscheme
(オプション)
説明
String 型の値。解析する XML ファイルの名前を指定
します。
ValSchemeType カタログ データ型の値。SAX パーサ
で使用される検証メソッドを指定します。値は以下
のとおりです。
• ValNever! - 検証エラーをレポートしません。
• ValAlways! - 常に検証エラーをレポートします。
parsingerrors
(オプション)
namespaceprocessing
(オプション)
• ValAuto! -(デフォルト)文法を指定した場合に
のみ検証エラーをレポートします。
String 型の値。エラー メッセージを格納するための
バッファを指定します。省略した場合、または null
を設定した場合、エラーはメッセージ ボックスに表
示されます。
Boolean 型の値。名前空間の規則を適用するかどうか
を指定します。true に設定すると、XML の名前空間
に対して、W3C 規格で定義されている制約と規則を
適用します。
validationscheme を ValAlways! または ValAuto! に設
定している場合、ドキュメントには、名前空間の使
用をサポートする文法が含まれていなければなりま
せん。
schemaprocessing
(オプション)
特に指定しない限り、false が設定されます。
Boolean 型の値。スキーマ サポートを有効にするか
どうかを指定します。false に設定すると、見つかっ
たスキーマは一切処理されません。
schemaprocessing に true を設定する場合、
namespaceprocessing にも true を設定する必要があり
ます。
特に指定しない限り、false が設定されます。
PowerScript リファレンス ボリューム 2
1249
XMLParseFile
引数
schemafullchecking
(オプション)
説明
Boolean 型の値。スキーマの制約をチェックするかど
うかを指定します。true を設定すると、スキーマの
文法にエラーがないかどうかがチェックされます。
schemaprocessing に true を設定していない場合、
schemafullchecking に true を設定しても、その設定は
無視されます。
特に指定しない限り、false が設定されます。
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの負の値を返します。
-1 解析エラー
-2 引数エラー
解説
XMLParseFile 関数を使用して、DTD や XML スキーマに対して XML
ファイルを検証した後で、ほかの処理に進んでください。
DTD や XML スキーマがファイルに含まれていない場合、または参照
されていない場合、XMLParseFile 関数は、ドキュメントの XML が整形
式かどうかをチェックします。XML ドキュメントの検証に失敗した場
合、または XML が整形式でない場合、XMLParseFile 関数は -1 を返し
ます。
XSD ファイルも XML 形式なので整形式かどうかをチェックできま
す。検証スキームは、デフォルトの ValAuto! でなければなりません。
エラーが発生した場合にメッセージ ボックスが表示されないように
するには、parsingerrors 引数に String 型の値を指定します。
pbxercesNN.dll(NN は PowerBuilder のバージョン)と xerces-c_XX.dll
(XX は Xerces のバージョン)ファイルは、この関数を使用するすべて
のアプリケーションまたはコンポーネントの探索パスに、そのほかの
PowerBuilder 実行時ファイルと一緒に配置しておく必要があります。
例
次のステートメントは、XML ドキュメントを解析します。DTD が含
まれている場合、または参照されている場合は、ドキュメントの検証
が実行されます。それ以外の場合は、XML が整形式かどうかがチェッ
クされます。ドキュメントの検証が成功すると、データウィンドウ コ
ントロールにインポートされます。
long ll_ret
ll_ret = XMLParseFile("c:\temp\mydoc.xml")
if ll_ret = 0 then dw_1.ImportFile("c:\temp\mydoc.xml")
1250
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、XML ドキュメントを解析し、エラーを String
型の変数 ls_err に格納します。エラーが発生した場合でも、メッセー
ジ ボックスは表示されません。DTD が含まれている場合、または参照
されている場合は、ドキュメントの検証が実行されます。それ以外の
場合は、XML が整形式かどうかがチェックされます。
long ll_ret
string ls_err
ll_ret = XMLParseFile("c:\temp\mydoc.xml", ls_err)
次のステートメントは、XML ドキュメントを解析します。XML スキー
マが含まれている場合、または参照されている場合は、ドキュメント
の検証が実行され、それ以外の場合は、XML が整形式かどうかが
チェックされます。
long ll_ret
ll_ret = XMLParseFile("c:\temp\mydoc.xml", TRUE, TRUE)
次のステートメントは、XML ドキュメントを解析し、指定した XML
スキーマに対して検証を実行します。また、エラーが発生した場合は、
その情報を String 型の変数に格納します。エラーが発生した場合でも、
メッセージ ボックスは表示されません。スキーマがファイルに含まれ
ていない場合、または参照されていない場合、XMLParseFile は -1 を返
します。
long ll_ret
string ls_err
ll_ret = XMLParseFile("c:\temp\mydoc.xml", ValAlways!,
ls_err, TRUE, TRUE)
次のステートメントは、XML ドキュメントを解析し、指定した XML
スキーマに対して検証を実行します。また、ほかのエラーがないかど
うかスキーマ自体も解析します。スキーマがファイルに含まれていな
い場合、または参照されていない場合、XMLParseFile は -1 を返します。
long ll_ret
string ls_err
ll_ret = XMLParseFile("c:\temp\mydoc.xml", ValAlways!,
ls_err, TRUE, TRUE, TRUE)
次のステートメントは、XML ドキュメントを解析し、指定した DTD
に対して検証を実行します。また、エラーが発生した場合は、その情
報を String 型の変数に格納します。エラーが発生した場合でも、メッ
セージ ボックスは表示されません。DTD がファイルに含まれていない
場合、または参照されていない場合、XMLParseFile 関数は -1 を返しま
す。
long ll_ret
PowerScript リファレンス ボリューム 2
1251
XMLParseString
string ls_err
ll_ret = XMLParseFile("c:\temp\mydoc.xml", ValAlways!,
ls_err)
次のステートメントは、XSD ファイルを解析し、整形式かどうかをテ
ストします。XSD ファイルには、関連付けられている外部スキーマが
ないので、このファイルを解析するときは、ValAuto! を使用する必要
があります。ただし、このオプションはデフォルトの検証メソッドな
ので、関数を呼び出すときに指定する必要はありません。
long ll_ret
ll_ret = XMLParseFile ("c:\mydoc.xsd")
関連項目
ImportFile
XMLParseString
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ImportFile
XMLParseString
機能
XML 文字列を解析して、文字列が整形式かどうか、指定した文法でコ
ンパイルできるかどうかを判別します。
構文
XMLParseString ( xmlstring {, validationscheme }{, parsingerrors } {,
namespaceprocessing {, schemaprocessing {, schemafullchecking }}})
引数
xmlstring
validationscheme
(オプション)
説明
解析する XML ドキュメントを保持する String 型の
値を指定します。
ValSchemeType カタログ データ型の値。SAX パーサ
で使用される検証メソッドを指定します。値は以下
のとおりです。
• ValNever! - 検証エラーをレポートしません。
• ValAlways! - 常に検証エラーをレポートします。
ファイルの検証に使用できる DTD またはスキー
マがあることがわかっている場合のみ、
ValAlways! を使用します。
• ValAuto! -(デフォルト)文法を指定した場合に
のみ検証エラーをレポートします。
1252
PowerBuilder
第 10 章
引数
parsingerrors
(オプション)
namespaceprocessing
(オプション)
PowerScript 関数
説明
String 型の値。エラー メッセージを格納するための
バッファを指定します。省略した場合、または null
を設定した場合、エラーはダイアログボックスに表
示されます。
Boolean 型の値。名前空間の規則を適用するかどうか
を指定します。true に設定すると、XML の名前空間
に対して、W3C 規格で定義されている制約と規則を
適用します。
validationscheme を ValAlways! または ValAuto! に設
定している場合、ドキュメントには、名前空間の使
用をサポートする文法が含まれていなければなりま
せん。
schemaprocessing
(オプション)
特に指定しない限り、false が設定されます。
Boolean 型の値。スキーマ サポートを有効にするか
どうかを指定します。false に設定すると、見つかっ
たスキーマは一切処理されません。
schemaprocessing に true を設定する場合、
namespaceprocessing にも true を設定する必要があり
ます。
schemafullchecking
(オプション)
特に指定しない限り、false が設定されます。
Boolean 型の値。スキーマの制約をチェックするかど
うかを指定します。true を設定すると、スキーマの
文法にエラーがないかどうかがチェックされます。
schemaprocessing に true を設定していない場合、
schemafullchecking に true を設定しても、その設定は
無視されます。
特に指定しない限り、false が設定されます。
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの負の値を返します。
-1 解析エラー
-2 引数エラー
解説
XMLParseString を使用して、DTD や XML スキーマに対して XML ファ
イルを検証した後で、他の処理に進んでください。
DTD や XML スキーマが文字列に含まれていない場合、または参照さ
れていない場合、XMLParseString は、文字列の XML が整形式かどうか
をチェックします。XML 文字列の検証に失敗した場合、または XML
が整形式でない場合、XMLParseString は -1 を返します。
PowerScript リファレンス ボリューム 2
1253
XMLParseString
XSD(スキーマ)ファイルは XML 形式なので、整形式かどうかを
チェックできます。ValAlways! はファイルの検証に使用するスキーマ
または DTD を必要とするので、ここでの検証スキームは、デフォルト
の ValAuto! でなければなりません。
たとえば、次のスキーマ ファイルがあるとします。xs:schema、xs:element、
および xs:complextype を定義する外部 XSD ファイルがないので、解析
は失敗します。スキーマは、名前空間
http://www.w3.org/2001/XMLSchema で定義されています。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=
"http://www.w3.org/2001/XMLSchema">
<xs:element name="test3">
<xs:complexType>
<xs:sequence>
<xs:element ref="test3_row" maxOccurs=
"unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML ファイルで ValAlways! を使用しても、定義されたスキーマがな
い か、参 照 が 有 効 な ス キ ー マ を 指 し て い な い 場 合 は 失 敗 し ま す。
ValAuto! を使用する場合、検証はスキーマまたは DTD ファイルが目的
の場所に存在するときに限って実行されます。スキーマまたは DTD
ファイルが存在しない場合は、整形式かどうかだけがチェックされます。
エラーが発生した場合にメッセージ ボックスが表示されないように
するには、parsingerrors 引数に String 型の値を指定します。
pbxercesNN.dll(NN は PowerBuilder のバージョン)と xerces-c_XX.dll
(XX は Xerces のバージョン)ファイルは、この関数を使用するすべて
のアプリケーションまたはコンポーネントの探索パスに、そのほかの
PowerBuilder 実行時ファイルと一緒に配置しておく必要があります。
例
次のステートメントは、XML 文字列を解析します。DTD が含まれて
いる場合、または参照されている場合は、文字列の検証が実行されま
す。それ以外の場合は、XML が整形式かどうかがチェックされます。
// String 型の引数 as_xmlstring を渡します。
long ll_ret
ll_ret = XMLParseString(as_xmlstring)
1254
PowerBuilder
第 10 章
PowerScript 関数
次のステートメントは、XML 文字列を解析し、指定した XML スキーマ
に対して検証を実行します。また、エラーが発生した場合は、その情報
を String 型の変数に格納します。エラーが発生した場合でも、メッセー
ジ ボックスは表示されません。スキーマが文字列に含まれていない場
合、または参照されていない場合、XMLParseString は -1 を返します。
long ll_ret
string ls_xmlstr, ls_err
ll_ret = XMLParseString(ls_xmlstr, ValAlways!,
ls_err, TRUE, TRUE)
次のステートメントは、XML 文字列を解析し、指定した DTD に対し
て検証を実行します。また、エラーが発生した場合は、その情報を
String 型の変数に格納します。エラーが発生した場合でも、メッセー
ジ ボックスは表示されません。DTD が文字列に含まれていない場合、
または参照されていない場合、XMLParseString は -1 を返します。文字
列の検証が成功すると、データウィンドウ コントロールにインポート
されます。
long ll_ret
string ls_xmlstr, ls_err
ll_ret = XMLParseString(ls_xmlstr, ValAlways!, ls_err)
if ll_ret = 1 then dw_1.ImportString(ls_xmlstr)
関連項目
ImportString
XMLParseFile
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ImportString
Year
機能
日付の値から年の部分を取り出します。
構文
Year ( date )
引数
date
戻り値
説明
Date 型を指定します。この日付から年を取り出します。
Integer 型。正常に終了した場合、date で指定された日付の年の部分か
ら 4 桁に合わせた値を返します。エラーが発生した場合、1900 を返し
ます。date が null の場合、null を返します。
PowerScript リファレンス ボリューム 2
1255
Yield
2 桁の年を含む文字列を日付に変換する場合、その年が 00 ~ 49 のと
きには最初の 2 桁を 20 とし、その年が 50 ~ 99 のときには最初の 2 桁
を 19 とします。
解説
PowerBuilder では、1000 ~ 3000 の年を扱うことができます。
誕生日などデータが 1950 より前の日付を持っている場合、必ず 4 桁の
年数を指定してください。4 桁の年数を指定しておけば、Year 関数や
Sort 関数などの PowerBuilder の関数は、日付を正しく解釈します。
Windows の設定
年の戻り値を正しく取得するためには、ユーザのコントロール パネル
の[地域のオプション]で、「短い形式」の年の部分が yyyy になって
いることを確認する必要があります。これは、プログラムの中で
RegistryGet 関数を使ってチェックすることができます。
正しく設定されていない場合は、手動で設定を変更するようユーザに
依頼するか、あるいはアプリケーションで RegistrySet 関数を呼び出し
て変更します。設定を変更した後、ユーザによるリブートが必要な場
合があります。
例
次のステートメントは、2005 を返します。
Year(2005-01-31)
関連項目
Day
Month
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Year メソッド
Yield
機能
Yield 関数は、PowerBuilder オブジェクトを含めたあらゆるグラフィッ
ク オブジェクトの制御に使用することができます。Yield 関数は、メッ
セージ キューをチェックし、メッセージがあった場合にはそのメッ
セージをキューから取り出します。
構文
Yield ( )
戻り値
Boolean 型。メッセージ キューからメッセージを取り出した場合は true
を返し、メッセージがない場合は false を返します。
1256
PowerBuilder
第 10 章
解説
PowerScript 関数
ループの中で Yield 関数を呼び出して、ほかの処理を発生させます。た
とえば、Yield 関数を呼び出して、ループの処理を中断できます。コン
トロールに Yield 関数を使用すると、エンド ユーザが必要とするとき
に、ほかのウィンドウの[キャンセル]ボタンをクリックできるよう
になります。ループ内で、グローバル変数の値が変更されたかどうか
をチェックすることができます。また、処理の終了を待っているルー
プの中で Yield 関数を使用すると、そのアプリケーションやほかのアプ
リケーションの処理を発生させることができます。
データ検索中のほかのアプリケーションの実行
エンド ユーザは、データの検索中に PowerBuilder アプリケーションで
ほかの作業を行うことはできません。ただし、実行システム上のほか
のアプリケーションを実行することはできます。RetrieveRow イベント
に対するスクリプトの中で Yield 関数を呼び出すと、検索中にほかのア
プリケーションを実行することができます。
Yield 関数を使用すると、PowerBuilder アプリケーションの実行速度が
低下します。これは、ほかのアプリケーションが処理時間を共有する
からです。
例
次の例は、コードが長い作業を処理しています。2 つ目のウィンドウ
がボタンを持っていて、エンド ユーザがそのボタンをクリックすると
共有変数 sb_interrupt に値を設定してループを中断するものとします。
エンド ユーザがボタンをクリックすると、Clicked イベントに対するス
クリプトは、次のように sb_interrupt を設定します。
sb_interrupt = TRUE
処理しているスクリプトは共用変数 sb_interrupt をチェックし、true の
場合に処理を終了します。Yield 関数は処理の途中で割り込みを行うの
で、エンド ユーザはボタンをクリックすることができます。
integer n
// sb_interrupt は共用変数です。
sb_interrupt = FALSE
FOR n = 1 to 3000
Yield()
IF sb_interrupt THEN // そのほかのスクリプトによる変数
セット
MessageBox(" デバッグ "," 中断されました !")
sb_interrupt = FALSE
EXIT
ELSE
... // 何らかの処理
PowerScript リファレンス ボリューム 2
1257
Yield
END IF
NEXT
次の例では、エンド ユーザが もう 1 つのウィンドウ上のコントロール
と対話している間に、スクリプトが 1 つのウィンドウでいくつかの処
理を実行しています。ただし、ループ処理が完了するまで、フォーカ
スを変更したり、処理中の動作を確認したりすることはできません。
integer n
FOR n = 1 to 3000
Yield()
... // 何らかの処理
NEXT
次のスクリプトでは、Lotus Notes との間で DDE チャネルを開き、DDE
チャネルの実行名を変数 mailprogram に設定します。Lotus Notes が実
行されていない場合はそれを起動し、Lotus Notes のスタートアップが
完了して DDE チャネルが確立するまで、ループの中で待ちます。ルー
プの中で Yield 関数が呼び出されるので、コンピュータは、ほかのアプ
リケーションを実行させる時間を得ることができます。
time starttime
long hndl
SetPointer(HourGlass!)
// ハンドルを確立します。SendMail はトピックです。
hndl = OpenChannel("Notes","SendMail")
// プログラムが実行中でなければ開始します。
IF hndl < 1 then
Run(mailprogram, Minimized!)
starttime = Now()
// Notes のロードまで 2 分待って、
// エンド ユーザがログオンします。
DO
// Yield 関数は、状況を制御します。
Yield()
// Notes はアクティブか ?
hndl = OpenChannel("Notes","SendMail")
// Notes がアクティブな場合
IF hndl > 0 THEN EXIT
LOOP Until SecondsAfter(StartTime,Now()) > 120
// チャネルを開かずに 2 分経過した場合
IF hndl < 1 THEN
1258
PowerBuilder
第 10 章
PowerScript 関数
MessageBox(" エラー ", &
"Notes を起動できませんでした。", StopSign!)
SetPointer(Arrow!)
RETURN
END IF
END IF
PowerScript リファレンス ボリューム 2
1259
Yield
1260
PowerBuilder
索引
記号
<= (小 さ い ま たは等 し い) 74
<> (等 し く ない) 74
< ( よ り 小 さ い) 74
! (カ タ ロ グ値) 33
’、 引用符を参照
&、 ア ンパサン ド 記号を参照
* (乗算) 72
++、 += (後置式を使っ た代入) 128
+ (加算) 72
-、 ハ イ フ ン を参照
-- (後置式を使っ た代入) 128
// ( コ メ ン ト ) 4
/= (後置式を使っ た代入) 128
/ (除算) 72
= (関係) 74
= (代入) 43
>= (大 き い ま たは等 し い) 74
> ( よ り 大 き い) 74
? (動的 SQL) 180, 181, 184
^ (累乗) 72
_Is_A 関数 717
_Narrow 関数 820
~、 テ ィ ルダ を参照
数字
0、 判別 1156
2 つの数の最大値
AddCategory 関数 347
AddColumn 関数 348
AddData 関数 372, 349
AddItem 関数 352
AddLargePicture 関数 357
AddPicture 関数 358
AddSeries 関数 359
AddSmallPicture 関数 361
AddStatePicture 関数 362
AddToLibraryList 関数 363
AllowEdit プ ロ パテ ィ 1040
AncestorReturnValue 変数 119
AND 演算子 74
ANSI、 文字列の変換 535, 1205, 1210
Any デー タ 型 28
API と デー タ ベース ハン ド ル 452
ArrangeOpen カ タ ロ グ デー タ 型 846
ArrangeSheets 関数 365
ArrangeTypes カ タ ロ グ デー タ 型 365
Arrange 関数 364
AscA 関数 367
ASCII 値
Char 型の変換 366, 367
印刷で き ない文字 937
Asc 関数 366
ASin 関数 368
ATan 関数 369
AttachmentFile プ ロ パテ ィ 789
AutoCommit 1193
802
B
A
Abs 関数 344
ACos 関数 344
Activate イ ベン ト 195
Activate 関数 345
Adaptive Server Enterprise
1193
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
BAT フ ァ イ ル 998
Beep 関数 370
BeginDownload イ ベン ト 196
BeginDrag イ ベン ト 196
BeginLabelEdit イ ベン ト 200
BeginLogScan イ ベン ト 201
1261
索引
BeginRightDrag イ ベン ト 202
BeginSync イ ベン ト 204
BeginTransaction 関数 370
BeginUpload イ ベン ト 205
Blob
Byte 型に変換 379, 543
String 型に変換 372, 1180
値の抽出 442, 447, 453, 712, 770, 772, 955, 1201
更新 173
ス ト リ ームの読み込み 954
ス ト リ ームへの書 き 込み 1248
宣言 40
デー タ ベース か ら の選択 170
バ イ ト 配列に変換 544
ピ ク チ ャ コ ン ト ロ ールへの配置 1106
へのデー タ の挿入 373
変換 544
Blob 関数 372, 373
Blob 用の関数
Blob 373
BlobEdit 関数 373
BlobMid 関数 375
Blob デー タ 型 23
Blob 用の関数
Blob 372
BlobEdit 373
BlobMid 375
Len 747, 749
Boolean デー タ 型 24
BuildModel 関数 376
Byte デー タ 型 24
Byte 関数 379
C
CALL 文
概要 128
使用 し ない 192
CancelSync 関数 381
Cancel 関数 380
CanUndo 関数 382
CategoryCount 関数 383
CategoryName 関数 384
Ceiling 関数 385
1262
ChangeDirectory 関数 385
ChangeMenu 関数 386
CharA 関数 388
CharW 関数 387
Char デー タ 型
String 型に変換 80
概要 24
配列 80
Checked プ ロ パテ ィ 1235
Check 関数 388
CHOOSE CASE 文 129
ChooseColor 関数 390
ClassDefinition オブジ ェ ク ト 、
FindMatchingFunction 529
ClassList 関数 390
ClassName 関数 392
ClearBoldDates 関数 396
Clear 関数 394
Clicked イ ベン ト 206, 825
Clipboard 関数 396
CLOSE Cursor 文 155
CLOSE Procedure 文 156
CloseChannel 関数 403
CloseQuery イ ベン ト 214, 400
CloseTab 関数 404
CloseUp イ ベン ト 216
CloseUserObject 関数 406
CloseWithReturn 関数 407
Close イ ベン ト 212, 399, 984
Close 関数 399
CollapseItem 関数 410
ColumnClick イ ベン ト 216
CommandParm 関数 411
CommitTransaction 関数 412
COMMIT 文 157
COM フ ァ イ ル 998
ConnectMobiLink イ ベン ト 218
ConnectToNewObject 関数 414
ConnectToNewRemoteObject 関数 416
ConnectToServer 関数 423
CONNECT 文 158
Constructor イ ベン ト 218
ContextInformation オブジ ェ ク ト
GetCompanyName 関数 553
GetFixesVersion 関数 598
GetHostObject 関数 602
PowerBuilder
索引
GetMajorVersion 関数 609
GetMinorVersion 関数 612
GetName 関数 613
GetShortName 関数 635
GetVersionName 関数 651
ContextKeyword オブジ ェ ク ト 、
GetContextKeywords 関数
CONTINUE 文 131
Control 配列 863, 865
CopyRTF 関数 427
Copy 関数 425
CORBACurrent、 初期化 674
Cos 関数 429
CPU
時刻 430
情報の取得 588
Cpu 関数 430
CreateDirectory 関数 430
CreateInstance 関数 433
CreatePage 関数 436
CREATE 文 132, 893
Cut 関数 437
C 関数
値渡 し 769
戻 り 値のデ コ ー ド 714, 715
554
D
DashesInIdentifiers オプシ ョ ン 5
DataChange イ ベン ト 220
DataSource 関数 440
DateChanged イ ベン ト 220
DateSelected イ ベン ト 221
DateTime 関数 446
DateTime デー タ 型 24
Date 関数 442
Date デー タ 型 24
DayName 関数 449
DayNumber 関数 450
DaysAfter 関数 451
Day 関数 448
dBase フ ァ イ ル、 デー タ の イ ン ポー ト
DBHandle 関数 452
DBNotification イ ベン ト 221
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
666, 670
dbsign 155
DDE ク ラ イ ア ン ト 用の関数
CloseChannel 403
ExecRemote 485
GetDataDDE 565
GetDataDDEOrigin 566
GetRemote 623
OpenChannel 844
RespondRemote 983
SetRemote 1116
StartHotLink 1171
StopHotLink 1178
DDE サーバ用の関数
GetCommandDDE 550
GetCommandDDEOrigin 551
GetDataDDE 565
GetDataDDEOrigin 566
RespondRemote 983
SetDataDDE 1074
StartServerDDE 1173
StopServerDDE 1179
DDE チ ャ ネル
デー タ の リ ク エ ス ト 625
閉 じ る 403
Deactivate イ ベン ト 224
DEBUG シ ン ボル 19
DebugBreak 関数 452
Decimal デー タ 型
概要 25
宣言 40
変換 453
DECLARE Cursor 文 159
DECLARE Procedure 文 160
Dec 関数 453
DELETE Where Current of Cursor 文
DeleteAllItems イ ベン ト 224
DeleteCategory 関数 454
DeleteColumns 関数 455
DeleteColumn 関数 454
DeleteData 関数 455
DeleteItem イ ベン ト 225
DeleteItem 関数 456
DeleteLargePictures 関数 460
DeleteLargePicture 関数 460
DeletePictures 関数 461
DeletePicture 関数 461
163
1263
索引
DeleteSeries 関数 462
DeleteSmallPictures 関数 463
DeleteSmallPicture 関数 463
DeleteStatePictures 関数 464
DeleteStatePicture 関数 464
DELETE 文 161
DestroyModel 関数 465
DESTROY 文
概要 136
メ ール セ ッ シ ョ ンの終了 785
Destructor イ ベン ト 226, 404, 406
DirectoryExists 関数 466
DirList 関数 467
DirSelect 関数 469
DisableCommit 関数 471
Disable 関数 470
DisconnectMobiLink イ ベン ト 227
DisconnectObject 関数 472
DisconnectServer 関数 473
DISCONNECT 文 164
DisplayMessage イ ベン ト 228
DDL、 動的 SQL を と お し た実行 179, 180
DLL フ ァ イ ル、 関数の実行 67
DoubleClicked イ ベン ト 228
DoubleParm プ ロ パテ ィ 850, 858, 860, 868, 870
Double 関数 474
Double デー タ 型 25
DoVerb 関数 475
DragDrop イ ベン ト 232
DragEnter イ ベン ト 237
DraggedObject 関数 478
DragLeave イ ベン ト 238
DragObject 用の関数
ClassName 392
Drag 476
Hide 654
Move 817
PointerX 891
PointerY 892
PostEvent 905
Print 912
Resize 980
SetFocus 1087
SetPosition 1108
SetRedraw 1115
Show 1151
1264
TriggerEvent 1223
TypeOf 1233
DragWithin イ ベン ト 239
Drag 関数 476
DrawObject 用の関数
ClassName 392
Hide 654
Move 817
Print 912
Resize 980
Show 1151
TypeOf 1233
Draw 関数 479
DropDown イ ベン ト 242
DWObject、 OLE 用の関数
DynamicDescriptionArea
概要 176
プ ロ パテ ィ 185
DynamicStagingArea
概要 176
準備 177
345, 425, 475, 1238
E
EAServer デー タ 型のマ ッ ピ ン グ
EditLabel 関数 431, 480
EnableCommit 関数 483
Enabled プ ロ パテ ィ 654, 1115
Enable 関数 482
EndDownload イ ベン ト 243
EndLabelEdit イ ベン ト 244
EndLogScan イ ベン ト 246
EndSync イ ベン ト 246
EndUpload イ ベン ト 247
EntryList 関数 484
ErrorMessage イ ベン ト 251
Error イ ベン ト 248
ExecRemote 関数 485
EXECUTE 文 164, 1085
EXIT 文 139
ExpandAll 関数 489
ExpandItem 関数 490
Exp 関数 489
ExternalException イ ベン ト 252
33
PowerBuilder
索引
F
Fact 関数 491
FETCH 文 165
FileClose 関数 491
FileCopy 関数 492
FileDelete 関数 493
FileEncoding 関数 493
FileExists イ ベン ト 255
FileExists 関数 495
FileLength64 関数 497
FileLength 関数 495
FileMessage イ ベン ト 256
FileMove 関数 498
FileOpen 関数 499
FileReadEx 関数 506
FileRead 関数 503
FileSeek 関数 508, 509
FileWriteEx 関数 513
FileWrite 関数 511
FillA 関数 516
FillPattern 572, 1081, 1123
FillW 関数 515, 517
Fill 関数
印刷 515
概要 515
FindCategory 関数 519
FindClassDefinition 関数 520
FindFunctionDefinition 関数 521
FindItem 関数 522
FindMatchingFunction 関数 529
FindNext 関数 531
FindSeries 関数 532
FindTypeDefinition 関数 533
Find 関数 517
FromAnsi 関数 535
FromUnicode 関数 535
G
GarbageCollectGetTimeLimit 関数
GarbageCollectSetTimeLimit 関数
GarbageCollect 関数 536
Gesture イ ベン ト 256
GetActiveSheet 関数 539
GetAlignment 関数 540
537
537
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
GetApplication 関数 540
GetArgElement 関数 541
GetAutomationNativePointer 関数 542
GetByteArray 関数 544
GetByte 関数 543
GetCertificateLabel 関数 545
GetChildrenList 関数 547
GetColumn 関数 548
GetCommandDDEOrigin 関数 551
GetCommandDDE 関数 550
GetCommandString 関数 552
GetCompanyName 関数 553
GetContextKeywords 関数 554
GetContextService 関数 555
GetCredentialAttribute 関数 557
GetCurrentDirectory 関数 560
GetDataDDEOrigin 関数 566
GetDataDDE 関数 565
GetDataPieExplode 関数 568
GetDataStyle 関数 569
GetDataValue 関数 575
GetData 関数 560
GetDateLimits 関数 577
GetDbmlsyncPath 関数 578
GetDisplayRange 関数 579
GetDynamicDate 186
GetDynamicDateTime 186
GetDynamicDateTime 関数 583
GetDynamicDate 関数 581
GetDynamicDecimal 186
GetDynamicDecimal 関数 584
GetDynamicNumber 186
GetDynamicNumber 関数 585
GetDynamicString 186
GetDynamicString 関数 586
GetDynamicTime 186
GetDynamicTime 関数 587
GetEnvironment 関数 588
GetFileOpenName 関数 589
GetFileSaveName 関数 595
GetFirstSheet 関数 597
GetFixesVersion 関数 598
GetFocus イ ベン ト 259
GetFocus 関数 599
GetFolder 関数 600
GetGlobalProperty 関数 601
1265
索引
GetHostObject 関数 602
GetItemAtPointer 関数 607
GetItem 関数 604
GetLastReturn 関数 608
GetLibraryList 関数 609
GetMajorVersion 関数 609
GetMinorVersion 関数 612
GetName 関数 613
GetNativePointer 関数 614
GetNextSheet 関数 615
GetObjectRevisionFromRegistry 関数 616
GetOrigin 関数 617
GetParagraphSetting 関数 618
GetParent 関数 618
GetPin 関数 620
GetRecordSet 関数 622
GetRemote 関数 623
GetSelectedDate 関数 627
GetSelectedRange 関数 628
GetSeriesStyle 関数 629
GetShortName 関数 635
GetStatus 関数 637
GetSyncRegistryProperties 関数 639
GetText 関数 640
GetToday 関数 642
GetToolbarPos 関数 645, 1138
GetToolbar 関数 643
GetTransactionName 関数 647
GetURL 関数 649
GetValue 関数 650
GetVersionName 関数 651
GOTO の ラ ベル 7
GOTO 文 142
grColorType カ タ ロ グ デー タ 型 570
grDataType カ タ ロ グ デー タ 型 561, 576
grObjectType カ タ ロ グ デー タ 型 824
grResetType カ タ ロ グ デー タ 型 974
grSymbolType カ タ ロ グ デー タ 型 1124
H
HALT 文 143
Handle 関数 652
Help イ ベン ト 260
hidden オブジ ェ ク ト
1266
1151
Hide イ ベン ト 261
Hide 関数 654
HotLinkAlarm イ ベン ト 262
Hour 関数 655
HyperlinkToURL 関数 656
I
Idle イ ベン ト 262
IF...THEN 文
概要 144
単一行 144
複数行 145
IMEGetCompositionText 関数 659
IMEGetMode 関数 659
IMESetMode 関数 660
ImpersonateClient 関数 662
ImportClipboard 関数 663
ImportFile 関数 666
ImportString 関数 670
IncomingCallList 関数 673
Inet オブジ ェ ク ト
GetURL 関数 649
HyperlinkToURL 関数 656
PostURL 関数 908
Information ア イ コ ン 806
Init 関数 674, 675, 676
INI フ ァ イ ル
値の書 き 込み 1111
読み込み 947, 949
InputFieldChangeData 関数 678
InputFieldCurrentName 関数 679
InputFieldDeleteCurrent 関数 680
InputFieldGetData 関数 681
InputFieldInsert 関数 682
InputFieldLocate 関数 683
InputFieldSelected イ ベン ト 263
InsertCategory 関数 684
InsertClass 関数 686
InsertColumn 関数 687
InsertData 関数 688
InsertFile 関数 692
InsertItemFirst 関数 700
InsertItemLast 関数 703
PowerBuilder
索引
InsertItemSort 関数 705
InsertItem イ ベン ト 264
InsertItem 関数 693
InsertObject 関数 708
InsertPicture 関数 709
InsertSeries 関数 710
INSERT 文 166
Integer 関数 712
Integer デー タ 型 25
Intel 588
InternetData 関数 713
InternetRequest オブジ ェ ク ト 、 InternetData 関数
713
IntHigh 関数 714
IntLow 関数 715
Int 関数 711
InvokePBFunction 関数 715
Is_A (_Is_A) 関数 717
IsAlive 関数 718
IsAllArabic 関数 719
IsAllHebrew 関数 720
IsAnyArabic 関数 721
IsAnyHebrew 関数 721
IsArabicAndNumbers 関数 723
IsArabic 関数 722
IsCallerInRole 関数 723
IsDate 関数 725
IsHebrewAndNumbers 関数 727
IsHebrew 関数 726
IsImpersonating 関数 728
IsInTransaction 関数 729
IsNull 関数 730
IsNumber 関数 712, 732
IsPreview 関数 733
IsSecurityEnabled 関数 733
IsTime 関数 735
IsTransactionAborted 関数 736
IsValid 関数
Handle 関数 652
ア ク テ ィ ブなシー ト の取得 539
解説 737
概要 737
開いてい る シー ト の取得 597, 615
ItemActivate イ ベン ト 264
ItemChanging イ ベン ト 267
ItemCollapsed イ ベン ト 267
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
ItemCollapsing イ ベン ト 268
ItemExpanded イ ベン ト 270
ItemExpanding イ ベン ト 271
ItemPopulate イ ベン ト 272
J
JaguarORB、 初期化 674
JavaScript キーワー ド 、 予約語
11
K
KeyCode カ タ ロ グ デー タ 型
値 738
概要 737
KeyDown 関数 738
Key イ ベン ト 272
L
LastPosW 関数 743
LastPos 関数 743
Layer カ タ ロ グ デー タ 型 365
LeftA 関数 744
LeftC 関数 745
LeftTrim 関数 745, 747
LeftW 関数 743, 745
Left 関数 743, 745
LenA 関数 748
Length 関数 749
Len 関数 747, 749
LibDirType カ タ ロ グ デー タ 型 752, 754
LibExportType カ タ ロ グ デー タ 型 756
LibraryCreate 関数 750
LibraryDelete 関数 751
LibraryDirectoryEx 関数 754
LibraryDirectory 関数 752
LibraryExport 関数 756
LibraryImport 関数 758
LineCount 関数 759
LineDown イ ベン ト 274
LineLeft イ ベン ト 275
LineLength 関数 761
1267
索引
LineList 関数 762
LineRight イ ベン ト 276
LineUp イ ベン ト 277
LinkTo 関数 763
LoadInk 関数 764
LoadPicture 関数 765
LogTen 関数
概要 768
逆関数 768
Log 関数
概要 767
逆関数 766
自然対数 766
LongLong デー タ 型 25
LongParm
値指定 769
イ ベン ト の発生 1224
イ ベン ト のポ ス ト 906
Long 型の下位 ワー ド 715
Long 型の上位 ワー ド 714
Long 関数 769, 771
Long デー タ 型
概要 25
下位 ワー ド を返す 715
上位 ワー ド を返す 714
変換 769, 771
Lookup 関数 773
LOOP 137
LOOP、 DO...LOOP 文内 137
LoseFocus イ ベン ト 278, 808
LowerBound 関数 779
Lower 関数 778
M
mailAddress 関数 780
mailDeleteMessage 関数 782
mailHandle 関数 784
mailLogoff 関数 785
mailLogonOption カ タ ロ グ デー タ 型 787
mailLogon 関数 786
mailReadMessage 関数 788
mailReadOption カ タ ロ グ デー タ 型 789
mailRecipientDetails 関数 791
1268
mailRecipient 構造体 793
mailResolveRecipient 関数 792
mailReturnCode 関数 787
mailSaveMessage 関数 794
mailSend 関数 797
MAPI 784
Match 関数 798
Max 関数 802
MDI ク ラ イ ア ン ト (MDI_1) 用の関数
ClassName 392
Hide 654
Print 912
Resize 980
SetRedraw 1115
Show 1152
TypeOf 1233
MDI フ レーム
ア ク テ ィ ブの取得 539
ウ ィ ン ド ウ の整列 365
開 く シー ト 830, 846, 849
ポ ッ プア ッ プ メ ニ ュ ーの表示 893
マ イ ク ロ ヘルプ テ キ ス ト の指定 1099
メ ニ ュ ーの変更 386
MDI フ レーム用の関数
ArrangeSheets 365
GetActiveSheet 539
GetFirstSheet 597
GetNextSheet 615
GetToolbar 643
GetToolbarPos 645, 1138
OpenSheet 846
OpenSheetWithParm 849
Print 912
SetMicroHelp 1099
SetToolbar 1136
MemberDelete 関数 803
MemberExists 関数 804
MemberRename 関数 805
MessageBox 関数 806, 930
Microsoft Windows
RightToLeft バージ ョ ン 719, 720, 721, 722, 723,
726, 727, 986
Winhelp の呼出 し 1154
イ ベン ト と メ ッ セージ 907
印刷用の フ ォ ン ト の定義 924
PowerBuilder
索引
返 さ れた メ ッ セージ 714, 715
情報の取得 588
タ イ マー 1204
と DDE 623
ハン ド ルの取得 652
フ ァ イ ルの保存レ ス ポ ン ス ウ ィ ン ド ウ の表示
595
フ ァ イ ル名の取得 589
メ ッ セージ番号 1053
MidA 関数 811
MidC 関数 812
MidW 関数 809, 812
Mid 関数 809
Minute 関数 813
Min 関数 812
Modified イ ベン ト 280
ModifyData 関数 814
Mod 関数 813
Month 関数 816
MouseDown イ ベン ト 282
MouseMove イ ベン ト 284
MouseUp イ ベン ト 287
Moved イ ベン ト 290
Move 関数 817
MultiSelect プ ロ パテ ィ
項目の選択 1028, 1029, 1040
ハ イ ラ イ ト 表示 1130, 1178
N
Narrow (_Narrow) 関数 820
NextActivity 関数 821
NEXT、 FOR...NEXT 文内 140
NOT 演算子 74
Notify イ ベン ト 291
NOT 演算子 74
Now 関数 822
NULL オブジ ェ ク ト への参照 851, 858, 860, 868,
870, 874, 876
NULL 値
概要 9
チ ェ ッ ク 730
テス ト 9
動的 SQL 182
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
変数の設定 1101
論理式内 74
O
ObjectAtPointer 関数 823
ObjectToString 関数 826
OffsetPos 関数 827
Offsite カ タ ロ グ デー タ 型 346
OK ボ タ ン 806
OLE DWObject 用の関数
Activate 345
Copy 425
DoVerb 475
UpdateLinksDialog 1238
OLEObject 用の関数
ConnectNewToObject 414
ConnectToNewRemoteObject 416
ConnectToObject 418
ConnectToRemoteObject 420
DisconnectObject 472
GetAutomationNativePointer 542
ReleaseAutomationPointer 965
SetAutomationPointer 1064
SetAutomationTimeout 1065
OLEStorage 用の関数
Clear 394
Close 401
MemberDelete 803
MemberExists 804
MemberRename 805
Open 827
SaveAs 1009, 1011
OLEStream 用の関数
Close 402
Length 749
Open 827
Read 953
Seek 1024
Write 1247
OLE オー ト メ ーシ ョ ンの言語 1062, 1065
OLE カ ス タ ム コ ン ト ロ ール用の関数
GetData 563
GetNativePointer 614
ReleaseNativePointer 966
1269
索引
SetAutomationLocale 1062
SetData 1073
OLE コ ン ト ロ ール用の関数
Activate 345
Clear 394
Copy 425
Cut 437
DoVerb 475
GetData 563
GetNativePointer 614
InsertClass 686
InsertFile 692
InsertObject 708
LinkTo 763
Open 827
Paste 883
PasteLink 885
PasteSpecial 887
ReleaseNativePointer 966
Save 1002
SaveAs 1007, 1008
SelectObject 1042
SetAutomationLocale 1062
SetData 1073
UpdateLinksDialog 1238
OLE 式 と Any デー タ 型 30
OPEN Cursor 文 167
OpenChannel 関数 844
OpenSheetWithParm 849
OpenSheet 関数 846
OpenTabWithParm 関数 857
OpenTab 関数 853
OpenUserObjectWithParm 関数
OpenUserObject 関数 862
OpenWithParm 872
Open イ ベン ト 292, 984
Open 関数 827
OR 演算子 74
Other イ ベン ト 295
OutgoingCallList 関数 877
P
PageCreated 関数 881
PageDown イ ベン ト 296
1270
867
PageLeft イ ベン ト 297
PageRight イ ベン ト 298
PageUp イ ベン ト 299
ParentWindow 関数 882
Parent 代名詞 13
PasteLink 関数 885
PasteSpecial 関数 887
Paste 関数 883
PBDOTNET シ ン ボル 19
PBL フ ァ イ ル
削除 751
作成 750
内容の リ ス ト 752, 754
pbm_dwngraphcreate イ ベン ト 1120
PBNATIVE シ ン ボル 19
PBWEBFORM シ ン ボル 19
PBWEBSERVICE シ ン ボル 19
PBWINFORM シ ン ボル 19
PDB フ ァ イ ル 832
PictureSelected イ ベン ト 300
PIF フ ァ イ ル 998
PipeEnd イ ベン ト 301
PipeMeter イ ベン ト 302
PipeStart イ ベン ト 303
PixelsToUnits 関数 889
Pi 関数 888
Play 関数 890
PointerX 関数 891
PointerY 関数 892
PopMenu 関数 893
PopulateError 関数 894
PosA 関数 897
Position 関数 898
PostEvent 関数 905
PostURL 関数 908
Post 関数 904
PosW 関数 898
Pos 関数 895
PowerBuilder、 外部関数のデー タ 型 65
PowerBuilder 単位系 889, 1237
PowerObjectParm
種類の決定 1235
と CloseWithReturn 関数 408
パ ラ メ ー タ を使っ てシー ト を開 く 850, 858,
860, 868, 870
PowerObject 関数
PowerBuilder
索引
ClassName 392
GetContextService 555
GetParent 618
PowerObject 基本 ク ラ ス 32, 83
PowerScript 文 126
PrintBitmap 関数 919
PrintCancel 関数 920
PrintClose 関数 921
PrintDataWindow 関数 922
PrintDefineFont 関数 923
PrintEx 関数 925
PrintFooter イ ベン ト 303
PrintGetPrinters 関数 927
PrintGetPrinter 関数 926
PrintHeader イ ベン ト 304
PrintLine 関数 928
PrintOpen 関数
概要 929
メ ッ セージ ボ ッ ク ス 808
PrintOval 関数 931
PrintPage 関数 932
PrintRect 関数 933
PrintRoundRect 関数 934
PrintScreen 関数 936
PrintSend 関数 937
PrintSetFont 関数 939
PrintSetPrinter 関数 940
PrintSetSpacing 関数 940
PrintSetupPrinter 関数 942
PrintSetup 関数 941
PrintText 関数 943
PrintWidth 関数 945
PrintX 関数 946
PrintY 関数 946
Print 関数 912
PRIVATEREAD ア ク セ ス修飾子 46
PRIVATEWRITE ア ク セ ス修飾子 47
ProfileClass オブジ ェ ク ト 、 RoutineList 関数 997
ProfileInt 関数 947
ProfileLine オブジ ェ ク ト 、 OutgoingCallList 関数
877
ProfileRoutine オブジ ェ ク ト
IncomingCallList 関数 673
LineList 関数 762
OutgoingCallList 関数 877
ProfileString 関数 949
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Profiling 用の関数
BuildModel 376
ClassList 390
DestroyModel 465
RoutineList 997
SetTraceFileName 1143
SystemRoutine 1196
ProgressIndex イ ベン ト 304
PropertyChanged イ ベン ト 306
PropertyRequestEdit イ ベン ト 307
PROTECTEDREAD ア ク セ ス修飾子 46
PROTECTEDWRITE ア ク セ ス修飾子 47
R
Randomize 関数 952
Rand 関数 951
RButtonDown イ ベン ト 308
RButtonUp イ ベン ト 310
Read 関数 953
Real 関数 955
Real デー タ 型 25
ReceivingUploadAck イ ベン ト 305
RecognitionResult イ ベン ト 311
RecognizeText 関数 957
RegistryDelete 関数 957
RegistryGet 関数 958
RegistryKeys 関数 960
RegistrySet 関数 961
Registryvalues 関数 963
RelativeDate 関数 964
RelativeTime 関数 964
ReleaseAutomationNativePointer 関数 965
ReleaseNativePointer 関数 966
RemoteExec イ ベン ト 311, 550, 1173
RemoteHotLinkStart イ ベン ト 312, 1173
RemoteHotLinkStop イ ベン ト 312, 1173
RemoteRequest イ ベン ト 313, 1074, 1173
RemoteSend イ ベン ト 314, 567, 1173
RemoveDirectory 関数 967
Rename イ ベン ト 314
Repair 関数 967
ReplaceA 関数 970
ReplaceText 関数 971
ReplaceW 関数 973
1271
索引
Replace 関数 969
ResetArgElements 関数 976
ResetDataColors 関数 977
ResetInk 関数 978
ResetPicture 関数 979
Reset 関数 973
Resize イ ベン ト 315
Resize 関数 980
ResolveInitialReferences 関数 981
RespondRemote 関数 983
Restart 関数 984
ResumeTransaction 関数 985
RETURN 文 146
Reverse 関数 986
RevertToSelf 関数 987
RGB 関数 988
RightA 991
RightClicked イ ベン ト 316
RightC 関数 991
RightDoubleClicked イ ベン ト 318
RightToLeft オペレーテ ィ ン グ シ ス テ ム 986
RightToLeft ソ フ ト ウ ェ ア 719, 720, 721, 722, 723, 726,
727
RightTrim 関数 992
RightW 関数 991
Right 関数 990
RollbackOnly 関数 993
RollbackTransaction 関数 994
ROLLBACK 文 168
Round 関数 996
RoutineList 関数 997
RPC、 リ モー ト プ ロ シージ ャ コ ールを参照
Run 関数 998
S
Save 関数 ( イ ン ク ピ ク チ ャ コ ン ト ロ ール)
SaveDocument 関数 1012
SaveInk 関数 1014
SaveObject イ ベン ト 321
Save イ ベン ト 320
Save 関数 1002
ScrollHorizontal イ ベン ト 808
ScrollNextPage 関数 1017
ScrollNextRow 関数 1018
1272
1000
ScrollPriorPage 関数 1019
ScrollPriorRow 関数 1020
ScrollToRow 関数 1022
ScrollVertical イ ベン ト 808
Scroll 関数 1016
SecondsAfter 関数 1023
Second 関数 1023
SeekType カ タ ロ グ デー タ 型 1024
Seek 関数 1024, 1026
SELECTBLOB 文 170
SelectedColumn 関数 1027
SelectedIndex 関数 1028
SelectedItem 関数 1029
SelectedLength 関数 1030
SelectedLine 関数 1031
SelectedPage 関数 1033
SelectedStart 関数 1034
SelectedText 関数 1035
Selected イ ベン ト 322, 1099
SelectionChanged イ ベン ト 323
SelectionChanging イ ベン ト 326
SelectionRange 関数 1037
SelectItem 関数 1038
SelectObject 関数 1042
SelectTextAll 関数 1048
SelectTextLine 関数 1049
SelectTextWord 関数 1050
SelectText 関数
概要 1044
ク リ ッ プボー ド への コ ピー 427
SELECT 文 169
SendMessage 関数 1053
Send 関数 1052
SeriesCount 関数 1055
SeriesName 関数 1056
SetAbort 関数 1057
SetAlignment 関数 1060
SetArgElement 関数 1061
SetAutomationPointer 関数 1064
SetAutomationTimeout 関数 1065
SetBoldDate 関数 1066
SetByte 関数 1068
SetComplete 関数 1070
SetDataDDE 関数 1074
SetDataPieExplode 関数 1076
SetDataStyle 関数 1077
PowerBuilder
索引
SetData 関数 1073
SetDateLimits 関数 1083
SetDropHighlight 関数 1084
SetDynamicParm 関数 1085
SetFirstVisible 関数 1086
SetFocus 関数 1087
SetGlobalProperty 関数 1088
SetItem 関数 1089
SetLevelPictures 関数 1093
SetLibraryList 関数 1095
SetMask 関数 1096
SetMicroHelp 関数 1099
SetNewMobiLinkPassword 関数 1100
SetNull 関数 1101
SetOverlayPicture 関数 1101
SetParm 関数 1104
SetPicture 関数 1106
SetPointer 関数 1107
SetPosition 関数 1108
SetProfileString 関数 1111
SetRange 関数 1112
SetRecordSet 関数 1113
SetRedraw 関数 1115
SetRemote 関数 1116
SetResultSet 関数 1118
SetSelectedDate 関数 1127
SetSelectedRange 関数 1128
SetSeriesStyle 関数 1119
SetState 関数 1130
SetSyncRegistryProperties 関数 1131
SetTimeout 関数 1134
SetToday 関数 1135
SetToolbar 関数 1136
SetTop 関数 1142
SetTraceFileName 関数 1143
SetTransPool 関数 1144
SetValue 関数 1144
SharedObjectDirectory 関数 1146
SharedObjectGet 関数 1146
SharedObjectRegister 関数 1150
SharedObjectUnregister 関数 1151
ShowHeadFoot 関数 1152
ShowHelp 関数 1154
ShowPopupHelp 関数 1155
Show イ ベン ト 328
Show 関数 1151
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
SignalError 関数 1157
Sign 関数 1156
Sin 関数 1158
Sleep 関数 1159
SNC、 プ ロ シージ ャ の宣言 178, 183, 188
SortAll 関数 1161
Sort イ ベン ト 329
Sort 関数 1159
Space 関数 1162
SQL Native Client、 プ ロ シージ ャ の宣言 178
SQLCode プ ロ パテ ィ 153
SQLDBCode プ ロ パテ ィ 154
SQLErrText プ ロ パテ ィ 154
SQL の イ ン ジ ケー タ 変数 152
SQL のホ ス ト 変数 152
SQL 文
CLOSE Cursor 155
CLOSE Procedure 156
COMMIT 157
CONNECT 158
DECLARE Procedure 160
DISCONNECT 164
EXECUTE 164, 1085
FETCH 165
INSERT 166
OPEN 1085
OPEN Cursor 167
ROLLBACK 168
SELECT 169
SELECTBLOB 170
UPDATE 172
UPDATE Where Current of Cursor 174
UPDATEBLOB 173
エ ラ ー処理 153
概要 152
継続 17
パ イ プ ラ イ ン実行 1165
貼 り 付け 154
Sqrt 関数 1163
StartHotLink 関数 1171
StartServerDDE 関数 1173
Start イ ベン ト 332
Start 関数
概要 1163
サーバ アプ リ ケーシ ョ ン 418, 420
パ イ プ ラ イ ンのキ ャ ン セル 381
1273
索引
State 関数 1174
stgShareMode カ タ ロ グ デー タ 型 836, 839
StopHotLink 関数 1178
StopServerDDE 関数 1179
Stop 関数 1176
StringParm プ ロ パテ ィ 850, 858, 860, 868, 870
StringToObject 関数 1186
String デー タ 型 26
Stroke イ ベン ト 332
Super 代名詞 15
SuspendTransaction 関数 1189
Synchronize 関数 1190, 1191
SyntaxFromSQL 関数 1192
SystemError イ ベン ト 334
SystemKey イ ベン ト 335
SYSTEMREAD 修飾子 47
SystemRoutine 関数 1196
SYSTEMWRITE 修飾子 47
T
Tag プ ロ パテ ィ
GetFocus 関数 599
マ イ ク ロ ヘルプ テ キ ス ト の格納
Tan 関数 1199
TextLine 関数 1200
Text 関数 1199
Text プ ロ パテ ィ 599
This 代名詞 14
Timer イ ベン ト 336
Timer 関数 1204
Time 関数 1201
Time デー タ 型 27
ToAnsi 関数 1205
Today 関数 1206
ToolbarMoved イ ベン ト 338
Top 関数 1207
TotalColumns 関数 1208
TotalItems 関数 1209
TotalSelected 関数 1209
ToUnicode 関数 1210
TraceBegin 関数 1211
TraceClose 関数 1213
TraceDisableActivity 関数 1214
TraceEnableActivity 関数 1216
1274
1099
TraceEnd 関数 1218
TraceError 関数 1219
TraceFile 用のオブジ ェ ク ト
Close 関数 402
NextActivity 関数 821
Reset 関数 975
TraceOpen 関数 1220
TraceTreeGarbageCollect オブジ ェ ク ト 、
GetChildrenList 関数 547
TraceTreeObject オブジ ェ ク ト 、 GetChildrenList 関
数 547
TraceTreeRoutine オブジ ェ ク ト 、 GetChildrenList 関
数 547
TraceTree オブジ ェ ク ト
BuildModel 関数 376
DestroyModel 関数 465
EntryList 関数 484
SetTraceFileName 関数 1143
TraceUser 関数 1222
Trace フ ァ イ ル関数、 Open 828
TrigEvent カ タ ロ グ デー タ 型 905
TriggerEvent 関数 1223
TriggerPBEvent 関数 1225
Trim 関数 1227, 1228
Truncate 関数 1229
TrustVerify 関数 1230
TypeOf 関数 1233
U
Uncheck 関数 1235
Undo、 テ ス ト 382
Undo 関数 1236
Unicode、 文字列の変換 535, 1205, 1210
UnitsToPixels 関数 1237
UNTIL、 DO...LOOP 文内 137
UPDATE Where Current of Cursor 文 174
UPDATEBLOB 文 173
UPDATE 文 172
UploadAck イ ベン ト 338
UpperBound 関数 1240
Upper 関数 1239
UserString イ ベン ト 339
PowerBuilder
索引
V
ValueChanged イ ベン ト 340
ViewChange イ ベン ト 341
Visible プ ロ パテ ィ
SetRedraw 関数 1115
設定 1151
ポ ッ プア ッ プ メ ニ ュ ーの表示
デー タ ポ イ ン ト 561, 576, 815
文字列か ら の挿入 672
あ
893
W
WaitForUploadAck イ ベン ト 342
WarningMessage イ ベン ト 342
Which 関数 1242
WHILE、 DO...LOOP 文内 137
WordCap 関数 1243
WordParm プ ロ パテ ィ
TriggerEvent 関数 1224
イ ベン ト のポ ス ト 906
WorkSpaceHeight 関数 1244
WorkSpaceWidth 関数 1245
WorkSpaceX 関数 1246
WorkSpaceY 関数 1247
Write 1247
Write 関数 1247
X
XMLParseFile 関数 1249
XMLParseString 関数 1252
xValue カ タ ロ グ デー タ 型 561, 576
x値
デー タ の イ ン ポー ト 663, 666, 668, 670
デー タ ポ イ ン ト 561, 576, 815
文字列か ら の挿入 672
Y
Year 関数 1255
Yield 関数 1256
yValue カ タ ロ グ デー タ 型 561, 576
y値
デー タ の イ ン ポー ト 663, 666, 668, 670
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
アイ コン
ウ ィ ン ド ウ の整列 365
メ ッ セージ ボ ッ ク ス 806
リ ス ト ビ ュ ーでの整列 364
ア ク セ ス権 PRIVATE
関数 62
変数 と 定数 46
ア ク セ ス権 PROTECTED
関数 62
変数 と 定数 46
ア ク セ ス権 PUBLIC
関数 62
変数 と 定数 46
ア ク セ ス レベル
関数 62
グループ ラ ベル 49
変数 45
ア ク テ ィ ブ ウ ィ ン ド ウ 893
ア ク テ ィ ブ シー ト 847
値
NULL か ど う かのチ ェ ッ ク 730
数値の検出 732
デー タ ポ イ ン ト 575
リ ス ト か ら の削除 456
リ ス ト への挿入 693
リ ス ト への追加 352
値、 引数渡 し 110
圧縮モー ド 937
ア ド レ ス、 メ ール 780, 791, 792
ア ニ メ ーシ ョ ン
開始 890
停止 1177
アプ リ ケーシ ョ ン
DDE チ ャ ネルを閉 じ る 404
オブジ ェ ク ト の リ ス ト 752
経過時間 430
構文か ら オブジ ェ ク ト を再構築 758
1275
索引
構文 と し てオブジ ェ ク ト を エ ク ス ポー ト 756
サーバ 1173, 1179
再起動 984
実行 998
終了 143
接続 414, 416, 418, 420
中断 1257
ハン ド ル 540, 652
引数の取得 411
メ ッ セージのポ ス ト 機能 904
アプ リ ケーシ ョ ン オブジ ェ ク ト 、 SetTransPool 関数
1144
アプ リ ケーシ ョ ン名 1172, 1173, 1179
ア ラ ビ ア語用の関数
IsAllArabic 719
IsAnyArabic 721
IsArabic 722
IsArabicAndNumbers 723
ア ンパサン ド 記号 (&) 16
い
位置
コ ン ト ロ ールの位置の設定 1108
挿入ポ イ ン ト の 898
変更 817
一時フ ァ イ ル 788
一番上
オブジ ェ ク ト の移動 1110, 1151
距離の判別 892
リ ス ト ボ ッ ク ス項目の移動 1142
イ ベン ト
印刷ジ ョ ブ 922
上書 き 109
概要 93, 191
拡張 109
カ ス ケー ド 呼び出 し 114, 117
関数 と の類似点 95
キ ュ ーへの追加 905
検索 97
シ ス テ ム 94, 191
静的お よ び動的な 101
1276
先祖 119
定義 さ れた 94
ト リ ガ 98, 192, 1198, 1223
引数 110, 192
非表示オブジ ェ ク ト 654
ポ ス ト 機能 98, 115, 1197
戻 り 値 114, 192
ユーザ定義 191, 193
呼び出 し 時のエ ラ ー 104
リ タ ーン コ ー ド 193
イ ベン ト の ID 192
色
赤、 緑、 青 988
サポー ト さ れてい る 588
デー タ 系列 629, 1119
デー タ ポ イ ン ト 570, 977, 1077
と エデ ィ ッ ト マ ス ク 1097
標準色のテーブル 989
イ ン ク エデ ィ ッ ト 用の関数
RecognizeText 957
イ ン ク ピ ク チ ャ 用の関数
LoadInk 764
LoadPicture 765
ResetInk 978
ResetPicture 979
Save 1000
SaveInk 1014
印刷カー ソ ル
印刷ジ ョ ブ 915
座標の取得 946
印刷上の表記規則 xxv
印刷ジ ョ ブ 929
印刷用の関数
Print 912
PrintBitmap 919
PrintCancel 920
PrintClose 921
PrintDataWindow 922
PrintDefineFont 923
PrintOpen 929
PrintOval 931
PrintPage 932
PrintRect 933
PrintRoundRect 934
PowerBuilder
索引
PrintScreen 936
PrintSend 937
PrintSetFont 939
PrintSetSpacing 940
PrintSetup 941
PrintText 943
PrintWidth 945
PrintX 946
PrintY 946
インスタンス
定義 さ れた 82
有効性のチ ェ ッ ク 737
ユーザ オブジ ェ ク ト 853, 857, 862, 867
イ ン ス タ ン ス の自動生成設定 88
イ ン ス タ ン ス変数
概要 36
初期化 45
ド ッ ト 表記 38
の ク ラ ス 392
イ ンデ ッ ク ス
一番上の取得 1207
ハ イ ラ イ ト 表示 1130, 1174
リ ス ト ボ ッ ク ス項目 1028, 1039
イ ン ポー ト 、 デー タ 666, 670
引用符
規則 27
指定 8
テ ィ ルダ を使っ た 26
ネ ス ト (入れ子) 26
引用符付 き 文字列の継続 17
う
ウィンドウ
DDE 対話のハン ド ル 1173
ア ク テ ィ ブの取得 539
位置設定 1108
カ ス タ ム フ レーム 1246, 1247
整列 365, 846
デー タ 型 827
閉 じ る 399
ハン ド ルの取得 652
開 く 827, 872
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
メ ッ セージのポ ス ト 機能 904
メ ニ ュ ーの変更 386
ユーザ オブジ ェ ク ト の追加 853, 862, 867
ワ ー ク スペース の高 さ の取得 1244
ワ ー ク スペース の幅の取得 1245
ウ ィ ン ド ウ ActiveX コ ン ト ロ ール
GetArgElement 関数 541
GetLastReturn 関数 608
InvokePBFunction 関数 715
ResetArgElements 関数 976
SetArgElement 関数 1061
TriggerPBEvent 関数 1225
ウ ィ ン ド ウ オブジ ェ ク ト
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
ユーザ オブジ ェ ク ト を閉 じ る 406
リ ス ト 752, 754
ウ ィ ン ド ウ ペ イ ン タ 863, 865
ウ ィ ン ド ウ用の関数
ArrangeSheets 365
ChangeMenu 386
ClassName 392
CloseUserObject 406
Draw 479
GetActiveSheet 539
GetFirstSheet 597
GetNextSheet 615
Hide 654
Move 817
Open 827
OpenSheet 846
OpenSheetWithParm 849
OpenTab 853
OpenUserObject 862
OpenWithParm 872
ParentWindow 882
PointerX 891
PointerY 892
PostEvent 905
Print 912
Resize 980
SetFocus 1087
SetMicroHelp 1099
SetPosition 1108
SetRedraw 1115
1277
索引
Show 1151
TriggerEvent 1223
TypeOf 1233
WorkSpaceHeight 1244
WorkSpaceWidth 1245
WorkSpaceX 1246
WorkSpaceY 1247
上重ね表示 さ れ る ウ ィ ン ド ウ 850
ウ ォーム リ ン ク 485, 625, 844, 1117
埋め込み SQL 151
え
エ ス ケープ シーケ ン ス 937
エデ ィ ッ ト コ ン ト ロ ール
か ら のテ キ ス ト の削除 394
行カ ウ ン ト 759
ク リ ッ プボー ド の内容の挿入 397
選択 さ れた テ キ ス ト 1030, 1034
挿入ポ イ ン ト の決定 898
テ キ ス ト の置換 971
エデ ィ ッ ト マ ス ク 用の関数
CanUndo 382
Clear 394
Copy 425
Cut 437
GetData 562
LineCount 759
LineLength 761
Paste 883
Position 898
ReplaceText 971
Scroll 1016
SelectedLength 1030
SelectedLine 1031
SelectedStart 1034
SelectedText 1035
SelectText 1044
SetMask 1096
TextLine 1200
Undo 1236
エラー
実行中 73
パ イ プ ラ イ ンの表示 1165
1278
エ ラ ー オブジ ェ ク ト 、 作成 133
エ ラ ー処理
SQL 文の後 153
関数ま たは イ ベン ト の呼び出 し 104, 107
エ ラ ー デー タ ウ ィ ン ド ウ 967
エ ラ ーのチ ェ ッ ク
カ ス ケー ド 呼び出 し 115
ス ク リ プ ト の コ ンパ イ ル 103
円グ ラ フ 568, 1076
演算子
概要 71
関係 74
後置式を使っ た代入 126, 128
算術 72
デー タ 型への影響 78
優先順位 76
連結 75
論理 74
演算子の優先順位 76
エンベ ロ ープ、 メ ール メ ッ セージ ヘ ッ ダ 788
お
オーデ ィ オ (ビープ) 370
オー ト メ ーシ ョ ン 1062, 1064, 1065
オーバーレ イ 634, 1125
大文字 1239
大文字での表示
大文字 1239
系列名 360
項目名 347, 684
小文字 778
大文字 と 小文字の区別、 比較 74
オブジ ェ ク ト
OLE の保存 1002
位置の変更 1110
一般的な参照 12
移動 817
イ ベン ト の発生 1223
イ ベン ト のポ ス ト 905
イ ン ス タ ン ス の作成 85, 132
イ ン ス タ ン ス の破棄 136
親オブジ ェ ク ト 618
PowerBuilder
索引
概要 82
ガベージ コ レ ク シ ョ ン 87, 136
ク ラ ス の決定 392
再構築 758
再描画 1115
参照ハン ド ル 82
種類の決定 1233
先祖 86
選択 1042
挿入 686, 692, 708
代入 89
ハン ド ルの取得 652
引数 と し て渡す 111
非表示 654, 817
フ ォーカ ス の設定 1088
ポ イ ン タ 位置 823
ラ イ ブ ラ リ か ら の削除 751
リ ン ク 763
ロ ー ド 363, 1095
オブジ ェ ク ト 、 共有
SharedObjectDirectory 関数 1146
SharedObjectGet 関数 1146
SharedObjectRegister 関数 1150
SharedObjectUnregister 関数 1151
オブジ ェ ク ト 、 接続
ConnectToServer 関数 423
CreateInstance 関数 431, 433
DisconnectServer 関数 473
オブジ ェ ク ト の挿入 ダ イ ア ロ グボ ッ ク ス 708
オペレーテ ィ ン グ シ ス テ ム
RightToLeft バージ ョ ン 719, 720, 721, 722,
723, 726, 727, 986
情報 588
親ウ ィ ン ド ウ
取得 882
相対す る 位置に変更 817
開いてい る ウ ィ ン ド ウ 829, 830, 872
か
カー ソ ル
ポ ッ プア ッ プ メ ニ ュ ーの表示
印刷 915
カ ス タ ム 1107
カー ソ ル、 デー タ ベース
オープン 167
ク ロ ーズ 155
宣言 154, 159
改行、 指定 8
階層
子の ソ ー ト 1159
シ ス テ ム 31, 392
ソ ー ト 1161
ツ リ ービ ュ ーの項目 410, 490
リ ス ト 内の子項目 700, 703, 705
外部関数 60
外部関数の DLL 63
カ ウ ン ト 、 系列のデー タ ポ イ ン ト 439
角度
逆正弦の計算 368
逆正接の計算 369
逆余弦の計算 344
正弦の計算 1158
正接の計算 1199
余弦の計算 429
ラ ジ ア ン (弧度) か ら / への変換 888
影
デー タ 系列 630, 1119
デー タ ポ イ ン ト 570, 1078
加算演算子 72
カ ス ケー ド ウ ィ ン ド ウ、 シー ト の整列 365
カ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト 88
画像
ク リ ッ プボー ド か ら の検索 397
ピ ク チ ャ コ ン ト ロ ールへの配置 1106
形
印刷 931, 933, 935
マ ウ ス ポ イ ン タ 1107
カ タ ロ グ デー タ 型 33
ガベージ コ レ ク シ ョ ン 87, 134, 136
可変長配列、 メ モ リ の割 り 当て 55, 1240
画面
印刷 936
相対する 位置に変更 817
表示 588
893
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
1279
索引
ワー ク スペース ま での距離 1246, 1247
カラム
挿入ポ イ ン ト の決定 898
テ キ ス ト の貼 り 付け 884
リ ス ト 687
間隔 1204
環境
TEMP 変数 789
情報の取得 588
関係演算子 74
関数
DLL 63
イ ベン ト と の類似点 95
上書 き 108
大文字 と 小文字の区別 116
外部 60
外部、 定義 さ れた 95
外部、 デー タ ベース ハン ド ルの レ ポー ト 452
外部、 メ ール 784
外部関数のア ク セ ス レベル 62
外部関数のデー タ 型 65
概要 93
カ ス ケー ド 呼び出 し 114, 117
型の変換 108
グ ロ ーバル関数 と シ ス テ ム関数の呼び出 し 117
検索 96
シ ス テ ム、 定義 さ れた 94
静的お よ び動的な 101
先祖 119
多重定義 108
ト リ ガ 98
引数 110
引数 と し ての Char 80
ポ ス ト 機能 98, 115
戻 り 値 113
ユーザ定義 94
呼び出 し 時のエ ラ ー 104
関数オブジ ェ ク ト
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
リ ス ト 752
関数 と イ ベン ト の多相性 (ポ リ モ フ ィ ズ ム) 101
関数の上書 き 108
1280
関数の多重定義 108
関数ま たは イ ベン ト のポ ス ト
感嘆符ア イ コ ン 806
98
き
キーボー ド
キーを押 し たかの確認 737
テ キ ス ト の選択 427
キーワー ド 11
キーワー ド address 1224
疑問符
テ キ ス ト パ タ ーン 800
動的 SQL 180, 181, 184
メ ッ セージ ボ ッ ク ス内のア イ コ ン 806
逆正弦 368
逆正接 369
逆余弦 344
キ ャ リ ッ ジ リ タ ーン
INI フ ァ イ ル内 950
指定 8
キ ャ ン セル
印刷 920
許可 1256
パ イ プ ラ イ ン オブジ ェ ク ト 380
キ ャ ン セル ボ タ ン 806
行
印刷 943
数 759
グ ラ フ、 デー タ 系列の色 630, 1119
グ ラ フ、 デー タ 系列の ス タ イ ル 631, 632, 1121
グ ラ フ、 デー タ ポ イ ン ト の色 1078
グ ラ フ、 デー タ ポ イ ン ト の ス タ イ ル 572,
1079
ス ク ロ ール 1016, 1017, 1018, 1020, 1022
選択 さ れたテ キ ス ト 1031
挿入ポ イ ン ト の決定 898
デー タ ポ イ ン ト の色 570
テ キ ス ト 1200
長 さ の決定 761
パ イ プ ラ イ ン デー タ の修正 967
幅 572
リ ッ チテ キ ス ト の行間 636
PowerBuilder
索引
行、 デー タ ベース
カー ソ ルが置かれた行の更新 174
更新 172
削除 161, 163
挿入 166
フ ェ ッ チ 165
行間
設定 940
テ キ ス ト 印刷時 915
共有オブジ ェ ク ト
SharedObjectDirectory 関数 1146
SharedObjectGet 関数 1146
SharedObjectRegister 関数 1150
SharedObjectUnregister 関数 1151
概要 1148
共有変数
概要 36
初期化 44
切 り 取 り 、 ク リ ッ プボー ド へ 437
く
区域 779, 1240
区域、 デー タ ウ ィ ン ド ウ、 オブジ ェ ク ト の移動
1110
空白 18
クラス
OLE 686
オブジ ェ ク ト と の対照 82
オブジ ェ ク ト の 392
ク ラ ス階層 32
ク ラ ス ユーザ オブジ ェ ク ト 84
グラフ
オーバーレ イ 634
項目 350
デー タ 系列 360
グ ラ フ ィ ッ ク 、 印刷 919
グ ラ フ用の関数
AddCategory 347
AddData 349, 372
AddSeries 359
CategoryCount 383
CategoryName 384
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Clipboard 398
DataCount 439
DeleteCategory 454
DeleteData 455
DeleteSeries 462
FindCategory 519
FindSeries 532
GetData 560
GetDataPieExplode 568
GetDataStyle 569
GetSeriesStyle 629
ImportClipboard 663
ImportFile 666
ImportString 670
InsertCategory 684
InsertData 688
InsertSeries 710
ModifyData 814
Reset 974
SaveAs 1004
SeriesCount 1055
SeriesName 1056
SetDataPieExplode 1076
SetDataStyle 1077
SetSeriesStyle 1119
グ リ ッ ド 提示様式 1192
ク リ ッ プボー ド
切 り 取 り 437
コ ピー 425
置換テ キ ス ト と し ての コ ン テ ン ツ 972
デー タ の イ ン ポー ト 663
内容の検索 と 置換 396
貼 り 付け 883
貼 り 付け と リ ン ク 885
グループ提示様式 1192
グ ロ ーバル関数
定義 さ れた 94
呼び出 し 117
グ ロ ーバル ス コ ープ記号 37
グ ロ ーバル変数
概要 36
ス コ ープ記号 37
ク ロ ス タ ブ、 ソ ース コ ー ド か ら の作成 1192
1281
索引
け
継承 86
PowerBuilder オブジ ェ ク ト 32
ダブル コ ロ ン 128
バ ッ ク ク ォー ト 128
継続行文字 16
現行
行 と ス ク ロ ール 1018, 1020
シー ト 847
検索、 リ ッ チテ キ ス ト 517, 531
減算演算子
算術演算子の一覧 72
スペース で囲まれた 18, 72
限度、 数値 385
こ
構造体
mailRecipient 793
値の渡 し 874, 876
外部関数への渡 し 66
概要 81
自動生成 さ れたユーザ オブジ ェ ク ト
代入 89
引数 と し て渡す 112
戻 り 値の 408
構造体オブジ ェ ク ト
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
リ ス ト 752
後退、 指定 8
構文
オブジ ェ ク ト を エ ク ス ポー ト 756
オブジ ェ ク ト を再構築 758
項目
一番上 1142, 1207
イ ンデ ッ ク ス番号 1028
選択 1038
選択 さ れた項目数の取得 1209
総数の取得 1209
テ キ ス ト 1029, 1199
ハ イ ラ イ ト 表示 1130, 1174
1282
88
リ ス ト か ら の削除 456, 973
リ ス ト への追加 352, 693
リ ン ク 763
項目、 グ ラ フ
InsertCategory 関数 348
カ ウ ン ト 383
ク リ ッ ク 823
系列に追加 348
削除 454, 974
識別 383, 384
新規 347
挿入 684
デー タ 値を系列に追加 348, 350
デー タ の イ ン ポー ト 663, 666, 670
コー ド
オブジ ェ ク ト 756
再利用 906
デー タ ウ ィ ン ド ウ の生成 1192
コ ール ド リ ン ク 485, 624, 845, 1116
個人の メ ッ セージ 783
コ ピー
ク リ ッ プボー ド か ら の イ ン ポー ト 663
ク リ ッ プボー ド へ 425
コ マン ド
DDE アプ リ ケーシ ョ ンか ら の受け取 り 983
DDE ク ラ イ ア ン ト か ら の取得 550
コ マ ン ド ラ イ ン、 引数の取得 411
コメント
使い方 4
ラ イ ブ ラ リ 750
小文字 778
コ ン ト ロ ール
移動 817
サ イ ズ変更 980
再描画 1115
参照 409
種類の決定 1233
中断 1256
ド ラ ッ グ 476
ハン ド ルの取得 652
非表示 654, 817
フ ォーカ ス 599, 1087
コ ン ト ロ ール構造体
PowerBuilder
索引
CHOOSE CASE 129
DO...LOOP 137
FOR...NEXT 140
IF...THEN 144
コ ンパ イ ル時のデー タ ベースへのサ イ ン オン を
回避 155
コ ン ピ ュータ
CPU 時間の レ ポー ト 430
ビープ音 370
CloseWithReturn 関数 409
パ ラ メ ー タ 渡 し 851, 858, 860, 868, 870, 874,
876
引数渡 し 110
散布図グ ラ フ
系列への値の追加 351
デー タ の イ ン ポー ト 663, 666, 668, 670
デー タ ポ イ ン ト 値の取得 561
デー タ ポ イ ン ト 値の変更 815
文字列か ら のデー タ の挿入 672
さ
サーバ アプ リ ケーシ ョ ン
DDE ク ラ イ ア ン ト へ送 る 1074
DDE サポー ト 845
DDE チ ャ ネルを閉 じ る 406
ア ク テ ィ ブ化 346, 1042
接続 414, 416, 418, 419, 420
停止 1179
デー タ の供給 623
デー タ の送信 1116
貼 り 付け と リ ン ク 885
再試行ボ タ ン 806
最小値
2 つの数 812
限度以上 385
サイズ
Blob ま たは文字列 747, 749
画面 588
変更 980
サ ウ ン ド (ビープ) 370
座標
印刷オブジ ェ ク ト 919, 931, 933, 934
印刷カー ソ ル 946
リ ス ト ビ ュ ーの項目 617
サブ ス ト レージ、 OLE
削除 803
チ ェ ッ ク 804
名前の変更 805
保存 1007
サマ リ ー、 オブジ ェ ク ト の移動 1110
算術演算子 72
参照
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
し
シー ト
ア ク テ ィ ブの取得 539
親の取得 882
最初のシー ト を開 く 597
整列 365
ツールバー 643, 645, 1136, 1138
次の開いてい る シー ト を取得する
開 く 830, 846, 849
式
Any デー タ 型 29
NULL か ど う かのチ ェ ッ ク 730
演算子 と デー タ 型 78
宣言 44
デー タ ウ ィ ン ド ウ と Any デー タ 型
デー タ 型 77
デー タ 型の変換 77
リ テ ラ ル 78
式内での優先順位 76
識別名、 規則 5
軸、 グ ラ フ
項目 347, 383, 454, 684
デー タ の挿入 689
次元 779
時刻
CPU 430
DateTime デー タ 型 446
現在 822
相対 964
デー タ 型への変換 1201
615
31
1283
索引
動的に取得 583, 587
秒 1023
分 813
文字列のチ ェ ッ ク 735
システム
イ ベン ト 191, 904
イ ベン ト 、 定義 さ れた 94
オブジ ェ ク ト ク ラ ス 83
オブジ ェ ク ト デー タ 型 31
オブジ ェ ク ト の階層 32
関数 117
時刻 822
日付 1206
レ ジ ス ト リ 957, 958, 960, 961, 963
シ ス テ ム と 環境用の関数
Clipboard 396
CommandParm 411
DebugBreak 452
FindClassDefinition 520
FindFunctionDefinition 521
FindTypeDefinition 533
GarbageCollect 536
GarbageCollectGetTimeLimit 537
GarbageCollectSetTimeLimit 537
GetApplication 540
GetEnvironment 588
Handle 652
PopulateError 894
Post 904
ProfileInt 947
ProfileString 949
Restart 984
Run 998
Send 1052
SetProfileString 1111
ShowHelp 1154
SignalError 1157
Yield 1256
子孫
イ ベン ト か ら の戻 り 値 119
ク ラ ス の決定 392
開いてい る ウ ィ ン ド ウ 832
ユーザ オブジ ェ ク ト を開 く 854, 855, 864, 866
実行エ ラ ー 103
1284
実行フ ァ イ ル
アプ リ ケーシ ョ ンのハン ド ルを返す 652
実行 998
週、 曜日 449, 450
終端文字列 375
受信者、 メ ール 791
受信 ト レ イ
への メ ッ セージのダ ウ ン ロ ー ド 787
への メ ッ セージの保存 794
メ ール メ ッ セージの読み込み 788
メ ッ セージ ID 検索 782, 783
メ ッ セージ削除 782
状況依存ヘルプ 1154
上限以下の最大値 711
条件付 き コ ンパ イ ル 19
詳細区域、 オブジ ェ ク ト の移動 1110
乗算演算子 72, 73
状態
ハ イ ラ イ ト 表示の設定 1130
リ ス ト ボ ッ ク ス項目 1174
剰余 813
除算 813
除算演算子 72, 73
書式、 文字列への適用 1180
シ ン グル ラ イ ン エデ ィ ッ ト 用の関数
CanUndo 382
Clear 394
Copy 425
Cut 437
Move 817
Paste 883
Position 898
ReplaceText 971
SelectedLength 1030
SelectedStart 1034
SelectedText 1035
SelectText 1044
Undo 1236
シ ン ボルの種類、 グ ラ フ
デー タ 系列 1123
デー タ ポ イ ン ト 572, 1081
PowerBuilder
索引
す
水平ス ク ロ ール、 リ ス ト への項目の追加
数値
Char 型に変換 387, 388, 443, 453
pi を掛け る 888
行、 カ ウ ン ト 759
切 り 捨て 1229
項目 384
最大値の決定 385
四捨五入 996
剰余を戻す 813
対数 766, 768
動的に取得 584, 585
比較 802, 812
符号の判別 1156
文字列のチ ェ ッ ク 732
曜日 450
ラ ン ダ ム 951, 952
数値デー タ 型の優先順位 77
数値用の関数
Abs 344
ACos 344
ASin 368
ATan 369
Ceiling 385
Cos 429
Exp 489
Fact 491
Int 711
Log 766
Max 802
Min 812
Mod 813
Pi 888
Rand 951
Randomize 952
Round 996
Sign 1156
Sin 1158
Sqrt 1163
Tan 1199
Truncate 1229
スク リプト
イ ベン ト の発生 1223
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
353
実行の中止 984
終了 146
ス ク ロ ール
ツ リ ービ ュ ー 1086
リ ス ト ボ ッ ク ス 1142
ス ク ロ ール用の関数
Scroll 1016
ScrollNextPage 1017
ScrollNextRow 1018
ScrollPriorPage 1019
ScrollPriorRow 1020
ScrollToRow 1022
Top 1207
ス コ ープ記号 117
ス タ テ ィ ッ ク テ キ ス ト コ ン ト ロ ール、 ク リ ッ プ
ボー ド の挿入 397
ス テー ト メ ン ト 、 PowerScript
CALL 128
CHOOSE CASE 129
CONTINUE 131
CREATE 132
DESTROY 136
DO...LOOP 137
EXIT 139
FOR...NEXT 140
GOTO 142
HALT 143
IF...THEN 144
RETURN 146
区切 り 18
代入 126
リ ス ト 125
ス ト ア ド プ ロ シージ ャ
ク ロ ーズ 156
実行 164
宣言 154, 160
ス ト ア ド プ ロ シージ ャ 、 宣言 68
ス ト ッ プ サ イ ン ア イ コ ン 806
ス ト リ ーム、 OLE
削除 803
チ ェ ッ ク 804
名前の変更 805
ス ト レージ、 OLE
解放 401
フ ァ イ ル 1007
1285
索引
保存 1002
スペース
左端か ら 削除 745, 747
末尾の スペース の削除 992
文字列か ら の削除 1227, 1228
文字列への挿入 1162
せ
世紀 1255
正弦 1158
整数
blob か ら の取得 712
Char に変換 387, 388
Long 値への変換 769, 771
変換 712
正接 1199
静的呼び出 し 101
正の数 1156
接続、 OLE オブジ ェ ク ト への 414, 416
接続オブジ ェ ク ト
ConnectToServer 関数 423
CreateInstance 関数 433
DisconnectServer 関数 473
絶対値 344
設定
保存 1111
読み込み 948, 950
設定、 プ リ ン タ 937
セ ミ コ ロ ン (SQL) 17
線
印刷 928
前景色
デー タ 系列 630, 1119
デー タ ポ イ ン ト 570, 1078
宣言
ア ク セ ス レベル 45
外部関数 60
構文 40
初期値 と し ての式 44
宣言場所 35
定数 50
配列 51
1286
変数 35
先祖
イ ベン ト か ら の戻 り 値 119
オブジ ェ ク ト 86
階層 392
関数ま たは イ ベン ト の呼び出 し
ス ク リ プ ト の呼び出 し 128
選択、 リ ス ト 内の削除 1039
線の種類 continuous
デー タ 系列の設定 1121
デー タ ポ イ ン ト の設定 1080
線の種類 dash
概要 1080, 1122
デー タ 系列の設定 1122
線の種類 dotted
デー タ 系列の設定 1122
デー タ ポ イ ン ト の設定 1080
線の種類 transparent、 グ ラ フ
デー タ 系列の設定 1122
デー タ ポ イ ン ト の設定 1080
119
そ
送信者 788
挿入ポ イ ン ト
ク リ ッ プボー ド か ら の貼 り 付け 883
テ キ ス ト 行 1031, 1200
編集可能な コ ン ト ロ ール 761
文字の位置 1027
ソー ト 順
GetCalc 関数 652
リ ス ト に項目を挿入す る タ イ ミ ン グ 694
測定 1237
その他の ウ ィ ン ド ウ メ ニ ュ ー項目 847
そのほかの関数
IsValid 737
KeyDown 738
MessageBox 889
PixelsToUnits 889
RGB 988
SetNull 1101
SetPointer 1107
TypeOf 1233
PowerBuilder
索引
UnitsToPixels
選択 1042
ユーザ オブジ ェ ク ト を開 く
タ ブ文字、 指定 8
タ ブ用の関数
CloseTab 404
MoveTab 819
SelectTab 1042
TabPostEvent 1197
TabTriggerEvent 1198
タ ブ ラ 提示様式 1192
ダブル コ ロ ン 128
単位系
端か ら の距離 891
ピ ク セルか ら の変換 889
ピ ク セルへの変換 1237
段組み提示様式 1192
誕生日 1256
段落 1103
1237
た
ダ イ ア ロ グボ ッ ク ス
PasteSpecial 887
オブジ ェ ク ト の挿入 708
フ ァ イ ルの保存 595
フ ァ イ ルを開 く 589
対数 766, 768
代入
オーバーフ ロ ー 79
後置式演算子 128
配列 54, 57, 59
文 126
代入時のオーバーフ ロ ー 79
タ イ マー、 イ ベン ト の発生 1204
タ イ ミ ン グ オブジ ェ ク ト
開始 1166
停止 1177
非ア ク テ ィ ブ化 1177
タ イ ミ ン グ用の関数
CPU 430
Idle 657
Timer 1204
代名詞
Parent 13
Super 15
This 14
イ ン ス タ ン ス変数 39
概要 12
楕円
SetFocus 関数 1088
印刷 931
高さ
オブジ ェ ク ト 980
ワ ー ク スペース 1244
多次元配列 53, 57
ダ ッ シ ュ 、 変数名での使用の禁止
タ ブ ページ
CreatePage 関数 436
PageCreated 関数 881
順序の変更 819
853, 857
ち
チャ イルド ウ ィ ン ド ウ
親の取得 882
開 く 830, 872
チ ャ ネル、 DDE 403, 844
長方形
SetFocus 関数 1088
印刷 933, 935
直線
SetFocus 関数 1088
ち ら つき 1115
つ
5
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
ツールバー 643, 645, 1136, 1138
月、 日付の取得 448
ツ リ ービ ュ ー用の関数
AddPicture 358
CollapseItem 410
DeleteItem 458
DeletePicture 461
DeletePictures 461
DeleteStatePicture 464
1287
索引
DeleteStatePictures 464
EditLabel 481
ExpandAll 489
ExpandItem 490
FindItem 526
GetItem 606
InsertItem 698, 699
InsertItemFirst 700
InsertItemLast 703
InsertItemSort 705
SelectItem 1041
SetDropHighlight 1084
SetFirstVisible 1086
SetItem 1092
SetLevelPictures 1093
SetOverlayPicture 1101
Sort 1159
SortAll 1161
て
定義、 印刷の フ ォ ン ト 923
提示様式 1192
定数
値の代入 43
宣言 50
宣言場所 35
テ ィ ルダ
規則 27
指定 8
文字列 26
デ ィ レ ク ト リ 、 ラ イ ブ ラ リ 752, 754
デー タ
Blob への挿入 373
DDE アプ リ ケーシ ョ ンか ら の受け取 り
DDE ク ラ イ ア ン ト へ送 る 1074
DDE 取得 565
Long 型への変換 769, 771
OLE サーバか ら 563
OLE サーバに 1073
イ ン ポー ト 663
共有 440
グ ラ フ系列への追加 349, 351
1288
983
コ ン ト ロ ールか ら の取得 560
消去 973
ス ト リ ームへの書 き 込み 1247
デー タ ウ ィ ン ド ウ での検索 517
転送 1164
パ イ プ ラ イ ンの修正 967
フ ァ イ ルへの書 き 込み 511, 513
デー タ ウ ィ ン ド ウ オブジ ェ ク ト
SELECT 文か ら の作成 1192
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
ラ イ ブ ラ リ か ら の削除 751
リ ス ト 752
デー タ ウ ィ ン ド ウ コ ン ト ロ ール
デー タ 式 と Any デー タ 型 31
パ イ プ ラ イ ン エ ラ ー 1165
デー タ ウ ィ ン ド ウ の前景レ イ ヤ 1110
デー タ ウ ィ ン ド ウ の背景レ イ ヤ 1110
デー タ ウ ィ ン ド ウ のボ ト ム レ イ ヤ 1110
デー タ ウ ィ ン ド ウ用の関数
CanUndo 382
CategoryCount 383
CategoryName 384
Clear 394
Clipboard 396
Copy 425
Cut 437
DataCount 439
FindCategory 519
FindNext 531
FindSeries 532
GetData 560
GetDataPieExplode 568
GetDataStyle 569
GetSeriesStyle 629
LineCount 759
ObjectAtPointer 823
Paste 883
PasteRTF 886
Position 898
ReplaceText 971
ResetDataColors 977
Scroll 1016
SelectedLength 1030
SelectedLine 1031
PowerBuilder
索引
SelectedStart 1034
SelectedText 1035
SelectText 1044
SeriesCount 1055
SeriesName 1056
SetDataPieExplode 1076
SetDataStyle 1077
SetPosition 1110
SetSeriesStyle 1119
TextLine 1200
Undo 1236
デー タ 型
Blob 372, 373
byte 379, 544
NULL に設定 1101
real 955
ウ ィ ン ド ウ 827
演算子の影響 78
外部関数 65
概要 23
カ タ ロ グ 33
関数の引数の変換 108
決定 392
時刻 1201
シ ス テ ム オブジ ェ ク ト 31
数値 77
代入 79
貼 り 付け時の型の不一致 884
日付 445
標準 23
変換 77
未定義 28
文字列 1179
リ テ ラ ル 24, 25, 26, 28, 78
デー タ 型のチ ェ ッ ク と 変換用の関数
AscA 367
Char 387, 388
Date 442
DateTime 446
Dec 453
Double 474
Integer 712
IsDate 725
IsNull 730
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
IsNumber 732
IsTime 735
Long 769, 771
Real 955
String 1179
Time 1201
デー タ 型のマ ッ ピ ン グ、 EAServer 33
デー タ 系列、 グ ラ フ
イ ン ポー ト 663, 666, 670
外観の レ ポー ト 629
カ ウ ン ト 1055
ク リ ッ ク 823
削除 462, 974
ス タ イ ルの設定 1119
挿入 710
デー タ の挿入 688
デー タ ポ イ ン ト 439, 455, 561, 575, 814, 977
名前の取得 1056
番号の検索 532
値の追加 349, 372
追加 360
デー タ 式 Any デー タ 型 31
デー タ の共有 440
デー タ パ イ プ ラ イ ン ペ イ ン タ 381, 1165
デー タ ベース
カー ソ ル、 オープン 167
カー ソ ルが置かれた行の更新 174
行の削除 161, 163
行の選択 169
行の挿入 166
行のフ ェ ッ チ 165
更新 172
再起動 984
修復 967
接続 158
接続解除 164
デー タ 転送 1164
ト ラ ンザ ク シ ョ ン 1144
ハン ド ル 452
変更の コ ミ ッ ト 157
変更の取 り 消 し 168
デー タ ベース ス ト ア ド プ ロ シージ ャ 151
デー タ ポ イ ン ト
1289
索引
値 560, 575
色の リ セ ッ ト 977
外観の レ ポー ト 569
切 り 離 し の割合の レ ポー ト 568
ク リ ッ ク 823
削除 454
散布図への追加 351
ス タ イ ルの設定 1077
挿入 688
テーブル、 デー タ ベース、 デー タ ベース間のデー タ
転送 1164
テキ ス ト
RichTextEdit での検索 517, 531
色の設定 989
印刷 914, 943
印刷時の行間 915
エデ ィ ッ ト コ ン ト ロ ールか ら の削除 394
ク リ ッ プボー ド の 396, 427, 437
現行行の取得 1199, 1200
選択 1030, 1035, 1044
置換 971
貼 り 付け 884
部分文字列の検索 895, 898
マ イ ク ロ ヘルプ 1099
メ タ 文字 799
メ ッ セージ ボ ッ ク ス 806
文字列か ら のデー タ の イ ン ポー ト 670
元に戻す 1236
リ ス ト ボ ッ ク ス項目 1029
リ ッ チテ キ ス ト を ASCII テ キ ス ト で保存 1012
テ キ ス ト の削除 394
テ キ ス ト パ タ ーンのア ス タ リ ス ク 800
テ キ ス ト パ タ ーンの円記号 799
テ キ ス ト パ タ ーンのカ ッ コ 800
テ キ ス ト パ タ ーンのキ ャ レ ッ ト 799
テ キ ス ト パ タ ーンの ド ル記号 799
テ キ ス ト パ タ ーンの ピ リ オ ド 799
テ キ ス ト パ タ ーンのプ ラ ス記号 800
テキ ス ト フ ァ イル
デー タ の イ ン ポー ト 666
保存 1004
1290
と
動的 SQL
DynamicDescriptionArea 176
DynamicStagingArea 176
DynamicStagingArea の準備 177
NULL 値 180, 182
概要 175
書式 1 179
書式 2 180
書式 3 181
書式 4 184
書式の リ ス ト 175
注意点 177
文 176
文の順序 177
動的 SQL 用の関数
GetDynamicDate 581
GetDynamicDateTime 583
GetDynamicDecimal 584
GetDynamicNumber 585
GetDynamicString 586
GetDynamicTime 587
SetDynamicParm 1085
動的呼び出 し
エ ラ ー 104
概要 102
動的 ラ イ ブ ラ リ 363, 1095
動的 ラ イ ブ ラ リ (DLL) 1171
登録デー タ ベース 688
ド キ ュ メ ン ト ウ ィ ン ド ウ 847
閉じ る
DDE チ ャ ネル 403
印刷ジ ョ ブ 921
ウ ィ ン ド ウ 399
ド ッ ト 表記
イ ン ス タ ン ス変数 38
概要 38
構造体 82
ト ピック
サーバ アプ リ ケーシ ョ ンの開始 1173
サーバ アプ リ ケーシ ョ ンの終了 1179
ヘルプの呼出 し 1154
ド ラ ッ グ、 ツ リ ービ ュ ー項目 1084
PowerBuilder
索引
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト 、 作成 133
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト 関数
DBHandle 452
SyntaxFromSQL 1192
ト リガ
イ ベン ト 192
関数ま たは イ ベン ト 98
取 り 消し
編集 1236
ト レース用の関数
TraceBegin 1211
TraceClose 1213
TraceDisableActivity 1214
TraceEnableActivity 1216
TraceEnd 1218
TraceError 1219
TraceOpen 1220
TraceUser 1222
ト レー ラ 、 オブジ ェ ク ト の移動 1110
ド ロ ッ プダ ウ ン ピ ク チ ャ リ ス ト ボ ッ ク ス用の関
数
AddItem 354
AddPicture 358
Clear 394
Copy 425
Cut 437
DeletePicture 461
DeletePictures 461
FindItem 522
InsertItem 695
Paste 883
Position 898
ReplaceText 971
SelectedLength 1030
SelectedStart 1034
SelectedText 1035
SelectItem 1038
SelectText 1044
Text 1199
TotalItems 1209
ド ロ ッ プダ ウ ン リ ス ト ボ ッ ク ス コ ン ト ロ ール、
テ キ ス ト の削除 394
ド ロ ッ プダ ウ ン リ ス ト ボ ッ ク ス用の関数
AddItem 352
Clear 394
Copy 425
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Cut 437
DeleteItem 456
DirList 467
DirSelect 469
DraggedObject 478
FindItem 522
InsertItem 694
Paste 883
Position 898
Post 904
ReplaceText 971
Reset 973
SelectedLength 1030
SelectedStart 1034
SelectedText 1035
SelectItem 1038
SelectText 1044
Text 1199
TotalItems 1209
な
長さ
Blob ま たは文字列 747, 749
OLEStream 749
行 761
選択 さ れたテ キ ス ト 1030
名前、 規則 5
名前を付けて保存 ダ イ ア ロ グボ ッ ク ス
1006
ぬ
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
diagonal 1082, 1123
diamond 1082, 1124
horizontal 1082, 1124
solid 1082, 1124
square 1082, 1124
vertical 1082, 1124
ね
ネ ス ト さ れた (入れ子状の) OLE オブジ ェ ク ト
837, 840
1291
索引
年、 概要
445
は
背景色、 グ ラ フ
デー タ 系列 630, 1119
デー タ ポ イ ン ト 570, 1078
排他的な共有モー ド 836, 839
バ イ ト 配列
Blob か ら の取得 544
Blob に変換 373
パ イ プ ラ イ ンの置換、 キ ャ ン セル 380
パ イ プ ラ イ ンの転送先デー タ ベース 1164
パ イ プ ラ イ ン用の関数
Cancel 380
Repair 967
Start 1164
ハ イ フ ン、 変数名での使用の禁止 5
ハ イ ラ イ ト 表示
ス ク ロ ール 1020
設定 1130
リ ス ト 内の項目 1038, 1174
配列
Char 型 と String 型 80
mailRecipient 780
値の代入 57, 59, 126
エ ラ ー 60
概要 51
可変長 55
コ ピー 126
初期化 59
ス ト リ ーム 954, 1248
デフ ォ ル ト 値 54
動的 SQL の入力パ ラ メ ー タ 1085
引数 と し て渡す 112
メ ッ セージ ID 782
例 367
配列の次元 1240
配列用の関数
LowerBound 779
UpperBound 1240
配列 リ ス ト 59
パス
1292
OLE ス ト レージ 830
フ ァ イ ルの保存 595
戻 る 589
ラ イ ブ ラ リ フ ァ イ ル 750
パ ス ワー ド 787
パ タ ーン照合 798
バ ッ ク ク ォー ト 128
バ ッ チ アプ リ ケーシ ョ ン 906
幅
設定 980
デー タ 系列の線 1121
デー タ ポ イ ン ト の線 1079
文字列 945
ワー ク スペース 1245
パフ ォーマ ン ス
Any デー タ 型 31
Yield 関数 1257
動的関数 と イ ベン ト 呼び出 し 103
パラ メ ータ
DynamicDescriptionArea の設定 1085
ウ ィ ン ド ウ を開 く 872
コ マ ン ド ラ イ ン 411
シー ト を開 く 849
タ ブ ページ を開 く 857
ユーザ オブジ ェ ク ト を開 く 854, 855, 864, 866,
867
貼 り 付け
埋め込みま たは リ ン ク 887
ク リ ッ プボー ド 883, 885
ハン ド ル
DDE 403, 844, 1173
mailSession オブジ ェ ク ト 784, 1053
検証 737
デー タ ベース 452
ひ
比較
数 711, 802, 812
引数
イ ベン ト 192
関数お よ び イ ベン ト
110
PowerBuilder
索引
コ マ ン ド ラ イ ン 411
サーバ アプ リ ケーシ ョ ン 1173, 1179
ホ ッ ト リ ン ク 1171, 1178
ピ ク セル 889, 1237
ピ クチャ
ツ リ ービ ュ ー項目 1093
ツ リ ービ ュ ー コ ン ト ロ ール 358, 362
リ ス ト のオーバーレ イ ピ ク チ ャ 1101
リ ス ト ビ ュ ー コ ン ト ロ ール 357, 361, 362
リ ス ト ボ ッ ク ス 358
リ ッ チテ キ ス ト 709
ピ ク チ ャ 用の関数
ClassName 392
Drag 476
Draw 479
Hide 654
Move 817
PointerX 891
PointerY 892
PostEvent 905
Print 912
SetFocus 1087
SetPicture 1106
SetPosition 1108
SetRedraw 1115
Show 1151
TriggerEvent 1223
TypeOf 1233
ピ ク チ ャ リ ス ト ボ ッ ク ス用の関数
AddItem 354
AddPicture 358
DeletePicture 461
DeletePictures 461
FindItem 522
InsertItem 695
SelectedItem 1029
SelectItem 1038
SetTop 1142
State 1174
Text 1199
Top 1207
TotalItems 1209
TotalSelected 1209
ビ ジ ュ アル ユーザ オブジ ェ ク ト 84
日付
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Blob 442
DateTime デー タ 型 442, 446
間隔の決定 451
現行の取得 1206
月の日付を取得 448
動的に取得 581, 583
変換 443
文字列のチ ェ ッ ク 725
曜日 449, 450
日付 と 時刻用の関数
Day 448
DayName 449
DayNumber 450
DaysAfter 451
Hour 655
Minute 813
Month 816
Now 822
RelativeDate 964
RelativeTime 964
Second 1023
SecondsAfter 1023
Today 1206
Year 1255
ビ ッ ト マップ
印刷 919
ク リ ッ プボー ド か ら の検索 396
ピ ク チ ャ コ ン ト ロ ールへの配置 1106
リ ッ チテ キ ス ト 709
ビデオ モニ タ 588
描画オブジ ェ ク ト
SetFocus 関数 1088
イ ベン ト のポ ス ト 906
色の設定 989
表記規則 xxv
表示書式、 文字列への適用 1179
開いた ウ ィ ン ド ウ を上重ね表示 846
開いた ウ ィ ン ド ウ を重ねて表示 846
ふ
フ ァ イル
セキ ュ リ テ ィ と 共有違反
496, 498
1293
索引
デー タ の イ ン ポー ト 666
リ ン ク 763
フ ァ イ ルの保存レ ス ポ ン ス ウ ィ ン ド ウ 595
フ ァ イ ル名の フ ィ ル タ 589, 595
フ ァ イ ル用の関数
FileClose 491
FileDelete 493
FileExists 495
FileLength 495, 497
FileOpen 499
FileRead 503
FileReadEx 506
FileSeek 508, 509
FileWrite 511
FileWriteEx 513
GetFileOpenName 589
GetFileSaveName 595
フ ォーカ ス
行の長 さ 761
コ ン ト ロ ールの検索 599
設定 1087
選択 さ れた テ キ ス ト 1031, 1035, 1036, 1045
フ ォーム提示様式 1192
フ ォ ルダ 752
フォン ト
FontFamily カ タ ロ グ デー タ 型 923
FontPitch カ タ ロ グ デー タ 型 923
印刷時 915
印刷の定義 923
設定 939
デー タ ウ ィ ン ド ウ コ ン ト ロ ールの印刷時 923
と 印刷時の文字列の長 さ 945
名前 と サ イ ズ 924
符号な し Integer デー タ 型 28
符号な し Long デー タ 型 28
フ ッ タ 、 オブジ ェ ク ト の移動 1110
負の数 1156
部分文字列
検索 895, 898
置換 969, 973
抽出 809
プ リ プ ロ セ ッ サ シ ン ボル 19
プ リ ン タ の設定 937
プ リ ン タ の設定 ダ イ ア ロ グボ ッ ク ス 941
1294
フ レーム ウ ィ ン ド ウ 893, 1246, 1247
プ ロ セ ス間の メ ッ セージ 783
プ ロ セ ッ サ 588
プ ロ パテ ィ
GetFocus 関数 599
ウ ィ ン ド ウ 829, 831
取得 と 設定 540
幅 と 高 さ の設定 980
フ ォ ン ト 、 印刷 923
メ ッ セージ オブジ ェ ク ト 850
プ ロ パテ ィ 式、 Any デー タ 型 31
プロ フ ァ イル フ ァ イル
書 き 込み 1111
読み込み 947, 949
分散アプ リ ケーシ ョ ン
ConnectToServer 関数 423
DisconnectServer 関数 473
SharedObjectDirectory 関数 1146
SharedObjectGet 関数 1146
SharedObjectRegister 関数 1150, 1151
へ
平方根 1163
ページ
印刷 932
サ イ ズ 915
枠の印刷 931, 933, 934
ページ用の関数
ScrollNextPage 1017
ScrollPriorPage 1019
ヘ ッ ダ区域、 オブジ ェ ク ト の移動
ヘブ ラ イ 語の関数
IsAllHebrew 720
IsAnyHebrew 721
IsHebrew 726
IsHebrewAndNumbers 727
ヘルプ
Winhelp の呼出 し 1154
マ イ ク ロ ヘルプの表示 1099
ヘルプ検索 ウ ィ ン ド ウ 1154
変数
Blob か ら のデー タ の抽出 375
1110
PowerBuilder
索引
親の取得 882
開 く 830, 872
Blob へのデー タ の挿入 373
NULL か ど う かのチ ェ ッ ク 730
NULL に設定 9, 1101
OLEObject 419
SQL の参照 152
ア ク セ ス レベル 45
値の代入 43
イ ン ジ ケー タ 152
検索の順番 37
検証 738
初期値 と し ての式 44
初期値の宣言 42
宣言 35
宣言場所 35
デー タ 型 42
デフ ォ ル ト 値 42
名前 42
のデー タ 型の決定 392
ホ ス ト 152
リ テ ラ ルの代入 24, 25, 26, 28
ま
ほ
ポインタ
形の設定 1107
上部か ら の距離 892
端か ら の距離の判別 891
フ ァ イ ル 508, 509, 511, 513
ポ イ ン ト 位置のオブジ ェ ク ト を戻す
読み書 き 1024
ポ イ ン タ arrow 1107
ポ イ ン タ beam 1107
ポ イ ン タ hourglass 1107
ポ イ ン ト サ イ ズ 923
ホッ ト リ ンク
概要 1075
確立 1171
終了 1178
デー タ の ソ ース の判別 567
発信元の判別 566
ポ ッ プア ッ プ ウ ィ ン ド ウ
移動 817
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
823
マ イ ク ロ ヘルプ 1099
マウ ス
テ キ ス ト の選択 427
ポ イ ン タ の形の設定 1107
マ ウ ス ポ イ ン タ cross 1107
マス ク
照合 798
設定 1096
長 さ の レ ポー ト 761
文字列への適用 1180
マルチ ラ イ ン エデ ィ ッ ト 用の関数
CanUndo 382
Clear 394
Copy 425
Cut 437
LineCount 759
LineLength 761
Paste 883
Position 898
ReplaceText 971
Scroll 1016
SelectedLength 1030
SelectedLine 1031
SelectedStart 1034
SelectedText 1035
SelectText 1044
TextLine 1200
Undo 1236
み
未読 メ ッ セージ
783
め
命名規約 42
メ イン ウ ィ ンド ウ
817
1295
索引
メ ール用の関数
mailAddress 780
mailDeleteMessage 782
mailGetMessages 783
mailHandle 784
mailLogoff 785
mailLogon 786
mailReadMessage 788
mailRecipientDetails 791
mailResolveRecipient 792
mailReturnCode 787
mailSaveMessage 794
mailSend 797
メ タ 文字 798, 799
メ ッ セージ
ウ ィ ン ド ウへ送 る 1052
削除 782
ポ ス ト 機能 904
保存 794, 797
メ ッ セージ ID 配列 783
メ ッ セージ オブジ ェ ク ト
PowerObjectParm プ ロ パテ ィ 408
TriggerEvent 関数 1224
値指定 769
か ら の文字列の抽出 1182, 1184
作成 133
シー ト を開 く パ ラ メ ー タ 849
種類の決定 1235
パ ラ メ ー タ のア ク セ ス 872
プ ロ パテ ィ 858, 860, 868, 870
戻 り 値を閉 じ る 407
メ ッ セージ ボ ッ ク ス の タ イ ト ル 806
メ ニ ュー
Checked プ ロ パテ ィ 388
オブジ ェ ク ト の作成 133
シー ト 847
表示 893
変更 386
メ ニ ュ ー オブジ ェ ク ト
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
リ ス ト 752
メ ニ ュ ー用の関数
Check 388
1296
ClassName 392
Disable 470
Enable 482
PopMenu 893
Show 1151
TriggerEvent 1223
TypeOf 1233
Uncheck 1235
メモリ
可変長配列 1240
配列への割 り 当て 55
メ ール セ ッ シ ョ ン後の解放
メ ンバー、 OLE 803, 804, 805
785
も
文字
ASCII 値に変換す る 366, 367
大文字での表示の変換 778, 1239
照合 798
選択 1044
選択 さ れた 1030, 1034
抽出 387, 388, 809
配列 954
マ ス ク 1097
右端の文字を返す 990, 991
文字配列 1248
文字列
Char 型配列 80
Char に変換 80
入れ子 26
印刷の幅の決定 945
大文字 1239
継続 17
小文字 778
ス ト リ ームへの書 き 込み 1248
抽出 387, 388, 809
デー タ の イ ン ポー ト 670
動的に取得 586
内容の検出 725, 732, 735
比較 74
左端か ら スペース を削除 745, 747
PowerBuilder
索引
部分文字列の検索 895, 898
変換 367, 372, 379, 443, 453, 474, 770, 772, 955
連結 75
文字列での特殊な ASCII 文字 7
文字列の解析 895, 898
文字列の挿入 969, 973
文字列の比較 74
文字列用の関数 1179
Asc 366, 367
AscA 367
Char 387
CharA 388
Fill 515
FillW 515, 517
Left 743, 745
LeftC 745
LeftTrim 745, 747
LeftW 743, 745
Len 747, 749
Lower 778
Match 798
Mid 809
MidW 809
Pos 895
PosW 898
Replace 969, 973
Right 990
RightC 991
RightTrim 992
RightW 991
Space 1162
Trim 1227, 1228
Upper 1239
元のサ イ ズで開 き 重ねて表示 さ れ る ウ ィ ン ド ウ
850
元のデー タ ベース 1164
戻り値
TriggerEvent 関数 1224
イ ベン ト リ タ ーン コ ー ド 193
概要 113
先祖の イ ベン ト か ら の 119
メ ール セ ッ シ ョ ン 787
モニ タ 588
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
ゆ
ユーザ ID 787
ユーザ イ ベン ト
pbm_dwngraphcreate 1120
定義 さ れた 94
ユーザ オブジ ェ ク ト
概要 84
構造体の よ う に使用 さ れ る 88
構文か ら 再構築 758
構文 と し てエ ク ス ポー ト 756
作成 133
自動生成 さ れた 88
タ ブ ページ 853, 857
タ ブ ページ を閉 じ る 404
動的に作成 133
閉 じ る 406
パ イ プ ラ イ ン 1164
開 く 853, 854, 855, 862, 864, 866, 867
リ ス ト 752
ユーザ定義 イ ベン ト 191, 193
ユーザ名 792
ユニ フ ォーム デー タ 転送 563, 1073
よ
用紙送 り 、 指定 8
余弦 429
余白 915, 937, 1103
読み取 り 専用の引数
予約語 11
110
ら
ラ イブラ リ
オブジ ェ ク ト の削除 752, 754
か ら のオブジ ェ ク ト の貼 り 付け と リ ン ク
探索パス 363, 609, 1095
ラ イ ブ ラ リ 用の関数
LibraryCreate 750
LibraryDelete 751
LibraryDirectory 752
LibraryDirectoryEx 754
885
1297
索引
LibraryExport 756
LibraryImport 758
ラ ジ ア ン (弧度) 888
ラ ベル提示様式 1192
乱数
取得 951
乱数ジ ェ ネ レー タ の初期化
952
り
リスト
項目の削除 973
項目の追加 693
新規項目の追加 352
水平ス ク ロ ールバー 353
ソ ー ト さ れた 354
ラ イ ブ ラ リ のオブジ ェ ク ト 752, 754
リ ス ト ボ ッ ク ス の フ ァ イ ル 467
リ ス ト の水平ス ク ロ ールバー 353
リ ス ト ビ ュ ー コ ン ト ロ ールのカ ラ ム 1091
リ ス ト ビ ュ ーの レ ポー ト ビ ュ ー 605
リ ス ト ビ ュ ー用の関数
AddColumn 348
AddItem 355, 356
AddLargePicture 357
AddSmallPicture 361
AddStatePicture 362
Arrange 364
DeleteColumn 454
DeleteColumns 455
DeleteItem 458
DeleteLargePicture 460
DeleteLargePictures 460
DeleteSmallPicture 463
DeleteSmallPictures 463
DeleteStatePicture 464
DeleteStatePictures 464
EditLabel 480
FindItem 523, 525
GetColumn 548
GetItem 605
GetOrigin 617
InsertColumn 687
InsertItem 696
1298
SelectedIndex 1028
SetItem 1090
SetOverlayPicture 1101
Sort 1160
TotalColumns 1208
TotalItems 1209
TotalSelected 1209
リ ス ト ボ ッ ク ス用の関数
AddItem 352
DeleteItem 456
DirList 467
DirSelect 469
FindItem 522
InsertItem 694
Reset 973
SelectedIndex 1028
SelectedItem 1029
SelectItem 1038
SetState 1130
SetTop 1142
State 1174
Text 1199
Top 1207
TotalItems 1209
TotalSelected 1209
リ ッ チテ キ ス ト
印刷 917, 925
行間 1129
行の選択 1049
再検索 531
書式 618, 636, 641, 1103
書式 と と も に コ ピー 427, 886
すべて選択 1048
選択 1046
挿入ポ イ ン ト の決定 899
単語の選択 1050
デー タ 440, 678, 679, 680, 681, 682, 683
テ キ ス ト 設定 1132
テ キ ス ト の色 641, 1132
テ キ ス ト の検索 517
ド キ ュ メ ン ト のプ レ ビ ュ ー 733, 911
配置 540, 1060
フ ァ イ ルの保存 1012
プ レ ビ ュ ー 733
PowerBuilder
索引
ヘ ッ ダ と フ ッ タ の編集 1152
リ ッ チテ キ ス ト エデ ィ ッ ト 用の関数
CanUndo 382
Clear 394
Copy 425
CopyRTF 427
Cut 437
DataSource 440
Find 517
FindNext 531
GetAlignment 540
GetParagraphSetting 618
GetSpacing 636
GetTextColor 641
GetTextStyle 641
InputFieldChangeData 678
InputFieldCurrentName 679
InputFieldDeleteCurrent 680
InputFieldGetData 681
InputFieldInsert 682
InputFieldLocate 683
InsertPicture 709
IsPreview 733
LineCount 759
LineLength 761
Paste 883
PasteRTF 886
Position 899
Preview 911
Print 917
PrintEx 925
ReplaceText 971
SaveDocument 1012
Scroll 1016
ScrollNextPage 1017
ScrollNextRow 1018
ScrollPriorPage 1019
ScrollPriorRow 1020
ScrollToRow 1022
SelectedColumn 1027
SelectedLength 1030
SelectedLine 1031
SelectedPage 1033
SelectedStart 1034
SelectedText 1035
SelectText 1046
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
SelectTextAll 1048
SelectTextLine 1049
SelectTextWord 1050
SetAlignment 1060
SetParagraphSetting 1103
SetSpacing 1129
SetTextColor 1132
SetTextStyle 1132
ShowHeadFoot 1152
Undo 1236
リ ッ チテ キ ス ト の入力フ ィ ール ド 678, 679, 680,
681, 682, 683
リ テラル
指定 24, 25, 26, 28
デー タ 型 78
リ モー ト の DDE アプ リ ケーシ ョ ン 983
リ モー ト プ ロ シージ ャ コ ール
宣言 68
定義 さ れた 95
リ ンク
確立 763
ク リ ッ プボー ド の内容 885, 887
る
累乗 489
累乗演算子 72
ループ
概要 137
繰 り 返 し 140
現行の繰 り 返 し を ス キ ッ プ
外に移る 139
中断 1256
131
れ
レ イ ア ウ ト 923
レ スポン ス ウ ィ ン ド ウ
移動 817
閉 じ る 407
連結演算子 75
1299
索引
ろ
ロ ーカル変数 36
論理演算子 74
わ
ワー ク スペース
画面ま での距離 1246, 1247
高 さ の取得 1244
幅の取得 1245
枠
印刷 931, 933, 934
距離の指定 891, 892
1300
PowerBuilder
Fly UP