to replace '-' with ' / ' in a string using the FrameMaker API

How to replace "\folder1\folder2\folder3" by "Folder1/Folder2/folder3" using the framemaker API?

Hi Asha,

It should work as well. Note the following, however:

-your version will be case-sensitive, always which is OK for what you wanted

-Maybe you left a code, but what you have shown is missing some important steps of allocation/deallocation for use with F_StrCat(). You need to allocate more space before the concatenation of strings and to release all pointers unused when or before you use them again. It might work for now, but I can assure you that inadequate allocation routines are a sure path to memory leaks and crashes in the future.

Russ

Tags: Adobe FrameMaker

Similar Questions

  • to copy the FrameMaker book using the FrameMaker API

    How to copy FrameMaker book to a different folder using the FrameMaker API path?

    ASHA,

    I would use F_ApiSave().  Save the book to the new location, and then save each file in the book. When saving a file, update the corresponding component of the book with the new file name (FP_Name).

    Russ

  • How to find if there is a file using the FrameMaker API?

    How do we find such a file (with pdf / GST file given path) is in force in a folder given using the FrameMaker API?

    You can use the function F_FilePathProperty() FDK to check if there is a way (as a FilePathT). It also provides information about whether the path is writable, readable, is a directory or a file.

    .. .Scott

  • To make the first page of the file as a hyperlink using the framemaker API

    How can I make the first page of the file as a hyperlink using the framemaker API?

    This should make the entire page as clickable to open the link on the pdf creation.

    Thank you

    ASHA Rayakar

    Hi Asha,

    If you have managed to make a hypertext link at all, you are on the right track. From your description, it appears you are trying to use an existing text frame to place your marker of hypertext, a block of text that already contains text. If you put a hypertext marker in a paragraph with text, in fact, the only area that is clickable will be this paragraph. There is nothing you can do about it... This is the main behavior of FrameMaker.

    If you put a hypertext marker in a block of text that contains zero text (not even a single space), by default FrameMaker making this whole image map area. So if you try to make a whole page clickable, you will draw a new block of text that covers the entire page and insert the marker of hypertext, without text. You can experiment with this manually in the GUI.

    In your code, you must use the credentials of the members tr.beg.objId and tr.end.objid FO_Pgf. Looks like you might be using variable ID which is incorrect. If you do not have an ID of the variable, you can find the location/range of corresponding text including the FP_TextRange property. This will return the good ID FO_Pgf you need.

    If you are looking for the text block that contains a variable, you can use something like:

    F_TextRangeT tr;

    F_ObjHandleT textFrameId;

    TR = F_ApiGetTextRange (docId, varId, FP_TextRange);

    textFrameId = F_ApiGetId (docId, tr.beg.objId, FP_InTextFrame);

    This help at all?

    Russ

  • Conditional binding fails with fracture from scratch using the fluent API

    I have two properties that I want to connect to a progress bar. Properties represent essentially a max value of County (the denominator) and current value of the Shire (numerator). I want to set up a connection using the fluent API that works roughly as follows:
    IntegerProperty numerator = new SimpleIntegerProperty(0);
    IntegerProperty denominator = new SimpleIntegerProperty(0);
    
    progressBar.progressProperty().bind(
        Bindings.when(denominator.isEqualTo(0))
            .then(0)
            .otherwise(numerator.divide(denominator)));
    The numerator and denominator properties represent two properties in my object that changes according to certain criteria in the application, and I want the progress bar to be bound by these changes. The problem is sometimes, and by default, the value of the denominator is 0. My logic tells me that the clause otherwise() does not run, because the when() condition must be true and so run the then() clause. When I run the above code, I get an ArithmeticException (/ by zero).

    Question - is this the correct behavior of the code underlying link? I don't understand why the otherwise() clause is being evaluated in this case.
    Can I suggest an improvement to short-circuit the logic to avoid such a situation?

    My solution is to create a custom as follows DoubleBinding:
    IntegerProperty numerator = new SimpleIntegerProperty(0);
    IntegerProperty denominator = new SimpleIntegerProperty(0);
    
    DoubleBinding db = new DoubleBinding() {
        { super.bind(numerator, denominator); }
     
        @Override
        protected double computeValue() {
            if(denominator.getValue() == 0) {
                return 0.0;
            }
            return numerator.doubleValue() / denominator.doubleValue();
        }
    };
            
    progressBar.progressProperty().bind(db);
    I would much rather the fluent API (much less code to write and much more elegant), but I'm glad that the custom binding is not too difficult to write and understand.

    Thanks for all comments or impressions.

    I have not tested, but for a workaround, you can try

    progressBar.progressProperty().bind(
        Bindings.when(denominator.isEqualTo(0))
            .then(0)
            .otherwise(numerator.divide(denominator.doubleValue())));
    

    This will force (should) the division must be calculated using double rather than the integers (ints); x / 0,0 will assess double. NaN in java, without throwing an exception. Note that this calculation will give slightly different results in other cases, such as the division of integers you used before will still result in an int (by truncation); considering that it will give a double precision division. In most cases, the latter will actually be what you want.

  • How to check for charts grouped using the FrameMaker API?

    I have a page with bundled graphics frame and also other graphic objects that are not consolidated or are grouped into a different set. How can I check if all the objects in an image are grouped in one package?

    Michael is correct. Specifically, the graphics have a FP_GroupParent property, which returns the ID of the FO_Group object that the graphic is in (if any). If the graph is not grouped, I believe that this property returns a value of zero. Thus, all graphics within a group will have the same value for FP_GroupParent.

    Note that you can combine both groups, which then makes things much more complicated. A FO_Group object also has a FP_GroupParent property that theoretically allows an unlimited amount of group nesting. I hope that you don't have to deal with that.

    Russ

  • Rough Cut created as a prelude with transitions, sent to first Pro works then, using 'replace with After Effects comp', loses the transitions. Why?

    With the help of Creative Cloud 2015 apps exclusively on a 64-bit win 8.1 Pro Gigabyte MB 8 core AMD pcu with 16 GB of ram and nVidia GeForce 8800 GTX graphics card. I deleted all the cache and restarted.

    Created a simple Rough Cut in prelude routinely using H.264 in mp4 video and still photos from format of (via Media Encoder) components ingested in prelude ~

    Rough Cut, composed of a sequence of 1 always followed by 4 x 3 second mp4 followed by another still followed by 4 more 3 second MP4, total length of 30 seconds.

    Together, then the default prelude "Cross dissolve" transition between each item in the first edit.

    Successfully sent this first edit in Premiere Pro using the menu option integrated prelude - send to first.

    Works like a charm in Premiere Pro, including cross-fade transitions.

    HOWEVER, now, in Premiere Pro, have not been able to use then 'Replace with After Effects' option under ' Dynamic Link ~ option is grayed out, regardless of how I select the element/sequence to replace. "

    The only way I have found to use all the options 'Replace with After Effects' is the one that appears when you right-click on a sequence in the timeline window, but when open in After Effects, crossfade effect has disappeared; Only the elements of the scene still show when parsing through the sequence in the timeline.

    After investigation, it turns out that the order of the individual elements that contribute, in the after effects project Panel, has been auto-réarrangés as assets to dissolve cross is now distributed among the other elements of the sequence and therefore cannot perform the intended function. It also destroys the fade in Premiere Pro effect that worked very well before attempting this 'Replace with After Effects' option.

    I need to find a way to keep this intact sequence in Premiere Pro and after Effecys and be able to use After Effects to add additional effects to this rough cut sequence...

    I have run the available tutorials in Adobe and Lynda.com and searched the forum for an explanation, but so far, nothing, I found has solved this problem. :

    1. How can I get the Adobe Dynamic Link to function when it is grayed out in the choice of Menu file?
    2. How to make the right click option 'replace with After Effects' to send the sequence in After Effects without changing its infrastructure, as described above?

    I await with confidence to find someone here who knows what I'm doing well wrung out! and who can show me the error of my ways. TIA. /PSB

    First transitions don't come in After Effects. They never have. Your workflow is not compatible with dynamic link. You should use AE to create shots and then change these shots in Premiere Pro. Trying to bring in a sequence which was finalized with effects and transitions is a losing proposition and not recommended.

  • printing with printer deskjet 2050 using the black cartridge only

    printing with printer deskjet 2050 using the black cartridge only

    all solutions? PLIs answer me. thanx

    Hi d33com,

    Follow the steps below to set the black ink only.

    1. open the printing preferences (step 1)

    2. click on the Advanced button (step 2)

    3. click on the drop down arrow next to the print in grayscale to change black ink only.

  • I have two Adobe Id with first ID, I used the trial version. When it expired, I did the second ID and purchased Adobe Acrobat proDC version with monthly subscription. On my first ID it shows now that I have Acrobat pro DC subscription. Second ID (the one

    I have two Adobe Id with first ID, I used the trial version. When it expired, I did the second ID and purchased Adobe Acrobat proDC version with monthly subscription. On my first ID it shows now that I have Acrobat pro DC subscription. Second ID (the one I bought the subscription) shows nothing. Now, during installation by using the ID of the first, all is going well, except using the software. He always says "your trial has expired! Using the ID of the second to make same duration does not work... I can't download the right version. Free trial only. Pleasehelp me. I'm desperate.

    Hi kimmok51975897,

    I will recommend you to contact our customer service team to get this fixed number. Follow this link Contact Customer Care, sign in using your Adobe ID (under which you subscription) & check on "still need help? Contact us' button.

    Kind regards
    Nicos

  • Run the workflow using the SOAP API with PHP

    Hello

    I'm trying to integrate workflow from code PHP using the SOAP API to Orchestrator.

    <? PHP

    Try

    {

    $parameters = array (username = > "username", password = > "passwd");

    $client = new SoapClient ('https://vcoserver:8281 / vco/vmware-vmo-webcontrol/webservice?) WSDL "); "

    $result = $client-> getAllWorkflows ($parameters);

    foreach ($result as $item)

    {

    foreach ($item as $work)

    {

    echo $work-> name;

    echo "< br >".

    echo "id";

    echo $work-> id;

    echo "< br / > ';

    }

    }

    }

    catch (Exception $e)

    {

    echo $e;

    }

    ? >

    I do not see errors/exceptions, but don't see any output as well.

    Am I missing something?

    Could you use

    print curl_error($curl);
    

    After curl_exec to check if there are errors?

    If there is an error in SSL certificate, as ' SSL certificate problem: unable to get local issuer certificate ", you can either install certificates roots (Google it for more information how to do), or disable checking of certificates by peers in CURL with something like:"

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    
  • LAN address MAC using the windows API?

    I would like to read the MAC address of the LAN to my WIFI on my PC card.

    Apparently, this can be done using the Windows API

    Anyone tried something like this again?

    Thank you

    Hi morngoose,

    You can use the function "exec system" with "cmd/c" ipconfig/all "" "connected." Parse the string and you'll get your MAC address.

    Mike

  • Using the REST API to delete the contact from the contacts list

    Hello world

    I am looking for some info for the creation of a request to delete a contact from a list of Contact using the REST API.   Here's what I have in Java where the contact id is 1 'and my list is 72'.     I'm open to responses in Java, c# or other languages.

    serverAddress = new URL ("https://secure.p03.eloqua.com/API/REST/1.0/assets/contact/list/72");

    establish communication stuff

    connection = null;

    Set up the initial connection

    connection = (HttpURLConnection) serverAddress.openConnection ();

    connection.setRequestMethod ("PUT");

    connection.setRequestProperty ("content-type", "json; charset=utf-8 ");"

    connection.setRequestProperty ("authorization", 'Basic BLOCKED');

    String body = '{\"membershipDeletions\":[\"1\']}";

    connection.setDoOutput (true);

    connection.getOutputStream () .write (body.getBytes ("UTF8"));

    connection.setReadTimeout (10000);

    Connection.Connect ();

    When I test with it I get a '400' HTTP response

    Thank you!

    Hi Noel,

    The following document describes the operations available for lists of contacts in the Rest API. Please note that we also have a project open source c# example illustrates the use of these endpoints.

    Repositories are all available to the public on Github. Hope this helps and please let me know if you need more information.

    Thank you

    Fred

  • Cannot add firewall rules using the REST API vShield App

    Hi all

    I get the following error

    "< errors > < error > < code > 100039 < / code > < description > Unmatched rules found in the configuration." "< / description > < / error > < / errors >.

    When you use the App API vSheild:

    POST https:// /API/2.0/app/firewall/dvportgroup-55/config < vsm-ip >

    Paylod XML:

    <? XML version = "1.0" encoding = "UTF-8" standalone = "yes"? >
    < VshieldAppConfiguration >
    < firewallConfiguration = "dvportgroup-55" the contextId >
    < layer3FirewallRule disabled = "false" priority = "none" id = "1021" >
    < action > allow < / action >
    < connected > false < / connected >
    < source >
    < address >
    < ipAddress > 172.30.68.212 < / ipAddress >
    < / address >
    < > 222 portInfo < / portInfo >
    < / source >
    < destination >
    < address >
    < ipAddress > 172.30.68.166 < / ipAddress >
    < / address >
    < application >
    < > 333 portInfo < / portInfo >
    < Protocol > 6 < / Protocol >
    < / application >
    < / destination >
    < / layer3FirewallRule >
    < / firewallConfiguration >
    < / VshieldAppConfiguration >

    Is anyone has seen this before or any idea why this might be happening?

    In addition, create a wall of fire to provide the variable "id"... How do I know which id to use to create a new firewall rule. I'm using id = "1021" I see one last created after quesrying API... but when you call it through automation, what will the process to define an id invalid?

    Thank you

    xar

    ID must be present, for the new rule Id must be '0' while that for others it should kept as what. The reason for this error which I believe is the same. Replacement of 1021 with 0 should solve this problem. http://blogs.VMware.com/security/2011/11/using-the-VShield-API.html should also be useful to start with vShield firewall App REST API.

    -Kone

  • How to use the 'sensors' api?

    Hi guys! I am a web-game developer but a beginner in developing blackberry applications.

    I intended to create a star atlas application and I've already finished most but failed to use the 'sensors' api.

    I referred to the example provided in the documentation of webworks 2.1 as below:

    function compassCallback(data) {
    document.write("Current azimuth:"+data.azimuth);
    }
    blackberry.sensors.setOptions("devicecompass", { delay: 1000 });
    document.addEventListener("devicecompass", compassCallback);
    

    and I added an element in the config.xml file:

    also, I added the plugin com.blackberry.sensors for the project.

    But I still can't azimuth compass...

    I really appreciate if someone could help me with this!

    I solved this problem by myself.

    The listener of the api should be placed in a "deviceready" event

  • problem using the FileConnection API (JSR 75) in an application for Blackberry "BOLD" MIDLET

    Hello

    I developed a MIDLET which is to read files and store the contents of files in arrays. I could make using the FileConnection API in J2ME (Java ME) and it works very well in mobile emulators provided by Sun, Sun Kit tool 2.5.1 wireless and Sprint Wireless tool 3.3.2 Kit. I have been using netbeans IDE 6.8 for this.

    Now, here's the deal. Playback of the files does not work when in one of the Blackberry mobile emulators. I tried to install all versions of Blackberry JDE 4.2.1 to 5.0 and test the same thing, but none of them worked.  After reading that the Blackberry plugin for Eclipse is good, I used it to find that I am always faced with the problem.

    I desperately need help. Can someone help me do the reading work file in a Blackberry emulator? I insert the code that makes the file reading. It reads a file containing a single column of 60 entries, and stores it in an array of double type.

    Vector time = new Vector();
    
    try{
    
     FileConnection filecon = (FileConnection) Connector.open("file:///" +"SDCard/BlackBerry/documents/"+"timescale.dat");
    
     if(!filecon.exists()) {    Dialog.show("Note ! ", "File doesn't exists !", "okay","cancel"); }
    
         StringBuffer sb = new StringBuffer();      try      {       InputStream in = filecon.openInputStream();       int chars;
    
           while ((chars = in.read()) != -1)// read until EOF is reached       {          if(chars == '\n') // read all characters until the end of line is reached          {              time.addElement(sb.toString().trim()); // stores all the characters as a vector element when the end of line is reached
    
                  sb.delete(0,sb.length());// clear the stringbuffer for storing the next line of the file
    
              }
    
              else          {              sb.append((char)chars); // appends each character read          }
    
          }// end of while
    
        }    catch(IOException e)    {               }
    
        filecon.close();
    
    }// end of outer try
    
       int i =0;   Enumeration etime = time.elements();
    
       while(etime.hasMoreElements() && i < 60) // timescale.dat has 60 entries in one column   {       time_1d[i]=Double.parseDouble(etime.nextElement().toString());// convert to double       i++;   }
    

    Can you elaborate on what does not work?  Is an error or exception thrown?  If Yes, what is it and what line of code triggers it?

    You have configured the BlackBerry smartphone Simulator to simulate a micro SD card?

    Use a computer filesystem in the form of microSD card

    http://supportforums.BlackBerry.com/T5/testing-and-deployment/use-a-computer-file-system-as-a-microS...

Maybe you are looking for

  • The purchased songs will not download

    I recently installed itunes on a newer laptop.  It's an ASUS with Windows 10.  The installation works.  And I have all the features, as far as I got so far, with the exception of major and frustrating.  None of my purchased songs previously downloade

  • What parameter sets the position of the elements in the viewfinder?

    Sort my files and folders have changed the setting that "affects" a place on the viewfinder screen and allow me to move them automatically. I remember that there is a setting for it, but can't find it. Thank you Don

  • I can not activate XP. How can I talk to a live person to explain that I'm not a pirate?

    I swapped a HD with Windows XP installed on another computer factory and cannot activate it. How can I talk to a live person to explain that I'm not a pirate?  The original computer went bad and I threw all but HD. The computer I install in that he h

  • What does the error 53?

    This warning appears when I'm online or turned off and just a game.

  • Can scan but not print wireless

    HP Deskjet 3050 j610 printer all in one I have two PCs running Windows 7 Ultimate 64 bit, and Windows 7 Home Premium 32 bit on a network home. The Home Premium pc is connected via a USB cable and prints and scans OK. The ultimate is wifi and scan OK,