Loop through user text fields on a page

I am new to APEX and I have searched for an answer to this problem, but was not able to find one.
I have a page which has about 40 text boxes for user input. I would like to find a way to loop through all of the text boxes on the page when the user submits the form. I want to check the contents of each text box and filter out any characters that are not alpha or numeric. I would like to do this in one process. Is this possible? If so, how would I access the text boxes and remove the unwanted input? Could you please show me an example?
Thanks for any guidance on this.

Hi,
I did not test this, but could something like after submit process work
DECLARE
l_temp VARCHAR2(32000);
BEGIN
  FOR C IN
  (SELECT item_name
  FROM apex_application_page_items
  WHERE display_as   = 'Text Field'
  AND application_id = :APP_ID
  AND page_id        = :APP_PAGE_ID
  LOOP
    -- Do stuff e.g. remove character  Ö
    l_temp := REPLACE(v(c.item_name),'Ö');
    APEX_UTIL.SET_SESSION_STATE (
      p_name  => c.item_name,
      p_value => l_temp
  END LOOP;
END;Br,Jari
Edited by: jarola on Mar 4, 2010 5:26 PM

Similar Messages

  • Automator - Loop through a text file and process data through a 3rd party software

    Just stumbled on Automator the other day (I am a mac n00b) and would like to automate the processing of a text file, line-by-line, using a third party tool.  I would like Automator to loop through the text file one line at a time, copy the string and keep as a variable.  Next, place the variable data (copied string) into the text field of the 3rd party software for processing.  Once the processing is complete, I would like Automator to fetch the next line/string for processing.  I see items like "copy from clipboard" and  "variables" within the menu but I am not finding much documentation on how to utilizle this tool.  Just hear how potentially powerful it is. 
    The 3rd party software is not a brand name, just something made for me to process text.  I may have to use mouse clicks or tabs + [return] to navigate with Automator.  A term I heard on Bn Walldie's itunes video series was "scriptable software" for which I don't think this 3rd party app would be. 
    Kind regards,
    jw

    Good news and bad news...
    The good news is that it should be entirely possible to automate your workflow.
    The bad news is that it will be a nightmare to implement via Automator, if it's even possible.
    Automator is, essentially a pretty interface on top of AppleScript/Apple Events, and with the pretty interface comes a certain stranglehold on features. Knowing how to boil rice might make you a cook, but understanding flavor profiles and ingredient combinations can make you a chef, and it's the same with AppleScript and Automator. Automator's good at getting you from points A to B but if there are any bumps in the road (e.g. the application you're using isn't scriptable) then it falls apart.
    What I'm getting at is that your requirements are pretty simple to implement in AppleScript because you can get 'under the hood' and do exactly what you want, as opposed to Automator's restricted interface.
    The tricky part is that if no one else can see this app it's going to be hard to tell you what to do.
    I can give you the basics on reading a file and iterating through the lines of text in it, and I can show you how to 'type' text in any given application, but it may be up to you to put the pieces together.
    Here's one way of reading a file and working through each line of text:
    -- ask the user for a file:
    set theFile to (choose file)
    -- read the file contents:
    set theFileContents to (read file theFile)
    -- break out the lines/paragraphs of text:
    set theLines to paragraphs of theFileContents
    -- now iterate through those lines, one by one:
    repeat with eachLine in theLines
      -- code to perform for eachLine goes here
    end repeat
    Once you have a line of text (eachLine in the above example) you can 'type' that into another application via something like:
    tell application "AppName" to activate
    tell application "System Events"
              tell process "AppName"
      keystroke eachLine
              end tell
    end tell
    Here the AppleScript is activating the application and using System Events to emulate typing the contents of the eachLine variable into the process. Put this inside your repeat loop and you're almost there.

  • Drop down lists populating text fields on a page different from the dropdown.

    Hello all,
    I have a form with several pages. The first page contains a number of drop down lists. These drop down lists, when an option is chosen, is to populate a text field on another page. I can get the drop down list to populate the text field when it is on the same page, but as soon as I move the text field to another page, the script doesn't work. Can anyone offer a solution? I've used javascript on change for the scripts.

    Thanks Paul,
    I have been able to solve the drop down list question, thanks to your help.
    I have another question that involves locking specific fields in a four page form which contains approximately 100 fields that need to be locked before the end user completes the remaining fields. How do I lock individual subforms so that the remaining fields remain open and editable?  The final version of the form, will have at least 200 fields in it that will also need to be locked in sections.
    I can lock all the fields using the lock all fields button, but have been unable to make it work for just part of the form.
    I've emailed the draft form.  It would be really helpful if I had one example of a locked subform on the form I'm struggling with.
    Thanks for your help.
    Nellie

  • Duplicate a Text Field on Every Page of a Document?

    Today I wrote my first vb.net/adobe app.  I managed to open the pdf doc in adobe and create a named text field.  I managed to insert a java script that gets the current date when the document is open and updates the text field.  I would like to duplicate the text field on all pages of the document.  Manually, I can right click on a text field and select duplicate.  I don't see a property or method that allows me to program this.  The field property "page" appears to be read only.  any help would be appreciated.  thanks.
    page
    The page number or an array of page numbers of a field. If the field has only one appearance in the document, the page property returns an integer representing the 0-based page number of the page on which the field appears. If the field has multiple appearances, it returns an array of integers, each member of which is a 0-based page number of an appearance of the field. The order in which the page numbers appear in the array is determined by the order in which the individual widgets of this field were created (and is unaffected by tab-order). If an appearance of the field is on a hidden template page, page returns a value of -1 for that appearance.
    TypeInteger | ArrayAccessRFieldsallExample 1Determine whether a particular field appears on one page, or more than one page.var f = this.getField("myField");
    if (typeof f.page == "number")
    console.println("This field only occurs once on page " + f.page);
    else
    console.println("This field occurs " + f.page.length + " times);

    I also tried the brute force method of moving from page to page and creating a text field on each page.   I used pageNum to changes the page, but, adobe didn't seem to recognize that.  I saw the page change on the screen, but, all of the textfields were created on the first page!

  • Changing font/-size of a text field on master-pages not possible? (field prop)

    Hi,
    I would like to change the font and font-size of a textfield on a master page.
    I wonder if I do anything wrong, because the font-options (size, font etc.) are simple greyed out / not avaliable, when I click on my text field.
    It seems, there is any way to customize the font-properties of a textfield (only) on master-page.
    Well I guess it would work with java script in init-event ...  but really, why the hell it should not be possible simply to use the properties/text properties?!
    Please correct me if I am wrong. Do I do anything wrong or is it really not possible to customize font of a text field on master pages?

    Hi,
    I was just about to post, that I figured it out.
    Actually, I use Livecycle Designer in SAP (transaction SFP). There seems to be a bug (one of hundrets by the way).
    If I click on a field, that does not have text-property e.g. subform, text-option menu greys out.
    Afterwards it stay this way until I click/doubleclick into a simple text (not text field). From that moment on, text/font-option menu is available again, until I click on something without text. => So pay attention and click wisely
    coming soon: "SAP meets Livecycle Designer - a (Bug)Lovestory", hardcover 124 Pages. ; )
    by the way: SAP does not sopport interactive forms higher than Reader 8.1. Its statement "8.1 is fine enough for everything you need in a SAP/Adobe Interactive Form". So beware of using XFA higher than in 8.1. sad, but true ...

  • Most efficient way to loop through similarly named fields?

    Hi,
    I have a 5 page document with each page containing appx. 50 similarly named fields.    E.g. Viol1Num, Viol2Num, Vio3Num ...  Viol50Num.
    I am looking for an efficient way of programming a loop to look at each field in Javascript so I can do some manipulations in those fields on what the user entered.
    In FormCalc I've previously used the 'foreach' function similar to:
    foreach (Field1, Field2, Field3.....Field50) do
         'BLAH'
    endfor
    however, that gets really lengthy, especially when dealing with subsequent pages where I have to start adding 'topmostSubform.Page2.' in front of each field name so that I can access from the first page all of the fields on subsequent pages.  Also, I need to do this in Javascript, not FormCalc.
    For example, in JS I am using this loop to mark all fields as read only:
    for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
    var oFields = xfa.layout.pageContent(nPageCount, "field");
    var nNodesLength = oFields.length;
    for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
    oFields.item(nNodeCount).access = "readOnly";
    How could I do something similar to that so I could look through each field and perform actions on it without having to list out every single field name?
    I tried altering that to look at fields instead of field properties, but I couldn't get it to run.
    Thanks.

    I have solved my issue.   It took some battling in javascript using xfa.resolveNode.
    I have 5 pages, each consisting of a series of 60 fields named Viol1Num, Viol2Num, Viol3Num .... Viol60Num.
    If when this javascript runs, it detects a blank field, then insert a '3' into it.
    The below is the javascript which runs for the second page of this document.
    while (LoopCounter < 61) {
    if ((LoopCounter != 21) && (LoopCounter != 22)) {
    if((xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue == null) | (xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue == "")) {
    xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue = 3;
    LoopCounter = LoopCounter + 1

  • Usage of attribute1 field of base table as a text field in OA Page

    Hi Gurus,
    Could you please let me know if attribte1 field of an oracle base table can be used as a simple text or LOV input field in OA Page, NOT as a DFF Field.
    Thanks in advance.
    With warm regards,
    SKA

    In my case, Attribute1 is reserved for DFF. But I have to use it with a Text Input Item. OA page is showing the value stored for attribute1 in database. But it doesn't store the value in Database through OA Page. I am able to save other fields of the same VO through same OA Page, but not attribute1.
    Is it because attribute1 is registered with DFF or some other reason??
    Please advice.
    Thanks in advance.
    -SKA

  • Populate Username on a text field in seeded page

    Is it possible to populate some of the text fields in a seeded page with the username who is logged in and accessing the page.
    Harshad

    Hi Harshad,
    Extend the controller and in the processRequest method write this code-->
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    String userName = pageContext.getUserName();
    OAMessageStyledTextBean bean = (OAMessageStyledTextBean)webBean.findIndexedChildRecursive("ButtonID*");
    System.out.println("Setting ViewAttr of CoverageVO");
    bean.setValue(pageContext,userName);
    *-->Button Id which you have created through personalization.
    Also attach this extended controller through personalization.
    Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Text Field repeating at Page Break in Interactive Adobe form in Webdynpro Java

    I have requirement in which Text field containing 'Rich Text' data has a huge data coming at runtime. It is displaying correctly without any scrollbars on a single page .Now the problem is when data exceeds to next page ,text field repeats it with first line and also adds scrollbar to text field.
    I have set text field properties like Allow Page Break,Allow multiple lines ,Height Auto fit.
    Also The Text field is in flowed Subform ,Allow page breaks checked.
    Kindly provide solution in quick time..

    Yes I have checked all the subforms Flowed. Text field is working good in Preview Pdf Option of NWDS.
    But when I generate the pdf on server, when TextField flows to next page, on next page it repeats from first line.

  • Updating a user text field in sap system form in Find Mode

    Dear All,
                    I created a Edit text field in Sap System form [FormType :149] -Sales Quotation. I want to update a value to the text while clicking OK button in Find Mode. the code is given below.
    If pVal.ItemUID = "1" And pVal.FormMode = SAPbouiCOM.BoFormMode.fm_FIND_MODE And (Not pVal.Before_Action) And pVal.EventType = SAPbouiCOM.BoEventTypes.et_CLICK Then
            oForm = SBO_App.Forms.Item(FormUID)
            oForm.Freeze(True)
            oItem = oForm.Items.Item("txtUID") 
            oEdit = oItem.Specific
            oRS = ConSBOdb.Execute("Select * from BG_CAMPAIGNSHDR where CMIDENT ='" & Trim(oEdit.Value) & "'")
            oItem = oForm.Items.Item("txtCampgn")         ' //  User created field
            oItem.Enabled = False
            oEdit = oItem.Specific
            If oRS.EOF = False Then
                oEdit.Value = oRS.Fields("CMNAME").Value
            Else
                oEdit.Value = ""
            End If
    end if
    while clicking the OK button, Based on the value fetched on the screen, I have to open a recordset and get the value.  But, the screen loads the value to the system textboxes. I could not get those value to run the Sql  in the event. it returns empty. Could any one help please how to solve this ?
    Thanks in advance.
    Manikandan.

    Hi,
    Try This..
    If pVal.FormType = 149 And pVal.ItemUID = "1" Then
                If pVal.FormMode = SAPbouiCOM.BoFormMode.fm_FIND_MODE Then
                    If pVal.Before_Action = False Then
                        If pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED Then
                            Try
                                oForm = SBO_App.Forms.Item(FormUID)
                                oForm.Freeze(True)
                                oItem = oForm.Items.Item("txtUID")
                                oEdit = oItem.Specific
                                oRS = ConSBOdb.Execute("Select * from BG_CAMPAIGNSHDR where CMIDENT ='" & Trim(oEdit.Value) & "'")
                                oItem = oForm.Items.Item("txtCampgn") ' // User created field
                                oItem.Enabled = False
                                oEdit = oItem.Specific
                                If oRS.EOF = False Then
                                    oEdit.Value = oRS.Fields("CMNAME").Value
                                Else
                                    oEdit.Value = ""
                                End If
                            Catch ex As Exception
                                SBO_application.MessageBox(ex.Message)
                            End Try
                        End If
                    End If
                End If
            End If
    Best Regards,
    Mahendra

  • How can I add javascript text fields to Acrobat pages from Applescript please?

    I have a real need to add text fields to Acrobat document pages from Applescript. I can't access the Headers and Footers from Applescript in Acrobat XI. I can set watermarks using the following script, but cannot for the life of me work out how to add text fields. Any advice please?
    Regards
    set TempAttachmentName to "(20140717121212Z)"
    set PreserveFileName to "This is a test"
    set bypass to false
    tell application "Adobe Acrobat Pro"
      activate
      set CountOfPages to count of pages
      repeat with PageCounter from 1 to CountOfPages
      tell application "System Events" to tell process "AdobeAcrobat"
      try
      click menu item "Page..." of menu 1 of menu item "Go To" of menu 1 of menu bar item "View" of menu bar 1
      tell current application to delay 0.1
      keystroke PageCounter as text
      tell current application to delay 0.1
      keystroke return
      if not bypass then
      my ADDHeaderFooter(TempAttachmentName, PreserveFileName & " " & CountOfPages, PageCounter)
      end if
      end try
      end tell
      end repeat
    end tell
    on ADDHeaderFooter(The_String1, The_String2, currentPage)
      tell application "Adobe Acrobat Pro"
      activate
      set myDocument to document 1
      tell myDocument
      tell page currentPage
      set cbox to crop box
      set item 2 of cbox to (item 2 of cbox) + 44
      set item 4 of cbox to (item 4 of cbox) - 44
      set media box to cbox
      set crop box to cbox
      set theResult1 to my Add_WaterMarkText(The_String1, "IDAutomationHC39M", 12, 1, 1, 1, 0, 3, 10, 3, 0)
      do script theResult1
      set theResult2 to my Add_WaterMarkText(The_String2, "Times", 16, 1, 1, 1, 0, 4, 10, -6, 0)
      do script theResult2
      end tell
      end tell
      end tell
    end ADDHeaderFooter
    on Add_WaterMarkText(cText, cFont, nFontSize, nS, nE, nTA, nHA, nVA, nHV, nVV, nR)
      set Params to "cText: '" & cText & "'," & return
      set Params to Params & "cFont: '" & cFont & "'," & return
      set Params to Params & "nFontSize: '" & nFontSize & "'," & return
      if class of nS is integer then set Params to Params & "nStart: " & (nS - 1) & "," & return
      if class of nE is integer then set Params to Params & "nEnd: " & (nE - 1) & "," & return
      -- 0 = left, 1 = centre, 2 = right
      if class of nHA is integer then set Params to Params & "nHorizAlign: " & nHA & "," & return
      -- 3 = top, 4 = bottom
      if class of nVA is integer then set Params to Params & "nVertAlign: " & nVA & "," & return
      -- offset in points
      if class of nHV is integer then set Params to Params & "nHorizValue: " & nHV & "," & return
      -- offset in points
      if class of nVV is integer then set Params to Params & "nVertValue: " & nVV & "," & return
      if class of nR is integer then set Params to Params & "nRotation: " & nR & "," & return
      set javascript to "this.addWatermarkFromText({" & Params & "});"
      return javascript
    end Add_WaterMarkText

    G'day
    Unfortunately I don't have the API. My Adobe Reader installation updating to version XI failed, and subsequent attempts to fall back on the X version are blocked by the partial install of XI. Damn Adobe stuff.
    Could someone please post the relevant part of the API to give me some pointers, please.
    I ha mucked about with some information I found on the Web, and come up with the following, which fails because I can't work out how to address the current document with the variable myDoc.
    Regards, Brian
    set Params to Params & "var myDoc = this;" & return
    set TempAttachmentName to "(20140717121212Z)"
    set PreserveFileName to "This is a test"
    set bypass to false
    tell application "Adobe Acrobat Pro"
      activate
      set CountOfPages to count of pages
      repeat with PageCounter from 1 to 1 # CountOfPages
      tell application "System Events" to tell process "AdobeAcrobat"
      try
      click menu item "Page..." of menu 1 of menu item "Go To" of menu 1 of menu bar item "View" of menu bar 1
      tell current application to delay 0.1
      keystroke PageCounter as text
      tell current application to delay 0.1
      keystroke return
      if not bypass then
      my ADDHeaderFooter(TempAttachmentName, PreserveFileName & " " & CountOfPages, PageCounter)
      end if
      end try
      end tell
      end repeat
    end tell
    on ADDHeaderFooter(The_String1, The_String2, currentPage)
      tell application "Adobe Acrobat Pro"
      activate
      set myDoc to document 1
      tell myDoc
      tell page currentPage
      set cbox to crop box
      set item 2 of cbox to (item 2 of cbox) + 44
      set item 4 of cbox to (item 4 of cbox) - 44
      set media box to cbox
      set crop box to cbox
      set theResult1 to my Add_WaterMarkText(The_String1, "IDAutomationHC39M", 12, 1, 1, 1, 0, 3, 10, 3, 0, myDoc)
      do script theResult1
      set theResult2 to my Add_WaterMarkText(The_String2, "Times", 16, 1, 1, 1, 0, 4, 10, -6, 0, myDoc)
      do script theResult2
      end tell
      end tell
      end tell
    end ADDHeaderFooter
    on Add_WaterMarkText(cText, cFont, nFontSize, nS, nE, nTA, nHA, nVA, nHV, nVV, nR, myDoc2)
      #set Params to "var myDoc = app.newDoc();" & return
      set Params to ""
      set Params to Params & "var myDoc = this;" & return
      set Params to Params & "var inch = 72;" & return
      set Params to Params & "var Bbox = this.getPageBox(" & "\"Crop\"" & ");" & return
      set Params to Params & "var f = myDoc.addField(" & "\"Text1\"" & ", " & "\"" & cText & "\"" & ", 0, [72, Bbox[1]-inch, Bbox[2]-2*inch, Bbox[1]-2*inch ] );" & return
      set Params to Params & "f.strokecolor = color.black;" & return
      set Params to Params & "f.richText = true;" & return
      set javascript to Params
      return javascript
    end Add_WaterMarkText

  • Unable to set focus to login text field AUTOMATICALLY on page load

    Hi,
    I'm trying to have my flash (AS 2) login page have the
    username field start blinking right away after the page is loaded
    but so far, no success.
    I've added the following Javascript to the HTML wrapper:
    But it still doesnt work. Can anyone help?
    See whats happening by
    clicking here.

    Use the following in the Flash code:
    Selection.setFocus(username_field_instance_name);

  • Loop through CRD1 userDefined Fields in BeforAction = True

    Hello Everbody,
    Good Morning,
    I have a little big problem, I've added a udf to the System table CRD1 no problem there.
    Now i have to check in all the ShipTo Address if the user inputed data. if no data e display a msg and abort the (Insert/Update).
    I've tryed to loop throw the DBdataSource adding a condition to select only the ShipTo Address Like this
    Dim oConditions As New SAPbouiCOM.Conditions
    Dim oCondition = oConditions.Add
    oCondition.BracketOpenNum = 1
    oCondition.Alias = "AdresType"
    oCondition.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
    oCondition.CondVal = "S"
    oCondition.BracketCloseNum = 1
    oForm.DataSources.DBDataSources.Item("CRD1").Query(oConditions)
    I had Problems with the Query some thing like CRD1 Not UserDefinedTable
    Ok new aprotch
    Dim itter As Integer = 0
    While True
      itter += 1
      Try
        If oForm.DataSources.DBDataSources.Item("CRD1").GetValue("AdresType", itter).ToUpper = "S" Then
          If String.IsNullOrEmpty(oForm.DataSources.DBDataSources.Item("CRD1").GetValue("U_codi_loca", itter).ToUpper) Then
            BubbleEvent = False
          End If
        End If
      Catch ex As Exception
        Exit While
      End Try
    End While
    Again no luck.
    Can anyone give me a hand with this problem?
    Thanks for your time in advance.
    Pedro Gomes
    SA - Sinfic

    Helo, Petr Verner
    It Worked Fine Thanks
    Do you know any way to automate the deployment of this procedure?
    So that my clts can run a simple addon instaler and nothing more?
    Thanks again for your Help in this.
    Pedro Gomes
    SA - SINFIC

  • How to write Java script for refering the 1st page text field from 2nd page?

    Hello I am developing an VISITOR info interactive form with webdynpro ABAP, its with 2 pages. Their heirarchy is,
    VISITOR_form
        |
        |
        |------Page_1
        |            |
        |            |
        |            |------Text_Field_A_1
        |            |
        |            |------Text_Field_A_2
        |
        |------Page_2
                     |
                     |
                     |------Text_Field_B_1
                     |
                     |------Text_Field_B_2
    Now, i have selected the 'Text_Field_B_1' of page_2 and writing the Java script, my requirement is; If Page_1's 'Text_Field_A_2' has a value of "Value_ABCD", THEN the 'Text_Field_B_1' of page_2 should be 'readOnly'. Pls let me know Wht is the Java script for this requirement?

    if (xfa.event.newText=="ABCD")
    VISITOR_form.Page_2.Text_FieldB_1.access ="readOnly";
    place script on change event of Text_FieldA_2

  • Loop through xml, update field values and write to a file

    I have the following xml file:
    <candy>
    <product><column name="Data">123</column>
    <column name="Date">2002-1-1</column>
    </product>
    <product><column name="Data">456</column>
    <column name="Date">2002-1-1</column>
    </product></candy>
    I need to update column name="Date" from its current values to a new value and then write it to a file in java. I know the steps is to build a dom tree - xml parser-xpath ect. Can anyone provide some working examples or links? I did some search on web, but could not find any examples that meet my requirements.
    Thank you for your input.

    Here's a starting point for you:
    http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXPDOM3.html

Maybe you are looking for

  • Indicator to include component scrap in the details screen of MFBF tcode

    Hi , There is an indicator in the 'Details' screen of MFBF transaction to "Include Component scrap". User has to select this indicator everytime he wants to include the component scrap or is there a way to save this setting ? If it is defaulted from

  • Pairing record is missing

    First time I connected my new IPhone 5 to my computer for the first time and it says the `Pairing record is missing`. What can I do to resolve this?

  • Prompted for CRM logon in MS apps

    When copying text in CRM such as an email address from a contact and pasting into outlook, word or excel we get prompted to login to CRM. Workaround has been to first paste it into notepad and then from there into outlook\excel\word. Is this security

  • Weird halo with new FLV compressor

    We are creating a video with a transparent background and putting it on yellow in Flash. The new Flash compressor is creating a strange "halo" around the subject. We can't figure out what is doing this. Even in the compressor preview in After Effects

  • PC54G2 and system pauses

    Hi Guys, Ive had my machine about 3 years now, and its been a trooper. Never had any problems. Well I replaced my 10/100 NIC with a PC54G2, and it appears to connect fine etc, but it pauses my system constantly. Like ever second or so, as I move my m