473,666 Members | 2,517 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

if and else write statement in c

kirubagari
158 New Member
Expand|Select|Wrap|Line Numbers
  1. *
  2.  *
  3.  * Function Name : int Generate_PR_Report 
  4.  * Program:
  5.  * Purpose: -Gather data on problematic lot and put into the log file for user 
  6.              reference.
  7.  ********************************************************************************/
  8. int Generate_PR_Report(
  9.             char* startDate, 
  10.             char* endDate, 
  11.             struct parameters* parms) 
  12. {     
  13.     /***************************************************
  14.      * Preparation 
  15.      ***************************************************/ 
  16.     /* Variable declaration */ 
  17.     int skipLotCntr = 0; 
  18.     int numOfFiles = 0; 
  19.     int compQty = 0;
  20.     int indexOfComp = 0; 
  21.     int indexOfCarHistRecord = 0; 
  22.  
  23.     vc2_LotSK lot_sk; 
  24.     vc2_TxnSK txn_sk;     
  25.     vc2_Operation action; 
  26.     vc2_LotId lot; 
  27.     vc2_StepId stepId;     
  28.     vc2_StepId sorterAction; 
  29.     vc2_Stage stage; 
  30.     vc2_Recipe recipe; 
  31.     vc2_Operation operation; 
  32.     vc2_Operation subOperation; 
  33.     vc2_WaferQty qtyIn; 
  34.     vc2_WaferQty qtyOut; 
  35.     vc2_WaferQty actualQty; 
  36.     vc2_EqpId eqpId; 
  37.     vc2_Device device; 
  38.     vc2_Technology tech; 
  39.     vc2_DateTime toTime; 
  40.     vc2_DateTime tiTime; 
  41.     vc2_DateTime createTime;  
  42.     vc2_UserId employee; 
  43.     vc2_CarrierId carrierId; 
  44.     vc2_LotId finalLotId; 
  45.     vc2_GroupHistKey groupHistKey; 
  46.     vc2_PlanId planId;     
  47.     vc2_SlotPosition slot; 
  48.     vc2_CarrierId origCass; 
  49.     vc2_VScriberId inHouseScribe; 
  50.     vc2_VScriberId vendorScribe; 
  51.     vc2_CarrierId finalCass; 
  52.     vc2_SlotPosition origSlotArray[MAX_WAFERQTY_PER_LOT]; 
  53.     vc2_CarrierId origCassArray[MAX_WAFERQTY_PER_LOT]; 
  54.     vc2_VScriberId inHouseScribeArray[MAX_WAFERQTY_PER_LOT];  
  55.     vc2_VScriberId vendorScribeArray[MAX_WAFERQTY_PER_LOT]; 
  56.     vc2_SlotPosition finalSlotArray[MAX_WAFERQTY_PER_LOT]; 
  57.     vc2_CarrierId finalCassArray[MAX_WAFERQTY_PER_LOT]; 
  58.  
  59.     vc2_VScriberId scribeId;
  60.     vc2_SysId carHistSysId; 
  61.     vc2_SysId carHistTxnTime; 
  62.     vc2_SysId carHistSysIdArray[MAX_CARHISTRECORD_NUM];     
  63.     vc2_SysId carHistTxnTimeArray[MAX_CARHISTRECORD_NUM]; 
  64.     int finalFlag = FALSE; 
  65.     char currDateTime[20]; 
  66.     char* pTmp = NULL; 
  67.  
  68.     /* Reset memory */ 
  69.     memset(scribeId, 0, sizeof(scribeId)); 
  70.     memset(currDateTime, 0, sizeof(currDateTime)); 
  71.     memset(carHistSysId, 0, sizeof(carHistSysId));     
  72.     memset(carHistTxnTime, 0, sizeof(carHistTxnTime));     
  73.     memset(carHistSysIdArray, 0, sizeof(carHistSysIdArray)); 
  74.     memset(carHistTxnTimeArray, 0, sizeof(carHistTxnTimeArray)); 
  75.      /***************************************************
  76.      * Query data  
  77.      ***************************************************/ 
  78.     /* Get 'Sorter Action' lot (lot_sk, txn_sk) list */ 
  79.     EXEC SQL DECLARE wsSaCursor1 CURSOR FOR
  80.               SELECT wip.lot_sk, wip.txn_sk 
  81.                 FROM hdbxuser.fwhdbwipstephistory@hdbsil sh, 
  82.                        hdbxuser.fwhdbwiptransaction@hdbsil wip 
  83.                WHERE wip.wipstep_sk = sh.wipstep_sk 
  84.                  AND wip.activity = 'TrackIn' 
  85.                  AND wip.txntime = sh.trackintime 
  86.                  AND sh.trackouttime BETWEEN :startDate AND :endDate; 
  87.  
  88.     /* Open cursor */ 
  89.     EXEC SQL OPEN wsSaCursor1;
  90.  
  91.     /* Loop, fetching all salesperson's statistics.
  92.      * Cause the program to break the loop when no more
  93.      * data can be retrieved on the cursor.
  94.      */    
  95.     EXEC SQL WHENEVER NOT FOUND DO break; 
  96.  
  97.     for( ; ;) 
  98.     {    
  99.         /* Reset memory */         
  100.         memset(lot_sk, NULL, sizeof(lot_sk)); 
  101.         memset(txn_sk, NULL, sizeof(txn_sk));     
  102.         memset(action, NULL, sizeof(action)); 
  103.         memset(lot, NULL, sizeof(lot)); 
  104.         memset(stepId, NULL, sizeof(stepId)); 
  105.         memset(sorterAction, NULL, sizeof(sorterAction)); 
  106.         memset(stage, NULL, sizeof(stage)); 
  107.         memset(recipe, NULL, sizeof(recipe));     
  108.         memset(operation, NULL, sizeof(operation)); 
  109.         memset(subOperation, NULL, sizeof(subOperation)); 
  110.         memset(qtyIn, NULL, sizeof(qtyIn));
  111.         memset(qtyOut, NULL, sizeof(qtyOut));
  112.         memset(actualQty, NULL, sizeof(actualQty)); 
  113.         memset(eqpId, NULL, sizeof(eqpId)); 
  114.         memset(device, NULL, sizeof(device)); 
  115.         memset(tech, NULL, sizeof(tech)); 
  116.         memset(toTime, NULL, sizeof(toTime)); 
  117.         memset(tiTime, NULL, sizeof(tiTime)); 
  118.         memset(createTime, NULL, sizeof(createTime));  
  119.         memset(employee, NULL, sizeof(employee)); 
  120.         memset(carrierId, NULL, sizeof(carrierId)); 
  121.         memset(finalLotId, NULL, sizeof(finalLotId)); 
  122.         memset(groupHistKey, NULL, sizeof(groupHistKey)); 
  123.         memset(planId, NULL, sizeof(planId)); 
  124.         memset(origSlotArray, NULL, sizeof(origSlotArray)); 
  125.         memset(origCassArray, NULL, sizeof(origCassArray)); 
  126.         memset(inHouseScribeArray, NULL, sizeof(inHouseScribeArray)); 
  127.         memset(vendorScribeArray, NULL, sizeof(vendorScribeArray)); 
  128.         memset(finalSlotArray, NULL, sizeof(finalSlotArray)); 
  129.         memset(finalCassArray, NULL, sizeof(finalCassArray)); 
  130.  
  131.         /* Get txn_sk */ 
  132.         EXEC SQL FETCH wsSaCursor1 INTO :lot_sk, :txn_sk;
  133.  
  134.         /* Skip it if no data found  */
  135.         EXEC SQL WHENEVER NOT FOUND GOTO NOTFOUND; 
  136.  
  137.         /* To check whether the lot perform 'Sorter Action' or not */   
  138.         EXEC SQL  SELECT LOWER (recipe), transportid, stage, device 
  139.                     INTO :recipe, :carrierId, :stage, :device 
  140.                               FROM (SELECT lotrecipe.attrvalue recipe,
  141.                                            lottransportid.attrvalue transportid, lotstage.attrvalue stage,
  142.                                            lotdevice.attrvalue device
  143.                                       FROM hdbxuser.fwhdbwiplotattrinstance@hdbsil lotrecipe,
  144.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotstage,
  145.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lottransportid,
  146.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotdevice
  147.                                      WHERE lotrecipe.lot_sk = :lot_sk
  148.                                        AND :txn_sk BETWEEN lotrecipe.startsequence AND lotrecipe.stopsequence
  149.                                        AND lotrecipe.attrname = 'Recipe'
  150.                                        AND (   LOWER (lotrecipe.attrvalue) LIKE '%verify%'
  151.                                             OR (LOWER (lotrecipe.attrvalue) LIKE '%random%')
  152.                                             OR (LOWER (lotrecipe.attrvalue) LIKE '%reorder%')
  153.                                            )
  154.                                        AND lotstage.lot_sk = :lot_sk
  155.                                        AND :txn_sk BETWEEN lotstage.startsequence AND lotstage.stopsequence
  156.                                        AND lotstage.attrname = 'Stage'
  157.                                        AND lottransportid.lot_sk = :lot_sk
  158.                                        AND :txn_sk BETWEEN lottransportid.startsequence
  159.                                                        AND lottransportid.stopsequence
  160.                                        AND lottransportid.attrname = 'transportId'
  161.                                        AND lotdevice.lot_sk = :lot_sk
  162.                                        AND :txn_sk BETWEEN lotdevice.startsequence AND lotdevice.stopsequence
  163.                                        AND lotdevice.attrname = 'partProgId'
  164.                                     UNION ALL
  165.                                     SELECT lotsorteraction.attrvalue recipe,
  166.                                            lottransportid.attrvalue transportid, lotstage.attrvalue stage,
  167.                                            lotdevice.attrvalue device
  168.                                       FROM hdbxuser.fwhdbwiplotattrinstance@hdbsil lotsorteraction,
  169.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotstage,
  170.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lottransportid,
  171.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotdevice
  172.                                      WHERE lotsorteraction.lot_sk = :lot_sk
  173.                                        AND :txn_sk BETWEEN lotsorteraction.startsequence
  174.                                                        AND lotsorteraction.stopsequence
  175.                                        AND lotsorteraction.attrname = 'SorterAction'
  176.                                        AND lotsorteraction.attrvalue IN ('REORDER', 'VERIFY')
  177.                                        AND lotstage.lot_sk = :lot_sk
  178.                                        AND :txn_sk BETWEEN lotstage.startsequence AND lotstage.stopsequence
  179.                                        AND lotstage.attrname = 'Stage'
  180.                                        AND lottransportid.lot_sk = :lot_sk
  181.                                        AND :txn_sk BETWEEN lottransportid.startsequence
  182.                                                        AND lottransportid.stopsequence
  183.                                        AND lottransportid.attrname = 'transportId'
  184.                                        AND lotdevice.lot_sk = :lot_sk
  185.                                        AND :txn_sk BETWEEN lotdevice.startsequence AND lotdevice.stopsequence
  186.                                        AND lotdevice.attrname = 'partProgId');     
  187.  
  188.         /* Get lot detail information */ 
  189.         EXEC SQL  SELECT wipin.lotid, wipout.userid, wipin.txntime, wipin.lotqtyout,
  190.                                    wipout.txntime totime, wipout.lotid finallotid, wipin.grouphistkey,
  191.                                    sh.LOCATION, sh.stepid, sh.planid, sh.productname tech, 
  192.                                    lot.createtxntime 
  193.                               INTO :lot, :employee, :tiTime, :actualQty, :toTime, :finalLotId, :groupHistKey, 
  194.                                      :eqpId, :stepId, :planId, :tech, :createTime 
  195.                               FROM hdbxuser.fwhdblot@hdbsil lot,
  196.                                    hdbxuser.fwhdbwipstephistory@hdbsil sh,
  197.                                    hdbxuser.fwhdbwiptransaction@hdbsil wipout,
  198.                                    hdbxuser.fwhdbwiptransaction@hdbsil wipin
  199.                              WHERE lot.lot_sk = wipin.lot_sk
  200.                                AND wipout.grouphistkey = wipin.grouphistkey
  201.                                AND wipout.activity = 'TrackOut'
  202.                                AND sh.wipstep_sk = wipout.wipstep_sk
  203.                                AND wipin.txn_sk = :txn_sk; 
  204.  
  205.         /* Get component Id list */ 
  206.         EXEC SQL DECLARE comp1_Cursor CURSOR FOR 
  207.                   SELECT lot.lotid || '.' || comp.POSITION inhousescribe,
  208.                                      comp.componentid vendorscribe                  
  209.                     FROM hdbxuser.fwhdblot@hdbsil lot,
  210.                          hdbxuser.fwhdbwipcomponent@hdbsil comp
  211.                    WHERE lot.lot_sk = comp.originallot_sk
  212.                      AND comp.lot_sk = :lot_sk
  213.                      AND :txn_sk BETWEEN startsequence AND stopsequence 
  214.                      AND comp.status <> 'Scrapped'
  215.                                      AND comp.position IS NULL 
  216.                 ORDER BY comp.componentid; 
  217.  
  218.         EXEC SQL OPEN comp1_Cursor; 
  219.         EXEC SQL WHENEVER NOT FOUND DO break; 
  220.  
  221.         indexOfComp = 0; 
  222.         for(; ;) 
  223.         { 
  224.             memset(inHouseScribe, NULL, sizeof(inHouseScribe)); 
  225.             memset(vendorScribe, NULL, sizeof (vendorScribe)); 
  226.  
  227.             EXEC SQL FETCH comp1_Cursor INTO :inHouseScribe, :vendorScribe;              
  228.             strcpy(inHouseScribeArray[indexOfComp], inHouseScribe); 
  229.             strcpy(vendorScribeArray[indexOfComp], vendorScribe);     
  230.             indexOfComp++; 
  231.         }     
  232.         compQty = indexOfComp; 
  233.         EXEC SQL CLOSE comp1_Cursor; 
  234.  
  235.         /* 
  236.          * The following is to retrieve component Id slot-map 
  237.          * information: orignal -- final position 
  238.          * 
  239.          * 1. Get SysId/TxnTime list from FwCarrierHistory in desc order; 
  240.          *    Time range: create time ~ to time 
  241.          *    SysId list is stored in an array that size is 10. 
  242.          * 2. Loop: wafer by wafer 
  243.          *    2.1 Get final position (FwCarrierHistory_PN2M) 
  244.          *        2.1.1 Make sure TxnTime is between TiTime and ToTime 
  245.          *        2.1.2 Get final position by using the lastest sysId 
  246.          *    2.2 Get original position  by using the latest SysId; 
  247.          *        2.2.1 Make sure TxnTime is earlier TiTime. 
  248.          *              If not, skip to previous record (SysId); 
  249.          *        2.2.2 Get original position by using SysId. If not found, 
  250.          *              skip to previous record (SysId) 
  251.          */         
  252.  
  253.         /* VERY IMPORTANT */ 
  254.         /* Minus 1 min (60 seconds) to create time */ 
  255.         /* We may fail to get data if using create time in some cases  
  256.          * because CARRIER transaction is done eariler than WIP. 
  257.          * For example, one child is created (split) in '20090806 152152000', 
  258.          * but the Assign Component happen in 20090806 152151000
  259.          */         
  260.         AddSeconds( createTime, -60 ); 
  261.  
  262.         /* Get SysId/TxnTime list from FwCarrierHistory */ 
  263.         EXEC SQL DECLARE carhist_Cursor1 CURSOR FOR 
  264.                     SELECT   sysid, txntime 
  265.                         FROM caruser.fwcarrierhistory
  266.                        WHERE carrierid = :carrierId
  267.                          AND activity IN
  268.                                 ('FwCarrierAssignComponentTxn',
  269.                                  'FwCarrierModifyComponentPositionTxn',
  270.                                  'ReAssociateTo'
  271.                                 )
  272.                          AND txntime BETWEEN :createTime AND :toTime 
  273.                     ORDER BY txntime DESC; 
  274.  
  275.         EXEC SQL OPEN carhist_Cursor1; 
  276.         EXEC SQL WHENEVER NOT FOUND DO break; 
  277.  
  278.         memset(carHistSysIdArray, 0, sizeof(carHistSysIdArray)); 
  279.         memset(carHistTxnTimeArray, 0, sizeof(carHistTxnTimeArray)); 
  280.  
  281.         for(indexOfCarHistRecord = 0; indexOfCarHistRecord < MAX_CARHISTRECORD_NUM; indexOfCarHistRecord++) 
  282.         {     
  283.             memset(carHistSysId, 0, sizeof(carHistSysId));     
  284.             memset(carHistTxnTime, 0, sizeof(carHistTxnTime));     
  285.  
  286.             EXEC SQL FETCH carhist_Cursor1
  287.  
  288.              INTO :carHistSysId, :carHistTxnTime;              
  289.             strcpy(carHistSysIdArray[indexOfCarHistRecord], carHistSysId); 
  290.             strcpy(carHistTxnTimeArray[indexOfCarHistRecord], carHistTxnTime);     
  291.         }     
  292.         EXEC SQL CLOSE carhist_Cursor;                             
  293.  
  294.         /* To get final & original position for each wafer */                     
  295.         for (indexOfComp = 0; indexOfComp < compQty; indexOfComp++) 
  296.         { 
  297.             finalFlag = FALSE; 
  298.             memset(scribeId, NULL, sizeof(scribeId)); 
  299.             strcpy(scribeId, vendorScribeArray[indexOfComp]); 
  300.  
  301.             /* Loop: to find original-final slot position */ 
  302.             for(indexOfCarHistRecord = 0; indexOfCarHistRecord < MAX_CARHISTRECORD_NUM; indexOfCarHistRecord++) 
  303.             { 
  304.                 memset(slot, NULL, sizeof(slot)); 
  305.                 memset(carHistSysId, 0, sizeof(carHistSysId)); 
  306.  
  307.                 strcpy(carHistSysId, carHistSysIdArray[indexOfCarHistRecord]); 
  308.  
  309.                 EXEC SQL WHENEVER NOT FOUND CONTINUE;
  310.  
  311.                 EXEC SQL      SELECT valdata slot 
  312.                               INTO :slot 
  313.                               FROM caruser.fwcarrierhistory_pn2m
  314.                              WHERE fromid = :carHistSysId AND linkname = 'components'
  315.                                    AND keydata = :scribeId;             
  316.  
  317.                 if (strlen(slot) > 0)                 
  318.                 { 
  319.                     if (strcmp(carHistTxnTimeArray[indexOfCarHistRecord], tiTime) > 0) 
  320.                     { 
  321.                         /* Finalflag is to make sure to get the correst slot position (latest).  
  322.                          * To handle abnormal case: namely that there are multiple slot 
  323.                          * mapping changes during the period of Track-In and Track-Out. 
  324.                          */                         
  325.                         if (finalFlag == FALSE) 
  326.                         { 
  327.                             /* Final position */ 
  328.                             strcpy(finalSlotArray[indexOfComp], slot); 
  329.                             strcpy(finalCassArray[indexOfComp], carrierId); 
  330.  
  331.                             finalFlag = TRUE; 
  332.                         } 
  333.                     } 
  334.                     else 
  335.                     { 
  336.                         /* Original position */ 
  337.                         strcpy(origSlotArray[indexOfComp], slot); 
  338.                         strcpy(origCassArray[indexOfComp], carrierId); 
  339.  
  340.                         /* If final position value is NULL, it is assumed that 
  341.                          * the slot position does not change, same as original one */ 
  342.                         if (strlen(finalSlotArray[indexOfComp]) == 0) 
  343.                         { 
  344.                             strcpy(finalSlotArray[indexOfComp], slot); 
  345.                             strcpy(finalCassArray[indexOfComp], carrierId); 
  346.                         } 
  347.  
  348.                         break; 
  349.                     } 
  350.                 } 
  351.             } 
  352.         } 
  353.  
  354.         /* Assign value to 'action', 'operation', 'suboperation' */ 
  355.         if (strstr(recipe, "random"))  
  356.         { 
  357.             strcpy(action, OPERATION_RANDOMIZE); 
  358.             strcpy(operation, stepId); 
  359.  
  360.             /* Strip out XX stage stuff/sortorder in stage name */ 
  361.             pTmp = strchr(stage, ':'); 
  362.             if (pTmp != NULL) 
  363.                 strcpy(subOperation, Trim_End(++pTmp)); 
  364.             else 
  365.                 strcpy(subOperation, stage); 
  366.         } 
  367.         else if (strstr(recipe, "reorder")) 
  368.         { 
  369.             strcpy(action, OPERATION_REORDER); 
  370.             strcpy(operation, "reorder"); 
  371.             strcpy(subOperation, "reorder"); 
  372.         } 
  373.         else if (strstr(recipe, "verify")) 
  374.         { 
  375.             /* 
  376.             if (strstr(stepId, "SorterAction")) 
  377.             { 
  378.                 strcpy(action, OPERATION_VERIFY); 
  379.             } 
  380.             else 
  381.             { 
  382.                 strcpy(action, OPERATION_INLINEVERIFY); 
  383.             } 
  384.             */ 
  385.             strcpy(action, OPERATION_VERIFY); 
  386.             strcpy(operation, "verify"); 
  387.             strcpy(subOperation, "verify"); 
  388.         }         
  389.         else 
  390.         {             
  391.             strcpy(action, recipe); 
  392.             strcpy(operation, recipe); 
  393.             strcpy(subOperation, recipe); 
  394.         } 
  395.  
  396.  
  397.     if (strlen (inHouseScribeArray[indexOfComp]) == 0)
  398.        {
  399.          return ;
  400.        }
  401.      else 
  402.        {
  403.          Write_PR_DataFile(startDate, endDate, action, lot, operation, subOperation, 
  404.                     actualQty, eqpId, device, tech, toTime, employee, origSlotArray, 
  405.                     origCassArray, inHouseScribeArray, vendorScribeArray, finalSlotArray, 
  406.                     finalCassArray, parms); 
  407.  
  408.         numOfFiles++; 
  409.         #ifdef DEBUG 
  410.         printf("  #%d lot data is extracted\n", numOfFiles); 
  411.         #endif 
  412.     continue;
  413.  
  414. NOTFOUND:
  415.         skipLotCntr++; 
  416.         #ifdef DEBUG 
  417.         printf("  #%d lot is skipped\n", skipLotCntr); 
  418.         #endif 
  419.         ; 
  420.     } 
  421.        }
  422.     /* Close cursor */ 
  423.   EXEC SQL CLOSE wsSaCursor1;
  424.  
  425.  
  426.   return(numOfFiles); 
  427. } /* Generate_PR_Report */ 
  428.  
  429.  

