Possibility to have a heading row when converting text to a table?
using CS6
Unless im having a brain lapse and giving fully on something, I think that there is no way to do that, except perhaps in script. I looked around and found no similar post everywhere or the other.
I have all my styles of table cell / linked in the other properly I can prove it because if I'm going to get a bunch of new table everything works as I want only it.
My guess is that the culprit of the problem is that there is no option to specify the headers (amount/location) in the conversion dialog box the text table. A simple check with box and the ability to "make the first line a header" would suffice even. I don't know how it would be difficult to modify the dialog box itself and add this option. (my guess is that its pretty difficult/intrusive to the program).
I know that I can easily highlight the line and then simply apply the style I did for the header of the table, but the documents I did tend to have a lot many tables. This would be / is horrible to change if someone or me decides to make style changes to multiple documents.
So my next thought was perhaps a script could help out me.
something like:
1. find all tables with a specified table style.
2. change the first line for all the tables which follow the rule 1 in a header line. (For this table header cell style must be updated to take into account all that is called for in the style of table.)
[Because table style settings have an option to specify the style of cell in a row of header inside the table, im thinking it must so far do.]
only one problem, I fell on trying to do it manually, is that when I take a table and you try to add a header that makes him a completely new line on top of the table. So if you were to copy all text in the line I was using as a header and then paste in the newly added header line that it does not work because it keeps the style that never has been copied. leaving your only option to re-type all headers and remove all the old ones (YUCK!).
I am open to suggestions but I confess that I don't know what anyone on the scripts.
I understand that this is perhaps a kind of vast demand but no help is not provided and greatly appreciated!
Thank you for your time and I apologize for the big enough position.
Sorry, I'm bored a bresh curlly
Now try this
var table = app.documents [0].stories.everyItem ().tables.everyItem () .getElements ();
for (var t = 0; table.length > t; t ++) {}
for (var r = 0; table [t].rows.length > r; r ++) {}
try {}
{if(r==0)}
for (var c = 0; table [t] Rows [r].cells.length > c; c ++)
{
[t] [r] table of Rows .cells [c] .appliedCellStyle = "cell Style 1.
}
}
}
{catch (e)}
alert (e)
}
}
}
Tags: InDesign
Similar Questions
-
Is there a way to convert a set of tabs text to a table?
SALES FOR THE MONTH IN THE REGION
1 10000 GP
2 15000 GP
3 11200 GP
1 20000 KZN
2 22000 KZN
3 21500 KZNCan I highlight the text above, select something like "Insert" and select 'Text to Table' and maybe select "Create columns by the TAB" and then this changed to a well formatted table text?
Thanks in anticipation,
Tony RobsonThere might be a way,
If you write your lines with tabs
Mark all
in Format /table there is "create table selection.
Select the space as separator and ignore extra spaces -
Convert text to a table in a note crashed to IDCS4ME?
Hello
Can anyone confirm if it is a general bug or an individual problem of mine? Select text in a note and click "Convert text to table." This goes down InDesignCS4 for me.
Thank you
Ariel
Crashed here also on the American version.
-
Getting a 0 when converting text to a number. need help.
Hello world
I am in 2nd year CS design my 1st app for blackberry. I use the code provided by RIM as my starting base.
My problem is that when I convert a text in a number input using parseInt (foo.text) or (foo.text) Number I have a 0 instead of the number entered by the user. Here is the code I wrote for user input:
var myInput:TextField = new TextField();
addChild (myInput);
myInput.type = "input";
myInput.border = true;
myInput.x = 140;
myInput.y = 40;
myInput.width = 125;
myInput.height = 20;var n: Number = Number (myInput.text);
var ntring = String (myInput.text);
var firstnum = Number (n);
trace (n);the trace function returns a 0. I also tried this:
var firstnum:TextInput = new TextInput();
newUfirstnum.width = 200;
newfirstnum.x = 140;
newUfirstnum.y = 65;
newfirstnum. Height = 20;
addChild (firstnum);var input: int = parseInt (firstnum.text);
trace (Input);
Does anyone know why I get a 0 and what I can do about it? Any advice would be helpful.
Thank you.
Hey,.
just a follow-up in case you're having trouble, here is a working application that uses the same variables as you did. It is an object TextInput (QNX) and a tag button that click you on to see what the variable text in the TextInput object. When you click on it will trace the value in the debugger:
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.MouseEvent; import qnx.ui.buttons.LabelButton; import qnx.ui.text.TextInput; [SWF(width="1024",height="600",backgroundColor="#CCCCCC",frameRate="30")] public class TextInputTest extends Sprite { /** * * Place your variables outside of the constructor * it makes it easier to work with when using * other functions like listener functions * */ private var firstnum:TextInput; private var myBtn:LabelButton; public function TextInputTest() { super(); // support autoOrients stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; /** * Create your TextInput object just as you did * before, only this time we wont try to trace * the data in it right away */ firstnum = new TextInput(); firstnum.width = 200; firstnum.x = 140; firstnum.y = 65; firstnum.height = 52; addChild(firstnum); /** * We are going to create a label button * that allows us to listen for a MouseEvent.CLICK * (mouse click) that will tell the application * to trace out our data * */ myBtn = new LabelButton(); myBtn.label = "Trace!"; myBtn.setSize(150,52); myBtn.setPosition(375, 65); /** * This is the important line, to add a listener. We * tell the application to add a mouse click event * listener and we will run the onClick function when * there is a click * */ myBtn.addEventListener(MouseEvent.CLICK, onClick); addChild(myBtn); } private function onClick(e:MouseEvent):void { /** * * here is where we will do our conversion and * output via the trace function * */ var input:int = parseInt(firstnum.text); trace(input); } } }
I've inserted comments to help you along the way. also, I want that you notice that ActionScript (Adobe AIR) is all based event. Therefore, use events and listeners to get things moving. hope that helps a little more. Good luck!
-
Is it possible to have a button that will insert a line of table rather than add at the end?
I have a button Add line that works correctly using addinstance, but I would like to have the line button Add at the end of each line, if a user can insert a line in the middle of the existing/fiilled of lines. Is this possible? I would like to be able to do this using Formcalc because that's what my script in the form currently complies.
Hello
Yes, it is possible, but actually doing just that the script is to add a new line at the end of the table AND then move the line to the appropriate position.
See examples here: http://assure.ly/gk8Q7a. Table 5 is a Table object, while table 6 is constructed using subforms. In both cases, the Index number is a button, which adds a line below the existing one clicked.
See who helps me to,.
Niall
-
Table header row gets cut off from view when the text block is resized
I'm designing a table that has a header row, 6 body rows and 5 columns. I want the header skewed to 20º and rotation type of needles from the same angle. Knows someone who worked with tables, it is not possible to rotate the text to this value via the parameters of the cell, but the job is to split the table into two blocks of text. The lower sash will be the body lines, but the Executive must have the header where it gets skewed to the specified angle. The text must be created in separate and then cut and paste frames in each column header and then it can be rotated.
The problem I have is when I try to drag the bottom of the text block to the top while the header remains visible, the header gets cropped view. The only way to prevent it from is Cup is I leave the first line in the frame, but then it gets skewed is not what I want. It seems that the block of text ignores the header still exists. The screenshot below has two tables. The top version is the one that I want to apply the effect to. The bottom has the effect, but his top line is a line of body (not a header).
I don't think that it is possible to have a heading row without at least a body line in the framework...
-
How gaps (fill) when converting to a 2006 geometry in a geometry of 2002
Is it possible to fill (filling) the differences when converting to a geometry in a single geometry of 2002 in 2006. I have a solution for the conversion of 2006 to 2002 provided by BHall but on other investigation of my dataset some of the multi line polygons are weak I need to fill and I don't know how to go on this subject.
Here is a simple example of what I'm trying to reach
Front
SELECT (sdo_geometry (2006, 81989, NULL,))
MDSYS.sdo_elem_info_array (1,2,1,5,2,1,9,2,1,13,2,1),
MDSYS.sdo_ordinate_array (16,0.999,16.998,-0,001, 17.253,-0.001, 18.003, 0.999, 18.003, 0.999, 19.001, 0.999, 19.001, 0.999, 19,999,-0,001)))
OF the double
After
SELECT (sdo_geometry (2006, 81989, NULL,))
MDSYS.sdo_elem_info_array (1,2,1),
MDSYS.sdo_ordinate_array (16,0.999,17.253,-0.001,18.003,0.999,19.001,0.999,19.999,-0.001))) DOUBLE
Thanks in advance
Hi rock,
Well, I ran all three examples that you sent through my code and it seemed to work! I pasted the code above in a "pre" html tag and I can still see things deteriorated. Lemme try this with a different syntax. You know that this new forum software not only grew on me. It's just clumsy and exaggerated. And those weird people at the top. What were they looking at? I imagine that Larry on some loft above.
Anyway, you are right that when Bryan code is used to convert the multiple string, the gaps are filled. But that's because he wrote of this approach.
Really, there is no generic way to convert a multiple line string we are discussing. If you use SDO_UTIL. CONCATENATE_LINES, it will leave gaps.
See you soon,.
Paul
CREATE OR REPLACE PACKAGE dz_gap_fill AUTHID CURRENT_USER AS FUNCTION linear_gap_filler( p_input IN MDSYS.SDO_GEOMETRY ,p_tolerance IN NUMBER DEFAULT 0.05 ) RETURN MDSYS.SDO_GEOMETRY; END dz_gap_fill; CREATE OR REPLACE PACKAGE BODY dz_gap_fill AS FUNCTION fast_point( p_x IN NUMBER ,p_y IN NUMBER ,p_z IN NUMBER DEFAULT NULL ,p_m IN NUMBER DEFAULT NULL ,p_srid IN NUMBER DEFAULT 8265 ) RETURN MDSYS.SDO_GEOMETRY AS BEGIN -------------------------------------------------------------------------- -- Step 10 -- Check over incoming parameters -------------------------------------------------------------------------- IF p_x IS NULL OR p_y IS NULL THEN RAISE_APPLICATION_ERROR(-20001,'x and y cannot be NULL'); END IF; -------------------------------------------------------------------------- -- Step 20 -- Do the simplest solution first -------------------------------------------------------------------------- IF p_z IS NULL AND p_m IS NULL THEN RETURN SDO_GEOMETRY( 2001 ,p_srid ,SDO_POINT_TYPE( p_x ,p_y ,NULL ) ,NULL ,NULL ); END IF; -------------------------------------------------------------------------- -- Step 30 -- Do the other wilder choices -------------------------------------------------------------------------- IF p_z IS NULL AND p_m IS NOT NULL THEN RETURN SDO_GEOMETRY( 3301 ,p_srid ,SDO_POINT_TYPE( p_x ,p_y ,p_m ) ,NULL ,NULL ); ELSIF p_z IS NOT NULL AND p_m IS NULL THEN RETURN SDO_GEOMETRY( 3001 ,p_srid ,SDO_POINT_TYPE( p_x ,p_y ,p_z ) ,NULL ,NULL ); ELSIF p_z IS NOT NULL AND p_m IS NOT NULL THEN RETURN SDO_GEOMETRY( 4401 ,p_srid ,NULL ,SDO_ELEM_INFO_ARRAY(1,1,1) ,SDO_ORDINATE_ARRAY(p_x,p_y,p_z,p_m) ); ELSE RAISE_APPLICATION_ERROR(-20001,'ERR!'); END IF; END fast_point; FUNCTION get_start_point( p_input IN MDSYS.SDO_GEOMETRY ) RETURN MDSYS.SDO_GEOMETRY AS int_dims PLS_INTEGER; int_gtyp PLS_INTEGER; int_lrs PLS_INTEGER; BEGIN -------------------------------------------------------------------------- -- Step 10 -- Check over incoming parameters -------------------------------------------------------------------------- IF p_input IS NULL THEN RETURN NULL; END IF; -------------------------------------------------------------------------- -- Step 20 -- Gather information about the geometry -------------------------------------------------------------------------- int_dims := p_input.get_dims(); int_gtyp := p_input.get_gtype(); int_lrs := p_input.get_lrs_dim(); -------------------------------------------------------------------------- -- Step 30 -- Handle point and multipoint inputs -------------------------------------------------------------------------- IF int_gtyp = 1 THEN RETURN p_input; ELSIF int_gtyp = 5 THEN RETURN SDO_UTIL.EXTRACT(p_input,1); END IF; -------------------------------------------------------------------------- -- Step 40 -- Return results -------------------------------------------------------------------------- IF int_dims = 2 THEN RETURN fast_point( p_input.SDO_ORDINATES(1) ,p_input.SDO_ORDINATES(2) ,NULL ,NULL ,p_input.SDO_SRID ); ELSIF int_dims = 3 AND int_lrs = 3 THEN RETURN fast_point( p_input.SDO_ORDINATES(1) ,p_input.SDO_ORDINATES(2) ,NULL ,p_input.SDO_ORDINATES(3) ,p_input.SDO_SRID ); ELSIF int_dims = 3 AND int_lrs = 0 THEN RETURN fast_point( p_input.SDO_ORDINATES(1) ,p_input.SDO_ORDINATES(2) ,p_input.SDO_ORDINATES(3) ,NULL ,p_input.SDO_SRID ); ELSIF int_dims = 4 AND int_lrs IN (4,0) THEN RETURN fast_point( p_input.SDO_ORDINATES(1) ,p_input.SDO_ORDINATES(2) ,p_input.SDO_ORDINATES(3) ,p_input.SDO_ORDINATES(4) ,p_input.SDO_SRID ); ELSIF int_dims = 4 AND int_lrs = 3 THEN RETURN fast_point( p_input.SDO_ORDINATES(1) ,p_input.SDO_ORDINATES(2) ,p_input.SDO_ORDINATES(4) ,p_input.SDO_ORDINATES(3) ,p_input.SDO_SRID ); ELSE RAISE_APPLICATION_ERROR(-20001,'ERR!'); END IF; END get_start_point; FUNCTION get_end_point( p_input IN MDSYS.SDO_GEOMETRY ) RETURN MDSYS.SDO_GEOMETRY AS int_dims PLS_INTEGER; int_gtyp PLS_INTEGER; int_lrs PLS_INTEGER; int_len PLS_INTEGER; BEGIN -------------------------------------------------------------------------- -- Step 10 -- Check over incoming parameters -------------------------------------------------------------------------- IF p_input IS NULL THEN RETURN NULL; END IF; -------------------------------------------------------------------------- -- Step 20 -- Gather information about the geometry -------------------------------------------------------------------------- int_dims := p_input.get_dims(); int_gtyp := p_input.get_gtype(); int_lrs := p_input.get_lrs_dim(); int_len := p_input.SDO_ORDINATES.COUNT(); -------------------------------------------------------------------------- -- Step 30 -- Handle point and multipoint inputs -------------------------------------------------------------------------- IF int_gtyp = 1 THEN RETURN p_input; ELSIF int_gtyp = 5 THEN RETURN SDO_UTIL.EXTRACT( p_input ,SDO_UTIL.GETNUMELEM(p_input) ); END IF; -------------------------------------------------------------------------- -- Step 40 -- Return results -------------------------------------------------------------------------- IF int_dims = 2 THEN RETURN fast_point( p_input.SDO_ORDINATES(int_len - 1) ,p_input.SDO_ORDINATES(int_len) ,NULL ,NULL ,p_input.SDO_SRID ); ELSIF int_dims = 3 AND int_lrs = 3 THEN RETURN fast_point( p_input.SDO_ORDINATES(int_len - 2) ,p_input.SDO_ORDINATES(int_len - 1) ,NULL ,p_input.SDO_ORDINATES(int_len) ,p_input.SDO_SRID ); ELSIF int_dims = 3 AND int_lrs = 0 THEN RETURN fast_point( p_input.SDO_ORDINATES(int_len - 2) ,p_input.SDO_ORDINATES(int_len - 1) ,p_input.SDO_ORDINATES(int_len) ,NULL ,p_input.SDO_SRID ); ELSIF int_dims = 4 AND int_lrs IN (4,0) THEN RETURN fast_point( p_input.SDO_ORDINATES(int_len - 3) ,p_input.SDO_ORDINATES(int_len - 2) ,p_input.SDO_ORDINATES(int_len - 1) ,p_input.SDO_ORDINATES(int_len) ,p_input.SDO_SRID ); ELSIF int_dims = 4 AND int_lrs = 3 THEN RETURN fast_point( p_input.SDO_ORDINATES(int_len - 3) ,p_input.SDO_ORDINATES(int_len - 2) ,p_input.SDO_ORDINATES(int_len) ,p_input.SDO_ORDINATES(int_len - 1) ,p_input.SDO_SRID ); ELSE RAISE_APPLICATION_ERROR(-20001,'ERR!'); END IF; END get_end_point; FUNCTION is_spaghetti( p_input IN MDSYS.SDO_GEOMETRY ,p_tolerance IN NUMBER DEFAULT 0.05 ) RETURN VARCHAR2 AS num_tolerance NUMBER := p_tolerance; ary_strings MDSYS.SDO_GEOMETRY_ARRAY := MDSYS.SDO_GEOMETRY_ARRAY(); ary_starts MDSYS.SDO_GEOMETRY_ARRAY := MDSYS.SDO_GEOMETRY_ARRAY(); ary_ends MDSYS.SDO_GEOMETRY_ARRAY := MDSYS.SDO_GEOMETRY_ARRAY(); int_count PLS_INTEGER; ary_start_count MDSYS.SDO_NUMBER_ARRAY := MDSYS.SDO_NUMBER_ARRAY(); ary_end_count MDSYS.SDO_NUMBER_ARRAY := MDSYS.SDO_NUMBER_ARRAY(); ary_inside_count MDSYS.SDO_NUMBER_ARRAY := MDSYS.SDO_NUMBER_ARRAY(); BEGIN -------------------------------------------------------------------------- -- Step 10 -- Check over incoming parameters -------------------------------------------------------------------------- IF p_input IS NULL THEN RETURN NULL; ELSIF p_input.get_gtype = 2 THEN RETURN 'FALSE'; ELSIF p_input.get_gtype <> 6 THEN RAISE_APPLICATION_ERROR(-20001,'input gtype must be 2 or 6'); END IF; IF num_tolerance IS NULL THEN num_tolerance := 0.05; END IF; -------------------------------------------------------------------------- -- Step 20 -- Break multistring into single linestrings with nodes -------------------------------------------------------------------------- int_count := SDO_UTIL.GETNUMELEM(p_input); ary_strings.EXTEND(int_count); ary_starts.EXTEND(int_count); ary_ends.EXTEND(int_count); ary_start_count.EXTEND(int_count); ary_end_count.EXTEND(int_count); ary_inside_count.EXTEND(int_count); FOR i IN 1 .. int_count LOOP ary_strings(i) := SDO_UTIL.EXTRACT(p_input,i); ary_starts(i) := get_start_point(ary_strings(i)); ary_ends(i) := get_end_point(ary_strings(i)); END LOOP; -------------------------------------------------------------------------- -- Step 30 -- Loop through and count the nodes connections -------------------------------------------------------------------------- FOR i IN 1 .. int_count LOOP ary_start_count(i) := 0; ary_end_count(i) := 0; ary_inside_count(i) := 0; FOR j IN 1 .. int_count LOOP IF i != j THEN IF SDO_GEOM.RELATE( ary_starts(i), 'DETERMINE', ary_strings(j), num_tolerance ) IN ('TOUCH','CONTAINS','COVERS','ON') THEN ary_start_count(i) := ary_start_count(i) + 1; ELSIF SDO_GEOM.RELATE( ary_ends(i), 'DETERMINE', ary_strings(j), num_tolerance ) IN ('TOUCH','CONTAINS','COVERS','ON') THEN ary_end_count(i) := ary_end_count(i) + 1; ELSIF SDO_GEOM.RELATE( ary_strings(i), 'DETERMINE', ary_strings(j), num_tolerance ) IN ('TOUCH','CONTAINS','COVERS','OVERLAPBYINTERSECT') THEN ary_inside_count(i) := ary_inside_count(i) + 1; END IF; END IF; END LOOP; IF ary_start_count(i) > 1 OR ary_end_count(i) > 1 OR ary_inside_count(i) > 0 THEN RETURN 'TRUE'; END IF; END LOOP; RETURN 'FALSE'; END is_spaghetti; ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- FUNCTION points2segment( p_point_one IN MDSYS.SDO_POINT_TYPE ,p_point_two IN MDSYS.SDO_POINT_TYPE ,p_srid IN NUMBER ) RETURN MDSYS.SDO_GEOMETRY AS BEGIN IF ( p_point_one.Z IS NULL AND p_point_two.Z IS NOT NULL ) OR ( p_point_one.Z IS NOT NULL AND p_point_two.Z IS NULL ) THEN RAISE_APPLICATION_ERROR( -20001, 'both points must have the same number of dimensions, point_one Z is ' || NVL(TO_CHAR(p_point_one.Z),'
') || ' and point_two Z is ' || NVL(TO_CHAR(p_point_two.Z),' ') ); END IF; IF p_point_one.Z IS NULL THEN RETURN SDO_GEOMETRY( 2002 ,p_srid ,NULL ,SDO_ELEM_INFO_ARRAY(1,2,1) ,SDO_ORDINATE_ARRAY(p_point_one.X,p_point_one.Y,p_point_two.X,p_point_two.Y) ); ELSE RETURN SDO_GEOMETRY( 3002 ,p_srid ,NULL ,SDO_ELEM_INFO_ARRAY(1,2,1) ,SDO_ORDINATE_ARRAY(p_point_one.X,p_point_one.Y,p_point_one.Z,p_point_two.X,p_point_two.Y,p_point_two.Z) ); END IF; END points2segment; ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- FUNCTION points2segment( p_point_one IN MDSYS.SDO_GEOMETRY ,p_point_two IN MDSYS.SDO_GEOMETRY ) RETURN MDSYS.SDO_GEOMETRY AS int_gtype1 PLS_INTEGER; int_dims1 PLS_INTEGER; int_gtype2 PLS_INTEGER; int_dims2 PLS_INTEGER; point_one MDSYS.SDO_POINT_TYPE; point_two MDSYS.SDO_POINT_TYPE; BEGIN int_gtype1 := p_point_one.get_gtype(); int_dims1 := p_point_one.get_dims(); int_gtype2 := p_point_two.get_gtype(); int_dims2 := p_point_two.get_dims(); IF int_gtype1 = 1 AND int_gtype2 = 1 AND int_dims1 = int_dims2 AND p_point_one.SDO_SRID = p_point_two.SDO_SRID THEN NULL; -- Good ELSE RAISE_APPLICATION_ERROR( -20001 ,'both point objects must be points and have the same number of dimensions and SRIDs' ); END IF; IF int_dims1 = 4 THEN RETURN SDO_GEOMETRY( 4402 ,p_point_one.SDO_SRID ,NULL ,SDO_ELEM_INFO_ARRAY(1,2,1) ,SDO_ORDINATE_ARRAY( p_point_one.SDO_ORDINATES(1) ,p_point_one.SDO_ORDINATES(2) ,p_point_one.SDO_ORDINATES(3) ,p_point_one.SDO_ORDINATES(4) ,p_point_two.SDO_ORDINATES(1) ,p_point_two.SDO_ORDINATES(2) ,p_point_two.SDO_ORDINATES(3) ,p_point_two.SDO_ORDINATES(4) ) ); ELSE -- Use the sdo_point_type method for the rest IF p_point_one.SDO_POINT IS NOT NULL THEN point_one := p_point_one.SDO_POINT; ELSE IF int_dims1 = 3 THEN point_one := SDO_POINT_TYPE( p_point_one.SDO_ORDINATES(1) ,p_point_one.SDO_ORDINATES(2) ,p_point_one.SDO_ORDINATES(3) ); ELSE point_one := SDO_POINT_TYPE( p_point_one.SDO_ORDINATES(1) ,p_point_one.SDO_ORDINATES(2) ,NULL ); END IF; END IF; IF p_point_two.SDO_POINT IS NOT NULL THEN point_two := p_point_two.SDO_POINT; ELSE IF int_dims1 = 3 THEN point_two := SDO_POINT_TYPE( p_point_two.SDO_ORDINATES(1) ,p_point_two.SDO_ORDINATES(2) ,p_point_two.SDO_ORDINATES(3) ); ELSE point_two := SDO_POINT_TYPE( p_point_two.SDO_ORDINATES(1) ,p_point_two.SDO_ORDINATES(2) ,NULL ); END IF; END IF; RETURN points2segment( p_point_one => point_one ,p_point_two => point_two ,p_srid => p_point_one.SDO_SRID ); END IF; END points2segment; FUNCTION linear_gap_filler( p_input IN MDSYS.SDO_GEOMETRY ,p_tolerance IN NUMBER DEFAULT 0.05 ) RETURN MDSYS.SDO_GEOMETRY AS sdo_input MDSYS.SDO_GEOMETRY := p_input; num_tolerance NUMBER; int_counter PLS_INTEGER; ary_edges MDSYS.SDO_GEOMETRY_ARRAY; ary_starts MDSYS.SDO_GEOMETRY_ARRAY; ary_ends MDSYS.SDO_GEOMETRY_ARRAY; ary_nearest MDSYS.SDO_NUMBER_ARRAY; ary_distance MDSYS.SDO_NUMBER_ARRAY; num_temp NUMBER; num_nearest NUMBER; int_winner PLS_INTEGER; int_winner2 PLS_INTEGER; sdo_point1 MDSYS.SDO_GEOMETRY; sdo_point2 MDSYS.SDO_GEOMETRY; boo_done BOOLEAN; num_one NUMBER; num_two NUMBER; int_looper PLS_INTEGER := 1; BEGIN -------------------------------------------------------------------------- -- Step 10 -- Check over incoming parameters -------------------------------------------------------------------------- IF num_tolerance IS NULL THEN num_tolerance := 0.05; END IF; IF sdo_input IS NULL OR sdo_input.get_gtype() <> 6 THEN RETURN sdo_input; END IF; IF is_spaghetti(sdo_input,p_tolerance) = 'TRUE' THEN RETURN sdo_input; END IF; < > ary_edges := MDSYS.SDO_GEOMETRY_ARRAY(); ary_starts := MDSYS.SDO_GEOMETRY_ARRAY(); ary_ends := MDSYS.SDO_GEOMETRY_ARRAY(); ary_nearest := MDSYS.SDO_NUMBER_ARRAY(); ary_distance := MDSYS.SDO_NUMBER_ARRAY(); -------------------------------------------------------------------------- -- Step 20 -- Break multistring into edges and start and end nodes -------------------------------------------------------------------------- int_counter := SDO_UTIL.GETNUMELEM(sdo_input); ary_edges.EXTEND(int_counter); ary_starts.EXTEND(int_counter); ary_ends.EXTEND(int_counter); FOR i IN 1 .. int_counter LOOP ary_edges(i) := SDO_UTIL.EXTRACT(sdo_input,i); ary_starts(i) := get_start_point(ary_edges(i)); ary_ends(i) := get_end_point(ary_edges(i)); END LOOP; -------------------------------------------------------------------------- -- Step 30 -- Determine the closest endpoints -------------------------------------------------------------------------- ary_nearest.EXTEND(int_counter); ary_distance.EXTEND(int_counter); FOR i IN 1 .. int_counter LOOP num_nearest := NULL; int_winner := NULL; FOR j IN 1 .. int_counter LOOP IF j != i THEN num_temp := SDO_GEOM.SDO_DISTANCE( ary_edges(i) ,ary_edges(j) ,num_tolerance ); IF num_nearest IS NULL OR num_temp < num_nearest THEN num_nearest := num_temp; int_winner := j; END IF; END IF; END LOOP; ary_nearest(i) := int_winner; ary_distance(i) := num_nearest; END LOOP; -------------------------------------------------------------------------- -- Step 40 -- Find the smallest gap -------------------------------------------------------------------------- int_winner := NULL; num_nearest := NULL; FOR i IN 1 .. int_counter LOOP IF num_nearest IS NULL OR ary_distance(i) < num_nearest THEN int_winner := i; num_nearest := ary_distance(i); int_winner2 := ary_nearest(i); END IF; END LOOP; -------------------------------------------------------------------------- -- Step 50 -- Determine the endpoints to connect -------------------------------------------------------------------------- num_one := SDO_GEOM.SDO_DISTANCE( get_start_point(ary_edges(int_winner)), ary_edges(int_winner2), num_tolerance ); num_two := SDO_GEOM.SDO_DISTANCE( get_end_point(ary_edges(int_winner)), ary_edges(int_winner2), num_tolerance ); IF ( num_one = 0 AND SDO_GEOM.RELATE( get_start_point(ary_edges(int_winner)), 'ANYINTERACT', ary_edges(int_winner2), num_tolerance ) = 'TRUE' ) OR ( num_two = 0 AND SDO_GEOM.RELATE( get_end_point(ary_edges(int_winner)), 'ANYINTERACT', ary_edges(int_winner2), num_tolerance ) = 'TRUE' ) THEN sdo_point1 := NULL; ELSIF num_one < num_two THEN sdo_point1 := get_start_point(ary_edges(int_winner)); ELSE sdo_point1 := get_end_point(ary_edges(int_winner)); END IF; num_one := SDO_GEOM.SDO_DISTANCE( get_start_point(ary_edges(int_winner2)), ary_edges(int_winner), num_tolerance ); num_two := SDO_GEOM.SDO_DISTANCE( get_end_point(ary_edges(int_winner2)), ary_edges(int_winner), num_tolerance ); IF ( num_one = 0 AND SDO_GEOM.RELATE( get_start_point(ary_edges(int_winner2)), 'ANYINTERACT', ary_edges(int_winner), num_tolerance ) = 'TRUE' ) OR ( num_two = 0 AND SDO_GEOM.RELATE( get_end_point(ary_edges(int_winner2)), 'ANYINTERACT', ary_edges(int_winner), num_tolerance ) = 'TRUE' ) THEN sdo_point2 := NULL; ELSIF num_one < num_two THEN sdo_point2 := get_start_point(ary_edges(int_winner2)); ELSE sdo_point2 := get_end_point(ary_edges(int_winner2)); END IF; -------------------------------------------------------------------------- -- Step 50 -- Smash together -------------------------------------------------------------------------- IF sdo_point1 IS NULL OR sdo_point2 IS NULL THEN sdo_input := SDO_UTIL.CONCAT_LINES( ary_edges(int_winner), ary_edges(int_winner2) ); ELSE sdo_input := SDO_UTIL.CONCAT_LINES( SDO_UTIL.CONCAT_LINES( ary_edges(int_winner), points2segment(sdo_point1,sdo_point2) ), ary_edges(int_winner2) ); END IF; boo_done := TRUE; FOR i IN 1 .. int_counter LOOP IF i NOT IN (int_winner,int_winner2) THEN sdo_input := SDO_UTIL.APPEND(sdo_input,ary_edges(i)); boo_done := FALSE; END IF; END LOOP; -------------------------------------------------------------------------- -- Step 60 -- Check if valid if returning -------------------------------------------------------------------------- IF sdo_input.get_gtype() = 2 OR boo_done = TRUE THEN RETURN sdo_input; END IF; int_looper := int_looper + 1; GOTO TOP_OF_IT; END linear_gap_filler; END dz_gap_fill; -
Our IT Department has just installed FM9.0p237 on a new machine running vista. I can't convert it to a table of command under the drop-down Table! Help for FM9 shows you convert text to a table in the same way as FM8. I really need this feature. I asked a reinstall but they tend to move at speeds of glaical! Someone else has run into this problem or a solution? I build unstructured documents.
Thank you
Stu
View > menu > full. Quick menu option is in effect, or maybe there's a custom menu configuration file assets, instead of the standard default value of FM.
For more information, search for it in the quick menus FM help and follow the section Customizing (Windows) for the document framework for customization of PDF products.
HTH
Kind regards
Peter gold
Know-how ProServices
-
When I tried to start the desktop computer with Windows XP operating system, I get the message "olecnv.dll is possibly corrupt. ' the checksum of header not the checksum calculated. the screen will not forward.
Please advise to Prime the system.
Udaya
If the olecnv32.dll file is corrupted, you will see an error like this:
STOP: c0000221 {Bad Image Checksum}
Olecnv32.dll image is possibly corrupt. The header checksum does not match the checksum calculated.Curiously, if the file is completely absent or has a length of zero byte XP will start just fine without it.
Given that it is one of 3498 files Windows File Protection deals with, it must be another copy of the file on your system is the dllcache folder.
As Wunders says you can make a Hiren boot CD and Mini XP mode, see if you can find a copy of the file in one of these folders (assuming that XP is installed on your C drive):
c:windows\system32\dllcache
c:\windows\ServicePackFiles\i386If you can find a copy, rename your a suspect and replace it with the copy and see what things look like.
If you can't find a copy, there is one on my SkyDrive, you can download and network disks to the system afflicted by using a Flash DRIVE or a floppy disk. You should always use Hiren for this method.
If that all sounds complicated to and you do not have a genuine XP installation CD bootable from where you can start in the XP Recovery Console, you can create a bootable XP Recovery CD of Console and see if you can replace the file from there to the replace. I can send you instructions if you need to know how to do this.
I hear Support Engineer "experts" hired by Microsoft, which suggests that you run sfc/scannow to replace the file missing, but that won't work because this is what sfc/scannow does, this isn't how it works and it's not what it is for. I know that it does not replace the file because I tried.
If you need to download the file, here's how:
I downloaded a copy of XP Pro SP3 file you need on my SkyDrive (everyone has a SkyDrive for file sharing).
You can download it and when you do, place a copy of the file in these folders (assuming that Windows is installed on your C drive):
c:\Windows\System32
c:\Windows\System32\dllcache (this is where XP keeps backups of important files).Here is the link to my SkyDrive and you can get the file you need here:
https://SkyDrive.live.com/?CID=6a7e789cab1d6f39&ID=6A7E789CAB1D6F39! 311
When you see the files available for download, you can not see the file extension (.exe, .dll, .cpl, .sys, .zip, etc.), but when download you them they will have the right extension.
When you download the file (especially if you use Internet Explorer), when you get a chance to save the file, your browser is unable to save the file with an extension (by example, .exe, .dll, .cpl, .sys, .zip, etc) then you will need to manually add the extension appropriate to the file when you download the file before you save it.
You can download the file without the extension, and then rename the file to add the appropriate extension. You do not want to use a file called olecnv32 when the name of the file should really be called olecnv32.dll (if the downloaded file has no extension, you will need to change the name of the file to add the appropriate extension to make it work.
You then put the downloaded files in the correct folders on your system.
-
Just changed Safari on my imac. When you use the search menu in safari, I had the opportunity to "find in this page" which has been an incredible help while doing research and looking for specific words/phrases. Is it possible to have this feature using firefox?
I think that Safari has the same keyboard shortcut in Firefox 'cmd + F' on a Mac or a 'Ctrl + F' on Windows.
Look in the lower left corner to find. There are more likely to be next and previous differences in keyboard shortcuts, but continuing in the search bar at the bottom no matter what browser you use. It is an 'X' to reject the search bar. In Windows, the "Esc" key will reject the bar if you are in the search text entry box.
Keyboard shortcuts:
- Keyboard shortcuts | How | Help Firefox, Mozilla very limited number of shortcuts but will show correctly for your system
- Firefox and other shortcuts of the browser (comparison chart), more substantial, but is oriented Windows users with a few guidelines for Mac and Linux users.
Please mark "resolved" a response that will better help others with a similar problem - hope it was her.
-
I use a laptop and move between two locations each with its own printer. Whenever I move, I have to change the default printer by opening printers & faxes from the control panel. Is it possible to have windows to automatically select a spare printer by default when the selected default printer is off line?
Hi Tom,
If the default printer is not in offline mode, it will detect the different printer but it will not be a default one.
-
Mr President.
I create a form based on two tables that have sequences also. When I create insert only row is inserted in the fields in table first and second fields of the table are empty. Why?
the page source is
<?xml version='1.0' encoding='UTF-8'?> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:af="http://xmlns.oracle.com/adf/faces/rich" xmlns:f="http://java.sun.com/jsf/core"> <af:panelFormLayout id="pfl1"> <af:group id="Group"> <af:inputText value="#{bindings.VoucherId.inputValue}" label="#{bindings.VoucherId.hints.label}" required="#{bindings.VoucherId.hints.mandatory}" columns="#{bindings.VoucherId.hints.displayWidth}" maximumLength="#{bindings.VoucherId.hints.precision}" shortDesc="#{bindings.VoucherId.hints.tooltip}" id="it1"> <f:validator binding="#{bindings.VoucherId.validator}"/> <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId.format}"/> </af:inputText> <af:inputDate value="#{bindings.VoucherDate.inputValue}" label="#{bindings.VoucherDate.hints.label}" required="#{bindings.VoucherDate.hints.mandatory}" columns="#{bindings.VoucherDate.hints.displayWidth}" shortDesc="#{bindings.VoucherDate.hints.tooltip}" id="id1"> <f:validator binding="#{bindings.VoucherDate.validator}"/> <af:convertDateTime pattern="#{bindings.VoucherDate.format}"/> </af:inputDate> <af:inputText value="#{bindings.Credit.inputValue}" label="#{bindings.Credit.hints.label}" required="#{bindings.Credit.hints.mandatory}" columns="#{bindings.Credit.hints.displayWidth}" maximumLength="#{bindings.Credit.hints.precision}" shortDesc="#{bindings.Credit.hints.tooltip}" id="it2"> <f:validator binding="#{bindings.Credit.validator}"/> </af:inputText> </af:group> <af:group id="g1"> <af:inputText value="#{bindings.Lineitem.inputValue}" label="#{bindings.Lineitem.hints.label}" required="#{bindings.Lineitem.hints.mandatory}" columns="#{bindings.Lineitem.hints.displayWidth}" maximumLength="#{bindings.Lineitem.hints.precision}" shortDesc="#{bindings.Lineitem.hints.tooltip}" id="it3"> <f:validator binding="#{bindings.Lineitem.validator}"/> <af:convertNumber groupingUsed="false" pattern="#{bindings.Lineitem.format}"/> </af:inputText> <af:inputText value="#{bindings.VoucherId1.inputValue}" label="#{bindings.VoucherId1.hints.label}" required="#{bindings.VoucherId1.hints.mandatory}" columns="#{bindings.VoucherId1.hints.displayWidth}" maximumLength="#{bindings.VoucherId1.hints.precision}" shortDesc="#{bindings.VoucherId1.hints.tooltip}" id="it4"> <f:validator binding="#{bindings.VoucherId1.validator}"/> <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId1.format}"/> </af:inputText> <af:inputText value="#{bindings.Debit.inputValue}" label="#{bindings.Debit.hints.label}" required="#{bindings.Debit.hints.mandatory}" columns="#{bindings.Debit.hints.displayWidth}" maximumLength="#{bindings.Debit.hints.precision}" shortDesc="#{bindings.Debit.hints.tooltip}" id="it5"> <f:validator binding="#{bindings.Debit.validator}"/> </af:inputText> <af:inputText value="#{bindings.Credit1.inputValue}" label="#{bindings.Credit1.hints.label}" required="#{bindings.Credit1.hints.mandatory}" columns="#{bindings.Credit1.hints.displayWidth}" maximumLength="#{bindings.Credit1.hints.precision}" shortDesc="#{bindings.Credit1.hints.tooltip}" id="it6"> <f:validator binding="#{bindings.Credit1.validator}"/> </af:inputText> <af:inputText value="#{bindings.Particulars.inputValue}" label="#{bindings.Particulars.hints.label}" required="#{bindings.Particulars.hints.mandatory}" columns="#{bindings.Particulars.hints.displayWidth}" maximumLength="#{bindings.Particulars.hints.precision}" shortDesc="#{bindings.Particulars.hints.tooltip}" id="it7"> <f:validator binding="#{bindings.Particulars.validator}"/> </af:inputText> <af:inputText value="#{bindings.Amount.inputValue}" label="#{bindings.Amount.hints.label}" required="#{bindings.Amount.hints.mandatory}" columns="#{bindings.Amount.hints.displayWidth}" maximumLength="#{bindings.Amount.hints.precision}" shortDesc="#{bindings.Amount.hints.tooltip}" id="it8"> <f:validator binding="#{bindings.Amount.validator}"/> <af:convertNumber groupingUsed="false" pattern="#{bindings.Amount.format}"/> </af:inputText> </af:group> <f:facet name="footer"> <af:button text="Submit" id="b1"/> <af:button actionListener="#{bindings.CreateInsert.execute}" text="CreateInsert" disabled="#{!bindings.CreateInsert.enabled}" id="b2"/> <af:button actionListener="#{bindings.Commit.execute}" text="Commit" disabled="#{!bindings.Commit.enabled}" id="b3"/> <af:button actionListener="#{bindings.Rollback.execute}" text="Rollback" disabled="#{!bindings.Rollback.enabled}" immediate="true" id="b4"> <af:resetActionListener/> </af:button> </f:facet> </af:panelFormLayout> </ui:composition>
Concerning
Go to your VO Wizard, select the tab of the entity and to check if both the EO is editable or not.
See you soon
AJ
-
I get an error message of complete storage - please backup and remove your something online (can not see the full error message) when converting PDF reader to point rower inacrobat DC. Help, please
Hi debg25514049,
You will not be able to export your PDF to PPT using the service Adobe export in PDF format.
You'll need subscription to pack Adobe PDF or the Acrobat application to convert PDF to PPT.
Kind regards
Nicos -
How to make a table header row to repeat when the table extends to another page?
I have a table that breaks (spans) on another page. I want that line of table headers to repeat (as in Word).
If the header line is a true header row, it repeats automatically.
To add a header row:
- On the table menu, select add rows or columns.
- Select Add 1 rank.
- Select this option for the title.
- Click on Add.
- Remove the false header line.
-
Is it possible to have more than 25 feet (table rows) of a table?
Is it possible to have more than 25 feet (table rows) of a table?
I think the tables inside a more large nesting table might work for you.
@ Eugene, very intelligent...
Maybe you are looking for
-
When I press the letter A while an email is highlighted it disappears, he disappeared?
I've highlighted an email in thunderbird to read and inadvertently I have his letter A (I think, unless it was the letter R) and electronic mail has disappeared and it is not in the Recycle Bin. Where is she at? Thank youEvan
-
Why Apple Pages, Numbers and Keynote keep reinstalling themselves on my iPad mini 4?
I continue to delete these apps, and they spontaneously keep redownloading themselves. I know there are a few feature/setting somewhere that tells your iDevices to download the same apps you get on other devices, but I don't think I have that optio
-
Hello! I seem to have a problem with connecting to Skype with my microsoft account. My pc seems to have updated to the new version of Skype by itself, in tools it said: it is 6.21.0.104 This window offers only to connect with a Skype name, but no acc
-
Replicator port and WQHD resolution
Hello I have a Lenovo ThinkPad Port Replicator Series 3 with USB 3.0 (433615W), with my Thinkpad t431s. I wonder if this port replicator support WQHD outdoor screens. the user guide for this port replicator and Overview do not say whether this duplic
-
what he