선택 후 열린 창 추가나는 일정 상자에서 선택을 한 후에 열려있는 창을 추가 할 수있는 솔루션을 찾고있다.
시작 날짜와 종료 날짜를 선택한 후에는 달력이있는 패널 상자 바로 아래에 다른 상자를 열고 싶습니다.
아래는 단순한 버전의 예제입니다. 내 실제 응용 프로그램에서 SQL 스크립트를 기반으로 데이터베이스에서 선택한 날짜를 기준으로 확인란 () 목록을 열고 싶습니다.
고맙습니다
<BR />nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<< Set Function(
Function(
{f1},
sqlstartA = StartDate << Get Date();
)
)
)
), // End StartDate Calendar Box
Panel Box( "Select End",
EndDate = Calendar Box(
<< Set Function(
Function(
{f2},
sqlendA = EndDate << Get Date();
)
)
)
) // End EndDate Calendar Box
),
H List Box(
bb1 = Button Box( "Set Dates",
sqlstart = format(sqlstartA, "yyyy-mm-dd");
sqlend = format(sqlendA, "yyyy-mm-dd");
show(sqlstart, sqlend);
),
bb2 = Button Box( "Cancel" )
),
Wait( 0.1 ),
pb << Append(
Text Box( "Why isn't this working" )
)
)
)
)
);
다시 : 선택한 후 열린 창 추가고맙습니다. .. 나는 그 부분 사이에 대기 ()를 시도했다.
암호.. 포럼을 읽고있을 때 이전에 Pause에 관한 내용을 보았습니다.
스크립트를 실행하고 삐 ()를 보았지만 나는 생각조차하지 않았다.
그걸 거기에 두는 것.
다시 한번 고마워요.
다시 : 선택한 후 열린 창 추가물론 나는 당신의 DB를 가지고 있지 않습니다. 그러나 코드에 해당하는 단순화를 작성하면 UI에 확인란을 추가하는 방법을 보여줍니다.
/* -----------------------------------------------------------*/
/* Calendar Box to Select Start and End Dates */
/* -----------------------------------------------------------*/
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start", StartDate = Calendar Box( <<SET function=""></SET>
다시 : 선택한 후 열린 창 추가내가 그렇게 할 수있게 확장하도록 허락 해주세요.
이제는 텍스트 상자를 사용하여 작업하려고 했으므로 실제 해결 방법은 날짜 설정을 누를 때 채워지는 확인란을 배치하는 것입니다. LotListBox = Check Box (LotList, doListChoice)를 삽입하려고했습니다. 텍스트 상자 () 대신에 패널 윈도우 만 가져옵니다.
내가 수집 할 수있는 것부터 스크립트의 마지막 4 세트가 실행되지 않고 따라서 빈 창이 전송됩니다.
/* -----------------------------------------------------------*/
/* Calendar Box to Select Start and End Dates */
/* -----------------------------------------------------------*/
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<<SET function="">= ' " || sqlstart || " '
AND t1.testdate <= ' " || sqlend || " '
AND (t1.wafer_number NOT RLIKE '-ATL' )
ORDER BY t1.testdate DESC
"
);
/*****************************************************************************/
/* */
/* Brings in the list of wafers from the SQL Query */
/* */
/*****************************************************************************/
/**************************************************************/
/* Opens Database based on Calendar Dates and Lists Lots */
/**************************************************************/
// Tried to put this in an expression to execute in the main window
dtLotList = Expr(
dt_LotList = Open Database( <DATABASE string="">, SQLcode, "LotList" );
Summarize( LotList = By( :wafer_number ) );
Close( dt_lotlist, No Save );
);
// Original script to bring in a list of wafers within the date range
dt_LotList = Open Database( <DATABASE string="">, SQLcode, "LotList" );
Summarize( LotList = By( :wafer_number ) );
Close( dt_lotlist, No Save );
/**************************************************************/
/* Lists Lot List in Check Box Format */
/**************************************************************/
// This is what i would like to be appended in the first window
LotListBox = Check Box( LotList, doListChoice );
/**************************************************************/
/* Allows for Multiple Lots to be Selected */
/**************************************************************/
doListChoice = Expr(
SelectedLot = LotListBox << get selected; //get the selected items
If( N Items( SelectedLot ) > 0, //run through each selected item if there are any
For( i = 1, i <= N Items( SelectedLot ), i++,
Print( SelectedLot[i] )
)
);
LotListSQLString = "";
For( i = 1, i <= N Items( SelectedLot ), i++,
LotListSQLString = LotListSQLString || "'" || Char( SelectedLot[i] );
If( i == N Items( SelectedLot ),
LotListSQLString = LotListSQLString || "'",
LotListSQLString = LotListSQLString || "',"
);
);
Show( SelectedLot );
);</DATABASE></DATABASE></SET>
다시 : 선택한 후 열린 창 추가그것이 작동하지 않았기 때문에 그것은 미쳤다. .. 그 점을 지적 해 주셔서 고맙습니다.다시 : 선택한 후 열린 창 추가서둘러 일하면서, 내가 당신의 원래 한 일을 확신하지 못합니다. 그러나 아래 코드는 실제로 작동합니다. 일반적으로 액션을 이름이있는 표현식으로 정의한 다음 해당 이름을 사용하여 액션을 정의 할 수있는 가독성 및 유지 관리 기능을 갖추고 있습니다.
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<<SET function=""></SET>