...

PowerScript リファレンス ボリューム 2

by user

on
Category: Documents
248

views

Report

Comments

Transcript

PowerScript リファレンス ボリューム 2
PowerScript® リファレンス
ボリューム 2
PowerBuilder®
10.2.1 C2
DOCUMENT ID: DC37782-01-1021-01
LAST REVISED: July 2007
Copyright © 1991-2007 by Sybase, Inc. All rights reserved.
本書に記載されているソフトウェアは、Sybase ライセンス契約に基づいて Sybase, Inc. が提供し、かかる契約の条項に従う
場合にのみ使用が許諾されます。
本書に記載されている内容は、Sybase, Inc. およびその関連会社の書面による許可なく、いかなる形態、または手段、電子
的、機械的、手作業、光学的およびその他にかかわらず、複製、転載および翻訳を禁じます。
Sybase, Sybase(ロ ゴ), AccelaTrade, ADA Workbench, Adaptable Windowing Environment, Adaptive Component Architecture,
Adaptive Server, Adaptive Server Anywhere, Adaptive Server Enterprise, Adaptive Server Enterprise Monitor, Adaptive Server
Enterprise Replication, Adaptive Server Everywhere, Adaptive Server IQ, Adaptive Warehouse, Anywhere Studio, Application
Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-Execute, APT-Translator, APT-Library, AvantGo, AvantGo
Application Alerts, AvantGo Mobile Delivery, AvantGo Mobile Document Viewer, AvantGo Mobile Inspection, AvantGo Mobile
Marketing Channel, AvantGo Mobile Pharma, AvantGo Mobile Sales, AvantGo Pylon, AvantGo Pylon Application Server, AvantGo
Pylon Conduit, AvantGo Pylon PIM Server, AvantGo Pylon Pro, Backup Server, BizTracker, ClearConnect, Client-Library, Client
Services, Convoy/DM, Copernicus, Data Pipeline, Data Workbench, DataArchitect, Database Analyzer, DataExpress, DataServer,
DataWindow, DB-Library, dbQueue, Developers Workbench, Direct Connect Anywhere, Distribution Director, e-ADK, E-Anywhere, eBiz Impact, e-Biz Integrator, E-Whatever, EC Gateway, ECMAP, ECRTP, eFulfillment Accelerator, Embedded SQL, EMS, Enterprise
Application Studio, Enterprise Client/Server, Enterprise Connect, Enterprise Data Studio, Enterprise Manager, Enterprise SQL Server
Manager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise Work Modeler, eProcurement Accelerator, EWA,
Financial Fusion, Financial Fusion Server, Gateway Manager, GlobalFIX, iAnywhere, ImpactNow, Industry Warehouse Studio,
InfoMaker, Information Anywhere, Information Everywhere, InformationConnect, InternetBuilder, iScript, Jaguar CTS, jConnect for
JDBC, Mail Anywhere Studio, MainframeConnect, Maintenance Express, Manage Anywhere Studio, M-Business Channel, M-Business
Network, M-Business Server, MDI Access Server, MDI Database Gateway, media.splash, MetaWorks, My AvantGo, My AvantGo
Media Channel, My AvantGo Mobile Marketing, MySupport, Net-Gateway, Net-Library, New Era of Networks, ObjectConnect,
ObjectCycle, OmniConnect, OmniSQL Access Module, OmniSQL Toolkit, Open Biz, Open Client, Open ClientConnect, Open Client/
Server, Open Client/Server Interfaces, Open Gateway, Open Server, Open ServerConnect, Open Solutions, Optima++, Orchestration
Studio, PB-Gen, PC APT Execute, PC DB-Net, PC Net Library, PocketBuilder, Pocket PowerBuilder, Power++, power.stop,
PowerAMC, PowerBuilder, PowerBuilder Foundation Class Library, PowerDesigner, PowerDimensions, PowerDynamo, PowerJ,
PowerScript, PowerSite, PowerSocket, Powersoft, PowerStage, PowerStudio, PowerTips, Powersoft Portfolio, Powersoft Professional,
PowerWare Desktop, PowerWare Enterprise, ProcessAnalyst, Rapport, RepConnector, Replication Agent, Replication Driver,
Replication Server, Replication Server Manager, Replication Toolkit, Report-Execute, Report Workbench, Resource Manager, RWDisplayLib, RW-Library, S-Designor, SDF, Secure SQL Server, Secure SQL Toolset, Security Guardian, SKILS, smart.partners,
smart.parts, smart.script, SQL Advantage, SQL Anywhere, SQL Anywhere Studio, SQL Code Checker, SQL Debug, SQL Edit, SQL
Edit/TPU, SQL Everywhere, SQL Modeler, SQL Remote, SQL Server, SQL Server Manager, SQL SMART, SQL Toolset, SQL Server/
CFT, SQL Server/DBM, SQL Server SNMP SubAgent, SQL Station, SQLJ, STEP, SupportNow, S.W.I.F.T. Message Format Libraries,
Sybase Central, Sybase Client/Server Interfaces, Sybase Financial Server, Sybase Gateways, Sybase MPP, Sybase SQL Desktop, Sybase
SQL Lifecycle, Sybase SQL Workgroup, Sybase User Workbench, SybaseWare, Syber Financial, SyberAssist, SyBooks, System 10,
System 11, System XI(ロ ゴ), SystemTools, Tabular Data Stream, TotalFix, TradeForce, Transact-SQL, UltraLite, UltraLite.NET,
UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit for UniCode, VisualWriter, VQL, WarehouseArchitect, Warehouse
Control Center, Warehouse Studio, Warehouse WORKS, Watcom, Watcom SQL, Watcom SQL Server, Web Deployment Kit, Web.PB,
Web.SQL, WebSights, WebViewer, WorkGroup SQL Server, XA-Library, XA-Server および XP Server は Sybase, Inc の登録商標で
す。
Unicode および Unicode のロゴは Unicode, Inc. の登録商標です。
本書で使用される会社名および製品名はそれぞれの会社の商標および登録商標です。
本書に記載されている内容は、将来予告なしに変更することがあります。また、本ソフトウェアおよび説明書を使用した
ことによる損害、または第三者からのいかなる請求についても、サイベース株式会社、その親会社である米国法人 Sybase,
Inc. またはその関連会社は、一切の責任を負わないものとします。
目次
本書について ............................................................................................................................... xvii
第 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 ...................................................................................
Cancel ..........................................................................................
CanUndo ......................................................................................
CategoryCount .............................................................................
CategoryName .............................................................................
Ceiling ..........................................................................................
ChangeDirectory ..........................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
321
322
322
323
325
326
327
330
335
336
337
339
340
341
342
343
344
345
346
347
348
348
350
351
352
354
357
358
359
360
361
362
iii
目次
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...............................................................................................
DeleteCategory ............................................................................
DeleteColumn ..............................................................................
iv
363
364
365
366
367
368
369
371
373
374
376
380
381
383
384
387
388
389
391
393
395
397
400
402
405
407
408
408
409
413
414
417
418
420
424
425
426
427
428
429
430
431
431
432
PowerBuilder
目次
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 ................................................................................
FileMove.......................................................................................
FileOpen.......................................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
433
433
434
437
438
438
439
439
440
441
441
442
442
443
444
444
446
448
448
450
451
452
453
454
456
457
459
461
462
463
464
468
468
469
470
470
471
472
472
474
475
476
477
478
v
目次
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........................................................
GetCertificateLabel ......................................................................
GetChildrenList ............................................................................
GetColumn ...................................................................................
GetCommandDDE .......................................................................
GetCommandDDEOrigin..............................................................
GetCompanyName ......................................................................
GetContextKeywords ...................................................................
GetContextService .......................................................................
GetCredentialAttribute..................................................................
GetCurrentDirectory .....................................................................
GetData........................................................................................
GetDataDDE ................................................................................
GetDataDDEOrigin.......................................................................
GetDataPieExplode......................................................................
GetDataStyle................................................................................
GetDataValue...............................................................................
vi
483
485
487
489
490
492
495
496
496
497
498
500
501
502
509
511
512
513
515
516
516
517
517
519
520
521
522
523
524
527
528
530
531
532
533
534
536
538
539
544
545
546
548
554
PowerBuilder
目次
GetDateLimits ..............................................................................
GetDisplayRange .........................................................................
GetDynamicDate ..........................................................................
GetDynamicDateTime ..................................................................
GetDynamicNumber.....................................................................
GetDynamicString ........................................................................
GetDynamicTime .........................................................................
GetEnvironment ...........................................................................
GetFileOpenName .......................................................................
GetFileSaveName ........................................................................
GetFirstSheet ...............................................................................
GetFixesVersion...........................................................................
GetFocus......................................................................................
GetFolder .....................................................................................
GetGlobalProperty .......................................................................
GetHostObject..............................................................................
GetItem ........................................................................................
GetItemAtPointer..........................................................................
GetLastReturn..............................................................................
GetLibraryList...............................................................................
GetMajorVersion ..........................................................................
GetMessage.................................................................................
GetMinorVersion ..........................................................................
GetName......................................................................................
GetNativePointer..........................................................................
GetNextSheet...............................................................................
GetOrigin......................................................................................
GetParagraphSetting ...................................................................
GetParent.....................................................................................
GetPin ..........................................................................................
GetRecordSet ..............................................................................
GetRemote...................................................................................
GetSelectedDate..........................................................................
GetSelectedRange.......................................................................
GetSeriesStyle .............................................................................
GetShortName .............................................................................
GetSpacing ..................................................................................
GetStatus .....................................................................................
GetTextColor................................................................................
GetTextStyle ................................................................................
GetToday .....................................................................................
GetToolbar ...................................................................................
GetToolbarPos .............................................................................
GetTransactionName ...................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
556
558
560
562
563
564
565
566
568
573
576
577
578
579
580
581
583
586
587
588
589
590
591
592
593
594
595
596
597
599
601
602
605
606
607
614
615
616
618
618
619
620
622
625
vii
目次
GetURL ........................................................................................
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..................................................................................
InsertPicture .................................................................................
InsertSeries ..................................................................................
Int .................................................................................................
Integer ..........................................................................................
InternetData .................................................................................
IntHigh..........................................................................................
IntLow...........................................................................................
InvokePBFunction ........................................................................
_Is_A ............................................................................................
IsAlive...........................................................................................
IsAllArabic ....................................................................................
viii
626
627
628
630
631
632
633
635
636
637
638
639
642
647
650
652
656
657
658
659
660
661
663
665
666
667
670
672
673
680
682
685
687
688
689
691
692
693
694
695
695
697
698
699
PowerBuilder
目次
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................................................................................
LibraryDirectory ............................................................................
LibraryDirectoryEx........................................................................
LibraryExport................................................................................
LibraryImport ................................................................................
LineCount.....................................................................................
LineLength ...................................................................................
LineList.........................................................................................
LinkTo ..........................................................................................
LoadInk ........................................................................................
LoadPicture ..................................................................................
Log ...............................................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
700
701
701
702
703
703
705
706
707
708
709
710
711
712
713
714
715
716
717
720
722
722
723
724
724
724
725
725
727
727
728
729
730
731
732
734
736
737
739
740
741
742
743
744
ix
目次
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 ...........................................................................................
Move ............................................................................................
MoveTab ......................................................................................
_Narrow........................................................................................
NextActivity ..................................................................................
Now ..............................................................................................
ObjectAtPointer ............................................................................
Object_To_String .........................................................................
OffsetPos .....................................................................................
Open ............................................................................................
OpenChannel ...............................................................................
OpenSheet ...................................................................................
x
746
747
749
751
757
757
759
761
762
764
765
766
768
770
772
774
777
779
782
782
783
784
785
787
789
791
792
792
793
793
794
795
797
798
800
801
802
803
805
807
808
809
825
827
PowerBuilder
目次
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.....................................................................................
PrintDataWindow .........................................................................
PrintDefineFont ............................................................................
PrintEx..........................................................................................
PrintGetPrinter .............................................................................
PrintGetPrinters............................................................................
PrintLine .......................................................................................
PrintOpen .....................................................................................
PrintOval ......................................................................................
PrintPage .....................................................................................
PrintRect ......................................................................................
PrintRoundRect ............................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
830
834
838
843
848
853
859
861
862
863
864
866
867
869
870
871
872
873
874
875
876
877
879
880
880
886
887
890
893
894
901
902
904
905
906
908
909
910
911
912
914
915
916
917
xi
目次
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.....................................................................................
Reset............................................................................................
ResetArgElements .......................................................................
ResetDataColors..........................................................................
ResetInk .......................................................................................
ResetPicture.................................................................................
Resize ..........................................................................................
Resolve_Initial_References .........................................................
RespondRemote ..........................................................................
Restart..........................................................................................
ResumeTransaction .....................................................................
Reverse........................................................................................
xii
919
920
922
923
924
925
926
927
929
930
931
932
934
937
937
938
941
942
943
944
945
946
948
949
950
950
951
952
953
954
956
957
958
958
961
962
964
964
965
966
968
969
970
972
PowerBuilder
目次
RevertToSelf ................................................................................ 972
RGB ............................................................................................. 973
Right ............................................................................................. 976
RightA .......................................................................................... 976
RightC .......................................................................................... 977
RightW ......................................................................................... 977
RightTrim...................................................................................... 977
RightTrimW .................................................................................. 978
RollbackOnly ................................................................................ 978
RollbackTransaction..................................................................... 980
Round........................................................................................... 981
RoutineList ................................................................................... 982
Run............................................................................................... 983
Save ............................................................................................. 985
SaveAs......................................................................................... 989
SaveDocument............................................................................. 997
SaveInk ........................................................................................ 999
Scroll .......................................................................................... 1001
ScrollNextPage .......................................................................... 1002
ScrollNextRow............................................................................ 1003
ScrollPriorPage .......................................................................... 1004
ScrollPriorRow ........................................................................... 1005
ScrollToRow ............................................................................... 1006
Second ....................................................................................... 1007
SecondsAfter.............................................................................. 1008
Seek ........................................................................................... 1009
SelectedColumn ......................................................................... 1011
SelectedIndex ............................................................................ 1012
SelectedItem .............................................................................. 1013
SelectedLength .......................................................................... 1014
SelectedLine .............................................................................. 1015
SelectedPage............................................................................. 1017
SelectedStart.............................................................................. 1017
SelectedText .............................................................................. 1019
SelectionRange.......................................................................... 1020
SelectItem .................................................................................. 1021
SelectObject............................................................................... 1026
SelectTab ................................................................................... 1026
SelectText .................................................................................. 1027
SelectTextAll .............................................................................. 1032
SelectTextLine ........................................................................... 1033
SelectTextWord.......................................................................... 1034
Send ........................................................................................... 1036
SeriesCount ............................................................................... 1038
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
xiii
目次
SeriesName ...............................................................................
SetAbort .....................................................................................
SetAlignment..............................................................................
SetArgElement ...........................................................................
SetAutomationLocale .................................................................
SetAutomationPointer ................................................................
SetAutomationTimeout...............................................................
SetBoldDate ...............................................................................
SetColumn .................................................................................
SetComplete ..............................................................................
SetData ......................................................................................
SetDataDDE...............................................................................
SetDataPieExplode ....................................................................
SetDataStyle ..............................................................................
SetDateLimits.............................................................................
SetDropHighlight ........................................................................
SetDynamicParm .......................................................................
SetFirstVisible ............................................................................
SetFocus ....................................................................................
SetGlobalProperty......................................................................
SetItem.......................................................................................
SetLevelPictures ........................................................................
SetLibraryList .............................................................................
SetMask .....................................................................................
SetMessage ...............................................................................
SetMicroHelp..............................................................................
SetNull........................................................................................
SetOverlayPicture ......................................................................
SetParagraphSetting..................................................................
SetPicture...................................................................................
SetPointer ..................................................................................
SetPosition .................................................................................
SetProfileString ..........................................................................
SetRange ...................................................................................
SetRecordSet.............................................................................
SetRedraw .................................................................................
SetRemote .................................................................................
SetResultSet ..............................................................................
SetSeriesStyle............................................................................
SetSelectedDate ........................................................................
SetSelectedRange .....................................................................
SetSpacing.................................................................................
SetState .....................................................................................
SetTextColor ..............................................................................
xiv
1039
1041
1044
1045
1046
1048
1049
1051
1053
1054
1057
1058
1060
1061
1067
1068
1069
1070
1071
1072
1074
1078
1079
1081
1082
1083
1084
1085
1087
1088
1089
1090
1093
1095
1096
1097
1098
1101
1102
1110
1111
1112
1113
1114
PowerBuilder
目次
SetTextStyle...............................................................................
SetTimeout.................................................................................
SetToday....................................................................................
SetToolbar..................................................................................
SetToolbarPos ...........................................................................
SetTop........................................................................................
SetTraceFileName .....................................................................
SetTransPool .............................................................................
SharedObjectDirectory ...............................................................
SharedObjectGet .......................................................................
SharedObjectRegister ................................................................
SharedObjectUnregister.............................................................
Show ..........................................................................................
ShowHeadFoot ..........................................................................
ShowHelp...................................................................................
ShowPopupHelp ........................................................................
Sign ............................................................................................
SignalError .................................................................................
Sin ..............................................................................................
Sleep ..........................................................................................
Sort.............................................................................................
SortAll.........................................................................................
Space .........................................................................................
Sqrt.............................................................................................
Start............................................................................................
StartHotLink ...............................................................................
StartServerDDE .........................................................................
State ...........................................................................................
StepIt ..........................................................................................
Stop ............................................................................................
StopHotLink................................................................................
StopServerDDE..........................................................................
String ..........................................................................................
String_To_Object .......................................................................
SuspendTransaction ..................................................................
SyntaxFromSQL.........................................................................
SystemRoutine...........................................................................
TabPostEvent.............................................................................
TabTriggerEvent ........................................................................
Tan .............................................................................................
Text ............................................................................................
TextLine .....................................................................................
Time ...........................................................................................
Timer ..........................................................................................
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
1115
1116
1117
1118
1120
1124
1125
1126
1129
1130
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1142
1144
1146
1147
1148
1156
1157
1159
1161
1162
1163
1164
1165
1171
1175
1176
1179
1181
1182
1183
1184
1185
1186
1189
xv
目次
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 .........................................................................................
UpperBound ...............................................................................
Which .........................................................................................
WordCap ....................................................................................
WorkSpaceHeight ......................................................................
WorkSpaceWidth .......................................................................
WorkSpaceX ..............................................................................
WorkSpaceY ..............................................................................
Write...........................................................................................
XMLParseFile.............................................................................
XMLParseString .........................................................................
Year............................................................................................
Yield ...........................................................................................
1190
1191
1192
1193
1194
1195
1196
1197
1199
1200
1202
1204
1205
1206
1208
1209
1212
1214
1214
1215
1216
1220
1222
1223
1224
1225
1226
1227
1229
1230
1231
1232
1233
1234
1235
1236
1240
1243
1244
Index ......................................................................................................................................... 1247
xvi
PowerBuilder
本書について
対象とする読者
このマニュアルは、PowerBuilder® を使ってクライアント サーバ
アプリケーション、多階層アプリケーション、または Web アプリ
ケーションの開発に携わっているプログラマを対象にしていま
す。
目的
このマニュアルは、PowerScript® 言語の変数、式、ステートメン
ト、イベント、および関数など、その構文と使い方について解説
しています。
2 つのボリューム
このマニュアルは、次の 2 つのボリュームに分かれています。
ボリューム
ボリューム 1
ボリューム 2
内容
第 1 章∼第 9 章
第 10 章(PowerScript の関数)
関連マニュアル
PowerBuilder のすべてのマニュアルの一覧については、
『PowerBuilder
入門』マニュアルを参照してください。
そのほかの参照情報
製品に関するそのほかの詳細情報については、Sybase のテクニカ
ル ライブラリ CD やテクニカル ライブラリ製品マニュアル Web
サイト(英語)を参照してください。
•
ソフトウェア付属のテクニカル ライブラリ CD には、製品マ
ニュアルが収められています。製品マニュアルは、PDF 形式
にて提供しています。
テクニカル ライブラリ CD の使い方については、テクニカル
ライブラリ CD 内の Readme.txt ファイルを参照してください。
テクニカル ライブラリ製品マニュアルの Web サイト(英語)
に
は、Product Manuals のサイト http://www.sybase.com/support/manuals/
からアクセスできます。
PowerScript リファレンス ボリューム 2
xvii
表記規則
このマニュアルは、以下の表記規則を使用します。
表記例
Retrieve と Update
意味
説明文で使用されている場合、左記のフォント
は次のいずれかを表します。
• コマンド名、関数名、メソッド名
• TRUE、FALSE、NULL などのキーワード
• Integer 型、Char 型などのデータ型
• emp_id、f_name などのデータベース カラム
名
変数(variable)または
ファイル名(file name)
• dw_emp、w_main などのユーザ定義オブ
ジェクト
説明文と構文の説明で使用された場合、斜体は
次のいずれかを表します。
• myCounter などの変数名
• 入力テキストで pblname.pbd など入力が必要
な部分
[ファイル|上書き保存]
dw_1.Update()
• ファイルとパス名
メニュー名やメニュー項目は、単純なテキスト
で記述されています。縦棒(|)は、メニュー
の選択順序を示します。たとえば、
[ファイル|
上書き保存]は、
「[ファイル]メニューから[上
書き保存]を選択する」ことを示します。
このフォントは、以下のいずれかを表します。
• ダイアログボックスやコマンド ラインに入
力する情報
• サンプル スクリプトの一部
• サンプル出力の一部
サポートについて
xviii
製品に同梱している「サポート ハンドブック」を参照してください。
PowerBuilder
第 1 0 章
PowerScript 関数
この章について
この章では、PowerScript 関数の構文、説明、および例を示します。
内容
以下に、各関数をアルファベット順にリストします。
関連項目
データウィンドウまたはデータストアに適用される関数について
は、
『データウィンドウ リファレンス』マニュアルも参照してくだ
さい。データウィンドウにのみ適用され、ほかの PowerBuilder コ
ントロールに適用されないメソッドは、
『データウィンドウ リファ
レンス』マニュアルにしか記載されていません。
PowerScript リファレンス ボリューム 2
321
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)
322
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
323
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!)
324
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
325
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 単位系
で指定します。
326
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
327
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 関数
を使用する場合に、項目を指定せずにデータを追加すると、項目のな
いデータ ポイントになります。これは、"" という名前の項目とは別の
ものになります。
328
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
329
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
リストボックス コントロールとドロップダウン リス
トボックス コントロールに項目を追加する
機能
リストボックスの値のリストに、新しい項目を追加します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール
330
PowerBuilder
第 10 章 PowerScript の関数
構文
listboxname.AddItem ( item )
引数
listboxname
item
説明
項目を追加するリストボックス コントロールまたはド
ロップダウン リストボックス コントロールの名前を指定
します。
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
331
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 を返します。
解説
ピクチャ インデックスを指定しなかった場合、新しく追加される項目
にピクチャが割り当てられません。
存在しないピクチャ インデックスを指定した場合でも、ピクチャ イン
デックスの番号は、ピクチャとともに格納されます。ピクチャをピク
チャ配列に追加すると、項目が対応するピクチャを示すようになりま
す。
332
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
333
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
334
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
335
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 関数の戻り値は、コントロールに関連付けられているピク
チャの数を報告します。
336
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 に指定されたグラフに追加します。
337
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("")
関連項目
338
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
339
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 プロパティ を指
定すると、ピクチャはそのプロパティで指定されたサイズになります。
340
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
341
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
342
説明
アイコンを整列させるリストビュー コントロールの名前
を指定します。
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
343
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 ...
344
PowerBuilder
第 10 章 PowerScript の関数
関連項目
AscA
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
// 最初の整数を文字に変換します。
PowerScript リファレンス ボリューム 2
345
ASin
hold_str = CharA(iarr[i])
// 整数の上位バイトを文字に変換した後で
// 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)
346
PowerBuilder
第 10 章 PowerScript の関数
TRY
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
347
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)を使用していることが必要です。
348
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
349
Blob
Blob
機能
文字列を Blob 型に変換します。
構文
Blob ( text {, encoding} )
引数
text
encoding
説明
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!)
関連項目
350
BlobEdit
BlobMid
String
PowerBuilder
第 10 章 PowerScript の関数
BlobEdit
機能
PowerBuilder のすべてのデータ型のデータを Blob 型の変数に挿入しま
す。
構文
BlobEdit ( blobvariable, n, data {, encoding} )
引数
blobvariable
n
data
encoding
説明
初期化した Blob 型の変数を指定します。指定された変数
に PowerBuilder の標準データ型のデータを挿入します。
データを挿入する blobvariable 内の位置(1 ∼ 4,294,967,295
の数値)を指定します。
blobvariable に挿入する PowerBuilder の標準データ型の
データを指定します。
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
PowerScript リファレンス ボリューム 2
351
BlobMid
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 ...
次の例は、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
(オプション)
戻り値
352
説明
Blob 型のデータを指定します。
取得する文字の開始位置(1 ∼ 4,294,967,295 の数値)を指
定します。
取得する文字の文字数(1 ∼ 4,294,967,295 の数値)を指定
します。
Blob 型。正常に終了した場合、data の n 番目の位置から length で指定
された文字数までを返します。n に指定された値が data の文字数より
も大きい場合、空の Blob 型データを返します。length と n を合わせた
ときに Blob 型の変数が含むバイト数より大きくなる場合、n 番目より
右にある文字が返されます。このとき、返される Blob 型のデータは指
定の長さより短いままになります。引数のいずれかの値が NULL の場
合、NULL を返します。
PowerBuilder
第 10 章 PowerScript の関数
文字数には区切り子を含める
String 型の変数には、0 区切り子が含まれています。取り出した文字数
を計算する場合には、区切り子も含めてください。
例
次の例は、まず、Blob 型の datablob の 5 番目の文字から 10 文字を取
り出して data_1 に格納します。次に、datablob の 5 番目の文字から残
りのすべての文字を取り出して data_2 に格納します。
blob data_1, data_2, datablob
... // 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
PowerScript リファレンス ボリューム 2
353
BuildModel
BuildModel
機能
SetTraceFileName 関数で指定したトレース ファイルに基づいて、パ
フォーマンス解析またはトレース ツリー モデルを構築します。オプ
ションの引数を指定すると、構築の進捗状況の監視や構築への割り込
みを行うことができます。
BuildModel 関数を呼び出す前に、SetTraceFileName 関数を使用して、モ
デル化するトレース ファイルを指定する必要があります。
対象
Profiling オブジェクトと TraceTree オブジェクト
構文
instancename.BuildModel ( { progressobject, eventname, triggerpercent } )
引数
instancename
progressobject
(オプション)
eventname
(オプション)
triggerpercent
(オプション)
戻り値
354
説明
Profiling オブジェクトまたは TraceTree オブジェクトのイ
ンスタンス名を指定します。
処理済みの操作の数を表す PowerObject 型を指定します。
String 型の値。定義するイベントの名前を指定します。
Long 型の値。eventname で指定したイベントを起動する前
に BuildModel 関数が処理する必要のある操作の割合を指
定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FileNotSetError! − TraceFileName が設定されていません。
•
ModelExistsError! − モデルはすでに構築されています。
•
EnterpriseOnlyFeature! − この関数は、PowerBuilder Enterprise 版で
のみサポートされています。
•
EventNotFoundError! − 渡された progressobject に対するイベント
が見つからないので、モデルを構築できません。
•
EventWrongPrototypeError! − イベントは見つかりましたが、適切
なプロトタイプがないのでモデルを構築できません。
•
SourcePBLError! − ソース ライブラリが見つからないので、モデル
を構築できません。
PowerBuilder
第 10 章 PowerScript の関数
解説
BuildModel 関 数 は、ト レ ー ス フ ァ イ ル か ら 生 デ ー タ を 取 得 し て、
PowerScript 言語の関数を実行できるオブジェクトにそれをマップしま
す。構築の進捗状況を記録しないでトレース ファイルのモデルを構築
する場合は、オプションの引数を指定しないで BuildModel を呼び出し
ます。モデルの作成中に進捗情報を受け取る場合、または完了までに
時間がかかりすぎる BuildModel に割り込む場合は、オプションの引数
を指定して BuildModel を呼び出します。
渡された progressobject に対するイベント eventname は、triggerpercent
引数で指定した割合の操作の処理が終わると起動します。
triggerpercent の値が 0 の場合は、eventname は操作ごとに起動します。
triggerpercent の値が 100 を超える場合は、eventname は起動しません。
このイベントは次の構文を使用して定義します。
eventname ( currentactivity, totalnumberofactivities )
引数
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()
PowerScript リファレンス ボリューム 2
355
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)
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
関連項目
356
SetTraceFileName
DestroyModel
PowerBuilder
第 10 章 PowerScript の関数
Cancel
機能
パイプライン オブジェクトの実行を停止します。
対象
パイプライン オブジェクト
構文
pipelineobject.Cancel ( )
引数
pipelineobject
説明
実行するパイプライン オブジェクトを含むパイプライン
ユーザ オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
Cancel 関数は、Start 関数または Repair 関数の実行中にだけ使用できま
す。
Cancel 関数を使用してパイプラインを停止すると、パイプラインが最
大エラー件数に達した場合と同じように、データがコミットされます。
パイプラインが最大エラー件数に達した場合のパイプラインの動作形
態は、開発者がデータ パイプライン ペインタで定義します。詳細につ
いては、
『PowerBuilder ユーザーズ ガイド』マニュアルを参照してくだ
さい。
例
次の例は、コマンドボタンの Clicked イベントに対するスクリプトに記
述されたステートメントです。パイプライン オブジェクト i_pipe の実
行を停止します。
i_pipe.Cancel()
関連項目
Repair
Start
PowerScript リファレンス ボリューム 2
357
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
関連項目
358
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
359
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)
関連項目
360
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 メソッド
PowerScript リファレンス ボリューム 2
361
ChangeDirectory
ChangeDirectory
機能
現行ディレクトリを変更します。
構文
ChangeDirectory ( directoryname )
引数
directoryname
戻り値
説明
String 型の値。現行ディレクトリに設定するディレクトリ
の名前を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
例
次の例では、現行ディレクトリを、現行ディレクトリの親ディレクト
リに変更し、新しい現行ディレクトリをシングルライン エディット コ
ントロールに表示します。
ChangeDirectory( ".." )
sle_1.text = GetCurrentDirectory( )
関連項目
362
CreateDirectory
GetCurrentDirectory
PowerBuilder
第 10 章 PowerScript の関数
ChangeMenu
機能
ウィンドウと関連付けられているメニューを変更します。ウィンドウ
が MDI フレームの場合、開いているシートのリストを現在アクティブ
なメニューに追加します。
対象
ウィンドウ オブジェクト
構文
windowname.ChangeMenu ( menuname {, position } )
引数
windowname
menuname
position
(MDI フレーム
ウィンドウの
み)
説明
メニューを変更するウィンドウの名前を指定します。
関連付けるメニューの名前を指定します。
開いているシートの名前を追加するメニューバーのメ
ニュー項目の番号を指定します。メニューバーのメニュー
項目は、左端から順番に 1 から番号が付けられます。デ
フォルトの設定(0)では、メニューバーの最後から 2 番
目のメニュー項目(または、使用可能なメニュー項目が 1
つしかない場合は最後のメニュー項目)に、開いている
シートのリストが表示されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合は、NULL を返しま
す。通常、戻り値は使用されません。
解説
MDI フレーム ウィンドウのメニューを変更している場合、アクティブ
なシートがメニューを持っているときには、新しいメニューは表示さ
れません。シートが独自のメニューを持っている場合には、フレーム
の非表示メニューと同じように、開いているシートのリストをシート
のメニュー上に表示します。
例
次のステートメントは、ウィンドウ オブジェクト w_Employee のトッ
プ レベルのメニューを m_Emp1 に変更します。
w_Employee.ChangeMenu(m_Emp1)
PowerScript リファレンス ボリューム 2
363
Char
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
関連項目
364
Asc
CharA
PowerBuilder
第 10 章 PowerScript の関数
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 メソッド
PowerScript リファレンス ボリューム 2
365
Check
Check
機能
ドロップダウン メニューまたはカスケード メニューの項目の先頭に
チェックマークを表示し、その項目の Checked プロパティを TRUE に
します。
対象
メニュー オブジェクト
構文
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()
例
366
次のステートメントは、メニュー m_Appl のドロップダウン メニュー
m_View にあるメニュー項目 m_Grid の先頭に、チェックマークを表示
します。
PowerBuilder
第 10 章 PowerScript の関数
m_Appl.m_View.m_Grid.Check()
関連項目
Uncheck
ChooseColor
機能
標準の色選択 ダイアログボックスを表示します。
構文
ChooseColor ( color {, customcolors [ ] } )
引数
color
customcolors
(オプション)
説明
Long 型の値。ダイアログボックスで選択された色を表す
参照によって渡されます。
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
PowerScript リファレンス ボリューム 2
367
ClassList
ClassList
機能
パフォーマンス解析モデルに含まれているクラスのリストを返します。
対象
Profiling オブジェクト
構文
instancename.ClassList ( list )
引数
instancename
list
戻り値
説明
Profiling オブジェクトのインスタンス名を指定します。
ProfileClass データ型の可変長の配列変数を指定します。
ClassList 関数は、モデルに含まれている各クラスの
ProfileClass オブジェクトをこの配列変数に保存します。
この引数は、参照渡しされます。
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
関連項目
368
BuildModel
PowerBuilder
第 10 章 PowerScript の関数
ClassName
オブジェクトのクラス、または変数のデータ型を返します。
関数が返す内容
オブジェクトのクラス
変数のクラス(データ型)
使用する構文
構文 1
構文 2
構文 1
オブジェクトのクラスを返す
機能
指定されたオブジェクトのクラス(名前)を返します。
対象
すべてのコントロール
構文
controlname.Classname ( )
引数
controlname
説明
コントロールの名前を指定します。スタイルを設定するダ
イアログボックスで、このコントロールに割り当てられて
いる名前(コントロールのクラス)を返します。
戻り値
String 型。controlname に指定されているコントロールのクラス(コン
トロールに割り当てられている名前)を返します。エラーが発生した
場合、空の文字列("")を返します。また、controlname に指定されて
いるコントロールの名前が NULL の場合、NULL を返します。
解説
クラスとは、オブジェクトの名前のことです。オブジェクトの名前は、
ペインタでオブジェクトを保存するときに付けます。通常、クラスと
オブジェクトは同じものとして表されます。これは、PowerBuilder が
オブジェクトのクラスと同じ名前を使用して変数を宣言するからで
す。ただし、1 つのオブジェクトに対して複数のインスタンスを宣言
している場合、オブジェクトのクラスとオブジェクトの変数の名前は
異なります。
先祖オブジェクトが子孫オブジェクトのインスタンスになっている場
合、ClassName 関数を使用して子孫オブジェクトの名前を確認できま
す。
TypeOf 関数は、オブジェクトの組み込みオブジェクト データ型を返し
ます。このデータ型は、オブジェクトのカタログ データ型の値です。
たとえば、Window! や CheckBox! などです。ClassName 関数は、先祖と
子孫の階層構造を表すオブジェクトのクラスを返します。
PowerScript リファレンス ボリューム 2
369
ClassName
例
次のステートメントは、ドラッグされたコントロール Source のクラス
を返します。
DragObject Source
string which_class
Source = DraggedObject()
which_class = Source.ClassName()
次のステートメントは、コントロール配列内のオブジェクトのクラス
を返し、オブジェクトのクラスを配列 the_class に格納します。
string the_class[]
windowobject the_object[]
integer i
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
370
説明
変数の名前を指定します。指定された変数の名前(変数の
データ型)を返します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
String 型。variable に指定された変数のデータ型(名前)を返します。
variable に指定された変数がカタログ データ型の場合、またはエラー
が発生した場合には、空の文字列("")を返します。また、variable に
指定された変数の名前が NULL の場合、NULL を返します。
解説
variable に指定された変数がカタログ データ型の場合、ClassName 関数
はデータ型を判断できません。この場合、空の文字列("")を返します。
例
gd_double がグローバルな Double 型の変数の場合、変数 varname に
double を設定します。
string varname
varname = ClassName(gd_double)
Clear
機能
指定されたコントロールから、選択したテキストや OLE オブジェクト
を削除します。削除したテキストやオブジェクトは、クリップボード
には格納されません。
対象
データウィンドウ、エディットマスク、InkEdit、マルチライン エディッ
ト、シングルライン エディット、リッチテキスト エディット、ドロッ
プダウン リストボックス、ドロップダウン ピクチャ リストボックス、
OLE の各コントロール、OLEStorage オブジェクト
構文
objectname.Clear ( )
引数
objectname
説明
以下のいずれかを指定します。
• 選択されたテキストを消去するデータウィンドウ コン
トロール、エディットマスク、マルチライン エディッ
ト、シングルライン エディット、リッチテキスト エ
ディット、ドロップダウン リストボックス、ドロップ
ダウン ピクチャ リストボックスのいずれかのコント
ロールの名前
• OLE オブジェクトを解放する OLE コントロールの名前、
またはストレージ オブジェクト変数(OLEStorage 型)の
名前
objectname にドロップダウン リストボックス コントロー
ルまたはドロップダウン ピクチャ リストボックス コント
ロールの名前を指定した場合には、AllowEdit プロパティ
を TRUE にしておく必要があります。
PowerScript リファレンス ボリューム 2
371
Clear
戻り値
データウィンドウ、InkEdit、およびリストボックスの場合は Integer 型、
ほかのコントロールの場合は Long 型
編集可能なコントロールに対しては、objectname に指定されたコント
ロールから消去した文字数を返します。テキストが選択されていな
かった場合、文字を消去せずに 0 を返します。エラーが発生した場合、
-1 を返します。
OLE コントロールやストレージ変数に対しては、正常に終了した場合
は 0 を返し、エラーが発生した場合は -9 を返します。
objectname に指定されたコントロールの名前が NULL の場合、NULL を
返します。
解説
削除するテキストを選択するには、マウスやキーボードを使用します。
スクリプト内で SelectText 関数を呼び出す方法もあります。
削除するテキストをクリップボードに格納しておく場合には、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()
372
PowerBuilder
第 10 章 PowerScript の関数
次の例は、OLEStorage オブジェクト変数 olest_stuff のオブジェクトを
消去します。また、olest_stuff 内でオブジェクトを開いているすべての
OLE コントロールを解放します。
integer result
result = olest_stuff.Clear()
関連項目
Close
Cut
Paste
ReplaceText
SelectText
ClearBoldDates
機能
SetBoldDate 関数で設定された日付の太字設定を解除します。
対象
月表示カレンダ コントロール
構文
controlname.ClearBoldDates ( )
引数
controlname
説明
日付の太字設定を解除する月表示カレンダ コントロール
の名前を指定します。
戻り値
Integer 型。成功した場合は 0 を返し、失敗した場合は -1 を返します。
解説
休日などの選択された日付を太字で表示するには、SetBoldDate 関数を
使用します。ClearBoldDates 関数は、この太字の設定をすべて解除しま
す。個別の日付の太字設定を解除するには、SetBoldDate 関数の onoff パ
ラメータに FALSE を指定します。
例
次の例は、コントロール monthCalVacations 内の太字設定をすべて解除
します。
integer li_return
li_return = monthCalVacation.ClearBoldDates()
関連項目
SetBoldDate
PowerScript リファレンス ボリューム 2
373
Clipboard
Clipboard
クリップボードの内容を取り出したり、置き換えたりします。
目的
クリップボードの内容を取り出す、または指定された
テキストに置き換える
クリップボードの内容をグラフのビットマップ画像
に置き換える
使用する構文
構文 1
構文 2
構文 1
クリップボードの内容をテキストに置き換える
機能
クリップボードの内容を取り出すか、またはテキストに置き換えます。
構文
Clipboard ( { string } )
引数
string
(オプション)
戻り値
説明
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)
374
PowerBuilder
第 10 章 PowerScript の関数
構文 2(および『データウィンドウ リファレンス』マニュアル)に記
載されているデータウィンドウ バージョンの Clipboard 関数は、グラフ
にしか適用されません。
例
次のステートメントは、クリップボードの内容を変数 ls_CoName に格
納します。
string ls_CoName
ls_CoName = Clipboard()
次のステートメントは、クリップボードの内容を Heading にコピーし
た後、クリップボードの内容を "Employee Data" という文字列に置き換
えます。
string Heading
Heading = Clipboard("Employee Data")
次のステートメントは、マルチライン エディット コントロール mle_terms
で選択したテキストをクリップボードの内容と置き換えます。
mle_terms.ReplaceText(Clipboard())
次のステートメントは、スタティック テキスト コントロール
st_welcome の内容とクリップボードの内容を入れ替えます。
st_welcome.Text = Clipboard(st_welcome.Text)
関連項目
Clear
Copy
Cut
Paste
Replace
ReplaceText
構文 2
クリップボードの内容をグラフのビットマップに置
き換える
機能
クリップボードの内容をグラフのビットマップ画像に置き換えます。
クリップボードにコピーされた画像は、ほかのアプリケーションに貼
り付けることができます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ オブジェクト、
データウィンドウ上およびデータストア上のグラフ
PowerScript リファレンス ボリューム 2
375
Close
構文
name.Clipboard ( { graphobject } )
引数
name
graphobject
(データウィンド
ウ コントロールお
よびデータストア
オブジェクトの場
合のみ)(オプ
ション)
説明
クリップボードにコピーするグラフの名前、あるいは
クリップボードにコピーするグラフを含むデータウィ
ンドウ コントロールまたはデータストア オブジェク
トの名前を指定します。
String 型の値。クリップボードにコピーするデータウィ
ンドウ オブジェクト上のグラフ コントロールの名前
を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合は、NULL を返しま
す。
例
次のステートメントは、グラフ gr_products_data をクリップボードにコ
ピーします。
gr_products_data.Clipboard()
次のステートメントは、データウィンドウ コントロール dw_emp_data
上のグラフ gr_employees をクリップボードにコピーします。
dw_emp_data.Clipboard("gr_employees")
Close
ウィンドウ、OLE ストレージ、OLE ストリーム、トレース ファイルの
いずれかを閉じます。
閉じる対象
ウィンドウ オブジェクト
OLEStorage オブジェクト変数。オブジェクトを保存
し、オブジェクトとストレージ ファイル、またはオ
ブジェクトとストレージ オブジェクトとの間の接続
を解除します。
指定された OLEStream オブジェクト変数に関連付け
られたストリーム
トレース ファイル
376
使用する構文
構文 1
構文 2
構文 3
構文 4
PowerBuilder
第 10 章 PowerScript の関数
構文 1
ウィンドウを閉じる
機能
ウィンドウを閉じ、ウィンドウとウィンドウ上のすべてのコントロー
ルが使用している記憶領域を解放します。
対象
ウィンドウ オブジェクト
構文
Close ( windowname )
引数
windowname
説明
閉じるウィンドウの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。windowname に指定されたウィンドウの名前が NULL の
場合、NULL を返します。通常、戻り値は使用されません。
解説
この構文は、ウィンドウを閉じ、ウィンドウとウィンドウ上のすべての
コントロールが使用している記憶領域を解放する場合に使用します。
Close 関数が呼び出されると、PowerBuilder はウィンドウをビューから
削除し、ウィンドウを閉じます。CloseQuery イベントと Close イベン
トにスクリプトが記述されている場合、そのスクリプトを実行します。
最後に、Close 関数を呼び出したスクリプトの残りのステートメントを
実行します。
ウィンドウを閉じた後には、そのプロパティ、インスタンス変数、コ
ントロールをスクリプトから参照できなくなります。残りのスクリプ
ト内に、閉じたウィンドウ、閉じたウィンドウのプロパティ、インス
タンス変数を参照するステートメントがある場合には、実行時にエ
ラーが発生します。
ウィンドウが閉じないようにする方法
CloseQuery イベントのスクリプト内で、1 のリターン コードでウィン
ドウが閉じないようにすることができます。RETURN ステートメント
を使用します。
例
次のステートメントは、ウィンドウ w_employee を閉じた後、ウィンド
ウ w_departments を開きます。
Close(w_employee)
Open(w_departments)
次の例は、Close 関数を呼び出した後、CloseQuery イベントに対するス
クリプトに記述されたステートメントです。アプリケーションを終了
してもよいかどうかを確認するメッセージを表示し、エンド ユーザの
応答が No の場合にウィンドウが閉じないようにします。
PowerScript リファレンス ボリューム 2
377
Close
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
result = olest_stuff.Close()
関連項目
378
Open
Save
SaveAs
PowerBuilder
第 10 章 PowerScript の関数
構文 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
戻り値
説明
TraceFile オブジェクトのインスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FileNotOpenError! − トレースファイルが開かれていません。
PowerScript リファレンス ボリューム 2
379
CloseChannel
解説
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 サーバ アプリケーションに対する
チャネルを閉じます。
380
PowerBuilder
第 10 章 PowerScript の関数
通常、チャネルのハンドルを指定して 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 関数は、タブ ページとして開いているユーザ オブジェクトを
閉じ、そのオブジェクトとオブジェクトのコントロールが使用してい
たメモリを解放します。
PowerScript リファレンス ボリューム 2
381
CloseTab
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
関連項目
382
OpenTab
PowerBuilder
第 10 章 PowerScript の関数
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)
PowerScript リファレンス ボリューム 2
383
CloseWithReturn
次の例は、ユーザ オブジェクトを閉じるメニュー項目を選択した場合
の処理を、メニュー項目のスクリプトから抜粋したものです。選択し
たメニュー項目と関連するユーザ オブジェクト 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 関数を使用すると、ウィ
ンドウを閉じ、そのウィンドウやウィンドウ内のコントロールが使用
していたメモリを解放して値を返すことができます。
384
PowerBuilder
第 10 章 PowerScript の関数
Close 関数と同じように、CloseWithReturn 関数も画面からウィンドウを
消去してから閉じます。次に、CloseQuery イベントと Close イベント
に対するスクリプトがある場合、そのスクリプトを実行します。この
場合、イベントのスクリプトを実行する前に、returnvalue に指定され
たデータ型の値がメッセージ オブジェクト内に格納されます。最後
に、CloseWithReturn 関数を呼び出したスクリプト内の残りのステート
メントを実行します。
ウィンドウを閉じた後には、そのプロパティ、インスタンス変数、コ
ントロールをスクリプトから参照できなくなります。残りのスクリプ
ト内に、閉じたウィンドウ、閉じたウィンドウのプロパティ、インス
タンス変数を参照するステートメントがある場合には、実行時にエ
ラーが発生します。
PowerBuilder では、オブジェクトのデータ型に応じたメッセージ オブ
ジェクトのプロパティに、returnvalue に指定されたデータ型の値が格
納されます。CloseWithReturn 関数を呼び出したスクリプト内で、戻り
値のデータ型に応じたメッセージ オブジェクトのプロパティを指定
して最新の戻り値にアクセスできます。
表 10-1: 戻り値を格納する Message オブジェクトのプロパティ
戻り値のデータ型
数値型
PowerObject 型(たとえば、構造体)
String 型
Message オブジェクトのプロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
構造体として複数の値を返す方法
複数の値を返すには、その値を格納するユーザ定義の構造体を定義し、
レスポンス ウィンドウを開いたスクリプト内のメッセージ オブジェ
クトの PowerObjectParm プロパティにアクセスします。構造体は値で
渡されるので、元の値がなくなった場合でもそのデータにアクセスす
ることができます。
コントロールを参照する方法
ユーザ オブジェクトおよびコントロールには、値ではなく参照が渡さ
れ ま す。ウ ィ ン ド ウ を 閉 じ た 後 は コ ン ト ロ ー ル が な い の で、
ClodeWithReturn 関数を使用してコントロールに参照を返すことはでき
ません。そのかわりに、そのコントロールのプロパティの値を返します。
PowerScript リファレンス ボリューム 2
385
CloseWithReturn
ウィンドウが閉じないようにする方法
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
関連項目
386
Close
OpenSheetWithParm
OpenUserObjectWithParm
OpenWithParm
PowerBuilder
第 10 章 PowerScript の関数
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)
関連項目
ExpandItem
ExpandAll
FindItem
PowerScript リファレンス ボリューム 2
387
CommandParm
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
388
PowerBuilder
第 10 章 PowerScript の関数
// 引数を取得して、文字列の前後から
// スペースを取り除きます。
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
PowerScript リファレンス ボリューム 2
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
Boolean 型。呼び出し元のスレッドと関連付けられてい
るトランザクションに対するヒューリスティックな判
断を通知すべきかどうかを指定します。
389
CommitTransaction
戻り値
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(
390
PowerBuilder
第 10 章 PowerScript の関数
ELSE
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 クラス名が見つかりません。
PowerScript リファレンス ボリューム 2
391
ConnectToNewObject
-3 オブジェクトを作成できません。
-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
392
PowerBuilder
第 10 章 PowerScript の関数
MessageBox("COM オブジェクトへの接続に失敗しました ", &
" エラー :" + 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 クラス名が見つかりません。
PowerScript リファレンス ボリューム 2
393
ConnectToNewRemoteObject
-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")
関連項目
394
ConnectToObject
ConnectToRemoteObject
PowerBuilder
第 10 章 PowerScript の関数
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 を返します。
PowerScript リファレンス ボリューム 2
395
ConnectToObject
解説
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")
396
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
説明
OLE オブジェクトに接続する OLEObject 変数の名前を指
定します。OLE コントロールの Object プロパティである
OLEObject を指定することはできません。
String 型の値。COM サーバが置かれているリモート ホス
トの名前を指定します。
397
ConnectToRemoteObject
引数
filename
classname
(オプション)
戻り値
説明
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 には使用で
きません。
解説
398
OLEObject 変数は、OLE オートメーションに使用されます。つまり、
PowerBuilder のアプリケーションはサーバ アプリケーションに対して
プログラムどおりに OLE オブジェクトを処理するように指示します。
ConnectToRemoteObject 関数は、リモートによる起動をサポートする
サーバだけで使用できます。
PowerBuilder
第 10 章 PowerScript の関数
以下の情報は、リモート ホスト上での 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
PowerScript リファレンス ボリューム 2
399
ConnectToServer
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 を使用してサーバ アプリケーションに接続します。
400
PowerBuilder
第 10 章 PowerScript の関数
// グローバル変数:
// connection myconnect
long ll_rc
myconnect = create connection
myconnect.driver = "jaguar"
myconnect.location = "Jagserver1:9000"
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
PowerScript リファレンス ボリューム 2
401
Copy
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 オブジェクトをクリップボードにコ
ピーします。コピー元のテキストやオブジェクトは変更されません。
対象
データウィンドウ、InkEdit、マルチライン エディット、シングルライ
ン エディット、リッチテキスト エディット、ドロップダウン リスト
ボックス、ドロップダウン ピクチャ リストボックス、OLE の各コン
トロール、OLE DWObject( データウィンドウ コントロール上のデータ
ウィンドウ オブジェクト上にあるオブジェクト)
構文
objectref.Copy ( )
402
PowerBuilder
第 10 章 PowerScript の関数
引数
objectref
説明
以下のいずれかを指定します。
• クリップボードにコピーするテキストを含むデータ
ウィンドウ、エディットマスク、InkEdit、マルチライン
エディット、シングルライン エディット、リッチテキ
スト エディット、ドロップダウン リストボックス、ド
ロップダウン ピクチャ リストボックスのいずれかのコ
ントロールの名前
• クリップボードにコピーするオブジェクトを含むデー
タウィンドウ コントロール上の OLE DWObject の名前、
または OLE コントロールの名前
DWObject の名前は、次のような完全な名前で指定します。
dwcontrol.Object.dwobjectname
objectref にデータウィンドウ コントロールの名前を指定
した場合、テキストは現行の行とカラムのエディット コン
トロールからコピーされます。objectref にドロップダウン
リストボックス コントロールまたはドロップダウン ピク
チャ リストボックス コントロールの名前を指定した場
合、AllowEdit プロパティを TRUE にしておく必要があり
ます。
戻り値
データウィンドウ、InkEdit、およびリストボックスの場合は Integer 型、
ほかのコントロールの場合は Long 型
リッチテキスト エディット コントロールの場合、Long 型を返します。
そのほかのエディット コントロールと OLE オブジェクトの場合は、
Integer 型を返します。
エディット コントロールの場合、クリップボードにコピーされた文字
数を返します。objectref に指定されたコントロールでテキストが選択
されていない場合、文字をコピーせずに 0 を返します。エラーが発生
した場合、-1 を返します。
OLE コントロールと OLE DWObject の場合、正常に終了したときは 0
を返します。エラーが発生したときは、次のいずれかの値を返します。
-1
-2
-9
コントロールが空です。
正しくコピーできませんでした。
そのほかのエラーです。
objectref に指定されたコントロールの名前が NULL の場合、NULL を返
します。
PowerScript リファレンス ボリューム 2
403
Copy
解説
コピーするテキストを選択するには、マウスやキーボードを使用しま
す。スクリプト内で 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()
関連項目
404
Clear
Clipboard
Cut
Paste
ReplaceText
SelectText
PowerBuilder
第 10 章 PowerScript の関数
CopyRTF
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウで選択されているテキスト、ピクチャ、入
力フィールドを、リッチテキスト形式の文字列として返します。ビッ
トマップと入力フィールドは、文字列に含まれます。
対象
データウィンドウ コントロール、データストア オブジェクト、リッチ
テキスト エディット コントロール
構文
rtename.CopyRTF ( { selected {, band } } )
引数
rtename
selected
(オプション)
説明
データウィンドウ コントロール、データストア オブジェ
クト、またはリッチテキスト エディット コントロールの
名前を指定します。指定されたコントロールまたはオブ
ジェクトで選択されている内容を、リッチテキスト形式で
コピーします。データウィンドウ コントロールまたはデー
タストア オブジェクトのデータウィンドウ オブジェクト
は、リッチテキスト データウィンドウでなければなりま
せん。
Boolean 型の値。コピーする内容(選択されているテキス
トだけをコピーするかどうか)を指定します。値は以下の
とおりです。
• TRUE − (デフォルト)選択されているテキストのみ
• FALSE − 区域のすべての内容
band
(オプション)
Band カタログ データ型の値。テキストのコピー元の区域
を指定します。値は以下のとおりです。
• Detail! − 詳細区域
• Header! − ヘッダ区域
• Footer! − フッタ区域
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
戻り値
String 型。選択されているテキストを文字列として返します。
次の場合、空の文字列("")を返します。
•
何も選択されていない場合に、selected に TRUE が指定されている
とき
•
エラーが発生した場合
PowerScript リファレンス ボリューム 2
405
CopyRTF
解説
CopyRTF 関数は、クリップボードを必要としません。コピーされた情
報は、文字列に格納されます。標準のクリップボードの機能(コピーと
切り取り)を使用すると、クリップボードには書式設定されていないテ
キストが格納されます。
RTF 形式のテキストを別のリッチテキスト エディット コントロール
に貼り付けるには、PasteRTF 関数を使用します。
RTF 形式の詳細については、『アプリケーション テクニック』マニュ
アルの「リッチテキストの作成方法」を参照してください。
例
次のステートメントは、リッチテキスト エディット コントロール
rte_message で選択されているテキストを返し、ls_richtext に格納しま
す。
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)
関連項目
406
PasteRTF
PowerBuilder
第 10 章 PowerScript の関数
Cos
機能
角度の余弦を計算します。
構文
Cos ( n )
引数
n
説明
余弦を計算する角度(ラジアン)を指定します。
戻り値
Double 型。n の余弦を返します。n が NULL の場合、NULL を返します。
例
次のステートメントは、1 を返します。
Cos(0)
次のステートメントは、0.540302 を返します。
Cos(1)
次のステートメントは、-1 を返します。
Cos(Pi(1))
関連項目
ACos
Pi
Sin
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Cos メソッド
PowerScript リファレンス ボリューム 2
407
Cpu
Cpu
機能
アプリケーションが起動されてからの CPU の経過時間を調べます。
構文
Cpu ( )
戻り値
Long 型。PowerBuilder アプリケーションが起動されてからの CPU 経過
時間をミリ秒単位で返します。
例
次のステートメントは、ステートメント グループが実行されてからの
CPU 経過時間を調べます。
// 変数 ll_start と ll_used を Long 型の整数として宣言します。
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
戻り値
説明
String 型の値。作成するディレクトリの名前を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
例
次の例では、現行パスに新しいサブディレクトリを作成し、その新し
いサブディレクトリを現行ディレクトリに設定します。
string ls_path="my targets"
integer li_filenum
CreateDirectory ( ls_path )
li_filenum = ChangeDirectory( ls_path )
関連項目
408
GetCurrentDirectory
RemoveDirectory
PowerBuilder
第 10 章 PowerScript の関数
CreateInstance
中間層サーバ上で動作するリモート オブジェクトのインスタンスを
作成します。
リモート オブジェクトのインスタンスを作成する場所
PowerBuilder クライアントから
EAServer または COM+ コンポーネントの中から
使用する構文
構文 1
構文 2
構文 1
リモート サーバ上のオブジェクトのインスタンスを
作成する
機能
EAServer 上で動作するコンポーネントのインスタンスを作成します。
この関数は、PowerBuilder クライアントからリモート オブジェクトを
インスタンス化するのに使用します。さらに、EAServer 上で動作する
コンポーネントの中で、ほかのサーバ上で動作する別のコンポーネン
トをインスタンス化するためにも使用できます。
対象
接続オブジェクト
構文
connection.CreateInstance (objectvariable {, classname } )
引数
connection
説明
接続を確立するのに使用する接続オブジェクトの名前を
指定します。
objectvariable
データ型が、作成されるオブジェクトのクラスか、その
クラスの先祖と同じクラスである、グローバル変数、イ
ンスタンス変数あるいはローカル変数
classname
String 型の値。作成するクラスのデータ型の名前を指定し
(オプション) ます。オプションで、クラス名の前にスラッシュで区切っ
てパッケージ名を指定することもできます(たとえば、
「mypkg/mycomponent」など)。
戻り値
Long 型。正常に終了した場合は 0 を返します。エラーが発生した場合
は、以下のいずれかの値を返します。
50
52
53
54
55
56
57
62
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
PowerScript リファレンス ボリューム 2
409
CreateInstance
解説
CreateInstance 関数を呼び出す前に、サーバに接続しなければなりませ
ん。そのためには、ConnectToServer 関数を呼び出す必要があります。
CreateInstance 関数を使用すると、リモート サーバ上にオブジェクトを
作成することができます。オブジェクトをローカルに作成する場合は、
CREATE 文を使用する必要があります。
クライアント アプリケーションにリモート オブジェクトのクラス定
義を配布する場合、クライアント上の定義は、サーバ アプリケーショ
ンに配布されたリモート オブジェクト定義と同じ名前になります。こ
のような方法で宣言された変数は、ローカル オブジェクトまたはリ
モート オブジェクトに対する参照を保持することができます。した
がって、実行時にアプリケーションの要件に応じて、CREATE 文を使用
してオブジェクトをローカルにインスタンス化することもできるし、
CreateInstance 関数を使用してリモートでインスタンス化することもで
きます。どちらの場合でも、オブジェクトを作成すると、その物理的
な位置はオブジェクトを使用するクライアント側スクリプトに対して
透過的になります。
例
以下のステートメントは、テストの結果に応じてローカルまたはリ
モートでオブジェクトを作成します。これらのステートメントでは、
リモート オブジェクトの作成には CreateInstance 関数を使用し、ローカ
ル オブジェクトの作成には CREATE 文を使用しています。
boolean bWantRemote
connection myconnect
uo_customer iuo_customer
// リモート オブジェクトとローカル オブジェクトの
// どちらを作成するかを決定します。
...
// 次に、オブジェクトを作成します。
IF bWantRemote THEN
// リモート オブジェクトを作成します。
IF myconnect.CreateInstance(iuo_customer) <> 0 THEN
// エラー処理
...
END IF
ELSE
// ローカル オブジェクトを作成します。
iuo_customer = CREATE uo_customer
END IF
//
//
//
IF
410
オブジェクトの関数を呼び出します。
関数呼び出しは、オブジェクトがサーバとクライアントの
どちらで作成された場合でも同じです。
isValid(iou_customer) THEN
PowerBuilder
第 10 章 PowerScript の関数
iuo_customer.GetCustomerData()
END IF
関連項目
ConnectToServer
構文 2
現行のサーバ上のコンポーネントのインスタンスを
作成する
機能
現行の EAServer または COM+ サーバ上で動作するコンポーネントの
インスタンスを作成します。この関数は、EAServer または COM+ 上で
動作するコンポーネント インスタンスの中から呼び出されます。
対象
TransactionServer オブジェクト
構文
transactionserver.CreateInstance (objectvariable {, classname } )
引数
transactionserver
objectvariable
classname
(オプション)
説明
TransactionServer サービス インスタンスへの参照を指
定します。
データ型が、作成されるオブジェクトのクラスか、そ
のクラスの先祖と同じクラスである、グローバル変
数、インスタンス変数あるいはローカル変数
String 型の値。作成するクラスのデータ型の名前を指
定します。
EAServer コンポーネントの場合は、オプションで、
クラス名の前にスラッシュで区切ってパッケージ名
を指定することもできます(たとえば、
「mypackage/mycomponent」など)。
COM+ コンポーネントの場合は、オプションで、クラ
ス名の前にピリオドを付けて ProgID を指定すること
もできます(たとえば、
「PowerBuilder.HTMLDataWindow」など)。
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
50
52
53
54
55
56
57
62
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
PowerScript リファレンス ボリューム 2
411
CreateInstance
解説
TransactionServer コンテキスト オブジェクトに対して CreateInstance 関
数を実行すると、現行のサーバ上で動作するほかの EAServer または
COM+ コンポーネントにアクセスすることができます。
EAServer 上では、TransactionServer の CreateInstance メソッドによって
EAServer のネーム サービスが呼び出され、プロキシが作成されます。
リモート コンポーネントのプロキシは、ローカルで実行されているイ
ンスタンスではなく、ネーム サービスから返される場合があります。
ローカルのインスタンスを使用するには、コンポーネント名として
“local:package/component” を指定します。package はパッケージ名、
component はコンポーネント名です。コンポーネントが同じサーバにイ
ンストールされていない場合、呼び出しはエラーになります。
TransactionServer コンテキスト オブジェクトに対して CreateInstance 関
数を実行する場合、この関数を呼び出したコンポーネントに適用され
るものと同じユーザおよびパスワードの情報を使用します。
トランザクション コンテキスト サービスを使用する前に、
TransactionServer 型の変数を宣言し、GetContextService 関数を呼び出し
て、このサービスのインスタンスを作成する必要があります。
例
以下のステートメントでは、ある 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)
412
PowerBuilder
第 10 章 PowerScript の関数
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
CreatePage
機能
まだ作成されていない場合にタブ ページを作成します。
対象
タブ ページとして使用されているユーザ オブジェクト
構文
userobject.CreatePage ( )
引数
userobject
戻り値
説明
作成するタブ ページの名前を指定します。
Integer 型。以下のいずれかの値を返します。ページが正常に作成され
た場合は 1 を返し、ページがすでに作成されている場合には 0 を、タ
ブ ページでない場合は -1 を返します。
1 − タブ ページは正常に作成されました。
0 − タブ ページはすでに作成されています。
-1 − ユーザ オブジェクトがタブ ページではありません。
PowerScript リファレンス ボリューム 2
413
Cut
解説
多くのコントロールを含むタブ ページを画面に描画するのを後まわ
しにすれば、ウィンドウが開くまでの時間を短縮できます。ただし、
コントロールの 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
関連項目
PageCreated
Cut
機能
指定されたコントロールから、選択しているテキストまたは OLE オブ
ジェクトを削除し、クリップ ボードにコピーします。このときに、削
除したデータでクリップボードのデータを置き換えます。
対象
データウィンドウ、InkEdit コントロール、マルチライン エディット コ
ントロール、シングルライン エディット コントロール、ドロップダウ
ン リストボックス コントロール、ドロップダウン ピクチャ リスト
ボックス コントロール、OLE コントロール
構文
controlname.Cut ( )
414
PowerBuilder
第 10 章 PowerScript の関数
引数
controlname
説明
切り取るテキストやオブジェクトを含んでいるデータウィ
ンドウ、InkEdit、マルチライン エディット、シングルライ
ン エディット、リッチテキスト エディット、ドロップダウ
ン リストボックス、ドロップダウン ピクチャ リストボック
ス、OLE のいずれかのコントロールの名前を指定します。
controlname にデータウィンドウ コントロールの名前を指
定した場合、現行の行と現行のカラムの上にあるエディッ
ト ボックスからテキストを切り取ります。controlname で
ドロップダウン リストボックス コントロールまたはド
ロップダウン ピクチャ リストボックス コントロールを指
定する場合、AllowEdit プロパティは TRUE でなければな
りません。
戻り値
データウィンドウ、InkEdit、およびリストボックスの場合は Integer 型、
ほかのコントロールの場合は Long 型
編集可能なコントロールの場合、controlname に指定されたコントロー
ルから切り取ってクリップボードにコピーした文字数を返します。テ
キストが選択されていない場合、切り取り処理を行わずに 0 を返しま
す。エラーが発生した場合、-1 を返します。
OLE コントロールの場合、正常に終了したときは 0 を返します。エ
ラーが発生したときは、次のいずれかの値を返します。
-1
-2
-9
コントロールが空です。
切り取りに失敗しました。
そのほかのエラーです。
controlname に指定されたコントロールの名前が NULL の場合、NULL を
返します。
解説
削除するテキストを選択するには、マウスやキーボードを使用します。
スクリプト内で SelectText 関数を呼び出す方法もあります。リッチテキ
スト エディット コントロールの場合は、SelectTextAll 関数、SelectTextLine
関数、または SelectTextWord 関数を使用してテキストを選択することも
できます。
クリップボードの内容をコントロール内に挿入するには、Paste 関数を
使用します。
選択したテキストや OLE オブジェクトをクリップボードにコピーし
ないで削除したい場合には、Clear 関数を使用します。
OLE オブジェクトを切り取ると、Clear 関数を使用した場合と同じよう
に、OLE オブジェクトとオブジェクトの元のファイル、または OLE オ
ブジェクトとストレージとの接続が解除されます。
PowerScript リファレンス ボリューム 2
415
Cut
例
たとえば、mle_emp_address 内のテキスト "Temporary" が選択されてい
るとします。次のステートメントは、mle_emp_address から "Temporary"
を削除し、クリップボードにコピーして 9 を返します。
mle_emp_address.Cut()
次の例は、OLE コントロール ole_1 内の OLE オブジェクトを切り取っ
てクリップボードにコピーします。
integer result
result = ole_1.Cut()
関連項目
416
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
417
DataSource
DataSource
機能
リッチテキスト エディット コントロールが、データウィンドウとデー
タを共有し、リッチテキスト エディット コントロールの入力フィール
ドにデータを表示できるようにします。リッチテキスト エディット コ
ントロールの入力フィールドがデータウィンドウのカラムの名前と一
致する場合、データウィンドウのデータはその入力フィールドに割り
当てられます。リッチテキスト エディット コントロールの文書は、繰
り返し表示されます。このため、データウィンドウの各行に、その文
書のインスタンスが作成されます。
対象
リッチテキスト エディット コントロール
構文
rtename.DataSource ( dwsource )
引数
rtename
dwsource
説明
データウィンドウからデータを取得するリッチテキスト エ
ディット コントロールの名前を指定します。
rtename に指定された入力フィールドに接続しているデー
タを含むデータウィンドウ コントロール、データストア、
または子データウィンドウの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
入力フィールドの名前がデータウィンドウ オブジェクトのカラムの
名前と一致する場合、カラムのデータはその入力フィールドに割り当
てられます。
リッチテキスト エディット コントロールの文書は、データウィンドウ
の一行に関連付けられています。検索された各行に、文書のインスタ
ンスがあります。リッチテキスト エディット コントロールのテキスト
は、すべての書式設定とともに、各文書のインスタンスで繰り返し表
示されます。各行のデータが変更されるたびに、入力フィールドの内
容は変更されます。入力フィールドの内容以外の各インスタンスの内
容は同じです。つまり、各インスタンスの入力フィールド以外のテキ
ストを変更することはできません。
リッチテキスト エディット コントロールの InputFieldNamesVisible プ
ロパティが TRUE の場合、フィールドには、含まれるデータではなく
フィールド名が表示されます。データを参照するには、このプロパティ
の値を FALSE に変更します。
418
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
419
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
420
説明
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
421
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
422
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 に指定された整数値を日付の形式で返しま
す。無効な値(有効な日付の範囲外の値)が 1 つでも指定された場合、
1900-01-01 を返します。引数のいずれかの値が NULL の場合は、NULL
が返されます。
例
以下に、整数値を使用して ld_my_date に 2004-10-15 を代入するステー
トメントを示します。
date ld_my_date
ld_my_date = Date(2004, 10, 15)
関連項目
DateTime
DaysAfter
RelativeDate
RelativeTime
PowerScript リファレンス ボリューム 2
423
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)
関連項目
424
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
Day
機能
Date 型の値から月の日付の部分を取り出します。
構文
Day ( date )
引数
date
PowerScript リファレンス ボリューム 2
説明
Date 型の値を指定します。日の部分を取り出します。
425
DayName
戻り値
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
関連項目
Date
IsDate
Month
Year
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Day メソッド
DayName
機能
指定された Date 型の値の曜日名を返します。
構文
DayName ( date )
引数
date
戻り値
426
説明
Date 型の値を指定します。曜日名を取得します。
String 型。date に指定された日付の曜日名(日曜日、月曜日など)を表
す文字列を返します。date が NULL の場合、NULL を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
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
DayNumber
機能
Date 型の値が週の何日目にあたるかを返します。
構文
DayNumber ( date )
引数
date
戻り値
説明
Date 型の値を指定します。週の何日目にあたるかを取得し
ます。
Integer 型。date で指定した日付が週の何日目にあたるかを表す 1 ∼ 7
の整数を返します。日曜日が 1、月曜日が 2 ... となります。date が NULL
の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
427
DaysAfter
例
以下に、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
関連項目
Day
DayName
IsDate
『データウィンドウ リファレンス』マニュアルの DayNumber
DaysAfter
機能
2 つの日付の間の日数を計算します。
構文
DaysAfter ( date1, date2 )
引数
date1
date2
戻り値
説明
Date 型の値を指定します。指定された日からの間隔日数を
計算します。
Date 型の値を指定します。指定された日までの間隔日数を
計算します。
Long 型。date1 と date2 の間の日数値を表す Long 型の値を返します。
date2 が date1 よりも前の日付の場合、負の値を返します。引数のいず
れかの値が NULL の場合、NULL を返します。
428
PowerBuilder
第 10 章 PowerScript の関数
例
次のステートメントは、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
『データウィンドウ リファレンス』マニュアルの DaysAfter
DBHandle
機能
DBMS(データベース管理システム)に対するハンドルを返します。
対象
トランザクション オブジェクト
構文
transactionobject.DBHandle ( )
引数
transactionobject
PowerScript リファレンス ボリューム 2
説明
実在するトランザクション オブジェクトを指定しま
す。
429
DebugBreak
戻り値
UnsignedLong 型。DBMS に対するインタフェース ハンドルを返しま
す。transactionobject に、実在するトランザクション オブジェクトを指
定します。また、データベースが接続されている必要があります。
transactionobject が NULL の場合、NULL を返します。transactionobject が
存在しない場合は、実行エラーが発生します。DBMS に接続するため
の十分なメモリがない場合、DBHandle は負数を返します。
解説
DBHandle 関数は、データベースに接続している場合にだけ、有効なハ
ンドルを返します。この関数は、データベースが接続されていなかっ
たり接続が解除されていたりするかどうかを判断することはできませ
ん。
PowerBuilder は、データベース ハンドルを内部的に使用してデータ
ベースと通信します。PowerBuilder がサポートしていない関数を使用
した API をデータベースがサポートしている場合、DBHandle 関数を使
用してそのハンドルを取得し、その外部関数の引数として与えます。
例
例についてはオンラインヘルプの「DBHandle」を検索して、参照して
ください。
DebugBreak
機能
実行を中断し、デバッガ ウィンドウを開きます。
構文
DebugBreak ( )
戻り値
なし
解説
スクリプトの実行を中断してアプリケーションを調べるポイントに、
DebugBreak 関数の呼び出しを挿入します。次に、ジャストインタイム
デバッグを有効にし、開発環境でアプリケーションを実行します。
PowerBuilder が DebugBreak 関数を検出すると、デバッガ ウィンドウが
開いて現行のコンテキストが表示されます。
例
次に、変数が NULL かどうかをテストし、NULL の場合はデバッガ ウィ
ンドウを開くステートメントを示します。
IF IsNull(auo_ext) THEN DebugBreak()
430
PowerBuilder
第 10 章 PowerScript の関数
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
DeleteCategory
機能
グラフの項目軸から、項目とその項目に対するデータ値を削除します。
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
PowerScript リファレンス ボリューム 2
431
DeleteColumn
構文
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
説明
カラムを削除するリストビュー コントロールの名前を指
定します。
削除するカラムのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リストビュー コントロールの 2 番目のカラムを削除します。
lv_list.DeleteColumn(2)
関連項目
432
DeleteColumns
PowerBuilder
第 10 章 PowerScript の関数
DeleteColumns
機能
すべてのカラムを削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteColumns ( )
引数
listviewname
説明
すべてのカラムを削除するリストビュー コントロールの
名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リストビュー コントロールのすべてのカラムを削除します。
lv_list.DeleteColumns()
関連項目
DeleteColumn
DeleteData
機能
グラフのデータ系列からデータ ポイントを削除します。データ系列内
の残ったデータ ポイントは左にシフトして、その項目のデータ ポイン
トが詰められます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.DeleteData ( seriesnumber, datapointnumber )
引数
controlname
seriesnumber
datapointnumber
戻り値
説明
データ ポイントを削除するグラフ コントロールの名前
を指定します。
controlname に指定されたグラフから削除するデータ ポ
イントがあるデータ系列の番号を指定します。
削除するデータがあるデータ ポイントの番号を指定し
ます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
433
DeleteItem
例
以下に、グラフ 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
リストボックス コントロールとドロップダウン リス
トボックス コントロールの項目を削除する
機能
リストボックス コントロールの値のリストから項目を削除します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.DeleteItem ( index )
引数
listboxname
index
434
説明
項目を削除するリストボックス、ドロップダウン リスト
ボックス、ピクチャ リストボックス、ドロップダウン ピ
クチャ リストボックスのいずれかのコントロールの名前
を指定します。
削除する項目の位置を示す番号を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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
構文 2
リストビュー コントロールから項目を削除する
機能
指定された項目をリストビュー コントロールから削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteItem ( index )
引数
listviewname
index
戻り値
説明
項目を削除するリストビュー コントロールの名前を指定
します。
削除する項目のインデックス番号を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
435
DeleteItem
例
次の例では、選択されたリストビューの項目のインデックスを
SelectedIndex 関数を使用して検索し、対応する項目を削除します。
integer index
index = lv_list.selectedindex()
lv_list.DeleteItem(index)
関連項目
AddItem
FindItem
InsertItem
SelectItem
DeleteItems
構文 3
ツリービュー コントロールから項目を削除する
機能
コントロールから項目を削除し、その項目の子項目があればそれも削
除します。
対象
ツリービュー コントロール
構文
treeviewname.DeleteItem ( itemhandle )
引数
treeviewname
itemhandle
説明
項目を削除するツリービュー コントロールの名前を指定
します。
削除する項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
すべての項目が最上位レベルの単一項目の子である場合、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
436
PowerBuilder
第 10 章 PowerScript の関数
tv_1.DeleteItem(tvi_hdl)
LOOP
関連項目
AddItem
FindItem
InsertItem
SelectItem
DeleteItems
DeleteItems
機能
リストビュー コントロールから、すべての項目を削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteItems ( )
引数
listviewname
説明
すべての項目を削除するリストビュー コントロールの名
前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールのすべての項目を削除しま
す。
lv_list.DeleteItems()
関連項目
DeleteItem
PowerScript リファレンス ボリューム 2
437
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()
関連項目
438
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
439
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))
関連項目
440
AddSeries
DeleteCategory
DeleteData
PowerBuilder
第 10 章 PowerScript の関数
FindSeries
DeleteSmallPicture
機能
リストビュー コントロールから、小さいピクチャを削除します。
対象
リストビュー コントロール
構文
listviewname.DeleteSmallPicture ( index )
引数
listviewname
index
説明
小さいピクチャのリストから小さいピクチャを削除する
リストビュー コントロールの名前を指定します。
削除する小さいピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、小さいピクチャを削除
します。
lv_list.DeleteSmallPicture(1)
関連項目
DeleteSmallPictures
DeleteSmallPictures
機能
リストビュー コントロールから、すべての小さいピクチャを削除しま
す。
対象
リストビュー コントロール
構文
listviewname.DeleteSmallPictures ( )
引数
listviewname
戻り値
説明
小さいピクチャのリストからすべてのピクチャを削除す
るリストビュー コントロールの名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
441
DeleteStatePicture
例
次の例では、リストビュー コントロールから、すべての小さいピク
チャを削除します。
lv_list.DeleteSmallPictures()
関連項目
DeleteSmallPicture
DeleteStatePicture
機能
コントロールから、状態ピクチャを削除します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.DeleteStatePicture ( index )
引数
controlname
index
説明
状態ピクチャのリストからピクチャを削除するリスト
ビュー コントロールまたはツリービュー コントロールの
名前を指定します。
削除する状態ピクチャのインデックス番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、状態ピクチャを削除し
ます。
lv_list.DeleteStatePicture(1)
関連項目
DeleteStatePictures
DeleteStatePictures
機能
コントロールから、すべての状態ピクチャを削除します。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.DeleteStatePictures ( )
引数
controlname
442
説明
状態ピクチャのリストからすべてのピクチャを削除する
リストビュー コントロールまたはツリービュー コント
ロールの名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例では、リストビュー コントロールから、すべての状態ピクチャ
を削除します。
lv_list.DeleteStatePictures()
関連項目
DeleteStatePicture
DestroyModel
機能
現行のパフォーマンス解析モデルまたはトレース ツリー モデルを破
棄します。
対象
Profiling オブジェクトと TraceTree オブジェクト
構文
instancename.DestroyModel ( )
引数
instancename
戻り値
説明
Profiling オブジェクトまたは TraceTree オブジェクトのイ
ンスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しないため、関数は異常終了
しました。
解説
BuildModel 関数を使用して作成したパフォーマンス解析またはトレー
ス ツリー モデルの使用が終了した場合、DestroyModel 関数を呼び出し
て、モデルを破棄しなければなりません。また、そのモデルに関連付
けられているオブジェクトもすべて破棄しなければなりません。モデ
ルに割り当てられたメモリは、オブジェクトが破棄されるまで解放さ
れません。
例
次の例では、BuildModel 関数を使用して作成したパフォーマンス分析モ
デルを破棄します。
lpro_model.DestroyModel()
DESTROY lpro_model
関連項目
BuildModel
PowerScript リファレンス ボリューム 2
443
DirectoryExists
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
関連項目
FileMove
GetCurrentDirectory
RemoveDirectory
DirList
機能
ファイルのリストをリストボックスに格納します。パス、マスク、ファ
イルの種類を指定して、表示するファイルの集合を制限することがで
きます。ウィンドウにスタティックテキスト コントロールがある場
合、DirList 関数を使用して現行のドライブとディレクトリも表示できま
す。
444
PowerBuilder
第 10 章 PowerScript の関数
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
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 を返します。
解説
DirLisr 関数を使用すると、ウィンドウが開いたときにリストボックスに
ファイル リストを表示することができます。DirList 関数を
SelectionChanged イベントのスクリプトに記述し、選択された項目に応
じてリストボックスを作成し直し、それを表示することもできます。
DirSelect 関数の例を参照してください。
PowerScript リファレンス ボリューム 2
445
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)
関連項目
DirSelect
GetFolder
DirSelect
機能
DirList 関数を使用して作成されたリストボックスにおいて、現在選択
されている項目を取得し、それを文字列変数に格納します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
446
PowerBuilder
第 10 章 PowerScript の関数
構文
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
... // ファイルの処理
END IF
関連項目
DirList
GetFolder
PowerScript リファレンス ボリューム 2
447
Disable
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()
関連項目
Enable
DisableCommit
機能
コンポーネントのトランザクション更新に矛盾があり、現状ではコ
ミットできないことを宣言します。
対象
TransactionServer オブジェクト
構文
transactionserver.DisableCommit ( )
引数
transactionserver
448
説明
TransactionServer サービス インスタンスへの参照を指
定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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
関連項目
EnableCommit
IsInTransaction
IsTransactionAborted
SetAbort
SetComplete
Which
PowerScript リファレンス ボリューム 2
449
DisconnectObject
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")
. . . // 何らかの処理
result = myoleobject.DisconnectObject()
関連項目
450
ConnectToObject
ConnectToNewObject
PowerBuilder
第 10 章 PowerScript の関数
DisconnectServer
機能
クライアント アプリケーションをサーバ アプリケーションから接続
解除します。
対象
接続オブジェクト
構文
connection.DisconnectServer ( )
引数
connection
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの値を返します。
50
52
53
54
55
56
57
62
解説
説明
削除する接続を確立するために使用した接続オブジェク
トの名前を指定します。
分散サービス エラーです。
分散通信エラーです。
リクエスト先のサーバがアクティブではありません。
サーバがリクエストを受け付けません。
リクエストが異常終了しました。
リクエストへの応答が不完全です。
接続されていません。
サーバがビジーです。
サーバ アプリケーションから接続を解除した後、クライアント アプリ
ケーションは接続オブジェクトを破棄する必要があります。
DisconnectServer 関数は、クライアント接続のために作成されたリモー
ト オブジェクトとプロキシ オブジェクトをすべて破棄します。
例
次の例では、接続オブジェクト myconnect を使用して、クライアント
アプリケーションをサーバ アプリケーションから接続解除します。
myconnect.DisconnectServer()
destroy myconnect
関連項目
ConnectToServer
PowerScript リファレンス ボリューム 2
451
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 関数の例を参照してください。
関連項目
452
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
453
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 を返します。
454
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
455
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!
456
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
457
Draw
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
関連項目
458
Move
PowerBuilder
第 10 章 PowerScript の関数
EditLabel
リストビュー コントロールまたはツリービュー コントロール内のラ
ベルを編集モードにします。
ラベルを編集するコントロール
リストビュー コントロール
ツリービュー コントロール
使用する構文
構文 1
構文 2
構文 1
リストビュー コントロールのラベルを編集する
機能
リストビュー コントロール内のラベルを編集モードにします。
対象
リストビュー コントロール
構文
listviewname.EditLabel ( index )
引数
listviewname
index
説明
ラベルを編集するリストビュー コントロールを指定します。
編集するリストビューの項目のインデックスを指定します。
戻り値
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
PowerScript リファレンス ボリューム 2
459
EditLabel
構文 2
ツリービュー コントロールのラベルを編集する
機能
ツリービュー コントロール内のラベルを編集モードにします。
対象
ツリービュー コントロール
構文
treeviewname.EditLabel ( itemhandle )
引数
treeviewname
itemhandle
説明
ラベルの編集を有効にするツリービュー コントロールを
指定します。
編集する項目のハンドルを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ラベルの編集を有効にするためには、ツリービューの EditLabels プロ
パティを TRUE に設定する必要があります。このプロパティが TRUE の
ときは、EditLabel 関数を呼び出すと項目にフォーカスが設定され、編
集が可能になります。ラベルの編集を終えた後に編集を無効にするに
は、EndLabelEdit イベントで EditLabels プロパティを FALSE に設定し
ます。
EditLabels プロパティが FALSE に設定されていると、EditLabel 関数を
実行しても編集が有効にはなりません。
例
次に、エンド ユーザが現行のツリービューの項目のラベルを編集でき
るようにする例を示します。
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem!, 0)
tv_list.EditLabels = TRUE
tv_list.EditLabel(ll_tvi)
関連項目
460
FindItem
PowerBuilder
第 10 章 PowerScript の関数
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()
関連項目
Disable
PowerScript リファレンス ボリューム 2
461
EnableCommit
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
関連項目
462
DisableCommit
IsInTransaction
IsTransactionAborted
Lookup
SetAbort
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
463
ExecRemote
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 サーバ アプリケーションに送信 構文 1
する(コールド リンク)
チャネルを開いた後、コマンドを DDE サーバ アプリ 構文 2
ケーションに送信する(ウォーム リンク)
構文 1
1 つのコマンドを送信する
機能
1 つのコマンドを DDE サーバ アプリケーションに送信します。これを
コールド リンクといいます。
構文
ExecRemote ( command, applname, topicname )
引数
command
applname
topicname
464
説明
String 型の値。DDE サーバ アプリケーションが実行するコ
マンドを指定します。コマンドの形式については、サーバ
アプリケーションのマニュアルを参照してください。
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
String 型の値。コマンドで使用するデータまたは DDE アプ
リケーションのインスタンスを指定します。たとえば
Microsoft Excel の場合、この引数には "system"、または開
かれているスプレッドシートの名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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")
関連項目
CloseChannel
GetRemote
OpenChannel
SetRemote
StartHotLink
PowerScript リファレンス ボリューム 2
465
ExecRemote
構文 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 参照)
。
466
PowerBuilder
第 10 章 PowerScript の関数
ウォーム リンクは、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))
関連項目
CloseChannel
GetRemote
OpenChannel
SetRemote
PowerScript リファレンス ボリューム 2
467
Exp
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
戻り値
468
説明
項目、および階層構造でその項目の下位にあるすべての項
目を展開するツリービュー コントロールを指定します。
展開する項目のハンドルを指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
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)
関連項目
CollapseItem
ExpandAll
FindItem
PowerScript リファレンス ボリューム 2
469
Fact
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
470
PowerBuilder
第 10 章 PowerScript の関数
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)
PowerScript リファレンス ボリューム 2
471
FileDelete
関連項目
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
472
説明
エンコーディングの種類を調べるファイルの名前を指定し
ます。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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 =
(ll_filenum, ls_unicode)
end if
FileClose(ll_filenum)
関連項目
Blob
FileClose
FileOpen
FileReadEx
FileWriteEx
String
PowerScript リファレンス ボリューム 2
473
FileExists
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!)
関連項目
474
FileDelete
PowerBuilder
第 10 章 PowerScript の関数
FileLength
機能
サイズが 2GB までのファイルの長さをバイト数で返します。
構文
FileLength ( filename )
引数
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
PowerScript リファレンス ボリューム 2
475
FileLength64
LengthA = FileLength("C:\EAST\EMP.TXT")
li_FileNum = FileOpen("C:\EAST\EMP.TXT", &
TextMode!, Read!, LockReadWrite!)
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")
476
PowerBuilder
第 10 章 PowerScript の関数
ファイル セキュリティ
ファイルにセキュリティが設定されている場合(たとえばネットワー
ク上でファイルを共有している場合など)、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 を開くときにエラーが発生しました。
PowerScript リファレンス ボリューム 2
477
FileOpen
-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! − テキストをブロック単位で読み込みます。
詳細については、「解説」を参照してください。
478
PowerBuilder
第 10 章 PowerScript の関数
引数
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!
PowerScript リファレンス ボリューム 2
479
FileOpen
戻り値
Integer 型。正常に終了した場合、filename に指定されたファイルに割
り当てられているファイル番号を返します。エラーが発生した場合、-1
を返します。引数のいずれかの値が NULL の場合、FileOpen は NULL を
返します。
解説
ファイルを開くときのモードによって、ファイルの読み書きに使用さ
れる関数の動作が決まります。ファイルからデータを読み込む関数は、
FileRead と FileReadEx の 2 つです。ファイルにデータを書き込む関数
は、FileWrite と FileWriteEx の 2 つです。FileRead と FileWrite には、読み
込みまたは書き込みできるデータ量に制限があります。これらの関数
は下位互換性を保証するために残されています。また、テキスト モー
ドをサポートしません。詳細については、FileRead と FileWrite を参照し
てください。
FileReadEx と FileWriteEx 関数で Blob 型と String 型のデータを読み書き
できるかどうかは、モードによって異なります。次の表に、各モード
でサポートされているデータ型を示します。
表 10-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 ファイルは、どのモードでも読み込み
できます。
480
PowerBuilder
第 10 章 PowerScript の関数
ストリーム モードとテキスト モードでは、動作がよく似ています。た
だし、ストリーム モードはバイナリ ファイル、テキスト モードはテ
キスト ファイルでの使用を目的としています。ストリーム モードで既
存のファイルを開くと、データの次の読み取り開始位置を指すファイ
ルの内部ポインタが、ファイルの先頭バイトに設定されます。
バイト オーダー マーク(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
パラメータを指定しても無視されます。
PowerScript リファレンス ボリューム 2
481
FileOpen
例
次に、デフォルトの引数を使用して 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!)
関連項目
482
FileClose
FileLength64
FileRead
FileReadEx
FileWrite
FileWriteEx
PowerBuilder
第 10 章 PowerScript の関数
FileRead
機能
指定されたファイル番号に関連付けられたファイルのデータを読み込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。FileRead 関数は下位互換性を保証するために残されていま
す。新規開発の場合は FileReadEx 関数を使用します。
構文
FileRead ( file#, variable )
引数
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 関数を使用してく
ださい。
PowerScript リファレンス ボリューム 2
483
FileRead
ファイルがストリーム モード(StreamMode!)で開かれていた場合に
は、この関数はファイルの最後まで、または次の 32,765 バイトまでの
どちらか短いほうまで読み取ります。ファイルが読み取り用に開かれ
た場合、FileRead 関数はファイルの先頭に置かれているファイル ポイ
ンタから読み取りを開始します。ファイルの長さが 32,765 バイト以上
の場合、この関数は読み取られたデータの直後に自動的にポインタを
置くので、次のデータを続けて読み取ることができます。
この関数は、一度に最大 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)
484
PowerBuilder
第 10 章 PowerScript の関数
関連項目
FileClose
FileLength64
FileOpen
FileReadEx
FileSeek64
FileWriteEx
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
型の値を返します。
PowerScript リファレンス ボリューム 2
485
FileReadEx
解説
FileReadEx 関数は、ANSI、UTF-8、UTF-16LE、および UTF-16BE エン
コーディングのファイルを読み込むことができます。
ファイルがラインモード(LineMode!)で開かれていた場合、CR、LF、
または EOF が検出されるまで、この関数はファイルの次の行を読み取
ります。読み取った行の内容は指定した変数に格納され、CR や LF を
スキップし、ファイル ポインタを次の行の先頭に置きます。
オプションの length パラメータは、Blob 型のデータだけに適用されま
す。第 2 パラメータのデータ型が String 型の場合に length パラメータ
を指定すると、コードはコンパイルされません。
ファイルがストリーム モードまたはテキスト モードで開かれていた
場合には、この関数はファイルの最後まで、または次の 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
486
PowerBuilder
第 10 章 PowerScript の関数
次に、ファイル 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)
関連項目
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 を返します。
PowerScript リファレンス ボリューム 2
487
FileSeek
解説
この関数は、ストリーム モード(StreamMode!)で開いたバイナリ ファ
イル内を移動するために使用します。FileSeek 関数はファイル ポイン
タの位置を設定するので、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 = 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!)
関連項目
488
FileReadEx
FileSeek64
FileWriteEx
PowerBuilder
第 10 章 PowerScript の関数
FileSeek64
機能
任意のサイズのファイル内の指定された位置にファイル ポインタを
移動します。ファイル ポインタとは、次の読み取りまたは書き込み処
理を開始する位置のことです。
構文
FileSeek64 ( file#, position, origin )
引数
file#
position
origin
説明
ファイルが開かれたときにファイルに割り当てられた
Integer 型の値を指定します。
Long 型の値。origin に対する相対位置をバイト数で指定し
ます。
処理を開始する位置を指定する SeekType カタログ データ
型の値。値は以下のとおりです。
• FromBeginning! −(デフォルト)ファイルの先頭
• FromCurrent! − 現行の位置
• FromEnd! − ファイルの末尾
戻り値
LongLong 型。正常に終了した場合、ファイルの位置を返します。引数
のいずれかの値が NULL の場合、NULL を返します。
解説
この関数は、ストリーム モード(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!)
PowerScript リファレンス ボリューム 2
489
FileWrite
例
次に、ファイルの末尾から先頭方向に 14 バイト分、ファイル ポイン
タを移動する例を示します。
integer li_FileNum
li_FileNum = FileOpen("emp_data")
FileSeek64(li_FileNum, -14, FromEnd!)
次に、現在の位置から末尾方向に 14 バイト分、ファイル ポインタを
移動する例を示します。この場合、FileOpen 関数を呼び出した後にファ
イル ポインタに影響を与える処理が行われていなければ、FromCurrent!
を指定したときの処理は、FromBeginning! を指定したときと同じにな
ります。
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 エンコー
ディングのファイルに書き込むことができます。
490
PowerBuilder
第 10 章 PowerScript の関数
FileWrite 関数は、ファイル ポインタで指定された位置にデータを書き
込みます。writemode に Replace! を指定してファイルを開いた場合、
ファイル ポインタはファイルの先頭に置かれます。FileWrite 関数が呼
び出されるたびに、ファイル ポインタは書き込まれた位置の直後に移
動します。writemode に Append! を設定してファイルを開いた場合に
は、ファイル ポインタはファイルの末尾に置かれ、書き込み処理が行
われるたびにファイルの最後に移動します。
この関数は、最後に書き込まれた文字の後の位置にファイル ポインタ
を設定します。ファイルが ライン モード(LineMode!)で開かれてい
た場合には、variable で指定されたデータを書き込んだ後にキャリッジ
リターン(CR)、またはライン フィード(LF)を書き込み、その後に
ファイル ポインタを設定します。
データが 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 は、ファイル番号を保持し
ています。
PowerScript リファレンス ボリューム 2
491
FileWriteEx
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 型データ
をファイルに書き込みます。FileLength 関数を使用して、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!)
FileWrite(li_FileNum, emp_id_pic)
関連項目
FileClose
FileLength64
FileOpen
FileRead
FileReadEx
FileSeek64
FileWriteEx
FileWriteEx
機能
指定されたファイル番号に関連付けられたファイルにデータを書き込
みます。ファイル番号は、FileOpen 関数によってファイルに割り当て
られます。
構文
FileWriteEx ( file#, blob {, length })
FileWriteEx ( file#, string )
引数
file#
492
説明
ファイルが開かれたときに割り当てられた Integer 型の値
を指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
blob または
string
length
戻り値
説明
Blob 型または String 型の値を指定します。この値はファイ
ルに書き出したいデータです。
テキスト モードまたはストリーム モードの場合に、書き
出されるバイト数を指定します。特に指定しない限り、
ファイルの長さが設定されます。
Long 型。正常に終了した場合、書き込んだバイト数を返します。エ
ラーが発生した場合、-1 を返します。ストリーム モードで String 型の
変数に書き込もうとした場合、またはライン モードで Blog 型の変数
に書き込もうとした場合、-1 を返します。引数のいずれかの値が NULL
の場合、NULL を返します。
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 パラメータを指定すると、コードはコンパイルされません。
PowerScript リファレンス ボリューム 2
493
FileWriteEx
データが String 型であり、関連付けられているファイルが ANSI また
は UTF-8 エンコーディングを使用する場合、文字列を ANSI または
UTF-8 エンコーディングに変換してから関連付けられているファイル
に書き込みます。
EncodingANSI! パラメータを指定するか、または、エンコーディング
パラメータを指定せずにファイルを開く時の FileWriteEx 関数の動作
は、プラットフォームに依存します。Windows および Solaris プラット
フォームでは、FileWriteEx は多言語文字を UTF-8 に変換せず、ファイ
ルを ANSI エンコーディングで保存します。Linux プラットフォームで
は、文字列が多言語文字を含む場合は、FileWriteEx は多言語文字を UTF8 に変換し、ファイルを 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")
以下に、データベースから Blob 型データを読み込み、ファイルに書き
込む例を示します。SQL SELECT 文で、ピクチャ データを Blob 型変数
emp_id_pic に割り当てています。FileOpen 関数は Stream モード で書き
込み処理を行うためにファイルを開き、FileWriteEx 関数は Blob 型デー
タをファイルに書き込みます。FileLength 関数を使用して、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)
関連項目
494
FileClose
FileLength64
PowerBuilder
第 10 章 PowerScript の関数
FileOpen
FileReadEx
FileSeek64
Fill
機能
指定された文字列を指定された長さになるまで繰り返し、その結果の
文字列を返します。
構文
Fill ( chars, n )
引数
chars
n
説明
戻り値の文字列が指定された長さになるまで繰り返す文
字列を指定します。
返す文字列の長さを表す Long 型の値を指定します。
戻り値
String 型。chars に指定された文字列を n に指定した文字数分繰り返し、
その結果の文字列を返します。chars に n より多い文字数の文字列を指
定した場合、chars の最初の n 文字から成る文字列を返します。chars
に n より少ない文字数の文字列を指定した場合は、n 文字を満たすま
で chars の文字列を繰り返し、その結果の文字列を返します。引数の
いずれかの値が NULL の場合、NULL を返します。
解説
Fill 関数は、印刷ルーチンで、線を作成したり、特殊な効果を表現した
りするのに使用します。たとえば、小切手の金額欄をアスタリスク(*)
で埋めたり、表示画面で金額欄の下にハイフン(-)を繰り返し入力し
て合計金額を示したりします。
例
次のステートメントは、35 個のアスタリスクから成る文字列を返しま
す。
Fill("*", 35)
次のステートメントは、文字列 "-+-+-+-" を返します。
Fill("-+", 7)
次のステートメントは、ティルダ(~)を 10 個返します。
Fill("~", 10)
関連項目
Space
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Fill メソッド
PowerScript リファレンス ボリューム 2
495
FillA
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 関数は同じ結果を返します。
FillW
機能
指定された文字列を指定された長さになるまで繰り返し、その結果の
文字列を返します。この関数は、将来サポートされなくなります。動
作は、SBCS 環境と DBCS 環境で Fill 関数と同じです。
構文
FillW ( chars, n)
496
PowerBuilder
第 10 章 PowerScript の関数
Find
機能
データウィンドウ コントロールまたはデータストアからデータを検
索します。あるいは、リッチテキスト エディット コントロール、リッ
チテキスト エディット データウィンドウ、またはリッチテキスト エ
ディット データストアのテキストを検索します。
検索の方向を指定したり、完全に一致する単語だけの検索や大文字と
小文字の区別を指定することもできます。指定されたテキストをコン
トロールで検索し、テキストが見つかった場合はそのテキストをハイ
ライト表示します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアルまたはオンライン ヘルプの
「Find メソッド」を参照してください。
対象
リッチテキスト エディット コントロールと、内容の提示様式がリッチ
テキストのデータウィンドウ コントロール(またはデータストア オブ
ジェクト)
構文
controlname.Find ( searchtext, forward, insensitive, wholeword, cursor )
引数
controlname
searchtext
forward
説明
内容を検索するリッチテキスト エディット コントロー
ル、データウィンドウ コントロール、またはデータストア
の名前を指定します。
String 型の値。検索するテキストを指定します。
Boolean 型の値。検索の方向を指定します。値は以下のと
おりです。
• TRUE − カーソルの位置から順方向に検索します。
cursor が FALSE の場合、文書の先頭から順方向に検索
します。
insensitive
• FALSE − カーソルの位置から逆方向に検索します。
cursor が FALSE の場合、文書の末尾から逆方向に検索
します。
Boolean 型の値。大文字と小文字を区別して検索するかど
うかを指定します。値は以下のとおりです。
• TRUE − 大文字と小文字を区別しません。
wholeword
• FALSE − 大文字と小文字を区別します。
Boolean 型の値。完全に一致する単語だけを検索するかど
うかを指定します。値は以下のとおりです。
• TRUE − 完全に一致する単語だけを検索します。
• FALSE − 一部が一致する単語を検索します。
PowerScript リファレンス ボリューム 2
497
FindCategory
引数
cursor
説明
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)
関連項目
FindNext
FindCategory
機能
項目のラベルがわかっている場合に、グラフにおける項目番号を取得
します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.FindCategory ( { graphcontrol, } categoryvalue )
引数
controlname
498
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を表す文字列を指定しま
す。このコントロールの項目の値を取得します。
PowerBuilder
第 10 章 PowerScript の関数
引数
説明
graphcontrol
(オプション)データウィンドウ コントロール内のグラフ
(データウィン 名を表す文字列を指定します。このグラフから項目番号を
ドウ コント
取得します。
ロールのみ)
categoryvalue
番号を求める項目の値を指定します。また、指定する値は、
項目軸のデータ型と同じでなければなりません。
戻り値
Integer 型。controlname で指定したグラフ内の categoryvalue で指定された
項目名の番号を返します。また、controlname がデータウィンドウ コン
トロールである場合は、graphcontrol で指定したグラフ内の categoryvalue
で指定された項目名の番号を返します。エラーが発生した場合、-1 を
返します。また、引数のいずれかの値が NULL の場合は NULL を返しま
す。
解説
ほとんどのグラフの項目を操作する関数は、項目名よりも項目番号を
必要とします。ただし、項目を削除したり挿入する場合は、既存の項
目番号は連続するように、つけ直されます。項目のラベルだけわかっ
て い る 場 合 や、項 目 番 号 が 変 わ っ て い る か も し れ な い 場 合 に は、
FindCategory 関数を使用します。
例
以下に、グラフ gr_product_data の項目番号を取得するステートメント
を示します。項目名は、シングルライン エディット コントロール
sle_category のテキストです。
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
DeleteData
DeleteSeries
FindSeries
PowerScript リファレンス ボリューム 2
499
FindClassDefinition
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"
ls_libraries[2] = "c:\pwrs\framewk\windows.pbl"
ls_libraries[3] = "c:\pwrs\framewk\ancestor.pbl"
cd_windef = FindClassDefinition(
"w_genapp_frame", ls_libraries)
関連項目
500
FindFunctionDefinition
FindMatchingFunction
PowerBuilder
第 10 章 PowerScript の関数
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 内のライブラリで f_myfunction のスクリプト定義
を検索する例を示します。
ScriptDefinition sd_myfunc
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"
sd_myfunc = FindFunctionDefinition( &
"f_myfunction", ls_libraries)
関連項目
FindClassDefinition
FindMatchingFunction
PowerScript リファレンス ボリューム 2
501
FindItem
FindTypeDefinition
FindItem
リスト内の次の項目を検索します。
次の項目を検索する条件
使用する構文
リストボックス、ドロップダウン リストボックス、ピ 構文 1
クチャ リストボックス、ドロップダウン ピクチャ リ
ストボックスのいずれかのコントロールの項目を検
索する
ラベルに基づいてリストビュー コントロールの項目 構文 2
を検索する
リストビュー コントロール内での相対的な位置に基 構文 3
づいて項目を検索する
ツリービュー コントロール内での相対的な位置に基 構文 4
づいて項目を検索する
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールに対して
機能
リストボックスで、指定された検索テキストで始まる項目を検索します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.FindItem ( text, index )
引数
listboxname
text
index
502
説明
項目を検索するリストボックス コントロールの名前を指定
します。
String 型の値。検索する項目の先頭のテキストを指定します。
検索を開始する最初の項目の直前の項目の番号を指定し
ます。リスト全体を検索する場合、0 を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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
startindex
label
partial
説明
項目を検索するリストビュー コントロールを指定します。
検索を開始するインデックス番号を指定します。
検索の対象となる文字列を指定します。
TRUE の場合は、部分的に一致するラベルを持つ項目も検
索します。
PowerScript リファレンス ボリューム 2
503
FindItem
引数
wrap
戻り値
説明
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)
l_lvi.HasFocus = TRUE
l_lvi.Selected = TRUE
lv_list.SetItem(li_index,l_lvi)
504
PowerBuilder
第 10 章 PowerScript の関数
END IF
関連項目
AddItem
DeleteItem
InsertItem
SelectItem
構文 3
リストビュー コントロールに対して
機能
リストビュー コントロール内の特定の位置に基づいて次の項目を検
索します。
対象
リストビュー コントロール
構文
listviewname.FindItem ( startindex, direction, focused, selected,
cuthighlighted, drophighlighted )
引数
listviewname
startindex
direction
focused
selected
cuthighlighted
drophighlighted
説明
項目を検索するリストビュー コントロールを指定します。
検索を開始するインデックス番号を指定します。
検索の方向を指定します。値は以下のとおりです。
DirectionAll!
DirectionUp!
DirectionDown!
DirectionLeft!
DirectionRight!
TRUE の場合は、リストビュー コントロールでフォーカス
が設定されている項目の次の項目を検索します。
TRUE の場合は、リストビュー コントロールで選択されて
いる項目の次の項目を検索します。
TRUE の場合は、リストビュー コントロールで切り取り操
作の対象となっている項目の次の項目を検索します。
TRUE の場合は、
リストビュー コントロールでドラッグ ア
ンド ドロップ操作の対象となっている項目の次の項目を
検索します。
戻り値
Integer 型。正常に終了した場合、検索した項目のインデックスを返し
ます。エラーが発生した場合、-1 を返します。
解説
特に指定しない限り、startindex に指定されたインデックスの次のイン
デックスから検索が開始されます。先頭から検索する場合、0 を指定
します。
PowerScript リファレンス ボリューム 2
505
FindItem
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
関連項目
506
AddItem
DeleteItem
InsertItem
SelectItem
PowerBuilder
第 10 章 PowerScript の関数
構文 4
ツリービュー コントロールに対して
機能
ツリービュー コントロール内での位置に基づいて項目を検索します。
対象
ツリービュー コントロール
構文
treeviewname.FindItem ( navigationcode, itemhandle )
引数
treeviewname
navigationcode
itemhandle
説明
指定された項目を検索するツリービュー コントロールの
名前を指定します。
TreeNavigation カタログ データ型の値。itemhandle によっ
て指定される項目と、検索する項目との関係を指定しま
す。有効な値の一覧については、「解説」の表を参照して
ください。
項目のハンドルを指定する Long 型の値。この項目と検索
する項目との関係を、navigationcode を介して指定します。
戻り値
Long 型。正常に終了した場合は項目のハンドルを返し、エラーが発生
した場合は -1 を返します。
解説
FindItem 関数は、検索した項目を選択しません。検索した項目を選択す
るには、FindItem 関数とともに、項目の Selected プロパティを使用する
必要があります。
FindItem は、ChildTreeItem! を検索する場合を除いて、折りたたまれた
項目を検索しません。ChildTreeItem! が設定されている場合、項目は展
開されます。CurrentItem! は、Clicked イベントが発生した後ではじめ
て変更されます。現在の項目がクリックされたときにその項目に応じ
たハンドルが返されるようにするには、そのハンドルを返すためのカ
スタム イベントを作成して、そのイベントを Clicked イベントの中で
ポストします。
navigationcode が RootTreeItem!、FirstVisibleTreeItem!、CurrentTreeItem!、
または DropHighlightTreeItem! の場合、itemhandle は 0 に設定してくだ
さい。
引数 navigationcode に指定できる値を次の表に示します。
表 10-3: FindItem の引数 navigationcode に指定できる値
navigationcode の値
RootTreeItem!
NextTreeItem!
PowerScript リファレンス ボリューム 2
FindItem の検索項目
レベル 1 の最初の項目。項目がコントロールに挿
入されなかった場合、-1 を返します。
itemhandle で指定された項目より後にある兄弟項
目。兄弟項目とは、同じ親を持つ同じレベルの項
目です。該当する兄弟項目がない場合、-1 を返し
ます。
507
FindItem
navigationcode の値
PreviousTreeItem!
ParentTreeItem!
ChildTreeItem!
FirstVisibleTreeItem!
NextVisibleTreeItem!
PreviousVisibleTreeItem!
CurrentTreeItem!
DropHighlightTreeItem!
例
FindItem の検索項目
itemhandle で指定された項目より前にある兄弟項
目。該当する兄弟項目がない場合、-1 を返します。
itemhandle で指定された項目の親。項目がレベル 1
にある場合、-1 を返します。
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
508
PowerBuilder
第 10 章 PowerScript の関数
ll_tvi = tv_list.FindItem(RootTreeItem!, 0)
関連項目
DeleteItem
GetItem
InsertItem
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 は折りたたまれた継承階層構造を調べ
ます。見つかった関数は、現行のオブジェクトまたはその先祖のいず
れかで定義されている可能性があります。
PowerScript リファレンス ボリューム 2
509
FindMatchingFunction
参照渡しによって渡される引数 参照渡しによって渡された引数で関
数を検索するには、REF キーワードを指定する必要があります。関数
の引数に VariableDefinition オブジェクトがある場合は、CallingConvention
引数をチェックして、引数が参照渡しで渡されたかどうかを判断しま
す。
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
// 引数名のリスト。
510
PowerBuilder
第 10 章 PowerScript の関数
s = s + "Arguments:" + lineend
FOR li = 1 to UpperBound(scriptobj.ArgumentList)
s = s + scriptobj.ArgumentList[li].Name + lineend
NEXT
// ローカル変数のリスト。
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 で検索する例を示します。検索は、カーソルの位置から下
方向に実行されます。この例では、大文字と小文字を区別せずに検索
します。また、完全に一致する単語だけを検索するのではなく、一部
が一致する文字列も検索します。
PowerScript リファレンス ボリューム 2
511
FindSeries
integer li_charsfound
li_charsfound = rte_1.Find(sle_search.Text, &
TRUE, TRUE, FALSE, TRUE)
"Find Next" というラベルが付いた 2 番目のボタンには、次のようなスク
リプトが記述されています。
rte_1.FindNext()
関連項目
Find
FindSeries
機能
データ系列の名前がわかる場合に、グラフ内のデータ系列の番号を取
得することができます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.FindSeries ( { graphcontrol, } seriesname )
引数
controlname
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。そのグラフ
のデータ系列番号を求めます。
graphcontrol
(オプション)系列を含むデータウィンドウ コントロール
(データウィン 内のグラフの名前の文字列を指定します。
ドウ コント
ロールのみ)
seriesname
番号を求めるデータ系列の名前を表す文字列を指定します。
戻り値
Integer 型。グラフ controlname で指定したグラフ内の seriesname で指定
されたデータ系列の番号を返します。また、controlname がデータウィ
ンドウ コントロールである場合は、graphcontrol で指定したグラフ内
の seriesname で指定されたデータ系列の番号を返します。エラーが発
生した場合、-1 を返します。また、引数のいずれかの値が NULL の場
合は NULL を返します。
解説
ほとんどのデータ系列を操作する関数は、データ系列の名前よりも
データ系列の番号を必要とします。ただし、データ系列の削除や挿入
を行う場合、既存のデータ系列の番号は連続するように付け直されま
す。データ系列の名前だけがわかっている場合やデータ系列の番号が
変わっている可能性がある場合、FindSeries 関数を使用します。
512
PowerBuilder
第 10 章 PowerScript の関数
例
次の例では、シングルライン エディット コントロール sle_series にグ
ラフ gr_product_data 上のデータ系列名が入力されるものとします。そ
のデータ系列名の番号を取得して、SeriesNbr に格納します。
integer SeriesNbr
SeriesNbr = &
gr_product_data.FindSeries(sle_series.Text)
以下に、データウィンドウ コントロール 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 を返します。
PowerScript リファレンス ボリューム 2
513
FindTypeDefinition
解説
返される TypeDefinition オブジェクトは、実際には ClassDefinition オブ
ジェクト、SimpleTypeDefinition オブジェクト、または EnumerationDefinition
オブジェクトです。Category プロパティをテストすると、このうちの
どれであるかがわかります。
クラスの情報を取得する場合は、かわりに FindClassDefinition 関数を呼
び出します。引数は同じで、返されるオブジェクトが ClassDefinition オ
ブジェクトであることをチェックする操作手順を省略できます。
グローバル関数の情報を取得する場合は、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 のクラス定義
を検索する例を示します。
514
PowerBuilder
第 10 章 PowerScript の関数
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(
"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
PowerScript リファレンス ボリューム 2
515
FromUnicode
FromUnicode
機能
Unicode 文字列を含む Blob 型を、
現在使用している PowerBuilder
(ANSI
または Unicode バージョン)のファイル形式の文字列に変換します。
構文
FromUnicode ( blob )
引数
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()
関連項目
516
GarbageCollectGetTimeLimit
PowerBuilder
第 10 章 PowerScript の関数
GarbageCollectSetTimeLimit
GarbageCollectGetTimeLimit
機能
ガベージ コレクションの現行の最小間隔を取得します。
構文
GarbageCollectGetTimeLimit ( )
戻り値
Long 型。現行の最小ガベージ コレクション間隔を返します。
解説
ガベージ コレクション パスの現行の最小間隔を読み込みます。
例
次に、ガベージ コレクション パスの間隔を変数 CollectTime に返すス
テートメントを示します。
long CollectTime
CollectTime = GarbageCollectGetTimeLimit()
関連項目
GarbageCollect
GarbageCollectSetTimeLimit
GarbageCollectSetTimeLimit
機能
ガベージ コレクション パスの最小間隔を設定します。
構文
GarbageCollectSetTimeLimit ( newtimeinmilliseconds )
引数
newtimeinmilliseconds
説明
Long 型の値(ミリ秒単位)。ガベージ コレクション
サイクルの最小間隔を指定します。
NULL の場合、既存の間隔は変更されません。
戻り値
Long 型。この関数が呼び出される前に存在していた間隔を返します。
newTime が NULL の場合は NULL が返され、現行の間隔は変更されませ
ん。
解説
ガベージ コレクション パスの最小間隔を指定します。ガベージ コレ
クション パスは、この間隔が満了するまで発生しません。
PowerScript リファレンス ボリューム 2
517
GarbageCollectSetTimeLimit
下限に非常に大きな数値を設定することで、ガベージ コレクションを
事実上使用不可にすることができます。ガベージ コレクションが使用
不可の場合、使用されていないクラスはクラス キャッシュからフラッ
シュされません。
例
次に、ガベージ コレクションの間隔を 1 秒に設定し、変数 OldTime を
前回の間隔の長さに設定する例を示します。
long OldTime, NewTime
NewTime = 1000 /* 1 秒 */
OldTime = GarbageCollectSetTimeLimit(NewTime)
関連項目
518
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
519
GetAlignment
GetAlignment
機能
リッチテキスト エディット コントロールで、挿入ポイントがある段落
の配置を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.GetAlignment ( )
引数
rtename
説明
リッチテキスト エディット コントロールの名前を指定し
ます。指定されたコントロールで、挿入ポイントがある段
落の配置を調べます。
戻り値
Alignment 型。挿入ポイントがある段落の配置を示す Alignment カタロ
グ データ型の値を返します。
解説
複数の段落が選択されている場合、挿入ポイントは、最初の段落か最
後の段落にあります。挿入ポイントの位置は、エンドユーザの段落の
選択方法によって異なります。報告される値は、挿入ポイントの位置
によって異なります。
例
次に、挿入ポイントがある段落の配置の設定を保存する例を示します。
alignment l_align
l_align = rte_1.GetAlignment()
関連項目
520
GetSpacing
GetTextStyle
SetAlignment
SetSpacing
SetTextStyle
PowerBuilder
第 10 章 PowerScript の関数
GetApplication
機能
現行のアプリケーション オブジェクトのハンドルを取得し、アプリ
ケーションの属性の内容の取得と設定を行うことができます。
構文
GetApplication ( )
戻り値
Application 型。現行のアプリケーション オブジェクトのハンドルを返
します。
解説
GetApplication 関数を使用すると、アプリケーションに対して汎用的な
コーディングを行うことができます。また、ほかのアプリケーション
でも再利用することができます。アプリケーションのプロパティを設
定する場合に、実際のアプリケーションの名前を記述する必要があり
ません。
例
次に、ツールバーのボタンに対するテキストを表示するかどうかを変
更するために、アプリケーション オブジェクトのハンドルを取得して
ToolbarTips プロパティを設定する例を示します。
application app
app = GetApplication()
app.ToolbarTips = FALSE
上の例は、次のように記述することもできます。
GetApplication().ToolbarTips = FALSE
PowerScript リファレンス ボリューム 2
521
GetArgElement
GetArgElement
機能
指定した引数の値を返します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.GetArgElement ( index )
引数
activexcontrol
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、ActiveX コントロー
ルは OBJECT エレメントの NAME 属性になります。ほか
の環境で使用する場合は、PowerBuilder ウィンドウ ActiveX
を含むコントロールを参照します。
index
戻り値を整数で指定します。
戻り値
任意の値。指定した引数を返します。
解説
InvokePBFunction 関数または TriggerPBEvent 関数の後にこの関数を呼び
出すと、参照渡しされた引数の更新された値を取得できます。
JavaScript スクリプトで参照渡しされる引数にアクセスするには、この関
数を使用しなければなりません。VBScript スクリプトでは、SetArgElement
関数を呼び出して引数リストを作成した場合に、この関数を使用でき
ます。
例
次の 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);
...
関連項目
522
GetLastReturn
InvokePBFunction
SetArgElement
TriggerPBEvent
PowerBuilder
第 10 章 PowerScript の関数
GetAutomationNativePointer
機能
OLEObject 変数に関連付けられている OLE オブジェクトへのポインタ
を取得します。このポインタによって、オブジェクトの外部 DLL の
OLE 関数を呼び出すことができます。
対象
OLEObject
構文
oleobject.GetAutomationNativePointer ( pointer )
引数
oleobject
pointer
説明
ネイティブ ポインタのオブジェクトを含む OLE オブジェ
クト変数の名前を指定します。
ポインタを格納する UnsignedLong 型変数を指定します。
GetAutomationNativePointer 関数が有効なポインタを取得
できなかった場合、pointer に 0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
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)
PowerScript リファレンス ボリューム 2
523
GetCertificateLabel
END IF
関連項目
GetNativePointer
ReleaseAutomationNativePointer
ReleaseNativePointer
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 関数によって設定でき
ます。
524
PowerBuilder
第 10 章 PowerScript の関数
GetCertificateLabel の実装を指定しないと、EAServer が
CORBA::NO_IMPLEMENT 例外を捕捉するため、このコールバックには
デフォルトの実装が使用されることになります。デフォルトの実装を
使用した場合は常に、ラベルのリストのうち先頭の証明書が返されます。
ラベルが指定されていない場合は、CtsSecurity::NoCertificateException が
生成されます。関数によって生成されるかもしれない例外はすべて、
そのプロトタイプに追加しておく必要があります。
コールバックの実装が空の文字列を返した場合は、先に述べたデフォ
ルトの実装が使用されるため、リストのうちの先頭にある証明書が返
されます。相互認証を要求したサーバが、その証明書を受け入れれば
接続が続行されますが、受け入れなければ接続は拒否されます。
有効な戻り値を取得するには、関数に渡された 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
PowerScript リファレンス ボリューム 2
525
GetCertificateLabel
MessageBox (" 個人の証明書が必要です ", &
" 次の場所に接続するには、証明書が必要です : " &
+ sLocation + "~n 使用できる証明書がありません ")
ls_rc = ""
ELSE
sText = "Available certificates: "
FOR idx=1 to numLabels
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
関連項目
526
ConnectToServer
GetCredentialAttribute
GetPin
TrustVerify
PowerBuilder
第 10 章 PowerScript の関数
GetChildrenList
機能
トレースツリーモデルに含まれるルーチンの子リストを取得します。
対象
TraceTreeObject オブジェクト、TraceTreeRoutine オブジェクト、
TraceTreeGarbageCollect オブジェクト
構文
instancename.GetChildrenList ( list )
引数
instancename
list
戻り値
解説
説明
TraceTreeObject オブジェクト、TraceTreeRoutine オブジェ
クト、または TraceTreeGarbageCollect オブジェクトのイン
スタンス名を指定します。
データ型が TraceTreeNode の可変長の配列変数を指定します。
GetChildrenList 関数は各ルーチンの子ごとに TraceTreeNode
オブジェクトを格納します。この引数は、参照渡しされます。
ErrorReturn 型。次の値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しません。
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 &
PowerScript リファレンス ボリューム 2
527
GetColumn
+ "." + ltctrt_rout.name + " " &
+ String(ltctrt_rout.ObjectID) + " " &
+ String(ltctrt_rout.EnterTimerValue) &
+ "~r~n" ltctrt_rout.GetChildrenList(ltctn_list)
...
関連項目
BuildModel
GetColumn
機能
データウィンドウ コントロール、子データウィンドウ、またはリスト
ビュー コントロールのカラムに関する情報を返します。
データウィンドウ コントロールまたは子データウィンドウの場合の
構文については、
『データウィンドウ リファレンス』マニュアルまた
はオンライン ヘルプの「GetColumn メソッド」を参照してください。
対象
リストビュー コントロール
構文
listviewname.GetColumn ( index, label, alignment, width )
引数
listviewname
index
label
alignment
説明
リストビュー コントロールの名前を指定します。指定され
たカラムのプロパティを返します。
カラムのインデックスを整数で指定します。指定されたカ
ラムのプロパティを返します。
カラムのラベルを文字列で指定します。指定されたカラム
のプロパティを返します。この引数は、参照渡しされます。
カラムの配置を Alignment カタログ データ型の値で指定
します。指定されたカラムのプロパティを返します。値は
以下のとおりです。
• Center!
• Justify!
• Left!
• Right!
width
戻り値
528
この引数は、参照渡しされます。
カラムの幅を整数で指定します。指定されたカラムのプロ
パティを返します。この引数は、参照渡しされます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
指定されたカラムのプロパティを取得するには、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)
lv_list.SetColumn(li_col, ls_label, Right!, &
li_width)
END IF
関連項目
SetColumn
PowerScript リファレンス ボリューム 2
529
GetCommandDDE
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 イベントに応答するウィ
ンドウのインスタンス変数です。
integer ii_sheetnum
DataSheet i_DataSheet[ ]
クライアント アプリケーションから送られたコマンドをローカル変
数 ls_Action に格納します。
string ls_Action
GetCommandDDE(ls_Action)
IF ls_Action = "Open Next Sheet" THEN
530
PowerBuilder
第 10 章 PowerScript の関数
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)を使用して、送信されたコマンドに応答するかど
うかを決めます。それ以外の場合には、この関数はクライアントに関
する追加情報を返しません。
次のスクリプトは、クライアント アプリケーションがサーバ アプリ
ケーションを識別するために使用した名前を、ローカル変数 ls_name
に格納します。
string ls_name
GetCommandDDEOrigin(ls_name)
関連項目
GetCommandDDE
StartServerDDE
StopServerDDE
PowerScript リファレンス ボリューム 2
531
GetCompanyName
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
関連項目
532
GetContextService
GetFixesVersion
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
GetVersionName
PowerBuilder
第 10 章 PowerScript の関数
GetContextKeywords
機能
指定したキーワードに関連する値を 1 つまたは複数返します。
対象
ContextKeyword オブジェクト
構文
servicereference.GetContextKeywords ( name, values )
引数
servicereference
name
values
説明
サービス インスタンス ContextKeyword を参照します。
関数が対応する値を返すときのキーワードを指定しま
す。
可変長文字列の配列で、name に対応する値を格納しま
す。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合は values 内の要素数を返し、エラーが
発生した場合には -1 を返します。
解説
この関数を呼び出すと、環境変数を取得できます。使用可能な環境変
数は、実行コンテキストによって異なります。
関数は、固有のキーワードがある DOS 環境
変数のそれぞれにアクセスします。
•
PowerBuilder 実行時
•
PowerBuilder ウィンドウ プラグイン
•
PowerBuilder ウィンドウ ActiveX 関数は、固有のキーワードがあ
EMBED タグで指定したキー
ワードを取得します。キーワードは固有のものである必要はあり
ません。EMBED タグにキーワードを指定していない場合、関数
は、指定された名前の DOS 環境変数の取得を試みます。
る DOS 環境変数のそれぞれにアクセスします。
•
例
関数は、コンポーネントの
.PROP ファイルから指定されたプロパティの値を返します。
PowerBuilder EAServer コンポーネント
次に、GetContextKeywords 関数を呼び出す例を示します。
String ls_keyword
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
PowerScript リファレンス ボリューム 2
533
GetContextService
関連項目
GetContextService
GetContextService
機能
指定したサービスのコンテキスト固有のインスタンスに対する参照を
作成します。
対象
すべてのオブジェクト
構文
GetContextService ( servicename, servicereference )
引数
servicename
説明
サービス オブジェクトを指定する文字列です。次のい
ずれかの値を指定します。
• ContextInformation − コンテキスト情報サービス
• ContextKeyword − コンテキスト キーワード サービ
ス
• CORBACurrent − EAServer トランザクションのクラ
イアント管理またはコンポーネント管理に対応した
CORBA の現行サービス
• ErrorLogging − EAServer や COM+ などのトランザ
クション サーバで動作する PowerBuilder コンポー
ネントに対するエラー ロギング サービス
• Internet − インターネット サービス
• Keyword – EAServer コンポーネント プロパティ
• SSLServiceProvider − PowerBuilder クライアントが
EAServer コンポーネントへの SSL 接続を確立する
ための SSL サービス プロバイダ サービス
servicereference
戻り値
534
• TransactionServer − EAServer や COM+ などのトラン
ザクション サーバで動作する PowerBuilder コン
ポーネントに対するトランザクション サーバ サー
ビス
servicename. で指定したサービス オブジェクトに対す
る参照を格納する PowerObject を指定します。この引数
は、参照渡しされます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は、
負の整数を返します。戻り値が -1 であれば、特定できないエラーが発
生したという意味です。
PowerBuilder
第 10 章 PowerScript の関数
解説
サービス オブジェクトの参照を作成することによって、サービス オブ
ジェクトのメソッドやプロパティにアクセスできます。サービス オブ
ジェクト関数を呼び出す前にこの関数を呼び出さなくてはなりませ
ん。
CREATE 文の使い方
これらのオブジェクトは、PowerScript の CREATE 文を使ってインスタ
ンス化できます。ただし、アプリケーションを実行する環境にかかわ
らず、デフォルトであるネイティブの PowerBuilder 実行環境向けのコ
ンテキストでオブジェクトを作成します。
例
次に、GetContextService 関数を呼び出して、シングル ライン エディッ
ト ボックスにサービスのクラスを表示する例を示します。
Integer li_return
ContextKeyword lcx_key
li_return = this.GetContextService &
("ContextKeyword", lcx_key)
sle_classname.Text = ClassName(lcx_key)
...
関連項目
BeginTransaction
GetCompanyName
GetContextKeywords
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
GetURL
GetVersionName
HyperLinkToURL
Init
PostURL
PowerScript リファレンス ボリューム 2
535
GetCredentialAttribute
GetCredentialAttribute
機能
アカウント情報がユーザに動的に提供されるように、EAServer によっ
て呼び出されます。この関数は、EAServer に接続している PowerBuilder
クライアントによって使用されます。
対象
SSLCallBack オブジェクト
構文
sslcallback.GetCredentialAttribute ( thesessioninfo, attr, attrvalues )
引数
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 関数によって設定でき
ます。
536
PowerBuilder
第 10 章 PowerScript の関数
GetCredentialAttribute の実装を指定しないと、EAServer が
CORBA::NO_IMPLEMENT 例外を捕捉するため、このコールバックには
デフォルトの実装が使用されることになります。デフォルトの実装を
使用した場合は常に、指定された値のリストのうち先頭の値が返され
ます。値が指定されていない場合は、CtsSecurity::NoValueException が生
成されます。関数によって生成されるかもしれない例外はすべて、そ
のプロトタイプに追加しておく必要があります。
コールバックの実装が空の文字列を返した場合は、先に述べたデフォ
ルトの実装が使用されるため、リストのうちの先頭にある値が返され
ます。サーバがその値を受け入れれば接続が続行されます。受け入れ
なければ接続は拒否されます。
有効な戻り値を取得するには、関数に渡された 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: "
PowerScript リファレンス ボリューム 2
537
GetCurrentDirectory
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
RETURN ls_rc
関連項目
ConnectToServer
GetCertificateLabel
GetPin
TrustVerify
GetCurrentDirectory
機能
ターゲット アプリケーションの現行ディレクトリを取得します。
構文
GetCurrentDirectory ( )
戻り値
String 型。現行ディレクトリの絶対パス名を返します。
例
次に、現行ディレクトリの名前をシングルライン エディット テキスト
ボックスの中に表示する例を示します。
sle_1.text = GetCurrentDirectory( )
関連項目
538
ChangeDirectory
CreateDirectory
DirectoryExists
RemoveDirectory
PowerBuilder
第 10 章 PowerScript の関数
GetData
コントロールのデータを取得します。
取得するデータ
グラフのデータ系列内のデータ ポイントの値
エディットマスク コントロールの書式設定されてい
ないデータ
OLE サーバのデータ
使用する構文
構文 1
構文 2
構文 3
構文 1
グラフのデータ ポイントのデータを取得する
機能
グラフのデータ系列内のデータ ポイントの値を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
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 関数を使用し
てください。
PowerScript リファレンス ボリューム 2
539
GetData
例
以下に、データウィンドウ コントロール 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 に格納するステートメント
を示します。
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!)
関連項目
540
DeleteData
FindSeries
GetDataValue
InsertData
ObjectAtPointer
PowerBuilder
第 10 章 PowerScript の関数
構文 2
エディットマスク コントロールの書式設定されてい
ないデータを取得する
機能
エディットマスク コントロールの書式設定されていないテキストを
取得します。
対象
エディットマスク コントロール
構文
editmaskname.GetData ( datavariable )
引数
editmaskname
datavariable
説明
データを含むエディットマスク コントロール
EditMask_control の名前を指定します。
この関数がエディットマスク コントロールの書式設定さ
れ て い な い デ ー タ を 代 入 す る 変 数 を 指 定 し ま す。
datavariable のデータ型は、ウィンドウ ペインタで選択す
るエディットマスク コントロールのデータ型と一致して
いる必要があります。指定できるデータ型は、Date 型、
DateTime 型、Decimal 型、Double 型、String 型、Time 型です。
戻り値
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
PowerScript リファレンス ボリューム 2
541
GetData
構文 3
OLE サーバのデータを取得する
機能
ユニフォーム データ転送を使用して、OLE コントロールに関連付けら
れている OLE サーバのデータを取得します。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.GetData ( clipboardformat, data )
引数
olename
clipboardformat
説明
データを入力するオブジェクトを含む OLE コントロール
または OLE カスタム コントロールの名前を指定します。
データの形式を指定します。標準の形式は、ClipboardFormat
カタログ データ型の値で指定できます。また、独自の形式
は、文字列で指定します。
clipboardformat カタログ データ型の値は、以下のとおりで
す。
ClipFormatBitmap!
ClipFormatDIB!
ClipFormatDIF!
ClipFormatEnhMetafile!
ClipFormatHdrop!
ClipFormatLocale!
ClipFormatMetafilePict!
ClipFormatOEMText!
ClipFormatPalette!
ClipFormatPenData!
ClipFormatRIFF!
ClipFormatSYLK!
ClipFormatText!
ClipFormatTIFF!
ClipFormatUnicodeText!
ClipFormatWave!
clipboardformat に指定された値が空の文字列("")または
NULL の場合、
GetData 関数は ClipFormatText! という形式で
data
戻り値
542
データを転送します。
String 型または Blob 型の変数。OLE サーバのデータを格納
する変数を指定します。取得するデータが String 型の変数
に格納するのに適していない場合は、Blob 型の変数を使用
してください。
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
OLE サーバがサポートしていないクリップボード形式を指定すると、
GetData 関数はエラーを返します。OLE サーバがサポートしている形
式を調べるには、OLE サーバのマニュアルを参照してください。
GetData 関数は、ユニフォーム データ転送を介して OLE サーバのデー
タを取得します。ユニフォーム データ転送とは、Microsoft が定義した
もので、コンテナ アプリケーションとの間でデータを交換する機構で
す。PowerBuilder では、グローバル ハンドルを介してデータ転送を実
行できます。また、OLE サーバでは、グローバル ハンドルを介した
データ転送がサポートされている必要があります。データ転送がサ
ポートされていない場合は、そのサーバとの間でデータ転送を行うこ
とはできません。
例
エンド ユーザが 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
PowerScript リファレンス ボリューム 2
543
GetDataDDE
GetDataDDE
機能
ほかの DDE アプリケーションから送信されたデータを取得し、指定し
た String 型の変数に格納します。PowerBuilder が、DDE クライアント
または DDE サーバとして機能しているときに使用できます。
構文
GetDataDDE ( string )
引数
string
説明
String 型の変数。指定された変数に、リモートの DDE アプ
リケーションから取得したデータが格納されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、関数が不正なコンテキストで呼び出された場合)は -1 を返し
ます。string が NULL の場合は、NULL を返します。
解説
通常、アプリケーションが DDE サーバである場合、GetDataDDE 関数
は window レベルの RemoteSend イベントに対するスクリプトの中で呼
び出されます。また、アプリケーションが DDE クライアントである場
合、GetDataDDE 関数は window の HotLinkAlarm イベントに対するス
クリプトの中で呼び出されます。
例
PowerBuilder DDE クライアント アプリケーションが、Excel のスプレッ
ド シートの 7 行目の 15 列目にホット リンクを設定しているものとし
ます。この行と列に格納されている値が赤から緑に変更され、アプリ
ケーションの HotLinkAlarm イベントを起動したとします。次に示す
HotLinkAlarm イベントに対するスクリプトは、GetDataDDE 関数を呼び
出して新しい値を変数 Str20 に格納します。
// HotLinkAlarm イベントに対するスクリプト
string Str20
GetDataDDE(Str20)
関連項目
544
GetDataDDEOrigin
OpenChannel
StopServerDDE
StopServerDDE
PowerBuilder
第 10 章 PowerScript の関数
GetDataDDEOrigin
機能
ホット リンクが設定された DDE サーバ アプリケーションまたは DDE
クライアント アプリケーションからのデータの発信元を判別し、指定
された文字列変数に DDE 識別子を格納します。この関数は、PowerBuilder
が DDE クライアントまたは DDE サーバ アプリケーションとして機能
しているときに使用できます。
構文
GetDataDDEOrigin ( applstring, topicstring, itemstring )
引数
applstring
topicstring
itemstring
戻り値
説明
String 型の変数を指定します。指定された変数に、リモー
ト DDE アプリケーションの名前が格納されます。
String 型の変数を指定します。指定された変数に、トピッ
ク(たとえば、Microsoft Excel の場合は REGION.XLS な
ど)が格納されます。
String 型の変数を指定します。指定された変数に、項目の
識別のための見出し(たとえば、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)
PowerScript リファレンス ボリューム 2
545
GetDataPieExplode
関連項目
GetDataDDE
OpenChannel
StartServerDDE
StopServerDDE
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
546
PowerBuilder
第 10 章 PowerScript の関数
integer percentage
percentage = 50
IF (This.GraphType <> PieGraph! and &
This.GraphType <> Pie3D!) THEN RETURN
clickedtype = This.ObjectAtPointer(series, &
datapoint)
IF (series > 0 and datapoint > 0) THEN
This.GetDataPieExplode(series, datapoint, &
percentage)
MessageBox(" 切り離される割合 ", &
" データ ポイント " + This.CategoryName(datapoint) &
+ " ( 系列 " + This.SeriesName(series) &
+ ") が " + String(percentage) + "% 切り離されまし
た。")
END IF
関連項目
SetDataPieExplode
PowerScript リファレンス ボリューム 2
547
GetDataStyle
GetDataStyle
グラフのデータ ポイントの表示形態を調べます。データ系列内の各
データ ポイントには、表示形態を個別に設定できます。使用する構文
は、取得する情報によって異なります。
取得する情報
データ ポイントの色
データ ポイントの線種と線幅
データ ポイントの塗りつぶしパターンまたはシンボ
ル
使用する構文
構文 1
構文 2
構文 3
GetDataStyle 関数は、1 つのデータ ポイントについての情報を取得しま
す。データ ポイントが属しているデータ系列には、表示形態を個別に
設定できます。通常、データ ポイントの表示形態を設定する値はデー
タ系列の表示形態の設定と同じです。データ ポイントの表示形態を個
別に変更するには、SetDataStyle 関数を使用します。データ系列の表示
形態の情報を取得するには GetSeriesStyle 関数を使用し、データ系列の
表示形態の情報を設定するには SetSeriesStyle 関数を使用します。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフ内のデータ ポイント
またはデータ系列の塗りつぶしパターンを確認することができます。
ただし、その塗りつぶしパターンは表示されません。
GetDataStyle 関数が linestyle と enumvariable に格納するカタログ デー
タ型の値については、SetDataStyle 関数を参照してください。
構文 1
データ ポイントの色を示す値を取得する
機能
グラフのデータ ポイントの色を示す値(RGB 値)を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, colortype, colorvariable )
引数
controlname
548
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの色を示す値を取得します。
PowerBuilder
第 10 章 PowerScript の関数
引数
説明
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")
// 色を示す値を取得します。
gr_emp_data.GetDataStyle(SeriesNbr, 6, &
Foreground!, color_nbr)
PowerScript リファレンス ボリューム 2
549
GetDataStyle
次に、データウィンドウ コントロール上のグラフ 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
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの線種と線幅についての情報を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コント
(データウィンド
ロール上のグラフの名前を指定します。指定されたグ
ウ コントロールの ラフのデータ ポイントの線種と線幅についての情報を
み)
取得します。
seriesnumber
データ系列の番号を指定します。指定されたデータ系
列のデータ ポイントの線種と線幅についての情報を取
得します。
550
PowerBuilder
第 10 章 PowerScript の関数
引数
datapointnumber
linestyle
linewidth
説明
データ ポイントの番号を指定します。指定されたデー
タ ポイントの線種と線幅についての情報を取得します。
LineStyle 型の変数を指定します。指定された変数に、
線種についての情報を格納します。
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
// データ系列の番号を取得します。
SeriesNbr = dw_employees.FindSeries( &
" gr_depts " , sle_series.Text)
// 線種と線幅についての情報を取得します。
dw_employees.GetDataStyle("gr_depts", SeriesNbr, &
6, line_style, line_width)
PowerScript リファレンス ボリューム 2
551
GetDataStyle
関連項目
FindSeries
GetSeriesStyle
SetDataStyle
SetSeriesStyle
構文 3
データ ポイントの塗りつぶしパターンまたはシンボ
ルについての情報を取得する
機能
グラフのデータ ポイントの塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, enumvariable )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含む
データウィンドウ コントロールの名前を指定します。
指定されたコントロール上にあるグラフのデータ ポイ
ントの塗りつぶしパターンまたはシンボルについての
情報を取得します。
graphcontrol
String 型の値。データウィンドウ コントロール内のグ
(データウィンド
ラフの名前を指定します。指定されたグラフのデータ
ウ コントロールの ポイントの塗りつぶしパターンまたはシンボルについ
み)(オプション) ての情報を取得します。
seriesnumber
データ系列の番号を指定します。指定されたデータ系
列のデータ ポイントの塗りつぶしパターンまたはシン
ボルについての情報を取得します。
datapointnumber
データ ポイントの番号を指定します。指定されたデー
タ ポイントの塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
enumvariable
データの表示形態についての情報を格納する変数。
FillPattern カタログ データ型または grSymbolType カタ
ログ データ型の変数を指定できます。表示形態の情報
は、変数の型によって異なります。
戻り値
552
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ ポイントの塗りつぶしパターンまた
はシンボルについての情報は、enumvariable に指定された変数に格納
されます。引数のいずれかの値が NULL の場合、NULL を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
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
grSymbolType symbol_type
// データ系列の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
gr_product_data.GetDataStyle(SeriesNbr, 10, &
symbol_type)
PowerScript リファレンス ボリューム 2
553
GetDataValue
以下に、データ ポイントのシンボルを変数 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
説明
データを取得するグラフ コントロールの名前を指定する
か、グラフ コントロールを含むデータウィンドウ コント
ロールの名前を指定します。
graphcontrol
(オプション)データを取得するデータウィンドウ コント
(データウィン ロール内のグラフの名前の文字列を指定します。
ドウ コント
ロールのみ)
seriesnumber
データを取得するデータ系列の番号を指定します。
datapoint
データを取得するデータ ポイントの番号を指定します。
554
PowerBuilder
第 10 章 PowerScript の関数
引数
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
MouseHit = &
gr_prod_data.ObjectAtPointer(SeriesNbr, ItemNbr)
IF ItemNbr > 0 THEN
rtn = gr_prod_data.GetDataValue( &
SeriesNbr, ItemNbr, data_value)
PowerScript リファレンス ボリューム 2
555
GetDateLimits
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
戻り値
556
説明
日付の制限を確認する月表示カレンダ コントロールの名
前を指定します。
参照で返される日付の値を指定します。この値は、カレン
ダで参照または表示できる最初の日付を表します。
参照で返される日付の値を指定します。この値は、カレン
ダで参照または表示できる最後の日付を表します。
Integer 型。最初と最後の両方の日付を正常に取得した場合は 0 を返し、
それ以外の場合は次のいずれかの値を返します。
-1
制限が設定されていません。
-2
不明なエラーです。
PowerBuilder
第 10 章 PowerScript の関数
解説
最初と最後の日付を設定するには、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
PowerScript リファレンス ボリューム 2
557
GetDisplayRange
GetDisplayRange
機能
現在表示されている日付範囲の最初と最後の日付を取得し、全部また
は一部が表示されている月の数を返します。
対象
月表示カレンダ コントロール
構文
controlname.GetDisplayRange ( start, end {, d } )
引数
controlname
start
end
d
(オプション)
説明
日付範囲を取得する月表示カレンダ コントロールの名前
を指定します。
参照で返される表示範囲内で最初の日付を指定します。
参照で返される表示範囲内で最後の日付を指定します。
MonthCalDisplayState カタログ データ型変数の値。値は以
下のとおりです。
EntirelyDisplayed! − すべての日が表示されている月の
表示日付範囲を取得します。
PartlyDisplayed! − 一部の日でも表示されている月の表
示日付範囲を取得します(デフォルト)。
戻り値
Integer 型。正常に終了した場合は表示範囲内の月の数を返し、エラー
が発生した場合は -1 を返します。
解説
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 を格
納します。
558
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、メッセージ ボックスに、表示範囲内の月数および表示範囲
の最初の日付と最後の日付を表示します。第 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
関連項目
GetSelectedRange
PowerScript リファレンス ボリューム 2
559
GetDynamicDate
GetDynamicDate
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
Date 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicDate ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。
DynamicDescriptionArea オブジェクトの
NumOutputs の値以下の値を指定する必要があ
ります。
戻り値
Date 型。DynamicDescriptionArea の index で指定された出力パラメータ
記述子に格納されている Date 型のデータを返します。エラーが発生し
た場合には、1900-01-01 を返します。引数のいずれかの値が NULL の場
合、NULL を返します。
解説
動的 SQL の書式 4 を使用してデータを取得した後、通常は SQLDA で
ある DynamicDescriptionArea オブジェクトには、取得したデータに関
する情報が格納されます。SQLDA プロパティの NumOutputs は、返さ
れたデータの記述子の数を示します。プロパティの配列の OutParmType
には、返された各値のデータ型を示す ParmType カタログ データ型の
値が格納されます。
OutParmType の値が、取得する配列内の値に対して TypeDate! である場
合に GetDynamicDate 関数を使用します。
例
以下に、2 番目の出力パラメータの記述子に格納されている Date 型の
値を Today に設定するステートメントを示します。
Date Today
Today = GetDynamicDate(SQLDA, 2)
書式 4 の動的 SQL 文を実行した後で、データは DynamicDescriptionArea
オブジェクトに格納されます。次に、格納されたデータのデータ型を
確認し、CHOOSE CASE 文を使用してその値をローカル変数に設定する
例を示します。
560
PowerBuilder
第 10 章 PowerScript の関数
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
関連項目
GetDynamicDateTime
GetDynamicNumber
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
PowerScript リファレンス ボリューム 2
561
GetDynamicDateTime
GetDynamicDateTime
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
DateTime 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicDateTime ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。
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 関数を参照してください。
562
PowerBuilder
第 10 章 PowerScript の関数
関連項目
GetDynamicDate
GetDynamicNumber
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicNumber
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
数値データを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicNumber ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
戻り値
Double 型。DynamicDescriptionArea の index に指定された出力パラメー
タの記述子に格納されている数値データを返します。エラーが発生し
た場合には 0 を返します。引数のいずれかの値が NULL の場合、NULL
を返します。
解説
開発者が取得する OutParmType の値が、TypeInteger!、TypeDecimal!、
TypeDouble!、TypeLong!、TypeReal!、または TypeBoolean! である場合
に GetDynamicNumber 関数を使用します。
この 関数 を使っ て Decimal 型の 値を 返す と、Double 型 のデ ータ を
Decimal 型に変換するときに、値が四捨五入されます。Double 型では、
Decimal 型と同じ精度をサポートしていません。
例
以下に、2 番目の出力パラメータの記述子に格納されている数値型の
値を DeptId に設定するステートメントを示します。
Integer DeptId
PowerScript リファレンス ボリューム 2
563
GetDynamicString
DeptId = SQLDA.GetDynamicNumber(2)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
関連項目
GetDynamicDate
GetDynamicDateTime
GetDynamicString
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicString
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
String 型のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicString ( index )
引数
DynamicDescriptionArea
index
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
戻り値
String 型。DynamicDescriptionArea の index に指定された出力パラメー
タの記述子に格納されている文字列データを返します。エラーが発生
した場合、空の文字列("")を返します。引数のいずれかの値が NULL
の場合、NULL を返します。
解説
開発者が取得する OutParmType の値が、TypeString! である場合に
GetDynamicString 関数を使用します。
564
PowerBuilder
第 10 章 PowerScript の関数
例
以下に、2 番目の出力パラメータの記述子に格納されている文字列の
値を LName に設定するステートメントを示します。
String LName
LName = SQLDA.GetDynamicString(2)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
関連項目
GetDynamicDate
GetDynamicDateTime
GetDynamicNumber
GetDynamicTime
SetDynamicParm
動的 SQL の使い方
GetDynamicTime
機能
動的 SQL 文を実行した後、DynamicDescriptionArea オブジェクトから
時刻のデータを取得します。
注意
この関数は、書式 4 の動的 SQL 文の実行後のみ使用できます。
構文
DynamicDescriptionArea.GetDynamicTime ( index )
引数
DynamicDescriptionArea
index
戻り値
説明
DynamaicDescriptionArea の名前を指定します。
通常、SQLDA です。
Integer 型の値。データを取得する出力パラメー
タの記述子を指定します。
DynamicDescriptionArea の NumOutputs の値以下
の値を指定する必要があります。
Time 型。DynamicDescriptionArea の index に指定された出力パラメータ
の記述子に格納されている時刻データを返します。エラーが発生した
場合、00:00:00.000000 を返します。引数のいずれかの値が NULL の場合、
NULL を返します。
解説
開発者が取得する OutParmType の値が、TypeTime! である場合に
GetDynamicTime 関数を使用します。
PowerScript リファレンス ボリューム 2
565
GetEnvironment
例
以下に、1 番目の出力パラメータの記述子に格納されている Time 型の
値を Start に設定するステートメントを示します。
Time Start
Start = SQLDA.GetDynamicTime(1)
DynamicDescriptionArea オブジェクトからデータを取得する例につい
ては、GetDynamicDate 関数を参照してください。
関連項目
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 プロパティを
リセットすることができます。
566
PowerBuilder
第 10 章 PowerScript の関数
例
次のスクリプトは、ほかの PowerBuilder アプリケーションを実行し、
Environment オブジェクトの OSType プロパティを使用してパスを決定
しています。
string path
environment env
integer rtn
rtn = GetEnvironment(env)
IF rtn <> 1 THEN RETURN
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)
PowerScript リファレンス ボリューム 2
567
GetFileOpenName
GetFileOpenName
機能
システムのファイルを開く ダイアログボックスを表示し、ファイルの
選択またはファイル名の入力を可能にします。
構文
GetFileOpenName ( title, pathname, filename {, extension {, filter { , initdir { ,
aFlag } } } } )
GetFileOpenName ( title, pathname, filename[ ] {, extension {, filter { , initdir {
, aFlag } } } } )
引数
title
pathname
説明
ダイアログボックスのタイトルを表す文字列を指定します。
返されるパスを格納する文字列変数を指定します。ユーザ
が単一ファイルを選択する場合は、pathname 変数はパス名
とファイル名を含みます。
filename,
filename[ ]
返されたファイル名を格納する文字列変数、または選択さ
れた複数のファイル名を格納する文字列変数の配列を指
定します。文字列変数の配列を指定した場合は、ダイアロ
グボックスで複数選択が可能になります。
extension
(オプション)
String 型の値。1 文字以上 3 文字以下の標準のファイル拡
張子を指定します。この引数を省略すると、" 拡張子なし
" が標準の設定になります。
filter
(オプション)
String 型の値。リストボックス内に含めるファイルの説明、
および表示するファイルを選択するために使用するファ
イル マスク(たとえば、*.* や *.exe など)を指定します。
構文は、次のとおりです。
description,*. ext
1 つの表示文字列に対して複数のフィルタ パターンを指
定するには、以下のようにセミコロンを使用してパターン
を区切ります。
"Graphic Files (*.bmp;*.gif;*.jpg;*.jpeg),
*.bmp;*.gif;*.jpg;*.jpeg"
デフォルトでは、次のように設定されます。
" すべてのファイル (*.*),*.*"
initdir
(オプション)
568
初期ディレクトリの名前を表す文字列を指定します。指定
を省略した場合は、現行のディレクトリが適用されます。
PowerBuilder
第 10 章 PowerScript の関数
引数
aFlag
(オプション)
説明
ダイアログボックスで使用できるオプションを表す
UnsignedLong 型の値を指定します。各オプションのフラグ
の値は、2 の(index -1)乗として計算されます。なお、index
は オ プ シ ョ ン に 関 連 付 け ら れ た 整 数 値 を 表 し ま す。
GetOpenFileName に渡される aFlag の値は、各オプション
のフラグの値の合計になります。オプションの一覧、各オ
プションに関連付けられたインデックス、および各オプ
ションの意味については、「解説」の表を参照してくださ
い。
戻り値
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)。
filter を使用して、リストボックスに表示するファイルの型を制限しま
す。また、エンド ユーザにその制限を通知します。たとえば、テキス
ト ファイル(*.TXT)という記述と拡張子 .TXT の付いたファイルだけ
を表示するには、filter に次のように入力します。
"Text Files (*.TXT),*.TXT"
filter に複数のファイル拡張子を指定するには、それぞれのファイルの
記述とその拡張子の組み合わせをカンマで区切って入力します。次に
例を示します。
"PIF files, *.PIF, Batch files, *.BAT"
PowerScript リファレンス ボリューム 2
569
GetFileOpenName
GetFileOpenName 関数および GetFileSaveName 関数によって表示された
ダイアログボックスは、システムのダイアログボックスです。このダ
イアログボックスは、現行ディレクトリ全体の制御を含む標準のシス
テムの動作形態を提供します。ダイアログボックス内のドライブ、ディ
レクトリ、またはフォルダが変更された場合、現行のディレクトリや
フォルダも変更されます。ここで新しく指定したディレクトリまたは
フォルダは、引数 initdir を別途指定しない限り、アプリケーションを
終了するまで、ファイル操作での標準設定となります。
引数 aFlag は、ダイアログボックスの外観を規定するオプションを 1
つ以上指定する場合に使用します。各オプションについて、フラグの
値は 2^(index -1) になります。index は、各オプションに関連付けら
れた整数値を表します(次の表を参照)。aFlag(各フラグの値を追加
することによって計算される)を渡すことによって複数のオプション
を渡すことができます。
aFlag を渡さなかった場合は、エクスプローラ形式のファイルを開く
ダイアログボックスが使用されます。フラグを渡した場合は、従来の
形式のダイアログボックスがデフォルトで使用されます。エクスプ
ローラ形式のダイアログボックスでは、一部のオプションが適用され
ません。エクスプローラ形式のダイアログボックスを表示する場合に、
適用するオプションを指定するには、そのオプションの値にエクスプ
ローラ形式のダイアログボックスを使用するためのオプション値(2)
を追加してください。
たとえば、GetFileSaveName 関数にフラグ 32768(2^15)を渡すと、デ
フォルトで、
[読み取り専用]チェックボックスがオンになった状態で
従来の形式のダイアログボックスが開きます。フラグ 32770 を渡すと、
デフォルトで、
[読み取り専用]チェックボックスがオンになった状態
でエクスプローラ形式のダイアログボックスが開きます。
表 10-4: GetFileOpenName と GetFileSaveName のオプション値
インデックス
1
定数名
OFN_CREATEPROMPT
2
OFN_EXPLORER
3
OFN_EXTENSIONDIFFERENT
4
5
OFN_FILEMUSTEXIST
OFN_HIDEREADONLY
570
説明
指定されたファイルが存在しない場合、ファイルを作成
するかどうかを確認するメッセージを表示します。ユー
ザがファイルの作成を選択した場合、ダイアログボック
スは閉じられます。それ以外の場合は、ダイアログボッ
クスは開いたままになります。
エクスプローラ形式のダイアログボックスを使用しま
す。
入力されたファイル拡張子が指定の拡張子と異なりま
す。
既存のファイル名のみを入力できます。
[読み取り専用]チェックボックスを非表示にします。
PowerBuilder
第 10 章 PowerScript の関数
インデックス
6
定数名
OFN_LONGNAMES
7
OFN_NOCHANGEDIR
8
OFN_NODEREFERENCELINKS
9
OFN_NOLONGNAMES
10
OFN_NONETWORKBUTTON
11
OFN_NOREADONLYRETURN
12
OFN_NOTESTFILECREATE
13
14
OFN_NOVALIDATE
OFN_OVERWRITEPROMPT
15
16
OFN_PATHMUSTEXIST
OFN_READONLY
説明
長いファイル名を使用します。エクスプローラ形式のダ
イアログボックスでは無視されます。
ユーザがファイルの探索中にディレクトリを変更した場
合に、現行のディレクトリを元の値に戻します。Windows
NT、2000、XP で GetOpenFileName を使用した場合、この
オプションは無視されます。
選択されたショートカット(.lnk ファイル)のパスとファ
イル名を返します。このオプションの指定を省略した場
合は、ショートカットの参照先のパスとファイル名が返
されます。
短いファイル名(8.3 形式)を使用します。エクスプロー
ラ形式のダイアログボックスでは無視されます。
ネットワーク ボタンを非表示にします。エクスプローラ
形式のダイアログボックスでは無視されます。
返されるファイルは読み取り専用ではなく、書き込み保
護されたディレクトリにありません。
ダイアログボックスが閉じられるまでファイルを作成し
ません。ファイルの作成のみが可能で変更はできない共
有ネットワークにファイルを保存するアプリケーション
の場合は、このオプションを指定する必要があります。書
き込み保護、ディスクの容量、開かれているドライブ ド
ア、ネットワーク保護については、チェックされません。
1 度閉じたファイルを再び開くことはできません。
ファイル名に無効な文字を許可します。
名前を付けて保存 ダイアログボックスで使用します。選
択されたファイルがすでに存在する場合、メッセージ
ボックスを生成します。
有効なパスとファイル名の入力のみを許可します。
保存ダイアログボックスが作成されたときに[読み取り
専用]チェックボックスをオンにします。
ファイルを開く
選択したファイルを開くには、FileOpen 関数を使用します。
例
次の使用例は、複数のファイルを選択できるファイルの選択 ダイアロ
グボックスを表示します。ファイルの種類は TXT、DOC、およびすべ
てのファイルで、最初のディレクトリは C:\Program Files\Sybase です。
オプションのフラグ 18 を指定しているため、エクスプローラ形式のダ
イアログ ボックスが使用され(2^1 = 2)、[読み取り専用]チェック
ボックスが非表示になります(2^4 = 16)。選択されたファイル名はマ
ルチライン エディット コントロールに表示されます。
PowerScript リファレンス ボリューム 2
571
GetFileOpenName
ユーザが単一ファイルを選択した場合は、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 = ““
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
572
PowerBuilder
第 10 章 PowerScript の関数
li_fileid = FileOpen (is_fullname, StreamMode!)
FileRead (li_fileid, mle_notepad.text)
FileClose (li_fileid)
関連項目
DirList
DirSelect
GetFileSaveName
GetFolder
GetFileSaveName
機能
システムの ファイル名を付けて保存 ダイアログボックスを表示し、
[ファイル名]テキストボックスに指定されたファイル名を表示しま
す。エンド ユーザは、ファイル名を入力するか、またはグレー表示さ
れているリストからファイルを選択することができます。
構文
GetFileSaveName ( title, pathname, filename {, extension {, filter { , initdir { ,
aFlag } } } } )
GetFileSaveName ( title, pathname, filename [ ] {, extension {, filter { , initdir
{ , aFlag } } } } )
引数
title
pathname
filename,
filename[ ]
extension
(オプション)
PowerScript リファレンス ボリューム 2
説明
ダイアログボックスのタイトルを表す文字列を指定しま
す。
標準のパス名と返されるパスを格納する文字列変数を指
定します。ユーザが単一ファイルを選択する場合は、
pathname 変数はパス名とファイル名を含みます。標準の
ファイル名が[ファイル名]テキストボックスに表示さ
れます。ただし、エンド ユーザは、別の名前を指定する
ことができます。
返されたファイル名を格納する文字列変数、または選択さ
れた複数のファイル名を格納する文字列変数の配列を指
定します。文字列変数の配列を指定した場合は、ダイアロ
グボックスで複数選択が可能になります。
String 型の値。1 文字以上 3 文字以下の標準のファイル拡
張子を指定します。この引数を省略すると、" 拡張子なし
" が標準の設定になります。
573
GetFileSaveName
引数
filter
(オプション)
initdir
(オプション)
aFlag
(オプション)
説明
String 型の値。表示するファイルの説明、および表示する
ファイルを選択するために使用するファイル拡張子(フィ
ルタ)を指定します。構文は、次のとおりです。
description,*. ext
特に指定しない限り、" すべてのファイル (*.*),*.*" が設
定されます。
初期ディレクトリの名前を表す文字列を指定します。指定
を省略した場合は、現行のディレクトリが適用されます。
ダイアログボックスで使用できるオプションを表す
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
関数を参照してください。
574
PowerBuilder
第 10 章 PowerScript の関数
例
次のステートメントは、ユーザが単一ファイルを選択できるようにす
るためにファイルの選択 ダイアログボックスを表示します。標準の
ファイル拡張子は DOC で、フィルタはすべてのファイルを表示し、最
初のディレクトリは C:\My Documents です。aFlag オプションに 32770
を指定しているため、ダイアログボックスが作成されたときに[読み
取り専用]チェックボックスがオンになった状態でエクスプローラ形
式のダイアログボックスが使用されます。ファイルが正常に選択され
た場合、そのパスがシングルライン エディット コントロールに表示さ
れます。
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
PowerScript リファレンス ボリューム 2
575
GetFirstSheet
GetFirstSheet
機能
シートがアクティブであるかどうかにかかわらず、MDI フレームの最
前面にあるシートを取得します。
対象
MDI フレーム ウィンドウ
構文
mdiframewindow.GetFirstSheet ( )
引数
mdiframewindow
説明
最前面のシートを求める MDI フレーム ウィンドウを
指定します。
戻り値
Window 型。MDI フレームの最前面にあるシートを返します。フレー
ム上に開いているシートがない場合、GetFirstSheet 関数は無効な値を返
します。mdiframewindow が NULL の場合は、NULL を返します。
解説
フレーム上の開いているシートに対して連続した処理を行う場合、
GetFirstSheet 関数と GetNextSheet 関数を使用します。これらの関数を
GetActiveSheet 関数と組み合わせて使用することはできません。
GetFisrtSheet 関数の戻り値
IsValid 関数を使用して、戻り値が有効かどうかを確認します。無効な
値の場合、開いているシートはありません。
例
メニュー項目に対する次のスクリプトは、MDI フレームの最前面にあ
るシートを返します。
window wSheet
string wName
wSheet = ParentWindow.GetFirstSheet()
IF IsValid(wSheet) THEN
// 開いているシートがあります。
wName = wsheet.ClassName()
MessageBox(" 最初のシート ", wName)
END IF
関連項目
576
GetNextSheet
IsValid
PowerBuilder
第 10 章 PowerScript の関数
GetFixesVersion
機能
現在の PowerBuilder 実行コンテキストの修正レベルを返します。たと
えば、管理レベルが 8.0.3 の場合、修正バージョンは 3 になります。
対象
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
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
PowerScript リファレンス ボリューム 2
577
GetFocus
関連項目
GetCompanyName
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetShortName
GetVersionName
GetFocus
機能
現在フォーカスが設定されているコントロールを確認します。
構文
GetFocus ( )
戻り値
GraphicObject 型。現在フォーカスが設定されているコントロールを返
します。エラーが発生した場合、NULL コントロールに対する参照を
返します。
GetFocus が有効なコントロールを返したかどうかを確認するには、
IsValid 関数を使用します。
例
以下に、which_control を現在フォーカスが設定されているコントロー
ルと同じデータ型に設定し、そのコントロールのテキスト プロパティ
を text_value に設定するステートメントを示します。
GraphicObject which_control
SingleLineEdit sle_which
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 = ""
578
PowerBuilder
第 10 章 PowerScript の関数
END CHOOSE
関連項目
IsValid
SetFocus
GetFolder
機能
フォルダ選択用のダイアログボックスを表示します。
構文
GetFolder ( title, directory )
引数
title
directory
説明
フォルダ選択用のツリービューが含まれているリスト
ボックスの上部に表示される、タイトルの文字列を指定し
ます。
フォルダ選択用のダイアログボックスに参照渡しされる
ディレクトリ名の文字列を指定します。。ディレクトリの
名前を選択したとき、そのサブフォルダが存在する場合は
ダイアログボックスのツリービューに表示されます。
戻り値
Integer 型。関数が正常に終了した場合は 1 を返します。エンド ユーザ
が[キャンセル]ボタンをクリックした場合(またはダイアログボッ
クスを閉じた場合)は 0 を返します。エラーが発生した場合は -1 を返
します。
解説
ユーザによって選択されたディレクトリは、フォルダ選択用のダイア
ログボックスに渡されたのと同じ変数の中に返されます。
例
次に、フォルダ選択用のダイアログボックスで、Sybase ディレクトリ
のフォルダの内容を表示する例を示します。title 引数に渡された文字
列は、ツリービューの上部に表示されます。
string ls_path = "d:\program files\sybase"
integer li_result
li_result = GetFolder( "my targets", ls_path )
sle_1.text=ls_path
// ユーザが選択したパスをシングルライン エディット ボックスに入れ
ます。
PowerScript リファレンス ボリューム 2
579
GetGlobalProperty
関連項目
DirectoryExists
DirList
DirSelect
GetCurrentDirectory
GetFileOpenName
GetFileSaveName
GetGlobalProperty
機能
SSL グローバル プロパティの値を返します。この関数は、EAServer に
接続している PowerBuilder クライアントによって使用されます。
対象
SSLServiceProvider オブジェクト
構文
sslserviceprovider.GetGlobalProperty ( property, values)
引数
sslserviceprovider
property
values
戻り値
説明
SSLServiceProvider サービス インスタンスへの参照を
指定します。
値を返す SSL プロパティの名前を指定します。
サポートされている全 SSL プロパティのリストにつ
いては EAServer のマニュアルまたは接続オブジェク
トのオンライン ヘルプを参照してください。
指定された SSL プロパティの値を格納する String 型
の配列を指定します。
Long 型。以下のいずれかの値を返します。
0
-1
-3
-10
-11
正常に終了しました。
不明なプロパティです。
プロパティに値がありません。
EAServer または SSL のエラーが発生しました。
引数リストが不正です。
解説
GetGlobalProperty 関数を使用すると、EAServer に SSL 接続している
PowerBuilder クライアントが、グローバル SSL プロパティにアクセス
できます。
580
PowerBuilder
第 10 章 PowerScript の関数
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 オートメーション サーバ オブジェクトに対
する参照を返します。
対象
ContextInformation オブジェクト
構文
servicereference.GetHostObject ( hostobject )
引数
servicereference
PowerScript リファレンス ボリューム 2
説明
コンテキスト情報のサービス インスタンスを参照しま
す。
581
GetHostObject
引数
hostobject
戻り値
説明
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
関連項目
582
GetCompanyName
GetName
GetShortName
GetVersionName
PowerBuilder
第 10 章 PowerScript の関数
GetItem
リストビュー コントロールとツリービュー コントロールの指定され
た項目に関連付けられているデータを取得します。
取得するデータ
使用する構文
リストビュー コントロールの指定された項目に関連 構文 1
付けられているデータ
リストビュー コントロールの指定された項目とカラ 構文 2
ムに関連付けられているデータ
ツリービュー コントロールの指定された項目に関連 構文 3
付けられているデータ
構文 1
リストビュー コントロールに対して
機能
リストビュー コントロールから、そのプロパティを調べるために
ListViewItem オブジェクトを取得します。
対象
リストビュー コントロール
構文
listviewname.GetItem ( index, {column}, item )
引数
listviewname
index
column
item
説明
項目を取得するリストビュー コントロールの名前を指定
します。
取得する項目のインデックス番号を指定します。
項目の情報を取得するカラムのインデックス番号を指定
します。
ListViewItem オブジェクトを格納する ListViewItem 変数を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。取得した ListViewItem オブジェクトを、ListViewItem
変数の中に格納します。
解説
この構文によって、リストビュー コントロールの任意の項目のプロパ
ティを取得することができます。カラムを指定しない場合は、項目の
最初のカラムのプロパティが取得されます。レポート ビューの場合の
み、複数のカラムが表示されます。
ラベルだけを取得するには、構文 2 を使用します。特定の項目に固有
でないカラムのプロパティを取得するには、GetColumn 関数を使用しま
す。
PowerScript リファレンス ボリューム 2
583
GetItem
リストビュー コントロールの項目に関連付けられたピクチャおよび
そのほかのプロパティ値を変更するには、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 に表示する例を示します。
584
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
585
GetItemAtPointer
// 事前に選択されていたツリービューの項目を取得します。
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)
586
PowerBuilder
第 10 章 PowerScript の関数
関連項目
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
PowerScript リファレンス ボリューム 2
587
GetLibraryList
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)
関連項目
588
AddToLibraryList
SetLibraryList
PowerBuilder
第 10 章 PowerScript の関数
GetMajorVersion
機能
現行の PowerBuilder 実行コンテキストのメジャー バージョンを返しま
す。たとえば、管理レベルが 8.0.3 の場合、メジャー バージョンは 8 で
す。
対象
ContextInformation オブジェクト
構文
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
関連項目
GetCompanyName
GetFixesVersion
GetHostObject
GetMinorVersion
PowerScript リファレンス ボリューム 2
589
GetMessage
GetName
GetShortName
GetVersionName
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
590
PowerBuilder
第 10 章 PowerScript の関数
wf_acos 関数のコードは、SetMessage 関数の解説にコード例として示し
てあります。
関連項目
SetMessage
GetMinorVersion
機能
現行の PowerBuilder 実行コンテキストのマイナー バージョンを返しま
す。たとえば、管理レベルが 8.0.3 の場合、マイナー バージョンは 0 で
す。
対象
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 + " を使用してください。")
PowerScript リファレンス ボリューム 2
591
GetName
ELSEIF li_fixver <> 3 THEN
MessageBox(" エラー ", &
" バージョン " + ls_currver + " を使用してください。")
END IF
関連項目
GetCompanyName
GetFixesVersion
GetHostObject
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)
592
PowerBuilder
第 10 章 PowerScript の関数
IF ls_name <> "PowerBuilder Runtime" THEN
cb_close.visible = FALSE
END IF
関連項目
GetCompanyName
GetContextService
GetFixesVersion
GetHostObject
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 スクリプトで、ポイ
ンタを解放する必要があります。
PowerScript リファレンス ボリューム 2
593
GetNextSheet
外部 DLL 呼び出し専用
この関数は、外部 DLL 呼び出しに対してのみ有効です。
SetAutomationPointer 関数とは関係ありません。
例
次に、OLE オートメーションの外部関数を呼び出すために、OLE カス
タム コントロール ocx_spell のポインタを取得する例を示します。
UnsignedLong lul_oleptr
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
戻り値
594
説明
次のシートを求める MDI フレーム ウィンドウを指定
します。
求めるシートの前面にあるシートを指定します。
Window 型。MDI フレーム内で sheet に指定したシートの背面にある
シートを返します。指定した sheet の背面にシートがない場合には、無
効な値を返します。引数のいずれかの値が NULL の場合は、NULL を返
します。
PowerBuilder
第 10 章 PowerScript の関数
解説
フレーム内の開いている各シートに対して連続した処理を行うには、
GetFisrtSheet 関数を使用して最初のシートを取得し、GetNextSheet 関数
を何回か使用して残りのシートを取得します。それぞれの戻り値を
IsValid 関数を使用してチェックし、最後のシートに達したかどうかを
確認します。GetFirstSheet 関数と GetNextSheet 関数は、GetActiveSheet 関
数と組み合わせて使用することはできません。
GetNextSheet 関数の戻り値のチェック
IsValid 関数を使用して GetNextSheet 関数が有効なウィンドウを返した
かどうかを確認します。指定したシートの背面にシートがなかった場
合、無効な値を返します。
例
メニュー項目に対する次のスクリプトでは、最前面から背面に順番に
開いているシートを取得し、リストボックス 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
GetOrigin
機能
リストビューの項目の左上隅の X 座標と Y 座標を検索します。
対象
リストビュー コントロール
構文
listviewname.GetOrigin ( x , y )
PowerScript リファレンス ボリューム 2
595
GetParagraphSetting
引数
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)+" です。")
GetParagraphSetting
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
のインデント、左余白、または右余白のサイズを取得します。
対象
リッチテキスト エディット コントロール
構文
rtecontrol.GetParagraphSetting ( whichsetting )
596
PowerBuilder
第 10 章 PowerScript の関数
引数
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
説明
ウィンドウ オブジェクト、ユーザ オブジェクト、メニュー
項目上のコントロールを指定します。指定されたコント
ロールの親のオブジェクトを取得します。
戻り値
PowerObject 型。objectname に指定されたコントロールの親への参照を
返します。
例
タブ ページとして使用されるユーザ オブジェクトに対するイベント
のスクリプトで、親のタブ コントロールへの参照を汎用的にするに
は、次のように記述します。
PowerScript リファレンス ボリューム 2
597
GetParent
// 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
a_tab.SelectTab(a_tab_page)
関連項目
598
ParentWindow
12 ページの「代名詞」
PowerBuilder
第 10 章 PowerScript の関数
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 関数を呼び
出します。
GetPin の実装を指定しないと、EAServer は CORBA::NO_IMPLEMENT 例
外を捕捉するため、空の文字列が返されます。有効な戻り値を取得す
るには、PIN の入力を要求する関数をコーディングします。渡された
thesessioninfo オブジェクトから取得したトークン名などの情報をユー
ザに提供することも可能です。
不正な PIN か、空の文字列が返された場合、EAServer は TrustVerify
コールバックを呼び出します。
PowerScript リファレンス ボリューム 2
599
GetPin
このコールバック関数内で例外を送出することによって、このような
接続の試行をユーザがキャンセルすることが可能になります。
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)
// 入力された値を取得します。
s_PIN = Message.StringParm
// 処理続行の場合はプロパティを設定します。
if s_PIN <> ABORT_VALUE then
issp_jag.setglobalproperty("pin", s_PIN)
// それ以外の場合は強制終了します。
else
ue_cancelled = CREATE userabortedexception
600
PowerBuilder
第 10 章 PowerScript の関数
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 レコードセットを含む ADOResultSet オブジェク
トを指定します。
現行の ADO レコードセットを格納する OLEObject オ
ブジェクトを指定します。この引数は、参照渡しされ
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
GetRecordSet 関数は、ADO レコードセットを、PowerBuilder でネイティ
ブの ADO レコードセットとして使用できる OLEObject オブジェクト
として返すのに使用します。ADO レコードセットを含む ADOResultSet
オブジェクトには、事前に、SetRecordSet 関数や SetResultSet 関数を使
用して値を入れておく必要があります。
例
次の例では、まず、既存のデータストア オブジェクトからの結果集合
を、ResultSet オブジェクトの中に生成します。ResultSet オブジェクト
は、新規 ADOResultSet オブジェクトに値を割り当てるのに使用しま
す。ADOResultSet オブジェクトに対して GetRecordSet 関数を実行し、
ADO レコードセットのメソッドを使用できる OLEObject オブジェク
トとして ADO レコードセットを返します。
resultset lrs_resultset
ADOresultset lrs_ADOresultset
PowerScript リファレンス ボリューム 2
601
GetRemote
OLEObject loo_ADOrecordset
// 既存のデータストアから結果集合を生成します。
ds_source.GenerateResultSet(lrs_resultset)
// 新規の ADOResultSet オブジェクトを作成し、
// 上記で生成した結果集合から値を入れます。
lrs_ADOresultset = CREATE ADOResultSet
lrs_ADOresultset.SetResultSet(lrs_resultset)
// ADOResultSet オブジェクトの中のデータを
// ADO レコードセットとして使用できる OLEObject に渡します。
loo_ADOrecordset = CREATE OLEObject
lrs_ADOresultset.GetRecordSet(loo_ADOrecordset)
// 上記の OLEObject に対してネイティブの ADO レコードセットの
メソッドを呼び出します。
loo_ADOrecordset.MoveFirst()
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
SetRecordSet
SetResultSet
GetRemote
DDE サーバ アプリケーションに対してデータを返し、そのデータを指
定された変数に格納するように要求します。確立した DDE 接続の種類
によって、使用する構文が異なります。
目的
使用する構文
DDE サーバ アプリケーションに対して 1 つのリクエスト 構文 1
を出す(コールド リンク)
チャネルを開いた後、DDE サーバ アプリケーションから 構文 2
データを要求する(ウォーム リンク)
構文 1
1 つの DDE リクエストを行う
機能
開かれているチャネルを要求せずに、DDE サーバ アプリケーションに
対してデータを要求し、そのデータを指定された変数に格納します。
サーバに対してリクエストを 1 つまたは 2 つしか行わない場合、この
構文が適しています。
602
PowerBuilder
第 10 章 PowerScript の関数
構文
GetRemote ( location, target, applname, topicname )
引数
location
target
applname
topicname
戻り値
説明
String 型の値。DDE サーバ アプリケーションから取得する
データの位置を指定します。location の形式は、メッセー
ジを受け取る DDE サーバ アプリケーションによって異な
ります。
String 型の変数。取得したデータを格納する場所を指定し
ます。
String 型の値。DDE サーバ アプリケーションの DDE 名を
指定します。別の PowerBuilder アプリケーションが DDE
サーバの場合には、StartServerDDE 関数の呼び出し時に指
定したアプリケーション名を指定します。
String 型の値。コマンドで使用するアプリケーションのイ
ンスタンスまたはデータを指定します。たとえば Microsoft
Excel の場合、この引数には "system"、または開いている
スプレッドシートの名前を指定します。別の PowerBuilder
アプリケーションが DDE サーバの場合には、StartServerDDE
関数の呼び出し時に指定したトピック名を指定します。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
リンクは開始されていません。
リクエストが拒否されました。
引数のいずれかの値が NULL の場合は、NULL を返します。
解説
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。構文 1
では、アクティブ ウィンドウが DDE クライアントのウィンドウにな
ります。
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
PowerScript リファレンス ボリューム 2
603
GetRemote
構文 2
開いたチャネルを介して DDE リクエストを行う
機能
サーバに対するチャネルを開いてウォーム リンクを確立している場
合に、DDE サーバ アプリケーションに対してデータを返すように要求
し、返されたデータを指定された変数に格納します。複数の DDE リク
エストを行う予定がある場合には、チャネルを開いてウォーム リンク
を使用する方が効率的です。
構文
GetRemote ( location, target, handle {, windowhandle } )
引数
location
target
handle
windowhandle
(オプション)
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
-9
解説
説明
String 型の値。取得するデータの位置を指定します。
location の形式は、リクエストを受け付ける DDE アプリ
ケーションによって異なります。
String 型の変数。取得したデータの格納先を指定します。
Long 型の値。DDE サーバ アプリケーションに対するチャ
ネルを指定します。OpenChannel 関数を呼び出して DDE
チャネルを開くと、この引数に指定された値が返されます。
DDE クライアントとして機能させているウィンドウに対
するハンドルを指定します。複数のウィンドウを開いてい
るとき、DDE クライアントとして機能させるウィンドウ
を指定するために使用します。
リンクは開始されていません。
リクエストが拒否されました。
handle が NULL です。
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。この構
文の場合には、windowhandle を使用してクライアント ウィンドウを指
定できます。
この構文を使用する前に、OpenChannel 関数を呼び出して DDE チャネ
ルを確立してください。
DDE チャネル、ウォーム リンク、コールド リンクについての詳細は、
ExecRemote 関数を参照してください。
例
次のステートメントは、handle で指定されたチャネル(Microsoft Excel
のワークシート)に対して 1 行目の 2 列目のデータを返すように要求
し、返されたデータを PowerBuilder の String 型の変数 ls_ProfData に格
納します。GetRemote 関数は、OpenChannel 関数によって確立された
ウォーム リンクを利用します。
String ls_ProfData
604
PowerBuilder
第 10 章 PowerScript の関数
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))
関連項目
CloseChannel
ExecRemote
OpenChannel
SetRemote
GetSelectedDate
機能
選択されている日付を取得します。
対象
月表示カレンダ コントロール
構文
controlname.GetSelectedDate ( d )
引数
controlname
d
戻り値
説明
選択されている日付を取得する月表示カレンダ コント
ロールの名前を指定します。
参照で返される日付の値。この値は、選択されている日付
を表します。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
-1
日付の範囲が選択されています。
PowerScript リファレンス ボリューム 2
605
GetSelectedRange
-2
不明なエラーです。
解説
日付の範囲が選択されている場合は -1 を返し、その範囲内で最初の日
付を取得します。
例
次に、選択された日付を取得して seldate に格納する例を示します。
integer li_return
Date seldate
li_return = mc_1.GetSelectedDate(seldate)
関連項目
GetSelectedRange
SetSelectedDate
SetSelectedRange
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)
606
PowerBuilder
第 10 章 PowerScript の関数
if li_return = -1 then
MessageBox(" 選択されている日付 ",
&
" 帰宅日を選択してください。")
elseif li_return = 0 then
MessageBox(" 選択されている日付 ", string(startdate) +&
" - " + string(enddate) + " が選択されています。"&
+ "~r~n 確定する場合は[OK]をクリックしてください。")
else
MessageBox(" 選択されている日付 ",
&
" エラーが発生しました。旅行の日程を再度選択 " &
+ " してください。")
end if
関連項目
GetDisplayRange
GetSelectedDate
SetSelectedDate
SetSelectedRange
GetSeriesStyle
グラフのデータ系列の表示形態を調べます。個別のデータ ポイントの
表示形態の設定を変更すると、データ系列の表示形態の設定も変更さ
れます。したがって、GetSeriesStyle 関数から返された値は、必ずしも
現行のグラフの状態を反映しているとは限りません。使用する構文は、
取得する情報によって異なります。
目的
データ系列の色
データ系列の線種と線幅
データ系列の塗りつぶしパターンまたはシンボル
データ系列のオーバーレイの状態(データ系列が別のグラ
フの上に折れ線として表示されているかどうか)
使用する構文
構文 1
構文 2
構文 3
構文 4
GetSeriesStyle 関数は、データ系列についての情報を取得します。デー
タ系列内の各データ ポイントには、表示形態を個別に設定できます。
データ系列の表示形態の情報を変更するには、SetSeriesStyle 関数を使
用します。データ ポイントの表示形態の情報を取得するには GetDataStyle
を使用します。データ系列の表示形態の設定を上書きし、データ ポイ
ントの表示形態を個別に設定するには、SetDataStyle 関数を使用しま
す。
PowerScript リファレンス ボリューム 2
607
GetSeriesStyle
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、折れ線グラフ内のデータ ポイント
またはデータ系列の塗りつぶしパターンを確認することができます。
ただし、その塗りつぶしパターンは表示されません。
構文 1
データ系列の色を示す値を取得する
機能
グラフのデータ系列の色を示す値を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, colortype,
colorvariable )
引数
controlname
説明
グラフ コントロールの名前、またはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の色を示す値
を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ル内のグラフの名前を指定します。指定されたグラフの
ドウ コント
データ系列の色を示す値を取得します。
ロールのみ)
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の色を示す値を取得します。
colortype
grColorType カタログ データ型の値。色を示す値を取得す
るデータ系列の外観を指定します。
• Foreground! − テキストの色
• Background! − 背景の色
• LineColor! − 線の色
colorvariable
戻り値
608
• Shade! − 影の色(3D グラフや塗りつぶしたデータ マー
カーのあるグラフ)
Long 型の変数を指定します。指定された変数に色の RGB
値を格納します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列と項目の RGB 値を colorvariable
に格納します。引数のいずれかの値が NULL の場合は、NULL を返しま
す。
PowerBuilder
第 10 章 PowerScript の関数
例
次のステートメントは、グラフ 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
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
データ系列の線種と線幅についての情報を取得する
機能
グラフのデータ系列の線種と線幅についての情報を取得します。
PowerScript リファレンス ボリューム 2
609
GetSeriesStyle
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, linestyle,
linewidth )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の線種と線幅
についての情報を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフの線種
ドウ コント
と線幅についての情報を取得します。
ロールのみ)
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の線種についての情報を取得します。
linestyle
LineStyle 型の変数を指定します。指定された変数に、
seriesname に指定したデータ系列の線種を格納します。
linewidth
Integer 型の変数を指定します。指定された変数に、
seriesname に指定したデータ系列の線の幅についての情報
を格納します。幅の単位はピクセルです。
戻り値
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
610
PowerBuilder
第 10 章 PowerScript の関数
関連項目
AddSeries
GetDataStyle
FindSeries
SetDataStyle
SetSeriesStyle
構文 3
データ系列の塗りつぶしパターンまたはシンボルに
ついての情報を取得する
機能
グラフのデータ系列の塗りつぶしパターンまたはシンボルについての
情報を取得します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname, enumvariable )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列の塗りつぶし
パターンまたはシンボルについての情報を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフのデー
ドウ コント
タ系列の塗りつぶしパターンまたはシンボルについての
ロールのみ)
情報を取得します。
seriesname
String 型の値。データ系列の名前を指定します。指定され
たデータ系列の塗りつぶしパターンまたはシンボルにつ
いての情報を取得します。
enumvariable
塗りつぶしパターンまたはシンボルについての情報を格
納する変数を指定します。FillPattern カタログ データ型ま
たは grSymbolType カタログ データ型の変数を指定できま
す。GetSeriesStyle によって格納される表示形態の情報は、
変数の型によって異なります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列の塗りつぶしパターンまたはシ
ンボルについての情報は、enumvariable に指定された変数に格納され
ます。引数のいずれかの値が NULL の場合は、NULL を返します。
解説
GetSeriesStyle 関数が enumvariable に指定された変数に格納するカタロ
グ データ型の値の一覧については、SetSeriesStyle 関数を参照してくだ
さい。
PowerScript リファレンス ボリューム 2
611
GetSeriesStyle
例
次のステートメントは、グラフ 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
次の例では、データウィンドウ コントロール 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
612
PowerBuilder
第 10 章 PowerScript の関数
上記の例では、最後の引数として指定した変数 data_pattern のデータ
型を変更して、シンボルについての情報を格納できるように設定する
こともできます。
関連項目
AddSeries
GetDataStyle
FindSeries
SetDataStyle
SetSeriesStyle
構文 4
データ系列がオーバーレイであるかどうかを判別する
機能
グラフのデータ系列がオーバーレイであるかどうか、つまり、データ
系列が別のグラフの上に折れ線として表示されているかどうかを調べ
ます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.GetSeriesStyle ( { graphcontrol, } seriesname,overlayindicator )
引数
controlname
説明
グラフ コントロールの名前、あるいはグラフを含むデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール上にあるグラフのデータ系列のオーバーレ
イの状態を示す値を取得します。
graphcontrol
(オプション)String 型の値。データウィンドウ コントロー
(データウィン ルのグラフの名前を指定します。指定されたグラフのデー
タ系列のオーバーレイの状態を示す値を取得します。
ドウ コント
ロールのみ)
seriesname
String 型の値。オーバーレイの状態を示す値を取得する
データ系列の名前を指定します。
overlayindicator Boolean 型の変数。指定された変数に、seriesname に指定し
たデータ系列がオーバーレイであるかどうかを示す値を
格納します。データ系列がオーバーレイの場合は TRUE を
返し、オーバーレイでない場合は FALSE を返します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。指定されたデータ系列がオーバーレイの場合は
overlayindicator に TRUE を返し、オーバーレイでない場合は FALSE を
返します。引数のいずれかの値が NULL の場合は、NULL を返します。
PowerScript リファレンス ボリューム 2
613
GetShortName
例
次のステートメントは、グラフ gr_emp_data のデータ系列がオーバーレ
イであるかどうかを返します。データ系列の名前は、シングルライン
エディット コントロール sle_series に入力されています。
boolean is_overlay
gr_emp_data.GetSeriesStyle(sle_series.Text, &
is_overlay)
GetShortName
機能
現行の PowerBuilder 実行コンテキストのショートネームを取得しま
す。
対象
ContextInformation オブジェクト
構文
servicereference.GetShortName ( shortname )
引数
servicereference
shortname
戻り値
説明
ContextInformation サービス インスタンスへの参照を指定
します。
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
関連項目
614
GetCompanyName
PowerBuilder
第 10 章 PowerScript の関数
GetContextService
GetFixesVersion
GetHostObject
GetMajorVersion
GetMinorVersion
GetName
GetVersionName
GetSpacing
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
の行間を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.GetSpacing ( )
引数
rtename
説明
挿入ポイントがある段落の行間を調べるリッチテキスト
エディット コントロールの名前を指定します。
戻り値
Spacing 型。挿入ポイントがある段落の行間を示す Spacing カタログ
データ型の値を返します。
解説
複数の段落が選択されている場合、挿入ポイントは、最初の段落か最
後の段落にあります。挿入ポイントの位置は、エンド ユーザの段落の
選択方法によって異なります。報告される値は、挿入ポイントの位置
によって異なります。
例
次に、行間のカタログ データ型の値を変数 l_spacing に格納する例を示
します。値は、挿入ポイントがある段落の行間を示します。
spacing l_spacing
l_spacing = rte_1.GetSpacing()
関連項目
GetTextStyle
SetSpacing
SetTextStyle
PowerScript リファレンス ボリューム 2
615
GetStatus
GetStatus
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションのステータスを返します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.GetStatus ( )
引数
CORBACurrent
戻り値
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
Integer 型。エラーが発生した場合は -1 を返します。正常に終了した場
合は、以下の正の整数のいずれかを返します。
1
ステータス : アクティブ
2
ステータス : ロールバックの対象としてマーク済み
3
ステータス : 準備完了
4
ステータス : コミット完了
5
ステータス : ロールバック完了
6
ステータス : 不明
7
ステータス : トランザクションなし
8
ステータス : 準備中
9
ステータス : コミット中
10 ステータス : ロールバック中
解説
GetStatus 関数を使うと、BeginTransaction 関数を使用してトランザク
ションを開始したクライアントまたはコンポーネントで、トランザク
ションの現在のステータスを確認できます。EAServer は、2 フェーズ
コミット トランザクション コーディネータ(OTS/XA)を使用してい
ることが必要です。
GetStatus は、トランザクションが開始されていて prepare が発行されて
いない場合、1 を返します。
GetStatus は、ヒューリスティックスが存在する可能性があれば 4 か 5
を返します。それ以外の場合で、トランザクションが完了後に破棄さ
れたのであれば値として 7 が返されます。
戻り値が 6 であれば、トランザクションが遷移状態にあるという意味
であり、それ以降に呼び出しを行うと、最終的には別のステータスが
返されます。
616
PowerBuilder
第 10 章 PowerScript の関数
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:9000")
IF li_rc <> 1 THEN
// エラーを処理します。
ELSE
li_status = corbcurr.GetStatus()
CHOOSE CASE li_status
CASE 1
// 各値に応じた処理を行います。
...
END CHOOSE
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetTransactionName
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
PowerScript リファレンス ボリューム 2
617
GetTextColor
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
618
説明
選択されたテキストの書式を調べるリッチテキスト エ
ディット コントロールの名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
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 ( )
PowerScript リファレンス ボリューム 2
619
GetToolbar
引数
controlname
説明
今日の日付を取得する月表示カレンダ コントロールの名
前を指定します。
戻り値
Date 型。
解説
デフォルトでは、現在のシステム日付が今日の日付として設定されま
す。別の日付を設定するには、SetToday 関数を使用します。
例
次に、今日の日付を取得して currentdate に格納する例を示します。
Date currentdate
currentdate = mc_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 関数を呼び出します。
620
PowerBuilder
第 10 章 PowerScript の関数
例
次に、ツールバー 1 が表示されているかどうかを調べる例を示します。
さらに、ツールバー 1 の配置とタイトルを取得します。値は変数
lb_visible、lta_align、および ls_title に格納されます。
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"
PowerScript リファレンス ボリューム 2
621
GetToolbarPos
END CHOOSE
mle_1.Text = ls_visible + "~r~n" &
+ ls_align + "~r~n" &
+ ls_title
関連項目
GetToolbarPos
SetToolbar
SetToolbarPos
GetToolbarPos
指定されたツールバーの表示位置の情報を取得します。
取得する情報
固定ツールバーを配置する位置
浮動ツールバーの座標とサイズ
構文 1
固定ツールバーの表示位置を取得する
機能
固定ツールバーの表示位置を取得します。
対象
MDI フレーム、シート ウィンドウ
構文
window.GetToolbarPos ( toolbarindex, dockrow, offset )
引数
window
toolbarindex
dockrow
offset
622
使用する構文
構文 1
構文 2
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。現行の設定を調べるツールバーのインデッ
クスの値を指定します。
Integer 型の変数を指定します。指定された変数に、ツール
バーを配置する行の番号が格納されます。配置する行に
は、左から右、または上から下へ番号が付けられています。
Integer 型の変数を指定します。ツールバーを配置する行の
先頭からの距離を指定します。上端または下端にあるツー
ルバーの offset は、左端から測定されます。左端または右
端にあるツールバーの offset は、上端から測定されます。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が NULL の場合は、NULL を返します。
解説
固定ツールバーがウィンドウの上端、下端、左端、右端のどこにある
かを調べるには、GetToolbar 関数を呼び出します。
構文 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
PowerScript リファレンス ボリューム 2
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。現行の設定を調べるツールバーのインデッ
クスの値を指定します。
623
GetToolbarPos
引数
x
y
width
height
説明
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの x 座標が格納されます。ツールバーが固定さ
れている場合、x には近似値が設定されます。
Integer 型の変数を指定します。指定された変数に、浮動
ツールバーの y 座標が格納されます。固定ツールバーの場
合、y には近似値が設定されます。
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
関連項目
624
GetToolbar
SetToolbar
SetToolbarPos
PowerBuilder
第 10 章 PowerScript の関数
GetTransactionName
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションの状態を示す文字列を返します。
対象
CORBACurrent オブジェクト
構文
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)
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
Init
ResumeTransaction
RollbackOnly
RollbackTransaction
PowerScript リファレンス ボリューム 2
625
GetURL
SetTimeout
SuspendTransaction
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)
626
PowerBuilder
第 10 章 PowerScript の関数
関連項目
HyperLinkToURL
InternetData
PostURL
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
PowerScript リファレンス ボリューム 2
627
Handle
GetName
GetShortName
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 関数のかわりに使用します。
628
PowerBuilder
第 10 章 PowerScript の関数
PowerBuilder の Run 関数を使用して実行したアプリケーションのハン
ドルを要求すると、Handle 関数は 0 を返します。Windows から見た場
合、PowerBuilder から実行したアプリケーションはハンドルを持って
いません。開発したアプリケーションの実行モジュールを作成して実
行すると、Handle 関数はアプリケーションのハンドルを返します。
Windows の現行のバージョンでは、previous フラグに TRUE を設定して
アプリケーションの既存のインスタンスのハンドルを要求すると、
Handle 関数は常に 0 を返します。アプリケーションのメイン ウィンド
ウのインスタンスが開いているかどうかを調べるには、Windows の
FindWindow 関数を使用します。
例
次に、ウィンドウ 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
PowerScript リファレンス ボリューム 2
&
629
Hide
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
// 既存のインスタンスがないので、メイン ウィンドウを開きます。
open( w_main )
else
// 既存のインスタンス ウィンドウを開いてアプリケーションを停
止します。
SetForegroundWindow( hwnd )
HALT CLOSE
end if
関連項目
Send
Hide
機能
オブジェクトまたはコントロールを非表示にします。開発者も、エン
ド ユーザも表示されていないオブジェクトは操作できません。表示さ
れていないオブジェクトはどのイベントにも応答しないので、事実上
そのオブジェクトは、使用不可の状態になります。
対象
すべてのオブジェクト
構文
objectname.Hide ( )
引数
objectname
説明
非表示にするオブジェクトまたはコントロールの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。objectname が NULL の場合、NULL を返します。
解説
隠そうとしているオブジェクトがすでに非表示の場合は、Hide 関数は
何も実行しません。
630
PowerBuilder
第 10 章 PowerScript の関数
Hide 関数では、ドロップダウン メニュー、カスケード メニュー、およ
び親ウィンドウが MDI フレーム ウィンドウであるメニューを非表示
にはできません。MDI シートとして開かれたウィンドウも、非表示に
はできません。
Disable 関数を使用すると、メニュー項目を使用不可の色で表示して操
作できないようにすることができます。
オブジェクトを表示させてイベントに応答しないように使用不可の状
態に設定するには、Enabled プロパティを設定します。
Hide 関数を使用せずに、次のようにオブジェクトの Visible プロパティ
を設定する方法もあります。
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
PowerScript リファレンス ボリューム 2
説明
時間データを取得する Time 型の値を指定します。
631
HyperLinkToURL
戻り値
Integer 型。time で指定した時間部分の整数値(00 ∼ 23)を返します。
time が NULL の場合、NULL を返します。
例
次に、現在の時間部分を返すステートメントを示します。
Hour(Now())
次のステートメントは、19 を返します。
Hour(19:01:31)
関連項目
Minute
Now
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)
関連項目
632
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
633
Idle
参考
キ ー や マ ウ ス の 動 き を 把 握 す る に は、ウ ィ ン ド ウ や シ ー ト の
MouseMove イベントや Key イベントでスクリプトを記述してくだ
さい。キーボードを操作しても MouseMove イベントはトリガしま
せん。繰り返して検索する場合は、Idle タイマーがリセットされな
いように、データウィンドウのコントロールとタブの順序付けを
無効にしてください。
例
次に、5 分間、エンド ユーザが操作しなかった後で Idle イベントを起
動する例を示します。
Idle(300)
次のステートメントは、Idle イベントを起動しません。
Idle(0)
次の例では、2 分間エンド ユーザが何も操作しなかった場合、Idle イ
ベントを使用してアプリケーションを停止し、再起動する方法を示し
ます。通常、この操作は、公共の場所で情報提供を行うようなコン
ピュータで行われます。
次のステートメントは、アプリケーションの Open イベントのスクリ
プトに記述します。
Idle(120) // 2 分後に Idle イベントを送ります。
次の例は、アプリケーションの Idle イベントに対するスクリプトの一
部です。アプリケーションを停止して何らかの処理を行ってから再起
動しています。
// データベースを要求された状態に設定するための
// ステートメント
...
Restart() // アプリケーションを再起動します。
関連項目
634
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
PowerScript リファレンス ボリューム 2
635
IMEGetMode
IMEGetMode
機能
コントロールの IME の状態を取得します。
構文
IMEGetMode ( handle )
引数
handle
戻り値
説明
Long 型。コントロールのハンドルを指定します。
Integer 型。handle に指定したコントロールの IME の状態を表す値が返
されます。返される値の意味は、次のとおりです。
0 − IME はインストールされていません
1 − IME はオンの状態です。
2 − IME はオフの状態です。
3 − IME はオフ固定の状態です。
4 − IME は全角ひらがな入力モードです。
5 − IME は全角カタカナ入力モードです。
6 − IME は半角カタカナ入力モードです。
7 − IME は全角英数入力モードです。
8 − IME は半角英数入力モードです。
解説
そのときの IME の状態を格納しておき、処理の終了後に以前の IME の
状態に設定しなおすような場合に使用します。
例
次の例は、シングルライン エディット コントロール sle_name の IME
の状態を取得します。
IMEGetMode(Handle(sle_name))
関連項目
636
IMEGetCompositionText
IMESetMode
PowerBuilder
第 10 章 PowerScript の関数
IMESetMode
機能
コントロールに対して、指定した IME のモードを設定します。
構文
IMESetMode ( handle, n )
引数
handle
n
戻り値
説明
Long 型。コントロールのハンドルを指定します。
Integer 型。指定する値については、
「戻り値」の表を参照
してください。
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")
PowerScript リファレンス ボリューム 2
637
ImpersonateClient
例
次の例は、シングルライン エディット コントロール sle_address に対し
て IME を全角ひらがな入力モードで起動しています。
IMESetMode(Handle(sle_address), 4)
次の例は、シングルライン エディット コントロール sle_amount の中
で、IME をオフ固定にしています。
IMESetMode(Handle(sle_amount), 3)
関連項目
IMEGetCompositionText
IMEGetMode
ImpersonateClient
機能
COM+ 上で動作する COM オブジェクトが、1 回の呼び出しの間、クラ
イアントのセキュリティ属性を持つことができるようにします。
対象
TransactionServer オブジェクト
構文
transactionserver.ImpersonateClient ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ImpersonateClient 関数を使用すると、1 回の呼び出しの間、COM オブ
ジェクトをクライアントのセキュリティ コンテキストで実行するこ
とができます。クライアントのセキュリティ コンテキストで実行する
ことにより、サーバ プロセスには、クライアントと同じリソースに対
するアクセス権が与えられます。これによって、サーバのリソースへ
のアクセスを制限または拡張することができます。たとえば、あるデー
タベースに対してクライアントが更新権を持たず、サーバには更新権
がある場合、データベースにアクセスする前にクライアントに同一化
させることによって、クライアントによるデータベースの更新を回避
できます。
クライアントのセキュリティ コンテキストを必要とする処理が終了
したら、RevertToSelf 関数を呼び出して、サーバのセキュリティ コンテ
キストに戻します。
638
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、トランザクション サーバ コンテキスト オブジェクトのイ
ンスタンスを作成し、クライアントに同一化させて処理を行います。
TransactionServer txninfo_test
integer li_rc
li_rc = GetContextService( "TransactionServer",
txninfo_test )
// 必要であればエラー処理を行います。
&
// クライアントに同一化させます。
txninfo_test.ImpersonateClient()
// クライアントのセキュリティ コンテキストで処理を行います。
...
// サーバのセキュリティ コンテキストに戻します。
txninfo_test.RevertToSelf()
関連項目
IsCallerInRole
IsImpersonating
IsSecurityEnabled
RevertToSelf
ImportClipboard
機能
クリップボード内のタブやカンマで区切られたデータ、もしくは XML
データを、データウィンドウ コントロール、データストア オブジェク
ト、またはグラフ コントロールに挿入します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「ImportClipboard メソッド」を参照してください。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
graphname.ImportClipboard ( { importtype}, { startrow {, endrow {,
startcolumn } } } )
PowerScript リファレンス ボリューム 2
639
ImportClipboard
引数
importtype
(オプション)
graphname
startrow
(オプション)
説明
SaveAsType データウィンドウ定数のカタログ値。
ImportClipboard の有効な引数の種類は、次のとおりです。
Text!
CSV!
XML!
XML トレース ファイルを生成したい場合は、XML! 引数
を要求します。
グラフ コントロールの名前。クリップ ボードのデータの
コピー先を指定します。
クリップボード内のデータのうち、最初にコピーする行の
行番号を指定します。特に指定しない限り、1 が設定され
ます。
デフォルトの XML インポートの場合、startrow を指定す
ると、最初の N (startrow -1) 個の要素がスキップされます。
なお、N は、データウィンドウの行のサイズです。
endrow
(オプション)
テンプレートの XML インポートの場合、startrow を指定
すると、テンプレートで定義されている繰り返し行のマッ
ピングのうち、最初の(startrow -1)行がスキップされます。
クリップボード内のデータのうち、最後にコピーする行の
行番号を指定します。特に指定しない限り、残りのすべて
の行がコピーされます。
デフォルトの XML インポートの場合、endrow を指定する
と、N * endrow 個の要素がインポートされたときにイン
ポート処理が終了します。なお、N は、データウィンドウ
の行のサイズです。
startcolumn
(オプション)
テンプレートの XML インポートの場合、endrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングが endrow 個インポートされた時点でインポート処理
が終了します。
クリップボードのデータのうち、最初にコピーするカラム
のカラム番号を指定します。特に指定しない限り、1 が設
定されます。
デフォルトの XML インポートの場合、startcolumn を指定
すると、各行の最初の(startcolumn - 1)要素がスキップさ
れます。
テンプレートの XML インポートの場合、この引数は無効
です。
戻り値
640
正常に終了した場合、インポートされた行数を返します。エラーが発
生した場合は、以下の負の整数のいずれかを返します。
PowerBuilder
第 10 章 PowerScript の関数
-1
行がありません。または startrow に、文字列内の行数よりも大きい
値が指定されました。
-2
入力データがカラム数と一致しないか、必要なカラムの種類と一
致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
-11 XML 解析エラー。XML パーサ ライブラリが見つからないか、
XML が整形式ではありません。
-12 XML テンプレートが存在しないか、データウィンドウと一致し
ません。
引数のいずれかの値が NULL の場合は、NULL を返します。オプション
の引数 importtype で指定したデータの種類が有効でない場合、-3 を返
します。
解説
クリップボードのデータは、タブかカンマで区切られた形式、もしく
は XML 形式でなければなりません。データウィンドウ オブジェクト
のカラムのデータ型と順番は、クリップボード内のデータと一致して
いる必要があります。
Graph コントロールを対象とする場合、ImportClipboard 関数は 3 つのカ
ラムだけを使用し、ほかのカラムを無視します。データの各行には、3
つの情報が必要です。必要な情報は、グラフの種類によって異なりま
す。
•
散布図以外のすべてのグラフの場合、最初にインポートされるカ
ラムは、データ系列の名前です。2 番目のカラムは項目で、3 番目
のカラムはデータです。
•
散布図の場合、最初にインポートされるカラムは、データ系列の
名前です。2 番目のカラムはデータの x 座標の値、3 番目のカラム
は y 座標の値です。
データ系列または項目がすでにグラフに存在する場合、データは既存
のデータ系列または項目に対して割り当てられます。存在しない場合
は、データ系列と項目がグラフに追加されます。
最初のカラムに異なるデータ系列の名前を指定すると、複数のデータ
系列にデータを追加できます。
例
たとえば、クリップボードに以下のデータが格納されていて、グラフ
にはデータが含まれていない場合、次のステートメントを実行すると
2 つのデータ系列と 3 つの項目を持つグラフが作成されます。クリッ
プボードのデータは、以下のとおりです。
Sales 94Jan3000
PowerScript リファレンス ボリューム 2
641
ImportFile
Sales
Sales
Sales
Sales
Sales
94Mar2200
94May2500
95Jan4000
95Mar3200
95May3500
次のステートメントは、上記のクリップボード内のすべてのデータを
gr_employee にコピーします。
gr_employee.ImportClipboard()
次のステートメントは、クリップボードのデータ(2 行目の 3 カラム
目から 30 行目の 5 カラム目までのデータ)をグラフ コントロール
gr_employee にコピーします。
gr_employee.ImportClipboard(2, 30, 3)
関連項目
ImportFile
ImportString
ImportFile
機能
ファイル内のデータを、データウィンドウ コントロール、データスト
ア オブジェクト、またはグラフ コントロールに挿入します。データ
は、タブやカンマで区切られたテキスト、XML、dBase 形式 2、また
は dBase 形式 3 です。ファイルの形式は、挿入先がデータウィンドウ
コントロール(またはデータストア)であるのか、グラフ コントロー
ルであるのかによって異なります。また、グラフの種類によっても異
なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「ImportFile メソッド」を参照してください。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
graphname.ImportFile ( { importtype}, filename {, startrow {, endrow {,
startcolumn } } } )
引数
graphname
642
説明
グラフ コントロールの名前。データのコピー先を指定しま
す。
PowerBuilder
第 10 章 PowerScript の関数
引数
importtype
(オプション)
filename
startrow
(オプション)
説明
SaveAsType データウィンドウ定数のカタログ値。この引数
を指定すると、importtype の指定時に拡張子を省略できま
す。ImportFile の有効な引数の種類は、次のとおりです。
Text!
CSV!
XML!
DBase2!
DBase3!
String 型の値。データをコピーするファイルの名前を指定
します。ファイルの形式は、ASCII 形式、タブで区切られ
た形式(.TXT)、カンマで区切られた形式(.CSV)、XML
形式(.XML)、dBase 2 形式または dBase 3 形式(.DBF)で
なければなりません。ファイル名は、拡張子を付けた完全
な名前で指定します。オプションの importtype の指定を省
略した場合、名前には適切な拡張子を付ける必要がありま
す。
filename が指定されていない場合、または filename が NULL
の場合は、エンド ユーザに対してファイル名の入力を要求
します。残りの引数は無視されます。
ファイル内のデータのうち、最初にコピーする行の行番号
を指定します。特に指定しない限り、1 が設定されます。
デフォルトの XML インポートの場合、startrow を指定する
と、最初の N (startrow -1) 個の要素がスキップされます。な
お、N は、データウィンドウの行のサイズです。
endrow
(オプション)
テンプレートの XML インポートの場合、startrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングのうち、最初の(startrow -1)行がスキップされます。
ファイルのデータのうち、最後にコピーする行の行番号を
指定します。特に指定しない限り、残りのすべての行がコ
ピーされます。
デフォルトの XML インポートの場合、endrow を指定する
と、N * endrow 個の要素がインポートされたときにイン
ポート処理が終了します。なお、N は、データウィンドウ
の行のサイズです。
テンプレートの XML インポートの場合、endrow を指定す
ると、テンプレートで定義されている繰り返し行のマッピ
ングが endrow 個インポートされた時点でインポート処理
が終了します。
PowerScript リファレンス ボリューム 2
643
ImportFile
引数
startcolumn
(オプション)
説明
ファイルのデータのうち、最初にコピーするカラムのカラ
ム番号を指定します。特に指定しない限り、1 が設定され
ます。
デフォルトの XML インポートの場合、startcolumn を指定
すると、各行の最初の(startcolumn - 1)要素がスキップさ
れます。
テンプレートの XML インポートの場合、この引数は無効
です。
戻り値
Long 型。正常に終了した場合、インポートされた行数を返します。エ
ラーが発生した場合は、以下の負の整数のいずれかを返します。
-1
行がありません。または startrow に、ファイル内の行数よりも大き
い値が指定されました。
-2
ファイルが空です。または入力データがカラム数と一致しないか、
必要なカラムの種類と一致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
-5
指定されたファイルを開くことができません。
-6
指定されたファイルを閉じることができません。
-7
テキストの読み取り中にエラーが発生しました。
-8
サポートされていないファイル名の拡張子です(有効な拡張子は
*.txt、*.csv、*.dbf、*.xml です)。
-10 サポートされていない dBase のファイル形式です(バージョン 2
または 3 ではありません)。
-11 XML 解析エラー。XML パーサ ライブラリが見つからないか、
XML が整形式ではありません。
-12 XML テンプレートが存在しないか、データウィンドウと一致し
ません。
引数のいずれかの値が NULL の場合、NULL を返します。オプションの
引数 importtype で指定したデータの種類が有効でない場合、-3 を返し
ます。
解説
ファイルの形式は、オプションの importtype で指定するか、または適
切なファイル拡張子を付けることによって指定できます。
グラフ コントロールを対象とする場合、ImportFile 関数は 3 つのカラム
だけを使用し、ほかのカラムを無視します。データの各行には、3 つ
の情報が必要です。必要な情報は、グラフの種類によって異なります。
644
PowerBuilder
第 10 章 PowerScript の関数
•
散布図以外のすべてのグラフの場合、最初にインポートされるカ
ラムは、データ系列の名前です。2 番目のカラムは項目で、3 番目
のカラムはデータです。
•
散布図の場合、最初にインポートされるカラムは、データ系列の
名前です。2 番目のカラムはデータの x 座標の値、3 番目のカラム
は y 座標の値です。
最初のカラムに異なるデータ系列の名前を指定すると、複数のデータ
系列にデータを追加できます。インポートするファイルをエンド ユー
ザに選択させるには、filename に NULL を指定します。インポート ファ
イルの選択 ダイアログボックスが表示されます。
二重引用符 タブで区切られたファイル内のフィールドにある二重
引用符の位置と数は、ファイルがインポートされたときの二重引用符
に対する処理方法に影響します。文字列が 1 対の二重引用符で囲まれ
ている場合、その二重引用符は破棄されます。文字列が 3 対の二重引
用符で囲まれている場合は、その文字列がインポートされたときに 1
対が保持されます。文字列が 2 対の二重引用符で囲まれている場合、
最初の 1 対が NULL 文字列を囲んでいるとみなされ、残りの文字列は
破棄されます。
文字列の先頭に二重引用符がある場合、2 番目の二重引用符よりも後
ろにある文字はすべて破棄されます。2 番目の二重引用符がない場合、
フィールドを区切るタブ文字はフィールド区切り文字として認識され
ません。次に来る二重引用符よりも前にある文字(キャリッジ リター
ンを含む)はすべて、その文字列の一部であるとみなされます。結合
された文字列が最初の文字列の長さを超えた場合は、検証エラーが生
成されます。
文字列において先頭の文字よりも後ろにある二重引用符は、その文字
どおりに表示されます。以下に、タブで区切られた文字列を 2 列のデー
タウィンドウにインポートする例をいくつか示します。
ファイル内のテキスト
"Joe" TAB "Donaldson"
Bernice TAB """Ramakrishnan"""
""Mary"" TAB ""Li""
"Mich"ael TAB """Lopes"""
"Amy TAB Doherty"
3""" TAB 4"
PowerScript リファレンス ボリューム 2
結果
Joe Donaldson
Bernice "Ramakrishnan"
セルは空になる
Mich "Lopes"
最初のセルは「Amy<TAB>Doherty」、2 番
目のセルは空になる
3""" 4"
645
ImportFile
ファイル名に 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)
646
PowerBuilder
第 10 章 PowerScript の関数
次の例では、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! 引数
を要求します。
PowerScript リファレンス ボリューム 2
647
ImportString
引数
string
startrow
(オプション)
説明
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 インポートの場合、この引数は無効
です。
戻り値
648
正常に終了した場合、インポートされたデータ ポイントの数を返しま
す。エラーが発生した場合は、以下の負の整数のいずれかを返します。
-1
行がありません。または startrow に、文字列内の行数よりも大きい
値が指定されました。
-2
文字列が空です。または入力データがカラム数と一致しないか、必
要なカラムの種類と一致しません。
-3
無効な引数が指定されました。
-4
入力内容が無効です。
PowerBuilder
第 10 章 PowerScript の関数
-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)
PowerScript リファレンス ボリューム 2
649
IncomingCallList
関連項目
ImportClipboard
ImportFile
IncomingCallList
機能
パフォーマンス解析モデルに含まれるルーチンの呼び出し側のリスト
を作成します。
対象
ProfileRoutine オブジェクト
構文
iinstancename.IncomingCallList ( list, aggregrateduplicateroutinecalls )
引数
instancename
list
aggregateduplicateroutinecalls
戻り値
解説
説明
ProfileRoutine オブジェクトのインスタン
ス名を指定します。
データ型 ProfileCall の可変長配列変数を
指定します。この配列に、IncomingCallList
関 数 は、ル ー チ ン の 呼 び 出 し 側 ご と に
ProfileCall オブジェクトを格納します。こ
の引数は、参照渡しされます。
Boolean 型の値。呼び出しが複数回発生し
た場合に、ProfileCall オブジェクトを 1 つ
だけ作成するか、または複数作成するかど
うかを指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しません。
パフォーマンス解析モデルに含まれるルーチンの呼び出し側のリスト
を取得します。呼び出し側ルーチンはそれぞれ、ProfileCall オブジェク
トとして定義されます。このオブジェクトには、呼び出されるルーチ
ン、呼び出すルーチン、呼び出し回数、および処理時間が書き込まれ
ます。呼び出し側ルーチンがリストされるときの順序は、特に決まっ
ていません。
BuildModel 関数を使ってトレース ファイルからパフォーマンス解析
モデルをあらかじめ作成しておかなければなりません。
650
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
651
Init
Init
ORB プロパティ値を設定するか、CORBACurrent サービス オブジェク
トのインスタンスを初期化します。
目的
使用する構文
JaguarORB オブジェクトを使用して、EAServer にクライア 構文 1
ント接続するための ORB プロパティ値を設定します。
クライアント管理またはコンポーネント管理トランザク 構文 2
ション用に、CORBACurrent サービス オブジェクトのイン
スタンスを初期化します。
構文 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 オ
ブジェクトの内部的なインスタンスを新しく作成し、それ以降のすべ
ての呼び出しにおいてこのオブジェクトを使用します。
652
PowerBuilder
第 10 章 PowerScript の関数
そのほかの例については、関連項目リストの関数を参照してください。
例
次の例は、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
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
原因不明のエラーです。
サービス オブジェクトが EAServer で実行されていない(引数なし
の場合)か、接続オブジェクトが EAServer に接続されていません
(引数が接続オブジェクトの場合)。
PowerScript リファレンス ボリューム 2
653
Init
解説
-3
ORB 初期化エラーです。
-4
ORB.resolve_initial_references("TransactionCurrent") メソッドの呼び
出しエラーです。
-5
narrow メソッドの呼び出しエラーです。
トランザクション プロパティに OTS 形式のマークが付けられた EAServer
で動作する PowerBuilder コンポーネントから、または PowerBuilder ク
ライアントから Init 関数を呼び出せます。Init 関数以外の関数を呼び出
す際は、事前に Init 関数を呼び出して CORBACurrent オブジェクトを初
期化しておくことが 必要 です。EAServer は 2 フェーズ コミット トラン
ザクション コーディネータ(OTS/XA)を使用していることが必要です。
また、GetContextService 関数を使用して CORBACurrent オブジェクトへ
の参照を取得しておくことも必要です。
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
654
PowerBuilder
第 10 章 PowerScript の関数
この例では、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:9000" )
IF li_rc <> 0 THEN
// エラーを処理します。
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
ResumeTransaction
RollbackOnly
RollbackTransaction
SetTimeout
SuspendTransaction
PowerScript リファレンス ボリューム 2
655
InputFieldChangeData
InputFieldChangeData
機能
リッチテキスト エディット コントロールの、入力フィールドのデータ
値を修正します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldChangeData ( inputfieldname, inputfieldvalue )
引数
rtename
inputfieldname
inputfieldvalue
説明
リッチテキスト エディット コントロールの名前。入力
フィールドのデータを変更するコントロールを指定します。
String 型の値。データを変更する入力フィールドの名前を
指定します。同じ名前の入力フィールドが、複数ある場合
もあります。
String 型の値。指定された入力フィールドに割り当てる
データを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
同じ名前を持つすべての入力フィールドには、同じデータが入ります。
InputFieldChangeData 関数が呼び出された場合、指定された名前を持つ
すべての入力フィールドのデータ値が修正されます。
例
次のスクリプトは、リストボックス コントロール lb_instruments の
SelectionChanged イベントの一部です。エンド ユーザがリストボック
ス内の項目をクリックすると、選択された楽器名がリッチテキスト エ
ディット コントロール rte_1 の instrument という名前の入力フィール
ドに割り当てられます。
integer rtn
rtn = rte_1.InputFieldChangeData &
("instrument", lb_instruments.SelectedItem())
st_status.Text = String(rtn)
たとえば、rte_1 のテキストに次のように入力されているとします。
Dear {title} {lastname}:
お子様用の {instrument} をお借りいただき、ありがとうございます。
{instrument} の保守は、お子様の先生の指示に従って定期的に行ってく
ださい。{instrument} の部品や教本は、お近くの楽器店でお求めになる
ことができます。
656
PowerBuilder
第 10 章 PowerScript の関数
エンド ユーザがリストボックス コントロールから " トランペット " を
選択すると、各 {instrument} フィールドに " トランペット " が挿入され
ます。そのほかのフィールドのデータ値は修正されません。
Dear {title} {lastname}:
お子様用のトランペットをお借りいただき、ありがとうございます。
トランペットの保守は、お子様の先生の指示に従って定期的に行って
ください。トランペットの部品や教本は、お近くの楽器店でお求めに
なることができます。
関連項目
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
InputFieldLocate
DataSource
InputFieldCurrentName
機能
リッチテキスト エディット コントロールの入力フィールドに挿入ポ
イントがあるとき、その入力フィールドの名前を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldCurrentName ( )
引数
rtename
戻り値
例
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの名前を取得するコントロールを指定します。
String 型。入力フィールドの名前を返します。入力フィールドに挿入
ポイントがない場合、またはエラーが発生した場合には、空の文字列
("")を返します。
次の例は、挿入ポイントがある入力フィールドの名前を取得します。
string ls_inputname
ls_inputname = rte_1.InputFieldCurrentName()
PowerScript リファレンス ボリューム 2
657
InputFieldDeleteCurrent
関連項目
InputFieldChangeData
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
InputFieldLocate
DataSource
InputFieldDeleteCurrent
機能
リッチテキスト エディット コントロールの選択された入力フィール
ドを削除します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldDeleteCurrent ( )
引数
rtename
説明
リッチテキスト エディット コントロールの名前。選択され
た入力フィールドを削除するコントロールを指定します。
戻り値
Integer 型。正常に終了した場合、1 を返します。入力フィールドに挿
入ポイントがない場合、入力フィールドが編集中の場合、またはエラー
が発生した場合には、-1 を返します。
解説
同じ名前を持つすべての入力フィールドには、同じデータが入ります。
ただし、フィールドのデータは個別に削除することができます。同じ
名前の入力フィールドのグループが 1 つ削除されても、残りのグルー
プのデータは削除されません。同じ名前の入力フィールドがすべて削
除された場合、リッチテキスト エディット コントロールは、削除され
た入力フィールドのデータを記憶しておきます。リッチテキスト エ
ディット コントロールは、削除されたフィールドと同じ名前の新しい
入力フィールドを初期化する場合に、そのデータを使用します。
入力フィールドだけが選択されている必要があります。ほかのテキス
トも選択されている場合、InputFieldDeleteCurrent 関数は正常に終了し
ません。入力フィールドだけが選択されている場合は、ハイライト表
示が点滅します。
InputFieldDeleteCurrent 関数は、現行のフィールドだけを削除します。
文書内にほかに同じ名前のフィールドが存在しても、削除されません。
リッチテキスト エディット コントロールが DataSource 関数を使用し
てデータをデータウィンドウと共有している場合、現行のフィールド
は、文書のすべてのインスタンスから削除されます。
658
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、挿入ポイントがある入力フィールドを削除します。
integer li_rtn
li_rtn = rte_1.InputFieldDeleteCurrent()
関連項目
InputFieldChangeData
InputFieldGetData
InputFieldCurrentName
InputFieldInsert
InputFieldLocate
DataSource
InputFieldGetData
機能
リッチテキスト エディット コントロールの指定された入力フィール
ドのデータを取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldGetData ( inputfieldname )
引数
rtename
inputfieldname
説明
リッチテキスト エディット コントロールの名前。指定さ
れた入力フィールドのデータを取得するコントロールを
指定します。
String 型の値。データを取得する入力フィールドの名前を
指定します。
戻り値
String 型。入力フィールドのデータを返します。フィールドが存在しな
い場合、またはエラーが発生した場合には、空の文字列("")を返し
ます。
例
次に、入力フィールド empname のデータを取得する例を示します。
string ls_name
ls_name = rte_1.InputFieldGetData(empname)
関連項目
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldInsert
InputFieldLocate
DataSource
PowerScript リファレンス ボリューム 2
659
InputFieldInsert
InputFieldInsert
機能
リッチテキスト エディット コントロールの挿入ポイントに、名前付き
の入力フィールドを挿入します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldInsert ( inputfieldname )
引数
rtename
inputfieldname
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの挿入先を指定します。
String 型の値。挿入する入力フィールドの名前を指定しま
す。重複する名前を指定することもできます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。inputfieldname が NULL の場合は、NULL を返します。
解説
同じ名前の入力フィールドが複数ある場合があります。同じ名前の
フィールドには、同じデータが入ります。指定された入力フィールド
で InputFieldChangeData 関数を呼び出すと、同じ名前の入力フィールド
はすべて変更されます。
例
範囲が選択されている場合、InputFieldInsert 関数は選択範囲の先頭に
フィールドを挿入します。入力フィールドと選択範囲は、選択された
ままです。
st_status.Text = String( &
rte_1.InputFieldInsert("lastname"))
関連項目
660
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldLocate
DataSource
PowerBuilder
第 10 章 PowerScript の関数
InputFieldLocate
機能
リッチテキスト エディット コントロールの入力フィールドの位置を
検索し、検索した位置に挿入ポイントを移動します。
対象
リッチテキスト エディット コントロール
構文
rtename.InputFieldLocate ( location {, inputfieldname } )
引数
rtename
location
説明
リッチテキスト エディット コントロールの名前。入力
フィールドの検索対象を指定します。
入力フィールドの検索位置を指定する Location カタログ
データ型の値。値は以下のとおりです。
• First! − inputfieldname に指定された入力フィールドの
うち、文書内で最初に検索された入力フィールドの名前
を返します。また、inputfieldname が指定されていない
場合、文書内で最初に検索された入力フィールドの名前
を返します。
• Last! − inputfieldname に指定された入力フィールドのう
ち、文書内で最後に検索された入力フィールドの名前を
返します。また、inputfieldname が指定されていない場
合、文書内で最後に検索された入力フィールドの名前を
返します。
• Next! − inputfieldname に指定された入力フィールドの
うち、挿入ポイントのすぐ後で検索された入力フィール
ドの名前を返します。また、inputfieldname が指定され
ていない場合、挿入ポイントの次にくる別の入力フィー
ルドの名前を返します。
inputfieldname
• Prior! − inputfieldname に指定された入力フィールドの
うち、挿入ポイントのすぐ前で検索された入力フィール
ドの名前を返します。また、inputfieldname が指定され
ていない場合、挿入ポイントの前にある別入力フィール
ドの名前を返します。
String 型の値。検索する入力フィールドの名前を指定しま
す。指定された入力フィールドがコントロールに複数ある
場合、location に指定された位置にある入力フィールドが
検索されます。
戻り値
String 型。正常に終了した場合、検索結果の入力フィールドの名前を返
します。指定された条件と一致する入力フィールドが見つからなかっ
た場合、またはエラーが発生した場合には、空の文字列("")を返し
ます。引数のいずれかの値が NULL の場合は、NULL を返します。
解説
同じ名前の入力フィールドが複数ある場合があります。同じ名前の
フィールドには、同じデータが入ります。
PowerScript リファレンス ボリューム 2
661
InputFieldLocate
例
次の例は、挿入ポイントのすぐ後にある入力フィールドを検索します。
入力フィールドが見つかった場合、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")
関連項目
662
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
DataSource
PowerBuilder
第 10 章 PowerScript の関数
InsertCategory
機能
グラフの項目軸上の指定された位置に項目を挿入します。項目の番号
の連続性を保つために、既存の項目も含めて番号を付け直します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト内のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト内のグラフは、データウィンドウから
直接データを取得するからです。
構文
controlname.InsertCategory ( categoryvalue, categorynumber )
引数
controlname
categoryvalue
categorynumber
説明
項目を挿入したいグラフ コントロールの名前を指定しま
す。
挿入する項目を示す値を指定します。項目は、グラフ コン
トロールで固有でなければなりません。また、指定する値
は、項目軸のデータ型と同じでなければなりません。
項目の番号を指定します。指定された項目の前に、新しい
項目が挿入されます。項目を最後に追加するには、0 を指
定します。項目軸に昇順または降順のソートが定義されて
いる場合、categorynumber は無視され、項目はそのソート
順序の中に統合されます。
戻り値
Integer 型。正常に終了した場合は項目の番号を返し、エラーが発生し
た場合は -1 を返します。項目がすでに存在する場合、既存の項目の番
号を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
グラフの項目は、それぞれ独立しています。たとえば、日付や時間を
軸とするグラフでも、各項目は項目間に時間的な関連を持たずに独立
しています。散布図だけは個別の項目を持たないので、連続する項目
軸を持ちます。
項目軸のデータ型が String 型の場合、項目名は固有で、大文字と小文
字を区別します。また、項目名として空の文字列("")を指定するこ
とができます。ただし、項目名は固有でなければならないので、名前
として("")を持つ項目は 1 つだけです。
InsertCategory 関数を使用して新しい項目を作成すると、各データ系列の
その項目に空のデータ領域ができます。AddData 関数または InsertData 関
数を使用して、そこにデータ ポイントを挿入します。
PowerScript リファレンス ボリューム 2
663
InsertCategory
項目をデータ系列の最後に追加するには、AddCategory 関
数を使用します。
別の記述方法
たとえば、次のようなステートメントがあるとします。
gr_data.InsertCategory("Qty", 0)
このステートメントは、次のステートメントと同じ意味です。
gr_data.AddCategory("Qty")
例
次のステートメントは、グラフ gr_product_data の PCs という名前の項
目の前に、Macs という項目を挿入します。
integer CategoryNbr
// 項目の番号を取得します。
CategoryNbr = FindCategory("PCs")
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)
関連項目
664
AddData
AddCategory
FindCategory
FindSeries
InsertData
InsertSeries
PowerBuilder
第 10 章 PowerScript の関数
InsertClass
機能
OLE コントロールに、指定された OLE クラスの新しいオブジェクトを
挿入します。
構文
ole2control.InsertClass ( classname )
引数
ole2control
classname
戻り値
説明
新しいオブジェクトを作成する OLE コントロールの名前
を指定します。
String 型の値。作成するオブジェクトのクラス名を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
名前が無効です。
そのほかのエラーです。
引数のいずれかの値が NULL の場合は、NULL を返します。
解説
クラス名は、レジストリに登録されます。クラス名の例を次に示しま
す。
Excel.Sheet
Excel.Chart
Word.Document
例
次に、Excel の空のスプレッドシートを OLE コントロール ole_1 に挿入
する例を示します。
integer result
result = ole_1.InsertClass("excel.sheet")
関連項目
InsertFile
InsertObject
LinkTo
PowerScript リファレンス ボリューム 2
665
InsertColumn
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)
関連項目
666
AddColumn
DeleteColumn
PowerBuilder
第 10 章 PowerScript の関数
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 関数
は、既存のデータ ポイントを次の項目にシフトして、その位置にデー
タ ポイントを挿入します。シフトされた軸の最後には、項目に属さな
いデータ ポイントが発生します。
categoryvalue を指定した場合に項目が存在するときには、datapoint に
指定された位置を無視して、指定された項目に、既存のデータの値を
置き換えたデータ ポイントを挿入します。項目が存在しないときに
は、項目軸の最後に項目が作成されます。
特定の位置のデータ ポイントの値を変更するには、ModifyData 関数を
使用します。
PowerScript リファレンス ボリューム 2
667
InsertData
散布図
散布図にデータを追加するには、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")
例
たとえば、項目ラベル Jan が存在していないとします。次のステート
メントは、Costs というデータ系列の Mar に対するデータ ポイントの
前にデータの値を挿入します。そのデータ ポイントをグラフ
gr_product_data の項目ラベル Jan に割り当てます。
integer SeriesNbr, CategoryNbr
// データ系列と項目の番号を取得します。
SeriesNbr = gr_product_data.FindSeries("Costs")
CategoryNbr = gr_product_data.FindCategory("Mar")
668
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
669
InsertDocument
InsertDocument
機能
リッチテキスト エディット コントロール、データウィンドウ コント
ロール、またはデータストア オブジェクトに、リッチテキスト形式ま
たは書式属性のない通常のテキスト ファイルを挿入します。新しい内
容は、次のどちらかの方法を使用して追加します。
•
挿入ポイントがある場所に新しい内容を挿入する
•
既存のすべての内容を新しい内容で置き換える
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール、データストア オブジェクト
構文
rtename.InsertDocument ( filename, clearflag { , filetype } )
引数
rtename
filename
clearflag
説明
ファイルを表示するリッチテキスト エディット コント
ロール、データウィンドウ コントロール、またはデータス
トア オブジェクトの名前を指定します。データウィンドウ
コントロール(またはデータストア)のデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
リッチテキスト エディット コントロールに表示するファ
イルの名前を指定します。filename には、ファイルのパス
を含めることもできます。
Boolean 型の値。コントロールの現行の内容を新しいファ
イルで置き換えるかどうかを指定します。値は以下のとお
りです。
• TRUE − 現行の内容をファイルで置き換えます。
filetype
(オプション)
• FALSE − 既存の内容の挿入ポイントに、ファイルを挿
入します。
FileType カタログ データ型の値。開くファイルの種類を指
定します。値は以下のとおりです。
• FileTypeRichText! −(デフォルト)リッチテキスト
(RTF)形式
• FileTypeText! − 書式属性のない通常の ASCII テキスト
(TXT)
filetype が指定されていない場合、PowerBuilder はファイル
名の拡張子を使用してリッチテキストまたは ASCII テキ
ストとしてファイルを読み込むかどうかを判断します。拡
張子が RTF または TXT でない場合、PowerBuilder はリッ
チ テキストとしてファイルを読み込もうとします。INI、
LOG、または SQL などの拡張子のファイルを挿入するため
には、FileTypeText! を指定する必要があります。
670
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合は、NULL を返しま
す。
解説
コントロールがヘッダとフッタをサポートする場合(HeaderFooter プ
ロパティが TRUE の場合)、文書を挿入すると既存のヘッダとフッタに
影響します。clearflag が FALSE の場合、挿入された文書のヘッダとフッ
タのテキストは、既存のヘッダとフッタのテキストに追加されます。
サポートされていない 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
PowerScript リファレンス ボリューム 2
671
InsertFile
InsertFile
機能
OLE コントロールにオブジェクトを挿入します。指定されたファイル
のコピーが OLE オブジェクトに埋め込まれます。
構文
olecontrol.InsertFile ( filename )
引数
olecontrol
filename
戻り値
説明
OLE コントロールの名前を指定します。
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")
関連項目
672
InsertClass
InsertObject
LinkTo
Paste
PowerBuilder
第 10 章 PowerScript の関数
InsertItem
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、リストビュー コントロール、またはツリービュー コント
ロールに項目を挿入します。
項目の挿入先(コントロール)
リストボックス コントロール、またはドロップダウン リ
ストボックス コントロール
ピクチャ リストボックス コントロールか、ドロップダウ
ン ピクチャ リストボックス コントロール
リストビュー コントロール(項目ラベルとピクチャ イン
デックスだけを指定する場合)
リストビュー コントロール(項目ラベルとピクチャ イン
デックス以外の情報も指定する場合)
ツリービュー コントロール(項目ラベルとピクチャ イン
デックスだけを指定する場合)
ツリービュー コントロール(項目ラベルとピクチャ イン
デックス以外の情報も指定する場合)
使用する構文
構文 1
構文 2
構文 3
構文 4
構文 5
構文 6
構文 1
リストボックス コントロールとドロップダウン リス
トボックス コントロールに項目を挿入する
機能
ピクチャ リストボックスの値のリストに、項目を挿入します。
対象
リストボックス コントロール、またはドロップダウン リストボックス
コントロール
構文
listboxname.InsertItem ( item, index )
引数
listboxname
item
index
戻り値
説明
リストボックス コントロールまたはドロップダウン リスト
ボックス コントロールの名前。項目の挿入先を指定します。
String 型の値。挿入する項目のテキストを指定します。
リスト内での項目の番号を指定します。指定された項目の前
に、新しい項目を挿入します。
Integer 型。正常に終了した場合、リストボックスに挿入された項目の
最終的な位置を返します。エラーが発生した場合には -1 を返します。
引数のいずれかの値が NULL の場合は、NULL を返します。
PowerScript リファレンス ボリューム 2
673
InsertItem
解説
InsertItem 関数は、index に指定された項目の前に、新しい項目を挿入し
ます。listboxname に指定されたコントロール内の項目がソートされて
いた場合(Sorted プロパティが TRUE の場合)、PowerBuilder は新しい
項目を挿入した後、項目をソートし直します。したがって、戻り値は、
新しく挿入された項目のリストボックス内での最終的な位置を示しま
す。
AddItem 関数と InsertItem 関数は、
Items プロパティ配列を更新しません。
追加された項目を実行時に検索するには、FindItem 関数を使用します。
例
次のステートメントは、lb_actions の 5 番目の項目の前に、Run Application
という項目を挿入します。
lb_actions.InsertItem("Run Application", 5)
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)
関連項目
674
AddItem
DeleteItem
FindItem
Reset
TotalItems
PowerBuilder
第 10 章 PowerScript の関数
構文 2
ピクチャ リストボックス コントロールまたはドロッ
プダウン ピクチャ リストボックス コントロールに項
目を挿入する
機能
ピクチャ リストボックスの値のリストに、項目を挿入します。
対象
ピクチャ リストボックス コントロールか、ドロップダウン ピクチャ
リストボックス コントロール
構文
listboxname.InsertItem ( item {, pictureindex }, index )
引数
listboxname
item
pictureindex
(オプション)
index
説明
ピクチャ リストボックス コントロールか、ドロップダウ
ン ピクチャ リストボックス コントロールの名前。項目の
挿入先を指定します。
String 型の値。挿入する項目のテキストを指定します。
Integer 型の値。新しく追加する項目に関連付けるピクチャ
のインデックスを指定します。
リスト内での項目の番号を指定します。指定された項目の
前に、新しい項目を挿入します。
戻り値
Integer 型。正常に終了した場合、リストボックスに挿入された項目の
最終的な位置を返します。エラーが発生した場合には -1 を返します。
引数のいずれかの値が NULL の場合は、NULL を返します。
解説
ピクチャ インデックスを指定しなかった場合、新しく追加される項目
にピクチャが割り当てられません。
存在しないピクチャ インデックスを指定した場合でも、ピクチャ イン
デックスの番号は、ピクチャとともに格納されます。ピクチャをピク
チャ配列に追加すると、項目が対応するピクチャを示すようになりま
す。
リストボックス内の項目についての補足説明、および Sorted プロパ
ティが項目の順序に影響を与える例については、構文 1 を参照してく
ださい。
PowerScript リファレンス ボリューム 2
675
InsertItem
例
次のステートメントは、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
リストビュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックスだけを指定する場合)
機能
リストビュー コントロールに項目を挿入します。
対象
リストビュー コントロール
構文
listviewname.InsertItem ( index, label, pictureindex )
引数
listviewname
index
label
pictureindex
説明
リストビュー コントロールの名前。項目の挿入先を指定し
ます。
Integer 型の値。インデックス番号を指定します。このイン
デックス番号の前に新しい項目を挿入します。
String 型の値。追加する項目の名前を指定します。
Integer 型の値。追加する項目のピクチャのインデックス番
号を指定します。
戻り値
Integer 型。正常に終了した場合は index を返し、エラーが発生した場
合は -1 を返します。
解説
項目ラベルとピクチャ インデックス以外にも情報を指定する場合に
は、構文 4 を使用してください。
例
次の例は、リストビュー コントロールの 11 番目の位置に項目を挿入
します。
lv_list.InsertItem(11 , "Presentation" , 1)
関連項目
676
AddItem
PowerBuilder
第 10 章 PowerScript の関数
構文 4
リストビュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックス以外の情報も指定す
る場合)
機能
リストビュー コントロールに項目を挿入します。
対象
リストビュー コントロール
構文
listviewname.InsertItem ( index, item )
引数
listviewname
index
item
説明
リストビュー コントロールの名前。項目の挿入先を指定し
ます。
Integer 型の値。追加する項目のインデックス番号を指定し
ます。
データ型 ListViewItem のシステム構造体を指定します。
InsertItem 関数は、ここに挿入する項目を格納します。
戻り値
Integer 型。正常に終了した場合は index を返し、エラーが発生した場
合は -1 を返します。
解説
指定したインデックスは、リストビュー コントロールに新しく追加す
る項目の位置を示します。
挿入する項目ラベルとピクチャ インデックスだけを指定する場合に
は、構文 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
PowerScript リファレンス ボリューム 2
677
InsertItem
構文 5
ツリービュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックスだけを指定する場合)
機能
ツリービュー コントロールの特定のレベルに、特定の順序で項目を挿
入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItem ( handleparent, handleafter, label, pictureindex )
引数
treeviewname
handleparent
handleafter
label
pictureindex
説明
ツリービュー コントロールの名前。項目の挿入先を指定し
ます。
項目のハンドルを指定します。指定された項目の 1 つ下の
レベルに、新しい項目を挿入します。最初のレベルに挿入
したい場合は、0 を指定します。
項目のハンドルを指定します。指定された項目と同じレベ
ルで、この項目のすぐ後に新しい項目を挿入します。
挿入する項目のラベルを指定します。
ピクチャのリストに追加するピクチャ インデックスを指
定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
この構文は、項目ラベルとピクチャ インデックスだけを設定する場合
に使用してください。さらにほかのプロパティを設定する場合は、構
文 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)
関連項目
678
GetItem
PowerBuilder
第 10 章 PowerScript の関数
構文 6
ツリービュー コントロールに項目を挿入する(項目
ラベルとピクチャ インデックス以外の情報も指定す
る場合)
機能
ツリービュー コントロールの特定のレベルに、特定の順序で項目を挿
入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItem ( handleparent, handleafter, item )
引数
treeviewname
handleparent
handleafter
item
説明
ツリービュー コントロールの名前。項目の挿入先を指定し
ます。
項目のハンドルを指定します。指定された項目の 1 つ下の
レベルに、新しい項目を挿入します。最初のレベルに挿入
したい場合は、0 を指定します。
項目のハンドルを指定します。指定された項目と同じレベ
ルで、この項目のすぐ後に新しい項目を挿入します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
戻り値
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)
PowerScript リファレンス ボリューム 2
679
InsertItemFirst
関連項目
GetItem
InsertItemFirst
親項目の最初の子として、項目を挿入します。
目的
項目ラベルとピクチャ インデックスだけを指定する場合
項目ラベルとピクチャ インデックス以外の情報も指定す
る場合
使用する構文
構文 1
構文 2
構文 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, &
680
PowerBuilder
第 10 章 PowerScript の関数
"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
構文 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)
PowerScript リファレンス ボリューム 2
681
InsertItemLast
ll_roothandle = tv_list.FindItem(RootTreeItem!, 0)
tv_list.GetItem(ll_handle , l_tvi)
tv_list.InsertItemFirst(ll_roothandle, l_tvi)
関連項目
InsertItem
InsertItemLast
InsertItemSort
InsertItemLast
親項目の最後の子として、項目を挿入します。
目的
使用する構文
項目ラベルとピクチャ インデックスだけを指定する場合
構文 1
項目ラベルとピクチャ インデックス以外の情報も指定す 構文 2
る場合
構文 1
項目ラベルとピクチャ インデックスだけを指定する
場合
機能
親の最後の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemLast ( handleparent, label, pictureindex )
引数
treeviewname
handleparent
label
pictureindex
戻り値
682
説明
親の最後の子として指定する項目のツリービュー コント
ロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
親の最後の子として指定する項目のラベルを指定します。
親の最後の子として指定する項目のピクチャ インデック
スを指定します。
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
項目ラベルやインデックス以外の情報も指定する必要がある場合は、
構文 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
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
PowerScript リファレンス ボリューム 2
683
InsertItemLast
構文 2
項目ラベルとピクチャ インデックス以外の情報も指
定する場合
機能
親の最後の子として項目を挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemLast ( 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.InsertItemLast(ll_roothandle, l_tvi)
関連項目
684
InsertItem
InsertItemFirst
InsertItemSort
PowerBuilder
第 10 章 PowerScript の関数
InsertItemSort
子項目を挿入し、親項目内で項目をソートします。
目的
項目ラベルとピクチャ インデックスだけを指定する場合
項目ラベルとピクチャ インデックス以外の情報も指定す
る場合
使用する構文
構文 1
構文 2
構文 1
項目ラベルとピクチャ インデックスだけを指定する
場合
機能
可能であれば、項目をソート順で挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemSort ( handleparent, label, pictureindex )
引数
treeviewname
handleparent
label
pictureindex
説明
親の子として項目を挿入し、ラベル順にソートするツリー
ビュー コントロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
親の子として項目をソートするラベルを指定します。
親の子としてラベル順にソートする項目のピクチャ イン
デックスを指定します。
戻り値
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
PowerScript リファレンス ボリューム 2
685
InsertItemSort
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
InsertItemLast
InsertItemFirst
構文 2
項目ラベルとピクチャ インデックス以外の情報も指
定する場合
機能
可能であれば、項目をソート順で挿入します。
対象
ツリービュー コントロール
構文
treeviewname.InsertItemSort ( handleparent, item )
引数
treeviewname
handleparent
item
説明
親の子としてラベル順にソートする項目のツリービュー
コントロールを指定します。
挿入する項目の親となる項目のハンドルを指定します。最
初のレベルに挿入するには 0 を指定します。
コントロールに挿入する項目の TreeViewItem 構造体を指
定します。
戻り値
Long 型。正常に終了した場合、挿入した項目のハンドルを返します。
エラーが発生した場合、-1 を返します。
解説
SortType プロパティが Unsorted! 以外の値に設定されている場合、ツ
リービューは常にソートされている状態になるので、InsertItemSort 関
数を呼び出す必要はありません。任意の挿入関数を使用できます。
SortType プロパティが Unsorted! の場合、アルファベットの昇順で項目
が挿入されます。リストがソートされていない場合には、挿入に最適
な位置を検索しますが、結果は不定です。
686
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.InsertItemSort(ll_roothandle, l_tvi)
関連項目
InsertItem
InsertItemFirst
InsertItemLast
InsertObject
機能
エンド ユーザが新規または既存の OLE オブジェクトを選択できるよ
うに、標準のオブジェクトの挿入ダイアログボックスを表示し、OLE
コントロールに指定されたオブジェクトを挿入します。
構文
olecontrol.InsertObject ( )
引数
olecontrol
戻り値
説明
オブジェクトを挿入する OLE コントロールの名前を指定
します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
1 エンド ユーザがダイアログボックスの表示を取り消しました。
-9 エラーが発生しました。
引数のいずれかの値が NULL の場合、NULL を返します。
例
次の例は、エンド ユーザが OLE オブジェクトを選択できるように、標
準の オブジェクトの作成と貼り付け ダイアログボックスを表示しま
す。InsertObject 関数は、指定されたオブジェクトをコントロール ole_1
に挿入します。
integer result
result = ole_1.InsertObject()
関連項目
InsertClass
PowerScript リファレンス ボリューム 2
687
InsertPicture
InsertFile
LinkTo
InsertPicture
機能
リッチテキスト エディット コントロールの挿入ポイントに、ビット
マップを挿入します。
対象
リッチテキスト エディット コントロール
構文
rtename.InsertPicture ( filename )
引数
rtename
filename
説明
ピクチャを挿入するリッチテキスト エディット コント
ロールの名前を指定します。
String 型の値。ビットマップを格納しているファイルの名
前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。filename が NULL の場合、NULL を返します。
解説
範囲が選択されている場合、InsertPicture 関数は選択範囲の先頭にビッ
トマップを挿入します。ビットマップと選択範囲は、選択されたまま
です。
例
次に、リッチテキスト エディット コントロール rte_1 の挿入ポイント
に BMP ファイルを挿入する例を示します。
integer li_rtn
li_rtn = rte_1.InsertPicture("c:\windows\earth.bmp")
関連項目
688
InputFieldInsert
InsertDocument
PowerBuilder
第 10 章 PowerScript の関数
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")
PowerScript リファレンス ボリューム 2
689
InsertSeries
例
以下に、グラフ gr_product_data 内にある Income というデータ系列の前
に、データ系列を挿入するステートメントを示します。
integer SeriesNbr
// データ系列の番号を取得します。
SeriesNbr = FindSeries("Income")
gr_product_data.InsertSeries("Costs", SeriesNbr)
関連項目
690
AddData
AddSeries
FindCategory
FindSeries
InsertCategory
InsertData
PowerBuilder
第 10 章 PowerScript の関数
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
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Int メソッド
PowerScript リファレンス ボリューム 2
691
Integer
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)
END IF
次の例では、データベースの Blob 型データを lb_blob に割り当てた後、
Blob 型データの位置 20 に格納されている Integer 型の値を取得します。
integer i
i = Integer(BlobMid(lb_blob, 20, 2))
692
PowerBuilder
第 10 章 PowerScript の関数
関連項目
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 を適切に処理します。
明示的に呼び出さない
InternetData 関数は、明示的に呼び出さないでください。GetURL 関数と
PostURL 関数に含まれる引数は、インスタンス化した InternetRequest 子
孫を参照します。GetURL 関数と PostURL 関数が完了したら、コンテ
キスト オブジェクトが InternetData 関数を呼び出し、data に HTML を
格納して返します。
PowerScript リファレンス ボリューム 2
693
IntHigh
例
次の例は、上書きした 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) // 下位 Integer は 12345 です。
nHigh = IntHigh(LValue) // 上位 Integer は 4 です。
関連項目
694
IntLow
PowerBuilder
第 10 章 PowerScript の関数
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 } })
引数
activexcontrol
name
numarguments
(オプション)
PowerScript リファレンス ボリューム 2
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子を指定します。HTML で使用する場合、これ
はオブジェクト要素の NAME 属性です。そのほかの環境
で使用する場合には、これは PowerBuilder ウィンドウ
ActiveX を含むコントロールを参照します。
String 型の値。ユーザ定義のウィンドウ関数の名前を指定
します。この引数は、参照渡しされます。
arguments 配列の構成要素の数値を指定する整数。デフォ
ルトは 0 です。
695
InvokePBFunction
引数
arguments
(オプション)
説明
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) {
alert(" エラー。空の文字列です。");
}
PBRX1.ResetArgElements();
}
次に、VBScript で InvokePBFunction 関数を呼び出す例を示します。
Sub invokeFunction_OnClick()
Dim retcd
Dim myForm
Dim args(1)
696
PowerBuilder
第 10 章 PowerScript の関数
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 )
引数
corbaobject
classname
戻り値
説明
テストする CORBAObject 型のオブジェクトを指定します。
テストに使用されるインタフェースを指定します。
Boolean 型。オブジェクトのクラスが指定されたインタフェースを実装
している場合は TRUE を返し、そうでない場合は FALSE を返します。
PowerScript リファレンス ボリューム 2
697
IsAlive
解説
_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
説明
オートメーション サーバまたは COM オブジェクトに接続
されている OLEObject 変数または OLETxnObject 変数の名
前を指定します。
戻り値
Boolean 型。サーバ オブジェクトが起動しているように見える場合は
TRUE を返し、終了している場合は FALSE を返します。
解説
IsAlive 関数は、サーバ プロセスが終了しているかどうかを評価するの
に使用します。この関数は、ExternalException イベントと Error イベン
トによって提供されるエラー処理にかわるものではありません。これ
は、一定の間隔で、あるいは特定の操作の前に、サーバが実行中かど
うかをチェックして、実行時エラーを回避する手段を提供するもので
す。
698
PowerBuilder
第 10 章 PowerScript の関数
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
説明
文字列。含まれる文字がすべてアラビア文字かどうかをテ
ストします。
戻り値
Boolean 型。string がすべてアラビア文字の場合には TRUE を返し、そ
うでない場合は FALSE を返します。数字、空白文字、発音記号などが
含まれる場合は FALSE を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAllArabic に FALSE が設定されます。
PowerScript リファレンス ボリューム 2
699
IsAllHebrew
例
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)
関連項目
700
IsAnyHebrew
IsHebrew
IsHebrewAndNumbers
Reverse
PowerBuilder
第 10 章 PowerScript の関数
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
説明
文字列。ヘブライ文字が 1 文字以上含まれるかどうかをテ
ストします。
戻り値
Boolean 型。string にヘブライ文字が 1 文字以上含まれている場合には
TRUE を返し、そうでない場合は FALSE を返します。
解説
実行している Windows のバージョンが右から左へ読む言語をサポー
トしていない場合、IsAnyHebrew に FALSE が設定されます。
PowerScript リファレンス ボリューム 2
701
IsArabic
例
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)
関連項目
702
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
703
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
704
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
PowerScript リファレンス ボリューム 2
説明
String 型の値。有効な日付かどうかを確認する値を指定し
ます。
705
IsHebrew
戻り値
Boolean 型。datevalue が有効な日付の場合は TRUE を返し、そうでない
場合は FALSE を返します。datevalue が NULL の場合、IsDate は NULL を
返します。
解説
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 が設定されます。
706
PowerBuilder
第 10 章 PowerScript の関数
例
Windows が右から左へ読む言語をサポートしている場合、このステー
トメントは、シングルライン エディット sle_name の最初の文字がヘブ
ライ文字の場合に TRUE を返します。
IsHebrew(sle_name.Text)
関連項目
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
707
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()
関連項目
708
&
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
PowerScript リファレンス ボリューム 2
709
IsNull
関連項目
EnableCommit
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 に設定するには
変数を NULL に設定するには、SetNull 関数を使用します。
例
次のステートメントは、lb_test に "TRUE" を設定します。
integer a, b
boolean lb_test
SetNull(b)
lb_test = IsNull(a + b)
710
PowerBuilder
第 10 章 PowerScript の関数
関連項目
SetNull
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsNull メソッド
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
PowerScript リファレンス ボリューム 2
711
IsPreview
関連項目
Double
Dec
Integer
Long
Real
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsNumber メソッド
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
関連項目
712
Preview
PowerBuilder
第 10 章 PowerScript の関数
IsSecurityEnabled
機能
COM+ 上で動作する COM オブジェクトに対してセキュリティ チェッ
クが有効になっているかどうかを表します。
対象
TransactionServer オブジェクト
構文
transactionserver.IsSecurityEnabled ( )
引数
transactionserver
説明
TransactionServer サービス インスタンスへの参照を指
定します。
戻り値
Boolean 型。セキュリティ チェックが有効であれば TRUE を返し、そう
でない場合は FALSE を返します。
解説
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
PowerScript リファレンス ボリューム 2
713
IsTime
関連項目
ImpersonateClient
IsCallerInRole
IsImpersonating
RevertToSelf
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
関連項目
714
Time
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの IsTime メソッド
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
715
IsValid
関連項目
EnableCommit
IsInTransaction
Lookup
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
関連項目
716
Handle
PowerBuilder
第 10 章 PowerScript の関数
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〕などの修飾キーを押したかどうかを判断する
ことができます。
KeyDown 関数では、大文字と小文字は区別さ
れず、
〔Shift〕の状態も区別されません。たとえば、KeyA! は A キーを
参照します。この場合、エンド ユーザは "A" か "a" を押した可能性が
あります。Key9! は、"9" と ")" の両方を参照します。このような場合に
は、修飾キーも押されたかどうかをテストする必要があります。
キーコード値と ASCII 値
KeyDown 関数は、
〔Caps Lock〕などのトグル キーがオンの状態である
かどうかを判断せずに、エンド ユーザがそのキーを押しているかどう
かだけを判断します。
PowerScript リファレンス ボリューム 2
717
KeyDown
KeyDown 関 数 は、ASCII コ ー ド の 65-90(KeyA!- KeyZ!)と 48-57
(Key0!-Key9!)の範囲の値だけを検出します。この範囲の ASCII 値を指
定すると、そのキーが押されたかどうかと、エンド ユーザが〔Shift〕
または〔Caps Lock〕も押したかどうかを調べます。KeyDown 関数では、
ほかの ASCII 値(小文字を表す 97-122 の値など)は検出されません。
次の表は、キーコード値をキーの種類別に示したものです。一部のキー
については、キー名も説明しています。
表 10-5: キーボードのキーの KeyCode 値
キーの種類
マウスのボタン
英字
ほかの記号キー
印刷不可文字
ファンクション
キー
コントロールキー
718
キーコード値
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!
PowerBuilder
第 10 章 PowerScript の関数
キーの種類
ナビゲーション
キー
数字キーと記号
キー
テンキーの数字
キー
テンキーの記号
キー
例
キーコード値
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 ...
PowerScript リファレンス ボリューム 2
719
LastPos
次のステートメントは、エンド ユーザが〔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")
720
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは 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)
次のステートメントは、対象文字列を末尾側からトークン化します。
// 対象文字列を末尾側からトークン化
// 結果は "pbsyc10.2.1 C20.dll powerbuilder
// shared sybase programs c:" になる
string sSource = &
'c:\programs\sybase\shared\powerbuilder\pbsyc10.2.1
C20.dll'
string sFind
= '\'
string sToken
long llStart, llEnd
llEnd = Len(sSource) + 1
PowerScript リファレンス ボリューム 2
721
LastPosW
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" を返します。
722
PowerBuilder
第 10 章 PowerScript の関数
Left("BABE RUTH", 40)
次のステートメントは、シングルライン エディット コントロール
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 関数は同じ結果を返します。
PowerScript リファレンス ボリューム 2
723
LeftC
LeftC
機能
文字列の左端から、指定されたバイト数の文字列を取り出して返しま
す。取り出される文字列の終端によって 2 バイト文字が分割される場
合、その前の文字までの文字列を返します。この関数は、将来サポー
トされなくなります。
構文
LeftC ( string, n )
LeftW
機能
文字列の左端から、指定された文字数分の文字列を取り出して返しま
す。この関数は、将来サポートされなくなります。動作は、すべての
環境で Left 関数と同じです。
構文
LeftW ( string, n )
LeftTrim
機能
文字列の左端からスペースを削除します。
構文
LeftTrim ( string )
引数
string
戻り値
説明
左端からスペースを削除する文字列を指定します。
String 型。正常に終了した場合、string の左端からスペースを削除した
文字列を返します。エラーが発生した場合、空の文字列("")を返し
ます。また、string が NULL の場合、NULL を返します。
例
次の例は、"RUTH" を返します。
LeftTrim(" RUTH")
次のステートメントは、マルチライン エディット コントロール mle_name
内のテキストから先頭のスペースを削除して emp_name に格納しま
す。
string emp_name
emp_name = LeftTrim(mle_name.Text)
724
PowerBuilder
第 10 章 PowerScript の関数
関連項目
RightTrim
Trim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの LeftTrim メソッド
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("")
PowerScript リファレンス ボリューム 2
725
Len
次のステートメントは、シングルライン エディット コントロール
sle_address 内のテキストの文字列の文字数を変数 s_address_len に格納
します。
long s_address_len
s_address_len = Len(sle_address.Text)
以下の例では、Blob 型の変数の長さが宣言に依存することを示してい
ます。
最初の例では、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 です。
関連項目
726
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Len メソッド
PowerBuilder
第 10 章 PowerScript の関数
LenA
機能
引数が文字列の場合、現行のロケールに基づいて文字列を Unicode か
ら DBCS に一時的に変換し、その長さをバイト数で返します。引数が
Blob 型の場合、変換は行われません。
構文
LenA (stringorblob)
引数
stringorblob
戻り値
説明
バイト数を求める文字列または Blob 型データを指定しま
す。
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 )
PowerScript リファレンス ボリューム 2
727
Length
Length
機能
開いている OLEStream オブジェクトの大きさをバイト数で取得しま
す。
Len 関数
文字列や Blob 型データの長さを取得するには、Len 関数を使用します。
対象
OLEStream オブジェクト
構文
olestream.Length ( sizevar )
引数
olestream
sizevar
戻り値
説明
開いている OLEStream 変数の名前を指定します。
Length によって olestream の大きさを格納する Long 型の変
数を指定します。
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)
728
PowerBuilder
第 10 章 PowerScript の関数
関連項目
Open
Read
Seek
Write
LibraryCreate
機能
オプションのコメントを持つ空の PowerBuilder ライブラリを作成しま
す。
構文
LibraryCreate ( libraryname {, comments } )
引数
libraryname
comments
(オプション)
説明
String 型の値。作成する PowerBuilder ライブラリの名前を
指定します。ライブラリを現行のディレクトリ以外の位置
に作成する場合、絶対パス名を入力します。
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
PowerScript リファレンス ボリューム 2
729
LibraryDelete
LibraryDelete
機能
ライブラリ ファイルを削除します。データウィンドウ オブジェクトを
指定した場合、ライブラリからデータウィンドウ オブジェクトを削除
します。
構文
LibraryDelete ( libraryname {, objectname, objecttype } )
引数
libraryname
objectname
(オプション)
objecttype
(オプション)
説明
String 型の値。削除する PowerBuilder ライブラリの名前、
または削除するデータウィンドウ オブジェクトが含まれ
ている PowerBuilder ライブラリの名前を指定します。絶対
パス名が指定されていない場合、システムの標準のファイ
ル検索方法でファイルを検索します。
String 型の値。libraryname で指定されたライブラリから削
除するデータウィンドウ オブジェクトの名前を指定しま
す。
LibImportType カタログデータ型の値。削除するオブジェ
クトの型を指定します。現在サポートされているオブジェ
クト型は、ImportDataWindow! だけです。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合は、NULL を返しま
す。
解説
スクリプトで LibraryDelete 関数を呼び出して、ライブラリからデータ
ウィンドウ オブジェクトを削除することができます。データウィンド
ウ以外のオブジェクトを削除するには、ライブラリ ペインタを使用し
ます。
例
次のステートメントは、現行のディレクトリの現行のアプリケーショ
ン ライブラリ パスにある dwTemp というライブラリを削除します。
LibraryDelete("dwTemp.pbl")
関連項目
730
LibraryCreate
LibraryDirectory
LibraryExport
LibraryImport
PowerBuilder
第 10 章 PowerScript の関数
LibraryDirectory
機能
PowerBuilder ライブラリ内のオブジェクトのリストを取得します。取
得できる情報は、オブジェクト名、最後に修正が行われた日時、およ
びオブジェクトに対するコメントです。すべてのオブジェクトのリス
トまたは特定のオブジェクトのリストを取得することができます。
構文
LibraryDirectory ( libraryname, objecttype )
引数
libraryname
objecttype
説明
String 型の値。オブジェクトをリストする PowerBuilder ラ
イブラリの名前を指定します。絶対パス名が指定されてい
ない場合、システムの標準のファイル検索方法でファイル
を検索します。
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 を返します。
解説
LibraryDirectory 関数が返した文字列を ImportString 関数に渡して、データ
ウィンドウ コントロールにオブジェクトのリストを表示することが
できます。そのデータウィンドウには、3 つの文字列カラムが含まれ
ていることが必要です。3 つのカラムは渡されたデータを格納するの
に十分な大きさでなければなりません。大きさが十分でない場合、無
効となりエラーが発生します。
PowerScript リファレンス ボリューム 2
731
LibraryDirectoryEx
オブジェクトのデータ型を返すには、LibraryDirectoryEx 関数を使用しま
す。
タブで区切られたデータの解析方法については、Pos 関数を参照して
ください。
例
次のステートメントは、返された文字列を データウィンドウ コント
ロール dw_list にインポートし、dw_list を作成します。データウィンド
ウは、外部ソースと 3 つの文字列カラムを持っています。
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
732
説明
String 型の値。オブジェクトをリストする PowerBuilder ラ
イブラリの名前を指定します。絶対パス名が指定されてい
ない場合、システムの標準のファイル検索方法でファイル
を検索します。
PowerBuilder
第 10 章 PowerScript の関数
引数
objecttype
説明
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 を返します。
解説
LibraryDirectoryEx 関数が返した文字列を ImportString 関数に渡して、デー
タウィンドウ コントロールにオブジェクトのリストを表示すること
ができます。そのデータウィンドウには、4 つの文字列カラムが含ま
れていることが必要です。4 つのカラムは渡されたデータを格納する
のに十分な大きさでなければなりません。大きさが十分でない場合、
無効となりエラーが発生します。
オブジェクトのデータ型を返す必要がなければ、LibraryDirectory 関数を
使用できます。
タブで区切られたデータの解析方法については、Pos または LastPos を
参照してください。
PowerScript リファレンス ボリューム 2
733
LibraryExport
例
次のステートメントは、返された文字列を データウィンドウ コント
ロール dw_list にインポートし、dw_list を作成します。データウィンド
ウは、外部ソースと 4 つの文字列カラムを持っています。
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
734
説明
String 型の値。オブジェクトをエクスポートする
PowerBuilder ライブラリの名前を指定します。絶対パス名
が指定されていない場合、システムの標準のファイル検
索方法でファイルを検索します。
String 型の値。エクスポートするオブジェクトの名前を指
定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
objecttype
説明
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
735
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!, &
736
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 型。Long 型。正常に終了した場合は editname に行数を返し、エ
ラーが発生した場合は -1 を返します。editname が NULL の場合、NULL
を返します。
PowerScript リファレンス ボリューム 2
737
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
738
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()
PowerScript リファレンス ボリューム 2
739
LineList
関連項目
Position
SelectedLine
SelectedStart
TextLine
LineList
機能
パフォーマンス解析モデルに含まれるルーチンのラインリストを取得
します。
対象
ProfileRoutine オブジェクト
構文
iinstancename.LineList ( list )
引数
instancename
list
戻り値
解説
説明
ProfileRoutine オブジェクトのインスタンス名を指定しま
す。
データ型 ProfileLine の可変長配列変数です。LineList 関数
は、ルーチンのラインごとに ProfileLine オブジェクトとし
て格納します。この引数は、参照渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しません。
パフォーマンス解析モデルに含まれるルーチンのラインリストを取得
します。BuildModel 関数を使用してトレース ファイルからパフォーマ
ンス解析モデルをあらかじめ作成しておかなければなりません。各ラ
インは ProfileLine オブジェクトとして定義され、リストには、ライン
がヒットした回数、ラインからの呼び出し、ラインや呼び出し関数の
経過時間などがラインごとに示されます。ラインは番号順にリストさ
れます。
ラインはデータベース ステートメントやオブジェクトに返されるこ
とはありません。ライン情報がトレース ファイルに記録されていない
場合、ラインは返されません。
740
PowerBuilder
第 10 章 PowerScript の関数
例
次の例では、パフォーマンス解析モデルに含まれるルーチンのリスト
を取得してから、各ルーチンに含まれるラインのリストを取得します。
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
関連項目
BuildModel
LinkTo
機能
OLE コントロールとファイル、または OLE コントロールとファイルの
ソース アイテムとの間にリンクを確立します。
構文
olecontrol.LinkTo ( filename {, sourceitem } )
引数
olecontrol
filename
sourceitem
(オプション)
戻り値
説明
リンクされたオブジェクトを挿入する OLE コントロール
の名前を指定します。
String 型の値。olecontrol に挿入するデータを含むファイル
の名前を指定します。リンクによって PowerBuilder のオブ
ジ ェ ク ト と オ リ ジ ナ ル の デ ー タ が 接 続 さ れ ま す。
sourceitem を省略すると、ファイル全体に対してリンクが
確立されます。
リンクする filename 内の ソース アイテムの名前を指定し
ます。指定方法は、OLE サーバ アプリケーションによっ
て決まります。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-9
ファイルがありません。
ソース アイテムがありません。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
741
LoadInk
例
次の例は、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
LoadInk
機能
インクピクチャ コントロールにファイルまたは Blob からインクを
ロードします。
対象
インクピクチャ コントロール
構文
inkpicname.LoadInk ( t | b )
引数
inkpicname
t
b
説明
インクをロードしたいインクピクチャ コントロールの名前
を指定します。
String 型の値。コントロールにロードしたいインクを含む
ファイルの名前と位置を指定します。
コントロールにロードしたいインクを含む Blob の名前を指
定します。この引数は、参照渡しされます。
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、-1 を返します。
解説
LoadInk 関数を使用して、ファイルまたは Blob に保存したインクをコ
ントロールにロードします。
例
742
次の例は、ファイルからインクをロードします。ユーザは単一のファ
イルを選択するため、GetFileOpenName の 2 番目の引数はファイルのパ
スと名前を含み、3 番目の引数は無視されます。
PowerBuilder
第 10 章 PowerScript の関数
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
関連項目
&
LoadPicture
ResetInk
ResetPicture
SaveInk
Save
LoadPicture
機能
インクピクチャ コントロールにファイルまたは Blob からピクチャを
ロードします。
対象
インクピクチャ コントロール
構文
inkpicname.LoadPicture ( t | b )
引数
inkpicname
t
b
PowerScript リファレンス ボリューム 2
説明
ピクチャをロードしたいインクピクチャ コントロールの名
前を指定します。
String 型の値。コントロールにロードしたいピクチャを含む
ファイルの名前と位置を指定します。
コントロールにロードしたいピクチャを含む Blob の名前を
指定します。この引数は、参照渡しされます。
743
Log
戻り値
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)
FileClose(li_filenum)
ip_1.LoadInk(lblb_ink)
End If
関連項目
LoadInk
ResetInk
ResetPicture
SaveInk
Save
Log
数値の自然対数を返します。ErrorLogging オブジェクトの場合は、こ
の関数を使って、オブジェクトのコンテナによって管理されているロ
グ ファイルに文字列を書きこむことができます。
目的
数値の自然対数を求める
ログ ファイルに文字列を書き込む
744
使用する構文
構文 1
構文 2
PowerBuilder
第 10 章 PowerScript の関数
構文 1
すべてのオブジェクトに対して
機能
数値の自然対数を返します。
構文
Log ( n )
引数
n
戻り値
説明
自然対数(底 e)を返す数値を指定します。n は正の値で
なければなりません。
Double 型。n の自然対数を返します。n が負の値または 0 の場合、エ
ラーが発生します。n が NULL の場合、NULL を返します。
ヒント
Log 関数の逆関数は Exp 関数です。
例
次のステートメントは、2.302585092 を返します。
Log(10)
次のステートメントは、-0.693147. . を返します。
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 )
PowerScript リファレンス ボリューム 2
745
LogTen
引数
errorlogobj
説明
ErrorLogging サービス インスタンスへの参照を指定しま
す。
ログに書き込むテキスト文字列を指定します。
message
戻り値
なし
解説
ErrorLogging オブジェクトは、オブジェクトのコンテナによって使用
されるログ ファイルにメッセージを書き込む機能を提供します。たと
えば、EAServer の jaguar.log などがあります。
Log 関数を呼び出す前に、GetContextService 関数を呼び出して、
ErrorLogging サービスのインスタンスを作成しておく必要があります。
例
次の例は、EAServer または COM+ のログに文字列を書き込む方法を示
しています。
ErrorLogging el
this.GetContextService("ErrorLogging", el)
el.log("Write this string to log")
関連項目
GetContextService
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 を返します。
746
PowerBuilder
第 10 章 PowerScript の関数
LogTen(1)
LogTen(0)
次のステートメントでは、実行時にエラーが発生します。
LogTen( - 2)
次のステートメントを実行すると、a の値は 200 になります。
double a, b = LogTen(200)
a = 10^b// a = 200
関連項目
Exp
LogTen
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの LogTen メソッド
Long
データを Long 型に変換します。次の 2 つの構文を使用します。
目的
使用する構文
2 つの Unsignedinteger 型の値を結合して Long 型の値に変 構文 1
換する
値が数値である文字列を Long 型に変換する、または Blob 構文 2
型の変数から Long 型の値を取得する
構文 1
UnsignedInteger 型の値を結合する
機能
2 つの UnsignedInteger 型の値を結合して Long 型の値に変換します。
構文
Long ( lowword, highword )
引数
lowword
highword
PowerScript リファレンス ボリューム 2
説明
UnsignedInteger 型の値。Long 型に変換する下位ワードを指
定します。
UnsignedInteger 型の値。Long 型に変換する上位ワードを指
定します。
747
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)
構文 2
文字列を Long 型に変換する、または Blob 型の変数
から Long 型の値を取得する
機能
値が数値である文字列を 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 型の値を取得します。
748
PowerBuilder
第 10 章 PowerScript の関数
long lb_num
lb_num = Long(BlobMid(lb_blob, 20, 4))
Blob 型の変数にデータを代入する方法、および Blob 型の変数からデー
タを取り出す方法については、Real 関数の例を参照してください。
関連項目
Dec
Double
Integer
LongLong
Real
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Long メソッド
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 関数を使用しま
す。
PowerScript リファレンス ボリューム 2
749
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)
構文 2
文字列を LongLong 型に変換する、または Blob 型
の変数から LongLong 型の値を取得する
機能
値が数値である文字列を 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 関数の例を参照してください。
750
PowerBuilder
第 10 章 PowerScript の関数
関連項目
Dec
Double
Integer
Real
Lookup
EAServer コンポーネントのインスタンスを作成するためのファクトリ
インタフェースまたはホーム インタフェースを PowerBuilder クライア
ントまたはコンポーネントが取得できるようにします。この関数を使
用するのは、PowerBuilder クライアント(EAServer 内のコンポーネン
トに接続する場合)と、PowerBuilder コンポーネント(同じサーバ上
のほかのコンポーネントに接続する場合)です。
目的
EAServer 内で動作する CORBA 準拠コンポーネントの
ファクトリ インタフェースを取得します。
使用する構文
構文 1
EAServer 内で動作する EJB コンポーネントのホーム イン
タフェースを取得します。
構文 2
構文 1
CORBA 準拠の EAServer コンポーネントの場合
機能
EAServer コンポーネントのファクトリ インタフェース(コンポーネン
ト インスタンスを作成するためのインタフェース)を PowerBuilder ク
ライアントまたはコンポーネントが取得できるようにします。
対象
接続オブジェクト、TransactionServer オブジェクト
構文
objname.Lookup (objectvariable , componentname )
引数
objname
objectvariable
PowerScript リファレンス ボリューム 2
説明
接続を確立するための接続オブジェクトの名前、また
は TransactionServer コンテキスト オブジェクトのイン
スタンスの名前を指定します。
ファクトリ インタフェースのデータ型のグローバル
変数、インスタンス変数あるいはローカル変数を指定
します。
751
Lookup
引数
componentname
説明
String 型の値。作成するコンポーネント インスタンス
の名前を指定します。オプションで、コンポーネン
ト名の前にスラッシュで区切ってパッケージ名を指
定することもできます(たとえば、
「mypackage/mycomponent」など)。
戻り値
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
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)
752
PowerBuilder
第 10 章 PowerScript の関数
関連項目
CreateInstance
構文 2
EJB コンポーネントのインスタンス
機能
EAServer 内の EJB コンポーネントのホーム インタフェース(コンポー
ネント インスタンスを作成するためのインタフェース)を PowerBuilder
クライアントまたはコンポーネントが取得することを可能にします。
対象
接続オブジェクト、TransactionServer オブジェクト
構文
objname.Lookup (objectvariable , componentname {, homeid} )
引数
objname
objectvariable
componentname
homeid
戻り値
説明
接続を確立するための接続オブジェクトの名前、また
は TransactionServer コンテキスト オブジェクトのイン
スタンスの名前を指定します。
作成するホーム インタフェースのデータ型のグロー
バル変数、インスタンス変数あるいはローカル変数を
指定します。
String 型の値。作成する EJB コンポーネントの名前を
指定します。オプションで、コンポーネント名の前に
スラッシュで区切ってパッケージ名を指定することもで
きます(たとえば、
「mypackage/mycomponent」など)。
String 型の値。作成するホーム インタフェースの名前
を指定します。この引数はオプションです。
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
解説
EJBConnection
J2EE 準拠のアプリケーション サーバで実行している EJB コンポーネ
ントのインスタンスを作成する場合は、EJBConnection PowerBuilder 拡
張オブジェクトの Lookup メソッドを使用することもできます。詳細に
ついては、
『PowerBuilder エクステンション リファレンス』の「Lookup」
を参照してください。
PowerScript リファレンス ボリューム 2
753
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 などの形式を持ちます。
ホーム インタフェースの名前を指定する 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 プロパティ
の文字列の大文字 / 小文字が一致していることを確かめます。
754
PowerBuilder
第 10 章 PowerScript の関数
例
次の例では、接続オブジェクトの 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())
// 例外を処理します。
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 例外 ", &
PowerScript リファレンス ボリューム 2
755
Lookup
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))
ELSE
TRY
MyCalc = MyCalcHome.create()
MyCalc.square(12)
CATCH (ctscomponents_createexception ce)
errlog.log("Create exception:" + ce.getmessage())
END TRY
END IF
関連項目
756
ConnectToServer
PowerBuilder
第 10 章 PowerScript の関数
Lower
機能
文字列内のすべての英文字の大文字を小文字に変換します。
構文
Lower ( string )
引数
string
戻り値
説明
文字列を指定します。指定された文字列に含まれる英文字
の大文字をすべて小文字に変換します。
String 型。正常に終了した場合、string で指定された文字列の英文字の
大文字を小文字に変換して返します。エラーが発生した場合、空の文
字列("")を返します。string が NULL の場合、NULL を返します。
例
次の例は、"babe ruth" を返します。
Lower("Babe Ruth")
関連項目
Upper
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Lower メソッド
LowerBound
機能
配列の次元の下限を求めます。
構文
LowerBound ( array {, n } )
引数
array
n
(オプション)
説明
配列の名前を指定します。指定された配列の n 次元の下限
を求めます。
下限を求める次元を指定します。特に指定しない限り、1
が設定されます。
戻り値
Long 型。array に指定された配列の n 次元の下限を返します。n に指定
された値が配列の次元数よりも大きい場合、-1 を返します。引数のい
ずれかの値が NULL の場合、NULL を返します。
解説
可変長の配列に対しては、配列に値を割り当てたときに、その配列に
メモリが割り当てられます。値が割り当てられる前の下限は 1 で、上
限は 0 です。
例
次のステートメントは、固定長および可変長の配列に対して、メモリ
が割り当てられる前後に返される値を示します。
PowerScript リファレンス ボリューム 2
757
LowerBound
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
関連項目
758
UpperBound
PowerBuilder
第 10 章 PowerScript の関数
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 関数を呼び出してメール システムとのセッションを開始
する必要があります。
PowerScript リファレンス ボリューム 2
759
mailAddress
例
次のステートメントは、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
関連項目
760
mailLogoff
mailLogon
mailResolveRecipient
mailSend
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
761
mailGetMessages
関連項目
mailGetMessages
mailLogon
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 を返します。
解説
762
MailGetMessages 関数は、mailSession オブジェクトの MessageID 配列に
格納されているメッセージ ID を取り出すだけです。メッセージ ID は、
ほかのメール関数の引数として使用されます。たとえば、
mailReadMessage 関数の引数として使用された場合、メッセージ ID は
読むメッセージを示します。
PowerBuilder
第 10 章 PowerScript の関数
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次の例は、エンド ユーザの受信トレイのメッセージのリストを、デー
タウィンドウに表示します。このデータウィンドウは外部のデータ
ソースによって定義されていて、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
PowerScript リファレンス ボリューム 2
763
mailHandle
mailHandle
機能
mailSession オブジェクトのハンドルを取得します。
対象
mailSession オブジェクト
構文
mailsession.mailHandle ( )
引数
mailsession
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションのハンドルを取得します。
戻り値
UnsignedLong 型。mailSession オブジェクトの内部ハンドルを返します。
mailsession が NULL の場合、エラー メッセージを表示します。
解説
エンド ユーザがメール システムとのセッションを開始すると、エンド
ユーザの mailSession オブジェクトに有効なハンドルが与えられます。
そのような関数を外部関数として呼び出す場合、mailSession オブジェ
クトへのハンドルを使用します。MAPI がサポートしている関数には、
PowerBuilder が直接、関数として実装していないものもあります。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次のステートメントは、現行のメール システムの内部ハンドルを返し
ます。
current_session. mailHandle()
764
PowerBuilder
第 10 章 PowerScript の関数
mailLogoff
機能
PowerBuilder アプリケーションとメール システムとの接続を解除し、
メール セッションを終了します。PowerBuilder がメール セッションを
開始したときにすでに実行されていたメール アプリケーションは、そ
のままの状態です。
対象
mailSession オブジェクト
構文
mailsession.mailLogoff ( )
引数
mailsession
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションを終了します。
戻り値
mailReturnCode カタログ データ型の値です。以下のいずれかの値を返
します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
解説
mailSession オブジェクトが使用しているメモリを解放するには、メー
ル システムとのセッションを終了した後で、
DESTROY キーワードを使
用します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次のステートメントは、現行のメール システムとのセッションを終了
します。
current_session. mailLogoff()
DESTROY current_session
関連項目
mailLogon
PowerScript リファレンス ボリューム 2
765
mailLogon
mailLogon
機能
PowerBuilder アプリケーションのメール セッションを確立します。
PowerBuilder アプリケーションは、新しいメール セッションを開始す
るか、既存のセッションを使用します。
対象
mailSession オブジェクト
構文
mailsession.mailLogon ( { profile, password } {, logonoption } )
引数
mailsession
profile
(オプション)
password
(オプション)
logonoption
(オプション)
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッションを開始します。
String 型の値。メール システムとのセッションの開始時に
使用するプロファイルまたはユーザ ID を指定します。
String 型の値。メール システムとのセッションの開始時に
使用するパスワードを表す文字列を指定します。
mailLogonOption カタログ データ型の値。メール システム
とのセッションの開始時に使用するオプションを指定し
ます。
• mailNewSession! − メール アプリケーションが実行中か
どうかに関係なく、新しいメール システムとのセッ
ションを開始します。
• mailDownLoad! − サーバからユーザの受信トレイに、
メッセージを強制的にダウンロードします。メール ア
プリケーションが実行中でない場合、新しいメール シ
ステムとのセッションを開始します。
• mailNewSessionWithDownLoad! − 新しいメール システ
ムとのセッションを開始し、サーバからエンド ユーザ
の受信トレイに新しいメッセージを強制的にダウン
ロードします。
特に指定しない限り、既存のセッションが使用されます。
この場合、新しいメッセージの強制的なダウンロードも行
われません。
戻り値
mailReturnCode カタログ データ型の値です。以下の値のいずれかを返
します。
mailReturnSuccess!
mailReturnLoginFailure!
mailReturnInsufficientMemory!
mailReturnTooManySessions!
mailReturnUserAbort!
引数のいずれかの値が NULL の場合、NULL を返します。
766
PowerBuilder
第 10 章 PowerScript の関数
解説
エンド ユーザのコンピュータですでにメール アプリケーションが実
行されている場合、新しいセッションを開始する mailLogon 関数を呼び
出さないときには、メール セッションは既存のセッションを使用しま
す。profile と password は不要です。
mailLogon 関数がメール システムとの新しいセッションを開始する場
合、スクリプトの中で profile と password を提供していないときには、
メール システムのダイアログボックスが表示されてユーザ ID とパス
ワードの入力が要求されます。
ダウンロード オプションにより、メール サーバは最新のメッセージを
エンド ユーザの受信トレイにダウンロードします。これにより、受信
トレイを最新の状態にします。ただし、そのメッセージを PowerBuilder
から利用できなくなります。mailGetMessages 関数と 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
PowerScript リファレンス ボリューム 2
767
mailReadMessage
mailReadMessage
機能
mailSession オブジェクトのプロパティである配列 MessageID にメッ
セージ ID が格納されているメール メッセージを開きます。メッセー
ジ全体を読むか、またはヘッダ情報(発信者、受信日付など)だけを
読むかを選択できます。メッセージにファイルが添付されている場合、
一時ファイルに格納されます。また、メッセージの内容を一時ファイ
ルに書き込むように選択することもできます。
対象
mailSession オブジェクト
構文
mailsession.mailReadMessage ( messageid, mailmessage, readoption,
mark )
引数
mailsession
messageid
mailmessage
readoption
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメッセージを読みます。
String 型の値。読みたいメール メッセージの ID を指定し
ます。
メッセージ情報が格納されている mailMessage オブジェク
ト構造体を指定します。
MailReadOption カタログ データ型の値を指定します。
• mailEntireMessage! − ヘッダ、テキスト、添付ファイル
を取得します。
• mailEnvelopeOnly! − ヘッダ情報だけを取得します。
• mailBodyAsFile! − ヘッダ、テキスト、添付ファイルを
取得します。メッセージの内容を最初の添付ファイルと
して扱い、一時ファイルに格納します。
mark
• mailSuppressAttachments! − ヘッダとテキストを取得し
ます。添付ファイルの内容は取得しません。
Boolean 型の値。エンド ユーザの受信トレイで、メッセー
ジに読まれたことを示すマークを付けるかどうかを指定
します。値は以下のとおりです。
• TRUE − マークを付ける
• FALSE − マークを付けない
戻り値
mailReturnCode カタログ データ型の値。以下のいずれかの値を返しま
す。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
引数のいずれかの値が NULL の場合、NULL を返します。
768
PowerBuilder
第 10 章 PowerScript の関数
解説
エンド ユーザの受信トレイにあるメッセージのメッセージ ID を取得
するには、mailGetMessages 関数を呼び出します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
添付ファイルを読むには
メッセージにファイルが添付されていて添付ファイルを禁止していな
い場合、添付ファイルに関する情報が mailMessage オブジェクトの
AttachmentFile プロパティに格納されます。AttachmentFile プロパティ
は、mailFileDescription オブジェクトです。そのオブジェクトの PathName
プロパティには、添付ファイルを保存するために作成された一時ファ
イルの位置が格納されています。特に指定しない限り、一時ファイル
は TEMP 環境変数で指定されるディレクトリに配置されます。
一時ファイルが不要になった場合には、必ず削除してください。
例
たとえば、メール メッセージのリストを表示するデータウィンドウ コ
ントロール 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
PowerScript リファレンス ボリューム 2
769
mailRecipientDetails
END IF
データウィンドウ コントロールにメール メッセージのリストを作成
する方法については、mailGetMessages 関数、または「Code Examples」
のメール アプリケーションを参照してください。
関連項目
mailGetMessages
mailLogon
mailSend
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 を返します。
770
PowerBuilder
第 10 章 PowerScript の関数
解説
allowupdates に TRUE を設定した場合の機能は、メール システムとエ
ンド ユーザの権限に依存します。
メール関数を呼び出す前に、mailSession オブジェクトを宣言して作成
し、mailLogon 関数を呼び出してメール システムとのセッションを開始
する必要があります。
例
次の例は、エンド ユーザの受信トレイからメッセージ ID を取得し、最
初のメッセージを読み込みます。次に、mailRecipientDetails 関数を呼び
出して最初の受信者のアドレス情報を表示します。Recipient は mailMessage
のプロパティで、構造体の配列です。配列の各要素は、メッセージの
受信者を表します。この例では、MessageID や Recipient の要素数を考
慮していません。また、mailSession オブジェクトをすでに作成し、メー
ル メッセージとのセッションを開始しているものとします。
mailMessage msg
integer n
long c_row
mSes.mailGetMessages()
mSes.mailReadMessage(mSes.MessageID[1], &
msg, mailEnvelopeOnly!, FALSE )
mSes.mailRecipientDetails(msg.Recipient[1])
関連項目
mailResolveRecipient
mailSend
PowerScript リファレンス ボリューム 2
771
mailResolveRecipient
mailResolveRecipient
機能
ユーザのフルネームまたは名前の一部に基づいて、有効な電子メール
アドレスを取得します。ユーザが権限を持っている場合、システムの
アドレスに格納されている情報を更新することもできます。
対象
mailSession オブジェクト
構文
mailsession.mailResolveRecipient ( recipient {, allowupdates } )
引数
mailsession
recipient
allowupdates
(オプション)
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内で受信者のメール アドレスを取
得します。
受信者の名前を格納する mailRecipient 構造体、または
String 型変数を指定します。受信者の名前は、mailRecipient
構造体のプロパティです。recipient に文字列が指定されて
いる場合、その文字列にフルネームを設定します。構造体
が指定されている場合、構造体に格納されているアドレス
情報を設定します。
Boolean 型の値。受信者の名前の更新を許可するかどうか
を指定します。エンド ユーザが更新の権限を持っていない
場合、この allowupdates は無効です。特に指定しない限り、
FALSE が設定されます。
mailReturnCode カタログ データ型の値です。以下のいずれかの値を返
します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnUserAbort!
引数のいずれかの値が NULL の場合、NULL を返します。
解説
メール システム内で名前が有効なアドレスかどうかを確認するため
に使用します。名前が検索できない場合、mailReturnFailure! を返しま
す。
mailRecipient 構造体が指定された場合、mailResolveRecipient 関数は、ア
ドレスを割り出す際に有効なアドレス情報をその構造体に格納しま
す。文字列が指定された場合、メール システムが識別できるように、
文字列の値はエンド ユーザのフルネームに置き換えられます。ローカ
ルなメール システム環境では、アドレスを文字列で指定するのが適切
です。ゲートウェイを介してほかのシステムにメールを送る場合、
mailRecipient 構造体の完全なアドレスの詳細情報を取得する必要があ
ります。
772
PowerBuilder
第 10 章 PowerScript の関数
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
次の例では、sle_to はメール受信者のフルネームまたは名前の一部を格
納しています。名前を mailRecipient オブジェクトに格納し、
mailResolveRecipient 関数を呼び出して名前を検索し、アドレスの詳細
を取得します。名前が検出された場合、mailRecipientDetails 関数はそ
の情報を表示し、フルネームが sle_to に格納されます。この例では、ア
プリケーションがすでに mailSession オブジェクト mSes を作成し、メー
ル システムとのセッションを開始しているものとします。
mailReturnCode mRet
mailRecipient mRecip
mRecip.Name = sle_to.Text
PowerScript リファレンス ボリューム 2
773
mailSaveMessage
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
mailmessage
戻り値
説明
セッションを表す mailSession オブジェクトを指定します。
指定されたセッション内でメール メッセージを保存します。
String 型の値。置換されるメッセージ ID を指定します。新
しいメッセージを保存する場合、空の文字列("")を指定
します。
保存するメッセージの情報を格納する mailMessage オブ
ジェクト構造体を指定します。
mailReturnCode カタログ データ型の値です。以下のいずれかの値を返
します。
mailReturnSuccess!
mailReturnFailure!
mailReturnInsufficientMemory!
mailReturnInvalidMessage!
mailReturnUserAbort!
mailReturnDiskFull!
引数のいずれかの値が NULL の場合、NULL を返します。
774
PowerBuilder
第 10 章 PowerScript の関数
解説
既存のメッセージを置き換える場合でも、メッセージを保存する前に
そのメッセージにアドレスを付加する必要があります。後でほかの
ユーザに送信するために、メッセージにアドレスを付けておくことが
できます。
メール関数を呼び出す前に、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
MessageBox(" 新しいメッセージの保存 ", &
" 何らかの理由で失敗しました。")
END IF
次の例は、Jane Smith というエンド ユーザの受信トレイの最新のメッ
セージを置き換えます。mailSession オブジェクト mSe の MessageID 配
列からメッセージ ID を取得します。メッセージの件名を変更し、その
ユーザのアドレスを再設定して保存します。この例では、アプリケー
ションがすでに mailSession オブジェクト mSes を作成し、メール シス
テムとのセッションを開始しているものとします。
mailRecipient recip
mailMessage msg
mailReturnCode mRet
string s_ID
PowerScript リファレンス ボリューム 2
775
mailSaveMessage
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 のサンプルにあるメール アプリケーションを参照してく
ださい。
関連項目
776
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
PowerScript リファレンス ボリューム 2
777
mailSend
mailMessage mMsg
// 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 のサンプルにあるメール アプリケーションを参照してく
ださい。
関連項目
778
mailReadMessage
mailResolveRecipient
PowerBuilder
第 10 章 PowerScript の関数
Match
機能
文字列の中に、指定された文字パターンがあるかどうかを調べます。
構文
Match ( string, textpattern )
引数
string
textpattern
説明
文字列を指定します。この文字列の中に、指定された文字
パターンがあるかどうかを調べます。
String 型の値。文字列の中にあるかどうかを調べるテキス
ト パターンを指定します。
戻り値
Boolean 型。
string の中に textpattern がある場合は TRUE を返し、
textpattern
がない場合は FALSE を返します。引数が指定されていない場合、また
は textpattern が不正な文字列の場合にも、FALSE を返します。引数の
いずれかの値が NULL の場合、NULL を返します。
解説
この関数を使用すると、文字列に一般的な文字パターンが含まれてい
るかどうかを調べることができます。特定の位置に文字列があるかど
うかを調べるには、Pos 関数を使用してください。
textpattern に指定するテキスト パターンは、通常の式に似ています。テ
キスト パターンは、特殊な意味を持つメタ文字と、実際に照合される
通常の文字を組み合わせて指定します。照合される文字列の先頭また
は末尾に、特殊な意味を持つ 1 つ以上の文字を指定してください。照
合される文字列には、特殊な意味を持つ文字以外のすべての文字を指
定できます。
テキスト パターンは、照合文字列で特殊な意味を持つメタ文字と、実
際に照合される非メタ文字で構成されます。次の表は、メタ文字の意
味と使用例を示しています。
表 10-6: Match 関数で使用されるメタ文字
メタ文字
キャレット(^)
ドル記号($)
ピリオド(.)
PowerScript リファレンス ボリューム 2
意味
文字列の先頭文字と照
合します。
文字列の末尾の文字と
照合します。
任意の文字と照合しま
す。
使用例
^C は、C で始まる文字列と
照合します。
s$ は、s で終わる文字列と照
合します。
. . . は、連続する 3 文字と照
合します。
779
Match
メタ文字
円記号(\)
文字集合(角カッ
コ([ ]))で囲まれ
ている文字のグ
ループ)
文字集合の補集合
(角カッコ([ ])内
の最初の文字が
キャレット(^)の
場合)
意味
円記号(\)の後に指
定されているメタ文字
の特殊な意味を取り消
します。つまり、円記
号(\)の後に指定さ
れている文字と照合し
ます。
角カッコ([ ])内の各
文字と照合します。
キャレット(^)の後
に指定されている文字
グループ以外のすべて
の文字と照合します。
使用例
\\ は、\ と照合します。
[AEIOU] は A、E、I、O、U
と照合します。
ハイフン(-)を使用すると、
文字集合に含まれている文字
の範囲を短縮して表すことが
できます。たとえば、[A-Zaz] はすべての英字と照合しま
す。
[^0-9] は、数字以外のすべて
の文字と照合し、[^A-Za-z]
は、英字以外のすべての文字
と照合します。
アスタリスク(*)、プラス記号(+)、疑問符(?)の各メタ文字は、独
立した演算子です。この演算子は、通常の式で反復を指定するときに
使用します。
表 10-7: Match 関数でメタ文字として使用される独立した演算子
780
メタ文字
*(アスタリスク)
意味
0 回以上の反復を表し
ます。
+(プラス記号)
1 回以上の反復を表し
ます。
? (疑問符)
0 回または 1 回の反復
を表します。
使用例
A* は、A がまったくない文
字列か、A が 1 つ以上ある文
字列(A、AA、AAA など)
と照合します。
A+ は、A が 1 つ以上ある文
字列(A、AAA など)と照合
します。
A? は、空の文字列("")か、
文字 A と照合します。
PowerBuilder
第 10 章 PowerScript の関数
テキスト パターンの例 次の表は、さまざまなテキスト パターンと、各
パターンに一致するテキストの例を示しています。
表 10-8: テキスト パターンの例
テキスト パターン
AB
B*
AB*C
AB+C
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])$
例
照合される文字列の例
AB を含む文字列。たとえば、ABA、DEABC、
graphAB_one などです。
B がまったくない文字列か、B が 1 つ以上ある文字列。
たとえば、AC、B、BB、BBB、ABBBC などです。
AC、ABC、ABBC などのパターンを含む文字列(B が
まったくない文字列か、B が 1 つ以上ある文字列)
ABC、ABBC、ABBBC などのパターンを含む文字列
(B が 1 つ以上ある文字列)
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]")
PowerScript リファレンス ボリューム 2
781
MatchW
次のステートメントは、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]$")
関連項目
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)
782
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは、-4 を返します。
Max(- 4, - 7)
次の例は、小数点以下の桁を含む値 8.2 を返します。
Max(8.2, 4)
関連項目
Min
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Max メソッド
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 オブジェクトをファイルに書き込みます。
PowerScript リファレンス ボリューム 2
783
MemberExists
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
Open
MemberExists
機能
指定されたメンバーがストレージの OLE オブジェクトに存在するか
どうかを確認します。メンバーであるのは、ほかの OLE オブジェクト
(サブストレージ)やストリームです。
対象
OLEStorage オブジェクト
構文
olestorage.MemberExists ( membername, exists )
引数
olestorage
membername
exists
戻り値
説明
OLEStorage 型のオブジェクト変数の名前を指定します。
メンバー名を表す文字列を指定します。OLE オブジェクト
に存在するかどうかを確認します。
Boolean 型の変数を指定します。メンバーが存在するかど
うかを表す値が格納されます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ストレージが開かれていません。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
784
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、ストレージ オブジェクトを作成し、ファイルの中の 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
関連項目
MemberDelete
MemberRename
Open
MemberRename
機能
OLE ストレージのメンバーの名前を変更します。メンバーであるのは、
ほかの OLE オブジェクト(サブストレージ)やストリームです。
対象
OLEStorage オブジェクト
構文
olestorage.MemberRename ( membername, newname )
引数
olestorage
membername
newname
PowerScript リファレンス ボリューム 2
説明
メンバー(サブストレージまたはストリーム)を含んでい
る OLEStorage 型のオブジェクト変数名を指定します。そ
の中のメンバーの名前を変更します。
名前を変更するメンバーの名前を表す文字列を指定しま
す。
メンバーに割り当てる新しい名前を表す文字列を指定し
ます。
785
MemberRename
戻り値
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
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
関連項目
786
MemberDelete
MemberExists
Open
PowerBuilder
第 10 章 PowerScript の関数
MessageBox
機能
指定されたタイトル、テキスト、アイコン、およびボタンが表示され
ているシステムのメッセージ ボックスを表示します。
構文
MessageBox ( title, text {, icon {, button {, default } } } )
引数
title
text
icon
(オプション)
説明
メッセージ ボックスのタイトル バーに表示するタイトル
を表す文字列を指定します。
メッセージ ボックスに表示するテキストとして、数値デー
タ型、文字列、および Boolean 型の値を指定することがで
きます。
メッセージ ボックスの左側に表示するアイコンを示すカ
タログ データ型の値を指定します。値は以下のとおりで
す。
• Information!(デフォルト)
• StopSign!
• Exclamation!
• Question!
• None!
button
(オプション)
カタログ データ型の値。メッセージ ボックスの下部に表
示するコマンドボタン群を指定します。カタログ データ型
にリストされる順番に、ボタンに番号が付けられます。値
は以下のとおりです。
• OK! −(デフォルト)[OK]ボタン
• OKCancel! −[OK]ボタンと[キャンセル]ボタン
• YesNo! −[はい]ボタンと[いいえ]ボタン
• YesNoCancel! −[はい]、
[いいえ]、
[キャンセル]の各
ボタン
• RetryCancel! −[再試行]ボタンと[キャンセル]ボタン
default
(オプション)
戻り値
• AbortRetryIgnore! −[中止]
、
[再試行]、
[無視]の各ボ
タン
デフォルト ボタンとして使用するボタンの番号を指定し
ます。標準の設定は 1 です。表示されるボタン数よりも多
い数が指定された場合、標準の設定が使用されます。
Integer 型。正常に終了した場合、選択されているボタンの番号(1、2
または 3)を返します。エラーが発生した場合、-1 を返します。引数
のいずれかの値が NULL の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
787
MessageBox
解説
title または text 内の文字列が NULL 値の場合、メッセージ ボックスは
表示されません。特に指定しない限り、エンド ユーザがボタンをク
リックするか、〔Enter〕を押すと、スクリプトの実行は続行されます。
これは、ボタンが 1 個しかない場合には有効な機能です。メッセージ
ボックスに複数のボタンがある場合、エンド ユーザが選択したボタン
に対応した処理をスクリプトに記述します。
現行のアプリケーションでの操作を続行するには、メッセージ ボック
スへの何らかの応答が必要です。ただし、メッセージ ボックスに応答
せずに、ほかの Windows アプリケーションに切り替えることもできま
す。
RightToLeft 対応(右から左に文字を書く言語を使用する国に対応)の
PowerBuilder および Windows を実行している場合に、アラビア語また
はヘブライ語を使用してボタン作成とメッセージ表示を行うときは、
アプリケーション オブジェクトの RightToLeft プロパティを TRUE に
します。メッセージは右から左方向へ表示されるようになります。た
だし、PowerBuilder のローカライズ版を使っていない場合、ボタンに
表示されるテキストは、英語のままです。
メッセージ ボックスが表示されない場合
コントロールは一定の操作を行っているときにマウスを独占してしま
います。たとえば、コマンドボタン コントロールの場合はクリックの
操作を行っているとき、エディット コントロールの場合はテキストを
選択しているとき、スクロールバー コントロールの場合はスクロール
の操作を行っているときに、マウスを独占します。マウスが独占され
ている間に MessageBox 関数を呼び出すと、Windows は不安定になり
ます。
MessageBox 関数はフォーカスを横取りするので、フォーカスを移動し
ている最中(LoseFocus イベントの間など)は、MessageBox 関数を使
用しないでください。そのかわりに、ウィンドウのタイトルまたはマ
ルチライン エディット コントロールにメッセージを表示することが
できます。
また、PrintOpen 関数の後に MessageBox 関数を呼び出すと動作がおかし
くなります。詳細については、PrintOpen 関数を参照してください。
例
次の例は、タイトル Greeting、テキスト Hello User、アイコン(Information!)
、
およびデフォルト ボタン([OK]ボタン)を表示したメッセージ ボッ
クスを開きます。
MessageBox("Greeting", "Hello User")
788
PowerBuilder
第 10 章 PowerScript の関数
次の例は、タイトル 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
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 を返します。
PowerScript リファレンス ボリューム 2
789
Mid
解説
取り出す文字列の位置を検索する場合は、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)
次の例では、ユーザ定義関数 str_to_int_array は、文字列を整数配列に変
換します。配列の各整数は、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)
790
PowerBuilder
第 10 章 PowerScript の関数
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 関数の例を参照し
てください。
関連項目
AscA
Left
Pos
Right
UpperBound
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Mid メソッド
MidA
機能
文字列を DBCS に一時的に変換し、文字列の指定された位置から、指
定した数のバイトを返します。
構文
MidA (string, start, {length})
引数
string
start
length
(オプション)
PowerScript リファレンス ボリューム 2
説明
検索する文字列を指定します。
Long 型の値。取り出す文字列の最初のバイト位置を指定
します(文字列の先頭バイトの位置は、1 になります)。
Long 型の値。取り出すバイト数を指定します。length を省
略した場合、または length が start に指定された位置から
末尾までのバイト数よりも大きい場合には、start に指定さ
れた位置から末尾までのバイトを返します。
791
MidC
戻り値
String 型。ソース文字列で、start 引数で指定されたバイト位置から、取
り出されるバイト数分の文字列を返します。start に指定された値が
string のバイト数よりも大きい場合、空の文字列("")を返します。ま
た、length に指定された値が start に指定された文字位置から末尾まで
のバイト数よりも大きい場合、start に指定された位置から末尾までの
バイトを返します。ただし、戻り値の文字数を length に指定された値
と同じにするために、スペースを追加することはありません。引数の
いずれかの値が NULL の場合、NULL を返します。
解説
MidA 関数は、PowerBuilder 9 の DBCS 環境 における Mid 関数の機能に
代わるものです。
MidC
機能
文字列の指定されたバイト位置から、指定されたバイト数の文字列を
取り出して返します。この関数は、将来サポートされなくなります。
構文
MidC ( string, start {, length } )
MidW
機能
文字列の中の指定された文字位置から、指定された文字数分の文字列
を取り出します。この関数は、将来サポートされなくなります。動作
は、すべての環境で Mid 関数と同じです。
構文
MidW ( string, start {, length } )
792
PowerBuilder
第 10 章 PowerScript の関数
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)
関連項目
Max
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Min メソッド
Minute
機能
指定された Time 型の値から、分の部分を取り出します。
構文
Minute ( time )
引数
time
説明
Time 型。時刻を表す値を指定します。指定された値から、
分の部分を取り出します。
戻り値
Integer 型。time で指定された値の分の部分に対応する整数(00 ∼ 59)
を返します。time が NULL の場合、NULL を返します。
例
次のステートメントは、1 を返します。
Minute(19:01:31)
PowerScript リファレンス ボリューム 2
793
Mod
関連項目
Hour
Second
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Minute メソッド
Mod
機能
除算の余り(剰余)を取得します。
構文
Mod ( x, y )
引数
x
y
説明
y で割られる数値(被除数)を指定します。
x を割る数値(除数)を指定します。
戻り値
x または y のデータ型のうち、精度の高い方のデータ型で返します。引
数のいずれかの値が NULL の場合、NULL を返します。
例
次のステートメントは、2 を返します。
Mod(20, 6)
次のステートメントは、1.5 を返します。
Mod(25.5, 4)
次のステートメントは、2.5 を返します。
Mod(25, 4.5)
関連項目
794
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Mod メソッド
PowerBuilder
第 10 章 PowerScript の関数
ModifyData
グラフのデータ系列におけるデータ ポイントの値を変更します。グラ
フ提示様式によって 2 つの構文があります。
目的
散布図以外のすべてのグラフを変更する
散布図を変更する
使用する構文
構文 1
構文 2
構文 1
散布図以外のすべてのグラフを変更する
機能
グラフのデータ系列におけるデータ ポイントの値を変更します。位置
または項目を使用して、変更するデータ ポイントを指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ。データウィンド
ウ オブジェクト上のグラフを対象とすることはできません。これは、
データウィンドウ オブジェクト上のグラフでは、データウィンドウか
ら直接データが取得されるからです。
構文
controlname.ModifyData (seriesnumber, datapoint, datavalue
{, categoryvalue } )
引数
controlname
seriesnumber
datapoint
datavalue
categoryvalue
(オプション)
解説
説明
データを変更するグラフ コントロールの名前を指定します。
データを変更するデータ系列の番号を指定します。
データを変更するデータ ポイントの番号を指定します。
データ ポイントの新しい値を指定します。datavalue の
データ型は、グラフの値軸のデータ型と同じでなければな
りません。
datavalue の項目を指定します。categoryvalue のデータ型
は、グラフの項目軸のデータ型と同じでなければなりませ
ん。
categoryvalue を指定すると、ModifyData 関数は、指定された位置の項目
の値とデータ ポイントの値を変更します。指定した名前と同じ名前が
ほかの位置にすでにある場合、その位置にあるデータが変更されます。
datapoint に指定した位置は無視され、InsertData 関数と同じ処理を行い
ます。
位置を 0 に指定すると、ModifyData 関数は常に InsertData 関数と同じ処
理 を 行 い ま す。InsertData 関 数 の「別 の 記 述 方 法」で 解 説 し て い る
AddData 関数、InsertData 関数、および ModifyData 関数の比較を参照し
てください。
PowerScript リファレンス ボリューム 2
795
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 )
引数
controlname
seriesnumber
datapoint
xvalue
yvalue
説明
データ系列のデータを変更する散布図の名前を指定しま
す。
データを変更するデータ系列を識別する番号を指定しま
す。
データを変更するデータ ポイントの番号を指定します。
変更するデータの新しい x 座標の値を指定します。
変更するデータの新しい y 座標の値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
散布図には、項目がありません。データを変更するデータ系列の位置
を指定し、データに x 座標と y 座標の値を与えます。
例
次のステートメントは、散布図 gr_product_data のデータ系列 Test One
のデータ ポイント 9 を変更します。
796
PowerBuilder
第 10 章 PowerScript の関数
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)
次の例は、シングルライン エディット コントロール sle_start_data に入
力された日付の値から取得した月の部分を start_month に格納します。
integer start_month
start_month = Month(date(sle_start_date.Text))
関連項目
Day
Date
Year
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Month メソッド
PowerScript リファレンス ボリューム 2
797
Move
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 は、
表示画面の左上隅と相対的な位置関係を持ちます。
Move 関数は、最大化されたシートまたはウィンドウを移動することが
できません。ウィンドウが最大化されている場合、Move 関数は -1 を返
します。
XY 座標を親ウィンドウのフレームや画面の外に設定できます。この
ようにすると、オブジェクトやコントロールを効果的に非表示にする
ことができます。
ピクチャ コントロールの画像を指定の位置に描画するには、Draw 関
数を使用します。
移動したオブジェクトの X と Y プロパティは変更されます。
798
PowerBuilder
第 10 章 PowerScript の関数
次に示す構文は、オブジェクトまたはコントロールの 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)
PowerScript リファレンス ボリューム 2
799
MoveTab
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)
関連項目
800
OpenTab
SelectTab
PowerBuilder
第 10 章 PowerScript の関数
_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,
PowerScript リファレンス ボリューム 2
801
NextActivity
"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
802
PowerBuilder
第 10 章 PowerScript の関数
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 イベントに対するスクリプトは、時刻を再表示しま
す。
PowerScript リファレンス ボリューム 2
803
Now
次の例は、ウィンドウの Open イベントに対するスクリプトです。
st_time.Text = String(Now(), "hh:mm")
Timer(60)
次の例は、Timer イベントに対するスクリプトで表示している時刻を更
新します。
st_time.Text = String(Now(), "hh:mm")
関連項目
804
Today
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Now メソッド
PowerBuilder
第 10 章 PowerScript の関数
ObjectAtPointer
機能
エンド ユーザがクリックしたグラフ上の位置を検出します。ObjectAtPointer
関数は、ポインタが位置しているグラフの領域を取得し、関連付けら
れるデータ系列とデータ ポイントの番号を指定された変数に格納し
ます。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.ObjectAtPointer ( { graphcontrol, } seriesnumber, datapoint )
引数
controlname
説明
グラフ オブジェクトの名前を指定します。そのグラフ上の
ポインタが示すオブジェクトを求めます。または、グラフ
を含むデータウィンドウ コントロールを指定します。
graphcontrol
(オプション)データウィンドウ コントロール上のグラフ
(データウィン 名を表す文字列を指定します。そのグラフ上のポインタの
ドウ コント
下のオブジェクトを求めます。
ロールのみ)
seriesnumber
Integer 型の変数を指定します。ポインタの下のデータ系列
の番号を格納します。
datapoint
Integer 型の変数を指定します。ポインタの下のデータ ポ
イントの番号を格納します。
戻り値
grObjectType 型。エンド ユーザがグラフ上の任意の箇所(空の領域を
含む)をクリックした場合、grObjectType カタログ データ型の値を返
します。グラフの外をクリックした場合、NULL を返します。
grObjectType カタログ データ型の値とその値が示すグラフの部分は、
次のとおりです。
•
TypeCategory! − 項目のラベル
•
TypeCategoryAxis! − 項目軸、または項目ラベルと項目ラベルの間
•
TypeCategoryLabel! − 項目軸のラベル
•
TypeData! − データ ポイントまたはほかのデータ マーカー
•
TypeGraph! − 指定された grObjectType カタログ データ型のグラフ
コントロール上の任意の位置
•
TypeLegend! − 凡例ボックス内(データ系列ラベル上は除く)
•
TypeSeries! − グラフの型が直線の場合にデータ系列のデータ ポイ
ントに接続する直線、または凡例ボックスのデータ系列ラベル上
の直線
PowerScript リファレンス ボリューム 2
805
ObjectAtPointer
解説
•
TypeSeriesAxis! − 3D グラフのデータ系列軸
•
TypeSeriesLabel! − 3D グラフのデータ系列軸のラベル
•
TypeTitle! − グラフのタイトル
•
TypeValueAxis! − 数値軸(数値ラベル上も含む)
•
TypeValueLabel! − エンド ユーザがクリックした数値軸のラベル
ObjectAtPointer 関数を使用すると、エンド ユーザがグラフのどこをク
リックしているのかを知ることができます。関数は、エンド ユーザが
操作しているグラフの各部分を識別する grObjectType カタログ データ
型の値を返します。エンド ユーザがデータ系列、データ ポイント、お
よび項目をクリックすると、ObjectAtPointer 関数は、指定された変数に
データ系列および(または)データ ポイント番号を格納します。
エンド ユーザがデータ ポイント(または、線分や棒などのデータ マー
ク)、または凡例ボックスのデータ系列ラベルをクリックすると、
ObjectAtPointer 関数は、指定された変数にデータ系列番号を格納しま
す。エンド ユーザがデータ ポイントまたは項目の目盛ラベルをクリッ
クすると、変数にデータ ポイント番号を格納します。
エンド ユーザが実際のデータ ポイントではなく、データ系列内をク
リックした場合、ObjectAtPointer 関数は datapoint に 0 を格納します。項
目をクリックした場合、seriesnumber に 0 を格納します。グラフのその
ほかの部分をクリックした場合、両方の変数に 0 を格納します。
ObjectPointer 関数を最初に呼び出す場合
ObjectAtPointer 関数は、グラフ コントロールに対する Clicked イベント
のスクリプトの中で最初に呼び出すと効果的です。グラフ コントロー
ルが使用可能であることを確認してください。特に指定しない限り、
グラフ コントロールは使用不可になっています。使用不可になってい
ると、Clicked イベントは起動されません。
例
次のステートメントは、グラフ gr_product でクリックされた位置のデー
タ系列番号とデータ ポイント番号を SeriesNbr および ItemNbr に格納
します。それらの変数は、オブジェクトの型が TypeSeries! の場合、デー
タ系列名を取得し、TypeData! の場合はデータの値を取得します。
integer SeriesNbr, ItemNbr
double data_value
grObjectTypeobject_type
string SeriesName
object_type = &
806
PowerBuilder
第 10 章 PowerScript の関数
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
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 オブジェクトの文字列表現を返します。
PowerScript リファレンス ボリューム 2
807
OffsetPos
解説
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)
関連項目
Init
String_To_Object
OffsetPos
機能
プログレスバー コントロールのオフセットを設定します。
対象
プログレスバー コントロール
構文
control.OffsetPos (increment )
引数
control
increment
説明
プログレスバー コントロールの名前を指定します。
Integer 型。プログレスバー コントロールの開始位置に追
加される値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次のステートメントは、垂直プログレスバーの開始位置を 10 だけオフ
セットします。
HProgressBar.OffsetPos ( 10 )
808
PowerBuilder
第 10 章 PowerScript の関数
関連項目
SelectionRange
SetRange
StepIt
Open
ウィンドウ、OLE オブジェクト、またはトレース ファイルを開きます。
ウィンドウを開く場合 Open はウィンドウを表示し、すべてのプロパ
ティとコントロールをスクリプトで利用できるようにします。
目的
使用する構文
特定のウィンドウのデータ型のインスタンスを開く
構文 1
スクリプトの実行時にアプリケーションがウィンドウの 構文 2
データ型を選択できるようにする
Open はファイルまたはストレージに含
まれる OLE オブジェクトを OLE コントロールまたはストレージ オブ
ジェクト変数にロードします。これによって、ソースとターゲットが
保存作業のために接続されます。
OLE オブジェクトを開く場合
目的
ファイルに格納された OLE オブジェクトを開き、それを
OLE コントロールにロードする
メモリのストレージ オブジェクトに格納された OLE オブ
ジェクトを開き、それを OLE コントロールにロードする
OLE ストレージ ファイルに格納された OLE オブジェクト
を開き、それをメモリのストレージ オブジェクトにロード
する
すでに開かれている OLE ストレージ オブジェクトのメン
バーである OLE オブジェクトを開き、それをメモリのス
トレージ オブジェクトにロードする
メモリの OLE ストレージ オブジェクトに格納されたスト
リームを開き、それをストリーム オブジェクトにロードす
る
使用する構文
構文 3
構文 4
構文 5
構文 6
構文 7
トレース ファイルを開く場合 Open は指定されたトレース ファイルを
開いて、ファイル内容を読める状態にします。
目的
トレース ファイルを開く
PowerScript リファレンス ボリューム 2
使用する構文
構文 8
809
Open
構文 1
データ型がわかっているウィンドウを開く
機能
データ型がわかっているウィンドウ オブジェクトを開きます。Open 関
数は、ウィンドウを表示し、すべてのプロパティとコントロールをス
クリプトで使用できるようにします。
対象
ウィンドウ オブジェクト
構文
Open ( windowvar {, parent } )
引数
windowvar
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合)(オプ
ション)
説明
表示するウィンドウの名前を指定します。ウィンドウ ペイ
ンタで定義されたウィンドウ オブジェクト(ウィンドウの
データ型)、または、ウィンドウのデータ型の変数を指定
します。Open 関数は、windowvar に開かれたウィンドウの
参照を渡します。
開くチャイルド ウィンドウまたはポップアップ ウィンド
ウの親ウィンドウを指定します。チャイルド ウィンドウま
たはポップアップ ウィンドウを開く場合に parent を省略
すると、現在アクティブなウィンドウが親ウィンドウにな
ります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
ウィンドウのプロパティにアクセスする前に、ウィンドウを開く必要
があります。ウィンドウを開く前にプロパティにアクセスすると、エ
ラーが発生します。
スクリプトで開いているウィンドウを参照するには、windowvar を使
用します。
Open 関数を 2 回呼び出す場合
同じウィンドウに対して構文 1 の Open 関数を 2 回呼び出しても、
PowerBuilder はそのウィンドウを 2 回アクティブにするだけで、ウィ
ンドウの 2 つのインスタンスを開くわけではありません。
配列の中の各ウィンドウのデータ型が異なる場合にウィンドウの配列
を開くには、Open 関数の構文 2 を使用します。
810
PowerBuilder
第 10 章 PowerScript の関数
parent を指定してチャイルド ウィ
ンドウまたはポップアップ ウィンドウを開く場合、parent が開かれた
ウィンドウ(windowname または windowvar)の親ウィンドウになりま
す。親ウィンドウが閉じるときには、そのすべてのチャイルド ウィン
ドウも閉じられます。
開かれたウィンドウの親ウィンドウ
すべてのウィンドウが親ウィンドウになれるわけではありません。表
示する領域をほかのウィンドウ内に限定されていないウィンドウだけ
が親ウィンドウになることができます。チャイルド ウィンドウ、また
はシートとして開かれたウィンドウは、親ウィンドウになることはで
きません。ほかのウィンドウに " 閉じこめられた " ウィンドウを親ウィ
ンドウとして指定した場合、PowerBuilder はその親、さらにその親と、
親として使用できるウィンドウが見つかるまで検索します。ポップ
アップ ウィンドウを開き、シートをその親ウィンドウに指定した場
合、PowerBuilder はそのシートを含む MDI フレームを親ウィンドウにし
ます。
チャイルド ウィンドウまたはポップアップ ウィンドウの親ウィンド
ウを指定しない場合、アクティブ ウィンドウがその親ウィンドウにな
ります。特定のポップアップ ウィンドウがアクティブのときにほかの
ウィンドウを開いた場合、メイン ウィンドウではなく、最初のポップ
アップ ウィンドウがその親ウィンドウになります。そのポップアップ
ウィンドウが閉じると、そのウィンドウのチャイルド ウィンドウも閉
じます。
ただし、MDI アプリケーションでは、アクティブ シートはアクティブ
ウィンドウではないので、親ウィンドウにはなれません。Windows で
は、アクティブ シートではなく、MDI フレームがアクティブ ウィン
ドウであることが一目でわかります。つまり、MDI フレームのタイト
ル バーがアクティブ ウィンドウを示すカラーで表示され、MDI フレー
ムはメニューを表示しています。
マウスの動作とウィンドウの応答
コントロールは一定の操作を行っているときにマウスを独占してしま
います。たとえば、コマンドボタン コントロールの場合はクリックの
操作を行っているとき、エディット コントロールの場合はテキストを
選択されているとき、スクロールバー コントロールはスクロールの操
作を行っているときに、マウスを独占します。マウスが独占されている
間にレスポンス ウィンドウを開くと、Windows は不安定になります。
レスポンス ウィンドウはフォーカスを横取りするので、フォーカスを
移動している最中(LoseFocus イベントの間など)は、レスポンス ウィ
ンドウを使用しないでください。
PowerScript リファレンス ボリューム 2
811
Open
例
次の例は、ウィンドウのインスタンス 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)
関連項目
Close
OpenWithParm
Show
構文 2
データ型がわからないウィンドウを開く
機能
アプリケーションが実行されるまでデータ型がわからないウィンドウ
オブジェクトを開きます。Open 関数は、ウィンドウを表示し、すべて
のプロパティとコントロールをスクリプトで使用できるようにします。
対象
ウィンドウ オブジェクト
構文
Open ( windowvar, windowtype {, parent } )
引数
windowvar
windowtype
parent
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合)(オプ
ション)
812
説明
ウィンドウ オブジェクトの変数を指定します。Open 関数
は、windowvar に開かれたウィンドウの参照を渡します。
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、windowvar と同じ
か、または子孫までなければなりません。
これから開くチャイルド ウィンドウまたはポップアップ
ウィンドウの親ウィンドウにするウィンドウを指定しま
す。チャイルド ウィンドウまたはポップアップ ウィンド
ウを開く場合に parent を省略すると、現在アクティブな
ウィンドウが親ウィンドウになります。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
ウィンドウのプロパティにアクセスする前に、ウィンドウを開く必要
があります。ウィンドウを開く前にプロパティにアクセスすると、エ
ラーが発生します。
スクリプトで開いているウィンドウを参照するには、windowvar を使用
します。
windowtype に指定されたウィンドウ オブジェクトは、windowvar と同
じデータ型(または windowvar を継承したデータ型)でなければなり
ません。通常、windowvar のデータ型は Window です。すべてのウィン
ドウは Window を継承しますが、windowtype の先祖オブジェクトの型
である場合もあります。データ型が異なる場合、エラーが発生します。
配列の中の各ウィンドウのデータ型が異なる場合にウィンドウの配列
を開くには、構文 2 を使用します。詳細については、最後の例を参照
してください。その例では、ウィンドウのデータ型は 1 つの配列に格
納され、別の配列の各ウィンドウが開かれているときに、windowtype
として使用されます。
ウィンドウのデータ型を指定する場合の注意
構文 2 を使用すると、windowtype に指定したデータ型のウィンドウの
インスタンスを開き、変数 windowvar にインスタンスの参照を格納し
ます。
windowtype が Window 型を継承して作られた型の場合は、windowvar 変
数のデータ型で定義されたプロパティ、イベント、関数、または構造
体しか参照できません。たとえば、windowtype に対してユーザ イベン
トが宣言されている場合は、そのイベントを参照することはできませ
ん。
windowtype に指定したオブジェクトは、実行アプリケーションに自動
的には含まれません。実行ファイルに含めるには、アプリケーション
とともに配布する PBD ファイル(PowerBuilder 動的ライブラリ)に保
存する必要があります。
親ウィンドウの詳細については、構文 1 を参照してください。
PowerScript リファレンス ボリューム 2
813
Open
例
次の例は、文字列 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
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
関連項目
814
Close
OpenWithParm
Show
PowerBuilder
第 10 章 PowerScript の関数
構文 3
ファイルからコントロールへ OLE オブジェクトを
ロードする
機能
ファイルの OLE オブジェクトを開き、それを OLE コントロールにロー
ドします。
対象
OLE コントロール
構文
olecontrol.Open ( OLEsourcefile )
引数
olecontrol
OLEsourcefile
戻り値
説明
OLE オブジェクトをロードする OLE コントロールの名前
を指定します。
オブジェクトを含む OLE ストレージ ファイルの名前を表
す文字列を指定します。ファイルはすでに存在していて、
OLE オブジェクトを含んでいなければなりません。
OLEsourcefile には、OLE ストレージ内のパス情報だけで
なく、ファイルのパスを含めることもできます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-9
ファイルがないか、またはファイルのデータの書式が無効です。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
例
次の例は、MYSTUFF.OLE ファイルの OLE オブジェクトを開き、それ
をコントロール ole_1 にロードします。
integer result
result = ole_1.Open("c:\ole2\mystuff.ole")
関連項目
InsertFile
Save
SaveAs
PowerScript リファレンス ボリューム 2
815
Open
構文 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")
次の例は、ストレージ変数 stg_stuff 内のサブストレージを開き、それ
をコントロール ole_1 にロードします。サブストレージ名は、変数
stuff_1 で指定されています。stg_stuff は、すでに開いています。
integer result
string stuff_1 = "excel_obj"
result = ole_1.Open(stg_stuff, stuff_1)
関連項目
816
InsertFile
Save
SaveAs
PowerBuilder
第 10 章 PowerScript の関数
構文 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 を変更
できません。
sharemode
(オプション)
• stgWrite! − 書き込みアクセス。OLEsourcefile を書き換
えることができますが、その現行の内容を読み込むこと
はできません。ファイルが存在しない場合、Open 関数
はファイルを作成します。
開発者またはほかの開発者のアプリケーション オブジェ
クトから OLEsourcefile を開くことを試みた場合の対応を
示す stgShareMode カタログ データ型の値。値は以下のと
おりです。
• stgExclusive! −(デフォルト)ほかからは OLEsourcefile
を開けない
• stgDenyNone! − ほかからも OLEsourcefile を開ける
• stgDenyRead! − ほかからは OLEsourcefile を読み込み用
に開けない
• stgDenyWrite − ほかからは OLEsourcefile を書き込み用
に開けない
PowerScript リファレンス ボリューム 2
817
Open
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-3
-9
ファイルが OLE ストレージ ファイルではありません。
ファイルがありません。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
OLE ストレージ ファイルはディレクトリのような構造をしています。
各 OLE オブジェクトは、ほかの OLE オブジェクト(サブストレージ)
とほかのデータ(ストリーム)を格納することができます。ストレージ
の構造がわかっている場合は、サーバ アプリケーションに属している
OLE ストレージのメンバーを開くことができます。
ただし、
PowerBuilder
はストレージを扱う関数を提供しているので、個々のアプリケーショ
ンに合わせて使用する OLE オブジェクトを構成し、ストレージを構築
できます。
ファイル全体を OLE オブジェクトにしたり、ファイル内のサブスト
レージを OLE オブジェクトにしたりすることもできます。ほとんどの
場合、開発者が作成したストレージ ファイルは OLE オブジェクトで
ないルート レベルになり、独立した OLE オブジェクトをサブストレー
ジとして含みます。ストレージ ファイルの階層のどのレベルも OLE オ
ブジェクトを含むことができます。また、単に別のレベルのリポジト
リとして使用することもできます。
ネストしたオブジェクトを開く場合
円記号(\)を区切り文字として、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")
818
PowerBuilder
第 10 章 PowerScript の関数
次の例は、同じオブジェクトを読み込むために開きます。
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
次の例は、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
PowerScript リファレンス ボリューム 2
819
Open
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
substoragename
readmode
説明
OLE オブジェクトをロードする OLEStorage 型のオブジェ
クト変数の名前を指定します。
開く sourcestorage 内のストレージ メンバーの名前を表す
文字列を指定します。構文 4 の sourcestorage および
substoragename の指定と逆の順序になることに注意して
ください。
substoragename へのアクセス タイプを表す stgReadMode
カタログ データ型の値。値は以下のとおりです。
• stgReadWrite! − 読み込みまたは書き込みアクセス。メ
ンバーが存在しない場合、Open 関数はメンバーを作成
します。
• stgRead! − 読み込み専用アクセス。substoragename を変
更できません。
• stgWrite! − 書き込みアクセス。substoragename を書き換
えることができますが、その現行の内容を読み込むこと
はできません。メンバーが存在しない場合、Open 関数
はメンバーを作成します。
820
PowerBuilder
第 10 章 PowerScript の関数
引数
sharemode
説明
開発者またはほかの開発者のアプリケーション オブジェ
クトから substoragename を開くことを試みた場合の対応
を示す stgShareMode カタログ データ型の値。値は以下の
とおりです。
• stgExclusive! −(デフォルト)ほかからは substoragename
を開けない
• stgDenyNone! − ほかからも substoragename を開ける
• stgDenyRead! − ほかからは substoragename を読み込み
用に開けない
sourcestorage
戻り値
• stgDenyWrite − ほかからは substoragename を書き込み
用に開けない
substoragename を含む OLEStorage オブジェクトを開きま
す。
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-2
-3
-9
親ストレージが開かれていません。
メンバーがありません。(読み込みのために開けた場合)
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
OLE ストレージ ファイルはディレクトリのような構造をしています。
各 OLE オブジェクトは、ほかの OLE オブジェクト(サブストレージ)
とほかのデータ(ストリーム)を格納することができます。ストレー
ジの構造がわかっている場合は、サーバ アプリケーションに属してい
る OLE ス ト レ ー ジ の メ ン バ ー を 開 く こ と が で き ま す。た だ し、
PowerBuilder はストレージを扱う関数を提供しているので、個々のア
プリケーションに合わせて使用する OLE オブジェクトを構成し、スト
レージを構築できます。
ファイル全体を OLE オブジェクトにしたり、ファイル内のサブスト
レージを OLE オブジェクトにしたりすることもできます。ほとんどの
場合、開発者が作成したストレージ ファイルは OLE オブジェクトで
ないルート レベルになり、独立した OLE オブジェクトをサブストレー
ジとして含みます。ストレージ ファイルの階層のどのレベルも OLE オ
ブジェクトを含むことができます。また、単に別のレベルのリポジト
リとして使用することもできます。
PowerScript リファレンス ボリューム 2
821
Open
ネストしたオブジェクトを開く場合
円記号(\)を区切り文字として、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
関連項目
Close
Save
SaveAs
構文 7
OLE ストリーム を開く場合
機能
開いている OLE ストレージ オブジェクトのストリームを開き、それ
を OLE ストリーム オブジェクトにロードします。
対象
OLE ストリーム オブジェクト
構文
olestream.Open ( sourcestorage, streamname {, readmode {, sharemode } } )
引数
olestream
sourcestorage
822
説明
OLE オブジェクトをロードする OLEStream 型のオブジェ
クト変数の名前を指定します。
開かれるストリームを含んでいる OLEStorage オブジェク
トを指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
streamname
readmode
(オプション)
説明
開かれる 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 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-4
-5
-6
-9
ストリームが見つかりません。
ストリームがすでに存在しています。
ストリームがすでに開いています。
ストレージが開かれていません。
アクセスが拒否されました。
名前が無効です。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
例
次の例は、MYSTUFF.OLE ファイルのオブジェクトを開き、それを
OLEStorage 変数 stg_stuff にロードします。次に、ストリーム info が
OLE オブジェクトに存在するかどうかを確認します。存在する場合は、
ストリームを読み込み専用アクセスモードで開きます。この例では、
開いているオブジェクトを閉じて、破棄するためのステートメントを
記述していません。
PowerScript リファレンス ボリューム 2
823
Open
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
構文 8
トレース ファイルを開く
機能
指定されたトレース ファイルを開いて、読める状態にします。
対象
TraceFile オブジェクト
構文
instancename.Open ( filename )
引数
instancename
filename
戻り値
824
説明
TraceFile オブジェクトのインスタンスを指定します。
読み込むトレース ファイルの名前を文字列で指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FileAlreadyOpenError! − 指定されたトレース ファイルは、すでに
開かれています。
•
FileOpenError! − トレース ファイルは読み込むために開けません。
•
FileInvalidFormatError! − 指定されたファイルの書式が正しくあり
ません。
•
EnterpriseOnlyFeature! − この関数は、PowerBuilder Enterprise 版で
のみサポートされています。
PowerBuilder
第 10 章 PowerScript の関数
•
SourcePBLError! − ソース ライブラリが見つかりません。
解説
この構文を使って、PowerBuilder アプリケーションの実行中に作成さ
れたトレース ファイルを選択し、そのファイルの内容を参照します。
ファイルを開いた後は、TraceFile オブジェクトが提供するプロパティ
および関数を使って、既存の解析モデル化オブジェクトを使わずに、
トレース データを独自の方法で解析できます。
例
次の例では、トレース ファイルを開きます。
TraceFile ltf_file
String ls_filename
ltf_file = CREATE TraceFile
ltf_file.Open(ls_filename)
...
関連項目
Close
Reset
NextActivity
OpenChannel
機能
DDE サーバ アプリケーションのチャネルを開きます。
構文
OpenChannel ( applname, topicname {, windowhandle } )
引数
applname
topicname
windowhandle
(オプション)
PowerScript リファレンス ボリューム 2
説明
DDE サーバ アプリケーションの DDE 名(サービス名)を
表す文字列を指定します。
コマンドで使用するデータ、またはアプリケーションのイ
ン ス タ ン ス を 表 す 文 字 列 を 指 定 し ま す。た と え ば、
Microsoft Excel の場合、システムまたは開かれているスプ
レッド シートの名前を指定します。
DDE クライアントとして機能させるウィンドウを示すハ
ンドルを指定します。複数のウィンドウを開いているとき
に、DDE クライアントとして機能させるウィンドウを指
定するために使用します。
825
OpenChannel
戻り値
Long 型。正常に終了した場合、開かれているチャネルを示すハンドル
(正の値)を返します。エラーが発生した場合、以下の負の整数のいず
れかを返します。値は以下のとおりです。
-1
-9
解説
チャネルを開けません。
handle が NULL です。
OpenChannel 関数は、
DDE サーバ アプリケーションのチャネルを開き、
開いた状態を維持するので、アプリケーションへの接続を終了するま
で複数の DDE 要求を実行することができます。このタイプの DDE 対
話を、
「ウォーム リンク」といいます。チャネルが開かれているので、
オペレーティング システムは、データが送信または要求されるたびに
すべての開いているアプリケーションをポーリングする必要がありま
せん。
次に、ウォーム リンク型の対話の概要について示します。
•
OpenChannel 関数を使用して DDE チャネルを開き、返されたチャ
ネル ハンドル(正の値)が有効であることをチェックします。
•
複数の DDE 関数を実行します。次の関数を使用できます。
ExecRemote ( command, handle, <windowhandle> )
GetRemote ( location, target, handle, <windowhandle> )
SetRemote ( location, value, handle, <windowhandle> )
•
CloseChannel 関数を使用して DDE チャネルを閉じます。
リモート DDE 関数を一度だけ使用する場合、チャネルを開かずに
ExecRemote 関数、GetRemote 関数、または SetRemote 関数を呼び出す
ことができます。これを「コールド リンク」といいます。DDE 関数が
呼び出されるたびに、オペレーティング システムはすべての実行中の
アプリケーションをポーリングし、指定されたサーバ アプリケーショ
ンを検索します。
PowerBuilder アプリケーションは、DDE サーバになる場合もあります。
詳細については、StartServerDDE を参照してください。
サーバ アプリケーションについて
各アプリケーションによって、DDE のサポート方法が異なります。各
サーバ アプリケーションの資料を調べ、DDE 名、有効な機能、および
データの位置の指定の仕方を確認してください。
826
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、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
OpenSheet
機能
MDI(Multiple Document Interface)フレーム ウィンドウ内でシートを
開きます。エンド ユーザがシートを選択できるように、メニュー上に
メニュー項目を作成し、開いているシート名のリストを表示します。
対象
ウィンドウ オブジェクト
構文
OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position
{, arrangeopen } } )
引数
sheetrefvar
PowerScript リファレンス ボリューム 2
説明
MDI フレーム ウィンドウ以外のウィンドウ オブジェクト
の名前を指定します。sheetrefvar に開かれたシートの参照
を設定します。
827
OpenSheet
引数
windowtype
(オプション)
mdiframe
position
(オプション)
arrangeopen
(オプション)
説明
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、sheetrefvar と同じ
か、または子孫までなければなりません。
MDI フレーム ウィンドウの名前を指定します。
開かれたシートの名前を追加するメニュー項目(開かれた
シートに対応しているメニュー内の項目)の番号を指定し
ます。メニューバーのメニュー項目は、左端から順番に 1
から番号が付けられています。標準の設定(0)では、最
後から 2 番目のメニュー項目に、開いているシートのリス
トが表示されます。
開いているシートの MDI フレームでの配置を指定する
ArrangeOpen カタログ データ型の値。次のいずれかの値を
指定します。
• Cascaded! −(デフォルト)すべてのタイトル バーが見
えるように、開いているシートを重ねて表示します。前
に開いていたシートの下に重ねて表示されます。
• Layered! − 開いているシートを重ねて表示します。フ
レーム全体に、そのシートが表示されます。前に開いて
いたシートの上に重ねて表示されます。
• Original! − シートを元のサイズで開き、重ねて表示し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
windowtype 引数が無効な場合などは、OpenSheet はランタイム エラー
を送出し、値を返しません。そのため、例の節の最初の例で示すよう
に、戻り値をテストし、try-catch ブロックでの関数呼び出しを囲むこ
との両方を行うことをお勧めします。
解説
シートは、MDI フレーム ウィンドウ内に含まれるドキュメント ウィ
ンドウです。MDI アプリケーションでは、複数のシートを同時に開く
ことができます。新しく開いたシートが、アクティブ シートになりま
す。関連付けられたメニューを格納するシートが開かれている場合、
そのメニューがフレームのメニューになります。
windowtype を指定する場合、sheetrefvar と同じデータ型(または
sheetrefvar を継承したデータ型)でなければなりません。通常、
sheetrefvar のデータ型は Window です。すべてのウィンドウは Window
を継承しますが、windowtype の先祖オブジェクトの型である場合もあ
ります。データ型が異なる場合、エラーが発生します。
828
PowerBuilder
第 10 章 PowerScript の関数
PowerBuilder では、String 型の変数によって実行ファイルで動的に参照
されているオブジェクトのコピーは、自動的には作成されません。ア
プリケーションで windowtype に指定されているウィンドウ オブジェ
クトを含めるには、実行ファイルを作成するときに使用するリソース
(PBR)ファイルに、そのウィンドウ オブジェクトのリストを作成しま
す。実行ファイルの PBR ファイルの詳細については、『PowerBuilder
ユーザーズ ガイド』マニュアルを参照してください。
OpenSheet 関数は、シートを開き、position に指定されているメニュー
バーの項目にその名前を追加します。position に指定されている値が 0
の場合、またはメニューバー上の項目数よりも大きな数値の場合、
PowerBuilder はメニューバー上の最後から 2 番目のメニュー項目に
シート名を追加します。通常、メニューバーの最後から 2 番目のメ
ニュー項目は、ウィンドウ メニューです。ウィンドウ メニューには、
開いているシート名とシートの配置を変更するコマンドが表示されて
います。
PowerBuilder では、メニュー項目を持たないメニューにシートを追加
することができません。指定するメニューを確認してください。また、
position を省略した場合、最後から 2 番目のメニューが少なくとも 1 つ
のメニュー項目を持つことを確認してください。
10 個以上のシートをフレーム内で開くと、position に指定されたメ
ニューの最後に先頭の 9 個のシートのリストが表示され、その下に「そ
の他のウィンドウ ...」と表示されます。
フレーム内のシートは、表示不可にはできません。シートを開いた場
合、Visible プロパティの値は無視されます。ウィンドウがすでに開か
れている場合、Visible プロパティの変更は有効となりません。
レスポンス ウィンドウを開く場合
レスポンス ウィンドウを開く場合は 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, &
PowerScript リファレンス ボリューム 2
829
OpenSheetWithParm
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!)
関連項目
ArrangeSheets
GetActiveSheet
OpenSheetWithParm
OpenSheetWithParm
機能
OpenSheet 関数と同様に、MDI(Multiple Document Interface)フレーム
内にシートを開き、メニュー上にメニュー項目を作成し、エンド ユー
ザがシートを選択できるように開かれたシート名のリストを表示しま
す。OpenSheetWithParm 関数は、システムの Message オブジェクトにパ
ラメータを格納するので、開かれたシートにアクセスすることができ
ます。
対象
ウィンドウ オブジェクト
構文
OpenSheetWithParm ( sheetrefvar, parameter {, windowtype }, mdiframe
{, position {, arrangeopen } } )
引数
sheetrefvar
830
説明
MDI フレーム ウィンドウ以外のウィンドウ オブジェクト
の名前を指定します。sheetrefvar に開かれたシートの参照
を設定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
parameter
説明
指定されたシートが開かれるときに Message オブジェク
トに格納するパラメータを指定します。parameter には、次
のいずれかのデータ型の変数を指定します。
• String 型
• 数値型
windowtype
(オプション)
mdiframe
position
(オプション)
arrangeopen
(オプション)
• PowerObject 型
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、sheetrefvar と同じ
か、または子孫までなければなりません。
MDI フレーム ウィンドウの名前を指定します。
開かれたシートの名前を追加するメニュー項目(開かれた
シートに対応しているメニュー内の項目)の番号を指定し
ます。メニューバーのメニュー項目は、左端から順番に 1
から番号付けされています。特に指定しない限り、最後か
ら 2 番目のメニュー項目に開かれたシートのリストが表
示されます。
MDI フレーム内での開かれたシートの配置を指定する
ArrangeOpen カタログ データ型の値。次のいずれかの値を
指定します。
• Cascaded! −(デフォルト)すべてのタイトル バーが見
えるように、開いているシートを重ねて表示します。前
に開いていたシートの下に重ねて表示されます。
• Layered! − 開いているシートを重ねて表示します。フ
レーム全体に、そのシートが表示されます。前に開いて
いたシートの上に重ねて表示されます。
• Original! − シートを元のサイズで開き、重ねて表示し
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
windowtype 引数が無効な場合などは、OpenSheetWithParm はランタイム
エラーを送出し、値を返しません。そのため、例の節の最初の例で示
すように、戻り値をテストし、try-catch ブロックでの関数呼び出しを
囲むことの両方を行うことをお勧めします。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。OpenSheetWithParm 関数のパラメータに指定
されたデータ型に対応するプロパティに値が格納されます。パラメー
タのデータ型と Message オブジェクトのプロパティの対応を次に示し
ます。
PowerScript リファレンス ボリューム 2
831
OpenSheetWithParm
Message オブジェクトの
プロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
パラメータのデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
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!)
832
PowerBuilder
第 10 章 PowerScript の関数
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
次の例は、ウィンドウのスクリプトです。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
PowerScript リファレンス ボリューム 2
833
OpenTab
... // 通常勤務時間の計算
END IF
関連項目
ArrangeSheets
OpenSheet
OpenTab
ビジュアル ユーザ オブジェクトを開き、開いたユーザ オブジェクトを
指定されたタブ コントロールのタブ ページとします。また、すべての
プロパティとコントロールをスクリプトで使用できるようにします。
目的
ユーザ オブジェクトをタブ ページとして開く
実行時にアプリケーションがユーザ オブジェクトのデー
タ型を選択できるように、ユーザ オブジェクトをタブ
ページとして開く
使用する構文
構文 1
構文 2
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているカスタム ビジュアル ユーザ オブジェクトを、
タブ コントロールのタブ ページとして開きます。
対象
タブ コントロール
構文
tabcontrolname.OpenTab ( userobjectvar, index )
引数
tabcontrolname
userobjectvar
index
834
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
タブ ページとして開くカスタム ビジュアル ユーザ オブ
ジェクトの名前を指定します。ユーザ オブジェクト ペイ
ンタで定義したカスタム ビジュアル ユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenTab 関数は、userobjectvar に指定され
たカスタム ビジュアル ユーザ オブジェクトへの参照を配
置します。
新しいタブを挿入する位置を示すタブ番号を指定します。
index が 0、またはタブ数より大きい場合、タブ ページは
最後に挿入されます。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
OpenTab 関数は、ユーザ オブジェクトのタブ ページを選択状態にしま
せん。ユーザ オブジェクトのコントロールの Constructor イベントに対
するスクリプトは、タブ ページが選択されるまで実行されません。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
ユーザ オブジェクトがタブ コントロール定義の一部となっている場
合(つまり、ウィンドウ ペインタから、ユーザ オブジェクトをタブ コ
ントロールに追加した場合)には、スクリプトでユーザ オブジェクト
を開く必要はありません。タブ コントロールを含むウィンドウを開く
場合は、PowerBuilder は自動的にユーザ オブジェクトも開きます。
OpenTab 関数は、新しく開いたユーザ オブジェクトを、タブ コント
ロールの Control 配列に追加します。この Control 配列は、タブ コント
ロール内のタブ ページのリストを管理しているプロパティです。
同じオブジェクトを 2 回開いた場合
構文 1 を 2 回呼び出して同じユーザ オブジェクトを開くと、Open 関数
と OpenUserObject 関数の動作形態とは対照的に、OpenTab 関数は、ユー
ザ オブジェクトを別のタブ ページとしてもう一度開きます。
例
次の例は、ユーザ オブジェクト 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)
関連項目
OpenTabWithParm
PowerScript リファレンス ボリューム 2
835
OpenTab
構文 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 配列は、タブ コント
ロール内のタブ ページのリストを管理しているプロパティです。
836
PowerBuilder
第 10 章 PowerScript の関数
ユーザ オブジェクト データ型を指定するときの考慮点
構文 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)
関連項目
OpenTabWithParm
PowerScript リファレンス ボリューム 2
837
OpenTabWithParm
OpenTabWithParm
指定されたウィンドウにビジュアル ユーザ オブジェクトを追加し、
OpenTab 関数と同様に、そのユーザ オブジェクトのすべてのプロパ
ティとコントロールをスクリプトで使用できるようにします。また、
開かれているオブジェクトがパラメータにアクセスできるように、シ
ステムの Message オブジェクトにパラメータを格納します。
目的
使用する構文
ユーザ オブジェクトをタブ ページとして開く
構文 1
実行時にアプリケーションがユーザ オブジェクトのデー 構文 2
タ型を選択できるように、ユーザ オブジェクトをタブ
ページとして開く
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているカスタム ビジュアル ユーザ オブジェクトを
タブ コントロールのタブ ページとして開き、システムの Message オブ
ジェクトにパラメータを格納します。
対象
タブ コントロール
構文
tabcontrolname.OpenTabWithParm ( userobjectvar, parameter, index )
引数
tabcontrolname
userobjectvar
parameter
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
タブ ページとして開くカスタム ビジュアル ユーザ オブ
ジェクトの名前を指定します。ユーザ オブジェクト ペイ
ンタで定義したカスタム ビジュアル ユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenTabWithParm 関数は、userobjectvar に
指定されたカスタム ビジュアル ユーザ オブジェクトへの
参照を配置します。
指定されたユーザ オブジェクトが開かれるときに Message
オ ブ ジ ェ ク ト に 格 納 す る パ ラ メ ー タ を 指 定 し ま す。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
• PowerObject 型
838
PowerBuilder
第 10 章 PowerScript の関数
引数
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 関数にも
適用できる内容が記述されています。
PowerScript リファレンス ボリューム 2
839
OpenTabWithParm
例
次の例は、ユーザ オブジェクト 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
840
説明
ユーザ オブジェクトをタブ ページとして開くタブ コント
ロールの名前を指定します。
ユーザオブジェクト データ型の変数を指定します。指定さ
れたデータ型で開かれたユーザ オブジェクトの参照を
userobjectvar に格納します。
PowerBuilder
第 10 章 PowerScript の関数
引数
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 オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
PowerScript リファレンス ボリューム 2
841
OpenTabWithParm
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)
842
PowerBuilder
第 10 章 PowerScript の関数
次の例は、文字列 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
PowerScript リファレンス ボリューム 2
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名
前を指定します。
843
OpenUserObject
引数
userobjectvar
説明
表示するユーザ オブジェクトの名前を指定します。ユーザ
オブジェクト ペインタで定義したユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenUserObject は、開かれたユーザ オブ
ジェクトの参照を userobjectvar に格納します。
x
ウィンドウのフレーム内のユーザ オブジェクトの表示位
(オプション) 置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
y
ウィンドウのフレーム内のユーザ オブジェクトの表示位
(オプション) 置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
初期状態のウィンドウで定義されているユーザ オブジェクト(ウィン
ドウ ペインタで追加されたウィンドウ)は、スクリプトで開く必要は
ありません。このユーザ オブジェクトは、PowerBuilder がウィンドウ
を開くときに開かれます。
OpenUserObject 関数は、新しく開かれたユーザ オブジェクトをウィン
ドウ プロパティの Control 配列に追加します。Control 配列は、ウィン
ドウのコントロールを格納します。
実行時にユーザ オブジェクトを開く場合は、ウィンドウを閉じるとき
にユーザ オブジェクトが自動的に破棄されません。通常はウィンドウ
を閉じるときに、CloseUserObject 関数を呼び出してユーザ オブジェク
トを破棄する必要があります。ユーザ オブジェクトを破棄しない場
合、メモリ内に保存され、メモリ リークの原因となります。
844
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
845
OpenUserObject
構文 2
データ型がわからないユーザ オブジェクトを開く
機能
スクリプトを実行するまでデータ型がわからないユーザ オブジェク
トを開きます。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObject ( userobjectvar, userobjecttype {, x, y } )
引数
windowname
userobjectvar
userobjecttype
x
(オプション)
y
(オプション)
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
DragObject データ型の変数を指定します。OpenUserObject
は、開かれたユーザ オブジェクトの参照を userobjectvar に
格納します。
表示するユーザ オブジェクトの名前を表す文字列を指定
します。userobjecttype のデータ型は、userobjectvar の子孫
でなければなりません。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す Y 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
どのユーザ オブジェクトを開くかが決まっている場合、構文 1 を使用
します。スクリプトの実行時に、アプリケーションがタブ ページとし
て開くユーザ オブジェクトのデータ型を決める場合は、構文 2 を使用
します。
ユーザ オブジェクトのプロパティにアクセスする前にユーザ オブ
ジェクトを開く必要があります。ユーザ オブジェクトを開く前にその
プロパティにアクセスすると、実行時にエラーが発生します。
初期状態のウィンドウで定義されているユーザ オブジェクト(ウィン
ドウ ペインタで追加されたウィンドウ)は、スクリプトで開く必要は
ありません。このユーザ オブジェクトは、PowerBuilder がウィンドウ
を開くときに開かれます。
OpenUserObject 関数は、新しく開かれたユーザ オブジェクトをウィン
ドウ プロパティの Control 配列に追加します。Control 配列は、ウィン
ドウのコントロールを格納します。
846
PowerBuilder
第 10 章 PowerScript の関数
実行時にユーザ オブジェクトを開く場合は、ウィンドウを閉じるとき
にユーザ オブジェクトが自動的に破棄されません。通常はウィンドウ
を閉じるときに、CloseUserObject 関数を呼び出してユーザ オブジェク
トを破棄する必要があります。ユーザ オブジェクトを破棄しない場
合、メモリ内に保存され、メモリ リークの原因となります。
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)
関連項目
OpenUserObjectWithParm
PowerScript リファレンス ボリューム 2
847
OpenUserObjectWithParm
OpenUserObjectWithParm
OpenUserObject 関数と同様に、指定されたウィンドウにユーザ オブ
ジェクトを追加し、そのユーザ オブジェクトのすべてのプロパティと
コントロールをスクリプトで利用できるようにします。また、開かれ
ているオブジェクトがパラメータにアクセスできるように、システム
の Message オブジェクトにパラメータを格納します。
目的
使用する構文
特定のユーザ オブジェクトのインスタンスを開く
構文 1
スクリプトの実行時に、アプリケーションがユーザ オブ 構文 2
ジェクト データ型を選択することができるユーザ オブ
ジェクトを開く
構文 1
データ型がわかっているユーザ オブジェクトを開く
機能
データ型がわかっているユーザ オブジェクトを開き、システムのメッ
セージ オブジェクトにパラメータを保存します。
対象
ウィンドウ オブジェクト
構文
windowname.OpenUserObjectWithParm ( userobjectvar, parameter
{, x, y } )
引数
windowname
userobjectvar
parameter
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
表示するユーザ オブジェクトの名前を指定します。ユーザ
オブジェクト ペインタで定義したユーザ オブジェクト
(ユーザ オブジェクト データ型)を指定できます。また、
必要なユーザ オブジェクト データ型の変数を指定するこ
ともできます。OpenUserObjectWithParm は、開かれたユー
ザ オブジェクトの参照を userobjectvar に格納します。
指定されたユーザ オブジェクトが開かれるときに Message
オ ブ ジ ェ ク ト に 格 納 す る パ ラ メ ー タ を 指 定 し ま す。
parameter には、次のいずれかのデータ型の変数を指定し
ます。
• String 型
• 数値型
x
(オプション)
848
• PowerObject 型
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す X 座標(PowerBuilder 単位系)を指定します。特
に指定しない限り、0 が設定されます。
PowerBuilder
第 10 章 PowerScript の関数
引数
y
(オプション)
説明
ウィンドウのフレーム内のユーザ オブジェクトの表示位
置を示す 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 関数にも適用できる内容が記述されています。
PowerScript リファレンス ボリューム 2
849
OpenUserObjectWithParm
例
次の例は、ユーザ オブジェクト 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
850
説明
ユーザ オブジェクトを開くウィンドウ オブジェクトの名前
を指定します。
DragObject データ型の変数を指定します。指定されたデータ
型で開かれたユーザ オブジェクトの参照を userobjectvar
に格納します。
PowerBuilder
第 10 章 PowerScript の関数
引数
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 オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
PowerScript リファレンス ボリューム 2
851
OpenUserObjectWithParm
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)の位
置に表示されます。
852
PowerBuilder
第 10 章 PowerScript の関数
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 オブジェクトにパラメータを格納します。
対象
ウィンドウ オブジェクト
PowerScript リファレンス ボリューム 2
853
OpenWithParm
構文
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
パラメータのデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
Message.StringParm
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
854
PowerBuilder
第 10 章 PowerScript の関数
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)
PowerScript リファレンス ボリューム 2
855
OpenWithParm
次の例は、チャイルド ウィンドウのインスタンス 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
(チャイルド
ウィンドウ、
ポップアップ
ウィンドウの
場合)
856
• PowerObject 型
開くウィンドウ オブジェクトのデータ型を表す文字列を
指定します。windowtype のデータ型は、windowvar と同じ
か、または子孫までなければなりません。
これから開くチャイルド ウィンドウまたはポップアップ
ウィンドウの親ウィンドウにするウィンドウを指定しま
す。チャイルド ウィンドウまたはポップアップ ウィンド
ウを開く場合に parent を省略すると、現在アクティブな
ウィンドウが親ウィンドウになります。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
システムの Message オブジェクトには、データを格納するための 3 つ
のプロパティがあります。OpenWithParm 関数のパラメータに指定され
たデータ型に対応するプロパティに値が格納されます。パラメータの
データ型と Message オブジェクトのプロパティの対応を次に示します。
Message オブジェクトの
プロパティ
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
パラメータのデータ型
数値型
PowerObject(ユーザ定義構造体を含む
PowerBuilder オブジェクト)型
String 型
開かれているユーザ オブジェクトでは、ほかのスクリプトが Message
オブジェクトを別の目的で使用する可能性があります。このため、
Message オブジェクトに渡された値には、すぐにアクセスすることを
お勧めします。
NULL オブジェクト参照の回避
PowerObject 型のデータをパラメータとして渡すときは、オブジェクト
への参照を渡しています。後でオブジェクトを参照するときには、オ
ブジェクトが存在しなければなりません。オブジェクトが存在しない
場合、NULL オブジェクト参照となり、エラーが発生します。たとえ
ば、閉じられているウィンドウのコントロール名を渡した場合、その
コントロールは、スクリプトがパラメータにアクセスするときには存
在しません。
複数の値を構造体として渡す場合
複数の値を渡すには、値を格納するためのユーザ定義の構造体を作成
し、開かれたウィンドウにおけるメッセージ オブジェクトの
PowerObjectParm プロパティにアクセスします。構造体は、参照として
ではなく、値として渡されるので、ユーザ定義構造体が破棄された場
合でも情報にアクセスできます。
Open 関数の解説も参考にしてください。OpenWithParm 関数にも適用で
きる内容が記述されています。
PowerScript リファレンス ボリューム 2
857
OpenWithParm
例
次の例は、文字列 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)
関連項目
858
CloseWithReturn
Open
PowerBuilder
第 10 章 PowerScript の関数
OutgoingCallList
機能
パフォーマンス解析モデルに含まれているルーチンの呼び出し情報の
リストを提供します。
対象
ProfileLine オブジェクト、ProfileRoutine オブジェクト
構文
instancename.OutgoingCallList ( list, aggregate )
引数
instancename
list
aggregate
(ProfileRoutine
のみ)
戻り値
解説
説明
ProfileLine オブジェクトまたは ProfileRoutine オブジェク
トのインスタンス名を指定します。
ProfileCall 型の可変長配列変数を指定します。指定された
ルーチン内からの別ルーチンの呼び出しごとに、
OutgoingCallList 関数は ProfileCall オブジェクトを 1 つ作成
してこの変数に格納します。この引数は、参照渡しされ
ます。
Boolean 型の値。呼び出しが複数回発生した場合に、
ProfileCall オブジェクトを 1 つだけ作成するか、または複
数作成するかどうかを指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しません。
OutgoingCallList 関数を使うと、
ある特定のスクリプトの行またはルーチ
ンから、パフォーマンス解析モデルに含まれるルーチンを呼び出して
いる場合に、その情報のリストを取得できます。BuildModel 関数を使っ
てトレース ファイルからパフォーマンス解析モデルをあらかじめ作
成しておかなければなりません。呼び出し側ルーチンはそれぞれ、
ProfileCall オブジェクトとして定義されます。このオブジェクトには、
呼び出されるルーチン、呼び出すルーチン、呼び出し回数、および処
理時間が書き込まれます。リスト中のルーチンの並び方に、特に規則
性はありません。
PowerScript リファレンス ボリューム 2
859
OutgoingCallList
aggregate 引 数 は、ル ー チ ン の 呼 び 出 し が 複 数 回 発 生 す る 場 合 に、
ProfileCall オブジェクトを 1 つだけ作成するか、または複数作成するか
どうかを示します。この引数が有効になるのは、ライン トレースを行
うように設定されていて、呼び出し側ルーチンが呼び出し先ルーチン
を、異なる複数のラインから呼び出している場合だけです。aggregate
が TRUE である場合、新規作成される ProfileCall オブジェクトは 1 つ
だけであり、呼び出し側ルーチンから呼び出し先ルーチンへの呼び出
しの情報はすべて、このオブジェクトに 1 つにまとめられます。
aggregate が FALSE である場合、ProfileCall オブジェクトは複数作成さ
れ、呼び出し側ルーチンが呼び出し先ルーチンを呼び出している 1 ラ
インに対し、1 つのオブジェクトが対応します。
例
次の例では、パフォーマンス解析モデルに含まれるルーチンのリスト
を取得し、次に、そのリスト内の個々のルーチンが呼び出しているルー
チンのリストを取得します。
Long ll_cnt
ProfileCall lproc_call[]
lpro_model.BuildModel()
lpro_model.RoutineList(iprort_list)
FOR ll_cnt = 1 TO UpperBound(iprort_list)
iprort_list[ll_cnt].OutgoingCallList(lproc_call, &
TRUE)
...
NEXT
関連項目
860
BuildModel
IncomingCallList
PowerBuilder
第 10 章 PowerScript の関数
PageCount
機能
リッチテキスト エディット コントロールの文書全体のページ数を返
します。
対象
リッチテキスト エディット コントロール
構文
rtename.PageCount ( )
引数
rtename
説明
ページ数を調べるリッチテキスト エディット コントロー
ルの名前を指定します。
戻り値
Integer 型。リッチテキスト エディット コントロールのページ数を返し
ます。コントロールにテキストがない場合は 1 を返し、エラーが発生
した場合は -1 を返します。
解説
文書のページ数は、テキストの量や、ページのサイズ、余白、フォン
トのサイズなどのレイアウトの仕様によって決まります。
リッチテキスト エディットコントロールがデータウィンドウとデー
タを共有すると、データウィンドウの行ごとに文書のインスタンスが
作成されます。PageCount 関数は、1 つのインスタンスのページ数を報
告します。ページ数の合計を取得するには、データウィンドウ関数の
RowCount 関数の戻り値にページ数を掛けます。
例
次の例は、リッチテキスト エディット コントロール rte_1 の文書の
ページ数をスタティックテキスト コントロール st_status のテキストと
して表示します。
st_status.Text = String(rte_1.PageCount())
関連項目
LineCount
LineLength
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RowCount メソッド
PowerScript リファレンス ボリューム 2
861
PageCreated
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
関連項目
862
CreatePage
PowerBuilder
第 10 章 PowerScript の関数
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()
PowerScript リファレンス ボリューム 2
863
Paste
次のステートメントは、ポップアップ ウィンドウの[キャンセル]ボ
タンのスクリプトです。ボタンの親ウィンドウ(ボタンを含むウィン
ドウ)の親ウィンドウのイベントを起動し、ボタンの親ウィンドウを
閉じます。続いて、ボタンのウィンドウが閉じます。ボタンのウィン
ドウの親ウィンドウには、イベント cancelrequested に対するスクリプ
トが定義されています。
Parent.ParentWindow().TriggerEvent("cancelrequested")
Close(Parent)
Paste
機能
クリップボードの内容を指定されたコントロールに挿入します(貼り
付けます)。編集可能なコントロールを対象とする場合、クリップボー
ドのテキストを挿入ポイントに貼り付けます。OLE コントロールを対
象とする場合、クリップボードの OLE オブジェクトをコントロール内
の既存のオブジェクトに置き換えます。
対象
エディットマスク コントロール、インクエディット コントロール、マ
ルチライン エディット コントロール、シングルライン エディット コ
ントロール、リッチテキスト エディット コントロール、ドロップダウ
ン リストボックス コントロール、ドロップダウン ピクチャ リスト
ボックス コントロール、データウィンドウ コントロール、OLE コン
トロール
構文
controlname.Paste ( )
引数
controlname
説明
データウィンドウ、エディットマスク、InkEdit、マルチラ
イン エディット、シングルライン エディット、リッチテ
キスト エディット、ドロップダウン リストボックス、ド
ロップダウン ピクチャ リストボックス、OLE のいずれか
のコントロールの名前。クリップボードの内容の貼り付け
先を指定します。
controlname がデータウィンドウ コントロールの場合、エ
ディット コントロールの現行の行とカラムの上にテキス
トを貼り付けます。
controlname にドロップダウン リストボックス コントロー
ルまたはドロップダウン ピクチャ リストボックス コント
ロールを指定する場合、AllowEdit プロパティは TRUE で
なければなりません。
864
PowerBuilder
第 10 章 PowerScript の関数
戻り値
データウィンドウ、InkEdit、およびリストボックスの 場合は Integer 型、
ほかのコントロールの場合は Long 型
エディット コントロールを対象とする場合、controlname に指定された
コントロールに貼り付けられた文字数を返します。切り取りやコピー
が行われていない場合(クリップボードが空の場合)、Paste 関数はエ
ディット コントロールの内容を変更せずに、0 を返します。クリップ
ボードにテキスト以外のデータ(ビットマップや OLE オブジェクトな
ど)が格納されており、コントロールがそのデータを受け付けること
ができない場合、Paste 関数はコントロールの内容を変更せずに、0 を
返します。
OLE コントロールを対象とする場合、正常に終了したときには 0 を返
します。エラーが発生したときには、次のいずれかの負の値を返しま
す。
-1 クリップボードにデータがないか、またはクリップボードの内
容を埋め込むことができません。
-9 そのほかのエラーです。
解説
編集可能なコントロールでは、controlname でテキストが選択される
と、Paste 関数はそのテキストをクリップボードの内容と置き換えま
す。エディット コントロールに格納できる行数より多くの行がクリッ
プボードに格納されている場合には、格納できるだけの行数を貼り付
けます。
データウィンドウ コントロールでは、現行の行とカラム上にあるエ
ディット コントロールにテキストを貼り付けます。そのカラムに格納
できる行数より多くのテキストがクリップボードに格納されている場
合、格納できるだけのテキストを貼り付け、残りは切り捨てます。ク
リップボードのテキストがカラムのデータ型と一致しない場合には、
すべてのテキストが切り捨てられるため、選択したテキストは空の文
字列("")に置き換えられます。
リッチテキスト エディット コントロールには、テキストだけでなく、
ビットマップも貼り付けることができます。
特定の文字列を controlname に挿入したり、選択したテキストを特定の
文字列に置き換えたりするには、ReplaceText 関数を使用します。
Paste 関数を使用して OLE オブジェクトを OLE コントロールに貼り付
ける場合、データは PowerBuilder アプリケーションにリンクされるわ
けではなく、埋め込まれます。
PowerScript リファレンス ボリューム 2
865
PasteLink
例
クリップボードに 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 を返します。
866
PowerBuilder
第 10 章 PowerScript の関数
解説
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
機能
文字列のリッチテキスト形式のデータを、データウィンドウ コント
ロール、データストア オブジェクト、またはリッチテキスト エディッ
ト コントロールに貼り付けます。
対象
データウィンドウ コントロール、データストア オブジェクト、リッチ
テキスト エディット コントロール
PowerScript リファレンス ボリューム 2
867
PasteRTF
構文
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!)
関連項目
868
CopyRTF
PowerBuilder
第 10 章 PowerScript の関数
PasteSpecial
機能
OLE オブジェクトを特定のコントロールに貼り付けるときに、標準の
OLE ダイアログボックスを表示し、エンド ユーザが OLE オブジェク
トを埋めこむのか、リンクするのかを選択できるようにします。埋め
込みを選択した場合の結果は、Paste 関数を使用した場合と同じです。
リンクを選択した場合の結果は、PasteLink 関数を使用した場合と同じ
です。
対象
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
PowerScript リファレンス ボリューム 2
869
Pi
Pi
機能
指定された数値に pi(円周率)を掛けます。
構文
Pi ( n )
引数
n
説明
pi(円周率 3.14159265358979323)を掛ける数値を指定しま
す。
戻り値
Double 型。正常に終了した場合は n × pi の結果を返し、エラーが発生
した場合には -1 を返します。n が NULL の場合、NULL を返します。
解説
Pi 関数は、
角度と弧度(ラジアン)を互いに変換する場合に使用します。
例
次の例は、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))
関連項目
870
Cos
Sin
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Pi メソッド
PowerBuilder
第 10 章 PowerScript の関数
PixelsToUnits
機能
ピクセル単位の数値を、PowerBuilder 単位系に変換します。通常、ピ
クセルは 1 次元なので、変換するピクセルが水平方向か垂直方向かを
指定します。
構文
PixelsToUnits ( pixels, type )
引数
pixels
type
説明
PowerBuilder 単位系に変換するピクセル数を表す Integer
型の数値を指定します。
変換方法を指定する ConvertType カタログ データ型の値を
指定します。
• XPixelsToUnits! − 水平方向のピクセルを変換します。
• YPixelsToUnits! − 垂直方向のピクセルを変換します。
戻り値
Integer 型。正常に終了した場合は変換後の値を返し、エラーが発生し
た場合は -1 を返します。引数のいずれかの値が NULL の場合、NULL を
返します。
例
次の例は、水平方向の 35 ピクセルを PowerBuilder 単位系に変換し、変
換した値を Value に設定します。
integer Value
Value = PixelsToUnits(35, XPixelsToUnits!)
関連項目
UnitsToPixels
PowerScript リファレンス ボリューム 2
871
Play
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)
関連項目
872
Stop
PowerBuilder
第 10 章 PowerScript の関数
PointerX
機能
指定されたオブジェクトの左端からポインタまでの距離を返します。
対象
すべてのオブジェクトとコントロール
構文
objectname.PointerX ( )
引数
objectname
戻り値
説明
コントロールまたはウィンドウの名前を指定し、その左端
からポインタまでの距離を返します。objectname を省略す
ると、現行のシートまたはウィンドウの左端からの距離が
返されます。
Integer 型。正常に終了した場合、objectname で指定されたコントロー
ルまたはウィンドウの左端からポインタまでの距離(PowerBuilder 単
位系)を返し、エラーが発生した場合には -1 を返します。objectname
が NULL の場合、NULL を返します。
例
次の例は、ウィンドウのコントロールのスクリプトです。ウィンドウ
の端からポインタまでの距離を変数 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
873
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())
関連項目
874
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
875
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 関
数は何もしません。
876
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 が設定され
ます。
877
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)
878
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
879
PosW
解説
PosA 関数は、PowerBuilder 9 の Pos 関数が DBCS 環境で提供していた
機能に代わるものです。SBCS 環境では、Pos 関数、PosW 関数、PosA
関数は同じ結果を返します。
PosW
機能
文字列の中から指定された文字列を検索し、最初に検索した文字列の
先頭文字の位置を返します。この関数は、将来サポートされなくなり
ます。動作は、すべての環境で Pos 関数と同じです。
構文
PosW ( string1, string2 {, start } )
Position
編集可能なコントロール内にある挿入ポイントの位置を調べます。
目的
使用する構文
リッチテキスト エディット コントロールを除く編集可能 構文 1
なコントロール内にある挿入ポイントの位置を調べる
リッチテキスト エディット コントロールまたはオブジェ 構文 2
クトの提示様式がリッチテキスト エディットのデータ
ウィンドウ コントロールで、挿入ポイントの位置または選
択されているテキストの先頭と末尾の位置を調べる
構文 1
リッチテキスト エディット コントロール以外の編集
可能なコントロール内にある挿入ポイントの位置を
調べる
機能
エディット コントロール内にある挿入ポイントの位置を返します。
対象
データウィンドウ コントロール、エディットマスク コントロール、
InkEdit コントロール、マルチライン エディット コントロール、シン
グルライン エディット コントロール、ドロップダウン リストボック
ス コントロール、ドロップダウン ピクチャ リストボックス コント
ロール
880
PowerBuilder
第 10 章 PowerScript の関数
構文
editname.Position ( )
引数
editname
戻り値
説明
データウィンドウ、エディットマスク、InkEdit、マルチラ
イン エディット、シングルライン エディット、ドロップ
ダウン リストボックス、ドロップダウン ピクチャ リスト
ボックスのいずれかのコントロールの名前。挿入ポイント
の位置を調べるコントロールの名前を指定します。
データウィンドウ、InkEdit、およびリストボックスの場合は 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
881
Position
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.Position ( fromline, fromchar {, toline, tochar } )
引数
rtename
fromline
fromchar
toline
(オプション)
tochar
(オプション)
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前。挿入ポイントの位置また
は選択範囲の位置を調べるコントロールの名前を指定し
ます。データウィンドウ コントロールのデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
Long 型の変数を指定します。指定された変数に、挿入ポ
イントの位置または選択範囲の先頭の行番号を格納しま
す。
Long 型の変数を指定します。指定された変数に、選択範
囲の 1 文字目の位置または挿入ポイントの後の位置を格
納します。
Long 型の変数を指定します。指定された変数に、選択範
囲の末尾の行番号を格納します。
Long 型の変数を指定します。指定された変数に、選択範
囲の末尾の文字の位置を格納します。
戻り値
カタログ データ型。選択範囲または挿入ポイントを含む区域(Detail!、
Header!、Footer!)を返します。
解説
toline と tochar を省略すると、Position 関数は挿入ポイントの位置を返
します。テキストが選択されている場合、挿入ポイントは、選択範囲
の先頭文字になることも、末尾の文字になることもあります。たとえ
ば、エンド ユーザが下方向にテキストを選択した場合、挿入ポイント
は選択範囲の末尾にあります。
テキストが選択されている場合、文字引数に 0 を設定して、選択範囲
が行の先頭から始まるのか、行の先頭で終了するのかを示すことがで
きます。その行では、何も選択されません。エンド ユーザが上方向に
選択した場合、選択範囲を行の先頭から開始することができます。こ
の場合、fromchar には 0 が設定されます。エンド ユーザが下方向選択
した場合、選択範囲を行の先頭で終了することができます。この場合、
tochar には 0 が設定されます。
882
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
883
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)
884
PowerBuilder
第 10 章 PowerScript の関数
IF l2 = 0 and
l1select =
c1select =
l2select =
c2select =
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
885
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 関数は文字列をコピーし、文字列に
対するポインタを渡します。
886
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 関数を使用します。詳細については、
「解説」を参照
してください。
887
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 イベントをポストするとデータを削除するスクリプトが実行
されます。
888
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
889
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
890
説明
インターネット サービス インスタンスへの参照を指
定します。
ポストするデータの URL を表す文字列を指定します。
Blob 型の変数を指定します。この変数には urlname で
指定した URL に渡す引数を設定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
headers
serverport
(オプション)
data
戻り値
説明
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_base は、inet 型のインスタンス変数です。
Blob lblb_args
String ls_headers
String ls_url
PowerScript リファレンス ボリューム 2
891
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
関連項目
892
GetURL
HyperLinkToURL
InternetData
PowerBuilder
第 10 章 PowerScript の関数
Preview
機能
リッチテキスト エディット コントロールの内容を、文書の印刷プレ
ビュー モードまたは編集モードで表示します。
対象
リッチテキスト エディット コントロール
構文
rtename.Preview ( previewsetting )
引数
rtename
previewsetting
説明
プレビュー モードまたは編集モードで表示するリッチテ
キスト エディット コントロールの名前を指定します。
リッチテキスト エディット コントロールの内容をプレ
ビュー モードまたは編集モードのどちらのモードで表示
するかを示す Boolean 型の値。値は以下のとおりです。
• True − リッチテキスト エディット コントロールの内容
の印刷イメージを表示するプレビュー モード
• False − 内容を編集できる編集モード
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールの内容を表示するには、編集
モードとプレビュー モードの 2 つの表示モードを使用します。Preview
関数は、この 2 つのモードを切り換えます。
編集モードでは、テキストが読める形式で表示されます。
エンド ユーザは、テキストの入力、選択、および変更を行うことがで
きます。キャリッジ リターン、空白、タブ、入力フィールドなど、テ
キスト中の印刷されない文字の表示を制御するプロパティがありま
す。編集モードでは、ツールバー、ルーラ、タブバーは、コントロー
ルの編集エリアの上部に表示されます。
編集モード
プレビュー モード プレビュー モードでは、コントロールの中に印刷
イメージが縮小されて表示されます。ページのサイズは、コントロー
ルの大きさに合うように変更されます。プレビュー モードには、用紙
のサイズと余白を指定するエディットボックスがあります。コント
ロールの表示モードがプレビュー モードに切り換わると、すべての選
択箇所は取り消されます。エンド ユーザは、プレビュー モードでテキ
ストを編集することはできません。ただし、スクリプトで関数を呼び
出せば、テキストの選択や変更だけでなく、文書の挿入を行うことが
できます。
コントロールがプレビュー モードのときに ShowHeadFoot 関数を呼び
出すと、編集モードに戻り、ヘッダとフッタの編集パネルが表示され
ます。
PowerScript リファレンス ボリューム 2
893
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
894
説明
印刷するオブジェクトの名前を指定します。オブジェクト
は、先祖の種類が DragObject であるオブジェクトまたは
ウィンドウでなければなりません。DragObject には、ウィ
ンドウに配置できるすべてのコントロールが含まれてい
ます。
PowerBuilder
第 10 章 PowerScript の関数
引数
printjobnumber
x
y
width
(オプション)
height
(オプション)
説明
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
895
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
(オプション)
戻り値
896
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
印刷領域の左端からの距離を、1/1000 インチ単位で指定し
ます。string を印刷する前に、印刷カーソルを tab1 に指定
された位置まで移動します。印刷カーソルがすでに指定さ
れた位置にある場合、指定された位置を越えている場合、
または tab1 を省略した場合には、印刷カーソルの現行の位
置から印刷を開始します。
印刷するテキストを指定します。文字列にキャリッジ リ
ターン文字と改行文字(~r~n)が指定されている場合、文
字列は複数行に印刷されます。ただし、2 行目以降では tab1
は無視されます。
印刷領域の左端からの距離を 1/1000 インチ単位で指定し
ます。string を印刷した後で、印刷カーソルを tab2 に指定
された位置まで移動します。印刷カーソルがすでに指定さ
れた位置にある場合、または指定された位置を越えている
場合には、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
897
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 インチの位置にカーソルを移動します。
898
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
PowerScript リファレンス ボリューム 2
899
Print
構文 3
リッチテキスト エディット コントロールに対して
機能
リッチテキスト エディット コントロールの内容を印刷します。
対象
リッチテキスト エディット コントロール
構文
rtename.Print ( copies, pagerange, collate, canceldialog )
引数
rtename
copies
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 を返します。
解説
リッチテキスト エディット コントロールがデータをデータウィンド
ウと共有している場合、コントロール内の総ページ数は、文書内のペー
ジ数にデータウィンドウの行数を乗算した値です。
文書のヘッダまたはフッタに入力フィールドを含めると、印刷する
ページ番号を指定できます。PrintHeader イベントまたは PrintFooter イ
ベントで InputFieldChangeData を呼び出すと、その入力フィールドの現
行の値を指定できます。
900
PowerBuilder
第 10 章 PowerScript の関数
Print 関数は、
PrintHeader イベントと PrintFooter イベントを起動します。
例
次の例は、リッチテキスト エディット コントロール rte_1 内の文書の
1 ∼ 5 ページを 1 部ずつ印刷します。部単位の印刷は行われません。エ
ンド ユーザが印刷を取り消すことができるように、ダイアログボック
スが表示されます。
rte_1.Print(1, "1-5", FALSE, TRUE)
関連項目
Preview
PrintEx
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 関数は、印刷カーソルの位置を変更しません。印刷カーソ
ルは関数が呼び出される前の位置のままです。通常、座標を引数とす
る印刷関数は、印刷カーソルに影響を及ぼしません。印刷関数につい
ては、
「関連項目」の関数を参照してください。
PowerScript リファレンス ボリューム 2
901
PrintCancel
例
次の文は、新しく空白ページを定義した後、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
PrintRoundRect
PrintOval
PrintOpen
PrintCancel
機能
印刷を取り消し、スプール ファイルを削除します。PrintOpen 関数を使
用して開かれた印刷ジョブを取り消します。印刷ジョブは、PrintOpen
関数が返す番号によって認識されます。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「PrintCancel メソッド」を参照してください。
構文
PrintCancel ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。printjobnumber が NULL の場合、NULL を返します。
解説
指定された印刷ジョブを取り消し、そのジョブのスプール ファイルが
存在する場合は、スプール ファイルを削除します。PrintCancel 関数は、
印刷ジョブを閉じる処理も同時に行いますので、この関数を呼び出し
た後には、PrintClose 関数は呼び出さないでください。
902
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、印刷ボタンのイベントに対するスクリプトです。印刷ジョ
ブを開き、次に、[キャンセル]ボタンを持つウィンドウを開きます。
エンド ユーザが[キャンセル]ボタンをクリックすると、そのスクリ
プトで、エンド ユーザがジョブをキャンセルしたことを示すグローバ
ル変数を設定します。
[印刷]ボタンのイベントに対するスクリプトで
は、印刷関数を呼び出すたびにグローバル変数を調べ、TRUE の場合に
印刷ジョブを取り消します。
グローバル変数の定義は、次のとおりです。
boolean gb_printcancel
[印刷]ボタンのイベントに対するスクリプトは、次のとおりです。
long job, li
gb_printcancel = FALSE
job = PrintOpen("Test Page Breaks")
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
PowerScript リファレンス ボリューム 2
903
PrintClose
PrintClose
機能
現在のページをプリンタ(またはスプーラ)に送り、印刷ジョブを終
了します。PrintCancel 関数によってジョブを終了しない限り、印刷ジョ
ブに対する最後のコマンドとして PrintClose 関数を呼び出します。
構文
PrintClose ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。printjobnumber が NULL の場合、NULL を返します。
解説
印刷ジョブを開始した後は、そのジョブを終了する(または取り消す)
必要があります。印刷ジョブのハングアップを避けるために、印刷ジョ
ブを開始したイベントと同じイベント内で印刷処理および印刷の終了
を行うようにしてください。
例
次の例は、印刷ジョブを開始します。印刷ジョブは、空白ページを設
定し、そのページにビットマップを印刷して、現行のページをプリン
タまたはスプーラに送り、ジョブを終了します。
ulong Job
// 新しいジョブとページを開始します。
Job = PrintOpen( )
// 元のサイズでビットマップを印刷します。
PrintBitmap(Job, d:\PB\BITMAP1, 5,10, 0,0)
// ページをプリンタに送り、ジョブを終了します。
PrintClose(Job)
関連項目
904
PrintCancel
PrintOpen
PowerBuilder
第 10 章 PowerScript の関数
PrintDataWindow
機能
データウィンドウ コントロールの内容を 1 つの印刷ジョブとして印刷
します。
構文
PrintDataWindow ( printjobnumber, dwcontrol )
引数
printjobnumber
dwcontrol
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
印刷するデータウィンドウ オブジェクトを含むデータ
ウィンドウ コントロール、子データウィンドウ、または
データストア オブジェクトの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
PrintDataWindow 関数は、PrintOpen 関数、PrintClose 関数以外の Print 関
数とともに使用することはできません。
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)
PowerScript リファレンス ボリューム 2
905
PrintDefineFont
関連項目
Print
PrintClose
PrintOpen
PrintDefineFont
機能
プリンタでサポートされているフォントと、フォントのプロパティに
番号を定義します。定義した番号を PrintSetFont 関数または PrintText 関
数で使用することができます。一度に 8 つのフォントを定義できます。
構文
PrintDefineFont ( printjobnumber, fontnumber, facename, height, weight,
fontpitch, fontfamily, italic, underline )
引数
printjobnumber
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
説明
fontnumber
PrintDefireFont 関数によって定義されるフォントに割り当
す。
facename
height
weight
fontpitch
fontfamily
906
てる番号(1 ∼ 8)を指定します。
プリンタがサポートするフォント名(たとえば、Courier
10Cpi)を表す文字列を指定します。
Integer 型の値。文字の高さを 1/1000 インチ単位で表した
もの(たとえば、18 ポイント 10Cpi の場合は 250)または、
ポイント サイズを示す負の数(たとえば、-18 は 18 ポイ
ント)を指定します。ポイント サイズで指定した方が厳密
に指定できます。1/1000 インチ単位で示した文字の高さ
は、ポイント サイズの近似値にすぎません。
文字の太さを指定します。通常の太さの場合は 400 を指定
し、太字の場合は 700 を指定します。
フォントのピッチを示す FontPitch カタログ データ型の
値。次のいずれかの値を指定します。
Default!
Fixed!
Variable!
フォントのファミリーを示す FontFamily カタログ データ
型の値で次のいずれかを指定します。
AnyFont!
Decorative!
Modern!
Roman!
Script!
Swiss!
PowerBuilder
第 10 章 PowerScript の関数
引数
italic
underline
説明
フォントが斜体かどうかを示す Boolean 型の値を指定しま
す。標準の設定は FALSE(斜体ではない)です。
フォントに下線が付くかどうかを示す Boolean 型の値を指
定します。標準の設定は FALSE(下線が付かない)です。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
1 つの印刷ジョブには、最大 8 つのフォントを定義することができます。
1 つのジョブで 9 つ以上のフォントが必要な場合には、PrintDefineFont
関数をもう一度呼び出してフォント数の設定を変更します。
PrintSetFont 関数を使用して、開いている印刷ジョブの現行のフォント
にフォント番号を割り当てます。
Microsoft Windows におけるフォント
fontfamily は、フォント名に関する情報と重複するように見えますが、
Windows はこの引数をフォント名とともに使用してフォントを識別
し、そのフォントが使用できない場合は類似のフォントで代用します。
フォント名と大きさ
フォント名にはサイズが含まれているものがあります。特に、等幅の
フォントには、インチ当りの文字数が含まれています。これは、その
フォントの推奨サイズで、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
PowerScript リファレンス ボリューム 2
907
PrintEx
PrintEx
機能
リッチテキスト エディット コントロールの内容を印刷します。
対象
リッチテキスト エディット コントロール
構文
rtename.PrintEx ( canceldialog )
引数
rtename
canceldialog
説明
印刷するリッチテキスト エディット コントロールの名前
を指定します。
Boolean 型の値。エンド ユーザが印刷を取り消すことがで
きるように、非モダルのキャンセル ダイアログボックスを
表示するかどうかを指定します。システムの印刷 ダイアロ
グボックスは常に表示されます。値は以下のとおりです。
TRUE − 表示
FALSE − 非表示
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。エンド ユーザが印刷 ダイアログボックスの[キャンセ
ル]ボタンをクリックした場合、PrintEx 関数は -1 を返します。エンド
ユーザがキャンセル ダイアログボックスの[キャンセル]ボタンをク
リックした場合、PrintEx 関数は 1 を返します。
解説
印刷するページの範囲と部数、および部単位で印刷するかどうかを指
定するには、Print 関数を使用します。
例
次の例は、リッチテキスト エディット コントロール rte_1 内の文書を
印刷します。エンド ユーザが印刷を取り消すことができるように、
キャンセル ダイアログボックスが表示されます。
rte_1.PrintEx(TRUE)
関連項目
908
Preview
Print
PowerBuilder
第 10 章 PowerScript の関数
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)
sle_1.text=ls_name
sle_2.text=ls_driver
sle_3.text=ls_port
関連項目
PrintGetPrinters
PrintSetPrinter
PowerScript リファレンス ボリューム 2
909
PrintGetPrinters
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
関連項目
910
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ImportString メソッド
PrintGetPrinter
PrintSetPrinter
PowerBuilder
第 10 章 PowerScript の関数
PrintLine
機能
現在の印刷ページに指定の太さで、指定された 2 点を両端とする線分
を描きます。
構文
PrintLine ( printjobnumber, x1, y1, x2, y2, thickness )
引数
printjobnumber
x1
y1
x2
y2
thickness
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定します。
線の開始位置の X 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の開始位置の Y 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の終了位置の X 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の終了位置の Y 座標(1/1000 インチ単位)を表す整数値
を指定します。
線の太さを 1/1000 インチ単位の整数値で指定します。
戻り値
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)
関連項目
PrintBitmap
PrintClose
PrintOpen
PrintOval
PrintRect
PrintRoundRect
PowerScript リファレンス ボリューム 2
911
PrintOpen
PrintOpen
機能
印刷ジョブを開き、それに番号を割り当てます。番号はほかの印刷ス
テートメントで使用します。
構文
PrintOpen ( { jobname {, showprintdialog } } )
引数
jobname
(オプション)
showprintdialog
(オプション)
説明
ジョブに割り当てる名前を表す文字列を指定します。ジョ
ブの名前は、Windows のプリント マネージャのダイアログ
ボックスとスプーラのダイアログボックスに表示されま
す。
Boolean 型の値。エンド ユーザがプリンタを選択したり印
刷プロパティを設定したりできるように、システムの印刷
ダイアログボックスを表示するかどうかを指定します。値
は以下のとおりです。
TRUE − 表示
FALSE −(デフォルト)非表示
戻り値
Long 型。正常に終了した場合はジョブ番号を返し、エラーが発生した
場合は -1 を返します。印刷 ダイアログボックスが表示され、エンド
ユーザが[キャンセル]ボタンをクリックした場合、PrintOpen 関数は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
新しい印刷ジョブは、新しいページから開始されます。フォントはプ
リンタの標準のフォントに設定されます。印刷カーソルは、印刷領域
の左上端に位置付けられます。
showprintdialog 引数に TRUE を指定した場合、エンド ユーザが印刷
ジョブを取り消すことができるように、システムの印刷 ダイアログ
ボックスが表示されます。PowerBuilder はあらかじめ印刷ジョブの
ページ数を判断することができないため、印刷 ダイアログボックスの
ページ範囲を指定するオプションは使用できません。サーバで動作し
ているコンポーネントでこの引数を指定している場合、その引数は無
視されます。
返されたジョブ番号は、それ以降に使用するすべての印刷関数で、ジョ
ブを識別するための番号として使用します。
912
PowerBuilder
第 10 章 PowerScript の関数
PrintOpen 関数の後に MessageBox 関数を呼び出すと、エンド ユーザを
混乱させる状態を引き起こします。PrintOpen 関数を呼び出すと、現行
のアクティブ ウィンドウからは Windows による印刷処理が使用でき
なくなります。PrintOpen 関数の後でメッセージ ボックスを表示する
と、Windows はアクティブ ウィンドウをメッセージ ボックスの親ウィ
ンドウにします。頻繁に、別のアプリケーションのウィンドウがメッ
セージの親ウィンドウになり、別のアプリケーションがアクティブに
なってしまいます。
PrintOpen と PrintClose
印刷ジョブを開始した後は、そのジョブを終了する(または取り消す)
必要があります。印刷ジョブのハングアップを避けるために、印刷ジョ
ブを開始したイベントと同じイベント内で印刷ジョブを処理し、終了
するようにしてください。
例
次の例は印刷ジョブを開きますが、印刷ジョブ名は指定しません。
ulong li_job
li_job = PrintOpen()
次の例は印刷ジョブを開き、その印刷ジョブに名前を指定し、印刷 ダ
イアログボックスを開きます。
ulong li_job
li_job = PrintOpen("Phone List", true)
関連項目
Print
PrintBitmap
PrintCancel
PrintClose
PrintDataWindow
PrintDefineFont
PrintLine
PrintOval
PrintPage
PrintRect
PrintRoundRect
PrintSend
PrintSetFont
PrintSetup
PrintText
PrintWidth
PrintX
PrintY
PowerScript リファレンス ボリューム 2
913
PrintOval
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( )
914
PowerBuilder
第 10 章 PowerScript の関数
// 楕円を印刷します。
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)
// 新しいページを始めます。
PowerScript リファレンス ボリューム 2
915
PrintRect
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 関数は、印刷カーソルの位置を変更しません。カーソルは、
関数が呼び出される前の位置に留まります。通常、座標を引数とする
印刷関数は、印刷カーソルの位置に影響を及ぼしません。
916
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、新しい空白の 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
PowerScript リファレンス ボリューム 2
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
長方形の左上端の X 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の左上端の Y 座標を 1/1000 インチ単位の整数値で
指定します。
長方形の幅を 1/1000 インチ単位の整数値で指定します。
長方形の高さを 1/1000 インチ単位の整数値で指定します。
角の x 方向の丸め角度を表す整数値を指定します。
角の y 方向の丸め角度を表す整数値を指定します。
長方形の外周の線の太さを 1/1000 インチ単位の整数値で
指定します。
917
PrintRoundRect
戻り値
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)
関連項目
918
PrintBitmap
PrintClose
PrintLine
PrintOpen
PrintOval
PrintRect
PowerBuilder
第 10 章 PowerScript の関数
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)
関連項目
Print
PrintClose
PrintOpen
PowerScript リファレンス ボリューム 2
919
PrintSend
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 に変換されます。
プリンタの設定を指定する通常の印刷ジョブでは、次の関数呼び出し
が行われます。
920
1
PrintOpen 関数
2
PrintSend 関数(プリンタの設定の変更、トレイの選択など)
3
PrintDefineFont 関数、PrintSetFont 関数(フォントの指定)
4
Print 関数(テキストの印刷)
5
PrintClose 関数
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、新しい空白の 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)
関連項目
PrintClose
PrintOpen
PowerScript リファレンス ボリューム 2
921
PrintSetFont
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")
関連項目
922
PrintDefineFont
PrintOpen
PowerBuilder
第 10 章 PowerScript の関数
PrintSetPrinter
機能
次の印刷関数の呼び出し時に使用するプリンタを設定します。この関
数は、開いているジョブには影響しません。
構文
PrintSetPrinter ( printername )
引数
printername
戻り値
説明
使用するプリンタの名前を表す文字列を指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
解説
printername 引数では、PrinterGetPrinter 関数から返される文字列と同じ
形式を使用する必要があります。
例
次の例では、使用するプリンタとして、PrinterGetPrinters 関数で取得し
たリストの最初のプリンタを設定しています。
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
PowerScript リファレンス ボリューム 2
923
PrintSetSpacing
PrintSetSpacing
機能
行間隔の算出に使用するファクタを設定します。
構文
PrintSetSpacing ( printjobnumber, spacingfactor )
引数
printjobnumber
spacingfactor
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
現行の文字の高さに乗算して、垂直方向の行間を決めるた
めの比例定数(スペース ファクタ)を指定します。特に指
定しない限り、1.2 が設定されます。
戻り値
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)
関連項目
924
PrintOpen
PowerBuilder
第 10 章 PowerScript の関数
PrintSetup
機能
プリンタの設定 ダイアログボックスを表示し、エンド ユーザがプリン
タの設定を指定できるようにします。
構文
PrintSetup ( )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
エンド ユーザの設定は現行のアプリケーションが終了するまで有効
です。アプリケーションが終了すると、プリンタの設定は元の値に戻
ります。
例
次のステートメントは、現行のシステム プリンタのプリンタの設定 ダ
イアログボックスを表示し、新しい印刷ジョブを開始します。
long Job
// プリンタ セットアップ プログラムを起動します。
PrintSetup()
// 印刷ジョブを開始し、改ページします。
Job = PrintOpen( )
関連項目
PrintOpen
PowerScript リファレンス ボリューム 2
925
PrintSetupPrinter
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 ()
関連項目
926
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
927
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)
関連項目
928
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
929
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")
関連項目
930
PrintY
PowerBuilder
第 10 章 PowerScript の関数
PrintY
機能
印刷カーソルの Y 座標を取得します。
構文
PrintY ( printjobnumber )
引数
printjobnumber
説明
PrintOpen 関数が印刷ジョブに割り当てた番号を指定しま
す。
戻り値
Integer 型。正常に終了した場合は印刷カーソルの Y 座標を返し、エ
ラーが発生した場合は -1 を返します。引数のいずれかの値が NULL の
場合、NULL を返します。
例
次のステートメントは、印刷カーソルの位置から 1 インチ下にビット
マップを印刷します。
integer LocX, LocY
long Job
Job = PrintOpen( )
... // 印刷ステートメント
LocX = PrintX(Job)
LocY = PrintY(Job) + 1000
PrintBitmap(Job, "CORP.BMP", LocX, LocY, 1000,1000)
関連項目
PrintX
PowerScript リファレンス ボリューム 2
931
ProfileInt
ProfileInt
機能
アプリケーションのプロファイルに設定されている情報(Integer 型の
値)を取得します。
構文
ProfileInt ( filename, section, key, default )
引数
filename
section
key
default
説明
プロファイルの名前を表す文字列を指定します。絶対パス
名が指定されていない場合、システムの標準のファイル検
索方法でファイルを検索します。
プロファイル内の関連する値のグループの名前(セクショ
ン名)を表す文字列を指定します。プロファイルでは、セ
クション名が角カッコ([])で囲まれています。ただし、
section を指定する場合には、セクション名を角カッコ([])
で囲まないでください。section は、大文字と小文字を区別
しません。
section でのキーワードを指定する文字列を指定します。プ
ロファイルでは、キーワードの後ろに等号(=)が付いて
います。ただし、key を指定する場合には、キーワードの
後ろに等号(=)を付けないでください。key は、大文字
と小文字を区別しません。
ProfileInt 関数が返す Integer 型の値を指定します。この値
は、filename に指定されているファイルが見つからない場
合、filename に指定されているファイル内に、section に指
定されているセクションや key に指定されているキーワー
ドがない場合、または key の値を Integer 型に変換できない
場合に返されます。
戻り値
Integer 型。filename に指定されたファイルが見つからない場合、section
で指定されたセクションがプロファイル内にない場合、key に指定され
たキーワードが指定のセクションにない場合、または key に指定され
た値が整数でない場合には、default に指定された整数値を返します。
エラーが発生した場合には -1 を返します。引数のいずれかの値が NULL
の場合、NULL を返します。
解説
ProfileInt 関数と ProfileString 関数を使用すると、自分のアプリケーショ
ンのプロファイルの設定に関する情報を取得できます。
SetProfileString 関数を使用すると、プロファイルの値を変更してアプリ
ケーションの設定を実行時にカスタマイズできます。プロファイルの
値を変更する前に、ProfileInt 関数と ProfileString 関数を使用して元の設
定を保存します。このようにしておくと、エンド ユーザがアプリケー
ションを終了したときに、保存しておいた情報を使用してアプリケー
ションを元の状態に戻すことができます。
932
PowerBuilder
第 10 章 PowerScript の関数
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)
次の例は、ファイル 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 メソッド
PowerScript リファレンス ボリューム 2
933
ProfileString
ProfileString
機能
アプリケーションのプロファイルに設定されている情報(String 型の
値)を取得します。
構文
ProfileString ( filename, section, key, default )
引数
filename
section
key
default
説明
プロファイルの名前を表す文字列を指定します。絶対パス
名が指定されていない場合、システムの標準のファイル検
索方法でファイルを検索します。
プロファイル内の関連する値のグループの名前(セクショ
ン名)を表す文字列を指定します。プロファイルでは、セ
クション名が角カッコ([])で囲まれています。ただし、
section を指定する場合には、セクション名を角カッコ([])
で囲まないでください。section は、大文字と小文字を区別
しません。
section でのキーワードを指定する文字列を指定します。プ
ロファイルでは、キーワードの後ろに等号(=)が付いて
います。ただし、key を指定する場合には、キーワードの
後ろに等号(=)を付けないでください。key は、大文字
と小文字を区別しません。
ProfileString 関数が返す String 型の値を指定します。この値
は、filename に指定されているファイルが見つからない場
合、filename に指定されているファイル内に、section に指
定されているセクションや key に指定されているキーワー
ドがない場合、または key の値を String 型に変換できない
場合に返されます。
戻り値
String 型。最大 4,096 文字までの文字列。filename に指定されているファ
イルの section に指定されているセクションで key に指定されている
キーワードの値を返します。filename に指定されているファイルが見
つからない場合、section に指定されているセクションがプロファイル
内にない場合、または key に指定されているキーワードが指定のセク
ションにない場合は、default に指定されている文字列を返します。エ
ラーが発生した場合、空の文字列("")を返します。引数のいずれか
の値が NULL の場合、NULL を返します。
解説
ProfileInt 関数と ProfileString 関数を使用すると、自分のアプリケーショ
ンのプロファイルの設定に関する情報を取得できます。
934
PowerBuilder
第 10 章 PowerScript の関数
SetProfileString 関数を使用すると、プロファイルの値を変更してアプリ
ケーションの設定を実行時にカスタマイズできます。プロファイルの
値を変更する前に、ProfileInt 関数と ProfileString 関数を使用して元の設
定を保存します。このようにしておくと、エンド ユーザがアプリケー
ションを終了したときに、保存しておいた情報を使用してアプリケー
ションを元の状態に戻すことができます。
ProfileInt 関数、ProfileString 関数、SetProfileString 関数は、Windows シス
テム上では ANSI または UTF16-LE エンコーディング、UNIX システム
上では ANSI または UTF16-BE エンコーディングでファイルからの読
み取りやファイルへの書き込みをすることができます。
Windows レジストリ
さらに、32 ビット オペレーティング システムでは、ProfileString 関数を
使って、Windows システム レジストリ から環境設定の情報を取得でき
ます。システム レジストリの使用方法についての詳細は、
『アプリケー
ション テクニック』マニュアルの「初期設定ファイルおよび Windows
レジストリの管理」を参照してください。
例
ここでは、プロファイル PROFILE.INI の次のセクションを使用した例
について説明します(INI ファイル内で文字列値を囲む引用符はオプ
ションです)。
[Employee]
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
PowerScript リファレンス ボリューム 2
935
ProfileString
関連項目
936
ProfileInt
SetProfileString
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ProfileString メソッド
PowerBuilder
第 10 章 PowerScript の関数
Rand
機能
1 から指定された上限までの範囲にある整数の乱数を返します。
構文
Rand ( n )
引数
n
説明
返される乱数の上限を指定します。下限は常に 1 です。上
限は 32,767 です。
戻り値
数値データ型、n のデータ型。1 から n までの範囲(1 と n を含む)に
ある整数の乱数を返します。n が NULL の場合、NULL を返します。
解説
Rand 関数を繰り返し呼び出して生成させた一連の数値は、擬似乱数
シーケンスです。アプリケーションの実行のたびに、乱数シーケンス
が異なるようにするには、Randomize 関数を呼び出して乱数ジェネレー
タを初期化します。
例
次の文は、1 ∼ 10 の範囲の整数の乱数を返します。
Rand(10)
関連項目
Randomize
Randomize
機能
Rand 関数が新しい擬似乱数を生成するように、乱数ジェネレータを初
期化します。
構文
Randomize ( n )
引数
n
戻り値
説明
乱数ジェネレータを初期化する値(シード値)を指定しま
す。n にゼロを指定するとシステム クロックからシード値
を得るので、毎回異なる乱数を生成します。0 以外の値を
指定すると、シード値ごとに同じ乱数を繰り返し生成しま
す。n は、32,767 以下です。
Integer 型。n が NULL の場合、NULL を返します。通常戻り値は使用さ
れません。
PowerScript リファレンス ボリューム 2
937
Read
解説
Rand 関数を繰り返し呼び出して生成させた一連の数値は、擬似乱数
シーケンスです。Randomize 関数を使用してシステム クロックまたは
ほかの変更値で乱数ジェネレータを初期化できるので、アプリケー
ションの実行のたびに異なる乱数シーケンスを生成することができま
す。テスト用のデータを生成するために、特定のシード値を選択し、
アプリケーションの実行のたびに同じ擬似乱数を繰り返し生成するこ
とができます。
アプリケーションの Open イベントに対するスクリプトで Randomize
関数を呼び出してください。
例
次のステートメントは、乱数ジェネレータのシード値を 0 に設定し、
スクリプトの実行のたびに Rand 関数を呼び出して乱数を発生させま
す。
Randomize(0)
次のステートメントは、乱数ジェネレータのシード値を 4 に設定して
いるので、乱数ジェネレータが初期化されるたびに Rand 関数が呼び出
され、同じ乱数が繰り返し生成されます。
Randomize(4)
関連項目
Rand
Read
開いている OLEStream オブジェクトからデータを読み込みます。
目的
データを文字列に読み込む
データを文字配列または Blob 型の変数に読み込む
使用する構文
構文 1
構文 2
構文 1
データを文字列に読み込む
機能
OLEStream オブジェクトから文字列にデータを読み込みます。
対象
OLEStream オブジェクト
構文
olestream.Read ( variable {, stopforline } )
引数
olestream
938
説明
開いている OLEStream 変数の名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
variable
説明
stopforline
(オプション)
String 型の変数。olestream から読み込んだデータを格納す
る変数の名前を指定します。
Boolean 型の値。一度に 1 行ずつ読み込むかどうかを指定
します。つまり、次のキャリッジ リターン文字とライン
フィード文字で、Read 関数が読み込みを停止するかどう
かを指定します。値は以下のとおりです。
• TRUE −(デフォルト)行の最後で読み込みを停止し、
読み込みポインタをキャリッジ リターン文字とライン
フィード文字の後に設定します。次の読み込み操作で、
次の行を読み込むことができるようにします。
• FALSE − ストリーム全体、または最大 32,765 バイトを
読み込みます。
戻り値
Integer 型。読み込んだ文字数またはバイト数を返します。文字を読み
込む前にエンド オブ ファイル マーク(EOF)が検出された場合、Read
関数は -100 を返します。エラーが発生した場合、次のいずれかの負の
値を返します。
-1
-2
-9
ストリームが開かれていません。
読み込みエラーです。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
例
次の例は、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)
PowerScript リファレンス ボリューム 2
939
Read
関連項目
Open
Length
Seek
Write
構文 2
データを文字列配列または Blob 型の変数に読み込む
機能
OLEStream オブジェクトから文字配列または Blob 型の変数にデータ
を読み込みます。
対象
OLEStream オブジェクト
構文
olestream.Read ( variable {, maximumread } )
引数
olestream
variable
maximumread
(オプション)
戻り値
説明
開いている OLEStream 変数の名前を指定します。
olestream からデータを読み込む Blob 型の変数または文字
配列の名前を指定します。
Long 型の値。読み込む最大バイト数を指定します。特に
指定しない限り、32,765 文字または olestream の長さが設
定されます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-9
ストリームが開かれていません。
読み込みエラーです。
そのほかのエラーです。
引数のいずれかの値が 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")
940
PowerBuilder
第 10 章 PowerScript の関数
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
説明
Real 型として返す String 型、または最初の値が Real 型で
ある Blob 型変数を指定します。残りの Blob 型の値は無視
されます。stringorblob は文字列または Blob 型を含む Any
変数を指定することもできます。
戻り値
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 関数のように正確な値の
長さを指定する必要はありません。
PowerScript リファレンス ボリューム 2
941
RecognizeText
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))
関連項目
Double
Integer
Long
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Real メソッド
RecognizeText
機能
インクエディット コントロール内のテキストを認識するように指定
します。
対象
インクエディット コントロール
構文
inkeditname.RecognizeText ( )
引数
inkeditname
戻り値
説明
テキストを認識したいインクエディット コントロールの名
前を指定します。
Integer 型。テキストが認識される場合は 1 を返し、そうでない場合は
0 を返します。
解説
デフォルトでは、ユーザがインクの入力中に中断したとき、および
RecognitionTimer プロパティで指定した秒数が経過したときに、インク
が自動的に認識されます。テキストを認識させずにユーザが中断でき
るようにするには、RecognitionTimer 間隔をあけて、ボタンの clicked
イベントあるいは別のイベントで RecognizeText 関数をコードに記述し
ます。
942
PowerBuilder
第 10 章 PowerScript の関数
例
“Done” ボタンの clicked イベントの次のコードで、認識エンジンはユー
ザが入力したストロークをテキストとして認識します。
boolean lb_success
lb_success = ie_1.RecognizeText()
RegistryDelete
機能
Windows のシステム レジストリのキーまたはキーの値を削除します。
構文
RegistryDelete ( key, valuename )
引数
key
valuename
説明
String 型の値。削除するシステム レジストリのキーまたは
キーの値を指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
レジストリの値の名前を含む文字列を指定します。指定さ
れたキーにサブキーがない場合は、空の文字列を指定する
と、キーと名前のある値が削除されます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次のステートメントは、レジストリから、Title という名前の値とその
値に関連付けられている値を削除します。キーは削除されません。
RegistryDelete( &
"HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts",&
"Title")
関連項目
RegistryGet
RegistryKeys
RegistrySet
RegistryValues
PowerScript リファレンス ボリューム 2
943
RegistryGet
RegistryGet
機能
Windows のシステム レジストリから値を取得します。
構文
RegistryGet ( key, valuename, { valuetype }, valuevariable )
引数
key
valuename
valuetype
説明
String 型の値。システム レジストリのキーの名前を指定し
ます。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
レジストリの値の名前を含む文字列を指定します。各キー
には、名前のない値を 1 つと、名前のある値を複数持つこ
とができます。名前のない値の場合は、空の文字列("")
を指定します。
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( &
944
PowerBuilder
第 10 章 PowerScript の関数
"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
RegistryKeys
機能
Windows のシステム レジストリのキーより 1 つ下のレベルにある子項
目(サブキー)のキー一覧を取得します。
構文
RegistryKeys ( key, subkeys )
引数
key
subkeys
説明
String 型の値。サブキーを取得するシステム レジストリの
キーの名前を指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
サブキーを格納する String 型の配列変数を指定します。
配列のサイズが可変の場合、要素数には検索されたサブ
キーの数が反映されます。
配列のサイズが固定の場合、すべてのサブキーを格納する
のに十分な大きさが必要です。ただし、すべてのサブキー
を検索できたかどうかを確認することはできません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次の例は、キー HKEY_CLASSES_ROOT\MyApp に関連付けられたサ
ブキーを取得します。サブキーは、可変サイズ配列 ls_subkeylist に格納
されます。
PowerScript リファレンス ボリューム 2
945
RegistrySet
string ls_subkeylist[]
integer li_rtn
li_rtn = RegistryKeys("HKEY_CLASSES_ROOT\MyApp", &
ls_subkeylist)
IF li_rtn = -1 THEN
... // エラー処理
END IF
関連項目
RegistryDelete
RegistryGet
RegistrySet
RegistryValues
RegistrySet
機能
キーの値と値の名前をシステム レジストリに設定します。キーまたは
値の名前が存在しない場合、新しいキーまたは名前を作成し、値を設
定します。
構文
RegistrySet ( key, valuename, valuetype, value )
引数
key
説明
String 型の値。システム レジストリのキーの名前を指定し
ます。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
valuename
key がレジストリにない場合、RegistrySet 関数は新しい
キーを作成します。名前のない値で key を作成するには、
valuename に空の文字列("")を指定します。
レジストリの値の名前を含む文字列を指定します。各キー
には、名前のある値が複数ある可能性があります。名前の
ない値を指定するには、空の文字列("")を指定します。
レジストリに valuename がない場合、
RegistrySet 関数は key
に新しい名前のある値を作成します。
946
PowerBuilder
第 10 章 PowerScript の関数
引数
valuetype
説明
RegistryValueType カタログ データ型の値を指定します。こ
の値を使って、レジストリの値のデータ型を識別します。
値は以下のとおりです。
• RegString! − NULL で終わる文字列
• RegExpandString! − 環境変数への非拡張参照を含む、
NULL で終わる文字列
• RegBinary! − バイナリ データ
• ReguLong! − 32 ビットの数値
• ReguLongBigEndian! − 32 ビットの数値
• RegLink! − Unicode シンボリック リンク
value
• RegMultiString! − String 型の値の可変長配列
valuetype のデータ型に対応した変数を指定します。レジス
トリに設定すべき値をこの変数に格納します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。valuevariable のデータ型が valuetype で指定したデータ
型に対応していない場合は、エラーとなります。
解説
レジストリの値が、長い文字列である(2048 バイトを超える)場合は、
文字列は別のファイルに格納され、そのファイル名がレジストリに格
納されます。
項目
キー
説明
レジストリの構成要素の 1 つです。キーは、キーのツリー
の一部で、すでに定義されたルート キーのうちの 1 つの子
孫です。各キーは、サブキーまたは階層構造での親キーの
子です。
ルートには、次の 4 つのキーがあります。
• HKEY_CLASSES_ROOT
• HKEY_LOCAL_MACHINE
• HKEY_USERS
• HKEY_CURRENT_USER
キーは、その上位の親キーの一覧で識別されます。一覧に
あるキーは、次の例に示されるように円記号(\)で区切
られています。
HKEY_CLASSES_ROOT\Sybase.Application
HKEY_USERS\MyApp\Display\Fonts
値の名前
値の型
PowerScript リファレンス ボリューム 2
キーに属する値の名前です。キーは、名前のない値を1つ
と、複数の名前がある値を持つことができます。
レジストリの値のデータ型を示す値です。
947
RegistryValues
項目
値
例
説明
値の名前に関連付けられた値または、名前のない値です。
レジストリでは、いくつかの文字列、数値、およびバイナ
リのデータ型がサポートされます。
次の例は、レジストリの 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)
関連項目
RegistryDelete
RegistryGet
RegistryKeys
RegistryValues
RegistryValues
機能
キーに関連付けられた名前のある値の一覧を取得します。
構文
RegistryValues ( key, valuename )
引数
key
valuename
説明
String 型の値。サブキーの値を取得するシステム レジスト
リのキーを指定します。
キーを特定するには、階層構造の上位のキーを含む絶対パ
ス名で正確に指定します。それぞれのキーは、円記号(\)
で区切ります。
名前を格納する String 型の配列変数を指定します。
配列のサイズが可変の場合、要素数には検索された名前の
ある値の数が反映されます。
配列のサイズが固定の場合、すべての名前を格納するのに
十分な大きさが必要です。ただし、名前が実際にいくつ検
索されたかを知る方法はありません。
948
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
システム レジストリのエントリについての詳細は、「RegistrySet 関数」
を参照してください。
例
次の例は、レジストリから Fonts キーに関連付けられている値の名前
を取得し、配列 ls_valuearray に格納します。
string ls_valuearray[]
RegistryValues( &
"HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts",&
ls_valuearray)
関連項目
RegistryDelete
RegistryGet
RegistryKeys
RegistrySet
RelativeDate
機能
指定された日付から、指定された日数だけ前または後の日付を取得し
ます。
構文
RelativeDate ( date, n )
引数
date
n
戻り値
説明
Date 型の値。日付を指定します。
Integer 型の値。日数を指定します。
Date 型。n に指定されている値が 0 以上の場合は date の n 日後の日付
を返します。n が 0 未満の場合は date の n 日前の日付を返します。引
数のいずれかの値が NULL の場合、NULL を返します。
例
次のステートメントは、2000-02-10 を返します。
RelativeDate(2000-01-31, 10)
次のステートメントは、2000-01-21 を返します。
RelativeDate(2000-01-31,
関連項目
- 10)
DaysAfter
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RelativeDate メソッド
PowerScript リファレンス ボリューム 2
949
RelativeTime
RelativeTime
機能
ある時刻を起点とし、指定された秒数より前または後の時刻を 24 時間
未満の表記で返します。
構文
RelativeTime ( time, n )
引数
time
n
説明
Time 型の値を指定します。
Long 型の値。秒数を指定します。
戻り値
Time 型。n が正の数の場合は、time で指定された時刻から n 秒後の時
刻を返します。n が負の数の場合は、time で指定された時刻から n 秒
前の時刻を返します。戻り値の最大値は、23:59:59 になります。引数
のいずれかの値が NULL の場合、NULL を返します。
解説
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 )
950
PowerBuilder
第 10 章 PowerScript の関数
引数
oleobject
pointer
説明
OLEObject 型の変数。解放するネイティブ ポインタが示す
オブジェクトが含まれる OLE オブジェクトを指定します。
UnsignedLong 型の変数。解放するポインタを指定します。
この関数は、指定した pointer に 0 を設定し、ポインタを
無効にします。
戻り値
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
解説
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、IUnknown::QueryInterface
とともに使用します。
GetAutomationNativePointer 関数が呼び出されると、PowerBuilder は OLE
の AddRef 関数を呼び出してポインタをロックします。DLL 関数、また
は PowerBuilder スクリプトで ReleaseAutomationNativePointer 関数を使用
してポインタを解放する必要があります。
例
例については、GetAutomationNativePointer 関数を参照してください。
関連項目
GetAutomationNativePointer
GetNativePointer
ReleaseNativePointer
ReleaseNativePointer
機能
GetNativePointer 関数で取得した OLE オブジェクトへのポインタを解放
します。
対象
OLE コントロール、OLE カスタム コントロール
構文
olename.ReleaseNativePointer ( pointer )
引数
olename
pointer
戻り値
説明
解放するネイティブ ポインタが示すオブジェクトが含ま
れる OLE コントロールの名前を指定します。
UnsignedLong 型の変数。解放するポインタを指定します。
この関数は、指定した pointer に 0 を設定し、ポインタを
無効にします。
Integer 型。正常に終了した場合は 0 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
951
RemoveDirectory
解説
pointer は OLE の IUnknown インタフェースへのポインタです。ほかの
インタフェースへのポインタを取得するには、IUnknown::QueryInterface
とともに使用します。
GetNativePointer 関数が呼び出されると、PowerBuilder は OLE の AddRef
関 数 を 呼 び 出 し て ポ イ ン タ を ロ ッ ク し ま す。DLL 関 数、ま た は
PowerBuilder スクリプトで ReleaseNativePointer 関数を使用してポイン
タを解放する必要があります。
例
例については、GetNativePointer 関数を参照してください。
関連項目
GetAutomationNativePointer
GetNativePointer
ReleaseAutomationNativePointer
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 + &
952
PowerBuilder
第 10 章 PowerScript の関数
" を削除しました ")
end if
関連項目
DirectoryExists
GetCurrentDirectory
Repair
機能
パイプライン ユーザ オブジェクトのエラー データウィンドウで修正
された内容によって、目的のデータベースを更新します。
対象
パイプライン オブジェクト
構文
pipelineobject.Repair ( destinationtrans )
引数
pipelineobject
destinationtrans
戻り値
説明
実行されているパイプライン オブジェクトを含むパイプ
ライン ユーザ オブジェクトの名前を指定します。
転送先のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
負の値を返します。エラーが発生した場合、次のいずれかの値を返し
ます。
-5 接続がありません。
-9 転送先に致命的な SQL エラーがあります。
-10 エラーの最大数を超えました。
-11 ウィンドウ ハンドルが正しくありません。
-12 テーブル構文に誤りがあります。
-15 パイプはすでに進行中です。
-17 転送先のデータベースにエラーがあります。
-18 転送先のデータベースは読み出し専用です。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
パイプライン データの転送中にエラーが発生すると、Start 関数はパイ
プライン エラー用のデータウィンドウ コントロールにそのエラーが
発生した行を表示します。そのときにエンド ユーザやスクリプトに
よって、データを修正することができます。Repair 関数は、通常コマ
ンドボタンと連携しており、エンド ユーザはパイプライン エラー用の
データウィンドウのデータを訂正してから、これをクリックします。
PowerScript リファレンス ボリューム 2
953
Replace
再びエラーが発生した場合は、エラーが発生した行はパイプライン エ
ラー用のデータウィンドウに残ります。エンド ユーザは再度データを
修正して Repair 関数を呼ぶボタンをクリックします。
例
次のステートメントは、トランザクションのインスタンス変数 i_dst を
使用して転送先のデータベースに接続した後、パイプライン i_pipe に
対するパイプライン エラー用のデータウィンドウで行われた修正内
容でデータベースを更新します。
i_pipe.Repair(i_dst)
関連項目
Cancel
Repair
Start
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 に挿入します。
例
954
次のステートメントは、Name の値を Davis から Dave に置換します。
PowerBuilder
第 10 章 PowerScript の関数
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" を返します。
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
PowerScript リファレンス ボリューム 2
955
ReplaceA
sle_1.Text = mystring
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Replace メソッド
ReplaceA
機能
現行のロケールに基づいて文字列を DBCS に一時的に変換し、文字列
の一部をほかの文字列と置き換えます。
構文
ReplaceA (string1, start, n, string2)
引数
string1
start
n
string2
説明
string2 で置き換えられる文字列を含む文字列を指定しま
す。
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 関数は同じ
結果を返します。
956
PowerBuilder
第 10 章 PowerScript の関数
ReplaceText
機能
編集可能なコントロールの中で選択されたテキストを、指定された文
字列で置き換えます。
対象
データウィンドウ コントロール、エディットマスク コントロール、
InkEdit コントロール、マルチライン エディット コントロール、シン
グルライン エディット コントロール、リッチテキスト エディット コ
ントロール、ドロップダウン リストボックス コントロール、ドロップ
ダウン ピクチャ リストボックス コントロール
構文
editname.ReplaceText (string )
引数
editname
string
戻り値
説明
選択された文字列の置き換えを行うデータウィンドウ、エ
ディットマスク、InkEdit、マルチライン エディット、シン
グルライン エディット、リッチテキスト エディット、ド
ロップダウン リストボックス、ドロップダウン ピクチャ
リストボックスのいずれかのコントロールの名前を指定
します。
データウィンドウ コントロールでは、エディット コント
ロール中の現行の行のカラムに関するテキストが置換さ
れます。
選択されたテキストの置換に使用する文字列を指定します。
データウィンドウ、InkEdit、およびリストボックスの場合は Integer 型、
ほかのコントロールの場合は Long 型
正常に終了した場合は string の文字数を示す整数を返し、エラーが発
生した場合は -1 を返します。引数のいずれかの値が NULL の場合、NULL
を返します。
解説
テキストが選択されていない場合には、ReplaceText 関数は置換テキス
トをカーソル位置に挿入します。
リッチテキスト エディット コントロールでは、ピクチャを選択するこ
ともできます。
テキスト置換のそのほかの方法
クリップボードの内容を置換テキストとして使用する場合、ReplaceText
関数のかわりに Paste 関数を使用します。
コントロール中のテキストではなく文字列のテキストを置換するに
は、Replace 関数を使用します。
PowerScript リファレンス ボリューム 2
957
ReplaceW
例
マルチライン エディット コントロール 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")
関連項目
Copy
Cut
Paste
ReplaceW
機能
文字列の指定した文字位置から、指定した文字数をほかの文字列で置
換した文字列を返します。この関数は、将来サポートされなくなりま
す。動作は、すべての環境で Replace 関数と同じです。
構文
ReplaceW ( string1, start, n, string2 )
Reset
データをコントロールまたはオブジェクトから消去します。使用する
構文は、消去するオブジェクトによって異なります。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「Reset メソッド」を参照してください。
目的
リストからすべての項目を削除する
グラフから、すべてのデータ(およびオプションで、デー
タ系列と項目)を削除する
トレース ファイルの最初に戻る
958
使用する構文
構文 1
構文 2
構文 3
PowerBuilder
第 10 章 PowerScript の関数
構文 1
リストボックスのデータを消去する
機能
リストからすべての項目を削除します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.Reset ( )
引数
listboxname
説明
リストボックス コントロールの名前。すべての項目を削除
するコントロールを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。listboxname が NULL の場合、NULL を返します。通常、
戻り値は使用されません。
例
次のステートメントは、リストボックス コントロール ddlb_Actions の
すべての項目を削除します。
ddlb_Actions.Reset()
関連項目
DeleteItem
構文 2
グラフのデータを消去する
機能
グラフからデータ、項目、およびデータ系列を削除します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ、外部にデータ
ソースのあるデータウィンドウ オブジェクト上のグラフ
データウィンドウ オブジェクト上のグラフを対象とすることはでき
ません。これは、データウィンドウ オブジェクト上のグラフでは、デー
タウィンドウから直接データが取得されるからです。
構文
controlname.Reset ( graphresettype )
引数
controlname
PowerScript リファレンス ボリューム 2
説明
グラフ オブジェクトの名前を指定します。指定されたグラ
フ オブジェクト上のすべてのデータ値、またはすべての
データ系列とすべてのデータ値を削除します。
959
Reset
引数
graphresettype
説明
grResetType カタログデータ型の値。データ値だけを削除
するのか、すべてのデータ系列とすべてのデータ値を削除
するのかを指定します。次のいずれかの値を指定します。
• All! − controlname 内のすべてのデータ系列、項目、お
よびデータ
• Category! − controlname 内の項目とデータ
• Data! − controlname 内のデータ
• Series! − controlname 内のデータ系列とデータ
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
通常、戻り値は使用されません。
解説
グラフに新しいデータを追加する前に、グラフから既存のデータを消
去する場合、この関数を使用します。
例
次のステートメントは、グラフ gr_product_data のデータ系列とデータ
を削除しますが、項目は削除せずに残します。
gr_product_data.Reset(Series!)
関連項目
AddData
AddSeries
構文 3
トレース ファイルの最初に戻る
機能
トレース ファイルの内容をもう一度読み直せるように、ファイルの最
初に戻ります。
対象
TraceFile オブジェクト
構文
instancename.Reset ( )
引数
instancename
戻り値
960
説明
TraceFile オブジェクトのインスタンス名を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FileNotOpenError! − 指定されたトレース ファイルは、開かれてい
ません。
PowerBuilder
第 10 章 PowerScript の関数
解説
開いているトレース ファイルの最初に戻って、ファイルの内容をもう
一度読み直したい場合に、この関数を使用します。Reset 関数を使用す
る前に、Open 関数を使ってトレース ファイルを開いておく必要があり
ます。Reset 関数と Open 関数とともに、TraceFile オブジェクトが提供
するほかのプロパティおよび関数を使うと、トレース ファイルの内容
に直接アクセスできます。たとえば、既存の解析モデル化オブジェク
トを使わずに、トレース データを独自の方法で解析したい場合には、
これらの関数を使用します。
例
以下の例では、エンド ユーザが ltf_file ファイルの内容をもう一度読め
るように、ファイルの位置を最初に戻します。
TraceFile ltf_file
string ls_filename
ltf_file = CREATE TraceFile
ltf_file.Open(ls_filename)
...
ltf_file.Reset(ls_filename)
...
関連項目
Open
NextActivity
Close
ResetArgElements
機能
引数リストをクリアします。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.ResetArgElements ( )
引数
activexcontrol
戻り値
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、これはオブジェク
ト要素の NAME 属性です。そのほかの環境で使用する場
合には、これは PowerBuilder ウィンドウ ActiveX を含むコ
ントロールを参照します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
PowerScript リファレンス ボリューム 2
961
ResetDataColors
解説
この関数を呼び出して引数リストをクリアする前に、InvokePBFunction
関数または TriggerPBEvent 関数を呼び出す必要があります。
SetArgElement 関数を使って引数リストに値を設定する場合は、
InvokePBFunction 関数または TriggerPBEvent 関数を使って引数付きでイ
ベントまたは関数を呼び出した後、この関数を使って引数をクリアし
ておく必要があります。
例
次の JavaScript の例は、ResetArgElements 関数を呼び出します。
...
retcd = PBRX1.TriggerPBEvent(theEvent, numargs);
rc = parseInt(PBRX1.GetLastReturn());
IF (rc != 1) {
alert(" エラー。空の文字列です。");
}
PBRX1.ResetArgElements();
...
次に、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 )
962
PowerBuilder
第 10 章 PowerScript の関数
引数
controlname
graphcontrol
(データウィンド
ウ コントロールの
み)
seriesnumber
datapointnumber
戻り値
説明
特定のデータ ポイントの色をリセットするグラフ コ
ントロールの名前、またはそのグラフがあるデータ
ウィンドウ コントロールの名前を指定します。
(オプション)色を再設定するデータウィンドウ コント
ロール内のグラフ名を表す文字列を指定します。
特定のデータ ポイントの色をリセットするデータ系列
の番号を指定します。
色をリセットするデータ ポイントの番号を指定しま
す。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
データ ポイントに対する標準の色
データ系列の色を設定するには、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
PowerScript リファレンス ボリューム 2
963
ResetInk
ResetInk
機能
インクピクチャ コントロールからインクを消去します。
対象
インクピクチャ コントロール
構文
inkpicname.ResetInk ( )
引数
inkpicname
説明
インクを消去したいインクピクチャ コントロールの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ResetInk 関数を使用して、インクピクチャ コントロールからインクを
消去します。
例
次の例は、インクピクチャ コントロールからインクを消去します。
ip_1.ResetInk()
関連項目
LoadInk
LoadPicture
ResetPicture
SaveInk
Save
ResetPicture
機能
インクピクチャ コントロールからピクチャを消去します。
対象
インクピクチャ コントロール
構文
inkpicname.ResetPicture ( )
引数
inkpicname
説明
ピクチャを消去したいインクピクチャ コントロールの名前
を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ResetPicture 関数を使用して、インクピクチャ コントロールからイメー
ジを消去します。
964
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、インクピクチャ コントロールからイメージを消去します 。
ip_1.ResetPicture()
関連項目
LoadInk
LoadPicture
ResetInk
SaveInk
Save
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 回目は新しい幅と高さを使用して描きま
す。
別の記述方法
PowerScript リファレンス ボリューム 2
965
Resolve_Initial_References
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 つと
同じ結果になります。
例
次のステートメントは、gb_box1 の Width プロパティと Height プロパ
ティを設定し、新しいプロパティで gb_box1 を再描画します。
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
戻り値
966
説明
JaguarORB のインスタンスを指定します。
「NameService」という値の文字列を指定します。
COS ネーミング サービスへの参照を格納する
CORBAObject 型の参照変数を指定します。
Long 型。正常に終了した場合は 0 を返し、エラーが発生した場合は負
の値を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
Jaguar ネーミング サービス API にアクセスしたい場合は、
Resolve_Initial_References 関数を使用して、最初のネーム コンテキスト
を取得します。しかし、この方法を使用することはお勧めできません。
非難されることの多い SessionManager::Factory の create メソッドを使
用する必要があるためです。大部分の PowerBuilder クライアントでは、
CORBA ネーミング サービスを明示的に使用する必要はありません。
そのかわりに、接続オブジェクトの CreateInstance メソッドや Lookup メ
ソッドを使って EAServer コンポーネントを作成するときに自動的に
実行される名前解決を利用できます。
また、CORBA ネーミング サービスを明示的に使用しなくても、JaguarORB
オブジェクトの String_To_Object メソッドを使用してプロキシ インス
タンスをインスタンス化することができます。JaguarORB オブジェク
トを使用して EAServer に接続する方法についての詳細は、『アプリ
ケーション テクニック』マニュアルを参照してください。
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
PowerScript リファレンス ボリューム 2
967
RespondRemote
my_orb = CREATE JaguarORB
// URL 名を単引用符で囲みます。
my_orb.init("ORBNameServiceURL='iiop://server1:9000'")
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, &
"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
968
説明
Boolean 型の値を指定します。TRUE は直前に受信したコ
マンドまたはデータが受け入れられたことを示し、FALSE
は受け入れられなかったことを示します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合(た
とえば、不正な状況で関数が呼び出された場合)、-1 を返します。
boolean が NULL の場合、NULL を返します。
解説
RespondRemote 関数は、PowerBuilder アプリケーションが DDE サーバ
アプリケーション、または DDE クライアント アプリケーションの場
合にだけ使用できます。
通常、次の関数の後に RespondRemote 関数を呼び出します。
GetCommandDDE
GetCommandDDEOrigin
GetDataDDE
GetDataDDEOrigin
クライアントとして機能する PowerBuilder アプリケーションについて
の詳細は、
「OpenChannel 関数」および「ExecRemote 関数」を参照して
ください。サーバとして機能する PowerBuilder アプリケーションにつ
いての詳細は、「StartServerDDE 関数」を参照してください。
例
次の例は、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 イベン
トに対するスクリプトを実行します。
PowerScript リファレンス ボリューム 2
969
ResumeTransaction
構文
Restart ( )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。通常、戻り値は使用されません。
解説
アプリケーションの Idle イベントに対するスクリプト内で Restart 関数
を使用して、アプリケーションに対してエンド ユーザが一定時間何も
実行していない場合などにアプリケーションを再起動することができ
ます。
例
アプリケーションの Idle イベントに対するスクリプトの中で、次のス
テートメントはアプリケーションを再起動します。
Restart()
関連項目
138 ページの「HALT」
ResumeTransaction
機能
引数として渡された EAServer トランザクションを呼び出し元のスレッ
ドに関連付けます。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.ResumeTransaction ( handletrans )
引数
CORBACurrent
handletrans
戻り値
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
UnsignedLong 型の値。中断したトランザクションのハン
ドルを指定します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
不明なエラーです。
-2
handletrans の示すトランザクションが既に有効ではありません。
解説
ResumeTransaction 関数は、handletrans 引数で指定されたトランザク
ションと、呼び出し元のスレッドを関連付けます。
この引数は、SuspendTransaction の呼び出し時に取得したものです。現
行のスレッドあるいは同じ実行環境内の異なるスレッドに以前に関連
付けたことのあるトランザクションでもかまいません。
970
PowerBuilder
第 10 章 PowerScript の関数
注意
handletrans 引数は、SuspendTransaction 関数から取得する必要がありま
す。ResumeTransaction の引数としてそのほかの値を使用すると、予期
できない結果に終わる可能性があります。
ResumeTransaction は、OTS スタイルのマークが付いているクライアン
トまたはコンポーネントで呼び出せます。EAServer は、2 フェーズ コ
ミット トランザクション コーディネータ(OTS/XA)を使用している
ことが必要です。
例
この例では、ResumeTransaction 関数を使用することで、
SuspendTransaction によって返された ll_handle 引数のトランザクション
と、呼び出し元のスレッドを関連付けています。
// インスタンス変数 :
// CORBACurrent corbcurr
integer li_rc
unsignedlong ll_handle
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
PowerScript リファレンス ボリューム 2
971
Reverse
Reverse
機能
指定された文字列の文字の順序を逆にします。
構文
Reverse ( string )
引数
string
説明
末尾の文字が先頭文字になり、先頭文字が末尾の文字にな
るように、文字を並べ替える文字列を指定します。
戻り値
String 型。string に指定された文字列の文字の順序を逆にし、その結果
の文字列を返します。エラーが発生した場合、空の文字列("")を返
します。
解説
Reverse 関数は、IsArabic 関数と IsHebrew 関数とともに使用すると便利
です。たとえば、RightToLeft 対応(右から左に文字を書く言語を使用
する国に対応)の PowerBuilder と Windows で RightToLeft 文字(ヘブ
ライ語、アラビア語などの右から左に文字を書く言語の文字)を表示
する場合に使用します。
例
RightToLeft 対応の Windows では、このステートメントは sle_name に
入力された文字の順序を逆にし、その結果の文字列を返します。
string ls_name
ls_name = Reverse(sle_name.Text)
関連項目
IsArabic
IsHebrew
RevertToSelf
機能
COM+ 上で動作し、クライアントに同一化している COM オブジェク
トのセキュリティ属性を復元します。
対象
TransactionServer オブジェクト
構文
transactionserver.RevertToSelf ( )
引数
transactionserver
戻り値
972
説明
TransactionServer サービス インスタンスへの参照を指
定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
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()
関連項目
&
ImpersonateClient
IsCallerInRole
IsImpersonating
IsSecurityEnabled
RGB
機能
色の構成要素である赤、緑、青の数値によって指定された色を表す
Long 型の値を計算します。
構文
RGB ( red, green, blue )
引数
red
green
blue
戻り値
説明
Integer 型の値。指定する色に含まれる赤の量を指定します。
Integer 型の値。指定する色に含まれる緑の量を指定します。
Integer 型の値。指定する色に含まれる青の量を指定します。
Long 型。正常に終了した場合、指定された red、green、blue の各値を
組み合わせて作成した色を表す Long 型の値を返します。エラーが発生
した場合、-1 を返します。また、引数のいずれかの値が NULL の場合
は NULL を返します。
PowerScript リファレンス ボリューム 2
973
RGB
解説
色を表す Long 型の値を、赤、緑、および青の値から求める計算式は、
次のとおりです。
65536 * Blue+ 256 * Green+ Red
RGB 関数は、テキストまたは描画オブジェクトの色の設定に必要な
Long 型の値を取得するために使用します。オブジェクトの色には、色
を表す Long 型の値を設定する必要があります。RGB 関数を使用する
と、色を表す Long 型の値を簡単に計算できます。
色の値について
色の構成要素の値は、目的の色を作成するために必要とされる色の量
を表す 0 ∼ 255 の整数です。値を低くすると色は暗くなり、値を高く
すると色は明るくなります。
色の構成要素の値(RGB 値)を測定するには、色の設定 ダイアログ
ボックスを使用します。色の設定 ダイアログボックスにアクセスする
には、ワークスペース最下部のカラーバーの色を選択し、カラーバー
のボックス中で最初に表示される選択されている色をダブルクリック
します。
974
PowerBuilder
第 10 章 PowerScript の関数
次の表は、標準の 16 色に対応する赤、緑、および青の値をまとめたも
のです。
表 10-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)
次のステートメントは、スタティックテキスト コントロール st_title の
色属性を濃いマゼンタの背景と緑色の文字に設定します。
st_title.TextColor = RGB(0, 255, 0)
st_title.BackColor = RGB(128, 0, 128)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RGB メソッド
PowerScript リファレンス ボリューム 2
975
Right
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)
関連項目
Left
Mid
Pos
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Right メソッド
RightA
機能
現行のロケールに基づいて文字列を Unicode から DBCS に一時的に変
換し、文字列の端から、指定したバイト数を返します。
構文
RightA (string, n)
引数
string
n
976
説明
検索する文字列を指定します。
Long 型の値。string の右端から取得する文字列のバイト数
を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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 )
RightTrim
機能
文字列の右端からスペースを削除します。
構文
RightTrim ( string )
RightTrimW ( string )
引数
string
PowerScript リファレンス ボリューム 2
説明
右端からスペースを削除する文字列を指定します。
977
RightTrimW
戻り値
String 型。正常に終了した場合は、string の右端からスペースを削除し、
その結果の文字列を返します。エラーが発生した場合、空の文字列("")
を返します。引数のいずれかの値が NULL の場合、NULL を返します。
例
次の例は、"RUTH" を返します。
RightTrim("RUTH ")
関連項目
LeftTrim
Trim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの RightTrim メソッド
RightTrimW
機能
文字列の右端からスペースを削除します。この関数は、将来サポート
されなくなります。動作は、すべての環境で RightTrim 関数と同じです。
構文
RightTrimW ( string )
RollbackOnly
機能
トランザクションのロールバックが唯一発生しうる結果になるように、
呼び出し元のスレッドに関連する EAServer トランザクションを修正
します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.RollbackOnly ( )
引数
CORBACurrent
戻り値
978
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
理由の不明なエラーで失敗しました。
-2
呼び出し元のスレッドにトランザクションが関連付けられていま
せん。
PowerBuilder
第 10 章 PowerScript の関数
解説
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()
IF li_rc <> 0 THEN
// エラーを処理します。
ELSE
corbcurr.RollbackOnly()
END IF
関連項目
BeginTransaction
CommitTransaction
GetContextService
GetStatus
GetTransactionName
Init
ResumeTransaction
RollbackTransaction
SetTimeout
SuspendTransaction
PowerScript リファレンス ボリューム 2
979
RollbackTransaction
RollbackTransaction
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションをロールバックします。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.RollbackTransaction ( )
引数
CORBACurrent
戻り値
解説
説明
CORBACurrent サービス インスタンスへの参照を指定し
ます。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
理由の不明なエラーで失敗しました。
-2
呼び出し元のスレッドにトランザクションが関連付けられていま
せん。
-3
呼び出し元のスレッドがトランザクションをコミットする権限を
持ちません。
-4
HeuristicCommit 例外が発生しました。
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
// エラーを処理します。
980
PowerBuilder
第 10 章 PowerScript の関数
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
SuspendTransaction
Round
機能
数値を四捨五入して指定された小数点の桁数にします。
構文
Round ( x, n )
引数
x
n
説明
四捨五入の対象になる数値を指定します。
小数点以下の桁数を指定します。x に指定されている数値
をこの桁数に四捨五入します。有効な値は 0 ∼ 18 です。
戻り値
Decimal 型。正常に終了した場合、x を小数点以下 n 桁に四捨五入した
数を返します。エラーが発生した場合、または引数のいずれかの値が
NULL の場合には、NULL を返します。
例
次のステートメントは、9.62 を返します。
Round(9.624, 2)
次のステートメントは、9.63 を返します。
PowerScript リファレンス ボリューム 2
981
RoutineList
Round(9.625, 2)
次のステートメントは、9.600 を返します。
Round(9.6, 3)
次のステートメントは、-9.63 を返します。
Round(-9.625, 2)
次のステートメントは、NULL を返します。
Round(-9.625, -1)
関連項目
Ceiling
Int
Truncate
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Round メソッド
RoutineList
機能
パフォーマンス解析モデルに含まれるルーチンのリストを取得しま
す。
対象
ProfileClass オブジェクトおよび Profiling オブジェクト
構文
instancename.RoutineList ( list )
引数
instancename
list
戻り値
982
説明
ProfileClass または Profiling オブジェクトのインスタンス
名を指定します。
ProfileRoutine 型の可変長配列変数を指定します。
RoutineList 関数は、解析モデルに登録されているクラス内
のルーチンごとに ProfileRoutine オブジェクトを 1 つずつ
作成し、この配列変数に格納します。この引数は、参照
渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − パフォーマンス解析モデルが存在しませ
ん。
PowerBuilder
第 10 章 PowerScript の関数
解説
パフォーマンス解析モデルに含まれている、ある特定のクラスのルー
チンのリストを取得したい場合に、この関数を使用します。BuildModel
関数を使ってトレース ファイルからパフォーマンス解析モデルをあ
らかじめ作成しておかなければなりません。各ルーチンごとにそれぞ
れ ProfileRoutine オブジェクトが定義されます。このオブジェクトに含
まれる情報は、ルーチンの実行時間、そのルーチンから呼び出される
ルーチン名とその呼び出し回数、およびそのルーチンが属するクラス
名です。リスト中のルーチンの並び方に、特に規則性はありません。
あるクラスに属するオブジェクトの作成および削除処理は、この関数
を使って取得されるリスト中に含まれるルーチン内と、埋め込み SQL
文によって示されます。
例
以下の例では、あるパフォーマンス解析モデルに含まれる、クラスご
とのルーチン情報をリスト表示します。
Long ll_cnt
ProfileCall lproc_call[]
lpro_model.BuildModel()
lpro_model.RoutineList(iprort_list)
...
関連項目
ClassList
Run
機能
指定されたアプリケーション プログラムを実行します。
構文
Run ( string {, windowstate } )
引数
string
windowstate
(オプション)
説明
実行するプログラムのファイル名を表す文字列を指定し
ます。必要に応じて、string にはプログラムが使用するパ
ラメータを 1 つ以上指定することもできます。
WindowState カタログデータ型の値。プログラムのどの状
態で実行するかを指定します。
• Maximized! − 最大化。プログラムの起動時に、そのプ
ログラム ウィンドウのサイズを最大にします。
• Minimized! − 最小化。プログラムの起動時に、そのプ
ログラム ウィンドウのサイズを最小にします。
• Normal! −(デフォルト)プログラム ウィンドウを標準
サイズで実行します。
PowerScript リファレンス ボリューム 2
983
Run
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
Run 関数を使用して、オペレーティング システムから実行する任意の
プログラムを実行することができます。プログラムのパラメータが指
定されていない場合、Run 関数はアプリケーションを開き、最初のア
プリケーション ウィンドウを表示します。windowstate を指定すると、
指定された状態でアプリケーション ウィンドウが表示されます。
プログラムのパラメータが指定されている場合、アプリケーションに
よってパラメータが何を意味しているかが判断されます。パラメータ
の典型的な使用方法は、プログラムの実行時にどのデータ ファイルを
開くべきかを識別することです。パラメータを指定したアプリケー
ションの実行中に PowerBuilder アプリケーションを実行している場合
には、その PowerBuilder アプリケーションから CommandParm 関数を呼
び出してパラメータを検索し、それに一致した処理を行うことができ
ます。
拡張子を省略してファイル名を指定すると、PowerBuilder は拡張子を
EXE とみなします。EXE 以外の拡張子(たとえば BAT、COM、PIF)
を持つプログラムを実行する場合、必ず拡張子を指定してください。
例
次のステートメントは、Microsoft Windows の時計アクセサリを標準の
サイズで実行します。
Run("Clock")
次のステートメントは、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
984
PowerBuilder
第 10 章 PowerScript の関数
Save
インクピクチャ コントロールからファイルまたは Blob に、ピクチャ
およびオプションでオーバーレイ インクを保存するか、OLE コント
ロールあるいは OLEstorage オブジェクトに OLE オブジェクトを保存
します。使用する構文は、保存するオブジェクトの種類によって異な
ります。
目的
インクピクチャ コントロールの内容を保存する
OLE オブジェクトを保存する
使用する構文
構文 1
構文 2
構文 1
インクピクチャ コントロールの場合
機能
インクピクチャ コントロールからファイルまたは Blob に、ピクチャ
およびオプションでオーバーレイ インクを保存します。
対象
インクピクチャ コントロール
構文
inkpicname.Save( t | b , format { , WithInk } )
引数
inkpicname
t
b
format
説明
ピクチャを保存したいインクピクチャ コントロールの名前
を指定します。
ピクチャを保存するファイルの名前と位置を含む文字列を
指定します。
コントロールにピクチャを保持する 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)
WithInk(オプ
ション)
Boolean 型。オーバーレイ インクをピクチャとともに保存す
るかどうかを指定します。値は以下のとおりです。
True – オーバーレイ インクをピクチャとともに保存しま
す(デフォルト)。
False – オーバーレイ インクをピクチャとともに保存しま
せん。
PowerScript リファレンス ボリューム 2
985
Save
戻り値
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)
関連項目
986
LoadInk
LoadPicture
ResetInk
ResetPicture
SaveInk
PowerBuilder
第 10 章 PowerScript の関数
構文 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 ストレージ
ファイル、またはそのファイル内のサブストレージに接続を確立して
おく必要があります。
PowerScript リファレンス ボリューム 2
987
Save
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()
関連項目
988
Close
SaveAs
PowerBuilder
第 10 章 PowerScript の関数
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
(オプション)
PowerScript リファレンス ボリューム 2
説明
保存する内容を含むグラフ コントロールの名前を指定す
るか、グラフ コントロールを含むデータウィンドウ コン
トロール、またはデータストア オブジェクトの名前を指定
します。
String 型の値。グラフ コントロール内のデータの保存先の
ファイル名を指定します。この引数を省略した場合、また
は空の文字列("")を指定した場合、PowerBuilder はエン
ド ユーザにファイル名の入力を要求します。
989
SaveAs
引数
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
saveastype
(オプション)
説明
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! を
使用します。
990
PowerBuilder
第 10 章 PowerScript の関数
引数
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()
PowerScript リファレンス ボリューム 2
991
SaveAs
次のステートメントは、グラフ 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 を返します。
992
PowerBuilder
第 10 章 PowerScript の関数
解説
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
戻り値
説明
保存するオブジェクトを含む OLE コントロールの名前を
指定します。
OLEStorage のオブジェクト変数の名前を指定します。
olecontrol 内のオブジェクトは、この変数に格納されます。
String 型の値。targetstorage 内のサブストレージの名前を指
定します。substorage が存在しない場合は、SaveAs 関数は
substorage を作成します。
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
-9
コントロールが空です。
ストレージが開かれていません。
ストレージの名前が不正です。
そのほかのエラーです。
PowerScript リファレンス ボリューム 2
993
SaveAs
引数のいずれかの値が 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
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-3
994
説明
保存する OLE オブジェクトを含む OLEStorage 型のオブ
ジェクト変数の名前を指定します。
String 型の値。新しい OLE ストレージ ファイルの名前を
指定します。この引数には、パスを指定することができま
す。
ストレージが開かれていません。
ストレージの名前が不正です。
親ストレージが開かれていません。
PowerBuilder
第 10 章 PowerScript の関数
-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")
関連項目
Close
Open
Save
PowerScript リファレンス ボリューム 2
995
SaveAs
構文 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 関数を参照してく
ださい。
996
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、OLEStorage 型の変数 stg_stuff 内のオブジェクトを、copy1 と
いうサブストレージとして 2 番目のストレージ変数 stg_clone に保存し
ます。
integer result
result = stg_stuff.SaveAs("copy1", stg_clone)
関連項目
Close
Open
Save
SaveDocument
機能
リッチテキスト エディット コントロールの内容をファイルに保存し
ます。保存するファイルの形式として、リッチテキスト形式(RTF)、
または ASCII テキスト形式を指定できます。
対象
リッチテキスト エディット コントロール
構文
rtename.SaveDocument ( filename {, filetype {, encoding }} )
引数
rtename
filename
filetype
(オプション)
説明
内容を保存するリッチテキスト エディット コントロール
の名前を指定します。
String 型の値。保存するファイルの名前を指定します。指
定されたファイル名がすでに存在する場合、FileExists イベ
ントが起動されます。
保存するファイルの形式を指定する FileType カタログ
データ型の値。値は以下のとおりです。
• FileTypeRichText! − リッチテキスト形式(RTF)
• FileTypeText! − ASCII テキスト
PowerScript リファレンス ボリューム 2
997
SaveDocument
引数
encoding
(オプション)
説明
データを保存するファイルのエンコーディング文字。この
引数はテキスト ファイルにだけ適用されます。encoding 引
数を指定しない場合は、ファイルは ANSI 形式で保存され
ます。
filetype 引数は FileTypeText! に設定されなければなりませ
ん。filetype 引数が FileTypeRichText! に設定されると、この
引数は無視されます。RTF ファイルは常に ANSI 形式にな
ります。値は以下の通りです。
• EncodingANSI!(デフォルト)
• EncodingUTF8!
• EncodingUTF16LE!
• EncodingUTF16BE!
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SaveDocument 関数は、指定されたファイル名がすでに存在する場合に
FileExists イベントを起動します。SaveDocument で filetype を指定しな
いと、拡張子 .txt を持つファイル名を指定する場合は、ファイルをテ
キスト ファイルとして保存し、指定しない場合は、RTF ファイルとし
て保存します。
例
次のコマンドボタン コントロールのコードは、リッチテキスト エ
ディット コントロール 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
RETURN -1 // ファイルの保存をキャンセルします。
END IF
998
PowerBuilder
第 10 章 PowerScript の関数
次のコマンドボタン コントロールのコードは、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!
mode (オ プ
ション)
• InkSerializedFormat!(デフォルト)
インクを保存したい圧縮モードを指定する
InkCompressionMode カタログデータ型変数の値を指定しま
す。値は以下のとおりです。
• DefaultCompression!(デフォルト)
• MaximumCompression!
• NoCompression!
PowerScript リファレンス ボリューム 2
999
SaveInk
戻り値
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!)
関連項目
1000
LoadInk
LoadPicture
ResetInk
ResetPicture
Save
PowerBuilder
第 10 章 PowerScript の関数
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)
関連項目
次の関数は、データウィンドウやリッチテキスト エディット内でスク
ロールするために使用します。
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
ScrollToRow
PowerScript リファレンス ボリューム 2
1001
ScrollNextPage
ScrollNextPage
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウで、文書を 1 ページ後方にスクロールしま
す。
データウィンドウの場合の構文については、『データウィンドウ リ
ファレンス』マニュアル、またはオンライン ヘルプの「ScrollNextPage
メソッド」を参照してください。
対象
リッチテキスト エディット コントロール
構文
rtename.ScrollNextPage ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロールの次のページにスクロールします。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ある行に対して文書の最終ページが表示されているときに ScrollNextPage
関数を呼び出すと、次の行である先頭ページにスクロールします。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の次のページにスクロールします。文書に複数のインス
タンスがある場合、次のインスタンスにスクロールすることができま
す。
rte_1.ScrollNextPage()
関連項目
1002
Scroll
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
PowerBuilder
第 10 章 PowerScript の関数
ScrollNextRow
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の次のインスタンスにスク
ロールします。リッチテキスト エディット コントロールがデータウィ
ンドウとデータを共有している場合、リッチテキスト エディット コン
トロールには文書の複数のインスタンスが格納されます。文書の次の
インスタンスは、データウィンドウ内の次の行に関連付けられます。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、
『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollNextRow メソッド」を参照してくださ
い。
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollNextRow ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール内にある文書の次のインスタンスにスク
ロールします。各インスタンスは、データウィンドウの行
に関連付けられます。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ScrollNextRow 関数は、リッチテキスト エディット コントロール内にあ
る文書の次のインスタンスにスクロールします。一方、ScrollNextPage
関数を繰り返して呼び出すと、文書の同じインスタンスのすべての
ページを下方向へスクロールした後、次の行のページにスクロールし
ます。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の次のインスタンスにスクロールします。各文書のイン
スタンスは、行に関連付けられています。
PowerScript リファレンス ボリューム 2
1003
ScrollPriorPage
rte_1.ScrollNextRow()
関連項目
Scroll
ScrollNextPage
ScrollPriorPage
ScrollPriorRow
ScrollPriorPage
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の前のページにスクロール
します。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollPriorPage メソッド」を参照してくださ
い。
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollPriorPage ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロールの前のページにスクロールします。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ある行に対して文書の先頭ページが表示されているときに、
ScrollPriorPage 関数を呼び出すと、前の行である最終ページにスクロー
ルします。
1004
PowerBuilder
第 10 章 PowerScript の関数
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の前のページにスクロールします。文書に複数のインス
タンスがある場合、前のインスタンスにスクロールすることができま
す。
rte_1.ScrollPriorPage()
関連項目
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorRow
ScrollPriorRow
機能
リッチテキスト エディット コントロールまたはリッチテキスト エ
ディット データウィンドウ内にある文書の前のインスタンスにスク
ロールします。リッチテキスト エディット コントロールがデータウィ
ンドウとデータを共有している場合、リッチテキスト エディット コン
トロールには文書の複数のインスタンスが格納されます。文書の次の
インスタンスは、データウィンドウ内の次の行に関連付けられます。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、
『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollPriorRow メソッド」を参照してくださ
い。
対象
データウィンドウ コントロール、リッチテキスト エディット コント
ロール
構文
rtename.ScrollPriorRow ( )
引数
rtename
説明
リッチテキスト エディット コントロールまたはデータ
ウィンドウ コントロールの名前を指定します。指定された
コントロール内にある文書の前のインスタンスにスク
ロールします。各インスタンスは、データウィンドウの行
に関連付けられます。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
1005
ScrollToRow
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。
ScrollPriorRow 関数は、リッチテキスト エディット コントロール内にあ
る文書の前のインスタンスにスクロールします。一方、ScrollPriorPage
関数を繰り返して呼び出すと、文書のインスタンスのすべてのページ
を上方向へスクロールした後、前の行のページにスクロールします。
例
次のステートメントは、リッチテキスト エディット コントロール rte_1
内にある文書の前のインスタンスにスクロールします。各文書のイン
スタンスは、行に関連付けられています。
rte_1.ScrollPriorRow()
関連項目
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollToRow
機能
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、指定された行に関連付けられている文書のイ
ンスタンスにスクロールします。
データウィンドウ コントロールおよび子データウィンドウに固有の
構文については、『データウィンドウ リファレンス』マニュアル、ま
たはオンライン ヘルプの「ScrollToRow メソッド」を参照してください。
対象
リッチテキスト エディット コントロール
構文
rtename.ScrollToRow ( row )
引数
rtename
row
1006
説明
リッチテキスト エディット コントロールの名前を指定し
ます。指定されたコントロールの指定された行に関連付け
られている文書のインスタンスにスクロールします。
Long 型の値。スクロール先の行を指定します。row が 0 の
場合、ScrollToRow 関数は先頭行にスクロールします。row
に指定された値が、関連付けられているデータウィンドウ
内の行数より大きい場合、最終行にスクロールします。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
リッチテキスト エディット コントロールがデータウィンドウとデー
タを共有している場合、リッチテキスト エディット コントロールに
は、各行に対して 1 つずつ、文書の複数のインスタンスが格納されま
す。ScrollToRow 関数は、指定された行に関連付けられているインスタ
ンスにスクロールします。
例
次の例では、dw_1 は少なくとも 25 行のデータを検索して格納してい
ます。DataSource 関数を呼び出した後、リッチテキスト エディット コン
トロールには、少なくとも 25 個の文書のインスタンスが格納されてい
ます。ScrollToRow 関数は、25 番目のインスタンスにスクロールします。
rte_1.DataSource(dw_1)
rte_1.ScrollToRow(25)
関連項目
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
Second
機能
Time 型の値の秒の部分から秒数を取得します。
構文
Second ( time )
引数
time
説明
秒数を取得する Time 型の値を指定します。
戻り値
Integer 型。time の秒数の部分(00 ∼ 59)を返します。time が NULL の
場合、NULL を返します。
例
次のステートメントは、31 を返します。
Second(19:01:31)
関連項目
Hour
Minute
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Second メソッド
PowerScript リファレンス ボリューム 2
1007
SecondsAfter
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)
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)
関連項目
1008
DaysAfter
RelativeDate
RelativeTime
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの SecondsAfter メソッド
PowerBuilder
第 10 章 PowerScript の関数
Seek
OLEStream オブジェクトでファイル ポインタを移動するか、アニメー
ション コントロールに、AVI クリップで指定したフレームを表示します。
目的
OLEStream オブジェクト中で読み書きポインタを移動す
る
AVI クリップの指定フレームを表示する
目的
構文 1
構文 2
構文 1
OLEStream オブジェクトの場合
機能
OLEStream オブジェクト中の指定の位置に、読み書きポインタを移動
します。ポインタは、ストリームの中で次の読み書きの開始位置とな
ります。
対象
OLEStream オブジェクト
構文
olestream.Seek ( position {, origin } )
引数
olestream
position
origin
(オプション)
説明
開いている OLEStream 変数の名前を指定します。
Long 型の値。読み書きポインタを移動する位置を origin に
相対的な値で指定します。
処理を開始する位置を指定する SeekType カタログ データ
型の値。値は以下のとおりです。
• FromBeginning! −(デフォルト)ファイルの先頭
• FromCurrent! − 現行の位置
• FromEnd! − ファイルの末尾
戻り値
Integer 型。正常に終了した場合、0 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
-2
-9
ストリームが開かれていません。
シーク エラーです。
そのほかのエラーです。
引数のいずれかの値が NULL の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
1009
Seek
例
次の例は、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
構文 2
アニメーション コントロールの場合
機能
AVI クリップの指定フレームをアニメーション コントロールに表示し
ます。
対象
アニメーション コントロール
構文
animationname.Seek ( s )
引数
animationname
s
戻り値
1010
説明
AVI クリップを表示するアニメーション コントロールの
名前を指定します。
0 ∼ 65,535 の Long 型の値。表示するフレームを指定しま
す。
Integer 型。成功した場合は 1、失敗した場合は -1 を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
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)
関連項目
Play
Stop
SelectedColumn
機能
リッチテキスト エディット コントロールの挿入ポイントの直後にあ
る文字の行頭からの文字数を取得します。
対象
リッチテキスト エディット コントロール
構文
rtename.SelectedColumn ( )
引数
rtename
説明
行頭から挿入ポイントの次の文字までの文字数を取得す
るリッチテキスト エディット コントロールの名前を指定
します。
戻り値
Long 型。rtename に指定されたコントロールの行頭から挿入ポイント
の直後の文字までの文字数を返します。エラーが発生した場合、-1 を
返します。
解説
挿入ポイントは、選択範囲の先頭または末尾に設定することができま
す。このため、SelectedColumn 関数は、挿入ポイントの位置に応じて、
選択範囲の先頭文字、または選択範囲の直後の文字までの文字数を返
します。
PowerScript リファレンス ボリューム 2
1011
SelectedIndex
例
挿入ポイントがリッチテキスト エディット コントロール 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
SelectedIndex
機能
リストボックス コントロールまたはリストビュー コントロール内で
選択されている項目の番号を取得します。
対象
リストボックス コントロール、リストビュー コントロール
構文
listcontrolname.SelectedIndex ( )
引数
listcontrolname
戻り値
説明
リストボックス コントロールまたはリストビュー コント
ロールの名前を指定します。指定されたコントロール内で
選択されている項目の位置を返します。
Integer 型。listcontrolname 内で選択されている項目のインデックスを返
します。複数の項目が選択された場合、最初に選択された項目のイン
デックスを返します。選択された項目が存在しなかった場合、または
エラーが発生した場合には、-1 を返します。listcontrolname が NULL の
場合、NULL を返します。
解説
SelectedIndex 関数と SelectItem 関数は、単一の選択だけを許可するリス
トを想定しています。コントロールの MultiSelect プロパティは、FALSE
です。
MultiSelect プロパティが TRUE の場合、SelectedIndex 関数は最初に選択
された項目のインデックスだけを取得します。SelectedIndex 関数を使
用せずに、State 関数を使用してリストボックスの項目を 1 つ 1 つ
チェックし、項目が選択されているかどうかを確認します。リストボッ
クスの中の項目のテキストを取得するには、Text 関数を使用します。
1012
PowerBuilder
第 10 章 PowerScript の関数
例
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)
関連項目
SelectedItem
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 を設定します。
PowerScript リファレンス ボリューム 2
1013
SelectedLength
string ls_Item
ls_Item = lb_Shortcuts.SelectedItem()
関連項目
SelectedIndex
State
SelectedLength
機能
編集可能なコントロール内で選択されているテキストの文字数の合計
を返します。文字数には、空白と行末文字も含まれます。
対象
データウィンドウ コントロール、エディットマスク コントロール、イ
ンクエディット コントロール、マルチライン エディット コントロー
ル、シングルライン エディット コントロール、リッチテキスト エ
ディット コントロール、ドロップダウン リストボックス コントロー
ル、ドロップダウン ピクチャ リストボックス コントロール
構文
editname.SelectedLength ( )
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストの長さを返します。
データウィンドウ コントロールの名前を指定すると、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストの長さを返します。
戻り値
データウィンドウ、InkEdit、およびリストボックスの場合は Integer 型、
ほかのコントロールの場合は Long 型
editname に指定されたコントロール内で選択されているテキストの長
さを返します。テキストを選択しなかった場合、0 を返します。エラー
が発生した場合、-1 を返します。editname が NULL の場合、NULL を返
します。
1014
PowerBuilder
第 10 章 PowerScript の関数
解説
〔Ctrl〕+〔Enter〕または〔Enter〕を入力したときに生成される行末文
字は、プラットフォームによって異なります。Windows の場合は、キャ
リッジ リターン(CR)とライン フィード(LF)で、長さを計算する
ときには 2 文字として数えられます。ほかのプラットフォームでは、
行末文字は 1 文字です。自動的に折り返された行には、行末文字はあ
りません。ドロップダウン リストボックス コントロールとドロップダ
ウン ピクチャ リストボックス コントロールの場合、コントロールの
AllowEdit プロパティが FALSE のときには -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
1015
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
関連項目
1016
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
SelectedStart
機能
編集可能なコントロール内で選択されている文字の先頭文字の位置を
返します。
PowerScript リファレンス ボリューム 2
1017
SelectedStart
対象
データウィンドウ コントロール、エディットマスク コントロール、マ
ルチライン エディット コントロール、シングルライン エディット コ
ントロール、リッチテキスト エディット コントロール、ドロップダウ
ン リストボックス コントロール、ドロップダウン ピクチャ リスト
ボックス コントロール
構文
editname.SelectedStart ( )
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストの先頭文字の位置を返します。
データウィンドウ コントロールの名前を指定すると、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストの先頭文字の位置を返します。
戻り値
Long 型。editname に指定されたコントロール内で選択されているテキ
ストの開始位置を返します。テキストが選択されていない場合、挿入
ポイントの直後にある文字の位置を返します。エラーが発生した場合、
-1 を返します。editname が NULL の場合、NULL を返します。
解説
リッチテキスト エディット コントロール以外のすべてのコントロー
ルの場合、SelectedStart 関数は行の途中にあるスペースや行末文字も含
めて、テキストの先頭から文字位置を数えます。
リッチテキスト エディット コントロールの場合、SelectedStart 関数は
選択範囲の先頭行の先頭から文字位置を数えます。先頭とは、選択範
囲の開始位置(挿入ポイント)と反対の位置(終了位置)です。たと
えば、エンド ユーザが上方向に選択した場合、選択範囲の先頭はハイ
ライト表示されているテキストの末尾になり、挿入ポイントは選択範
囲の先頭の前に設定されます。選択の先頭と末尾に関する情報が必要
な場合、Position 関数を使用してください。
ドロップダウン リストボックスでのフォーカスと選択
ドロップダウン リストボックス コントロールまたはドロップダウン
ピクチャ リストボックス コントロールがフォーカスを失うと、選択さ
れていたテキストの選択状態が解除されます。
1018
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
機能
編集可能なコントロール内で選択されているテキストを返します。
対象
データウィンドウ コントロール、エディットマスク コントロール、
InkEdit コントロール、マルチライン エディット コントロール、シン
グルライン エディット コントロール、リッチテキスト エディット コ
ントロール、ドロップダウン リストボックス コントロール、ドロップ
ダウン ピクチャ リストボックス コントロール
構文
editname.SelectedText ( )
引数
editname
説明
データウィンドウ、エディットマスク、マルチライン エ
ディット、シングルライン エディット、リッチテキスト
エディット、ドロップダウン リストボックス、ドロップダ
ウン ピクチャ リストボックスのいずれかのコントロール
の名前を指定します。指定されたコントロール内で選択さ
れているテキストを返します。
ドロップダウン リストボックス コントロールまたはド
ロップダウン ピクチャ リストボックス コントロールの名
前を指定した場合、AllowEdit プロパティが TRUE である
必要があります。
データウィンドウ コントロールの名前を指定した場合、エ
ディット コントロール内の現行の行とカラムで選択され
ているテキストを返します。
戻り値
String 型。editname に指定されたコントロール内で選択されているテキ
ストを返します。テキストが選択されていない場合、またはエラーが
発生した場合には、空の文字列("")を返します。editname が NULL の
場合、NULL を返します。
PowerScript リファレンス ボリューム 2
1019
SelectionRange
解説
リッチテキスト エディット コントロールでは、選択範囲内のピクチャ
は無視されます。選択範囲に入力フィールドがある場合、入力フィー
ルドの名前は { } で囲まれ、この関数から返される文字列の一部にな
ります。入力フィールドの内容は返しません。
たとえば、手紙の書き出しの挨拶文を選択した場合、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 を表示します。
string ls_Loc
ls_Loc = ddlb_Location.SelectedText()
IF ls_Loc = "Maine" THEN
lb_LBMaine.Show()
ELSE
...
END IF
関連項目
SelectText
SelectionRange
機能
トラックバー コントロールにおいて、特定の範囲の隣接する値をハイ
ライト表示します。トラックバーのチャネルでは、選択した範囲がハ
イライト表示され、範囲の両端には矢印が表示されます。
対象
トラックバー コントロール
1020
PowerBuilder
第 10 章 PowerScript の関数
構文
control.SelectionRange ( startpos, endpos )
引数
control
startpos
endpos
説明
トラックバー コントロールの名前を指定します。
Integer 型の値。範囲の開始位置を指定します。
Integer 型の値。範囲の終了位置を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
この関数は、推奨値の範囲を示すのに使用します。
スケジューリング アプリケーションでは、すでに予定の埋まっている
時間帯を示すことができます。選択範囲を設定しても、ユーザがその
範囲の内側または外側の値を選択できなくなるわけではありません。
例
次のステートメントは、トラックバーの 30 ∼ 70 の間の値をハイライ
ト表示します。
HTrackBar.SelectionRange( 30, 70 )
関連項目
『オブジェクトとコントロール』マニュアルの「HTrackBar」
『オブジェクトとコントロール』マニュアルの「VTrackBar」
SelectItem
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、またはツリービュー コントロール内の項目を検索し、選択
してハイライト表示します。
目的
リストボックス コントロールで項目のテキストだけがわ
かっていて位置がわからない場合に、項目を選択する
リストボックス コントロールでリスト内の項目の位置が
わかっている場合に、項目を選択するか、または現行の選
択範囲を解除する
ツリービュー コントロールで項目を選択する
PowerScript リファレンス ボリューム 2
使用する構文
構文 1
構文 2
構文 3
1021
SelectItem
構文 1
項目のテキストがわかっているときにその項目を選
択する
機能
項目のテキストの一部または全部を指定できる場合に、リストボック
スの項目を検索し、選択してハイライト表示します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.SelectItem ( item, index )
引数
listboxname
item
index
戻り値
説明
行を選択するリストボックス コントロールの名前を指定
します。
String 型の値。選択する項目の先頭のテキストを指定します。
項目の番号を指定します。指定された番号の後の項目から
検索が開始されます。
Integer 型。選択されている項目のインデックス番号を返します。一致
する項目が見つからない場合は、0 を返します。エラーが発生した場
合、-1 を返します。引数のいずれかの値が NULL の場合、NULL を返し
ます。
解説
SelectItem 関数は、index に指定された番号の後の項目から、選択する
項目の検索を開始します。指定されたテキストから始まる項目が検索
されます。指定されたテキストよりも長いテキストが項目に格納され
ていても構いません。
項目を検索するだけで、選択しない場合には、FindItem 関数を使用して
ください。
複数選択が可能なリストボックス
MultiSelect プロパティが TRUE のリストボックスやピクチャ リスト
ボックスでは、SelectItem 関数は無効です。リストボックス内のほかの
項目の選択状態に影響を与えずに項目を選択するには、SetState 関数を
使用してください。
ドロップダウン リストボックスのエディット ボックスの消去
エンド ユーザが編集できないドロップダウン リストボックス コント
ロールやドロップダウン ピクチャ リストボックス コントロールのエ
ディット ボックスを消去するには、SelectItem 関数の構文 2 を使用して
ください。
1022
PowerBuilder
第 10 章 PowerScript の関数
例
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 に指定して選択を解除することもできます。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.SelectItem ( itemnumber )
引数
listboxname
PowerScript リファレンス ボリューム 2
説明
項目を選択するリストボックス コントロールの名前を指
定します。
1023
SelectItem
引数
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)
次の例は、ドロップダウン リストボックス コントロール ddlb_choices
のエディット ボックスから選択を解除し、li_Index に 0 を設定します。
1024
PowerBuilder
第 10 章 PowerScript の関数
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
1025
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
1026
説明
タブを選択するタブ コントロールの名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
tabidentifier
説明
選択するタブを指定します。次のいずれかを指定します。
• タブ ページ インデックス(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
ls_tabpage = "uo_fontsettings"
tab_1.OpenTab(uo_tabpage, ls_tabpage, 0)
tab_1.SelectTab(uo_tabpage)
関連項目
OpenTab
SelectText
編集可能なコントロール内のテキストを選択します。
目的
リッチテキスト エディット コントロール以外の編集可能
なコントロールでテキストを選択する
PowerScript リファレンス ボリューム 2
使用する構文
構文 1
1027
SelectText
目的
リッチテキスト エディット コントロール、またはリッチ
テキスト エディット提示様式のデータウィンドウ オブ
ジェクトが格納されているデータウィンドウ コントロー
ルのテキストを選択する
使用する構文
構文 2
構文 1
編集可能なコントロール(リッチテキスト エディッ
ト コントロール以外)でテキストを選択する
機能
編集可能なコントロール内のテキストを選択します。選択範囲の先頭
の位置と選択する文字数を指定します。
対象
データウィンドウ コントロール、エディットマスク コントロール、
InkEdit コントロール、マルチライン エディット コントロール、シン
グルライン エディット コントロール、ドロップダウン リストボック
ス コントロール、ドロップダウン ピクチャ リストボックス コント
ロール
構文
editname.SelectText ( start, length )
引数
editname
start
length
戻り値
説明
データウィンドウ、エディットマスク、InkEdit、マルチラ
イン エディット、シングルライン エディット、ドロップ
ダウン リストボックス、ドロップダウン ピクチャ リスト
ボックスのいずれかのコントロールの名前を指定します。
指定されたコントロールからテキストを選択します。
Long 型の値。選択範囲の先頭の位置を指定します。
Long 型の値。選択する文字数を指定します。length が 0 の
場合、テキストを選択せずに、start に指定された位置に挿
入ポイントを移動します。
データウィンドウおよびリストボックスの場合は Integer 型、ほかのコ
ントロールの場合は Long 型
選択された文字数を返します。エラーが発生した場合、-1 を返します。
解説
1028
コントロールにフォーカスが設定されていない場合に SelectText 関数
を呼び出すと、コントロールにフォーカスが設定されるまで、テキス
トはハイライト表示されません。選択したテキストがハイライト表示
されるように、コントロールにフォーカスを設定するには、SetFocus
関数を使用します。
PowerBuilder
第 10 章 PowerScript の関数
選択する長さ
ライン エディットのすべてのテキストを選択する場合、またはエ
ディット コントロール内の指定された位置から最後までの内容を選
択する場合、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
SelectedItem
SelectedText
SetFocus
TextLine
PowerScript リファレンス ボリューム 2
1029
SelectText
構文 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!
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
戻り値
Long 型。選択された文字数を返します。エラーが発生した場合、1 を
返します。また、引数のいずれかの値が NULL の場合、NULL を返します。
解説
挿入ポイントは選択範囲の末尾に設定されます。つまり、toline と
tochar に指定された位置に設定されます。toline と tochar に指定された
位置が、fromline と fromchar に指定された位置よりも前の場合、挿入
ポイントは選択範囲の先頭に設定されます。
選択を行う場合に、文字位置として 0 を指定することはできません。
1030
PowerBuilder
第 10 章 PowerScript の関数
選択を行う場合に、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()
次の例は、現行の挿入ポイントから現行の行の末尾までのテキストを
選択します。現行の行が最終行の場合、返される行の長さは選択でき
る文字数より 1 だけ大きい値になります。このため、この例では行の
長さを調整しています。
long ll_insertline, ll_insertchar
long ll_line, ll_count
// 挿入ポイントを取得します。
rte_1.Position(ll_insertline, ll_insertchar)
PowerScript リファレンス ボリューム 2
1031
SelectTextAll
// 行番号と行の長さを取得します。
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
機能
キャリッジ リターン(CR)、ライン フィード(LF)、エンド オブ ファ
イル(EOF)などの特殊文字を含めて、リッチテキスト エディット コ
ントロールのすべての内容を選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextAll ( { band } )
引数
rtename
band
(オプション)
説明
すべての内容を選択するリッチテキスト エディット コン
トロールまたはデータウィンドウ コントロールの名前を
指定します。データウィンドウ コントロールのデータウィ
ンドウ オブジェクトは、リッチテキスト エディット デー
タウィンドウでなければなりません。
すべてのテキストを選択する区域を指定する Band カタロ
グ データ型の値。値は以下のとおりです。
• Detail!
• Header!
• Footer!
特に指定しない限り、挿入ポイントがある区域のテキスト
が選択されます。
1032
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。選択された文字数を返します。エラーが発生した場合、-1
を返します。
例
次のステートメントは、詳細区域のすべてのテキストを選択します。
rte_1.SelectTextAll()
次のステートメントは、ヘッダ区域のすべてのテキストを選択します。
rte_1.SelectTextAll(Header!)
関連項目
SelectedText
SelectText
SelectTextLine
SelectTextWord
SelectTextLine
機能
リッチテキスト エディット コントロールで挿入ポイントがある行を
選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextLine ( )
引数
rtename
説明
行を選択するリッチテキスト エディット コントロールま
たはデータウィンドウ コントロールの名前を指定します。
データウィンドウ コントロールのデータウィンドウ オブ
ジェクトは、リッチテキスト エディット データウィンド
ウでなければなりません。
戻り値
Integer 型。正常に終了した場合は選択された文字数を返し、エラーが
発生した場合は -1 を返します。
解説
リッチテキスト エディット コントロールに選択範囲が含まれている
場合、挿入ポイントはその選択範囲の先頭または末尾にあります。挿
入ポイントの位置は、テキストの選択方法によって異なります。エン
ド ユーザが文末に向かって選択した場合、選択範囲の最後の行が選択
されます。エンド ユーザが文頭に向かって選択した場合、選択範囲の
最初の行が選択されます。
SelectTextLine 関数は、行末文字(Windows ではキャリッジ リターンと
ライン フィード、UNIX ではライン フィード)を選択しません。
PowerScript リファレンス ボリューム 2
1033
SelectTextWord
例
次のステートメントは、現行の行を選択します。
rte_1.SelectTextLine()
関連項目
SelectedText
SelectText
SelectTextAll
SelectTextWord
SelectTextWord
機能
リッチテキスト エディット コントロールで挿入ポイントがある単語
を選択します。
対象
リッチテキスト エディット コントロール、データウィンドウ コント
ロール
構文
rtename.SelectTextWord ( )
引数
rtename
戻り値
説明
単語を選択するリッチテキスト エディット コントロール
またはデータウィンドウ コントロールの名前を指定しま
す。データウィンドウ コントロールのデータウィンドウ
オブジェクトは、リッチテキスト エディット データウィ
ンドウでなければなりません。
Integer 型。正常に終了した場合、選択された文字数を返します。単語
が選択できない場合、またはエラーが発生した場合には -1 を返しま
す。
解説
単語は英数字の任意のグループです。単語には下線と単引用符を含め
ることができますが、句読点や、$、# などの特殊文字を含めることは
できません。選択された単語の後に句読点や特殊文字がある場合、句
読点や特殊文字は選択されません。
挿入ポイントの後にある文字が空白、句読点、特殊文字、または行末
記号の場合、SelectTextWord 関数は何も選択せずに -1 を返します。
例
次のステートメントは、挿入ポイントがある単語を選択します。
rte_1.SelectTextWord()
1034
PowerBuilder
第 10 章 PowerScript の関数
次の例は、挿入ポイントがある位置で単語を選択します。単語がない
場合は、単語が見つかるまで挿入ポイントの位置を移動します。単語
を検索しながら、行の終わりに到達したことをチェックし、次の行へ
と折り返します。このスクリプトがコマンドボタンに割り当てられて
いる場合に、そのボタンが繰り返しクリックされると、単語から単語
へと選択範囲が移動していきます。
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
// 行の終わりに到達した場合、次の行へ移動します。
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
// 単語を処理するコードをここに追加します
// (たとえば、スペル チェッカーに単語を渡すなど)。
PowerScript リファレンス ボリューム 2
1035
Send
関連項目
SelectedText
SelectText
SelectTextAll
SelectTextLine
Send
機能
ウィンドウにメッセージを送信します。メッセージは即時に実行され
ます。
構文
Send ( handle, message#, lowword, long )
引数
handle
message#
lowword
long
説明
PowerBuilder またはほかのアプリケーションで生成された
ウィンドウのハンドルを表す Long 型を指定します。指定
したハンドルのウィンドウに対して、メッセージが送信さ
れます。
送信するメッセージ番号を表す UnsignedInteger 型を指定
します。
送信するメッセージの整数値を表す Long 型の値を指定し
ます。メッセージがこの引数を使用しない場合は、0 を指
定します。
送信するメッセージが使用する Long 型の値または文字列
を指定します。
戻り値
Long 型。正常に終了した場合は Windows の SendMessage から返された
値を返し、エラーが発生した場合は -1 を返します。引数のいずれかの
値が NULL の場合、NULL を返します。
解説
PowerBuilder の Send 関数は、message# で識別されたメッセージとオプ
ションの lowword および long を handle で指定されたウィンドウに送信
し、Windows の SendMessage 関数に処理を依頼します。オブジェクト
のメッセージ キューをバイパスしてメッセージはオブジェクトに直
接送信されます。メッセージが処理され、SendMessage 関数の戻り値
を取得するまで、Send 関数は待ち状態になります。
1036
PowerBuilder
第 10 章 PowerScript の関数
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!)
次の例では、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)
PowerScript リファレンス ボリューム 2
1037
SeriesCount
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
関連項目
Handle
Post
SeriesCount
機能
グラフのデータ系列の数を返します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SeriesCount ( { graphcontrol } )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
説明
データ系列の数を調べるグラフ コントロールの名前、また
はそのグラフ コントロールのあるデータウィンドウ コン
トロールの名前を指定します。
String 型の値。データウィンドウ コントロールのグラフの
名前を指定します。指定されたグラフのデータ系列の数を
調べます。
戻り値
Integer 型。正常に終了した場合はグラフのデータ系列の数を返し、エ
ラーが発生した場合は -1 を返します。引数のいずれかの値が NULL の
場合、NULL を返します。
例
次のステートメントは、グラフ gr_product_data のデータ系列の数を変
数 li_series_count に格納します。
1038
PowerBuilder
第 10 章 PowerScript の関数
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
SeriesName
機能
指定したデータ系列の番号に対応するデータ系列の名前を取得しま
す。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SeriesName ( { graphcontrol, } seriesnumber )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesnumber
説明
グラフ コントロールの名前、またはグラフのあるデータ
ウィンドウ コントロールの名前を指定します。そのグラフ
の中のデータ系列の名前を取得します。
String 型の値。データウィンドウ コントロールのグラフの
名前を指定します。指定されたグラフのデータ系列の名前
を調べます。
名前を取得するデータ系列の番号を指定します。
戻り値
String 型。指定されたデータ系列に割り当てられた名前を返します。エ
ラーが発生した場合、空の文字列("")を返します。引数のいずれか
の値が NULL の場合、NULL を返します。
解説
データ系列には、1 から SeriesCount 関数で返される値まで、連続した
番号が付けられています。データ系列を 1 つ削除すると、連続した番
号を付けるために、データ系列の番号は付け直されます。SeriesName
関数を使用して、指定したデータ系列の番号に対応するデータ系列の
名前を取得することができます。
PowerScript リファレンス ボリューム 2
1039
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)
関連項目
1040
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
1041
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 がトランザクションを
コミットするタイミングを決定するのは、ルート コンポーネント(ト
ランザクションを開始したコンポーネント インスタンス)のアクショ
ンだけです。
1042
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
1043
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!)
関連項目
1044
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
1045
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 で定義されたソート順
戻り値
1046
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
1047
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()
1048
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
1049
SetAutomationTimeout
タイムアウト期間が満了した場合、実行時エラー 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)
1050
PowerBuilder
第 10 章 PowerScript の関数
SetBoldDate
機能
指定した日付を太字で表示します。
対象
月表示カレンダ コントロール
構文
controlname.SetBoldDate ( d, onoff {, rt } )
引数
controlname
d
onoff
説明
太字の日付を設定する月表示カレンダ コントロールの名
前を指定します。
太字が設定される日付を指定します。
Boolean 型の値。日付を太字にするかどうかを指定します。
値は以下のとおりです。
TRUE − 日付を太字にします。
FALSE − 日付の太字設定を解除します。
rt
(オプション)
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)
PowerScript リファレンス ボリューム 2
1051
SetBoldDate
次の例では、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!)
次の例は、mcVacation コントロールでの毎月 5 日の太字設定を解除し
ます。
integer li_return
Date d
d = date("2005/01/05")
li_return = mcVacation.SetBoldDate( d, false, Monthly!)
関連項目
1052
ClearBoldDates
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
1053
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) )
1054
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
1055
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
関連項目
1056
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
1057
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 を返します。
1058
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
1059
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 &
1060
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
説明
グラフ コントロールの名前、またはグラフがあるデー
タウィンドウ コントロールの名前を指定します。その
グラフ コントロールのデータ ポイントの色を設定しま
す。
データ ポイントの色を設定するデータウィンドウ コン
トロールの名前を表す文字列を指定します。
1061
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)
1062
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
1063
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)
1064
PowerBuilder
第 10 章 PowerScript の関数
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetSeriesStyle
構文 3
データ ポイントの塗りつぶしパターンやシンボルを
設定する
機能
データ ポイントの塗りつぶしパターンやシンボルを指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetDataStyle ( { graphcontrol, } seriesnumber,
datapointnumber, enumvalue )
引数
controlname
説明
グラフ コントロールの名前、またはそのグラフがある
データウィンドウ コントロールの名前を指定します。
そのデータ ポイントの外観を設定します。
String 型の値。データウィンドウ コントロール上の外
観を設定するグラフの名前を指定します。
graphcontrol
(データウィンド
ウ コントロールの
み)(オプション)
seriesnumber
データ ポイントの外観を設定するデータ系列の番号を
指定します。
datapointnumber
外観を設定するデータ ポイントの番号を指定します。
PowerScript リファレンス ボリューム 2
1065
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 イ
ベントは、データウィンドウ オブジェクトにグラフが作成される直前
に起動します。
1066
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
説明
日付の制限を設定する月表示カレンダ コントロールの名
前を指定します。
日付の値。カレンダで参照または表示できる最初の日付と
して設定します。
日付の値。カレンダで参照または表示できる最後の日付と
して設定します。
1067
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 を返します。
解説
ドラッグ操作で、ドロップ ターゲットを指定するのに使用します。
1068
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
1069
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
戻り値
1070
説明
最初に表示される項目を設定するツリービュー コント
ロールの名前を指定します。
ツリービュー コントロールで最初に表示される項目とし
て設定される項目のハンドルを指定します。
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
1071
SetGlobalProperty
解説
objectname がリストボックス コントロールの場合、SetFocus 関数は最
初の項目のまわりに長方形のフォーカスを表示します。objectname が
ドロップダウン リストボックス コントロールの場合、SetFocus 関数は
エディット ボックスをハイライト表示にします。リストボックスまた
はドロップダウン リストボックス内の項目を選択するには、SelectItem
関数を使用します。
描画オブジェクトにフォーカスを設定することはできません。した
がって、SetFocus 関数を使用しても、直線コントロール、楕円コント
ロール、長方形コントロール、丸長方形コントロールにフォーカスを
設定することはできません。
例
ウィンドウの Open イベントに対するスクリプトに記述されている次
のステートメントは、lb_Actions の最初の項目にフォーカスを移動しま
す。
lb_Actions.SetFocus()
関連項目
SetItem
SetState
SetTop
SetGlobalProperty
機能
SSL グローバル プロパティの値を設定します。
対象
SSLServiceProvider オブジェクト
構文
sslserviceprovider.SetGlobalProperty ( property, value )
引数
sslserviceprovider
1072
property
説明
SSLServiceProvider サービス インスタンスへの参照を
指定します。
設定する SSL プロパティの名前を指定します。
value
サポートされている全 SSL プロパティのリストにつ
いては EAServer のマニュアルまたは接続オブジェク
トのオンライン ヘルプを参照してください。
String 型。SSL プロパティの値を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Long 型。以下のいずれかの値を返します。
0
-1
-2
-3
-10
-11
解説
正常に終了しました。
不明なプロパティです。
プロパティが読み込み専用です。
プロパティの値が不正です。
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
PowerScript リファレンス ボリューム 2
1073
SetItem
SetItem
リスト項目の値を設定します。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアル、またはオンライン ヘルプの
「SetItem メソッド」を参照してください。
設定する値
リストビュー コントロールの項目の値を設定する
リストビュー コントロールの項目とカラムの値を設定す
る
ツリービュー コントロールの項目の値を設定する
使用する構文
構文 1
構文 2
構文 3
構文 1
リストビュー コントロールの項目にプロパティ値を
設定する
機能
リストビュー コントロールの項目に関連付けられたデータを、
ListViewItem 変数の中に指定されたプロパティ値に設定します。
対象
リストビュー コントロール
構文
listviewname.SetItem ( index, { column }, item )
引数
listviewname
index
column
item
説明
項目のプロパティを設定するリストビュー コントロール
の名前を指定します。
項目のインデックス番号を指定します。指定された項目の
プロパティを設定します。
プロパティを設定する項目のカラムのインデックス番号
を指定します。
リストビュー コントロールの項目に割り当てるプロパ
ティ値を含む ListViewItem 変数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
この構文によって、リストビュー コントロールの任意の項目のプロパ
ティを設定することができます。カラムを指定しない場合は、項目の
最初のカラムのプロパティが設定されます。レポート ビューの場合の
み、複数のカラムが表示されます。
1074
PowerBuilder
第 10 章 PowerScript の関数
リストビュー コントロールに項目を追加するには、AddItem 関数を使
用しま す。リス トビュ ー コン トロー ルにカ ラムを 追加す るには、
AddColumn 関数を使用します。リストビュー コントロールの項目のカ
ラムに対する表示値を設定する場合は、構文 2 を使用してください。
配置や幅など、カラムのプロパティを設定したい場合は、SetColumn 関
数を使用してください。これらのカラム プロパティは、ListViewItem
オブジェクトとは関連がありません。
リストビュー コントロールの項目に関連付けられたピクチャおよび
そのほかのプロパティ値を変更するには、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
PowerScript リファレンス ボリューム 2
説明
表示値を設定するリストビュー コントロールの名前を指
定します。
項目のインデックス番号を指定します。指定された項目の
表示値を設定します。
カラムのインデックス番号を指定します。指定されたカラ
ムの表示値を設定します。
1075
SetItem
引数
label
説明
リストビュー コントロールの指定された項目の指定され
たカラムに割り当てる String 型の値または変数を指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
単一カラムのリストビュー コントロールに値を割り当てる場合も、カ
ラム番号を引数として指定する必要があります。リストビュー コント
ロールの項目のプロパティを指定する場合、構文 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")
関連項目
1076
GetItem
PowerBuilder
第 10 章 PowerScript の関数
構文 3
ツリービュー コントロールの項目の値を設定する
機能
指定された項目に関連付けられているデータを設定します。
対象
ツリービュー コントロール
構文
treeviewname.SetItem ( itemhandle, item )
引数
treeviewname
itemhandle
item
説明
ツリービュー コントロールの名前を指定します。指定され
たコントロールの特定の項目のデータを設定します。
変更する項目に関連付けられているハンドルを指定しま
す。
変更するツリービュー コントロールの項目を指定します。
戻り値
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
PowerScript リファレンス ボリューム 2
1077
SetLevelPictures
SetLevelPictures
機能
特定のレベルのすべての項目に、ピクチャ インデックスを設定しま
す。
対象
ツリービュー コントロール
構文
treeviewname.SetLevelPictures ( level, pictureindex, selectedpictureindex,
statepictureindex, overlaypictureindex)
引数
treeviewname
level
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)
1078
PowerBuilder
第 10 章 PowerScript の関数
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)
関連項目
AddPicture
SetLibraryList
機能
実行時のアプリケーションのライブラリ探索パスのファイルを変更し
ます。
構文仕様の変更
従来と同様に、applicationname.SetLibraryList(filelist) 関数の前にアプリ
ケーション オブジェクトの名前を指定する古い構文を使用すること
もできます。
構文
SetLibraryList ( filelist )
引数
filelist
戻り値
解説
説明
カンマ(,)で区切られたファイル名のリストを指定しま
す。ファイル名は、拡張子を付けた完全な名前で指定しま
す。パスを省略すると、PowerBuilder のシステムの検索パ
スでそのファイルが検索されます。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1
アプリケーションがスタンド アロンではなく、PowerBuilder から
実行されます。
-2
現行のインスタンス化されたオブジェクトは、新しいリスト上に
ないライブラリにあります。引数のいずれかの値が NULL の場合、
NULL を返します。
アプリケーションがオブジェクトをロードする場合、PowerBuilder で
は、まず実行ファイルが検索され、次にそのアプリケーションに指定
された実行時ライブラリが検索されます。SetLibraryList 関数を使用し
て、実行ファイル内で指定されているライブラリ ファイルのリストと
は異なるリストを指定することができます。
PowerScript リファレンス ボリューム 2
1079
SetLibraryList
複数のコンポーネントでリソースを共有するときに起こる問題を回避
するには、EAServer に展開するコンポーネントの探索リストに PBD
ファイルを追加する際、SetLibraryList のかわりに AddToLibraryList を使用
する必要があります。
SetLibraryList 関数を呼び出すと、実行ファイルに指定されたライブラリ
ファイルのリストが新しいファイルのリストに変更されます。たとえ
ば、SetLibraryList 関数を使用して、多数のサブシステムを含むアプリ
ケーションのライブラリ リストを設定できます。しかしどのような場
合でも、GetLibraryList を使用して現行のライブラリの探索パスを取得し
た後、目的のすべてのファイルをこのリストに追加すべきです。その
後、ファイルを追加したリスト全体を filelist 引数に渡します。
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
関連項目
1080
AddToLibraryList
GetLibraryList
PowerBuilder
第 10 章 PowerScript の関数
SetMask
機能
エディットマスク コントロールに、エディットマスクとエディットマ
スクのデータ型を設定します。
対象
エディットマスク コントロール
構文
editmaskname.SetMask ( maskdatatype, mask )
引数
editmaskname
maskdatatype
説明
エディットマスクを指定するエディットマスク コント
ロールの名前を指定します。
MaskDataType カタログ データ型の値。マスクのデータ型
を指定します。値は以下のとおりです。
• DateMask!
• DateTimeMask!
• DecimalMask!
• NumericMask!
• StringMask!
• TimeMask!
mask
エディットマスク コントロールを表す文字列を指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
エディットマスクは、固有の文字セットでエンド ユーザが入力できる
文字の種類を表します。また、句読点によって入力値の書式を制御し
ます。マスクのデータ型ごとに固有の有効な文字セットがあります。
たとえば、次の例は電話番号を表示する String 型のマスクです。エ
ディットマスク コントロールは、エディットマスクの句読点(カッコ
とハイフン)をそのまま表示します。# 記号はエンド ユーザが入力す
る数字を表していて、数字以外の文字を入力できません。
(###) ###-####
ウィンドウ ペインタ内のエディットマスク コントロールのエディッ
トマスクの設定 ダイアログボックスを参照して有効なマスクを指定
してください。エディットマスクの設定 ダイアログボックスの内のリ
ストボックスに、それぞれのデータ型に固有のマスク文字の意味と、
マスク文字を使用して定義されたマスクが表示されます。
PowerScript リファレンス ボリューム 2
1081
SetMessage
数値にマスクを指定する場合、書式は U.S. 表記でなければなりません。
つまり、カンマ(,)は 1000 単位の桁区切りを表す書式で、ピリオド
(.)は小数点の位置を表す書式です。実行中に適切な位置に記号を表
示します。
エディットマスク コントロールの Spin または UseCodeTable プロパ
ティを true に設定してある場合は、SetMask を使用して maskdatatype を
変更することはできません。これらのプロパティのいずれかを true に
設定してある場合は、SetMask を呼び出す前にプロパティの値に false
を設定し、その後で値に true を再設定します。
表示書式には色を使用できますが、エディットマスクには色を使用で
きません。
例
次のステートメントは、エディットマスク コントロール 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
戻り値
1082
説明
エラー メッセージを設定する Throwable 型のオブジェク
トを指定します。
設定するメッセージを含む文字列を指定します。引用符で
囲む必要があります。
なし
PowerBuilder
第 10 章 PowerScript の関数
解説
ユーザ定義例外オブジェクトに対してカスタマイズしたメッセージを
設定する場合に使用します。SetMessage 関数を使用して RuntimeError
オブジェクトの事前設定されたエラー メッセージを修正することも
可能ですが、このような使用方法はお勧めできません。
例
次のステートメントの例は、Throwable 型のユーザ オブジェクトに対
してメッセージを設定しています。
MyException.SetMessage ("MyException thrown")
次の例は、try-catch ブロック内で、あるユーザ定義関数を対象にして
SetMessage 関数を使用しています。このユーザ定義関数は、テキスト
ボックスから入力値をとり、その値の逆余弦を別のテキスト ボックス
に出力します。
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
PowerScript リファレンス ボリューム 2
説明
マイクロヘルプを設定する MDI フレーム ウィンドウの名
前を指定します。
新しいマイクロヘルプのテキストを表す文字列を指定し
ます。
1083
SetNull
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
コントロールの Tag プロパティは、マイクロヘルプのテキストを格納
するのに便利です。コントロールにフォーカスが移動したときに起動
する GetFocus イベントのスクリプト内で SetMicroHelp 関数を使用する
と、ウィンドウ フレーム上のステータスバーに Tag プロパティのテキ
ストを表示することができます。
メニューでは、エンド ユーザがメニュー項目を選択すると、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)
SetNull
機能
変数に NULL を設定します。変数のデータ型は、配列、構造体、また
は自動インスタンス化オブジェクト以外なら何でも構いません。
構文
SetNull ( anyvariable )
引数
anyvariable
戻り値
1084
説明
NULL を設定する変数を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
データベースに変数を書き込む前に、SetNull 関数を使用して変数に
NULL 値を設定します。PowerBuilder は、変数を NULL 値に初期化しま
せん。変数の宣言時に値を指定しない限り、データ型の標準の初期値
で変数を初期化するので注意してください。
データ型が Any の変数に値を割り当て、その変数を NULL に設定する
場合、NULL 値のデータ型は割り当てられた値のデータ型のままになり
ます。SetNull 関数を使用して Any 変数の型を解除することはできませ
ん。
例
次のステートメントは、変数 Salary に NULL 値を設定します。
SetNull(Salary)
関連項目
IsNull
SetOverlayPicture
機能
コントロールの画像リスト内の画像を、オーバーレイ画像リストに入
れます。
対象
リストビュー コントロール、ツリービュー コントロール
構文
controlname.SetOverlayPicture ( overlayindex, imageindex )
引数
controlname
overlayindex
imageindex
戻り値
説明
オーバーレイ画像を追加するリストビューまたはツリー
ビュー コントロールの名前を指定します。
オーバーレイ画像リスト内のオーバーレイ ピクチャのイ
ンデックス番号を指定します。オーバーレイ画像リストは
1 次元の配列です。overlayindex は、1(最初の画像の場合)、
以前に指定したインデックス(画像を置換する場合)、ま
たは現行の最大インデックス + 1(別の画像を追加する場
合)のいずれかでなければなりません。配列に欠番ができ
るようなインデックスを指定すると、SetOverlayPicture 関
数はエラーになります。
コントロールのメイン画像リスト内の画像のインデック
ス番号を指定します。リストビューの場合、そのインデッ
クス番号の位置にある大きいピクチャと小さいピクチャ
は、どちらもオーバーレイ画像になります。画像は、依然
として項目のメイン画像として使用できます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
PowerScript リファレンス ボリューム 2
1085
SetOverlayPicture
解説
オーバーレイ ピクチャの高さと幅は、オーバーレイの対象となるピク
チャと同じでなければなりません。オーバーレイ ピクチャが下にある
ピクチャと重なる場合、ピクチャを挿入するときに 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
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)
1086
PowerBuilder
第 10 章 PowerScript の関数
SetParagraphSetting
機能
リッチテキスト エディット コントロールで挿入ポイントがある段落
のインデント、左余白、または右余白のサイズを設定します。
対象
リッチテキスト エディット コントロール
構文
rtecontrol.SetParagraphSetting ( whichsetting, value )
引数
rtecontrol
whichsetting
説明
段落情報を取得するコントロールの名前を指定します。
変更する設定を指定する ParagraphSetting カタログ データ
型の値。値は以下のとおりです。
• Indent! − 段落のインデント
• LeftMargin! − 段落の左余白
value
• RightMargin! − 段落の右余白
Long 型の値。1/1000 インチ単位で、余白またはインデン
トの幅を指定します。たとえば、500 は 0.5 インチになり
ます。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。いずれかの引数が NULL の場合は NULL を返します。
解説
各段落には、インデント、左余白、および右余白を設定できます。現
行の段落に 3 つをすべて設定するには、SetParagraphSetting 関数を 3 回
呼び出します。
例
次の例は、現行の段落のインデントを 1/4 インチに設定します。
ll_indent = rte_1.SetParagraphSetting(Indent!, 250)
次の例は、現行の段落の左余白を 1 インチに設定します。
rte_1.SetParagraphSetting(LeftMargin!, 1000)
関連項目
GetParagraphSetting
SetAlignment
SetSpacing
SetTextColor
SetTextStyle
PowerScript リファレンス ボリューム 2
1087
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
1088
PowerBuilder
第 10 章 PowerScript の関数
SetPointer
機能
マウス ポインタを設定します。
構文
SetPointer ( type )
引数
type
説明
ポインタの型を表す Pointer カタログ データ型の値。値は
以下のとおりです。
Arrow!
Cross!
Beam!
HourGlass!
SizeNS!
SizeNESW!
SizeWE!
SizeNWSE!
UpArrow!
戻り値
Pointer 型。置き換えられる前のポインタのカタログ型を返します。必
要な場合は元に戻すことができます。type が NULL の場合、NULL を返
します。
解説
スクリプトの実行に時間がかかる場合に、スクリプトの開始時に
SetPointer 関数を使用して砂時計を表示します。スクリプト内で再び変
更されるか、スクリプトが終了するまで、そのポインタは設定された
ままです。
矢印ポインタを元に戻す方法
スクリプトの実行が終了すると、ポインタは矢印に戻ります。矢印に
変更する必要はありません。
PowerBuilder のペインタでは、エンド ユーザがウィンドウ、コントロー
ル、またはデータウィンドウ オブジェクトの特定部分の上でポインタ
を移動するときに PowerBuilder が表示するポインタの型を指定できま
す。使用できる型は、前述の標準のポインタと開発者が待っているカ
スタム カーソル ファイルです。
PowerScript リファレンス ボリューム 2
1089
SetPosition
例
次のステートメントは、マウス ポインタを砂時計型に変更します。
SetPointer(HourGlass!)
次の例は、前のポインタを保存し、長い動作が完了したときにそれを
復元します。
pointer oldpointer // ポインタ変数を宣言します。
oldpointer = SetPointer(HourGlass!)
... // 長い動作を実行します。
SetPointer(oldpointer)
SetPosition
ウィンドウ上のコントロール、ウィンドウ、データウィンドウ上のオ
ブジェクトの前面から背後の重なりの順序を指定します。
目的
ウィンドウ上のコントロールの前面から背後の重なりの
順序を指定する、またはウィンドウをほかの開かれてい
るウィンドウの一番上に表示するかどうかを指定する
データウィンドウ内部のあるオブジェクトを別の区域に
移動する、または同じ区域内のオブジェクトの重なりの
順序を変更する
使用する構文
構文 1
構文 2
構文 1
ウィンドウ上のウィンドウやコントロールの配置を
指定する
機能
ウィンドウ上のコントロールに対しては、ウィンドウ上での前面から
背後の重なりの順序を指定します。ウィンドウに対しては、そのウィ
ンドウをほかの開かれているウィンドウの一番上に表示するかどうか
を指定します。
対象
ウィンドウ上のコントロール、ウィンドウ
構文
objectname.SetPosition ( position {, precedingobject } )
引数
objectname
1090
説明
コントロールの名前を指定します。そのコントロールの
ウィンドウ上での重なりの順序を設定します。または、
ウィンドウの名前を指定します。そのウィンドウを常に一番
上に表示するかどうかを指定します。objectname には、チャ
イルド ウィンドウとシートを指定することはできません。
PowerBuilder
第 10 章 PowerScript の関数
引数
position
説明
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
1091
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)
1092
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
1093
SetProfileString
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")
関連項目
1094
ProfileInt
ProfileString
PowerBuilder
第 10 章 PowerScript の関数
SetRange
機能
プログレスバー コントロールの継続時間、またはトラックバー コント
ロールの開始および終了位置を設定します。
対象
プログレスバー コントロール
構文
controlname.SetRange ( startpos, endpos )
引数
controlname
startpos
endpos
説明
プログレスバーまたはトラックバーの名前を指定します。
Integer 型の値。範囲の開始位置を指定します。
Integer 型の値。範囲の終了位置を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
プログレスバー コントロールのデフォルトの範囲は、0 ∼ 100 になっ
ています。
例
次のステートメントは、プログレスバー コントロールの範囲を 1 ∼ 10
に設定します。
HProgressBar.SetRange ( 1, 10 )
関連項目
OffsetPos
SelectionRange
StepIt
PowerScript リファレンス ボリューム 2
1095
SetRecordSet
SetRecordSet
機能
ADO ResultSet オブジェクトを設定し、渡された ADO Recordset から
データとメタデータを取得します。
対象
ADOResultSet オブジェクト
構文
adoresultset.SetRecordSet ( adorecordsetobject )
引数
adoresultset
adorecordsetobject
説明
渡された ADO レコードセットを格納する
ADOResultSet オブジェクトを指定します。
ADO レコードセットを含む OLEObject オブジェクト
を指定します。ADO レコードセットを含まない
OLEObject を渡すとエラーになります。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetRecordSet 関数は、ADO レコードセットを含む OLEObject オブジェ
クトによって渡されたデータを、ADOResultSet オブジェクトに入力す
るのに使用します。レコード セットは、COM+ コンポーネントから、
ADO レコードセットとして返されたものです。
例
次の例では、まず、COM+ コンポーネントに接続し、このコンポーネ
ント上で ADO レコードセットを 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 レコードセット
// を保持するために OLEObject を使用します。
loo_ADOrecordset = loo_mycomponent.GetTestResult()
// ADOResultSet を作成し、渡された ADO レコードセットを
1096
PowerBuilder
第 10 章 PowerScript の関数
// 保持する OLEObject から ADOResultSet のデータを取得します。
lrs_ADOresultset = CREATE ADOResultSet
lrs_ADOresultset.SetRecordSet(loo_ADOrecordset)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの CreateFrom メソッド
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
GetRecordSet
SetResultSet
SetRedraw
機能
オブジェクトまたはコントロールのプロパティが変更されるたびに、
自動的に再描画するかどうかを制御します。
対象
メニュー以外のオブジェクト
構文
objectname.SetRedraw ( boolean )
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。boolean が NULL の場合、NULL を返します。
解説
特に指定しない限り、PowerBuilder は外観に影響するプロパティを変
更するたびに、コントロールを再描画します。オブジェクトのプロパ
ティやコントロールのプロパティを何回も変更すると、ちらつきが発
生します。このちらつきを抑えて再描画にかかる時間を短縮するには、
SetRedraw 関数を使用して一時的に再描画しないように設定します。
ウィンドウが表示されない場合、SetRedraw 関数はエラーになります。
注意
再描画をオフにした場合は、オンに戻す必要があります。オンに戻さ
ないと、問題が発生することがあります。また、再描画をオフにして
ウィンドウ内のオブジェクトの Visible プロパティと Enabled プロパ
ティを変更すると、タブ順序に影響するおそれがあります。
例
次のステートメントは、プロパティ変更の後 lb_Location の再描画をし
ません。
lb_Location.SetRedraw(FALSE)
PowerScript リファレンス ボリューム 2
1097
SetRemote
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)
SetRemote
DDE サーバ アプリケーションに対して、データの受信と、そのデータ
の指定位置への格納を依頼します。確立した DDE 接続の種類によっ
て、使用する構文が異なります。
目的
使用する構文
サーバ アプリケーションに対して 1 つの DDE リクエスト 構文 1
を行う(コールド リンク)
チャネルを開いてウォーム リンクを確立している場合に、 構文 2
サーバ アプリケーションに対して DDE リクエストを行う
構文 1
1 つの DDE リクエストを行う
機能
DDE サーバ アプリケーションに対してチャネルを開かずにデータを
受信し、そのデータを指定した場所に格納するように依頼します。サー
バに対してリクエストを 1 つまたは 2 つしか行わない場合、この構文
が適しています。
構文
SetRemote ( location, value, applname, topicname )
引数
location
value
applname
1098
説明
String 型の値。データを受信するサーバ アプリケーション
内のデータの位置を指定します。location の形式は、リク
エストを受信するアプリケーションによって異なります。
String 型の値。リモート アプリケーションに送信する値を
指定します。
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
PowerBuilder
第 10 章 PowerScript の関数
引数
topicname
戻り値
説明
String 型の値。データを受信するアプリケーションのイン
スタンスまたはデータを指定します。たとえば、Microsoft
Excel の場合、開いているスプレッドシートの名前をト
ピック名として使用できます。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
リンクは開始されていません。
リクエストが拒否されました。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
DDE を使用する場合、PowerBuilder アプリケーションは、クライアン
ト ウィンドウとなるウィンドウを開いている必要があります。構文 1
では、アクティブ ウィンドウが DDE クライアントのウィンドウにな
ります。
DDE チャネル、ウォーム リンク、コールド リンクについての詳細は、
ExecRemote 関数を参照してください。
例
次の例は、Microsoft Excel に対して、SALES.XLS というワークシートの
5 行目のカラム 7 のデータの値を 4500 に設定するように要求します。
SetRemote("R5C7", "4500", "Excel", "SALES.XLS")
関連項目
ExecRemote
GetRemote
OpenChannel
PowerScript リファレンス ボリューム 2
1099
SetRemote
構文 2
開いたチャネルを介して DDE リクエストを行う
機能
サーバ アプリケーションにチャネルを開いてウォーム リンクを確立
している場合、DDE サーバ アプリケーションに対して、データを受信
し、そのデータを指定した場所に格納するように依頼します。複数の
DDE リクエストを行う予定がある場合には、チャネルを開いてウォー
ム リンクを使用する方が効率的です。
構文
SetRemote ( location, value, handle {, windowhandle } )
引数
location
value
handle
windowhandle
(オプション)
戻り値
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、負の整数値を返します。値は以下のとおりです。
-1
-2
-9
解説
説明
String 型の値。データを受信するサーバ アプリケーション
内のデータの位置を指定します。location の形式は、リク
エストを受信するアプリケーションによって異なります。
String 型の値。リモート アプリケーションに送信する値を
指定します。
Long 型の値。DDE サーバ アプリケーションに対するチャ
ネルを指定します。handle は、DDE チャネルを開くために
呼び出した OpenChannel 関数から返された値です。
DDE クライアントとして機能させているウィンドウに対
するハンドルを指定します。
リンクは開始されていません。
リクエストが拒否されました。
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)
1100
PowerBuilder
第 10 章 PowerScript の関数
関連項目
ExecRemote
GetRemote
OpenChannel
SetResultSet
機能
新規の ADOResultSet オブジェクトに、ResultSet オブジェクトによって
渡されたデータを入力します。
対象
ADOResultSet オブジェクト
構文
adoresultset.SetResultSet ( resultsetobject )
引数
adoresultset
resultsetobject
説明
渡された結果集合を ADO レコードセットとして格納する
ADOResultSet オブジェクトを指定します。
結果集合データを含む ResultSet オブジェクトを指定しま
す。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
SetResultSet 関数は、ADOResultSet オブジェクトを作成し、このオブ
ジェクトに ResultSet オブジェクトからデータを入力する場合に使用
します。ResultSet オブジェクトは、データストア オブジェクトから
GenerateResultSet 関数を使って作成できます。
SetResultSet 関数を使って ADOResultSet オブジェクトを作成した後、
GetRecordSet 関数を使って、ADO の結果集合を OLEObject 型の ADO
Recordset オブジェクトの中に返すと、PowerScript においてネイティブ
の ADO Recordset オブジェクトとして使用することができます。
例
関連項目
GetRecordSet 関数を参照してください。
『データウィンドウ リファレンス 』マニュアルまたはオンライン ヘル
プの GenerateResultSet メソッド
GetRecordSet
SetRecordSet
PowerScript リファレンス ボリューム 2
1101
SetSeriesStyle
SetSeriesStyle
グラフのデータ系列の外観を指定します。どの設定を変更するかに
よって、構文が異なります。
目的
データ系列の色を設定する
線種、線幅を設定する
データ系列の塗りつぶしパターンやシンボルを設定する
データ系列がオーバーレイかどうかを指定する
使用する構文
構文 1
構文 2
構文 3
構文 4
構文 1
データ系列の色を設定する
機能
グラフのデータ系列の色を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, colortype, color )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
colortype
説明
データ系列の色を設定するグラフ コントロールの名前、ま
たはそのグラフがあるデータウィンドウ コントロールの
名前を指定します。
データウィンドウ コントロール上のデータ系列の色を設
定するグラフの名前を表す文字列を指定します。
色を設定するデータ系列の名前を表す文字列を指定しま
す。
grColorType カタログ データ型の値。色を設定する項目を
指定します。値は以下のとおりです。
• Foreground! − テキストの色
• Background! − 背景の色
• LineColor! − 線の色
color
戻り値
1102
• Shade! − 影の色(3D グラフ、立体のオブジェクトを
持ったグラフ)
colortype に新しく設定する色を表す Long 型の値を指定し
ます。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
PowerBuilder
第 10 章 PowerScript の関数
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、線グラフに塗りつぶしパターンや、
棒グラフの線種を設定することができます。ただし、塗りつぶしパター
ンや線種を見ることはできません。
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、そのイベント
スクリプト内から SetSeriesStyle 関数を呼び出します。
pbm_dwngraphcreate イベントは、データウィンドウ オブジェクトにグ
ラフが作成される直前に起動します。
例
次のステートメントは、グラフ gr_emp_data のデータ系列 Salary のテ
キスト(前景)の色を黒に設定します。
gr_emp_data.SetSeriesStyle("Salary", &
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)
PowerScript リファレンス ボリューム 2
1103
SetSeriesStyle
gr_sales_data.SetSeriesStyle("Northeast", &
LineColor!, line_color)
END IF
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
構文 2
グラフの線種と線幅を設定する
機能
グラフのデータ系列の線種と線幅を指定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, linestyle,
linewidth )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
linestyle
linewidth
説明
データ系列の線種と線幅を設定するグラフ コントロール
の名前、またはそのグラフを持つデータウィンドウ コント
ロールの名前を指定します。
データウィンドウ コントロール中の線種と線幅を設定す
るグラフの名前を表す文字列を指定します。
線種と線幅を設定するデータ系列の名前を表す文字列を
指定します。
LineStyle カタログ データ型の値。値は以下のとおりです。
Continuous!
Dash!
DashDot!
DashDotDot!
Dot!
Transparent!
線幅のピクセル数を指定する Integer 型の値を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
1104
PowerBuilder
第 10 章 PowerScript の関数
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、線グラフに塗りつぶしパターンや、
棒グラフの線種を設定することができます。ただし、塗りつぶしパター
ンや線種を見ることはできません。
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、pbm_dwngraphcreate
をユーザ イベントとして定義して、そのイベント スクリプト内から
SetSeriesStyle 関数を呼び出します。pbm_dwngraphcreate イベントは、
データウィンドウ オブジェクトにグラフが作成される直前に起動し
ます。
例
次のステートメントは、グラフ gr_product_data のデータ系列 Costs に線
種と線幅を設定します。
gr_product_data.SetSeriesStyle("Costs", &
Dot!, 5)
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
構文 3
グラフの塗りつぶしパターンやシンボルを設定する
機能
データ系列のデータ マーカーに対する塗りつぶしパターンやシンボ
ルを設定します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, enumvalue )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
PowerScript リファレンス ボリューム 2
説明
データ系列の外観を設定するグラフ コントロールの名前、
またはそのグラフがあるデータウィンドウ コントロール
の名前を指定します。
String 型の値。データウィンドウ コントロール上の外観を
設定するグラフの名前を指定します。
外観を設定するデータ系列の名前を表す文字列を指定し
ます。
1105
SetSeriesStyle
引数
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 を返します。
解説
データ系列のデータ ポイントには、それ自体のスタイルの設定が保存
されています。SetDataStyle 関数を使用して行った設定は、個別のデー
タ ポイントのスタイルを設定し、データ系列の設定を上書きします。
グラフには、現行のグラフの種類に適用されないプロパティのスタイ
ル情報が格納されます。たとえば、線グラフに塗りつぶしパターンや、
棒グラフの線種を設定することができます。ただし、塗りつぶしパター
ンや線種を見ることはできません。
1106
PowerBuilder
第 10 章 PowerScript の関数
PowerBuilder がデータウィンドウのグラフを描画する前に、グラフの
データ系列の外観を指定できます。それを行うには、
pbm_dwngraphcreate をユーザ イベントとして定義して、そのイベント
スクリプト内から SetSeriesStyle 関数を呼び出します。
pbm_dwngraphcreate イベントは、データウィンドウ オブジェクトにグ
ラフが作成される直前に起動します。
例
次のステートメントは、グラフ 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
PowerScript リファレンス ボリューム 2
1107
SetSeriesStyle
構文 4
グラフのオーバーレイを作成する
機能
データ系列がオーバーレイかどうかを指定します。つまり、データ系
列は、ほかのデータ型の一番上の線を表します。
対象
ウィンドウ上およびユーザ オブジェクト上のグラフ コントロール、お
よびデータウィンドウ コントロール上のグラフ
構文
controlname.SetSeriesStyle ( { graphcontrol, } seriesname, overlaystyle )
引数
controlname
graphcontrol
(データウィン
ドウ コント
ロールのみ)
(オプション)
seriesname
overlaystyle
説明
データ系列のオーバーレイの状況を設定するグラフ コン
トロールの名前、またはそのグラフがあるデータウィンド
ウ コントロールの名前を指定します。
String 型の値。データウィンドウ コントロール上のデータ
系列のオーバーレイの状況を設定するグラフの名前を指
定します。
オーバーレイの状況を変更するデータ系列の名前を表す
文字列を指定します。
Boolean 型の値。データ系列をオーバーレイにするかどう
か(データ系列の線を前面に表示するかどうか)を指定し
ます。データ系列をオーバーレイにするには、TRUE を指
定します。オーバーレイの設定を解除するには、FALSE を
指定します。
戻り値
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)に変更します。
1108
PowerBuilder
第 10 章 PowerScript の関数
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
関連項目
GetDataStyle
GetSeriesStyle
SeriesName
SetDataStyle
PowerScript リファレンス ボリューム 2
1109
SetSelectedDate
SetSelectedDate
機能
指定された日付を選択します。
対象
月表示カレンダ コントロール
構文
controlname.SetSelectedDate ( d )
引数
controlname
d
戻り値
説明
選択した日付を設定する月表示カレンダ コントロールの
名前を指定します。
選択された日付として設定する日付の値を指定します。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
解説
-1
無効な引数が指定されました。
-2
不明なエラーです。
単一の日付を選択するには、SetSelectedDate 関数を使用します。
SetDateLimits 関数で指定した日付の範囲外の日付を指定しようとした
場合、SetSelectedDate 関数は -1 を返します。
SetSelectedDate と SetSelectedRange は DateChanged イベントを起動しま
す。特に Post メソッドを使用して、DateChanged イベントの中でこ
れらのメソッドを呼び出すべきではありません。
例
次の例は、選択した日付を関数に渡される日付に設定します。
// 関数の引数 seldate
integer li_return
li_return = mc_1.SetSelectedDate(seldate)
関連項目
1110
GetSelectedDate
SetDateLimits
PowerBuilder
第 10 章 PowerScript の関数
SetSelectedRange
機能
選択した日付の範囲を設定します。
対象
月表示カレンダ コントロール
構文
controlname.SetSelectedRange ( start, end )
引数
controlname
start
end
戻り値
解説
説明
選択した日付の範囲を設定する月表示カレンダ コント
ロールの名前を指定します。
選択される最初の日付として設定する日付の値を指定し
ます。
選択される最後の日付として設定する日付の値を指定し
ます。
Integer 型。正常に終了した場合は 0 を返します。それ以外の場合は、
次のいずれかの負の値を返します。
-1
無効な引数が指定されました。
-2
不明なエラーです。
連続する日付の範囲を選択するには、SetSelectedRange 関数を使用しま
す。
SetSelectedRange は、最初の日付以前の日付を最後の日付として指定し
ている場合は、最初の日付を最後の日付として使用し、最後の日付を
最初の日付として使用します。SetSelectedRange 関数を呼び出す前に、
MaxSelectedCount プロパティの値を、日付の範囲をサポートするのに
十分な大きさに設定する必要があります。指定した日付が SetDateLimits
関数で指定した最初の日付および最後の日付の範囲外である場合、ま
たは範囲が MaxSelectedCount を超えている場合は、SetSelectedRange 関
数は -1 を返します。最初の日付および最後の日付が同じ場合は、単一
の日付が選択されます。
日付の範囲を選択するときにエンド ユーザがナビゲーション ボタン
を使ってカレンダをスクロールすると、日付の範囲がカレンダのスク
ロールに従って変わります。
SetSelectedDate と SetSelectedRange は DateChanged イベントを起動しま
す。特に Post メソッドを使用して、DateChanged イベントの中でこ
れらのメソッドを呼び出すべきではありません。
PowerScript リファレンス ボリューム 2
1111
SetSpacing
例
次の例では、選択する範囲の最初の日付を startdate に、また最後の日
付を enddate に設定します。
integer li_return
Date startdate, enddate
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 行に指定します。
1112
PowerBuilder
第 10 章 PowerScript の関数
rte_1.SetSpacing(Spacing15!)
関連項目
SetTextColor
SetTextStyle
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)
PowerScript リファレンス ボリューム 2
1113
SetTextColor
次のステートメントは、lb_Actions の項目 6 が選択された場合にはハイ
ライト表示を解除し、選択されていない場合には項目をハイライト表
示します。
IF lb_Actions.State(6) = 1 THEN
lb_Actions.SetState(6, FALSE)
ELSE
lb_Actions.SetState(6, TRUE)
END IF
関連項目
SelectItem
SetTop
State
SetTextColor
機能
リッチテキスト エディット コントロールで選択されているテキスト
の色を設定します。
対象
リッチテキスト エディット コントロール
構文
rtename.SetTextColor ( colornumber )
引数
rtename
colornumber
説明
選択されているテキストの色を設定するリッチテキスト
エディット コントロールの名前を指定します。
Long 型の値。選択されているテキストに設定する色を指
定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
色の値の算出についての詳細は、「RGB 関数」を参照してください。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ているテキストの色を暗い赤に設定します。
rte_1.SetTextColor(RGB(100, 0, 0))
関連項目
1114
GetTextColor
RGB
SetTextStyle
PowerBuilder
第 10 章 PowerScript の関数
SetTextStyle
機能
リッチテキスト エディット コントロールで選択されているテキスト
に設定する書式を指定します。テキストには、太字、下線、斜体、お
よび取り消し線のテキスト スタイルを設定できます。また、下付きま
たは上付きの書式を設定することもできます。
対象
リッチテキスト エディット コントロール
構文
rtename.SetTextStyle ( bold, underline, subscript, superscript, italic,
strikeout )
引数
rtename
bold
underline
subscript
superscript
italic
strikeout
説明
選択されているテキストに書式を設定するリッチテキス
ト エディット コントロールの名前を指定します。
Boolean 型の値。選択されているテキストを太字にするか
どうかを指定します。
Boolean 型の値。選択されているテキストに下線を引くか
どうかを指定します。
Boolean 型の値。選択されているテキストを下付きにする
かどうかを指定します。
Boolean 型の値。選択されているテキストを上付きにする
かどうかを指定します。subscript と superscript の両方が
TRUE の場合、subscript の設定が優先され、選択されてい
るテキストは下付きになります。
Boolean 型の値。選択されているテキストを斜体にするか
どうかを指定します。
Boolean 型の値。選択されているテキストに取り消し線を
引くかどうかを指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
例
次の例は、リッチテキスト エディット コントロール rte_1 で選択され
ているテキストに太字と斜体の書式を設定します。
rte_1.SetTextStyle(TRUE, FALSE, FALSE, FALSE, &
TRUE, FALSE)
次の例は、選択されているテキストを下付きにします。テキストのほ
かの書式設定は、変更されません。
rte_1.SetTextStyle(rte_1.GetTextStyle(Bold!), &
rte_1.GetTextStyle(Underlined!), &
TRUE, FALSE, &
rte_1.GetTextStyle(Italic!), &
rte_1.GetTextStyle(Strikeout!))
PowerScript リファレンス ボリューム 2
1115
SetTimeout
関連項目
GetTextStyle
SetSpacing
SetTextColor
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)
1116
PowerBuilder
第 10 章 PowerScript の関数
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)
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 時を過ぎても、コントロールは今日の日付を
自動的に更新しません。
PowerScript リファレンス ボリューム 2
1117
SetToolbar
•
例
コントロールは、ロケールの変更に基づいた表示を自動的に更新
しません。
次の例は、エディットマスク コントロールから日付を取得し、今日の
日付として設定します。
Date currentdate
integer li_return
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! − フレームの下端にツールバーを配置
します。
• Floating! − ツールバーを浮動ツールバーにします。浮動
ツールバーは、独立したウィンドウとして表示されます。
1118
PowerBuilder
第 10 章 PowerScript の関数
引数
floatingtitle
(オプション)
説明
String 型の値。alignment に Floating! が指定されている場合
に表示されるツールバーのタイトルを指定します。
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
ツールバーの配置を 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)
PowerScript リファレンス ボリューム 2
1119
SetToolbarPos
次の例では、エンド ユーザはラジオボタンをクリックして配置を選択
します。ラジオボタンの Clicked イベントは、ToolbarAlignment カタロ
グ データ型のインスタンス変数を設定します。ここでは、ラジオボタ
ンをカスタム ビジュアル ユーザ オブジェクトとしてパッケージ化し
ています。i_toolbaralign は、ユーザ オブジェクトのインスタンス変数
です。[Top]ラジオボタンに対するスクリプトは、次のとおりです。
Parent.i_toolbaralign = AlignAtTop!
次のスクリプトは、ツールバーの配置を変更します。
w_frame.SetToolbar(1, TRUE, &
uo_toolbarpos.i_toolbaralign )
関連項目
GetToolbar
GetToolbarPos
SetToolbarPos
SetToolbarPos
指定されたツールバーの表示位置を設定します。
目的
固定ツールバーを配置する位置
浮動ツールバーの座標とサイズ
使用する構文
構文 1
構文 2
構文 1
固定ツールバーの表示位置を設定する
機能
固定ツールバーの表示位置を設定します。
対象
MDI フレーム、シート ウィンドウ
構文
window.SetToolbarPos ( toolbarindex, dockrow, offset, insert )
引数
window
toolbarindex
dockrow
1120
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。設定を変更するツールバーのインデックス
を指定します。
Integer 型の値。ツールバーを配置する行の番号を指定しま
す。配置する行には、左から右、または上から下へ番号が
付けられています。
PowerBuilder
第 10 章 PowerScript の関数
引数
offset
説明
Integer 型の値。ツールバーを配置する行の先頭からの距離
を指定します。上端または下端にあるツールバーの offset
は、左端から測定されます。左端または右端にあるツール
バーの offset は、上端から測定されます。
insert が TRUE の場合、offset に指定された距離は調整され
るので、行内の既存のツールバーとは重なりません。
insert
dockrow の先頭にツールバーを配置するには、offset に 0 を
指定します。
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 関数で設定された値を
置き換えます。
PowerScript リファレンス ボリューム 2
1121
SetToolbarPos
例
次の例は、ツールバー 1 をウィンドウの左端に配置し、1 行目に追加
します。
w_frame.SetToolbar(1, TRUE, AlignAtLeft!)
w_frame.SetToolbarPos(1, 1, 1, FALSE)
次の例は、ツールバー 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
1122
説明
ツールバーが設定されている MDI フレームまたはシート
を指定します。
Integer 型の値。設定を変更するツールバーのインデックス
を指定します。
Integer 型の値。浮動ツールバーの x 座標を指定します。
Integer 型の値。浮動ツールバーの y 座標を指定します。
Integer 型の値。浮動ツールバーの幅を指定します。
Integer 型の値。浮動ツールバーの高さを指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合、1 を返します。指定したインデック
スにツールバーがない場合、またはエラーが発生した場合には -1 を返
します。引数のいずれかの値が NULL の場合、NULL を返します。
解説
ツールバーの配置が浮動ではなく固定の場合、SetToolbar 関数を使用し
て配置を浮動に変更すると、SetToolbarPos 関数の構文 2 に指定されて
いる値が有効になります。
エンド ユーザがツールバーを浮動の領域までドラッグすると、新しい
表示位置の値は、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)
PowerScript リファレンス ボリューム 2
1123
SetTop
// サイズを考慮して位置を設定します。
w_frame.SetToolbarPos(2, &
w_frame.WorkspaceWidth( ) - iw, &
w_frame.WorkspaceHeight( ) &
- ih - w_frame.MDI_1.MicroHelpHeight, &
iw, ih)
// 配置を浮動に設定します。
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())
関連項目
1124
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
1125
SetTransPool
関連項目
BuildModel
SetTransPool
機能
アプリケーションのデータベース トランザクションのプールを設定
します。SetTransPool 関数を使用すると、データベース接続に関連付け
られているオーバーヘッドを最小に抑え、データベース接続の数を制
限することもできます。
対象
Application オブジェクト
構文
applicationname.SetTransPool ( minimum, maximum, timeout )
引数
applicationname
minimum
maximum
timeout
説明
トランザクション プールを設定するアプリケーション オ
ブジェクトの名前を指定します。
プールで開いておくトランザクションの最小数を指定し
ます。
プールで開いておくトランザクションの最大数を指定し
ます。
トランザクション プールでリクエストが接続待ちできる
秒数を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
トランザクション プールは、一度に開くことのできるデータベース接
続の数を制限すると同時に、データベースのスループットを最大限に
高めます。データベースへ接続する前にトランザクション プールの値
を設定することによって、アプリケーションは同じデータソースへの
接続を再利用することができます。
アプリケーションがトランザクション プールを使用せずにデータ
ベースに接続すると、PowerBuilder は DISCONNECT 文が発行された各
データベース処理を物理的に終了します。トランザクション プールが
有効な場合、PowerBuilder は論理的にデータベース接続を終了し、す
べてのデータベースへの変更をコミットします。ただし、物理的には
終了しません。したがって、データベース接続はトランザクション
プール内で開かれたままになり、ほかのデータベース操作で再利用で
きるようになります。
1126
PowerBuilder
第 10 章 PowerScript の関数
PowerBuilder はトランザクション プールのデータベース接続を再利用
するときに、接続要求で指定されたデータベース パラメータがプール
にある接続と同じかどうかをチェックします。両方のトランザクショ
ン オブジェクトが同じ DBMS、ServerName、LogID、LogPass、Database、
DBParm の値を指定している場合に、両方のデータベース接続は同じ
であると判断されます。
SetTransPool 関数で指定された最小値は、最大値以下でなければなりま
せん。最小値が最大値よりも小さく、プールのトランザクション数が
最小値より多い場合、PowerBuilder は接続数が最小値になるまで、
DISCONNECT 文が発行されるたびに物理的に接続を終了します。
トランザクション プールで指定された最大値は、アプリケーションで
のデータベース接続の合計数を制限します。トランザクション プール
のデータベース接続の数が最大値のときに接続要求があると、タイム
アウト間隔を超えるまで、その接続は接続待ちの状態になります。タ
イムアウト間隔を超えても接続できない場合、その接続はエラーにな
ります。
アプリケーションにトランザクション プールを設定するには、データ
ベースに接続する前に SetTransPool 関数を発行する必要があります。
例
PowerBuilder のサーバ アプリケーションが分散されている環境で、同
一データ ソースの短いデータベース トランザクションを大量に処理
する場合、そのアプリケーションの Open イベントで次のステートメ
ントを発行します。
server_app.SetTransPool(12,16,10)
このステートメントは、このサーバを介して 16 個のデータベース接続
をサポートし、12 個の接続を開いたままにしておくことを指定しま
す。接続が最大数に達すると、それ以降の各接続要求はプール内で接
続できるようになるまで、10 秒間待ちます。10 秒を超えると、接続は
失敗しますが、エラーは返されません。接続が有効かどうかを確認す
るには、DBHandle 関数を使用します。
次のステートメントは、このサーバを介して 8 個のデータベース接続
をサポートし、8 個の接続すべてを開いたままにしておくことを指定
します。トランザクション プールが最大になると、それ以降の接続要
求は即座に失敗します。
server_app.SetTransPool(8,8,0)
PowerScript リファレンス ボリューム 2
1127
SetTransPool
関連項目
DBHandle
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの SetTrans メソッド
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの SetTransObject メソッド
1128
PowerBuilder
第 10 章 PowerScript の関数
SharedObjectDirectory
機能
共有するように登録されたオブジェクトのリストを検索します。
構文
SharedObjectDirectory ( instancenames {, classnames } )
引数
instancenames
classnames
(オプション)
戻り値
説明
共有するために登録したオブジェクトの名前を格納する
結合していない String 型の配列を指定します。
共有するために登録したオブジェクトのクラス名を格納
する結合していない String 型の配列を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FeatureNotSupportedError! − この関数はこのプラットフォームで
はサポートされていません。
解説
この関数を使用して、共有するように登録されたオブジェクトのリス
トを取得します。
例
次の例では、アプリケーションが共有オブジェクトとそのクラス名の
リストを検索します。
errorreturn status
string InstanceNames[]
string ClassNames[]
status = SharedObjectDirectory(InstanceNames, &
ClassNames)
関連項目
SharedObjectGet
SharedObjectRegister
PowerScript リファレンス ボリューム 2
1129
SharedObjectGet
SharedObjectGet
機能
共有オブジェクト インスタンスの参照を取得します。
構文
SharedObjectGet ( instancename , objectinstance )
引数
instancename
objectinstance
戻り値
解説
説明
参照を取得する共有オブジェクト インスタンスの名前を
指定します。指定する名前は、SharedObjectRegister 関数
で最初に登録されたときのオブジェクト インスタンスに
与えられた名前と一致しなければなりません。
共有オブジェクトのインスタンスを格納する PowerObject
型のオブジェクト変数を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
SharedObjectCreateInstanceError! − 共有オブジェクトに対するロー
カル参照を作成できませんでした。
•
SharedObjectNotExistsError! − そのインスタンス名は登録されてい
ません。
SharedObjectGet 関数は、
SharedObjectRegister 関数で作成されたオブジェ
クトの参照を検索します。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。クライアント
のメイン スレッドから、共有オブジェクト上の関数を非同期に呼び出
します。このとき渡すコールバック オブジェクトに、サーバ上での処
理の完了時の通知が行われます。共有オブジェクト上のこのメソッド
は、処理を実行する EAServer コンポーネント上のメソッドを同期呼び
出しします。共有オブジェクトがクライアント上の個別のスレッド内
で動作しているので、クライアントのメイン スレッドはサーバ上でプ
ロセスの動作中にほかの作業を続行できます。
例
次の例では、共有オブジェクトを使用して EAServer コンポーネントの
メソッドに対して非同期要求を行った後、データをクライアント アプ
リケーション ウィンドウに返しています。クライアントは、そのウィ
ンドウに Retrieve ボタンがあり、さらに SetDW 関数、共有オブジェク
ト、およびコールバック ハンドラを持ちます。EAServer に配布された
コンポーネントがデータベースから従業員の情報を検索します。
ウィンドウの Retrieve ボタンは、EAServer と通信する共有オブジェク
トをコールバック ハンドラのインスタンスとともに作成します。
1130
PowerBuilder
第 10 章 PowerScript の関数
// インスタンス変数:
// uo_sharedobject iuo_sharedobject
// uo_callback iuo_callback
long ll_rv
SharedObjectRegister("uo_sharedobject","myshare")
SharedObjectGet("myshare",iuo_sharedobject)
iuo_callback = CREATE uo_callback
// ウィンドウの参照をコールバック
// オブジェクトに渡します。
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 があります。
PowerScript リファレンス ボリューム 2
1131
SharedObjectGet
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
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
1132
PowerBuilder
第 10 章 PowerScript の関数
関連項目
SharedObjectRegister
SharedObjectUnregister
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの GetFullState メソッド と SetFullState メソッド
SharedObjectRegister
機能
ユーザ オブジェクトを登録して共有できるようにします。
構文
SharedObjectRegister ( classname , instancename )
引数
classname
instancename
戻り値
解説
説明
共有するユーザ オブジェクトの名前を指定します。
共有オブジェクト インスタンスに割り当てる名前を指定
する文字列値です。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
SharedObjectExistsError! − そのインスタンス名はすでに使用され
ています。
•
SharedObjectCreateInstanceError! − オブジェクトは作成できません
でした。
•
SharedObjectCreatePBSessionError! − 共有オブジェクト セッション
は作成できませんでした。
SharedObjectRegister 関数を呼び出すときに、PowerBuilder は、共有オブ
ジェクト用に別のランタイム セッションを開き、共有オブジェクトを
作成し ます。そ のオブ ジェク ト イン スタン スに指 定した 名前で、
SharedObjectGet 関数を使ってそのオブジェクト インスタンスにアクセ
スできます。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。詳細について
は、SharedObjectGet 関数の説明を参照してください。
PowerScript リファレンス ボリューム 2
1133
SharedObjectUnregister
例
次の例では、ユーザ オブジェクト uo_customers を登録し、共有できる
ようにします。共有オブジェクト インスタンスに割り当てられる名前
は、share1 です。オブジェクトを登録してからは、アプリケーション
は SharedObjectGet 関数を使ってオブジェクト変数にオブジェクトのイ
ンスタンスを格納します。
SharedObjectRegister("uo_customers", "share1")
SharedObjectGet("share1",shared_object)
関連項目
SharedObjectGet
SharedObjectUnregister
SharedObjectUnregister
機能
以前に登録されたユーザ オブジェクトの登録を取り消します。
構文
SharedObjectUnregister ( instancename )
引数
instancename
戻り値
解説
説明
共有オブジェクト インスタンスにそれが最初に登録され
たときに割り当てられた名前を指定します。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
SharedObjectNotExistsError! − そのインスタンス名は登録されてい
ません。
この関数は、共有オブジェクトを破棄するように印を付けます。しか
し、マークされたオブジェクトは実際にはそのオブジェクトへの参照
がなくなるまで破棄されません。
PowerBuilder クライアント上の共有オブジェクトを使用することで、
EAServer への非同期呼び出しをシミュレートできます。詳細について
は、SharedObjectGet 関数の説明を参照してください。
例
次の例では、アプリケーションが share1 と呼ばれるオブジェクト イン
スタンスの登録を取り消します。
SharedObjectUnregister("share1")
関連項目
1134
SharedObjectRegister
PowerBuilder
第 10 章 PowerScript の関数
Show
機能
オブジェクトやコントロールが非表示のとき、それを表示します。そ
のオブジェクトがすでに表示されているとき、Show 関数はそれを最前
面に表示します。
対象
すべてのオブジェクト
構文
objectname.Show ( )
引数
objectname
説明
見える状態にする(表示する)オブジェクトまたはコント
ロールの名前を指定します。
戻り値
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
PowerScript リファレンス ボリューム 2
1135
ShowHeadFoot
ShowHeadFoot
機能
リッチテキスト エディット コントロールで、ヘッダとフッタを編集す
るパネルを表示するか、またはパネルを非表示にしてメイン テキスト
の編集画面に戻ります。
対象
リッチテキスト エディット コントロール、提示様式がリッチテキスト
のデータウィンドウ コントロール
構文
rtename.ShowHeadFoot ( editheadfoot )
引数
rtename
editheadfoot
説明
ヘッダとフッタを編集するリッチテキスト エディット コ
ントロールまたはデータウィンドウ コントロールの名前
を指定します。
表示する編集パネルを指定する Boolean 型の値。値は以下
のとおりです。
• TRUE − ヘッダとフッタの編集パネル
• FALSE − メイン テキストの編集パネル
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
ShowHeadFoot 関数は、コントロールがプレビュー モードまたはメイン
テキストの編集モードで表示されている場合に有効です。コントロー
ルがプレビュー モードで表示されている場合にこの関数を呼び出す
と、編集モードに戻ります。editheadfoot に指定された値は、メイン テ
キストのパネルを表示するか、ヘッダとフッタのパネルを表示するか
を決めます。
ヘッダとフッタには、ページ番号と日付の入力フィールドを含めるこ
とができます。PrintHeader イベントと PrintFooter イベントのスクリプ
トは、これらのフィールドに値を設定することができます。
データウィンドウ コントロールの場合、データウィンドウ オブジェク
トの提示様式がリッチテキストでないときには、ShowHeadFoot 関数は
無効です。
例
次の例は、ヘッダとフッタの編集パネルを表示し、エンド ユーザがそ
の内容を指定できるようにします。
rte_1.ShowHeadFoot(TRUE)
関連項目
1136
Preview
PowerBuilder
第 10 章 PowerScript の関数
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 の文字列が固有値で
ないときには、ヘルプ検索ウィンドウを表示します。
PowerScript リファレンス ボリューム 2
1137
ShowPopupHelp
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 を返します。
1138
PowerBuilder
第 10 章 PowerScript の関数
解説
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)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sign メソッド
PowerScript リファレンス ボリューム 2
1139
SignalError
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"
1140
PowerBuilder
第 10 章 PowerScript の関数
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))
関連項目
ASin
Cos
Pi
Tan
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sin メソッド
PowerScript リファレンス ボリューム 2
1141
Sleep
Sleep
機能
指定した期間、アプリケーションを一時停止します。
構文
Sleep ( seconds )
引数
seconds
戻り値
説明
Long 型の値。アプリケーションを一時停止させる秒数を
指定します。
Integer 型。関数が正常に終了した場合は 1 を返し、エラーが発生した
場合は -1 を返します。
例
次の例は、アプリケーションを 5 秒間、一時停止させます。
Sleep ( 5 )
Sort
データウィンドウ コントロール、データストア オブジェクトまたは子
データウィンドウ、あるいはツリービュー またはリストビュー コント
ロールの行をソートします。
データウィンドウおよびデータストアの場合の構文については、
『デー
タウィンドウ リファレンス』マニュアルまたはオンライン ヘルプの
「Sort メソッド」を参照してください。
ソートの対象
ツリービュー コントロールの項目
リストビュー コントロールの項目
使用する構文
構文 1
構文 2
構文 1
ツリービュー コントロールの項目をソートする
機能
ツリービュー コントロールの項目の子をソートします。
対象
ツリービュー コントロール
構文
treeviewname.Sort ( itemhandle , sorttype )
引数
treeviewname
itemhandle
1142
説明
ツリービュー コントロールの名前を指定します。指定され
たコントロールの項目をソートします。
項目を指定します。指定された項目の子をソートします。
PowerBuilder
第 10 章 PowerScript の関数
引数
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
(オプション)
PowerScript リファレンス ボリューム 2
説明
リストビュー コントロールを指定します。指定されたコン
トロールの項目をソートします。
使用するソート方法を指定します。値は以下のとおりです。
Ascending!
Descending!
Unsorted!
UserDefinedSort!
カラム番号を指定します。指定されたカラムに基づいてリ
ストビュー コントロールの項目をソートします。
1143
SortAll
戻り値
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 プロパティがソートを呼び出
したときに自動的にソートされます。
1144
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、現行のツリービュー コントロールの項目のすべての下位項
目をソートします。
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
PowerScript リファレンス ボリューム 2
1145
Space
Space
機能
指定された長さのスペース(半角)で構成される文字列を返します。
構文
Space ( n )
引数
n
説明
スペース(空白文字)で構成される文字列の長さを指定す
る Long 型の数値を指定します。最大値は、文字列の最大
の長さである 2,147,483,647 です。
戻り値
String 型。正常に終了した場合は n 個のスペースを持つ文字列を返し、
エラーが発生した場合には空の文字列("")を返します。n が NULL の
場合、NULL を返します。
例
次のステートメントは、Name に 4 つのスペースを持つ文字列を代入し
ます。
string Name
Name = Space(4)
次のステートメントは、文字列 Name に 40 個のスペースを代入します。
string Name
Name = Space(40)
関連項目
1146
Fill
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Space メソッド
PowerBuilder
第 10 章 PowerScript の関数
Sqrt
機能
ある数値の平方根を計算します。
構文
Sqrt ( n )
引数
n
説明
平方根を計算する数値を指定します。
戻り値
Double 型。正常に終了した場合は n で指定された数値の平方根を返し
ます。n が NULL の場合、NULL を返します。
解説
Sqrt(n) は、n^.5 と同じ意味です。
負の数の平方根を計算しようとすると、実行時にエラーが発生します。
例
次のステートメントは、1.414213562373095 を返します。
Sqrt(2)
次のステートメントは、実行時にエラーが発生します。
Sqrt(-2)
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Sqrt メソッド
PowerScript リファレンス ボリューム 2
1147
Start
Start
Start 関数には、2 つの構文があります。
目的
パイプライン オブジェクトを実行する
タイミング オブジェクトをアクティブ化する
使用する構文
構文 1
構文 2
構文 1
パイプライン オブジェクトを実行する
機能
パイプライン オブジェクトを実行し、パイプライン オブジェクトの
SQL クエリによって指定された転送先に、転送元からデータを転送し
ます。このパイプライン オブジェクトは、パイプライン システム オ
ブジェクトから継承したユーザ オブジェクトのプロパティを持ちま
す。
対象
パイプライン オブジェクト
構文
pipelineobject.Start ( sourcetrans, destinationtrans, errorobject
{, arg1, arg2,..., argn } )
引数
pipelineobject
sourcetrans
destinationtrans
errorobject
argn
(オプション)
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
負の値を返します。エラーが発生した場合、次のいずれかの値を返し
ます。
-1
-2
-3
-4
-5
-6
1148
説明
実行するパイプライン オブジェクトを含むパイプライン
ユーザ オブジェクトの名前を指定します。
転送元のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
転送先のデータベースに接続するために使用するトラン
ザクション オブジェクトの名前を指定します。
パイプライン エラー データウィンドウを格納するデータ
ウィンドウ コントロールまたはデータストアの名前を指
定します。
データ パイプライン ペインタのパイプライン オブジェク
トに指定された 1 つ以上の検索引数を指定します。
パイプのオープンに失敗しました。
カラムの数が多すぎます。
テーブルはすでに存在しています。
テーブルが存在しません。
接続していません。
引数に誤りがあります。
PowerBuilder
第 10 章 PowerScript の関数
-7 カラムが一致していません。
-8 転送元に致命的な SQL のエラーがあります。
-9 転送先に致命的な SQL エラーがあります。
-10 エラーの最大数を超えました。
-12 テーブル構文に誤りがあります。
-13 必要なキーが与えられていません。
-15 パイプはすでに進行中です。
-16 転送元のデータベースにエラーがあります。
-17 転送先のデータベースにエラーがあります。
-18 転送先のデータベースは読み出し専用です。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
パイプラインの転送には、複数の PowerBuilder のオブジェクトが関連
します。次のオブジェクトが必要です。
•
パイプライン オブジェクト。データ パイプライン ペインタで定義
します。どのようなデータを転送するのか、またはそのデータを
転送元のデータベースのテーブルから転送先のデータベースの
テーブルにどのようにマッピングするのかを指定する SQL 文が含
まれます。
•
ユーザ オブジェクト。パイプライン システム オブジェクトから継
承されたものです。パイプライン転送の進行をチェックするため
のプロパティを引き継いでいます。ペインタで、インスタンス変
数を定義し、パイプラインのイベントに対するスクリプトを記述
します。
•
ウィンドウ。パイプライン エラー データウィンドウとして使用す
るデータウィンドウ コントロールまたはデータストアを持ってい
ます。データウィンドウ オブジェクトを、そのデータウィンドウ
コントロールに配置しないでください。パイプラインの実行時に
エ ラ ー が 発 生 し た 場 合、デ ー タ ウ ィ ン ド ウ コ ン ト ロ ー ル は、
PowerBuilder のパイプライン エラー データウィンドウ オブジェク
トを表示します。
また、ウィンドウには、パイプラインの実行、エラーの修復、キャン
セルなどを行うためのボタンやメニューなどを持たせることもできま
す。これらを実行するスクリプトには、Start 関数、Repair 関数、およ
び Cancel 関数を使用します。
PowerScript リファレンス ボリューム 2
1149
Start
アプリケーションがパイプラインを実行する前に、転送元と転送先の
データベースを接続し、ユーザ オブジェクトのインスタンスを作成
し、ユーザ オブジェクトの DataObject プロパティにパイプライン オブ
ジェクトを割り当てておく必要があります。その後で、Start 関数を呼
び出してパイプラインを実行します。1 つまたは複数のスクリプトに、
この処理を記述します。
パイプラインを実行すると、転送されるデータはデータ パイプライン
ペインタで定義した内容に従ってコミットされます。次のような指定
ができます。
•
パイプラインが終了すると、データはコミットされます。エラー限
界の最大数を超えると、すべてのデータがロールバックされます。
•
指定された行数が転送された後、データは通常のインターバルで
コミットされます。エラー限界の最大数を超えたときは、転送さ
れたすべての行がコミットされます。
データ パイプライン ペインタにおけるパイプライン オブジェクトの
指定方法や、その設定がコミットに与える影響についての詳細は、
『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)
関連項目
1150
Cancel
Repair
PowerBuilder
第 10 章 PowerScript の関数
構文 2
タイミング オブジェクトをアクティブ化する
機能
Timer イベントを指定された間隔で繰り返し行われるようにするタイ
ミング オブジェクトをアクティブにします。
対象
タイミング オブジェクト
構文
timingobject.Start ( interval )
引数
timingobject
interval
説明
アクティブにしたいタイミング オブジェクトの名前を指
定します。
Timer イベント間の秒数を Double 型で指定します。interval
は 0 より大きく 4,294,967 秒以下の自然数または分数で指
定できます。間隔 0 は無効です。
戻り値
Integer 型。正常に終了した場合は、1 を返します。タイマーがすでに
実行されている場合、指定された間隔が無効な場合、または使用でき
るシステム タイマーがない場合は、-1 を返します。
解説
Start 関数のこの構文は、非表示のタイミング オブジェクトをアクティ
ブにするのに使用されます。タイミング オブジェクトは、PowerBuilder
ウィンドウと関連付けられていない Timer イベントを起動するために
使用できます。したがって、各クライアント接続用のウィンドウがな
い分散アプリケーション サーバまたは共有オブジェクトには便利で
す。
タイミング オブジェクトは、Timing システム オブジェクトから継承さ
れた標準クラス ユーザ オブジェクトです。タイミング オブジェクト
を作成し、その Timer イベントをコーディングすると、オペレーティ
ング システムの制限内でオブジェクトのインスタンスをいくつでも
作成できます。オペレーティング システムは、タイマーの固定された
数値をサポートします。これらのタイマーのいくつかは、PowerBuilder
およびそのほかのアプリケーションまたはオペレーティング システ
ム自身ですでに使用されています。
タイミング オブジェクトのインスタンスをアクティブにするには、
Timer イベント間の interval を指定する Start 関数を呼び出します。その
インスタンスの Timer イベントは指定された間隔の後ですぐに起動さ
れ、タイミング オブジェクトのそのインスタンスで Stop 関数が呼び出
されるまで、またはそのオブジェクトが破棄されるまで継続します。
PowerScript リファレンス ボリューム 2
1151
Start
Timer イベントはいつ起こるか
Start 関数に指定される interval は Timer イベントの間隔の最小値です。
そのほかのすべてのポストされたイベントは Timer イベントの前に起
こります。
間隔の精度は、オペレーティング システムによって異なります。
タイミング間隔をいくつにするか、およびタイマー オブジェクトの
Interval と Running プロパティにアクセスすることによってタイマーを
実行するかどうかを決めることができます。これらのプロパティは、
読み込みのみのアクセスです。タイミング間隔の値を変更するには、
タイマーをストップし再起動しなければなりません。
ガベージ コレクション
タイミング オブジェクトが実行されていれば、ガベージ コレクション
にはまわされません。ガベージコレクションは、タイミング オブジェ
クトが実行されておらず、それに対する参照がないときにのみ起こり
ます。
例
例 1 ローカル クライアントが、データベースの値に基づいて株券の
ポートフォリオの値を計算するなどのいくつかの処理を行う分散処理
アプリケーションがあるとします。クライアントは、データベースか
らデータの値を検索するためにリモート サーバ上のユーザ オブジェ
クトを要求します。
標準クラス ユーザ オブジェクトを Timing システム オブジェクトから
継承された uo_timer と呼ばれるサーバに作成し、データをリフレッ
シュするためにその Timer イベントをコーディングします。続いて、以
下のスクリプトがタイミング オブジェクト uo_timer のインスタンス、
MyTimer を作成します。Start 関数は、サーバへの要求が 60 秒の間隔で
発行されるように 60 秒ごとにタイマーをアクティブにします。
uo_timer MyTimer
MyTimer = CREATE uo_timer
MyTimer.Start(60)
1152
PowerBuilder
第 10 章 PowerScript の関数
次の例では、タイマーを起動し、ヒット数を数え、タイマーをス
トップし、ウィンドウを閉じるためのボタンがあるウィンドウの共有
オブジェクトとしてタイミング オブジェクトを使用しています。ス
テータスは、sle_state と呼ばれるシングルライン エディットで示され
ます。タイミング オブジェクトである uo_timing は、Timing システム
オブジェクトから継承された標準クラス ユーザ オブジェクトです。接
続の回数を維持する 1 つのインスタンス変数を持ちます。
例2
long il_hits
タイミング オブジェクト、uo_timing は 3 つの関数を持ちます。
•
of_connect は、il_hits を加算し、整数を返します(この例では、簡
略にするために接続スクリプトを省略します)。
il_hits++
// 接続スクリプトは省略されました。
RETURN 1
•
of_hitcount は、il_hits の値を返します。
RETURN il_hits
•
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"
PowerScript リファレンス ボリューム 2
1153
Start
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
ヒット数取得ボタンは、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"
1154
PowerBuilder
第 10 章 PowerScript の関数
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")
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
PowerScript リファレンス ボリューム 2
1155
StartHotLink
StartHotLink
機能
DDE サーバ アプリケーションとホット リンクを確立して、指定され
たデータに変更があれば、すぐに PowerBuilder にその変更が通知され
るようにします。DDE サーバ アプリケーション内でデータが変更され
ると、DDE アプリケーションで HotLinkAlarm イベントが起動します。
構文
StartHotLink ( location, applname, topic )
引数
location
applname
topic
戻り値
説明
データの位置を示す文字列を指定します。ここに値の変更
があると HotLinkAlarm イベントが起動します。位置を表
す書式は、そのデータを持つアプリケーションによって異
なります。
String 型の値。サーバ アプリケーションの DDE 名を表す
文字列を指定します。
データまたはアプリケーションのインスタンスを識別する
文字列を指定します。ここに変更があると、HotLinkAlarm
イベントが起動します。たとえば、Microsoft Excel の場
合、トピック名を開かれているスプレッドシートの名前
にします。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、以下の負の整数のいずれかを返します。値は以下のとおりです。
-1
-2
サーバがありません。
リクエストが拒否されました。
引数のいずれかの値が NULL の場合、NULL を返します。
解説
例
ホット リンクの確立後、HotLinkAlarm イベントに対するスクリプトで
次の関数を呼び出すことができます。
•
GetDataDDEOrigin 関数 − どのアプリケーションがデータの変更を
通知したかを調べます。
•
GetDataDDE 関数 − 新しいデータを取得します。
•
RespondRemote 関数 − データを受け取ったことを通知します。
次の例では、ある PowerBuilder アプリケーションが StartServerDDE 関
数を呼び出してサーバ アプリケーションを MyPBApp として識別して
いるとします。クライアント アプリケーションで記述されている次の
ステートメントは、MyPBApp のデータにホット リンクを確立します。
location と topic に指定する値は、MyPBApp が定義している規約によっ
て異なります。
StartHotLink("Any", "MyPBApp", "Any")
1156
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは、Microsoft Excel にホット リンクを確立し、
REGION.XLS の行 1、カラム 2 のデータが変更された場合に
PowerBuilder のウィンドウに通知します。
StartHotLink("R1C2", "Excel", "Region.XLS")
関連項目
StopHotLink
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 要求を送信します。
PowerScript リファレンス ボリューム 2
1157
StartServerDDE
表 10-10: DDE 要求で起動されるイベントと各イベントで使用できる DDE
関数
クライアントの
アクション
ホット リンクに対して
要求を送信する
アプリケーションにコマ
ンドを送信する
起動される
イベント
RemoteHotLinkStart
使用できる関数
−
関数の用途
−
RemoteExec
GetCommandDDE
コマンドを取得する
GetCommandDDEOrigin
データを送信する
RemoteSend
コマンドを送信したクライ
アント アプリケーション
を特定する
データを取得する
GetDataDDE
RespondRemote
データを送信したクライア
ント アプリケーションを
特定する
要求されたデータを送信す
る
−
要求を受け取ったことを通
知する
−
GetDataDDEOrigin
サーバ アプリケーショ RemoteRequest
ンにデータを要求する
ホット リンクの終了を RemoteHotLinkStop
要求する
例
SetDataDDE
次のステートメントは、PowerBuilder アプリケーションに対して、サー
バとしての動作を開始させます。このサーバ アプリケーションは、
MyPBApp という名前でほかの DDE アプリケーションに通知されま
す。そのトピックは System という名前で、Table1 と Table2 という名前
の項目をサポートしています。
StartServerDDE(w_emp, "MyPBApp","System", &
"Table1", "Table2")
関連項目
1158
StopServerDDE
PowerBuilder
第 10 章 PowerScript の関数
State
機能
リストボックス コントロール内の項目が、ハイライト表示されている
かどうかを調べます。
対象
リストボックス コントロール、ピクチャ リストボックス コントロール
構文
listboxname.State ( index )
引数
listboxname
index
戻り値
解説
説明
リストボックス コントロールまたはピクチャ リストボッ
クス コントロールの名前を指定します。その中の index で
指定された項目のハイライト表示の状態を取得します。
状態を取得する項目の番号を指定します。
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 関数は、選択されている項目が見つかるたびにその
項目を表示します。選択された値の配列やリストを作成する処理を記
述することもできます。
PowerScript リファレンス ボリューム 2
1159
State
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 ...
関連項目
1160
SelectedItem
SetState
PowerBuilder
第 10 章 PowerScript の関数
StepIt
機能
プログレスバー コントロールの現行位置を、このコントロールの
SetStep プロパティに指定された値だけ進めます。
対象
プログレスバー コントロール
構文
control.StepIt ( )
引数
control
説明
プログレスバーの名前を指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。
解説
StepIt 関数では、SetStep プロパティの値によって現行位置がプログレ
スバーの範囲を超えると、プログレスバー上の位置が先頭位置に戻り
ます。たとえば、SetStep の値が 40、現行位置が 80 で、範囲が 0 から
100 に設定されている場合に StepIt 関数を呼び出すと、再描画後のプロ
グレスバーの位置は 20 になります。
SetStep プロパティには負の値を設定することもできます。SetStep プロ
パティのデフォルト値は 10 です。
例
次のステートメントは、プログレスバー コントロールに SetStep の増
分値を加えます。
HProgressBar.StepIt ( )
関連項目
SetRange
PowerScript リファレンス ボリューム 2
1161
Stop
Stop
Stop 関数には、次の 2 つの構文があります。
目的
タイミング オブジェクトを非アクティブ化する
アニメーションの再生を停止する
使用する構文
構文 1
構文 2
構文 1
タイミング オブジェクトを非アクティブ化する
機能
タイミング オブジェクトを非アクティブ化します。
対象
タイミング オブジェクト
構文
timingobject.Stop ( )
引数
timingobject
説明
非アクティブ化したいタイミング オブジェクトの名前を
指定します。
戻り値
Integer 型。正常に終了した場合は 1 を返します。タイマーが起動して
いないまたは止められない場合は -1 を返します。
解説
この関数を使ってタイミング オブジェクトを非アクティブにします。
止められたタイマーは Start 関数で再びアクティブ化できます。
例
次のステートメントは、タイミング オブジェクト インスタンス MyTimer
を停止します。
MyTimer.Stop()
関連項目
Start
構文 2
アニメーションの再生を停止する
機能
アニメーション AVI クリップの再生を停止します。
対象
アニメーション コントロール
構文
animationname.Stop ( )
引数
animationname
1162
説明
AVI クリップを表示しているアニメーション コントロー
ルの名前を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
Integer 型。正常に終了した場合は 1 を返します。アニメーションが動
作していない、または停止できなかった場合は -1 を返します。
解説
この関数を使って、再生中のアニメーションを停止します。停止され
たアニメーションは Start 関数で再び開始できます。
例
次のステートメントは、アニメーション コントロール MyAnimation で
再生中の AVI クリップを停止します。
MyAnimation.Stop()
関連項目
Play
StopHotLink
機能
DDE サーバ アプリケーションへのホット リンクを終了します。
注意
すべての引数は、StartHotLink 関数を呼び出したときに指定した引数と
一致している必要があります。
構文
StopHotLink ( location, applname, topic )
引数
location
applname
topic
戻り値
説明
String 型の値。ホット リンクを終了する位置を指定しま
す。StartHotLink 関数で指定した値と同じ値を指定してく
ださい。
String 型の値。サーバ アプリケーションの DDE 名を指定
します。StartHotLink 関数で指定した値と同じ値を指定し
てください。
ホット リンクを終了させるデータまたはアプリケーショ
ン の イ ン ス タ ン ス を 識 別 す る 文 字 列 を 指 定 し ま す。
StartHotLink 関数で指定した文字列と同じ文字列を指定し
てください。
Integer 型。正常に終了した場合、1 を返します。エラーが発生した場
合、次のいずれかの値を返します。
-1 リンクは開始されていません。
-2 リクエストが拒否されました。
-3 サーバを終了することはできません。
引数のいずれかの値が NULL の場合、NULL を返します。
PowerScript リファレンス ボリューム 2
1163
StopServerDDE
例
ある 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")
関連項目
StartHotLink
StopServerDDE
機能
アプリケーションの DDE サーバとしての動作を終了させます。これ以
降、DDE クライアントからのすべての要求がエラーになります。
構文
StopServerDDE ( { windowname, } applname, topic )
引数
windowname
(オプション)
applname
topic
戻り値
説明
サーバ ウィンドウの名前を指定します。特に指定しない限
り、現行のウィンドウの名前が設定されます。複数のサー
バ ウィンドウを使用している場合、windowname の指定が
必要です。
アプリケーションの DDE 名を指定します。
StartServerDDE 関数を呼び出したときに宣言したトピッ
クを表す文字列を指定します。
Integer 型。正常に終了した場合は 1 を返し、エラーが発生した場合は
-1 を返します。DDE サーバとして動作を開始していないことを意味し
ます。引数のいずれかの値が NULL の場合、NULL を返します。
注意
applname と topic の各引数は、StartServerDDE 関数を呼び出したときに
指定した引数と一致している必要があります。
例
1164
次のステートメントは、PowerBuilder アプリケーション MyPBApp の
サーバとしての動作を終了させます。
PowerBuilder
第 10 章 PowerScript の関数
StopServerDDE(w_emp, "MyPBApp", "System")
関連項目
StartServerDDE
String
String 関数には、次の 2 つの構文があります。
目的
使用する構文
指定された表示書式マスクに従ってデータを文字列に変 構文 1
換する
Blob 型のデータを文字列に変換する
構文 2
構文 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 が互換性のな
いデータ型の場合には、空の文字列("")を返します。
PowerScript リファレンス ボリューム 2
1165
String
解説
Date 型、DateTime 型、数値型、Time 型のデータに書式を指定しなかっ
た場合、PowerBuilder はシステムの標準書式を使用します。数値型デー
タの場合は、標準書式は [General] 書式です。
文字列には、表示マスクの指定が必要です。指定しなかった場合、こ
の関数は何も実行しません。
書式には、1 つ以上のマスクを指定できます。
•
Date 型、DateTime 型、String 型、Time 型のデータの書式には、1
つまたは 2 つのマスクを指定できます。最初のマスクはデータの
書式です。2 番目のマスクは NULL 値の書式です。
•
数値型のデータの書式には、マスクを 4 つまで指定できます。マ
スクを 1 つだけ指定すると、正のデータと負のデータの両方にそ
のマスクを使用します。複数のマスクを指定すると、1 番目のマス
クは正の値、2 番目のマスクは負の値、3 番目のマスクは 0、4 番
目のマスクは NULL 値に対して使用されます。
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" の
ような文字列を返します。
1166
PowerBuilder
第 10 章 PowerScript の関数
String(dw_1.GetItemTime(1, "start_date"))
日付を書式化し、月がテキストで表示される場合(たと
えば、mmm を含む表示書式)、アプリケーションの実行時に利用可能
なランタイム DLL の言語でその月が表示されます。使用開発環境ある
いはユーザのマシン上にローカライズされたランタイム ファイルが
インストールされていれば、そのマシン上では、結果として得られる
文字列内での月の表示は、ローカライズされたファイルの言語により
ます。
国際的な配布
ANSI データの処理 この関数はデータのエンコーディングを指定でき
るようにする encoding 引数がないため、データが ANSI エンコーディ
ングを持つ場合、返される文字列はガベージ文字を含むことができま
す。String 関数から返される ANSI 文字列を Unicode Blob に変換し、そ
れから Blob および String 変換関数で提供される encoding パラメータを
使用して Blob 内の ANSI 文字列を Unicode 文字列に変換することに
よってこれを処理できます。
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'")
PowerScript リファレンス ボリューム 2
1167
String
次のステートメントは、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 を設定します。
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", "@-@-@")
1168
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは、"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")
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの String メソッド
構文 2
Blob 型のデータを変換する
機能
Blob 型のデータを String 型の値に変換します。Blob の値がテキスト
データでない場合には、String 関数はデータを文字として解釈しようと
します。
構文
String ( blob {,encoding} )
引数
blob
encoding
説明
Blob 型の値。指定された値を String 型の値に変換します。
Blob 型の値を格納した Any 型の変数を指定することもで
きます。
変換される Blob 値の文字エンコーディングを指定しま
す。値は以下のとおりです。
• EncodingANSI!
• EncodingUTF8!
• EncodingUTF16LE!(デフォルト)
• EncodingUTF16BE!
PowerScript リファレンス ボリューム 2
1169
String
戻り値
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 関数を参照
してください。
例
次の例は、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 オブジェクトに格納します。
1170
PowerBuilder
第 10 章 PowerScript の関数
pos1 = BlobEdit( bb, 1, test_date)
pos2 = BlobEdit( bb, pos1, test_status )
... // 何らかの処理
// bb に格納された状況を取り出して表示します。
sle_status.text = String( &
BlobMid(bb, pos1, pos2 - pos1))
関連項目
Blob
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの String メソッド
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 ネーミング サービスを使用
せずにプロキシ インスタンスをインスタンス化することができます。
PowerScript リファレンス ボリューム 2
1171
String_To_Object
EJB コンポーネントへの接続
PowerBuilder 7 以前のバージョンでは、JaguarORB String_To_Object 関数
を使用して EAServer の EJB コンポーネントにアクセスしていました。
PowerBuilder 8 以降では、接続オブジェクトの Lookup 関数を使用する
ことで、EAServer の EJB コンポーネントのホーム インタフェースのプ
ロキシをインスタンス化できます。
PowerBuilder 9 では、EJBConnection PowerBuilder 拡張オブジェクトの
Lookup 関数を使用することで、J2EE 準拠のサーバで実行している EJB
コンポーネントのプロキシをインスタンス化できます。
String_To_Object 関数を使ってプロキシのインスタンス化を行う場合、
オブジェクトを直接インスタンス化することになります。この方法の
欠点は、ネーミング サービスによって提供されるサーバ アドレスの抽
象性の持つ利点が失われることです。
ネーミング サービス 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://machinea:9000
サーバがクラスタの一部である場合、objstring 引数に IOR のリストを
セミコロンで区切って含めることができます。
1172
PowerBuilder
第 10 章 PowerScript の関数
String_To_Object 関数を呼び出した後、マネージャ インタフェースを
使ってセッション インタフェースのインスタンスを取得し、これに
よってコンポーネントのインスタンスを作成できます。マネージャお
よびセッション インタフェースを使用する場合は、これらのインタ
フェースのプロキシを作成し、クライアントのライブラリ リストに含
める必要があります。これらのインタフェース上のメソッドについて
の詳細は、URL http://yourhost:yourport/ir/ でインタフェース リポジトリ
に関するドキュメントを参照してください。この URL で、yourhost は
サーバのホスト名、yourport は HTTP ポート番号です。
String_To_Object 関数は、プロキシ オブジェクト参照のシリアライズの
解除にも使用できます。オブジェクト参照をシリアライズすることに
よって、オブジェクトの状態を保存し、クライアントが処理を終了し
た後にも残るようにすることができます。オブジェクト参照のシリア
ライズを解除すれば、シリアライズされた文字列からオブジェクト参
照を取得できます。String_To_Object 関数は、多くの場合、オブジェク
ト参照をシリアライズする Object_To_String 関数とともに使用されま
す。
例
次の例は、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:9000", &
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)
PowerScript リファレンス ボリューム 2
1173
String_To_Object
次の例のコンポーネントは、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:9000", &
my_corbaObj)
my_corbaObj._narrow(my_mgr, "SessionManager/Manager" )
my_Session = my_mgr.createSession("jagadmin", "")
my_corbaObj = my_session.lookup("Cart")
ll_return = my_corbaObj._narrow(my_CartHome,
"com/shopping/CartHome")
my_corbaObj = my_CartHome.create()
my_Cart.addItem()
関連項目
1174
Init
Lookup
_Narrow
Object_To_String
Resolve_Initial_References
PowerBuilder
第 10 章 PowerScript の関数
SuspendTransaction
機能
呼び出し元のスレッドに関連付けられている EAServer トランザク
ションを中断します。
対象
CORBACurrent オブジェクト
構文
CORBACurrent.SuspendTransaction ( )
引数
CORBACurrent
説明
CORBACurrent サービス インスタンスへの参照を指
定します。
戻り値
Unsigned long 型。スレッドに関連するトランザクションを参照するハ
ンドルを返します。エラーが発生した場合には 0 を返します。
解説
SuspendTransaction 関数は、呼び出し元のスレッドに関連付けられてい
るトランザクションの参照ハンドルを返します。このハンドルは、同
じスレッド上または異なるスレッド上の ResumeTransaction 関数に渡す
ことができます。SuspendTransaction 関数を呼び出すと、現行のスレッ
ドはトランザクションに関連しなくなります。
SuspendTransaction 関数を呼び出すことができるのは、クライアントま
たは OTS スタイルとしてマークされたコンポーネントです。EAServer
は、2 フェーズ コミット トランザクション コーディネータ(OTS/XA)
を使用していることが必要です。
例
次の例は、SuspendTransaction 関数を使用することで、呼び出し元のス
レッドが現行のトランザクションから分離されることを示していま
す。
// インスタンス変数 :
// 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()
PowerScript リファレンス ボリューム 2
1175
SyntaxFromSQL
関連項目
BeginTransaction
CommitTransaction
GetTransactionName
ResumeTransaction
RollbackTransaction
SetTimeout
SyntaxFromSQL
機能
SQL SELECT 文に基づいてデータウィンドウのソース コードを生成し
ます。
対象
トランザクション オブジェクト
構文
transaction.SyntaxFromSQL ( sqlselect, presentation, err )
引数
transaction
sqlselect
presentation
説明
接続されたトランザクション オブジェクトの名前を指定
します。
有効な SQL SELECT 文を表す文字列を指定します。
データウィンドウ オブジェクトに設定するデフォルトの
提示様式を表す文字列を指定します。最も簡単な書式は、
次のとおりです。
Style(Type=presentationstyle)
presentationstyle の値は、データウィンドウ ペインタの 新
規データ ウィンドウ ダイアログボックスの提示様式に対
応しています。キーワードは、次のとおりです。
(デフォルト)Tabular
Grid
Form(フリーフォーム)
Graph
Group
Label
err
1176
presentation に使用されるすべてのキーワードのリストに
ついては、「解説」を参照してください。
PowerBuilder が、発生したエラー メッセージを割り当てる
文字列を指定します。
PowerBuilder
第 10 章 PowerScript の関数
戻り値
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
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 ... )
PowerScript リファレンス ボリューム 2
1177
SyntaxFromSQL
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)
次のステートメントは、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 が原因でこれらのエラーが発生しました :" +
1178
PowerBuilder
第 10 章 PowerScript の関数
ERRORS)
RETURN
END IF
dw_1.Create( dwsyntax_str, ERRORS)
IF Len(ERRORS) > 0 THEN
MessageBox(" 警告 ", &
"Create が原因でこれらのエラーが発生します :" + ERRORS)
RETURN
END IF
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Create メソッド
『データウィンドウ リファレンス』マニュアルのデータウィンドウ オ
ブジェクトのプロパティ
SystemRoutine
機能
パフォーマンス解析モデルのシステム ルートを表すルーチン ノード
を提供します。
対象
Profiling オブジェクト
構文
instancename.SystemRoutine ( theroutine )
引数
instancename
theroutine
戻り値
説明
Profiling オブジェクトのインスタンス名を指定します。
システム ルートを表すルーチン ノードを含む ProfileRoutine
の値を指定します。この引数は、参照渡しされます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
ModelNotExistsError! − モデルが存在しないため、関数は異常終了
しました。
PowerScript リファレンス ボリューム 2
1179
SystemRoutine
解説
この関数を使って、パフォーマンス解析モデルのシステム ルートを表
すルーチン ノードを抽出します。BuildModel 関数を使ってトレース
ファイルからパフォーマンス解析モデルをあらかじめ作成しておかな
ければなりません。ルーチン ノードは、ProfileRoutine オブジェクトと
して定義され、ルーチンで費やされた時間、ルーチンと呼ばれるもの
すべて、各ルーチンが呼び出された回数およびルーチンが属するクラ
スを与えます。
例
次の例では、パフォーマンス解析モデルのシステム ルートを表すルー
チンを示します。
Profiling lpro_model
ProfileRoutine lprort_routine
lpro_model.BuildModel()
lpro_model.SystemRoutine(lprort_routine)
...
関連項目
1180
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
1181
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")
関連項目
1182
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 メソッド
PowerScript リファレンス ボリューム 2
1183
Text
Text
機能
リストボックス コントロールやドロップダウン リストボックス コン
トロール内の項目のテキストを取得します。
対象
リストボックス コントロール、ドロップダウン リストボックス コン
トロール、ピクチャ リストボックス コントロール、ドロップダウン ピ
クチャ リストボックス コントロール
構文
listboxname.Text ( index )
引数
listboxname
index
説明
項目のテキストを取得するリストボックス、ドロップダウ
ン リストボックス、ドロップダウン ピクチャのいずれか
のコントロールの名前を指定します。
テキストを取得する項目の番号を指定します。
戻り値
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)
関連項目
1184
FindItem
SelectedItem
SelectedText
PowerBuilder
第 10 章 PowerScript の関数
TextLine
機能
挿入ポイントがある行のテキストを取得します。TextLine 関数は、複数
の行を持つことができるコントロールに対して機能します。
対象
データウィンドウ コントロール、エディットマスク コントロール、マ
ルチライン エディット コントロール、リッチテキスト エディット コ
ントロール
構文
editname.TextLine ( )
引数
editname
説明
挿入ポイントがある行のテキストを取得するデータウィ
ンドウ、エディットマスク、マルチライン エディット、
リッチテキスト エディトのいずれかのコントロールの名
前を指定します。
戻り値
String 型。editname 中の挿入ポイントがある行のテキストを返します。
エラーが発生した場合、空の文字列(“”)を返します。editname が NULL
の場合、NULL を返します。
解説
editname にデータウィンドウ コントロールの名前を指定した場合、
TextLine 関数は、現行の行とカラム上のエディット コントロールにつ
いての情報を通知します。
例
マルチライン エディット コントロール 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
PowerScript リファレンス ボリューム 2
1185
Time
Time
DateTime 型、String 型、数値型のデータを Time 型のデータに変換しま
す。Blob 型のデータから時刻の値を取り出すこともできます。使用す
る構文は、対象となるデータのデータ型によって異なります。
目的
DateTime 型のデータから時刻を取り出す、または Blob 型
使用する構文
構文 1
変数に格納されている時刻の値を取り出す
文字列を時刻の値に変換する
時、分、秒の数値を結合して時刻の値にする
構文 2
構文 3
構文 1
DateTime 型の値または Blob 型から時刻を取り出す
機能
DateTime 型の値または Blob 型から時刻を取り出します。
構文
Time ( datetime )
引数
datetime
戻り値
説明
DateTime 型の値を指定するか、Time 型の値または
DateTime 型の値で始まる Blob 型の値を指定します。残り
の Blob 型の値は無視されます。Datetime には、DateTime
型または Blob 型の値を含む Any 型の変数を指定すること
もできます。
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))
1186
PowerBuilder
第 10 章 PowerScript の関数
関連項目
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの 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)のあらゆる組み合わせです。
例
次のステートメントは、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 メソッド
PowerScript リファレンス ボリューム 2
1187
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
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)
関連項目
1188
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Time メソッド
PowerBuilder
第 10 章 PowerScript の関数
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 イベ
ントを停止します。
Timer(0)
次のステートメントでは、ウィンドウ w_Train に 0.5 秒間隔で Timer イ
ベントを起動します。
Open(w_Train)
Timer(0.5, w_Train)
次の例は、現在の時刻をウィンドウのスタティック テキスト コント
ロールに表示させます。ウィンドウの Open イベントに対するスクリ
プトで Timer 関数を呼び出すとタイマーが開始します。Timer イベント
に対するスクリプトは、表示される時刻をリフレッシュします。
次のコードは、ウィンドウの Open イベントのスクリプトです。初め
に時刻を表示してタイマーを開始します。
PowerScript リファレンス ボリューム 2
1189
ToAnsi
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 の
将来のバージョンではサポートされなくなる予定です。
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。Unicode ファイルをストリーム モードで開
くときに、この 2 バイトが含まれている場合は、それをとばして読み
込んでください。
関連項目
1190
Blob
FromAnsi
FromUnicode
ToUnicode
PowerBuilder
第 10 章 PowerScript の関数
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")
次のステートメントは、スタティック テキスト コントロール st_date
に現在のシステム日付とシステム時刻を表示します。
st_date.Text = String(Today(), "m/d/yy hh:mm")
関連項目
Now
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Today メソッド
PowerScript リファレンス ボリューム 2
1191
Top
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()
lb_Contacts のリストの一番上にある項目が現在選択されていない場
合、次のステートメントは、現在選択されている項目を一番上にスク
ロールします。
integer Num
Num = lb_Contacts.SelectedIndex()
IF lb_Contacts.Top() <> Num THEN &
lb_contacts.SetTop(Num)
関連項目
1192
SelectedIndex
SetTop
PowerBuilder
第 10 章 PowerScript の関数
TotalColumns
機能
リストビュー コントロールのカラム数を取得します。
対象
リストビュー コントロール
構文
listviewname.TotalColumns ( )
引数
listviewname
説明
カラム数を調べるリストビュー コントロールの名前を指
定します。
戻り値
Integer 型。正常に終了した場合はカラム数を返し、エラーが発生した
場合は -1 を返します。
解説
リストビュー コントロールがレポート ビューに設定されているとき
に使用します。
例
次の例は、リストビュー コントロールのレポート ビューのカラム数を
シングルライン エディット コントロールに表示します。
int li_cols
li_cols = lv_list.TotalColumns()
sle_info.text = "Total columns = " + string(li_cols)
関連項目
TotalItems
TotalSelected
PowerScript リファレンス ボリューム 2
1193
TotalItems
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
関連項目
1194
TotalSelected
PowerBuilder
第 10 章 PowerScript の関数
TotalSelected
機能
リストボックスから、選択されている項目の数を取得します。
対象
リストボックス コントロール、ピクチャ リストボックス コントロー
ル、リストビュー コントロール
構文
listcontrolname.TotalSelected ( )
引数
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
PowerScript リファレンス ボリューム 2
1195
ToUnicode
ToUnicode
機能
文字列を Unicode Blob 型に変換します。
構文
ToUnicode ( string )
引数
string
説明
Unicode Blob 型に変換したい文字列を指定します。
戻り値
Blob 型。成功すると Unicode Blob 型を返し、失敗すると空の Blob 型を
返します。
解説
ToUnicode 関 数 は ANSI 文 字 列 を Unicode Blob 型 に 変 換 し ま す。
ToUnicode 関数は、Blob(string) と同じ結果を返すので、PowerBuilder の
将来のバージョンではサポートされなくなる予定です。
Unicode ファイル形式
Unicode ファイルの先頭には、Unicode ファイルであることを示す 2 バ
イトが追加されています。
関連項目
1196
FromAnsi
FromUnicode
ToAnsi
PowerBuilder
第 10 章 PowerScript の関数
TraceBegin
機能
トレース ファイルに動作の種類を挿入し、ログが開始されたことを示
し、すべての有効なアプリケーションのトレース動作のログを開始し
ます。TraceOpen 関数を使ってトレース ファイルを開いてから TraceBegin
を呼び出します。
構文
TraceBegin ( identifier )
引数
identifier
戻り値
解説
説明
トレース ファイルに記録され、トレース ブロックを識別
するのに使用する読み込みのみの文字列を指定します。
identifier が NULL の場合は、空の文字列がトレース ファイ
ルに置かれます。
ErrorReturn 型。以下のいずれかの値を返します。
•
Success! − 成功しました。
•
FileNotOpenError! − TraceOpen 関数が呼び出されていません。
•
TraceStartedError! − TraceBegin 関数は呼び出されました。
TraceBegin 関数の呼び出しは、トレース ファイルに ActBegin! の動作の
種類の値を挿入してログが開始されたことを示し、トレースするよう
に選択したすべてのアプリケーションの動作のログを開始します。
TraceBegin 関数は、TraceOpen 関数を呼び出してからでないと呼び出す
ことができません。記録するすべての動作を TraceEnableActivity 関数を
使って有効にしてから TraceBegin 関数を呼び出します。
アプリケーションすべての実行に対してトレース ファイルを生成し
たい場合は、通常 TraceBegin 関数をアプリケーションの起動スクリプ
トに入れます。トレース ファイルをアプリケーションの一部の実行に
対して生成したい場合は、通常 TraceBegin 関数をデータを集めたい機
能を開始するスクリプトに入れます。
トレース ファイル内のトレース ブロックを識別するために identifier
引数を使うことができます。トレース ブロックは、TraceBegin 関数と
TraceEnd 関数への呼び出しの間に記録されるデータを表します。アプ
リケーション実行の複数の部分をトレースしている場合は、単一のト
レース ファイル内に複数のトレース ブロックがあることもあります。
PowerScript リファレンス ボリューム 2
1197
TraceBegin
例
次に、シングルライン エディット ボックスに入力した名前とドロップ
ダウン リストから選択したタイマーの種類でトレース ファイルを開
く例を示します。トレースされるスクリプトの最初のブロックの有効
な動作のログを開始します。
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")
関連項目
1198
TraceOpen
TraceEnableActivity
TraceEnd
PowerBuilder
第 10 章 PowerScript の関数
TraceClose
機能
トレース ファイルを閉じます。
構文
TraceClose ( )
戻り値
ErrorReturn 型。以下のいずれかの値を返します。
解説
•
Success! − 成功しました。
•
FileNotOpenError! − TraceOpen 関数が呼び出されていません。
•
FileCloseError! − ログ ファイルがいっぱいです。
TraceClose 関数は、トレース ファイルを閉じます。TraceEnd 関数を呼
び出していない場合、TraceClose 関数は処理を開始する前にその関数を
呼び出します。
通常、TraceClose 関数をアプリケーションの終了スクリプトに入れま
す。
例
次に、アプリケーション トレース動作のログを終了させる方法と、ト
レース ファイルを閉じる方法を示します。
TraceEnd()
TraceClose()
関連項目
TraceBegin
TraceEnd
TraceOpen
PowerScript リファレンス ボリューム 2
1199
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 関数を呼び出さなけ
ればなりません。
1200
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
1201
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 関
数を呼び出さなければなりません。
1202
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
1203
TraceEnd
TraceEnd
機能
ログが終了したことを示す動作の種類の値をトレース ファイルに挿
入し、アプリケーションのトレース動作のログを中止します。
構文
TraceEnd ( )
戻り値
ErrorReturn 型。以下のいずれかの値を返します。
解説
•
Success! − 成功しました。
•
FileNotOpenError! − TraceOpen 関数が呼び出されていません。
•
TraceNotStartedError! − TraceBegin が呼び出されていません。
TraceEnd 関数の呼び出しで、トレース ファイルの ActBegin! の動作の
種類の値が挿入されてログが終了したことを示し、トレースするよう
に選択したすべてのアプリケーション動作のログを中止します。
TraseClose 関数を呼び出すときに TraceEnd 関数が呼び出されていない
場合は、TraceClose 関数は TraceEnd 関数を呼び出してから処理を始め
ます。
すべてのアプリケーション実行に対してトレース ファイルを生成し
たい場合は、通常アプリケーションの終了スクリプトに TraceEnd 関数
を入れます。アプリケーション実行の一部分についてのみトレース
ファイルを生成したい場合は、通常、データを集める機能を終了させ
るスクリプトに TraceEnd 関数を入れます。
例
次に、アプリケーション トレース動作のログを終了させる方法と、ト
レース ファイルを閉じる方法を示します。
TraceEnd()
TraceClose()
関連項目
1204
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
1205
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!
への動作の種類のログを再設定します。
1206
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
1207
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
1208
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
1209
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!)
1210
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
PowerScript リファレンス ボリューム 2
1211
TriggerPBEvent
TriggerPBEvent
機能
PowerBuilder ウィンドウ ActiveX コントロールに含まれるチャイルド
ウィンドウで指定されたユーザ イベントを起動します。
対象
ウィンドウ ActiveX コントロール
構文
activexcontrol.TriggerPBEvent ( name {, numarguments {, arguments } } )
引数
activexcontrol
name
numarguments
(オプション)
arguments
(オプション)
説明
PowerBuilder ウィンドウ ActiveX コントロールのインスタ
ンスの識別子。HTML で使用する場合、これはオブジェク
ト要素の NAME 属性です。そのほかの環境で使用する場合
には、これは PowerBuilder ウィンドウ ActiveX を含むコン
トロールを参照します。
ユーザ イベントの名前を指定する文字列を指定します。こ
の引数は、参照渡しされます。
arguments 配列の構成要素の数値を指定する Integer 型の値。
デフォルトは 0 です。
イベント引数を含む可変配列。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;
1212
PowerBuilder
第 10 章 PowerScript の関数
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)
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
PowerScript リファレンス ボリューム 2
1213
Trim
Trim
機能
文字列の左端と右端からスペースを削除します。
構文
Trim ( string )
引数
string
戻り値
説明
左端と右端からスペースを削除する文字列を指定します。
String 型。正常に終了した場合は、string の左端と右端からスペースを
削除した文字列を返します。エラーが発生した場合、空の文字列("")
を返します。string が NULL の場合、Trim 関数は NULL を返します。
解説
Trim 関数は、エンド ユーザが入力したデータの左端と右端からスペー
スを削除します。
例
次のステートメントは、"BABE RUTH" を返します。
Trim(" BABE RUTH ")
次の例は、エンド ユーザがシングルライン エディット コントロール
sle_emp_fname に入力した値の左端と右端のスペースを取り除き、それ
を emp_fname に格納します。
string emp_fname
emp_fname = Trim(sle_emp_fname.Text)
関連項目
LeftTrim
RightTrim
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Trim メソッド
TrimW
機能
文字列の左端と右端からスペースを削除します。この関数は、将来サ
ポートされなくなります。動作は、すべての環境で Trim 関数と同じで
す。
構文
TrimW ( string )
1214
PowerBuilder
第 10 章 PowerScript の関数
Truncate
機能
指定の小数点以下の位置で、数値の切り捨てを行います。
構文
Truncate ( x, n )
引数
x
n
戻り値
説明
切り捨てを行う数値を指定します。
x の切り捨てを行う小数点以下の位置(有効な値は 0 ∼ 18)
を指定します。
Decimal 型。正常に終了した場合、切り捨てた値を返します。エラーが
発生した場合、または引数が NULL の場合には、NULL を返します。
計算フィールドにおける Truncate 関数の使用
浮動小数レジスタ(計算用)にロードされた実数は、バイナリの記憶
領域における最大限の精度で表現されます。たとえば、2.07 として表
示されている実数は、実際には 2.0699999999999997 として格納されて
います。
このような数値に対して切り捨てを行うと、期待される結果にならな
いことがあります。この問題を回避するためには、元の 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
1215
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(現行のセッションが終わるまで拒否
します)
解説
1216
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
1217
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"
1218
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
PowerScript リファレンス ボリューム 2
1219
TypeOf
TypeOf
機能
オブジェクトまたはコントロールの型を調べて、Object カタログ デー
タ型の値を取得します。
対象
すべてのオブジェクト
構文
objectname.TypeOf ( )
引数
objectname
説明
型を取得するオブジェクトまたはコントロールの名前を
指定します。
戻り値
Object カタログ データ型。objectname の型を返します。objectname が
NULL の場合、NULL を返します。
解説
TypeOf 関数を使用して、選択またはドラッグされたコントロールの
データ型を調べることができます。
例
dw_Customer がデータウィンドウ コントロールの場合、次のステート
メントは DataWindow! を返します。
dw_Customer.Typeof()
次の例は、w_dept ウィンドウの Control 配列のうち、最初の 5 つのコン
トロールを調べます。ループの中では、コントロールがチェックボッ
クスの場合に、何か処理を行います。
integer n
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
1220
PowerBuilder
第 10 章 PowerScript の関数
メッセージ オブジェクトの 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
関連項目
ClassName
PowerScript リファレンス ボリューム 2
1221
Uncheck
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()
1222
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは、メニュー 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()
PowerScript リファレンス ボリューム 2
1223
UnitsToPixels
次のステートメントは、マルチライン エディット コントロール
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!)
関連項目
1224
PixelsToUnits
PowerBuilder
第 10 章 PowerScript の関数
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 を返します。
PowerScript リファレンス ボリューム 2
1225
Upper
リンクの更新についての詳細は、
『アプリケーション テクニック』マ
ニュアルを参照してください。
例
次の例は、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")
関連項目
1226
Lower
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Upper メソッド
PowerBuilder
第 10 章 PowerScript の関数
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 を返します。
PowerScript リファレンス ボリューム 2
1227
UpperBound
次の例では、メニューバー上の[ファイル]メニューの位置を探し、
そのメニューのカスケード メニューに[更新]メニューがある場合、
[更新]メニューを無効状態にします。コードは、ウィンドウ内のコン
トロールを表すスクリプトです。
次のスクリプトは、複雑なメニュー項目 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
関連項目
1228
LowerBound
PowerBuilder
第 10 章 PowerScript の関数
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
PowerScript リファレンス ボリューム 2
1229
WordCap
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 に
変換されます。
1230
PowerBuilder
第 10 章 PowerScript の関数
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
フレーム トップ
(メニュー バーまたはツール バーがあればその直下)
とワークスペース トップ間の距離を加算します。
= lh + This.WorkspaceY( )
PowerScript リファレンス ボリューム 2
1231
WorkSpaceWidth
// ピクチャ コントロールの下のクライアント領域を移動します。
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()
1232
PowerBuilder
第 10 章 PowerScript の関数
関連項目
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()
関連項目
PointerX
PointerY
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceY
PowerScript リファレンス ボリューム 2
1233
WorkSpaceY
WorkSpaceY
機能
カスタム MDI フレーム ウィンドウ以外のウィンドウの場合、ワーク
スペースの上端と、スクリーンの上端の間の距離を取得します。
カスタム MDI フレーム ウィンドウの場合、フレーム ウィンドウの上
端からワークスペースの上端までの距離を取得します。フレーム ウィ
ンドウの上端は、メニューバーまたはツールバーの下端です。
対象
ウィンドウ オブジェクト
構文
windowname.WorkSpaceY ( )
引数
windowname
説明
ウィンドウの名前を指定します。このウィンドウのワークス
ペースの上端と、スクリーンの上端の間の距離を求めます。
戻り値
Integer 型。スクリーンの上端から、windowname で指定されたウィンド
ウのワークスペースの上端までの距離を(PowerBuilder 単位系で)返
します。エラーが発生した場合、-1 を返します。windowname が NULL
の場合、NULL を返します。
解説
ワークスペースは、ウィンドウの左右(フレームの太さや垂直スクロー
ルバーは除く)と、ウィンドウの上下(フレームの太さ、タイトル
バー、メニューバー、水平スクロールバーは除く)に囲まれた領域です。
例
次の例は、スクリーンの上端からウィンドウ w_employee のワークス
ペースの上端までの距離を返します。
integer worky
worky = w_employee.WorkSpaceY()
関連項目
1234
PointerX
PointerY
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceX
PowerBuilder
第 10 章 PowerScript の関数
Write
機能
開いている OLE ストリーム オブジェクトに、データを書き込みます。
対象
OLEStream オブジェクト
構文
olestream.Write ( dataforstream )
引数
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()
PowerScript リファレンス ボリューム 2
1235
XMLParseFile
関連項目
Length
Open
Read
Seek
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! に設
定している場合、ドキュメントには、名前空間の使
用をサポートする文法が含まれていなければなりま
せん。
特に指定しない限り、FALSE が設定されます。
1236
PowerBuilder
第 10 章 PowerScript の関数
引数
schemaprocessing
(オプション)
説明
Boolean 型の値。スキーマ サポートを有効にするか
どうかを指定します。FALSE に設定すると、見つかっ
たスキーマは一切処理されません。
schemaprocessing に TRUE を設定する場合、
namespaceprocessing にも TRUE を設定する必要があ
ります。
特に指定しない限り、FALSE が設定されます。
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 実行時ファイルと一緒に配置しておく必要があります。
PowerScript リファレンス ボリューム 2
1237
XMLParseFile
例
次のステートメントは、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")
次のステートメントは、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)
1238
PowerBuilder
第 10 章 PowerScript の関数
次のステートメントは、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
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
PowerScript リファレンス ボリューム 2
1239
XMLParseString
XMLParseString
機能
XML 文字列を解析して、文字列が整形式かどうか、指定した文法でコ
ンパイルできるかどうかを判別します。
構文
XMLParseString ( xmlstring {, validationscheme }{, parsingerrors } {,
namespaceprocessing {, schemaprocessing {, schemafullchecking }}})
引数
xmlstring
validationscheme
(オプション)
説明
解析する XML ドキュメントを保持する String 型の
値を指定します。
ValSchemeType カタログ データ型の値。SAX パーサ
で使用される検証メソッドを指定します。値は以下
のとおりです。
• ValNever! − 検証エラーをレポートしません。
• ValAlways! − 常に検証エラーをレポートします。
ファイルの検証に使用できる DTD またはスキー
マがあることがわかっている場合のみ、
ValAlways! を使用します。
• ValAuto! −(デフォルト)文法を指定した場合に
のみ検証エラーをレポートします。
parsingerrors
(オプション)
namespaceprocessing
(オプション)
String 型の値。エラー メッセージを格納するための
バッファを指定します。省略した場合、または NULL
を設定した場合、エラーはダイアログボックスに表
示されます。
Boolean 型の値。名前空間の規則を適用するかどうか
を指定します。TRUE に設定すると、XML の名前空
間に対して、W3C 規格で定義されている制約と規則
を適用します。
validationscheme を ValAlways! または ValAuto! に設
定している場合、ドキュメントには、名前空間の使
用をサポートする文法が含まれていなければなりま
せん。
schemaprocessing
(オプション)
特に指定しない限り、FALSE が設定されます。
Boolean 型の値。スキーマ サポートを有効にするか
どうかを指定します。FALSE に設定すると、見つかっ
たスキーマは一切処理されません。
schemaprocessing に TRUE を設定する場合、
namespaceprocessing にも TRUE を設定する必要があ
ります。
特に指定しない限り、FALSE が設定されます。
1240
PowerBuilder
第 10 章 PowerScript の関数
引数
schemafullchecking
(オプション)
説明
Boolean 型の値。スキーマの制約をチェックするかど
うかを指定します。TRUE を設定すると、スキーマ
の文法にエラーがないかどうかがチェックされま
す。
schemaprocessing に TRUE を設定していない場合、
schemafullchecking に TRUE を設定しても、その設定
は無視されます。
特に指定しない限り、FALSE が設定されます。
戻り値
Long 型。正常に終了した場合、0 を返します。エラーが発生した場合、
次のいずれかの負の値を返します。
-1 解析エラー
-2 引数エラー
解説
XMLParseString を使用して、DTD や XML スキーマに対して XML ファ
イルを検証した後で、他の処理に進んでください。
DTD や XML スキーマが文字列に含まれていない場合、または参照さ
れていない場合、XMLParseString は、文字列の XML が整形式かどうか
をチェックします。XML 文字列の検証に失敗した場合、または XML
が整形式でない場合、XMLParseString は -1 を返します。
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>
PowerScript リファレンス ボリューム 2
1241
XMLParseString
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)
次のステートメントは、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)
1242
PowerBuilder
第 10 章 PowerScript の関数
関連項目
ImportString
XMLParseFile
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの ImportString
Year
機能
日付の値から年の部分を取り出します。
構文
Year ( date )
引数
date
戻り値
説明
Date 型を指定します。この日付から年を取り出します。
Integer 型。正常に終了した場合、date で指定された日付の年の部分か
ら 4 桁に合わせた値を返します。エラーが発生した場合、1900 を返し
ます。date が NULL の場合、NULL を返します。
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)
PowerScript リファレンス ボリューム 2
1243
Yield
関連項目
Day
Month
『データウィンドウ リファレンス』マニュアルまたはオンライン ヘル
プの Year メソッド
Yield
機能
Yield 関数は、PowerBuilder オブジェクトを含めたあらゆるグラフィッ
ク オブジェクトの制御に使用することができます。Yield 関数は、メッ
セージ キューをチェックし、メッセージがあった場合にはそのメッ
セージをキューから取り出します。
構文
Yield ( )
戻り値
Boolean 型。メッセージ キューからメッセージを取り出した場合は
TRUE を返し、メッセージがない場合は FALSE を返します。
解説
ループの中で Yield 関数を呼び出して、ほかの処理を発生させます。た
とえば、Yield 関数を呼び出して、ループの処理を中断できます。コン
トロールに Yield 関数を使用すると、エンド ユーザが必要とするとき
に、ほかのウィンドウの[キャンセル]ボタンをクリックできるよう
になります。ループ内で、グローバル変数の値が変更されたかどうか
をチェックすることができます。また、処理の終了を待っているルー
プの中で Yield 関数を使用すると、そのアプリケーションやほかのアプ
リケーションの処理を発生させることができます。
データ検索中のほかのアプリケーションの実行
エンド ユーザは、データの検索中に PowerBuilder アプリケーションで
ほかの作業を行うことはできません。ただし、実行システム上のほか
のアプリケーションを実行することはできます。RetrieveRow イベント
に対するスクリプトの中で Yield 関数を呼び出すと、検索中にほかのア
プリケーションを実行することができます。
Yield 関数を使用すると、PowerBuilder アプリケーションの実行速度が
低下します。これは、ほかのアプリケーションが処理時間を共有する
からです。
1244
PowerBuilder
第 10 章 PowerScript の関数
例
次の例は、コードが長い作業を処理しています。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
... // 何らかの処理
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 関数が呼び出されるので、コンピュータは、ほかのアプ
リケーションを実行させる時間を得ることができます。
PowerScript リファレンス ボリューム 2
1245
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
MessageBox(" エラー ", &
"Notes を起動できませんでした。", StopSign!)
SetPointer(Arrow!)
RETURN
END IF
END IF
1246
PowerBuilder
索引
記号
<= (小 さ い ま たは等 し い) 70
< ( よ り 小 さ い) 70
! (カ タ ロ グ値) 29
&、 ア ンパサン ド 記号を参照
’、 引用符を参照
* (乗算) 68
++、 += (後置式を使っ た代入) 124
+ (加算) 68
-、 ハ イ フ ン を参照
-- (後置式を使っ た代入) 124
// ( コ メ ン ト ) 4
/= (後置式を使っ た代入) 124
/ (除算) 68
= (関係) 70
= (代入) 39
>= (大 き い ま たは等 し い) 70
> ( よ り 大 き い) 70
? (動的 SQL) 176, 177, 180
^ (累乗) 68
_Is_A 関数 697
_Narrow 関数 801
~、 テ ィ ルダ を参照
数字
0、 判別 1139
2 つの数の最大値
AddColumn 関数 326
AddData 関数 327
AddItem 関数 330
AddLargePicture 関数 335
AddPicture 関数 336
AddSeries 関数 337
AddSmallPicture 関数 339
AddStatePicture 関数 340
AddToLibraryList 関数 341
AllowEdit プ ロ パテ ィ 1024
AncestorReturnValue 変数 115
AND 演算子 70
ANSI、 文字列の変換 515, 516, 1190, 1196
Any デー タ 型 24
API と デー タ ベース ハン ド ル 429
ArrangeOpen カ タ ロ グ デー タ 型 828
ArrangeSheets 関数 343
ArrangeTypes カ タ ロ グ デー タ 型 343
Arrange 関数 342
AscA 関数 345
ASCII 値
Char 型の変換 344, 345
印刷で き ない文字 920
Asc 関数 344
ASin 関数 346
ATan 関数 347
AttachmentFile プ ロ パテ ィ 769
AutoCommit 1177
782
B
A
Abs 関数 322
ACos 関数 322
Activate イ ベン ト 189
Activate 関数 323
Adaptive Server Enterprise
AddCategory 関数 325
1177
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
BAT フ ァ イ ル 984
Beep 関数 348
BeginDrag イ ベン ト 190
BeginLabelEdit イ ベン ト 193
BeginRightDrag イ ベン ト 195
BeginTransaction 関数 348
Blob
1247
索引
String 型に変換 350, 1165
値の抽出 420, 425, 431, 692, 748, 750, 941, 1186
更新 169
ス ト リ ームの読み込み 940
ス ト リ ームへの書 き 込み 1235
宣言 36
デー タ ベース か ら の選択 166
ピ ク チ ャ コ ン ト ロ ールへの配置 1088
へのデー タ の挿入 351
BlobEdit 関数 351
BlobMid 関数 352
Blob デー タ 型 19
Blob 用の関数 350
Blob 350
BlobEdit 351
BlobMid 352
Len 725, 727
Boolean デー タ 型 20
BuildModel 関数 354
C
CALL 文
概要 124
使用 し ない 186
Cancel 関数 357
CanUndo 関数 358
CategoryCount 関数 359
CategoryName 関数 360
Ceiling 関数 361
ChangeDirectory 関数 362
ChangeMenu 関数 363
CharA 関数 365
CharW 関数 364
Char デー タ 型
String 型に変換 76
概要 20
配列 76
Checked プ ロ パテ ィ 1222
Check 関数 366
CHOOSE CASE 文 125
ChooseColor 関数 367
ClassDefinition オブジ ェ ク ト 、 FindMatchingFunction
509
1248
ClassList 関数 368
ClassName 関数 369
ClearBoldDates 関数 373
Clear 関数 371
Clicked イ ベン ト 197, 806
Clipboard 関数 374
CLOSE Cursor 文 151
CLOSE Procedure 文 152
CloseChannel 関数 380
CloseQuery イ ベン ト 205, 377
CloseTab 関数 381
CloseUserObject 関数 383
CloseWithReturn 関数 384
Close イ ベン ト 204, 376, 969
Close 関数 376
CollapseItem 関数 387
ColumnClick イ ベン ト 207
CommandParm 関数 388
CommitTransaction 関数 389
COMMIT 文 153
COM フ ァ イ ル 984
ConnectToNewObject 関数 391
ConnectToNewRemoteObject 関数 393
ConnectToServer 関数 400
CONNECT 文 154
Constructor イ ベン ト 209
ContextInformation オブジ ェ ク ト
GetCompanyName 関数 532
GetFixesVersion 関数 577
GetHostObject 関数 581
GetMajorVersion 関数 589
GetMinorVersion 関数 591
GetName 関数 592
GetShortName 関数 614
GetVersionName 関数 627
ContextKeyword オブジ ェ ク ト 、
GetContextKeywords 関数 533
CONTINUE 文 127
Control 配列 844, 846
CopyRTF 関数 405
Copy 関数 402
CORBACurrent、 初期化 652
Cos 関数 407
CPU
時刻 408
PowerBuilder
索引
情報の取得 566
Cpu 関数 408
CreateDirectory 関数 408
CreateInstance 関数 411
CreatePage 関数 413
CREATE 文 128, 875
Cut 関数 414
C 関数
値渡 し 748
戻 り 値のデ コ ー ド 694, 695
D
DashesInIdentifiers オプシ ョ ン 5
DataChange イ ベン ト 210
DataSource 関数 418
DateChanged イ ベン ト 210
DateTime 関数 424
DateTime デー タ 型 20
Date 関数 420
Date デー タ 型 20
DayName 関数 426
DayNumber 関数 427
DaysAfter 関数 428
Day 関数 425
dBase フ ァ イ ル、 デー タ の イ ン ポー ト
DBHandle 関数 429
dbsign 151
DDE ク ラ イ ア ン ト 用の関数
CloseChannel 380
ExecRemote 464
GetDataDDE 544
GetDataDDEOrigin 545
GetRemote 602
OpenChannel 825
RespondRemote 968
SetRemote 1098
StartHotLink 1156
StopHotLink 1163
DDE サーバ用の関数
GetCommandDDE 530
GetCommandDDEOrigin 531
GetDataDDE 544
GetDataDDEOrigin 545
RespondRemote 968
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
642, 647
SetDataDDE 1058
StartServerDDE 1157
StopServerDDE 1164
DDE チ ャ ネル
デー タ の リ ク エ ス ト 604
閉 じ る 380
Deactivate イ ベン ト 211
DebugBreak 関数 430
Decimal デー タ 型
概要 21
宣言 36
変換 431
DECLARE Cursor 文 155
DECLARE Procedure 文 156
Dec 関数 431
DELETE Where Current of Cursor 文
DeleteAllItems イ ベン ト 211
DeleteCategory 関数 431
DeleteColumns 関数 433
DeleteColumn 関数 432
DeleteData 関数 433
DeleteItem イ ベン ト 212
DeleteItem 関数 434
DeleteLargePictures 関数 438
DeleteLargePicture 関数 438
DeletePictures 関数 439
DeletePicture 関数 439
DeleteSeries 関数 440
DeleteSmallPictures 関数 441
DeleteSmallPicture 関数 441
DeleteStatePictures 関数 442
DeleteStatePicture 関数 442
DELETE 文 157
DestroyModel 関数 443
DESTROY 文
概要 132
メ ール セ ッ シ ョ ンの終了 765
Destructor イ ベン ト 213, 381, 383
DirectoryExists 関数 444
DirList 関数 444
DirSelect 関数 446
DisableCommit 関数 448
Disable 関数 448
DisconnectObject 関数 450
DisconnectServer 関数 451
DISCONNECT 文 159
158
1249
索引
DDL、 動的 SQL を と お し た実行 175, 176
DLL フ ァ イ ル
関数の実行 63
DoubleClicked イ ベン ト 214
DoubleParm プ ロ パテ ィ 831, 839, 841, 849, 851
Double 関数 452
Double デー タ 型 21
DoVerb 関数 453
DragDrop イ ベン ト 218
DragEnter イ ベン ト 223
DraggedObject 関数 456
DragLeave イ ベン ト 224
DragObject 用の関数
ClassName 370
Drag 454
Hide 630
Move 798
PointerX 873
PointerY 874
PostEvent 887
Print 894
Resize 965
SetFocus 1071
SetPosition 1090
SetRedraw 1097
Show 1135
TriggerEvent 1209
TypeOf 1220
DragWithin イ ベン ト 226
Drag 関数 454
DrawObject 用の関数
ClassName 369
Hide 630
Move 798
Print 894
Resize 965
Show 1135
TypeOf 1220
Draw 関数 457
DWObject、 OLE 用の関数 323, 402, 453, 1225
DynamicDescriptionArea
概要 173
プ ロ パテ ィ 181
DynamicStagingArea
概要 172
準備 173
1250
E
EAServer デー タ 型のマ ッ ピ ン グ
EditLabel 関数 409, 459
EnableCommit 関数 462
Enabled プ ロ パテ ィ 630, 1097
Enable 関数 461
EndLabelEdit イ ベン ト 229
EntryList 関数 463
Error イ ベン ト 231
ExecRemote 関数 464
EXECUTE 文 160, 1069
EXIT 文 135
ExpandAll 関数 468
ExpandItem 関数 469
Exp 関数 468
ExternalException イ ベン ト 234
29
F
Fact 関数 470
FETCH 文 160
FileClose 関数 470
FileCopy 関数 471
FileDelete 関数 472
FileEncoding 関数 472
FileExists イ ベン ト 237
FileExists 関数 474
FileLength64 関数 476
FileLength 関数 475
FileMove 関数 477
FileOpen 関数 478
FileReadEx 関数 485
FileRead 関数 483
FileSeek 関数 487, 489
FileWriteEx 関数 492
FileWrite 関数 490
FillA 関数 496
FillPattern 551, 1065, 1105
FillW 関数 495, 496
Fill 関数
印刷 495
概要 495
FindCategory 関数 498
FindClassDefinition 関数 500
PowerBuilder
索引
FindFunctionDefinition 関数 501
FindItem 関数 502
FindMatchingFunction 関数 509
FindNext 関数 511
FindSeries 関数 512
FindTypeDefinition 関数 513
Find 関数 497
FromAnsi 関数 515
FromUnicode 関数 516
G
GarbageCollectGetTimeLimit 関数 517
GarbageCollectSetTimeLimit 関数 517
GarbageCollect 関数 516
Gesture イ ベン ト 238
GetActiveSheet 関数 519
GetAlignment 関数 520
GetApplication 関数 521
GetArgElement 関数 522
GetAutomationNativePointer 関数 523
GetCertificateLabel 関数 524
GetChildrenList 関数 527
GetColumn 関数 528
GetCommandDDEOrigin 関数 531
GetCommandDDE 関数 530
GetCompanyName 関数 532
GetContextKeywords 関数 533
GetContextService 関数 534
GetCredentialAttribute 関数 536
GetCurrentDirectory 関数 538
GetDataDDEOrigin 関数 545
GetDataDDE 関数 544
GetDataPieExplode 関数 546
GetDataStyle 関数 548
GetDataValue 関数 554
GetData 関数 539
GetDateLimits 関数 556
GetDisplayRange 関数 558
GetDynamicDate 181
GetDynamicDateTime 181
GetDynamicDateTime 関数 562
GetDynamicDate 関数 560
GetDynamicNumber 181
GetDynamicNumber 関数 563
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
GetDynamicString 181
GetDynamicString 関数 564
GetDynamicTime 181
GetDynamicTime 関数 565
GetEnvironment 関数 566
GetFileOpenName 関数 568
GetFileSaveName 関数 573
GetFirstSheet 関数 576
GetFixesVersion 関数 577
GetFocus イ ベン ト 239
GetFocus 関数 578
GetFolder 関数 579
GetGlobalProperty 関数 580
GetHostObject 関数 581
GetItemAtPointer 関数 586
GetItem 関数 583
GetLastReturn 関数 587
GetLibraryList 関数 588
GetMajorVersion 関数 589
GetMinorVersion 関数 591
GetName 関数 592
GetNativePointer 関数 593
GetNextSheet 関数 594
GetOrigin 関数 595
GetParagraphSetting 関数 596
GetParent 関数 597
GetPin 関数 599
GetRecordSet 関数 601
GetRemote 関数 602
GetSelectedDate 関数 605
GetSelectedRange 関数 606
GetSeriesStyle 関数 607
GetShortName 関数 614
GetStatus 関数 616
GetToday 関数 619
GetToolbarPos 関数 622, 1120
GetToolbar 関数 620
GetTransactionName 関数 625
GetURL 関数 626
GetVersionName 関数 627
GOTO の ラ ベル 7
GOTO 文 138
grColorType カ タ ロ グ デー タ 型 548
grDataType カ タ ロ グ デー タ 型 539, 555
grObjectType カ タ ロ グ デー タ 型 805
grResetType カ タ ロ グ デー タ 型 960
1251
索引
grSymbolType カ タ ロ グ デー タ 型
H
HALT 文 138
Handle 関数 628
Help イ ベン ト 241
hidden オブジ ェ ク ト 1135
Hide イ ベン ト 242
Hide 関数 630
HotLinkAlarm イ ベン ト 242
Hour 関数 631
HyperlinkToURL 関数 632
I
Idle イ ベン ト 243
IF...THEN 文
概要 139
単一行 139
複数行 140
IMEGetCompositionText 関数 635
IMEGetMode 関数 636
IMESetMode 関数 637
ImpersonateClient 関数 638
ImportClipboard 関数 639
ImportFile 関数 642
ImportString 関数 647
IncomingCallList 関数 650
Inet オブジ ェ ク ト
GetURL 関数 626
HyperlinkToURL 関数 632
PostURL 関数 890
Information ア イ コ ン 787
Init 関数 652, 653
INI フ ァ イ ル
値の書 き 込み 1093
読み込み 932, 934
InputFieldChangeData 関数 656
InputFieldCurrentName 関数 657
InputFieldDeleteCurrent 関数 658
InputFieldGetData 関数 659
InputFieldInsert 関数 660
1252
1106
InputFieldLocate 関数 661
InputFieldSelected イ ベン ト 243
InsertCategory 関数 663
InsertClass 関数 665
InsertColumn 関数 666
InsertData 関数 667
InsertFile 関数 672
InsertItemFirst 関数 680
InsertItemLast 関数 682
InsertItemSort 関数 685
InsertItem イ ベン ト 244
InsertItem 関数 673
InsertObject 関数 687
InsertPicture 関数 688
InsertSeries 関数 689
INSERT 文 162
Integer 関数 692
Integer デー タ 型 21
Intel 566
InternetData 関数 693
InternetRequest オブジ ェ ク ト 、 InternetData 関数
693
IntHigh 関数 694
IntLow 関数 695
Int 関数 691
InvokePBFunction 関数 695
Is_A (_Is_A) 関数 697
IsAlive 関数 698
IsAllArabic 関数 699
IsAllHebrew 関数 700
IsAnyArabic 関数 701
IsAnyHebrew 関数 701
IsArabicAndNumbers 関数 703
IsArabic 関数 702
IsCallerInRole 関数 703
IsDate 関数 705
IsHebrewAndNumbers 関数 707
IsHebrew 関数 706
IsImpersonating 関数 708
IsInTransaction 関数 709
IsNull 関数 710
IsNumber 関数 692, 711
IsPreview 関数 712
IsSecurityEnabled 関数 713
IsTime 関数 714
IsTransactionAborted 関数 715
PowerBuilder
索引
IsValid 関数
Handle 関数 628
ア ク テ ィ ブなシー ト の取得 519
解説 716
概要 716
開いてい る シー ト の取得 576, 594
ItemActivate イ ベン ト 245
ItemChanging イ ベン ト 248
ItemCollapsed イ ベン ト 248
ItemCollapsing イ ベン ト 249
ItemExpanded イ ベン ト 251
ItemExpanding イ ベン ト 252
ItemPopulate イ ベン ト 253
J
JaguarORB、 初期化
652
K
KeyCode カ タ ロ グ デー タ 型
値 717
概要 716
KeyDown 関数 717
Key イ ベン ト 253
L
LastPosW 関数 722
LastPos 関数 720, 722
Layer カ タ ロ グ デー タ 型 343
LeftA 関数 723
LeftC 関数 724
LeftTrim 関数 724, 725
LeftW 関数 722, 724
Left 関数 722, 724
LenA 関数 727
Length 関数 728
Len 関数 725, 727
LibDirType カ タ ロ グ デー タ 型 731, 732
LibExportType カ タ ロ グ デー タ 型 734
LibraryCreate 関数 729
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
LibraryDelete 関数 730
LibraryDirectoryEx 関数 732
LibraryDirectory 関数 731
LibraryExport 関数 734
LibraryImport 関数 736
LineCount 関数 737
LineDown イ ベン ト 255
LineLeft イ ベン ト 256
LineLength 関数 739
LineList 関数 740
LineRight イ ベン ト 257
LineUp イ ベン ト 258
LinkTo 関数 741
LoadInk 関数 742
LoadPicture 関数 743
LogTen 関数
概要 746
逆関数 746
Log 関数
概要 745
逆関数 745
自然対数 745
LongParm
値指定 748
イ ベン ト の発生 1210
イ ベン ト のポ ス ト 888
Long 型の下位ワー ド 695
Long 型の上位ワー ド 694
Long 関数 747, 749
Long デー タ 型
概要 21
下位ワ ー ド を返す 695
上位ワ ー ド を返す 694
変換 747, 749
Lookup 関数 751
LOOP 133
LOOP, DO...LOOP 文内 133
LoseFocus イ ベン ト 259, 788
LowerBound 関数 757
Lower 関数 757
M
mailAddress 関数
759
1253
索引
mailDeleteMessage 関数 761
mailHandle 関数 764
mailLogoff 関数 765
mailLogonOption カ タ ロ グ デー タ 型 766
mailLogon 関数 766
mailReadMessage 関数 768
mailReadOption カ タ ロ グ デー タ 型 769
mailRecipientDetails 関数 770
mailRecipient 構造体 772
mailResolveRecipient 関数 772
mailReturnCode 関数 766
mailSaveMessage 関数 774
mailSend 関数 777
MAPI 764
Match 関数 779
Max 関数 782
MDI ク ラ イ ア ン ト (MDI_1) 用の関数
ClassName 369
Hide 630
Print 894
Resize 965
SetRedraw 1097
Show 1135
TypeOf 1220
MDI フ レーム
ア ク テ ィ ブの取得 519
ウ ィ ン ド ウ の整列 343
開 く シー ト 811, 827, 830
ポ ッ プア ッ プ メ ニ ュ ーの表示 875
マ イ ク ロ ヘルプ テ キ ス ト の指定 1083
メ ニ ュ ーの変更 363
MDI フ レーム用の関数
ArrangeSheets 343
GetActiveSheet 519
GetFirstSheet 576
GetNextSheet 594
GetToolbar 620
GetToolbarPos 622, 1120
OpenSheet 827
OpenSheetWithParm 830
Print 894
SetMicroHelp 1083
SetToolbar 1118
MemberDelete 関数 783
MemberExists 関数 784
MemberRename 関数 785
1254
MessageBox 関数 787, 913
Microsoft Windows
RightToLeft バージ ョ ン 699, 700, 701, 702, 703,
706, 707, 972
Winhelp の呼出 し 1137
イ ベン ト と メ ッ セージ 889
印刷用の フ ォ ン ト の定義 907
返 さ れた メ ッ セージ 694, 695
情報の取得 566
タ イ マー 1189
と DDE 602
ハン ド ルの取得 628
フ ァ イ ルの保存レ ス ポ ン ス ウ ィ ン ド ウ の表示
573
フ ァ イ ル名の取得 568
メ ッ セージ番号 1036
MidA 関数 791
MidC 関数 792
MidW 関数 789, 792
Mid 関数 789
Minute 関数 793
Min 関数 793
Modified イ ベン ト 261
ModifyData 関数 795
Mod 関数 794
Month 関数 797
MouseDown イ ベン ト 263
MouseMove イ ベン ト 265
MouseUp イ ベン ト 268
Moved イ ベン ト 271
Move 関数 798
MultiSelect プ ロ パテ ィ
項目の選択 1012, 1013, 1024
ハ イ ラ イ ト 表示 1113, 1163
N
Narrow (_Narrow) 関数 801
NEXT, FOR...NEXT 文内 136
NextActivity 関数 802
NOT 演算子 70
Now 関数 803
NULL オブジ ェ ク ト への参照 832, 839, 841, 849,
851, 855, 857
PowerBuilder
索引
NULL 値
概要 9
チ ェ ッ ク 710
テス ト 9
動的 SQL 178
変数の設定 1084
論理式の 70
O
ObjectAtPointer 関数 805
ObjectToString 関数 807
OffsetPos 関数 808
Offsite カ タ ロ グ デー タ 型 324
OK ボ タ ン 787
OLE DWObject 用の関数
Activate 323
Copy 402
DoVerb 453
UpdateLinksDialog 1225
OLEObject 用の関数
ConnectNewToObject 391
ConnectToNewRemoteObject 393
ConnectToObject 395
ConnectToRemoteObject 397
DisconnectObject 450
GetAutomationNativePointer 523
ReleaseAutomationPointer 950
SetAutomationPointer 1048
SetAutomationTimeout 1049
OLEStorage 用の関数
Clear 371
Close 378
MemberDelete 783
MemberExists 784
MemberRename 785
Open 809
SaveAs 994, 996
OLEStream 用の関数
Close 379
Length 728
Open 809
Read 938
Seek 1009
Write 1235
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
OLE オー ト メ ーシ ョ ンの言語 1046, 1049
OLE カ ス タ ム コ ン ト ロ ール用の関数
GetData 542
GetNativePointer 593
ReleaseNativePointer 951
SetAutomationLocale 1046
SetData 1057
OLE コ ン ト ロ ール用の関数
Activate 323
Clear 371
Copy 402
Cut 414
DoVerb 453
GetData 542
GetNativePointer 593
InsertClass 665
InsertFile 672
InsertObject 687
LinkTo 741
Open 809
Paste 864
PasteLink 866
PasteSpecial 869
ReleaseNativePointer 951
Save 987
SaveAs 992, 993
SelectObject 1026
SetAutomationLocale 1046
SetData 1057
UpdateLinksDialog 1225
OLE 式 と Any デー タ 型 26
OPEN Cursor 文 163
OpenChannel 関数 825
OpenSheetWithParm 830
OpenSheet 関数 827
OpenTabWithParm 関数 838
OpenTab 関数 834
OpenUserObjectWithParm 関数 848
OpenUserObject 関数 843
OpenWithParm 853
Open イ ベン ト 273, 969
Open 関数 809
OR 演算子 70
Other イ ベン ト 276
OutgoingCallList 関数 859
1255
索引
P
PageCreated 関数 862
PageDown イ ベン ト 277
PageLeft イ ベン ト 278
PageRight イ ベン ト 279
PageUp イ ベン ト 280
ParentWindow 関数 863
Parent 代名詞 13
PasteLink 関数 866
PasteSpecial 関数 869
Paste 関数 864
PBL フ ァ イ ル
削除 730
作成 729
内容の リ ス ト 731, 732
pbm_dwngraphcreate イ ベン ト 1103
PDB フ ァ イ ル 813
PictureSelected イ ベン ト 281
PIF フ ァ イ ル 984
PipeEnd イ ベン ト 282
PipeMeter イ ベン ト 283
PipeStart イ ベン ト 284
PixelsToUnits 関数 871
Pi 関数 870
Play 関数 872
PointerX 関数 873
PointerY 関数 874
PopMenu 関数 875
PopulateError 関数 876
PosA 関数 879
Position 関数 880
PostEvent 関数 887
PostURL 関数 890
Post 関数 886
PosW 関数 880
Pos 関数 877
PowerBuilder、 外部関数のデー タ 型 61
PowerBuilder 単位系 871, 1224
PowerObjectParm
種類の決定 1222
と CloseWithReturn 関数 385
パ ラ メ ー タ を使っ てシー ト を開 く 831, 839, 841,
849, 851
PowerObject 関数
ClassName 369
1256
GetContextService 534
GetParent 597
PowerObject 基本 ク ラ ス 28, 79
PowerScript 文 122
PrintBitmap 関数 901
PrintCancel 関数 902
PrintClose 関数 904
PrintDataWindow 関数 905
PrintDefineFont 関数 906
PrintEx 関数 908
PrintFooter イ ベン ト 284
PrintGetPrinters 関数 910
PrintGetPrinter 関数 909
PrintHeader イ ベン ト 286
PrintLine 関数 911
PrintOpen 関数
概要 912
メ ッ セージ ボ ッ ク ス 788
PrintOval 関数 914
PrintPage 関数 915
PrintRect 関数 916
PrintRoundRect 関数 917
PrintScreen 関数 919
PrintSend 関数 920
PrintSetFont 関数 922
PrintSetPrinter 関数 923
PrintSetSpacing 関数 924
PrintSetupPrinter 関数 926
PrintSetup 関数 925
PrintText 関数 927
PrintWidth 関数 929
PrintX 関数 930
PrintY 関数 931
Print 関数 894
PRIVATEREAD ア ク セ ス修飾子 42
PRIVATEWRITE ア ク セ ス修飾子 43
ProfileClass オブジ ェ ク ト 、 RoutineList 関数 982
ProfileInt 関数 932
ProfileLine オブジ ェ ク ト 、 OutgoingCallList 関数
859
ProfileRoutine オブジ ェ ク ト
IncomingCallList 関数 650
LineList 関数 740
OutgoingCallList 関数 859
ProfileString 関数 934
Profiling 用の関数
PowerBuilder
索引
BuildModel 354
ClassList 368
DestroyModel 443
RoutineList 982
SetTraceFileName 1125
SystemRoutine 1179
PropertyChanged イ ベン ト 287
PropertyRequestEdit イ ベン ト 288
PROTECTEDREAD ア ク セ ス修飾子 42
PROTECTEDWRITE ア ク セ ス修飾子 43
R
Randomize 関数 937
Rand 関数 937
RButtonDown イ ベン ト 289
RButtonUp イ ベン ト 291
Read 関数 938
Real 関数 941
Real デー タ 型 21
RecognitionResult イ ベン ト 291
RecognizeText 関数 942
RegistryDelete 関数 943
RegistryGet 関数 944
RegistryKeys 関数 945
RegistrySet 関数 946
Registryvalues 関数 948
RelativeDate 関数 949
RelativeTime 関数 950
ReleaseAutomationNativePointer 関数 950
ReleaseNativePointer 関数 951
RemoteExec イ ベン ト 292, 530, 1157
RemoteHotLinkStart イ ベン ト 292, 1157
RemoteHotLinkStop イ ベン ト 293, 1157
RemoteRequest イ ベン ト 294, 1058, 1157
RemoteSend イ ベン ト 294, 545, 1157
RemoveDirectory 関数 952
Rename イ ベン ト 295
Repair 関数 953
ReplaceA 関数 956
ReplaceText 関数 957
ReplaceW 関数 958
Replace 関数 954
ResetArgElements 関数 961
ResetDataColors 関数 962
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
ResetInk 関数 964
ResetPicture 関数 964
Reset 関数 958
Resize イ ベン ト 295
Resize 関数 965
ResolveInitialReferences 関数 966
RespondRemote 関数 968
Restart 関数 969
ResumeTransaction 関数 970
RETURN 文 141
Reverse 関数 972
RevertToSelf 関数 972
RGB 関数 973
RightA 976
RightClicked イ ベン ト 296
RightC 関数 977
RightDoubleClicked イ ベン ト 299
RightToLeft オペレーテ ィ ン グ シ ス テ ム 972
RightToLeft ソ フ ト ウ ェ ア 699, 700, 701, 702, 703,
706, 707
RightTrim 関数 977, 978
RightW 関数 977
Right 関数 976
RollbackOnly 関数 978
RollbackTransaction 関数 980
ROLLBACK 文 164
Round 関数 981
RoutineList 関数 982
RPC、 宣言 64
RPC、 リ モー ト プ ロ シージ ャ コ ールを参照
Run 関数 983
S
Save 関数 ( イ ン ク ピ ク チ ャ コ ン ト ロ ール)
SaveDocument 関数 997
SaveInk 関数 999
SaveObject イ ベン ト 302
Save イ ベン ト 301
Save 関数 987
ScrollHorizontal イ ベン ト 788
ScrollNextPage 関数 1002
ScrollNextRow 関数 1003
ScrollPriorPage 関数 1004
ScrollPriorRow 関数 1005
985
1257
索引
ScrollToRow 関数 1006
ScrollVertical イ ベン ト 788
Scroll 関数 1001
SecondsAfter 関数 1008
Second 関数 1007
SeekType カ タ ロ グ デー タ 型 1009
Seek 関数 1009, 1010
SELECTBLOB 文 166
SelectedColumn 関数 1011
SelectedIndex 関数 1012
SelectedItem 関数 1013
SelectedLength 関数 1014
SelectedLine 関数 1015
SelectedPage 関数 1017
SelectedStart 関数 1017
SelectedText 関数 1019
Selected イ ベン ト 303, 1084
SelectionChanged イ ベン ト 304
SelectionChanging イ ベン ト 307
SelectionRange 関数 1020
SelectItem 関数 1021
SelectObject 関数 1026
SelectTextAll 関数 1032
SelectTextLine 関数 1033
SelectTextWord 関数 1034
SelectText 関数
概要 1027
ク リ ッ プボー ド への コ ピー 404
SELECT 文 165
SendMessage 関数 1036
Send 関数 1036
SeriesCount 関数 1038
SeriesName 関数 1039
SetAbort 関数 1041
SetAlignment 関数 1044
SetArgElement 関数 1045
SetAutomationPointer 関数 1048
SetAutomationTimeout 関数 1049
SetBoldDate 関数 1051
SetComplete 関数 1054
SetDataDDE 関数 1058
SetDataPieExplode 関数 1060
SetDataStyle 関数 1061
SetData 関数 1057
SetDateLimits 関数 1067
SetDropHighlight 関数 1068
1258
SetDynamicParm 関数 1069
SetFirstVisible 関数 1070
SetFocus 関数 1071
SetGlobalProperty 関数 1072
SetItem 関数 1074
SetLevelPictures 関数 1078
SetLibraryList 関数 1079
SetMask 関数 1081
SetMicroHelp 関数 1083
SetNull 関数 1084
SetOverlayPicture 関数 1085
SetPicture 関数 1088
SetPointer 関数 1089
SetPosition 関数 1090
SetProfileString 関数 1093
SetRange 関数 1095
SetRecordSet 関数 1096
SetRedraw 関数 1097
SetRemote 関数 1098
SetResultSet 関数 1101
SetSelectedDate 関数 1110
SetSelectedRange 関数 1111
SetSeriesStyle 関数 1102
SetState 関数 1113
SetTimeout 関数 1116
SetToday 関数 1117
SetToolbar 関数 1118
SetTop 関数 1124
SetTraceFileName 関数 1125
SetTransPool 関数 1126
SharedObjectDirectory 関数 1129
SharedObjectGet 関数 1130
SharedObjectRegister 関数 1133
SharedObjectUnregister 関数 1134
ShowHeadFoot 関数 1136
ShowHelp 関数 1137
ShowPopupHelp 関数 1138
Show イ ベン ト 309
Show 関数 1135
SignalError 関数 1140
Sign 関数 1139
Sin 関数 1141
Sleep 関数 1142
SortAll 関数 1144
Sort イ ベン ト 310
Sort 関数 1142
PowerBuilder
索引
Space 関数 1146
SQLCode プ ロ パテ ィ 149
SQLDBCode プ ロ パテ ィ 150
SQLErrText プ ロ パテ ィ 150
SQL の イ ン ジ ケー タ 変数 148
SQL のホ ス ト 変数 148
SQL 文
CLOSE Cursor 151
CLOSE Procedure 152
COMMIT 153
CONNECT 154
DECLARE Procedure 156
DISCONNECT 159
EXECUTE 160, 1069
FETCH 160
INSERT 162
OPEN 1069
OPEN Cursor 163
ROLLBACK 164
SELECT 165
SELECTBLOB 166
UPDATE 167
UPDATE Where Current of Cursor 170
UPDATEBLOB 169
エ ラ ー処理 149
概要 148
継続 17
パ イ プ ラ イ ン実行 1149
貼 り 付け 150
Sqrt 関数 1147
StartHotLink 関数 1156
StartServerDDE 関数 1157
Start イ ベン ト 313
Start 関数
概要 1148
サーバ アプ リ ケーシ ョ ン 395, 397
パ イ プ ラ イ ンのキ ャ ン セル 357
State 関数 1159
stgShareMode カ タ ロ グ デー タ 型 817, 821
StopHotLink 関数 1163
StopServerDDE 関数 1164
Stop 関数 1162
StringParm プ ロ パテ ィ 831, 839, 841, 849, 851
StringToObject 関数 1171
String デー タ 型 21
Stroke イ ベン ト 313
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Super 代名詞 15
SuspendTransaction 関数 1175
SyntaxFromSQL 関数 1176
SystemError イ ベン ト 314
SystemKey イ ベン ト 315
SYSTEMREAD 修飾子 43
SystemRoutine 関数 1179
SYSTEMWRITE 修飾子 43
T
Tag プ ロ パテ ィ
GetFocus 関数 578
マ イ ク ロ ヘルプ テ キ ス ト の格納 1084
Tan 関数 1183
TextLine 関数 1185
Text 関数 1184
Text プ ロ パテ ィ 578
This 代名詞 14
Timer イ ベン ト 316
Timer 関数 1189
Time 関数 1186
Time デー タ 型 23
ToAnsi 関数 1190
Today 関数 1191
ToolbarMoved イ ベン ト 318
Top 関数 1192
TotalColumns 関数 1193
TotalItems 関数 1194
TotalSelected 関数 1195
ToUnicode 関数 1196
TraceBegin 関数 1197
TraceClose 関数 1199
TraceDisableActivity 関数 1200
TraceEnableActivity 関数 1202
TraceEnd 関数 1204
TraceError 関数 1205
TraceFile 用のオブジ ェ ク ト
Close 関数 379
NextActivity 関数 802
Reset 関数 960
TraceOpen 関数 1206
TraceTreeGarbageCollect オブジ ェ ク ト 、
GetChildrenList 関数 527
TraceTreeObject オブジ ェ ク ト 、 GetChildrenList 関
1259
索引
数 527
TraceTreeRoutine オブジ ェ ク ト 、 GetChildrenList 関数
527
TraceTree オブジ ェ ク ト
BuildModel 関数 354
DestroyModel 関数 443
EntryList 関数 463
SetTraceFileName 関数 1125
TraceUser 関数 1208
Trace フ ァ イ ル関数、 Open 809
TrigEvent カ タ ロ グ デー タ 型 887
TriggerEvent 関数 1209
TriggerPBEvent 関数 1212
Trim 関数 1214
Truncate 関数 1215
TrustVerify 関数 1216
TypeOf 関数 1220
U
Uncheck 関数 1222
Undo、 テ ス ト 358
Undo 関数 1223
Unicode、 文字列の変換 515, 516, 1190, 1196
UnitsToPixels 関数 1224
UNTIL, DO...LOOP 文内 133
UPDATE Where Current of Cursor 文 170
UPDATEBLOB 文 169
UPDATE 文 167
UpperBound 関数 1227
Upper 関数 1226
V
ViewChange イ ベン ト 319
Visible プ ロ パテ ィ
SetRedraw 関数 1097
設定 1135
ポ ッ プア ッ プ メ ニ ュ ーの表示
1260
W
Which 関数 1229
WHILE, DO...LOOP 文内 133
WordCap 関数 1230
WordParm プ ロ パテ ィ
TriggerEvent 関数 1210
イ ベン ト のポ ス ト 888
WorkSpaceHeight 関数 1231
WorkSpaceWidth 関数 1232
WorkSpaceX 関数 1233
WorkSpaceY 関数 1234
Write 関数 1235
X
XMLParseFile 関数 1236
XMLParseString 関数 1240
xValue カ タ ロ グ デー タ 型 539, 555
x値
デー タ の イ ン ポー ト 639, 642, 645, 647
デー タ ポ イ ン ト 539, 555, 796
文字列か ら の挿入 649
Y
Year 関数 1243
Yield 関数 1244
yValue カ タ ロ グ デー タ 型 539, 555
y値
デー タ の イ ン ポー ト 639, 642, 645, 647
デー タ ポ イ ン ト 539, 555, 796
文字列か ら の挿入 649
あ
875
アイ コン
ウ ィ ン ド ウ の整列 343
メ ッ セージ ボ ッ ク ス 787
リ ス ト ビ ュ ーでの整列 342
ア ク セ ス権 PRIVATE
関数 58
PowerBuilder
索引
変数 と 定数 42
ア ク セ ス権 PROTECTED
関数 58
変数 と 定数 42
ア ク セ ス権 PUBLIC
関数 58
変数 と 定数 42
ア ク セ ス レベル
関数 58
グループ ラ ベル 45
変数 41
ア ク テ ィ ブ ウ ィ ン ド ウ 875
ア ク テ ィ ブ シー ト 828
値
NULL か ど う かのチ ェ ッ ク 710
数値の検出 711
デー タ ポ イ ン ト 554
リ ス ト か ら の削除 434
リ ス ト への挿入 673
リ ス ト への追加 330
値、 に よ る 引数の渡 し 106
圧縮モー ド 920
ア ド レ ス、 メ ール 759, 770, 772
アニ メ ーシ ョ ン
開始 872
停止 1162
アプ リ ケーシ ョ ン
DDE チ ャ ネルを閉 じ る 381
オブジ ェ ク ト の リ ス ト 731
経過時間 408
構文か ら オブジ ェ ク ト を再構築 736
構文 と し てオブジ ェ ク ト をエ ク ス ポー ト
734
サーバ 1157, 1164
再起動 969
実行 983
終了 138
接続 391, 393, 395, 397
中断 1244
ハン ド ル 521, 628
引数の取得 388
メ ッ セージのポ ス ト 機能 886
アプ リ ケーシ ョ ン オブジ ェ ク ト 、 SetTransPool 関
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
数 1126
アプ リ ケーシ ョ ン名 1156, 1157, 1164
ア ラ ビ ア語用の関数
IsAllArabic 699
IsAnyArabic 701
IsArabic 702
IsArabicAndNumbers 703
ア ンパサン ド 記号 (&) 16
い
位置
コ ン ト ロ ールの位置の設定 1090
挿入ポ イ ン ト の 880
変更 798
一時フ ァ イ ル 768
一番上
オブジ ェ ク ト の移動 1092, 1135
距離の判別 874
リ ス ト ボ ッ ク ス項目の移動 1124
イ ベン ト
印刷ジ ョ ブ 904
上書き 105
概要 89, 185
拡張 105
カ ス ケー ド 呼び出 し 110, 113
関数 と の類似点 91
キ ュ ーへの追加 887
検索 93
シ ス テ ム 90, 185
静的お よ び動的な 97
先祖 115
定義 さ れた 90
ト リ ガ 94, 186, 1182, 1209
引数 106, 186
非表示オブジ ェ ク ト 630
ポ ス ト 機能 94, 111, 1181
戻 り 値 110, 186
ユーザ定義 185, 187
呼び出 し 時のエ ラ ー 100
リ タ ーン コ ー ド 187
イ ベン ト の ID 186
1261
索引
色
赤、 緑、 青 973
サポー ト さ れてい る 566
デー タ 系列 608, 1102
デー タ ポ イ ン ト 548, 962, 1061
と エデ ィ ッ ト マ ス ク 1081
標準色のテーブル 974
イ ン ク エデ ィ ッ ト 用の関数
RecognizeText 942
イ ン ク ピ ク チ ャ 用の関数
LoadInk 742
LoadPicture 743
ResetInk 964
ResetPicture 964
Save 985
SaveInk 999
印刷カー ソ ル
印刷ジ ョ ブ 897
座標の取得 930, 931
印刷上の表記規則 xxiv
印刷ジ ョ ブ 912
印刷用の関数
Print 894
PrintBitmap 901
PrintCancel 902
PrintClose 904
PrintDataWindow 905
PrintDefineFont 906
PrintOpen 912
PrintOval 914
PrintPage 915
PrintRect 916
PrintRoundRect 917
PrintScreen 919
PrintSend 920
PrintSetFont 922
PrintSetSpacing 924
PrintSetup 925
PrintText 927
PrintWidth 929
PrintX 930
PrintY 931
インスタンス
定義 さ れた 78
有効性のチ ェ ッ ク 716
1262
ユーザ オブジ ェ ク ト 834, 838, 843, 848
イ ン ス タ ン ス変数
概要 32
初期化 41
ド ッ ト 表記 34
の ク ラ ス 369
イ ンデ ッ ク ス
一番上の取得 1192
ハ イ ラ イ ト 表示 1113, 1159
リ ス ト ボ ッ ク ス項目 1012, 1023
イ ン ポー ト 、 デー タ 642, 647
引用符
規則 23
指定 8
テ ィ ルダ を使っ た 22
ネ ス ト (入れ子) 22
引用符付 き 文字列、 継続 17
う
ウィンドウ
DDE 対話のハン ド ル 1157
ア ク テ ィ ブの取得 519
位置設定 1090
カ ス タ ム フ レーム 1233, 1234
整列 343, 828
デー タ 型 809
閉 じ る 377
ハン ド ルの取得 628
開 く 809, 853
メ ッ セージのポ ス ト 機能 886
メ ニ ュ ーの変更 363
ユーザ オブジ ェ ク ト の追加 834, 843, 848
ワー ク スペース の高 さ の取得 1231
ワー ク スペース の幅の取得 1232
ウ ィ ン ド ウ ActiveX コ ン ト ロ ール
GetArgElement 関数 522
GetLastReturn 関数 587
InvokePBFunction 関数 695
ResetArgElements 関数 961
SetArgElement 関数 1045
TriggerPBEvent 関数 1212
PowerBuilder
索引
ウ ィ ン ド ウ オブジ ェ ク ト
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
ユーザ オブジ ェ ク ト を閉 じ る 383
リ ス ト 731, 732
ウ ィ ン ド ウ ペ イ ン タ 844, 846
ウ ィ ン ド ウ用の関数
ArrangeSheets 343
ChangeMenu 363
ClassName 369
CloseUserObject 383
Draw 457
GetActiveSheet 519
GetFirstSheet 576
GetNextSheet 594
Hide 630
Move 798
Open 809
OpenSheet 827
OpenSheetWithParm 830
OpenTab 834
OpenUserObject 843
OpenWithParm 853
ParentWindow 863
PointerX 873
PointerY 874
PostEvent 887
Print 894
Resize 965
SetFocus 1071
SetMicroHelp 1083
SetPosition 1090
SetRedraw 1097
Show 1135
TriggerEvent 1209
TypeOf 1220
WorkSpaceHeight 1231
WorkSpaceWidth 1232
WorkSpaceX 1233
WorkSpaceY 1234
上重ね表示 さ れ る ウ ィ ン ド ウ 831
ウ ォーム リ ン ク 464, 604, 826, 1100
埋め込み SQL 147
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
え
エ ス ケープ シーケ ン ス 920
エデ ィ ッ ト コ ン ト ロ ール
か ら のテ キ ス ト の削除 372
行カ ウ ン ト 737
ク リ ッ プボー ド の内容の挿入 374
選択 さ れたテ キ ス ト 1014, 1017
挿入ポ イ ン ト の決定 880
テ キ ス ト の置換 957
エデ ィ ッ ト マ ス ク 用の関数
CanUndo 358
Clear 371
Copy 402
Cut 414
GetData 541
LineCount 737
LineLength 739
Paste 864
Position 880
ReplaceText 957
Scroll 1001
SelectedLength 1014
SelectedLine 1015
SelectedStart 1017
SelectedText 1019
SelectText 1028
SetMask 1081
TextLine 1185
Undo 1223
エラー
実行中 69
パ イ プ ラ イ ンの表示 1149
エ ラ ー オブジ ェ ク ト 、 作成 129
エ ラ ー処理
SQL 文の後 149
関数ま たは イ ベン ト の呼び出 し 100, 103
エ ラ ーデー タ ウ ィ ン ド ウ 953
エ ラ ーのチ ェ ッ ク
カ ス ケー ド 呼び出 し 111
ス ク リ プ ト の コ ンパ イ ル 99
円グ ラ フ 546, 1060
演算子
概要 67
関係 70
1263
索引
後置式を使っ た代入 122, 124
算術 68
デー タ 型への影響 73
優先順位 72
連結 71
論理 70
演算子の優先順位 72
エンベ ロ ープ、 メ ール メ ッ セージ ヘ ッ ダ
お
オーデ ィ オ (ビープ) 348
オー ト メ ーシ ョ ン 1046, 1048, 1049
オーバーレ イ 613, 1108
大文字 1226
大文字での表示
大文字 1226
系列名 338
項目名 325, 663
小文字 757
大文字 と 小文字の区別、 比較 70
オブジ ェ ク ト
OLE の保存 987
位置の変更 1092
一般的な参照 12
移動 798
イ ベン ト の発生 1209
イ ベン ト のポ ス ト 887
イ ン ス タ ン ス の作成 81, 128
イ ン ス タ ン ス の破棄 132
親オブジ ェ ク ト 597
概要 78
ガベージ コ レ ク シ ョ ン 83, 132
再構築 736
再描画 1097
参照ハン ド ル 78
種類の決定 1220
先祖 82
選択 1026
挿入 665, 672, 687
代入 85
の ク ラ ス の決定 369
1264
768
ハン ド ルの取得 628
引数 と し て渡す 107
非表示 630, 798
フ ォーカ ス の設定 1072
ポ イ ン タ 位置 805
ラ イ ブ ラ リ か ら の削除 730
リ ン ク 741
ロ ー ド 341, 1079
オブジ ェ ク ト 、 共有
SharedObjectDirectory 関数 1129
SharedObjectGet 関数 1130
SharedObjectRegister 関数 1133
SharedObjectUnregister 関数 1134
オブジ ェ ク ト 、 接続
ConnectToServer 関数 400
CreateInstance 関数 409, 411
DisconnectServer 関数 451
オブジ ェ ク ト の挿入 ダ イ ア ロ グボ ッ ク ス 687
オペレーテ ィ ン グ シ ス テ ム
RightToLeft バージ ョ ン 699, 700, 701, 702, 703,
706, 707, 972
情報 566
親ウ ィ ン ド ウ
取得 863
相対す る 位置に変更 798
開いてい る ウ ィ ン ド ウ 810, 811, 853
か
カー ソ ル
印刷 897
カ ス タ ム 1089
ポ ッ プア ッ プ メ ニ ュ ーの表示
カー ソ ル、 デー タ ベース
オープン 163
ク ロ ーズ 151
宣言 150, 155
改行、 指定 8
階層
子の ソ ー ト 1142
シ ス テ ム 27, 369
ソ ー ト 1144
875
PowerBuilder
索引
ツ リ ービ ュ ーの項目 387, 469
リ ス ト 内の子項目 680, 682, 685
外部関数 56
外部関数の DLL 59
カ ウ ン ト 、 系列のデー タ ポ イ ン ト 417
角度
逆正弦の計算 346
逆正接の計算 347
逆余弦の計算 322
正弦の計算 1141
正接の計算 1183
への変換 / ラ ジア ン (弧度) か ら の 870
余弦の計算 407
影
デー タ 系列 608, 1102
デー タ ポ イ ン ト 548, 1062
加算演算子 68
数
Char 型に変換 364, 365, 421, 431
pi を掛け る 870
行、 カ ウ ン ト 737
切 り 捨て 1215
項目 360
最大値の決定 361
四捨五入 981
剰余を戻す 794
対数 745, 746
動的に取得 563
比較 782, 793
符号の判別 1139
文字列のチ ェ ッ ク 711
曜日 427
ラ ン ダ ム 937
カ ス ケー ド ウ ィ ン ド ウ、 シー ト の整列 343
カ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト 84
画像
ク リ ッ プボー ド か ら の検索 374
ピ ク チ ャ コ ン ト ロ ールへの配置 1088
形
印刷 914, 916, 918
マ ウ ス ポ イ ン タ 1089
カ タ ロ グ デー タ 型 29
ガベージ コ レ ク シ ョ ン 83, 130, 132
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
可変長配列、 メ モ リ の割 り 当て 51, 1227
画面
印刷 919
相対する 位置に変更 798
表示 566
ワ ー ク スペース ま での距離 1233, 1234
カラム
挿入ポ イ ン ト の決定 880
のテ キ ス ト の貼 り 付け 865
リ ス ト 666
間隔 1189
環境
TEMP 変数 769
情報の取得 566
関係演算子 70
関数
DLL 59
イ ベン ト と の類似点 91
上書き 104
大文字 と 小文字の区別 112
外部 56
外部、 定義 さ れた 91
外部、 デー タ ベース ハン ド ルの レ ポー ト 429
外部、 メ ール 764
外部関数のア ク セ ス レベル 58
外部関数のデー タ 型 61
概要 89
カ ス ケー ド 呼び出 し 110, 113
型の変換 104
グ ロ ーバル関数 と シ ス テ ム関数の呼び出 し
113
検索 92
シ ス テ ム、 定義 さ れた 90
静的お よ び動的な 97
先祖 115
多重定義 104
ト リ ガ 94
引数 106
引数 と し ての Char 76
ポ ス ト 機能 94, 111
戻 り 値 109
ユーザ定義 90
呼び出 し 時のエ ラ ー 100
1265
索引
関数オブジ ェ ク ト
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
リ ス ト 731
関数 と イ ベン ト の多相性 (ポ リ モ フ ィ ズ ム)
関数の上書 き 104
関数の多重定義 104
関数ま たは イ ベン ト のポ ス ト 94
感嘆符ア イ コ ン 787
97
き
キーボー ド
キーを押 し たかの確認 716
テ キ ス ト の選択 404
キーワー ド 11
キーワー ド address 1210
疑問符
ア イ コ ン メ ッ セージ ボ ッ ク ス 787
テ キ ス ト パ タ ーン 780
動的 SQL 176, 177, 180
逆正弦 346
逆正接 347
逆余弦 322
キ ャ リ ッ ジ リ タ ーン
INI フ ァ イ ル内 935
指定 8
キ ャ ン セル
印刷 902
許可 1244
パ イ プ ラ イ ン オブジ ェ ク ト の 357
キ ャ ン セル ボ タ ン 787
行
印刷 927
数カ ウ ン ト 737
グ ラ フ、 デー タ 系列の色 608
グ ラ フ、 デー タ 系列の ス タ イ ル 609, 611
グ ラ フ、 デー タ ポ イ ン ト での ス タ イ ル 551
ス ク ロ ール 1001, 1002, 1003, 1005, 1006
選択 さ れた テ キ ス ト 1015
挿入ポ イ ン ト の決定 880
デー タ ポ イ ン ト の色 548
テ キ ス ト 1185
1266
長 さ の決定 739
パ イ プ ラ イ ン デー タ の修正 953
幅 551
リ ッ チテ キ ス ト の行間 615
行、 デー タ ベース
カー ソ ルが置かれた行の更新 170
更新 167
削除 157, 158
挿入 162
フ ェ ッ チ 160
行間
設定 924
テ キ ス ト 印刷時 897
共有オブジ ェ ク ト
SharedObjectDirectory 関数 1129
SharedObjectGet 関数 1130
SharedObjectRegister 関数 1133
SharedObjectUnregister 関数 1134
概要 1131
共有変数
概要 32
初期化 40
切 り 取 り 、 ク リ ッ プボー ド へ 414
く
区域 757, 1227
区域、 デー タ ウ ィ ン ド ウ、 オブジ ェ ク ト の移動
1092
空白 18
クラス
OLE 665
オブジ ェ ク ト と の対照 78
オブジ ェ ク ト の 369
ク ラ ス階層 28
ク ラ ス ユーザ オブジ ェ ク ト 80
グラフ
オーバーレ イ 613
項目 328
デー タ 系列 338
グ ラ フ ィ ッ ク 、 印刷 901
グ ラ フ用の関数
AddCategory 325
PowerBuilder
索引
AddData 327
AddSeries 337
CategoryCount 359
CategoryName 360
Clipboard 375
DataCount 417
DeleteCategory 431
DeleteData 433
DeleteSeries 440
FindCategory 498
FindSeries 512
GetData 539
GetDataPieExplode 546
GetDataStyle 548
GetSeriesStyle 607
ImportClipboard 639
ImportFile 642
ImportString 647
InsertCategory 663
InsertData 667
InsertSeries 689
ModifyData 795
Reset 959
SaveAs 989
SeriesCount 1038
SeriesName 1039
SetDataPieExplode 1060
SetDataStyle 1061
SetSeriesStyle 1102
グ リ ッ ド 提示様式 1176
ク リ ッ プボー ド
切 り 取 り 414
コ ピー 402
置換テ キ ス ト と し ての コ ン テ ン ツ
デー タ の イ ン ポー ト 639
内容の検索 と 置換 374
貼 り 付け 864
貼 り 付け と リ ン ク 866
グループ提示様式 1176
グ ロ ーバル関数
定義 さ れた 90
呼び出 し 113
グ ロ ーバル ス コ ープ記号 33
グ ロ ーバル変数
概要 32
ス コ ープ記号 33
ク ロ ス タ ブ、 ソ ース コ ー ド か ら の作成
1176
け
継承 82
PowerBuilder オブジ ェ ク ト 28
ダブル コ ロ ン 124
バ ッ ク ク ォー ト 124
継続行文字 16
現行
行 と ス ク ロ ール 1003, 1005
シー ト 828
検索、 リ ッ チテ キ ス ト 497, 511
限度、 数値 361
こ
957
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
構造体
mailRecipient 772
値の渡 し 855, 857
外部関数への渡 し 62
概要 77
自動生成 さ れたユーザ オブジ ェ ク ト
代入 85
引数 と し て渡す 108
戻 り 値の 385
構造体オブジ ェ ク ト
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
リ ス ト 731
後退、 指定 8
構文
オブジ ェ ク ト をエ ク ス ポー ト 734
オブジ ェ ク ト を再構築 736
項目
一番上 1124, 1192
イ ンデ ッ ク ス番号 1012
選択 1021
選択 さ れた項目数の取得 1195
総数の取得 1194
テ キ ス ト 1013, 1184
84
1267
索引
ハ イ ラ イ ト 表示 1113, 1159
リ ス ト か ら の削除 434, 959
リ ス ト への追加 330, 673
リ ン ク 741
項目、 グ ラ フ
InsertCategory 関数 326
カ ウ ン ト 359
ク リ ッ ク 805
系列に追加 326
削除 431, 960
識別 359, 360
新規 325
挿入 663
デー タ 値を系列に追加 326, 328
デー タ の イ ン ポー ト 639, 642, 647
コー ド
オブジ ェ ク ト 734
再利用 888
デー タ ウ ィ ン ド ウ の生成 1176
コ ール ド リ ン ク 464, 602, 826, 1098
個人の メ ッ セージ 762
コ ピー
ク リ ッ プボー ド か ら の イ ン ポー ト 639
ク リ ッ プボー ド へ 402
コ マン ド
DDE アプ リ ケーシ ョ ンか ら の受け取 り 968
DDE ク ラ イ ア ン ト か ら の取得 530
コ マ ン ド ラ イ ン、 引数の取得 388
コメント
使い方 4
ラ イ ブ ラ リ 729
小文字 757
コ ン ト ロ ール
移動 798
サ イ ズ変更 965
再描画 1097
参照 386
種類の決定 1220
中断 1244
ド ラ ッ グ 454
ハン ド ルの取得 628
非表示 630, 798
フ ォーカ ス 578, 1071
1268
コ ン ト ロ ール構造体
CHOOSE CASE 125
DO...LOOP 133
FOR...NEXT 136
IF...THEN 139
コ ンパ イ ル時のデー タ ベースへのサ イ ン オン を回
避 151
コ ン ピ ュータ
CPU 時間の レ ポー ト 408
ビープ音 348
さ
サーバ アプ リ ケーシ ョ ン
DDE ク ラ イ ア ン ト へ送る 1058
DDE サポー ト 826
DDE チ ャ ネルを閉 じ る 383
ア ク テ ィ ブ化 324, 1026
接続 391, 393, 395, 396, 397
停止 1164
デー タ の供給 602
貼 り 付け と リ ン ク 866
へのデー タ の送信 1098
再試行ボ タ ン 787
最小値
2 つの数 793
限度以上 361
サイズ
Blob ま たは文字列 725, 727
画面 566
変更 965
サ ウ ン ド (ビープ) 348
座標
印刷オブジ ェ ク ト 901, 914, 916, 917
印刷カー ソ ル 930, 931
リ ス ト ビ ュ ーの項目 595
サブ ス ト レージ、 OLE
削除 783
チ ェ ッ ク 784
名前の変更 785
保存 992
サマ リ ー、 オブジ ェ ク ト の移動 1092
算術演算子 68
PowerBuilder
索引
参照
と CloseWithReturn 関数 386
に よ る 引数の渡 し 106
パ ラ メ ー タ の渡 し 832, 839, 841, 849, 851,
855, 857
散布図グ ラ フ
系列への値の追加 329
デー タ の イ ン ポー ト 639, 642, 645, 647
デー タ ポ イ ン ト 値の取得 539
デー タ ポ イ ン ト 値の変更 796
文字列か ら のデー タ の挿入 649
し
シー ト
ア ク テ ィ ブの取得 519
親の取得 863
最初のシー ト を開 く 576
整列 343
ツールバー 620, 622, 1118, 1120
次の開いてい る シー ト を取得す る
開 く 811, 827, 830
式
Any デー タ 型 25
NULL か ど う かのチ ェ ッ ク 710
演算子 と デー タ 型 73
宣言 40
デー タ ウ ィ ン ド ウ と Any デー タ 型
デー タ 型 73
デー タ 型の変換 73
リ テ ラ ル 74
式内での優先順位 72
識別名、 規則 5
軸、 グ ラ フ
項目 325, 359, 431, 663
デー タ の挿入 667
次元 757
時刻
CPU 408
DateTime デー タ 型 424
現在 803
相対 950
594
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
27
デー タ 型への変換 1186
動的に取得 562, 565
秒 1007, 1008
分 793
文字列のチ ェ ッ ク 714
システム
イ ベン ト 185, 886
イ ベン ト 、 定義 さ れた 90
オブジ ェ ク ト ク ラ ス 79
オブジ ェ ク ト デー タ 型 27
オブジ ェ ク ト の階層 28
関数 113
時刻 803
日付 1191
レ ジ ス ト リ 943, 944, 945, 946, 948
シ ス テ ム と 環境用の関数
Clipboard 374
CommandParm 388
DebugBreak 430
FindClassDefinition 500
FindFunctionDefinition 501
FindTypeDefinition 513
GarbageCollect 516
GarbageCollectGetTimeLimit 517
GarbageCollectSetTimeLimit 517
GetApplication 521
GetEnvironment 566
Handle 628
PopulateError 876
Post 886
ProfileInt 932
ProfileString 934
Restart 969
Run 983
Send 1036
SetProfileString 1093
ShowHelp 1137
SignalError 1140
Yield 1244
子孫
イ ベン ト か ら の戻 り 値 115
の ク ラ ス の決定 369
開いてい る ウ ィ ン ド ウ 813
ユーザ オブジ ェ ク ト を開 く 835, 836, 845, 847
1269
索引
実行エ ラ ー 99
実行フ ァ イ ル
アプ リ ケーシ ョ ンのハン ド ルを返す 628
実行 984
自動生成設定 84
週、 曜日 426, 427
受信者、 メ ール 770
受信 ト レ イ
への メ ッ セージのダ ウ ン ロ ー ド 767
への メ ッ セージの保存 774
メ ール メ ッ セージの読み込み 768
メ ッ セージ ID 検索 761, 762
メ ッ セージ削除 761
状況依存ヘルプ 1137
上限以下の最大値 691
詳細区域、 オブジ ェ ク ト の移動 1092
乗算演算子 68, 69
状態
ハ イ ラ イ ト 表示の設定 1113
リ ス ト ボ ッ ク ス項目 1159
剰余 794
除算 794
除算演算子 68, 69
書式、 文字列への適用 1165
シ ン グル ラ イ ン エデ ィ ッ ト 用の関数
CanUndo 358
Clear 371
Copy 402
Cut 414
Move 798
Paste 864
Position 880
ReplaceText 957
SelectedLength 1014
SelectedStart 1017
SelectedText 1019
SelectText 1028
Undo 1223
シ ン ボルの種類、 グ ラ フ
デー タ 系列 1105
デー タ ポ イ ン ト 551, 1065
1270
す
水平ス ク ロ ール、 リ ス ト への項目の追加 331
数値デー タ 型の優先順位 73
数値用の関数
Abs 322
ACos 322
ASin 346
ATan 347
Ceiling 361
Cos 407
Exp 468
Fact 470
Int 691
Log 745
Max 782
Min 793
Mod 794
Pi 870
Rand 937
Randomize 937
Round 981
Sign 1139
Sin 1141
Sqrt 1147
Tan 1183
Truncate 1215
スク リプト
イ ベン ト の発生 1209
実行の中止 969
終了 141
ス ク ロ ール
ツ リ ービ ュ ー 1070
リ ス ト ボ ッ ク ス 1124
ス ク ロ ール用の関数
Scroll 1001
ScrollNextPage 1002
ScrollNextRow 1003
ScrollPriorPage 1004
ScrollPriorRow 1005
ScrollToRow 1006
Top 1192
ス コ ープ記号 113
ス タ テ ィ ッ ク テ キ ス ト コ ン ト ロ ール、 ク リ ッ プ
ボー ド の挿入 374
ス テー ト メ ン ト 、 PowerScript
PowerBuilder
索引
CALL 124
CHOOSE CASE 125
CONTINUE 127
CREATE 128
DESTROY 132
DO...LOOP 133
EXIT 135
FOR...NEXT 136
GOTO 138
HALT 138
IF...THEN 139
RETURN 141
区切 り 18
代入 122
リ ス ト 121
ス ト ア ド プ ロ シージ ャ
ク ロ ーズ 152
実行 160
宣言 150, 156
ス ト ア ド プ ロ シージ ャ 、 宣言 64
ス ト ッ プ サ イ ン ア イ コ ン 787
ス ト リ ーム、 OLE
削除 783
チ ェ ッ ク 784
名前の変更 785
ス ト レージ、 OLE
解放 378
フ ァ イ ル 992
保存 987
スペース
左端か ら 削除 724, 725
末尾の スペース の削除 977, 978
文字列か ら の削除 1214
文字列への挿入 1146
せ
世紀 1243
正弦 1141
整数
blob か ら の取得 692
Char に変換 364, 365
Long 値への変換 747, 749
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
変換 692
正接 1183
静的呼び出 し 97
正の数 1139
接続、 OLE オブジ ェ ク ト への 391, 393
接続オブジ ェ ク ト
ConnectToServer 関数 400
CreateInstance 関数 411
DisconnectServer 関数 451
絶対値 322
設定
保存 1093
読み込み 932, 934
セ ミ コ ロ ン (SQL) 17
線
印刷 911
グ ラ フ、 デー タ 系列の色 1102
グ ラ フ、 デー タ 系列の ス タ イ ル 1104
グ ラ フ、 デー タ ポ イ ン ト での ス タ イ ル
グ ラ フ、 デー タ ポ イ ン ト の色 1062
前景色
デー タ 系列 608, 1102
デー タ ポ イ ン ト 548, 1062
宣言
ア ク セ ス レベル 41
構文 36
初期値 と し ての式 40
宣言場所 31
定数 46
配列 47
変数 31
先祖
イ ベン ト か ら の戻 り 値 115
オブジ ェ ク ト 82
階層 369
関数ま たは イ ベン ト の呼び出 し 115
ス ク リ プ ト 、 呼び出 し 124
選択、 リ ス ト 内の削除 1023
線の種類 continuous
デー タ 系列の設定 1104
デー タ ポ イ ン ト の設定 1064
線の種類 dash
概要 1064, 1104
1063
1271
索引
デー タ 系列の設定 1104
線の種類 dotted
デー タ 系列の設定 1104
デー タ ポ イ ン ト の設定 1064
線の種類 transparent、 グ ラ フ
デー タ 系列の設定 1104
デー タ ポ イ ン ト の設定 1064
そ
送信者 768
挿入ポ イ ン ト
ク リ ッ プボー ド か ら の貼 り 付け 864
テ キ ス ト 行 1015, 1185
編集可能な コ ン ト ロ ール 739
文字の位置 1011
ソー ト 順
GetCalc 関数 628
リ ス ト に項目を挿入す る タ イ ミ ン グ 674
測定 1224
その他の ウ ィ ン ド ウ メ ニ ュ ー項目 829
そのほかの関数
IsValid 716
KeyDown 717
MessageBox 871
PixelsToUnits 871
RGB 973
SetNull 1084
SetPointer 1089
TypeOf 1220
UnitsToPixels 1224
た
ダ イ ア ロ グボ ッ ク ス
PasteSpecial 869
オブジ ェ ク ト の挿入 687
フ ァ イ ルの保存 573
フ ァ イ ルを開 く 568
対数 745, 746
代入
オーバーフ ロ ー 75
1272
後置式演算子 124
配列 50, 53, 55
文 122
代入時のオーバーフ ロ ー 75
タ イ マー、 イ ベン ト の発生 1189
タ イ ミ ン グ オブジ ェ ク ト
開始 1151
停止 1162
非ア ク テ ィ ブ化 1162
タ イ ミ ン グ用の関数
CPU 408
Idle 633
Timer 1189
代名詞
Parent 13
Super 15
This 14
イ ン ス タ ン ス変数 35
概要 12
楕円
SetFocus 関数 1072
印刷 914
高さ
オブジ ェ ク ト 965
ワー ク スペース 1231
多次元配列 49, 53
ダ ッ シ ュ 、 変数名での使用の禁止 5
タ ブ ページ
CreatePage 関数 413
PageCreated 関数 862
順序の変更 800
選択 1026
ユーザ オブジ ェ ク ト を開 く 834, 838
タ ブ文字、 指定 8
タ ブ用の関数
CloseTab 381
MoveTab 800
SelectTab 1026
TabPostEvent 1181
TabTriggerEvent 1182
タ ブ ラ 提示様式 1176
ダブル コ ロ ン 124
単位系
端か ら の距離 873
PowerBuilder
索引
ピ ク セルか ら の変換 871
ピ ク セルへの変換 1224
誕生日 1243
段落 1087
SetLevelPictures 1078
SetOverlayPicture 1085
Sort 1142
SortAll 1144
ち
て
チャ イル ド ウ ィ ン ド ウ
親の取得 863
開 く 811, 853
チ ャ ネル、 DDE 380, 825
長方形
SetFocus 関数 1072
印刷 916, 918
直線
SetFocus 関数 1072
ち ら つ き 1097
定義、 印刷の フ ォ ン ト 906
提示様式 1176
定数
値の代入 39
宣言 46
宣言場所 31
テ ィ ルダ
規則 23
指定 8
文字列 22
デ ィ レ ク ト リ 、 ラ イ ブ ラ リ 731, 732
デー タ
Blob への挿入 351
DDE アプ リ ケーシ ョ ンか ら の受け取 り
DDE ク ラ イ ア ン ト へ送 る 1058
DDE 取得 544
Long 型への変換 747, 749
OLE サーバ 542, 1057
イ ン ポー ト 639
共有 418
グ ラ フ系列への追加 327, 329
コ ン ト ロ ールか ら の取得 539
消去 958
ス ト リ ームへの書き 込み 1235
デー タ ウ ィ ン ド ウ での検索 497
転送 1148
パ イ プ ラ イ ンの修正 953
フ ァ イ ルへの書き 込み 490, 492
デー タ ウ ィ ン ド ウ オブジ ェ ク ト
SELECT 文か ら の作成 1176
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
ラ イ ブ ラ リ か ら の削除 730
リ ス ト 731
デー タ ウ ィ ン ド ウ コ ン ト ロ ール
つ
ツールバー 620, 622, 1118, 1120
月、 日付の取得 425
ツ リ ービ ュ ー用の関数
AddPicture 336
CollapseItem 387
DeleteItem 436
DeletePicture 439
DeletePictures 439
DeleteStatePicture 442
DeleteStatePictures 442
EditLabel 460
ExpandAll 468
ExpandItem 469
FindItem 507
GetItem 585
InsertItem 678, 679
InsertItemFirst 680
InsertItemLast 682
InsertItemSort 685
SelectItem 1025
SetDropHighlight 1068
SetFirstVisible 1070
SetItem 1077
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
968
1273
索引
デー タ 式 と Any デー タ 型 27
パ イ プ ラ イ ン エ ラ ー 1149
デー タ ウ ィ ン ド ウ の前景レ イ ヤ 1092
デー タ ウ ィ ン ド ウ の背景レ イ ヤ 1092
デー タ ウ ィ ン ド ウ のボ ト ム レ イ ヤ 1092
デー タ ウ ィ ン ド ウ用の関数
CanUndo 358
CategoryCount 359
CategoryName 360
Clear 371
Clipboard 374
Copy 402
Cut 414
DataCount 417
FindCategory 498
FindNext 511
FindSeries 512
GetData 539
GetDataPieExplode 546
GetDataStyle 548
GetSeriesStyle 607
LineCount 737
ObjectAtPointer 805
Paste 864
PasteRTF 867
Position 880
ReplaceText 957
ResetDataColors 962
Scroll 1001
SelectedLength 1014
SelectedLine 1015
SelectedStart 1017
SelectedText 1019
SelectText 1028
SeriesCount 1038
SeriesName 1039
SetDataPieExplode 1060
SetDataStyle 1061
SetPosition 1092
SetSeriesStyle 1102
TextLine 1185
Undo 1223
デー タ 型
Blob 350
NULL に設定 1084
real 941
1274
ウ ィ ン ド ウ 809
演算子の影響 73
外部関数 61
概要 19
カ タ ロ グ 29
関数の引数の変換 104
決定 369
時刻 1186
シ ス テ ム オブジ ェ ク ト 27
数値 73
代入 75
貼 り 付け時の型の不一致 865
日付 423
標準 19
変換 73
未定義 24
文字列 1165
リ テ ラ ル 20, 21, 22, 24, 74
デー タ 型のチ ェ ッ ク と 変換用の関数
AscA 345
Char 364, 365
Date 420
DateTime 424
Dec 431
Double 452
Integer 692
IsDate 705
IsNull 710
IsNumber 711
IsTime 714
Long 747, 749
Real 941
String 1165
Time 1186
デー タ 型のマ ッ ピ ン グ、 EAServer 29
デー タ 系列、 グ ラ フ
イ ン ポー ト 639, 642, 647
外観の レ ポー ト 607
カ ウ ン ト 1038
ク リ ッ ク 805
削除 440, 960
ス タ イ ルの設定 1102
挿入 689
PowerBuilder
索引
デー タ の挿入 667
デー タ ポ イ ン ト 417, 433, 539, 554, 795, 962
名前の取得 1039
番号の検索 512
への値の追加 327
への追加 338
デー タ 式
Any デー タ 型 27
デー タ の共有 418
デー タ パ イ プ ラ イ ン ペ イ ン タ 357, 1149
デー タ ベース
カー ソ ル、 オープン 163
カー ソ ルが置かれた行の更新 170
間のデー タ 転送 1148
行の削除 157, 158
行の選択 165
行の挿入 162
行の フ ェ ッ チ 160
更新 167
再起動 969
修復 953
接続 154
接続解除 159
ト ラ ンザ ク シ ョ ン 1126
ハン ド ル 429
変更の コ ミ ッ ト 153
変更の取 り 消 し 164
デー タ ベース ス ト ア ド プ ロ シージ ャ 147
デー タ ポ イ ン ト
値 539, 554
色の リ セ ッ ト 962
外観の レ ポー ト 548
切 り 離 し の割合の レ ポー ト 546
ク リ ッ ク 805
削除 431
散布図への追加 329
ス タ イ ルの設定 1061
挿入 667
テーブル、 デー タ ベース、 デー タ ベース間の
デー タ 転送 1148
テキ ス ト
RichTextEdit での検索 497, 511
色の設定 974
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
印刷 896, 927
印刷時の行間 897
エデ ィ ッ ト コ ン ト ロ ールか ら の削除 371
ク リ ッ プボー ド の 374, 404, 414
現行行の取得 1184, 1185
選択 1014, 1019, 1027
置換 957
貼 り 付け 865
部分文字列の検索 877, 880
マ イ ク ロ ヘルプ 1083
メ タ 文字 779
メ ッ セージ ボ ッ ク ス 787
文字列か ら のデー タ の イ ン ポー ト 647
元に戻す 1223
リ ス ト ボ ッ ク ス項目 1013
リ ッ チテ キ ス ト を ASCII テ キ ス ト で保存 997
テ キ ス ト の削除 371
テ キ ス ト パ タ ーンのア ス タ リ ス ク 780
テ キ ス ト パ タ ーンの円記号 780
テ キ ス ト パ タ ーンのカ ッ コ 780
テ キ ス ト パ タ ーンのキ ャ レ ッ ト 779
テ キ ス ト パ タ ーンの ド ル記号 779
テ キ ス ト パ タ ーンの ピ リ オ ド 779
テ キ ス ト パ タ ーンのプ ラ ス記号 780
テキ ス ト フ ァ イル
デー タ の イ ン ポー ト 642
保存 989
と
動的 SQL
DynamicDescriptionArea 173
DynamicStagingArea 172
DynamicStagingArea の準備 173
NULL 値 176, 178
概要 171
書式 1 175
書式 2 176
書式 3 177
書式 4 179
書式の リ ス ト 171
注意点 173
1275
索引
文 172
文の順序 174
動的 SQL 用の関数
GetDynamicDate 560
GetDynamicDateTime 562
GetDynamicNumber 563
GetDynamicString 564
GetDynamicTime 565
SetDynamicParm 1069
動的呼び出 し 98
エ ラ ー 100
動的 ラ イ ブ ラ リ 341, 1079
動的 ラ イ ブ ラ リ (DLL) 1156
ド キ ュ メ ン ト ウ ィ ン ド ウ 828
閉じ る
DDE チ ャ ネル 380
印刷ジ ョ ブ 904
ウ ィ ン ド ウ 377
ド ッ ト 表記
イ ン ス タ ン ス変数 34
概要 34
構造体 78
ト ピック
サーバ アプ リ ケーシ ョ ンの開始 1157
サーバ アプ リ ケーシ ョ ンの終了 1164
ヘルプの呼出 し 1137
ド ラ ッ グ、 ツ リ ービ ュ ー項目 1068
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト 、 作成 129
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト 関数
DBHandle 429
SyntaxFromSQL 1176
ト リガ
イ ベン ト 186
関数ま たは イ ベン ト 94
取 り 消し
編集 1223
ト レース用の関数
TraceBegin 1197
TraceClose 1199
TraceDisableActivity 1200
TraceEnableActivity 1202
TraceEnd 1204
TraceError 1205
TraceOpen 1206
TraceUser 1208
1276
ト レー ラ 、 オブジ ェ ク ト の移動 1092
ド ロ ッ プダ ウ ン ピ ク チ ャ リ ス ト ボ ッ ク ス用の関数
AddItem 332
AddPicture 336
Clear 371
Copy 402
Cut 414
DeletePicture 439
DeletePictures 439
FindItem 502
InsertItem 675
Paste 864
Position 880
ReplaceText 957
SelectedLength 1014
SelectedStart 1017
SelectedText 1019
SelectItem 1021
SelectText 1028
Text 1184
TotalItems 1194
ド ロ ッ プダ ウ ン リ ス ト ボ ッ ク ス コ ン ト ロ ール、 テ
キ ス ト の削除 371
ド ロ ッ プダ ウ ン リ ス ト ボ ッ ク ス用の関数
AddItem 330
Clear 371
Copy 402
Cut 414
DeleteItem 434
DirList 444
DirSelect 446
DraggedObject 456
FindItem 502
InsertItem 673
Paste 864
Position 880
Post 886
ReplaceText 957
Reset 959
SelectedLength 1014
SelectedStart 1017
SelectedText 1019
SelectItem 1021
SelectText 1028
Text 1184
TotalItems 1194
PowerBuilder
索引
な
長さ
Blob ま たは文字列 725, 727
OLEStream 728
行 739
選択 さ れたテ キ ス ト 1014
名前、 規則 5
名前を付けて保存 ダ イ ア ロ グボ ッ ク ス
991
ぬ
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
塗 り つぶ し パ タ ーン
diagonal 1066, 1105
diamond 1066, 1106
horizontal 1066, 1106
solid 1066, 1106
square 1066, 1106
vertical 1066, 1106
ね
ネ ス ト さ れた (入れ子状の) OLE オブジ ェ ク ト
818, 822
年、 概要 423
は
背景色、 グ ラ フ
デー タ 系列 608, 1102
デー タ ポ イ ン ト 548, 1062
排他的な共有モー ド 817, 821
パ イ プ ラ イ ンの置換、 キ ャ ン セル 357
パ イ プ ラ イ ンの転送先デー タ ベース 1148
パ イ プ ラ イ ン用の関数
Cancel 357
Repair 953
Start 1148
ハ イ フ ン、 変数名での使用の禁止 5
ハ イ ラ イ ト 表示
ス ク ロ ール 1005
設定 1113
リ ス ト 内の項目 1021, 1159
配列
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
Char 型 と String 型 76
mailRecipient 759
値の代入 53, 55, 122
エ ラ ー 56
概要 47
可変長 51
コ ピー 122
初期化 55
ス ト リ ーム 940, 1235
デフ ォ ル ト 値 50
動的 SQL の入力パ ラ メ ー タ 1069
引数 と し て渡す 108
メ ッ セージ ID 761
例 345
配列の次元 1227
配列用の関数
LowerBound 757
UpperBound 1227
配列 リ ス ト 55
パス
OLE ス ト レージ 811
フ ァ イ ルの保存 573
戻る 568
ラ イ ブ ラ リ フ ァ イ ル 729
パス ワ ー ド 767
パ タ ーン照合 779
バ ッ ク ク ォー ト 124
バ ッ チ アプ リ ケーシ ョ ン 888
幅
設定 965
デー タ 系列の線 1104
デー タ ポ イ ン ト の線 1063
文字列 929
ワ ー ク スペース 1232
パフ ォーマ ン ス
Any デー タ 型 27
Yield 関数 1244
動的関数 と イ ベン ト 呼び出 し 99
パラ メ ータ
DynamicDescriptionArea の設定 1069
コ マ ン ド ラ イ ン 388
シー ト を開 く 830
使っ て ウ ィ ン ド ウ を開 く 853
1277
索引
使っ てユーザ オブジ ェ ク ト を開 く 835, 836, 845,
847, 848
を使っ て タ ブ ページ を開 く 838
貼 り 付け
埋め込みま たは リ ン ク 869
ク リ ッ プボー ド 864, 866
ハン ド ル
DDE 380, 825, 1157
mailSession オブジ ェ ク ト 764, 1036
検証 716
デー タ ベース 429
ひ
比較
数 691, 782, 793
引数
イ ベン ト 186
関数お よ び イ ベン ト 106
コ マ ン ド ラ イ ン 388
サーバ アプ リ ケーシ ョ ン 1157, 1164
ホ ッ ト リ ン ク 1156, 1163
ピ ク セル 871, 1224
ピ クチャ
ツ リ ービ ュ ー項目 1078
ツ リ ービ ュ ー コ ン ト ロ ール 336, 340
リ ス ト のオーバーレ イ ピ ク チ ャ 1085
リ ス ト ビ ュ ー コ ン ト ロ ール 335, 339, 340
リ ス ト ボ ッ ク ス 336
リ ッ チテ キ ス ト 688
ピ ク チ ャ 用の関数
ClassName 369
Drag 454
Draw 457
Hide 630
Move 798
PointerX 873
PointerY 874
PostEvent 887
Print 894
SetFocus 1071
SetPicture 1088
SetPosition 1090
1278
SetRedraw 1097
Show 1135
TriggerEvent 1209
TypeOf 1220
ピ ク チ ャ リ ス ト ボ ッ ク ス用の関数
AddItem 332
AddPicture 336
DeletePicture 439
DeletePictures 439
FindItem 502
InsertItem 675
SelectedItem 1013
SelectItem 1021
SetTop 1124
State 1159
Text 1184
Top 1192
TotalItems 1194
TotalSelected 1195
ビ ジ ュ アル ユーザ オブジ ェ ク ト 80
日付
Blob 420
DateTime デー タ 型 420, 424
間隔の決定 428
現行の取得 1191
月の日付を取得 425
動的に取得 560, 562
変換 421
文字列のチ ェ ッ ク 705
曜日 426, 427
日付 と 時刻用の関数
Day 425
DayName 426
DayNumber 427
DaysAfter 428
Hour 631
Minute 793
Month 797
Now 803
RelativeDate 949
RelativeTime 950
Second 1007
SecondsAfter 1008
Today 1191
Year 1243
PowerBuilder
索引
ビ ッ ト マップ
印刷 901
ク リ ッ プボー ド か ら の検索 374
ピ ク チ ャ コ ン ト ロ ールへの配置 1088
リ ッ チテ キ ス ト 688
ビデオ モニ タ 566
描画オブジ ェ ク ト
SetFocus 関数 1072
イ ベン ト のポ ス ト 888
色の設定 974
表記規則 xxiv
表示書式、 文字列への適用 1165
開いた ウ ィ ン ド ウ を上重ね表示 828
開いた ウ ィ ン ド ウ を重ねて表示 828
ふ
フ ァ イル
セキ ュ リ テ ィ と 共有違反 475, 477
デー タ の イ ン ポー ト 642
リ ン ク 741
フ ァ イ ルの保存レ ス ポ ン ス ウ ィ ン ド ウ 573
フ ァ イ ル名の フ ィ ル タ 568, 573
フ ァ イ ル用の関数
FileClose 470
FileDelete 472
FileExists 474
FileLength 475, 476
FileOpen 478
FileRead 483
FileReadEx 485
FileSeek 487, 489
FileWrite 490
FileWriteEx 492
GetFileOpenName 568
GetFileSaveName 573
フ ォーカ ス
行の長 さ 739
コ ン ト ロ ールの検索 578
設定 1071
選択 さ れたテ キ ス ト 1015, 1019, 1020, 1028
フ ォーム提示様式 1176
フ ォ ルダ 731
フォン ト
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
FontFamily カ タ ロ グ デー タ 型 906
FontPitch カ タ ロ グ デー タ 型 906
印刷時 897
印刷の定義 906
設定 922
デー タ ウ ィ ン ド ウ コ ン ト ロ ールの印刷時
と 印刷時の文字列の長 さ 929
名前 と サ イ ズ 907
符号な し Integer デー タ 型 24
符号な し Long デー タ 型 24
フ ッ タ 、 オブジ ェ ク ト の移動 1092
負の数 1139
部分文字列
検索 877, 880
置換 954, 958
抽出 789
プ リ ン タ の設定 920
プ リ ン タ の設定 ダ イ ア ロ グボ ッ ク ス 925
フ レーム ウ ィ ン ド ウ 875, 1233, 1234
プ ロ セ ス間の メ ッ セージ 762
プ ロ セ ッ サ 566
プ ロ パテ ィ
GetFocus 関数 578
ウ ィ ン ド ウ 810, 813
取得 と 設定 521
幅 と 高 さ の設定 965
フ ォ ン ト 、 印刷 906
メ ッ セージ オブジ ェ ク ト 831
プ ロ パテ ィ 式
Any デー タ 型 27
プロ フ ァ イル フ ァ イル
書き 込み 1093
読み込み 932, 934
分散アプ リ ケーシ ョ ン
ConnectToServer 関数 400
DisconnectServer 関数 451
SharedObjectDirectory 関数 1129
SharedObjectGet 関数 1130
SharedObjectRegister 関数 1133, 1134
905
へ
平方根
1147
1279
索引
ページ
印刷 915
サ イ ズ 897
枠の印刷 914, 916, 917
ページ用の関数
ScrollNextPage 1002
ScrollPriorPage 1004
ヘ ッ ダ区域、 オブジ ェ ク ト の移動 1092
ヘブ ラ イ 語の関数
IsAllHebrew 700
IsAnyHebrew 701
IsHebrew 706
IsHebrewAndNumbers 707
ヘルプ
Winhelp の呼出 し 1137
マ イ ク ロ ヘルプの表示 1083
ヘルプ検索ウ ィ ン ド ウ 1137
変数
Blob か ら のデー タ の抽出 352
Blob へのデー タ の挿入 351
NULL か ど う かのチ ェ ッ ク 710
NULL に設定 9, 1084
OLEObject 396
SQL の参照 148
ア ク セ ス レベル 41
値の代入 39
イ ン ジ ケー タ 148
検索の順番 33
検証 717
初期値 と し ての式 40
初期値の宣言 38
宣言 31
宣言場所 31
デー タ 型 38
デフ ォ ル ト 値 38
名前 38
のデー タ 型の決定 369
ホ ス ト 148
リ テ ラ ルの代入 20, 21, 22, 24
ほ
ポインタ
1280
形の設定 1089
上部か ら の距離 874
端か ら の距離の判別 873
フ ァ イ ル 487, 489, 490, 492
ポ イ ン ト 位置のオブジ ェ ク ト を戻す
読み書 き 1009
ポ イ ン タ arrow 1089
ポ イ ン タ beam 1089
ポ イ ン タ hourglass 1089
ポ イ ン ト サ イ ズ 906
ホッ ト リ ンク
概要 1059
確立 1156
終了 1163
デー タ の ソ ース の判別 545
発信元の判別 545
ポ ッ プア ッ プ ウ ィ ン ド ウ
移動 798
親の取得 863
開 く 811, 853
805
ま
マ イ ク ロ ヘルプ 1083
マ イ ナ ス符号 68
スペース で囲まれた 18, 68
マウ ス
テ キ ス ト の選択 404
ポ イ ン タ の形の設定 1089
マ ウ ス ポ イ ン タ cross 1089
マス ク
照合 779
設定 1081
長 さ の レ ポー ト 739
文字列への適用 1165
マルチ ラ イ ン エデ ィ ッ ト 用の関数
CanUndo 358
Clear 371
Copy 402
Cut 414
LineCount 737
LineLength 739
Paste 864
PowerBuilder
索引
か ら の文字列の抽出 1167, 1170
作成 129
シー ト を開 く パ ラ メ ー タ 830
種類の決定 1222
パ ラ メ ー タ のア ク セ ス 853
プ ロ パテ ィ 839, 841, 849, 851
戻 り 値を閉 じ る 384
メ ッ セージ ボ ッ ク ス の タ イ ト ル 787
メ ニ ュー
Checked プ ロ パテ ィ 366
オブジ ェ ク ト の作成 129
シー ト 828
表示 875
変更 363
メ ニ ュ ー オブジ ェ ク ト
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
リ ス ト 731
メ ニ ュ ー用の関数
Check 366
ClassName 369
Disable 448
Enable 461
PopMenu 875
Show 1135
TriggerEvent 1209
TypeOf 1220
Uncheck 1222
メモリ
可変長配列 1227
配列への割 り 当て 51
メ ール セ ッ シ ョ ン後の解放 765
メ ンバー、 OLE 783, 784, 785
Position 880
ReplaceText 957
Scroll 1001
SelectedLength 1014
SelectedLine 1015
SelectedStart 1017
SelectedText 1019
SelectText 1028
TextLine 1185
Undo 1223
み
未読 メ ッ セージ
762
め
命名規約 38
メ イ ン ウ ィ ン ド ウ 798
メ ール用の関数
mailAddress 759
mailDeleteMessage 761
mailGetMessages 762
mailHandle 764
mailLogoff 765
mailLogon 766
mailReadMessage 768
mailRecipientDetails 770
mailResolveRecipient 772
mailReturnCode 766
mailSaveMessage 774
mailSend 777
メ タ 文字 779
メ ッ セージ
ウ ィ ン ド ウへ送 る 1036
削除 761
ポ ス ト 機能 886
保存 774, 777
メ ッ セージ ID 配列 762
メ ッ セージ オブジ ェ ク ト
PowerObjectParm プ ロ パテ ィ
TriggerEvent 関数 1210
値指定 748
も
385
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
文字
ASCII 値に変換す る 344, 345
大文字での表示の変換 757, 1226
照合 779
選択 1027
選択 さ れた 1014, 1017
抽出 364, 365, 789
1281
索引
配列 940
マ ス ク 1081
右端の文字を返す 976, 977
文字配列 1235
文字列
Char 型配列 76
Char に変換 76
入れ子 22
印刷の幅の決定 929
大文字 1226
継続 17
小文字 757
ス ト リ ームへの書 き 込み 1235
抽出 364, 365, 789
デー タ の イ ン ポー ト 647
動的に取得 564
内容の検出 705, 711, 714
比較 70
左端か ら スペース を削除 724, 725
部分文字列の検索 877, 880
変換 345, 350, 421, 431, 452, 748, 750, 941
連結 71
文字列での特殊な ASCII 文字 7
文字列の解析 877, 880
文字列の区切 り 子 352
文字列の挿入 954, 958
文字列の比較 70
文字列用の関数 1165
Asc 344, 345
AscA 345
Char 364
CharA 365
Fill 495
FillW 495, 496
Left 722, 724
LeftC 724
LeftTrim 724, 725
LeftW 722, 724
Len 725, 727
Lower 757
Match 779
Mid 789
MidW 789
Pos 877
1282
PosW 880
Replace 954, 958
Right 976
RightC 977
RightTrim 977, 978
RightW 977
Space 1146
Trim 1214
Upper 1226
元のサ イ ズで開 き 重ねて表示 さ れ る ウ ィ ン ド ウ
831
元のデー タ ベース 1148
戻り値
TriggerEvent 関数 1210
イ ベン ト リ タ ーン コ ー ド 187
概要 109
先祖の イ ベン ト か ら の 115
メ ール セ ッ シ ョ ン 766
モニ タ 566
ゆ
ユーザ ID 766
ユーザ イ ベン ト
pbm_dwngraphcreate 1103
定義 さ れた 90
ユーザ オブジ ェ ク ト
概要 80
構造体の よ う に使用 さ れ る 84
構文か ら 再構築 736
構文 と し てエ ク ス ポー ト 734
作成 129
自動生成 さ れた 84
タ ブ ページ 834, 838
タ ブ ページ を閉 じ る 381
動的に作成 129
閉 じ る 383
パ イ プ ラ イ ン 1148
開 く 834, 835, 836, 843, 845, 847, 848
リ ス ト 731
ユーザ定義 イ ベン ト 185, 187
ユーザ名 772
ユニ フ ォーム デー タ 転送 542, 1057
PowerBuilder
索引
よ
用紙送 り 、 指定 8
余弦 407
余白 897, 920, 1087
読み出 し 専用の引数
予約語 11
106
ら
ラ イブラ リ
オブジ ェ ク ト の削除 731, 732
か ら のオブジ ェ ク ト の貼 り 付け と リ ン ク
866
探索パ ス 341, 588, 1079
ラ イ ブ ラ リ 用の関数
LibraryCreate 729
LibraryDelete 730
LibraryDirectory 731
LibraryDirectoryEx 732
LibraryExport 734
LibraryImport 736
ラ ジ ア ン (弧度) 870
ラ ベル提示様式 1176
乱数
取得 937
乱数ジ ェ ネ レー タ の初期化 937
り
リスト
項目の削除 959
項目の追加 673
新規項目の追加 330
水平ス ク ロ ールバー 331
ソ ー ト さ れた 332
ラ イ ブ ラ リ のオブジ ェ ク ト 731, 732
リ ス ト ボ ッ ク ス のフ ァ イ ル 444
リ ス ト の水平ス ク ロ ールバー 331
リ ス ト ビ ュ ー コ ン ト ロ ール、 カ ラ ム 1075
リ ス ト ビ ュ ーの レ ポー ト ビ ュ ー 584
リ ス ト ビ ュ ー用の関数
AddColumn 326
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
AddItem 333, 334
AddLargePicture 335
AddSmallPicture 339
AddStatePicture 340
Arrange 342
DeleteColumn 432
DeleteColumns 433
DeleteItem 435
DeleteLargePicture 438
DeleteLargePictures 438
DeleteSmallPicture 441
DeleteSmallPictures 441
DeleteStatePicture 442
DeleteStatePictures 442
EditLabel 459
FindItem 503, 505
GetColumn 528
GetItem 584
GetOrigin 595
InsertColumn 666
InsertItem 676
SelectedIndex 1012
SetItem 1074
SetOverlayPicture 1085
Sort 1143
TotalItems 1194
TotalSelected 1195
リ ス ト ビ ュ ー 1193
リ ス ト ボ ッ ク ス用の関数
AddItem 330
DeleteItem 434
DirList 444
DirSelect 446
FindItem 502
InsertItem 673
Reset 959
SelectedIndex 1012
SelectedItem 1013
SelectItem 1021
SetState 1113
SetTop 1124
State 1159
Text 1184
Top 1192
TotalItems 1194
TotalSelected 1195
1283
索引
リ ッ チテ キ ス ト
印刷 900, 908
行間 1112
行の選択 1033
再検索 511
書式 596, 615, 618, 1087
書式 と と も に コ ピー 405, 867
すべて選択 1032
選択 1030
挿入ポ イ ン ト の決定 881
単語の選択 1034
デー タ 418, 656, 657, 658, 659, 660, 661
テ キ ス ト 設定 1115
テ キ ス ト の色 618, 1114
テ キ ス ト の検索 497
ド キ ュ メ ン ト のプ レ ビ ュ ー 712, 893
配置 520, 1044
フ ァ イ ルの保存 997
プ レ ビ ュ ー 712
ヘ ッ ダ と フ ッ タ の編集 1136
リ ッ チテ キ ス ト エデ ィ ッ ト 用の関数
CanUndo 358
Clear 371
Copy 402
CopyRTF 405
Cut 414
DataSource 418
Find 497
FindNext 511
GetAlignment 520
GetParagraphSetting 596
GetSpacing 615
GetTextColor 618
GetTextStyle 618
InputFieldChangeData 656
InputFieldCurrentName 657
InputFieldDeleteCurrent 658
InputFieldGetData 659
InputFieldInsert 660
InputFieldLocate 661
InsertPicture 688
IsPreview 712
LineCount 737
LineLength 739
1284
Paste 864
PasteRTF 867
Position 881
Preview 893
Print 900
PrintEx 908
ReplaceText 957
SaveDocument 997
Scroll 1001
ScrollNextPage 1002
ScrollNextRow 1003
ScrollPriorPage 1004
ScrollPriorRow 1005
ScrollToRow 1006
SelectedColumn 1011
SelectedLength 1014
SelectedLine 1015
SelectedPage 1017
SelectedStart 1017
SelectedText 1019
SelectText 1030
SelectTextAll 1032
SelectTextLine 1033
SelectTextWord 1034
SetAlignment 1044
SetParagraphSetting 1087
SetSpacing 1112
SetTextColor 1114
SetTextStyle 1115
ShowHeadFoot 1136
Undo 1223
リ ッ チテ キ ス ト の入力フ ィ ール ド 656, 657, 658,
659, 660, 661
リ テラル
指定 20, 21, 22, 24
デー タ 型 74
リ モー ト の DDE アプ リ ケーシ ョ ン 968
リ モー ト プ ロ シージ ャ コ ール
定義 さ れた 91
リ モー ト プ ロ シージ ャ コ ール、 宣言 64
リ ンク
確立 741
ク リ ッ プボー ド の内容 866, 869
PowerBuilder
索引
る
累乗演算子 68
累乗の指数 468
ループ
概要 133
繰 り 返 し 136
現行の繰 り 返 し を ス キ ッ プ
外に移る 135
中断 1244
127
れ
レ イ ア ウ ト 905
レ ジ ス ト リ 667
レ スポン ス ウ ィ ン ド ウ
移動 798
閉 じ る 384
連結演算子 71
ろ
ロ ーカル変数 32
論理演算子 70
わ
ワ ー ク スペース
画面ま での距離 1233, 1234
高 さ の取得 1231
幅の取得 1232
枠
印刷 914, 916, 917
距離の判別 873, 874
PowerScript リ フ ァ レ ン ス ボ リ ュ ーム 2
1285
1286
PowerBuilder
Fly UP