Ein Fenster anhängen, nachdem eine Auswahl getroffen wurdeIch habe nach einer Lösung gesucht, um ein geöffnetes Fenster anhängen zu können, nachdem eine Auswahl aus einer Kalenderbox getroffen wurde.
Wenn Startdatum und Enddatum ausgewählt sind, möchte ich ein weiteres Feld direkt unter dem Feld mit den Kalendern öffnen.
Unten ist ein Beispiel, das ich in der vereinfachten Version versuche. In meiner aktuellen Anwendung möchte ich ein Kontrollkästchen () öffnen, das auf den Daten basiert, die aus einer Datenbank ausgewählt wurden, die auf einem SQL-Skript basiert.
Danke dir
<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" )
)
)
)
)
);
Re: Hängen Sie ein offenes Fenster an, nachdem Sie eine Auswahl getroffen habenVielen Dank.. Ich habe ein Wait () zwischen diesem Teil des versucht
Code.. Als ich die Foren las, sah ich vorher etwas über Pause
Ich habe ein Skript ausgeführt und den Piepton () gesehen, aber ich habe nicht daran gedacht
das da reinstellen ..
Vielen Dank nochmal ..
Re: Hängen Sie ein offenes Fenster an, nachdem Sie eine Auswahl getroffen habenNatürlich habe ich keine Datenbank. Indem Sie den Code entsprechend vereinfachen, zeigt dies die Vorgehensweise beim Hinzufügen des Kontrollkästchens zur Benutzeroberfläche.
/* -----------------------------------------------------------*/
/* 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>
Re: Hängen Sie ein offenes Fenster an, nachdem Sie eine Auswahl getroffen habenLassen Sie mich das erweitern, wenn ich darf.
Nun, da Sie das für die Arbeit mit einem Textfeld haben, ist die Lösung, die ich lösen möchte, ein Kontrollkästchen, das beim Drücken von Set Dates gefüllt wird. Ich habe versucht, LotListBox = Check Box (LotList, doListChoice) einzufügen. Anstelle des Textfelds () bekomme ich nur das Panel-Fenster.
Von dem, was ich herausfinden kann, werden die letzten 4 Sätze von Skripts nicht ausgeführt. Senden Sie daher einfach ein leeres Fenster.
/* -----------------------------------------------------------*/
/* 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>
Re: Hängen Sie ein offenes Fenster an, nachdem Sie eine Auswahl getroffen habenDas ist verrückt, weil es nicht funktioniert hat ... Danke, dass Sie darauf hingewiesen habenRe: Hängen Sie ein offenes Fenster an, nachdem Sie eine Auswahl getroffen habenIch bin nicht sicher, was ich mit Ihrem Original gemacht habe. Der folgende Code funktioniert jedoch in der Tat. Im Allgemeinen halte ich es für eine bessere Lesbarkeit und Wartbarkeit, um Aktionen als Ausdrücke mit einem Namen zu definieren und sie dann mit diesem Namen aufzurufen.
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>