Getting the unscaled length of

I'm developing a graphing application with FLEX 3 that will
be embedded into a PDF document (version 9). The graphing SWF is
pretty much finished, but I want to have greater control over the
scaling on the axis. If I graph the parametric equations x=cos(t)
and y=sin(t), the trace of these equations appears as an ellipse.
Is there some what if getting the unscaled length of the vertical
axis and the horizontal axis in pixels, so I can compute the exact
aspect ratio of the axes. If that is known, I can rescale using
scaleX and scaleY. Can anyone give me pointers?
dps

You can simply iterate through each line in text to get the widest line. Something like this:
Main();
function Main() {
    var text = app.selection[0],
    minLength, maxLength, start, end;
    for (var i = 0; i < text.lines.length; i++) {
        start = text.lines[i].characters[0].horizontalOffset,
        end = text.lines[i].characters[text.lines[i].characters.length-1].horizontalOffset;
        if (minLength == undefined || start < minLength) {
            minLength = start;
        if (maxLength == undefined || end > maxLength) {
            maxLength = end;
    var length = maxLength - minLength;
    $.writeln(length);
But this approach seems to be a little less precise than creating outlines since (I guess) it measures up to the beginning of the last character; discretionary hyphens, line brakes, etc. are not included into the measurement.

Similar Messages

  • Getting the max length

    i am using pl/sql and i need to do some validation regarding the max length of the string. but the problem is that i have to refer back to the database for the length so that if the database change, my code don't change.
    is there any way to get the max length in the field of the table?
    eg:
    lets say i got a table call Person with column Name(varchar2(66)) and Sex(char(1))
    so how i retrieve the max length of the field Name?
    thanks

    It's quite simple. We can use the PL/SQL %TYPE in our declarations. Check it out...
    SQL> CREATE TABLE small1 (col1 NUMBER, col2 VARCHAR2(3))
      2  /
    Table created.
    SQL>
    SQL> CREATE OR REPLACE PROCEDURE small1_api (pv_string IN VARCHAR2)
      2  AS
      3      l_col2 small1.col2%TYPE;
      4  BEGIN
      5      l_col2 := pv_string;
      6      INSERT INTO small1 (col1, col2)
      7      VALUES (a12.NEXTVAL, l_col2);
      8  EXCEPTION
      9      WHEN value_error THEN
    10          dbms_output.put_line('oops! string is too long');
    11  END;
    12  /
    Procedure created.
    SQL> EXEC small1_api('APC')
    PL/SQL procedure successfully completed.
    SQL> EXEC small1_api('APC4')
    oops! string is too long
    PL/SQL procedure successfully completed.
    SQL>
    SQL> ROLLBACK
      2  /
    Rollback complete.
    SQL> ALTER TABLE small1 MODIFY (col2 VARCHAR2(4))
      2  /
    Table altered.
    SQL> ALTER PROCEDURE  small1_api COMPILE
      2  /
    Procedure altered.
    SQL>
    SQL> EXEC small1_api('APC4')
    PL/SQL procedure successfully completed.
    SQL> EXEC small1_api('APC45')
    oops! string is too long
    PL/SQL procedure successfully completed.
    SQL> Cheers, APC

  • How to get the time length from send record command to record video really?

    I have two buttons. Record/Stop
    I press Record button to record the video and press Stop
    button to stop recording.Now,I spend 1986 ms from press Record
    button to press Stop button.
    But the flv file's length is 1920 or 1910 or 1915 ms.
    So I want to get the time length from send record command to
    record video really.
    Can you give me some suggests.
    Thanks!

    maybe you have lag in publishing.... are you try watch de
    NetStream.liveDelay() method?
    or start counting when NetStream.onStatus has
    "NetStream.Record.Start" and "NetStream.Record.Stop" in information
    objects....

  • How to get the correct length...removing appended extra ascii characters

    I have a table fs_lg_partgroups, having the columns description,subgroupname.
    I have a query like this..
    select description,length(description) from fs_lg_partgroups where subgroupname='FORMULA226';
    Then i got the output as
    formula226 and the length is 42. Even though there are 10 characters only.
    I came to know that some ascii characters are appended to description values, so it is showing the length like this.
    But i don't know how to remove those ASCII characters from description column for all rows to get the exact length.
    Please can u help me..

    If you have used char data type then use varchar2 datatype instead of char datatype for description column.
    Learn about char and varchar2 datatypes here.
    http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96524/c13datyp.htm#7223

  • Getting the Physical Length of a Piece of Text (in mm etc.) in Javascript

    I'm trying to write a script in Indesign CS5 (Windows) that can measure the physical, 'rendered' length of two pieces of text of similar length (in mm etc.), calculate the average length of the two, and adjust the tracking/horizontal scale of one or both of the pieces of text so that the physical length of both texts are the same.
    I need a script because this task must be done thousands of time in a long document.
    I'm struggling to find a way to access the 'rendered' length of a piece of text in Javascript.
    I know among the attributes of a text box is whether the text has overrun. So I could copy the text to a special text-box, and use a for loop to reduce the dimentions of the text box, 1mm at a time, until the text box overruns, thus determining the length..
    I could also get the length of a rendered string using python with it's built in GUI toolkit Tkinter:
    http://stackoverflow.com/questions/2922295/calculating-the-pixel-size-of-a-string-with-pyt hon
    And then have an indesign script that takes some data from the python script and sets the tracking/horizontal in Indesign with some fudge factors.
    Both ideas seem like real kludges.
    Any other suggestions?
    Many thanks
    David

    You can simply iterate through each line in text to get the widest line. Something like this:
    Main();
    function Main() {
        var text = app.selection[0],
        minLength, maxLength, start, end;
        for (var i = 0; i < text.lines.length; i++) {
            start = text.lines[i].characters[0].horizontalOffset,
            end = text.lines[i].characters[text.lines[i].characters.length-1].horizontalOffset;
            if (minLength == undefined || start < minLength) {
                minLength = start;
            if (maxLength == undefined || end > maxLength) {
                maxLength = end;
        var length = maxLength - minLength;
        $.writeln(length);
    But this approach seems to be a little less precise than creating outlines since (I guess) it measures up to the beginning of the last character; discretionary hyphens, line brakes, etc. are not included into the measurement.

  • How to get the real length of a 3D room

    Hi, I want to built a 3d room. When I import a obj file, the vector3f length does not equal to the real length(much longer than the real one), I know there must be relation between them, but how I can get the relation?
    for example:
    T3Droom.setTranslation(new Vector3f(0.7f,1f,0.5f));
    How many metres the 0.7f equals to?
    thanks a lot

    javax.mail.Address[] addrs= m.getFrom();
    Address a = addrs[0];
    if (a instanceof InternetAddress &&
    ((pers = ((InternetAddress)a).getPersonal()) != null)) {
    String addr = ((InternetAddress)a).getPersonal();
    } else
    addr = a.toString();
    this 'getPersonal()' is the thing you need.

  • How can I get the full-length ringtone "Calypso" back?

    I recently updated my iPhone 4 to iOS 5. In iOS 5, Apple truncated the ringtone "Calypso." I would like to have the full-length ringtone back, as it is very special to me. Is there any way to make this happen?
    A solution to this problem will be IMMENSELY appreciated.

    I also had my ringtones...bought in Itunes...wiped out.  So I went ahead and bought a new one.  I synced it with the cable, and it is in the playlist as a ringtone.  But when I go to edit the contact, the ringtone doesn't show up in the list.  However, there is a Buy a Ringtone category at the top of the list. 
    On the upgrade, I lost a number of paid APPS.  I don't know if its a scheme by Apple to make more money on a free upgrade or they just screwed up everyone with this.

  • Getting  the char length

    Hello all!!
    I´m working with type C, and I wonder how can I get, in my program, the length of a variable or a parameter declarated like this:
    PARAMETER: chain(10).
    I know that its lenght is 10 (max) but I would like to know if there is a way in ABAP  to get it dynamically, I mean, in the program.
    Thank you very much.
    Reyes.

    use describe statement as follows.
    data: n type i.
    describe field chain length n.
    if you want exact length of the content in chain.
    then use strlen().
    regds,
    kiran

  • How to i get the exact length of a playlist?

    i am have upgraded iTunes
    and AMONG the PLETHORA of un-needed and ANNOYING changes....
    is the fact the the LENGTH of a playlist is posted at 1.6 or 2.4 etc.
    i liked how it used to say 1hour 13 minutes
    can anyone help me switch this back?

    This is a change Apple have made you cannot revert it. To complain or express dissatisfaction here does not mean Apple read it this is a user to user forum. To let Apple know how you feel use the feedback link
    http://www.apple.com/feedback/itunesapp.html

  • How can i get the length of a string with Simplified Chinese?

    when i use eventwriter to add content to a xmldocument,there are some chinese simplified string in it,i use String.length() for the length ,but it is not correct~how can i get the right length for eventwriter?

    Below is a simple patch for this problem. Using this patch you need to pass 0 as the length argument for any XmlEventWriter interfaces that take a string length.
    Regards,
    George
    diff -c dbxml-2.3.10/dbxml/src/dbxml/nodeStore/NsEventWriter.cpp dbxml-2.3.10.patch/dbxml/src/dbxml/nodeStore/NsEventWriter.cpp
    *** dbxml-2.3.10/dbxml/src/dbxml/nodeStore/NsEventWriter.cpp    Fri Nov  3 12:26:11 2006
    --- dbxml-2.3.10.patch/dbxml/src/dbxml/nodeStore/NsEventWriter.cpp      Thu Mar 15 13:58:13 2007
    *** 234,239 ****
    --- 234,241 ----
            CHECK_NULL(text);
            CHECK_SUCCESS();
    +       if (!length)
    +               length = ::strlen((const char *)text);
            if (!_current)
                    throwBadWrite("writeText: requires writeStartDocument");
            try {
    *** 413,418 ****
    --- 415,422 ----
            CHECK_NULL(dtd);
            CHECK_SUCCESS();
    +       if (!length)
    +               length = ::strlen((const char *)dtd);
            if (_current) {
                    if (!_current->isDoc())
                            throwBadWrite("writeDTD: must occur before content");
    diff -c dbxml-2.3.10/dbxml/src/dbxml/nodeStore/NsWriter.cpp dbxml-2.3.10.patch/dbxml/src/dbxml/nodeStore/NsWriter.cpp
    *** dbxml-2.3.10/dbxml/src/dbxml/nodeStore/NsWriter.cpp Tue Jan  2 16:01:14 2007
    --- dbxml-2.3.10.patch/dbxml/src/dbxml/nodeStore/NsWriter.cpp   Thu Mar 15 13:59:25 2007
    *** 326,331 ****
    --- 326,333 ----
                    needsEscape = false;
            else
                    needsEscape = true;
    +       if (!length)
    +               length = ::strlen((const char *)chars);
            writeTextWithEscape(type, chars, length, needsEscape);
    *** 336,341 ****
    --- 338,345 ----
                                  bool needsEscape)
            if(_entCount == 0) {
    +               if (!len)
    +                       len = ::strlen((const char *)chars);
                    if ((type == XmlEventReader::Characters) ||
                        (type == XmlEventReader::Whitespace)) {
                            char *buf = 0;
    *** 381,386 ****
    --- 385,392 ----
      NsWriter::writeDTD(const unsigned char *data, int len)
            if(_entCount == 0) {
    +               if (!len)
    +                       len = ::strlen((const char *)data);
                    _stream->write(data, len);
      }

  • How to get the string's byte length?

    I have some string,I want to get the string's byte length,how
    can do it?
    for example:
    <cfoutput>#len('hihi,这是测试')#</cfoutput>
    output is 9
    I want to get the byte length is 14, how can i get it?
    Thanks.

    >> Fair cop. I didn't realise that asc() returned the
    codepoint rather than the
    > actual character code.
    >
    > and what would be the difference?
    Oh, sorry, whatever the term is (I'm crap with jargon). The
    value returned
    by asc() for those chars was only two bytes (ie: four hex
    digits). I
    didn't realise there was more to it than that, and that
    2-byte value maps
    to some other THREE byte value. I need to do some reading...
    > that's what both cf & java counted as the length.
    CHARACTER length, sure. No-one's disputing that. On the other
    hand,
    no-one's asking about it, either.
    > by adding a BOM you've already effected the encoding,
    which may or may not
    > match the original. so you still don't know how many
    bytes were in the original
    > string.
    [groan]
    Yes, that's a reasonable strawman there. I was only putting
    it in a file
    so I could save it and check the number of bytes occupied by
    the data.
    Clearly... CLEARLY... the OP is not asking for a character
    length of that
    string. They've said as much.
    I copy and pasted the string from their post, and used it as
    a
    demonstration of how "nine" is not the right answer for the
    BYTE LENGTH of
    that string. Whether or not the original string was UTF-8,
    UTF-16 or
    special-marmoset-encoding, it almost certainly was NOT in a
    fictitious kind
    encoding in which each of those particular characters only
    occupied one
    byte each, which would mean that "nine" is the correct answer
    to the
    question.
    When I copied those characters from either the web browser
    for from my
    text-based news agent, notepad identified them (and rendered
    them
    correctly) as UTF-8, so I'm fairly confident they ARE UTF-8.
    Of course
    this could be down to some intermediary encoding (pasting
    them in to the
    original posting, for example, via some encoding-transforming
    mechanism),
    but Occam's Razor suggests the original question was from a
    UTF-8 POV.
    But maybe we should quit speculating and ask the OP. Unless
    they've
    buggered off in despair of how drawn out all this is getting.
    For which I
    would not blame them.
    Adam

  • Get the duration of all mp3 files inside a directory

    Hello everyone,
    I am working on a little project done with swing. Since I need an mp3 player inside my swing application, I found a really good solution with JavaFX 2. I have never worked with JavaFX before, therefor it seems to me a little bit strange on some parts.
    Anyway.
    I created a button on my application and as soon as somebody presses that button, the application should scan recursivly a unique directory for mp3 files and store the information of artist, title and track length into a database.
    The mp3 player I created is based on the example from this page:
    http://www.java2s.com/Code/Java/JavaFX/Mp3playerwithmetadataviewandcontrolpanel.htm
    I understand the source code for most parts, but some behaivors are not really clear to me. My thoughts about getting the complete length of the mp3 file was
    media.getDuration
    or
    mediaplayer.getTotalDuration
    but both results are NaN if I call .toMillis();
    Instead I need to create a listener (why?)
    private class TotalDurationListener implements InvalidationListener {
        @Override
        public void invalidated(Observable observable) {
          final MediaPlayer mediaPlayer = songModel.getMediaPlayer();
          final Duration totalDuration = mediaPlayer.getTotalDuration();
          totalDurationLabel.setText(formatDuration(totalDuration));
      }and register this listener on the mediaplayer
    mp.totalDurationProperty().addListener(new TotalDurationListener());I can image that the mediaplayer can "host" several media objects somewho and the listener is called as soon as a new media will be added to the mediaplayer in order
    the calculate the overall duration.
    When is this listener exactly called and is there no other ways to get the total length of the mp3 file?
    Here is a minimal example which should work without any external libs
    package de.hauke.schwimmbad.application.playground;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    import javafx.application.Platform;
    import javafx.beans.property.ReadOnlyObjectWrapper;
    import javafx.embed.swing.JFXPanel;
    import javafx.scene.Scene;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javafx.scene.paint.Color;
    import javafx.util.Duration;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.UIManager;
    public class Testing10 extends JFrame {
         private MediaPlayer mediaPlayer;
         private final ReadOnlyObjectWrapper<MediaPlayer> mediaPlayerWrapper = new ReadOnlyObjectWrapper<MediaPlayer>(
                   this, "mediaPlayer");
         public static void main(String[] args) {
              try {
                   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                   new Testing10();
              } catch (Exception ex) {
                   System.out.println(ex);
         public Testing10() {
              super();
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setLayout(null);
              setSize(500, 500);
              setTitle("Testing");
              setLocationRelativeTo(null);
              setResizable(false);
              JButton button = new JButton("Scan");
              button.setBounds(10, 10, 150, 30);
              add(button);
              button.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent arg0) {
                        scan();
              final JFXPanel fxPanel = new JFXPanel();
              fxPanel.setBounds(30, 80, 300, 300);
              add(fxPanel);
              Platform.runLater(new Runnable() {
                   public void run() {
                        initFX(fxPanel);
              setVisible(true);
         private void scan() {
              File directory = new File("C:\\dev\\mp3");
              List<File> mp3Files = new ArrayList<File>();
              for (File file : directory.listFiles()) {
                   if(file.getName().endsWith("mp3")) {
                        mp3Files.add(file);
              for (File file : mp3Files) {
                   System.out.println(file.getAbsoluteFile());
                   getLength(file);
         private Duration getLength(File file) {
              if(mediaPlayer != null) {
                   mediaPlayer.stop();
              final Media media = new Media(file.toURI().toString());
              mediaPlayer = new MediaPlayer(media);
              mediaPlayerWrapper.setValue(mediaPlayer);
              if(media.durationProperty()==null) System.out.println("durationProperty ist null");
              if(media.durationProperty().get()==null) System.out.println(".get() ist null");
              System.out.println("---> " + media.durationProperty().get().toMillis());
              return media.getDuration();
         private void initFX(JFXPanel fxPanel) {
              BorderPane root = new BorderPane();
              Scene scene = new Scene(root, Color.ALICEBLUE);
              fxPanel.setScene(scene);
    }The other question is why do I need a listener for the meta data to be changed in order to get the meta data?
    media.getMetadata().addListener(new MapChangeListener<String, Object>()Why can't I call something like
    media.getMetadata() --> returns a filled map?
    The metadata problem is not included inside the example from above.
    Sorry for my english but I hope everybody can understand the issue.
    Many greetings,
    Hauke

    The nature of the Media class is that it accesses it asynchronously. This means that when you create an instance of it, and then immediately query it, the data you want may not be available yet. This is all in the Javadoc, see the doc for Media:
    The media information is obtained asynchronously and so not necessarily available immediately after instantiation of the class. All information should however be available if the instance has been associated with a MediaPlayer and that player has transitioned to MediaPlayer.Status.READY statusSo you could associate the Media with a MediaPlayer, and then wait until it goes to the Status READY, and then read the length of the Media.
    As for your 2nd question, getMetadata() returns a Map. You can just loop through it:
      for(Map.Entry<String, Object> entry : media.getMetadata()) {
        // etc
      }However, the same restrictions apply as with Media -- you will probably need to wait before the information is available -- that's why the Listener approach works, because it will notify you as soon as the information is added to the map.

  • How to get the name of the ApplicationServer during runtime

    Within a Servlet or JSP, I'm trying to programmatically get the name of the JVM (AppServer) where the code (war or ear) is deployed and running under.
    (This is like getting "server1" when using WSAD).
    I tried the System, Runtime and Thread approaches with no luck.. any ideas??
    Thanks.
    Example:
    If I have 2 AppServers created: Server1 and Server2
    The ear could be deployed to either, but I want to show to the user if he/she is pointing to Server1 or Server2.

    do you want to get the defined length of the field right.
    i.e
    itab-field1(10) .
    and not the length of the value in the itab.
    one of the ways is to use the following FM
    move: sy-repid to wf_repid  ,
            'INT_OUTPUT' to int_tab_name .
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
       exporting
         i_program_name              = wf_repid
         i_internal_tabname          = int_tab_name
    *   I_STRUCTURE_NAME             =
    *   I_CLIENT_NEVER_DISPLAY       = 'X'
        i_inclname                   = wf_repid
        i_bypassing_buffer           = 'X'
    *   I_BUFFER_ACTIVE              =
        changing
          ct_fieldcat                  = wf_fld_cat[]
       exceptions
         inconsistent_interface       = 1
         program_error                = 2
         others                       = 3
      if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    which would give you all the field definitions of your itab.
    Raja

  • How to get the length of a field value, not the length of DB's CHAR(20)

    Hello.
    I'm trying to handle a String from my DataBase and get its length:
    String myName;
    int i;
    PreparedStatement sql = Conn.prepareStatement("SELECT NAME FROM MY_TABLE");
    ResultSet results = sql.executeQuery();
    results.next();
    myName = results.getString("NAME");
    i = myName.length();
    out.println("The value is " + myName + " and the length is " + String.valueOf(i) );
    I get:
    " The value is Tom and the lengh is 20 "
    20 is the length of the field (it's a CHAR (20) ), but I would like to get the length
    of 'Tom'.
    On other hand, I would like to detect if this value is 'Tom' or not, but trying with:
    if (myName.equals("Tom")) {...}
    or
    if (myName == "Tom") {...}
    There is no response.
    Any experience?

    myName = results.getString("NAME");
    if(myName!=null) myName = myName.trim(); //Take out trailing spaces
    i = myName.length();Sudha

  • How to get the length of apex_item in javascript?

    Hello all
    I am having a tabular report using apex_item, I want to know how can i get the length of the item in javascript? like we do in pl/sql using apex_application.g_f01.count().
    and one more thing, when I go to certain page, tab of that page is getting disabled, what should I do to make tab available always whether I am on that page or on any other page.
    Thanks
    Tauceef

    Hi Oli
    Thanks for replying, In my first question actually I am validating the report values in javascript for that I need the length of the apex_item to run the loop that many times.
    Like we can get the length using apex_application.g_f011.count in pl/sql process how to get the length in the javascript, is there a way for that?
    I got the answer for the second question, this is the one.
    Thanks
    Tauceef

Maybe you are looking for

  • How to download only NEW messages with Mail app in MacBook Air?

    I added my hotmail account to the Mail App in my laptop and it downloads ALL of my emails every time I I click on Get Mail. Is there a way to progame it to do the same as in an iPhone or iPod Touch where you can configure it to show only the most rec

  • How to do a report on one multiprovider along with other Infocube

    Hi ALL,   I am new to this field. Can any of you u tell me how to report on two infoproviders one being the multiprovider and the other being the info cube. Thanks, Vinay

  • How to migrate concurrent programs?

    Hi friends, I have used FNDLOAD for concurrent program migration.But the problem is that i can migrate only one concurrent program at a time.Is there any other way to migrate more than one concurrent program at a time?

  • Few Win client machine throws up (only port 1521) ORA-03135 Error

    Hi Everyone, We have been encountering a strange issue with the client --> database connectivity. Oracle Database Server 11.2.0.3 (64bits) Single Instance - AIX 6.1 (64 bits) Oracle Client 11.2.0.3 (32 bits) - Windows 2008 R2 Standard (64 bits) Two w

  • Lenovo B560

    My Lenovo B560 is not booting and gets on and off the screen sometimes goes over the start up you can not do anything because it is this vicious cycle, and my warranty expired in May/2012, can anyone help me Thanks.