Redirecting output to a text area

I am running a dos command in my java program using the runtime.exec and am wondering how I can capture the output that the program I am running produces and send it to a text area. I read somewhere where you can create a buffered reader and write that directly into my text area but I am not sure how to do this. Can anyone help me on how to do this or a better way to get the output to a text area?
Thank You.
Chris

here's a snippet that may help.
public class STDWIN extends JFrame
     Panel p;
     TextArea ta;
     TextField tf;
     public STDWIN()
     p = new Panel();
     ta = new TextArea(10,40);
     tf = new TextField(40);
     Button b = new Button("EXECUTE");
     p.setLayout(new BorderLayout(2,2));
     p.add(ta,BorderLayout.NORTH);
     p.add(tf,BorderLayout.CENTER);
     p.add(b, BorderLayout.SOUTH);
     getContentPane().add(p);
     pack(); show();
     b.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
          doYoThang();
     public void doYoThang()
     try {
          Process p =      Runtime.getRuntime().exec(tf.getText());
     StringBuffer buff = new StringBuffer();
     BufferedReader br = new BufferedReader(
          p.getInputStream());
     while(br.readLine() != null)
          buff.append(br.readLine());
     ta.setText(new String(buff));
     } catch(Exception e) { }
this is very primitive and not stable i'm sure but it should give you an idea of what you want to do.
--Ian
     