Need help ...
Expand|Select|Wrap|Line Numbers
  1.  
  2. if (strlen (inHouseScribeArray[indexOfComp]) == 0)
  3.        {
  4.          return ;
  5.        }
  6.      else 
  7.        {
  8.          Write_PR_DataFile(startDate, endDate, action, lot, operation, subOperation, 
  9.                     actualQty, eqpId, device, tech, toTime, employee, origSlotArray, 
  10.                     origCassArray, inHouseScribeArray, vendorScribeArray, finalSlotArray, 
  11.                     finalCassArray, parms); 
  12.  
having bug with this portion..exclud e if inhouseScribeAr ray is return Null or no value but not sure wheather its correct..if return null exclude the value from passing the Write_PR_DataFi le
Apr 5 '11 #1
5 1742
weaknessforcats
9,208 Recognized Expert Moderator Expert
Is inHouseScribeAr ray[indexOfComp] a string?

If not, you can't use strlen.
Apr 5 '11 #2
kirubagari
158 New Member
its an array..kindly help if it return null i should skip and go the write PR DATAFILE
Expand|Select|Wrap|Line Numbers
  1. vc2_VScriberId inHouseScribeArray[],  Array for Component Ids 
Apr 6 '11 #3
donbock
2,426 Recognized Expert Top Contributor
What does a null vc3_VScriberId (component id) look like?
Apr 6 '11 #4
kirubagari
158 New Member
Expand|Select|Wrap|Line Numbers
  1. ILP02038.1.1
  2. ILP02038.1.2
  3. ILP02038.1.3
  4. ILP02038.1.4
  5. ILP02038.1.5
  6. ILP02038.1.6
  7.  
The component id from .1 to .6
Apr 7 '11 #5
donbock
2,426 Recognized Expert Top Contributor
OK, but what does a null component id look like?
For that matter, exactly what is type vc3_VScriberId (string, pointer, structure, enumeration, etc)?
Apr 7 '11 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

7
5451
by: Jack | last post by:
Hi, I have the following piece of code:If RS.EOF or RS.BOF Then Session("Authenticated") = False Response.Write "Sorry, your userid or password did not match" Response.Write "<BR>" Response.Write " or you have not registerd yet, please register" Response.Write <a href="default.asp">Clik here Response.End Here, I need to build the line (Response.Write <a href="default.asp">Clik
8
2598
by: Jack | last post by:
Hi, Here is my problem: I am logging in to a page, where the page retrieves a record from a database. The text boxes are used in the display formto let the users update the fields, if they desire to. The colorpreference and foodpreference fields are text fields while the FinalUpdate field is a yes/no field in Access Database.
2
1638
by: Jack | last post by:
Hi, I need to write a reponse.write statement of the following: <A HREF="default.htm">Click Here to try again</A> However, I am not clear about the syntax to handle this. I appreciate any help. Thanks.
2
1882
by: John | last post by:
Hi, I am getting syntax errors in my JavaScript code, code snippet as follows (between my <script></script> tags: document.write(<a title="Nice to meet you" href="http://www.mydomain.com/" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'welcome\',\'\',\'../images/topnav/welcome_b_mydo main-com.gif\',\'meet_the_team\',\'\',' + g_meet_the_team + ',\'rave_reviews\',\'\',' + g_rave_reviews +...
4
2945
by: Prowler | last post by:
In the application we are currently building, we need to write positioning code on-the-fly, based upon the screen offset of the element in the AS/400 application which drives the Web app. The 400, like DOS, uses memory-mapped display, two bytes per character (one char byte and one attribute byte). We can get the screen offset allright, and I've written a javascript which does the math to convert the offset into row/col (i.e. left, top)...
9
1306
by: Marc Miller | last post by:
I have an html img with a source of 'lbug.gif'. I want to be able to change out the source of the img by clicking a button. Here's my code: function swapPic() { if (document.Form1.imgBug.src = "lbug.gif") { document.Form1.imgBug.src = "stopbug.jpg"; } else if (document.Form1.imgBug.src = "stopbug.jpg")
1
2021
by: naughtybynature | last post by:
<html> <head> <title>Search Questions</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php $query = '';
1
1712
by: leopl | last post by:
Dear all I have written a write statement as follow:- write #1 me.textmessage the output came out to be as follow:- "(contents of the me.textmessage)"
2
11940
MatthewML
by: MatthewML | last post by:
I am attempting to insert a custom AfterUpdate Event Procedure into a text box on a form that I am designing in MS Access 2000. This text box contains the e-mail address of the referenced contact, and my goal is to automatically insert the "@abc.xyz" portion of the e-mail data string if and only if the user does not specify this part of the data string. I am attempting to do this because 99% of the e-mail addresses that I will be entering into...
3
4976
adelemb
by: adelemb | last post by:
Hi all, We have an Oracle database and my problem is with SQL, apologies if this is posted in the wrong forum. I have this SQL statement that all works fine: var newConn = new openConnection(); if(request.searchBox) { var searchBox = request.searchBox; var keywords = searchBox.split(' ')
0
8454
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8362
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8878
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8785
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8560
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8644
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7389
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4200
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2012
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.