Similar Messages

  • Why Can't I get my total to output to the text area?

    I can get the numbers to go to the text area and to clear the text area but, the only way I have figured out how to output the total is with a JOptionPane. Can someone look at my code and tell me how to fix this?
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Calculator4 extends JApplet implements ActionListener
    String Nums="";
    String sNum="";
    double Num1=0;
    double Num2=0;
    double Add=0;
    double Subtract=0;
    double Multiply=0;
    double Divide=0;
    int choice=0;
    private JTextField displayField;
    private JButton Button0, Button1, Button2, Button3, Button4, Button5,
    Button6, Button7, Button8, Button9, ButtonAdd, ButtonSub,
    ButtonMult, ButtonDiv, ButtonClear, Buttontotal;
    public void init()
    Container container = getContentPane();
    container.setLayout(new FlowLayout());
    displayField = new JTextField(15);
    displayField.setEditable(false);
    container.add(displayField);
    Button1 = new JButton("1");
    Button1.addActionListener(this);
    container.add(Button1);
    Button2 = new JButton("2");
    Button2.addActionListener(this);
    container.add(Button2);
    Button3 = new JButton("3");
    Button3.addActionListener(this);
    container.add(Button3);
    ButtonAdd = new JButton("+");
    ButtonAdd.addActionListener(this);
    container.add(ButtonAdd);
    Button4 = new JButton("4");
    Button4.addActionListener(this);
    container.add(Button4);
    Button5 = new JButton("5");
    Button5.addActionListener(this);
    container.add(Button5);
    Button6 = new JButton("6");
    Button6.addActionListener(this);
    container.add(Button6);
    ButtonSub = new JButton("-");
    ButtonSub.addActionListener(this);
    container.add(ButtonSub);
    Button7 = new JButton("7");
    Button7.addActionListener(this);
    container.add(Button7);
    Button8 = new JButton("8");
    Button8.addActionListener(this);
    container.add(Button8);
    Button9 = new JButton("9");
    Button9.addActionListener(this);
    container.add(Button9);
    ButtonMult = new JButton("*");
    ButtonMult.addActionListener(this);
    container.add(ButtonMult);
    Button0 = new JButton("0");
    Button0.addActionListener(this);
    container.add(Button0);
    ButtonDiv = new JButton("/");
    ButtonDiv.addActionListener(this);
    container.add(ButtonDiv);
    ButtonClear = new JButton(" Clear ");
    ButtonClear.addActionListener(this);
    container.add(ButtonClear);
    Buttontotal = new JButton("=");
    Buttontotal.addActionListener(this);
    container.add(Buttontotal);
    public void actionPerformed(ActionEvent actionEvent)
    if(actionEvent.getSource() == Button1)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("1");}
    if(Nums!=null)
    {  Nums= Nums + 1;
    updateDisplay();}
    else if(actionEvent.getSource()==Button2)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("2");}
    if(Nums!=null)
    {  Nums= Nums + 2;
    updateDisplay();}
    else if(actionEvent.getSource()==Button3)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("3");}
    if(Nums!=null)
    {  Nums= Nums + 3;
    updateDisplay();}
    else if(actionEvent.getSource()==Button4)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("4");}
    if(Nums!=null)
    {  Nums= Nums + 4;
    updateDisplay();}
    else if(actionEvent.getSource()==Button5)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("5");}
    if(Nums!=null)
    {  Nums= Nums + 5;
    updateDisplay();}
    else if(actionEvent.getSource()==Button6)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("6");}
    if(Nums!=null)
    {  Nums= Nums + 6;
    updateDisplay();}
    else if(actionEvent.getSource()==Button7)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("7");}
    if(Nums!=null)
    {  Nums= Nums + 7;
    updateDisplay();}
    else if(actionEvent.getSource()==Button8)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("8");}
    if(Nums!=null)
    {  Nums= Nums + 8;
    updateDisplay();}
    else if(actionEvent.getSource()==Button9)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("9");}
    if(Nums!=null)
    {  Nums= Nums +9;
    updateDisplay();}
    else if(actionEvent.getSource()==Button0)
    play(getCodeBase(),"Ping.WAV");
    if(Nums==null)
    {  Nums= "";
    displayField.setText("0");}
    if(Nums!=null)
    {  Nums= Nums + 0;
    updateDisplay();}
    else if(actionEvent.getSource()==ButtonAdd)
    play(getCodeBase(),"Ping.WAV");
    choice = 1;
    sNum="";
    sNum = Nums;
    Nums=null;
    else if(actionEvent.getSource()==ButtonSub)
    play(getCodeBase(),"Ping.WAV");
    choice = 2;
    sNum="";
    sNum = Nums;
    Nums=null;
    else if(actionEvent.getSource()==ButtonMult)
    play(getCodeBase(),"Ping.WAV");
    choice = 3;
    sNum="";
    sNum = Nums;
    Nums=null;
    else if(actionEvent.getSource()==ButtonDiv)
    play(getCodeBase(),"Ping.WAV");
    choice = 4;
    sNum="";
    sNum = Nums;
    Nums=null;
    else if(actionEvent.getSource()==Buttontotal)
    play(getCodeBase(),"Ping.WAV");
    if(choice==0)
    JOptionPane.showMessageDialog(null,"Please Select Operation");
    if(choice!=0)
    switch(choice)
    case 1:
    if(Nums!=null)
    {    Num1 = Double.parseDouble(sNum);
    Num2 = Double.parseDouble(Nums);
    double Add = Addition(Num1, Num2);
    JOptionPane.showMessageDialog(null,"Your Sum is: " + Add);
    sNum = "";
    if(Nums==null)
    JOptionPane.showMessageDialog(null,"Please Enter Second number");
    Nums=null;
    break;
    case 2:
    if(Nums!=null)
    {    Num1 = Double.parseDouble(sNum);
    Num2= Double.parseDouble(Nums);
    double Subtract = Subtraction(Num1, Num2);
    JOptionPane.showMessageDialog(null,"Your Difference is: " + Subtract);
    sNum = "";
    if(Nums==null)
    JOptionPane.showMessageDialog(null,"Please Enter Second number");
    Nums=null;
    break;
    case 3:
    if(Nums!=null)
    {    Num1= Double.parseDouble(sNum);
    Num2= Double.parseDouble(Nums);
    double Multiply = Multiplication(Num1, Num2);
    JOptionPane.showMessageDialog(null,"Your Product is: " + Multiply);
    sNum = "";
    if(Nums==null)
    JOptionPane.showMessageDialog(null,"Please Enter Second number");
    Nums=null;
    break;
    case 4:
    if(Nums!=null)
    {    Num1 = Double.parseDouble(sNum);
    Num2= Double.parseDouble(Nums);
    double Divide = Division(Num1, Num2);
    JOptionPane.showMessageDialog(null,"Your Quotient is: " + Divide);
    sNum = "";
    if(Nums==null)
    JOptionPane.showMessageDialog(null,"Please Enter Second number");
    Nums=null;
    break;
    else if(actionEvent.getSource()==ButtonClear)
    play(getCodeBase(),"Ping.WAV");
    displayField.setText("");
    Nums=null;
    sNum="";
    choice=0;
    Num1=0;
    Num2=0;
    public void updateDisplay()
    displayField.setText(Nums);
    public double Addition(double Num1, double Num2)
    return ( Num1 + Num2);
    public double Subtraction(double Num1, double Num2)
    return ( Num1 - Num2);
    public double Multiplication(double Num1, double Num2)
    return ( Num1 * Num2);
    public double Division(double Num1, double Num2)
    return ( Num1 / Num2);
    }

    You mean something like this:
    private int currentNumber =0;
    private int total = 0;
    private JTextField Display = new JTextField(10);
    private JtextField Current = new JTextField(10);
    // Add all your buttons correctly
    // Try using a GridLayout to make it easier
    // blah blah
    public void actionPerformed( ActionEvent event )
    int number = -1;
    String Command = event.getActionCommand();
    // Play your sound here.....
      doPlaySound();
    try
       number = Integer.parseInt( command );
    catch( NumberFormatException NFE )
        //ignore
    if( number != -1 )
        doIsNumber( number );
        return;   // don't process further
    if( command == "Enter" )
        doEnter();
        return;
    if(command == "Plus" )
        doPlus();
        return;
    // and so on
    }//end actionPerformed
    private void doNumber( int number )
       String S;
        currentNumber = ( currentNumber * 10 ) + number;
        S = Integer.tostring( currentNumber );  //cant remember if that throws anything
       Current.setText( S );  //Display Work Number
      private void doPlus()
        String S;
        total = total + currentNumber;
        currentNumber = 0;
        Current.setText("");
        S = Integer.toString( total );
        Display.setText( S );
      private void doEnter()
        total = currentNumber;
        currentNumber = 0;
        Current.setText( "");
        Display.setText( Integer.toString( total ) );
      private void doDivide()
         System.out.println("Err you got to be kidding");
      }yeh and I'd definitely go for a GridLayout()
    4 * 4, with JLabels for the blank filler parts......
    So does this help

  • How to assign the output of a function to a text area: a PLSQL challenge

    I have a function that returns a PLSQL table of varchar4(4000)
    Here is its signature in a package:
    create or replace package researcher_request_pk
    is
    TYPE query_table_type is table of varchar2(4000) index by binary_integer;
    FUNCTION RequestSQL(P_RRQ_ID in number) return query_table_type;
    end;
    I use this to get around the 32k limit on clobs and varchar2 variables
    I want to assign the output of the function to a text area. I've tried the following PLSQL in a dynamic action and also as the source attribute of the Text Area but it doesn't populate the text area.
    Here is the code i'm using
    declare
    v_table researcher_request_pk.query_table_type;
    begin
    v_table:=researcher_request_pk.RequestSQL(:P64_RRQ_ID);
    for i in 1..v_table.count loop
    htp.prn(v_table(i));
    end loop;
    end;
    Any ideas on the correct syntax to do this?
    thanks in advance
    PaulP

    Thanks for your reply
    The function does populate the PLSQL table with data. e.g. If I place that exact code in a PLSQL region it generates the output on the screen with no problems. The problem is just generating the output into the text area.
    I want the text area to display the output of the PLSQL table (-a dynamic select SQL statement) which I then plan to execute to return records.( i.e. I've build my own runtime query builder)
    My plan is to allow the user to edit the SQL output first before sending the statement for execution.
    Funnily enough I do get the very first word of the first cell appearing, namely 'SELECT' but nothing else. Maybe the "||" that follows has something to do with the rest of it not appearing?? hmmm... will experiment more.
    thanks
    PaulP

  • Carriage Return for text area

    Hello All,
    I have a text area that I am pre-populating from a column in a database and I need to do a carriage return. When inserting the information into the column I put 'chr( 10 )|| chr( 13 )||' after each place where I need to do a carriage return, for some reason it is not being saved in the database that way.
    The sql I used to insert the information into the column looks like:
    update 456.xyz
    set 123 = a || chr( 10 )|| chr( 13 )||
    b || chr( 10 )|| chr( 13 )||
    c || chr( 10 )|| chr( 13 )||
    where abc=def;
    I need the output in the text area to be:
    a
    b
    c
    But it populates as:
    abc
    Any help would greatly be appreciated!

    I just tested this code:
    select 'The date '||sysdate||chr(10)||'is a '||to_char(sysdate, 'DAY')||chr(10)||chr(13)||'Week :'||to_char(sysdate, 'WW') from dual;The output was:
    The date 03.06.2010
    is a TORSDAG
    Week :22I put this in the source of the textarea and set it to update and replace content ( source used always )
    Edited by: Olav Alexander Mjelde on Jun 3, 2010 1:17 PM

  • OPEN DATASET FOR OUTPUT IN LEGACY TEXT MODE not working!

    Hi All,
    I need your expertise to help me with my problem.
    The program passed through the code OPEN DATASET ... FOR OUTPUT IN LEGACY TEXT MODE. Then it gave an error message "Error Accessing File /home/sap/sample.txt".
    I would like to know what are the causes of this error. Please explain to me further why the program gives an error message specified above because I'm not familiar in OPEN DATASET.
    Please reply asap since the issue need to be resolved immediately.
    Thanks in advance,
    Carina

    Hi Carmey,
    The Problem will u need toi get Open Dataset Authorisation from ur Basis Team from the Specified Path.
    Regards,
    Morris Bond.
    Reward Points if Helpful.

  • Report Title and Text Area issue when exported to pdf using Viewer

    Hi there,
    We are using OracleBI Discoverer Version 10.1.2.55.26
    We have reports that displays Report title containing the following
    - Report Title
    - Runt Date and Time
    - Page No
    And text area which displays 'Last Page'
    Following properties are set at the worksheet level using page setup
    Report Title --> 'Print on every Page'
    Text Area --> 'Print on last page'
    The report when exported to PDF using Discoverer plus works fine and displays report title and text area as defeined.
    But when we try to export the same report to pdf from Discoverer viewer, it displays
    - Report title on first page only.
    - text area on all pages
    All our users accesses report using discoverer viewer so we cannot open discoverer plus to them.
    Is there a solution which will enable us to export the report in pdf using discoverer viewer and displays the same output as discoverer plus.
    Please let me know... If you have any questions then please feel free to ask.
    Thanks in advance for your help...
    Manish

    but when opened on other os x machines some text is colored differently than it should be
    Well, if typographic objects are colour managed, the colour appearance is dependent on the source ICC profile that describes the colourants in the typographic objects and the destination ICC profile that describes the colours the display is able to form and the RBC colourant combinations that will form those colours.
    In general, typographic objects should have special treatment, since the expectation is not that typographic objects should be colour managed, but that typographic objects should simple be set to the maximum density of dark. On a display, that is R=0 G=0 B=0 and on a seperations device (a lithographic press) that is C=0 M=0 Y=0 K=100.
    If for some reason typographic objects are colour managed, and if the ICC profiles for the displays are off by half a mile or more in relation to the actual state of the display system, then the colours will not be the same. On the other hand, if those displays are calibrated and characterized, then the colourants will be converted to form the same colours on the displays.
    /hh

  • In secondary window texts are not appeaerd in smartform

    hi to all
      bfore main window,i create one window for header data.
    in this window only texts are there.
       in main window item data is dere.
    item data was appeared in main window.
    but in header data window header texts were not appeaerd,so
    plz giv me idea.
      in that window, used one header template.
        created text editor for each text.
    is there any problem with header template.if nt,after created header template,wat ll i do,it ll b assign to  anywhere.
    giv me reply asap.
    reagrds,
    satya
    points ll b rewarded.

    Hi,
    Sorry if I've not understood your question, but all this 'wht', 'nt', 'plz' stuff is a bit difficult to follow.
    Anyway, you've got a window, in this you've defined a template, then some text elements with variables?  Have you assigned the text elements to cells of the templates by putting values in the output tab?  If not the text will not appear.
    Regards,
    Nick

  • Text area and Word Wrapping

    I am creating a email form and am having problems with word
    wraping in the text area. You can view the page and the output if
    you put your email address in the form. The problem is the text
    areas word wrap when inputting your information but all formatting
    is lost in the email. Even if I add spacing for paragraphs. All
    data is just a big run on sentence.
    Here is the
    Page.
    I am using Dreamweaver * and php.
    Thanks

    Someone may have tried this because I received this output in
    an email. You can see the formattint is lost.
    Gear Ad:
    Description:
    This is a test. Line 1 Line 2 Line 3 Line 4 -
    Test...test...test...test...test...test...test...test...test...test...test...test...test. ..test...test...test...test...test...test...test...test...test...test...test...test...test ...done!
    Price:
    test
    Contact:
    This is a test.

  • Build Array and Output Values to Text or Excel File

    I know this is a simple question but I need some help. I'm reading a DC voltage in LabVIEW a while loop. I want to store all the read values into an array and export that array as an text or Excel file. I had a VI that I build before for this but I cannot seem to find it and I can't remember how I did it before. Any help is appreciated. I think I can do the exporting part but I do help with building the array (storing all the data values).

    I run into a problem while using the "Write to Text File Function". Initially I took about 60 measurements and wrote to a text file. That works but I increased the amount of measurements to be taken to 600 and when I did that the output in the text file are all Chinese letters (or that's what it seems like). Is this because I'm writing too much data?
    When I use the "Write To Spreadsheet File VI" to write the measurments it works fine for the 600 measurements. The problem with this is I cannot insert any text. Using the "Write to Text File Function" I inserted some text before the measurements and "end of lines", to format the data. Attached is a screenshot of my VI.
    Attachments:
    measurements.PNG ‏45 KB

  • Text area submits

    I created a form that submits articles. Articles consist of
    paragraphs. Every time I insert a article into a database, I lose
    those paragraphs so when its posted on the website, its just one
    big blob of text. How can I keep my paragraphs when I submit a
    article. Also, when I click in the text area, I can pretty much
    click anywhere in the text area. How do I make it where the Cursor
    starts to blink at the very top left of the text area.

    I lose those paragraphs so when its posted on the website,
    its just one
    big blob of text.
    The paragraphs were not lost, you are dealing with different
    systems
    that handle paragraphs in different ways.
    In plain text, paragraphs are ended with some kind of
    carriage return
    and|or line feed. In windows systems this is almost always
    the ASCII
    characters (13) carriage return and (10) line feed.
    HTML does not recognize these carriage returns and line feeds
    and
    ignores them. So they where there in the output, but being
    ignored by
    the browser. What CJ's function is doing is converting the
    ASCII
    characters into the HTML <br> tag that the browser
    understands. The
    CHR() function is for working with ASCII characters by their
    code numbers.

  • How to redirect output of an OS command to a stream???

    how can i redirect the output of an OS command (such as 'ls' in linux or 'dir' in windows) to a io stream???
    ....for example, assume i'm having a textbox and a button...when i click the button , i need the output of 'ls' to be in the textbox....i think execution of the command could be accomplished by Runtime's exec() ...but how to redirect outputs???

    You should find what you are looking for here:
    http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html

  • Limiting char on a text area

    If i use a text area item the form allows the users to type as much as they like which returns various DB errors. I would rather include some simple validation to limit the char of my text area than start messing about trapping errors and redirecting.
    How can i limit the number of characters entered on my text area with some kind of validation.

    this was for the apex forum pls ignore

  • Read Only Display of Radio group and Text area with counter not working

    Hello,
    I am using Apex 3.2, with 10g for the database
    I have this form, with fields that will set to read only when status = 'closed'
    All of the fields display as read only except for 2. I cannot figure out why this is not working correctly.
    1st field is Issues that is a text area with character counter, with a sql query behind it, that is set to null unless the query is pulling in the data.
    2nd field is Status which is a radio group that will not display as read only when status = 'closed'
    I have other fields on the form with the same format and they change to read only when the status = 'closed', I have even copied the pl/sql expression from one field to these fields and it still doesn't work correctly. I have also tried javascript for an on load event, which works, but once I click on the save button, it disables all of the page items, which works correctly, but I purposely forget to enter information, to make sure the validations are firing correctly, which it does, but the script disables everything, not allowing me to correct the errors. The javascript is firing on the on page load event.
    Any help on this is greatly appreciated.
    Mary

    Dung,
    That API seems to have a bug, it returns true/false/null, so you could use 'return not nvl(htmldb_util.current_user_in_group(p_group_name => 'APP Admin'),false)' to get a false value.
    Unfortunately there's another problem: using the read-only attributes for checkbox or radiogroup item makes them hidden. My suggestion would be to create another item that has disabled="disabled" in the HTML Form Element attribute in the item definition and display that item or the non-disabled item alternately, using conditions based on the current_user_in_group logic.
    Scott

  • Database Table where modifications to message long text are stored (log)

    Hi,
    As per manual correction mentioned in SAP note 1144291,
    we have changed the long text for message XC092 by modification of the long text.
    This note 1144291 is a pre-requisite for SAP Note 1310808.
    After the notes were implemented, it is noticed that message CURTO1055 has incorrect information in its long text. This is because, the variable in the long text are not correctly defined in the long text.
    Both the messages XC-092 and CURTO1-055 are SAP standard.
    The error for CURTO1-055 can be rectified by modification of the long text and maintenance of the correct variables.
    However, my question is:
    Where do we check the log for document modifcation for a message long text.
    I have found the logs relevant to my modification in table DOKHL and DOKIL.
    But in which table do we get all of the foll. data:
    - Message class
    - Message number
    - Modification name
    - Modification created by
    - Modification done on
    - Last changed by
    - Last changed on
    Kindly help. A <removed by moderator> solution would be really helpful.
    Best Regards,
    Smruthi
    Edited by: Thomas Zloch on May 5, 2011 12:07 PM - urgency reduced

    Hi Smruthi,
    The modification changes would be in the SMODILOG table. Please note this is a core basis table and should not be changed, however to best find your changes search under the TRKORR field with the relevant tp request.
    Best regards,
    Derrick Hurley
    Development Workench

  • Photoshop CC icons and text are too small: how to adjust so they're readable? [was: Joanne]

    I have just downloaded Creative Cloud on a new computer.  The new photoshop icons and text are too small for me to see or work with.  I cannot seem to adjust this so its "useable"

    Hey Bob,
    Ive put feature requests for this in before and I know many others have as well. Is there any way to see if Adobe is actually working on this? I dont really consider this a feature request, it should be standard with the software. A feature request would be something like creative cloud libraries, not the ability to make font sizes and icons bigger.

Maybe you are looking for

  • I got a new PC...how do I add the new PC to my existing user ID?

    Hi, I have several users/PC's on our Small Business Server 2011 Essentials.  I have a couple of users that we bought new PC's for and I'm wondering how to connect the new PC's to the server using the existing user info without messing anything up.  A

  • How to download all spool order

    hello: i would like ask one favor, i make a program and i dicided to ejecuted in batch(because the ejecution could have many data), that bathc generated a job and spool order , but when i try to open it , the system send me a message, 'you will only

  • Can I upgrade to CS6 from Lightroom 4.2 or Adobe Premier Elements?

    Can I upgrade to CS6 from Lightroom 4.2 or Adobe Premier Elements . . . or both?

  • Can not add any accounts to Mail, Calendar, etc.

    This is not an additional account issue. I can not add even 1 account. This is Windows 8 Enterprise. I opened Mail App. I logged in with MS account. I went to settings, Accounts. I clicked on "Add an account" The I get, "You've added all the accounts

  • Purchasing Gift Cards

    I'm purchasing email gift cards from the iTunes store and after my 3rd purchase it said I'd reached my limit.  Why?  My credit card on file is valid.