More about shadow and iWebImage.js

I finally bit the bullet and converted all of the shadowed irregularly shaped images on my sites to PNGs using the iWeb-to-Preview-to-iWeb trick, but decided to leave rectangular images as-is, relying instead on iWeb's javascript mechanism to draw the shadows.  Of course, this doesn't work in all browsers, so I ventured into iWebImage.js to make some browser specific changes.  Current versions of Chrome are a particular problem, as there is a problem with shadows drawn to canvases, which is exactly what iWeb does to render its shadows.
Cyclosaurus has made a number of browser specific changes to IWShadow that use box-shadow instead of canvases to create shadows on rectangular images, with the added bonus of drawing shadows around objects inside picture frames and text edit objects.  Works really great, though I think I may have uncovered a bug.
When IWShadow is called, the script modification retries a list of all the 'div' elements on the page, then walks through those divs applying box-shadow to each object that is to include a shadow.  However, if a page contains multiple shadowed objects, it will walk the complete div list for each of those objects, applying the shadow settings for that object to each of the 'shadow_' objects it finds.  This results in shadows being applied multiple times, using unintended attributes, to each object that is to be shadowed.  With one or two objects it's not very noticable, but where a page has five or six shadowed objects, or objects with different colors, it's pretty noticable.
I'll see what I can do to further customize the script to process one object at a time — unless Cyclosaurus wants to beat me to it. 

'll see what I can do to further customize the script to process one object at a time
that's what prototype .each() method suppose to do.
though I think I may have uncovered a bug
yes, it seems to be a bug, kept repeating the process when processing other div element. i think it's timing issue, i reported the problem to prototype people.
When IWShadow is called, the script modification retries a list of all the 'div' elements on the page, then walks through those divs applying box-shadow to each object that is to include a shadow.  However, if a page contains multiple shadowed objects, it will walk the complete div list... it's pretty noticable.
that can be solved by conditionally check for box-shadow in style attribute, and not adding addition div when box-shadow is detected.
i tested with safari, chrome and firefox and the results:
1) safari can render shadow effect in both rectangular shape and other shapes.
2) firefox can render rectangular shape but not other shape, such as oval.
3) chrome can't render shadow blur and opacity, make it a moot point.
so, if you mainly want to render shadow in rectangular shape the you need to detect chrome and tell it to use webkit box-shadow.
btw, chrome detecion is not in original iwebsite.js. i added to my iwebsite.js so grab that if you like, there is a bonus in my iwebsite.js is that it has the latest prototype.js library.
here are my examples, rendering in chrome is with box-shadow:
http://temp.cyclosaurus.com/revolving/WebkitBoxShadow.html
http://localhost/~hacle/experimental/revolving/Photos.html

Similar Messages

  • Considering FileVault usage on an iMac with OSX 10.6.7. Wanting to know more about strengths and weaknesses of Filevault with Time Machine, Parallels and Carbon Copy Cloner. Any negatives to consider before flipping the switch?

    I'm considering FileVault usage on an iMac with OSX 10.6.7. Wanting to know more about strengths and weaknesses of Filevault with Time Machine, Parallels and Carbon Copy Cloner. Any negatives to consider before flipping the switch? Any information ?
    Would specifically like to know:
    Filevault impact on performance and application usability.
    TIme machine impacts, and whether TIme Machine volume will also be secure?
    Will a Cloned copy made with CCC be  bootable, or usable?
    Any other negatives to consider before turning this thing on?
    Thanks,

    Filevault impact on performance and application usability.
    FileVault encrypts the user's home directory only - it is basically an encrypted disk image that is automatically opened when you log in and closed when you log out. It does cause disk accesses to be a bit slower so it isn't a good idea to use an encrypted account with sound or video or large graphics files. I have no experience with it with Parallels Desktop but suspect that you'd notice a bit of a slowdown. Note: in the User's directory you'll see a Shared Folder. Since FV only encrypts the user's directory you can put data you don't need encrypted in this shared folder which won't be encrypted.
    TIme machine impacts, and whether TIme Machine volume will also be secure?
    There are issues with TM and FV but how extensive they are with Snow Leopard I can't say, once I realized that TM and FV hadn't substantially changed between 10.5 and 10.6 I stopped dealing with it. When FV and TM were first introduced my testing led me to recommend using CCC or SuperDuper! for backing up.
    Will a Cloned copy made with CCC be  bootable, or usable?
    Yes
    Any other negatives to consider before turning this thing on?
    Since FV is nothing more than a disk image - and disk images can fail - there are several problems with FV in my opinion. If an encrypted disk image fails it isn't possible to access any of that data. If you don't have a recent (undamaged) backup of the disk image and/or recent backup of the data within the disk image you are in a world of hurt. This isn't just a warning of possibility - this is a real danger that I've seen all too often at the shop where I have worked part time for a number of years.
    At this time I strongly recommend that people who have sensitive data keep that sensitive data segregated from their general data and encrypt only the sensitive data or use other methods of locking it down such as saving on an external drive that is kept in a safe. Call me paranoid but I don't even keep all my sensitive data in one encrypted disk image. I use multiple disk images and keep multiple sequential backups. That way I might someday find that my up-to-date investments disk image won't mount but (a) I can go back a week to a backup and (b) that won't impact my up-to-date business records because those are in a different disk image

  • Learn More About JQuary and Apex

    Hi Jari,
    i want to learn more about JQuary
    [http://actionet.homelinux.net/htmldb/f?p=100:90|http://actionet.homelinux.net/htmldb/f?p=100:90]
    i have seen that demo application, there are more features to learn more about apex ,could you please give me login details .
    i want to see how to use Code and JQuary in APEX.
    Thanks

    Hi Jari,
    when i run Packages_procedure then show me error
    URL Enclosed SQL length exceeds allowed 32k limit.
    CREATE OR REPLACE PACKAGE "CSV_UTIL"
    as
    By Oleg Lihvoinen:
    Parse and de_quote procedures are taken from AskTom and modified
        type vcArray is table of varchar2(32767) index by binary_integer;
        g_words            vcArray;
        g_empty            vcArray;
        g_last_string    varchar2(32767); 
      procedure parse( p_str      in varchar2,
                       p_enc_by in varchar2,
                       p_sep   in varchar2 );
      procedure upload(p_file_name VARCHAR2, p_collection_name VARCHAR2, p_enc_by IN VARCHAR2, p_sep_by IN VARCHAR2, p_rows NUMBER);
      function de_quote( p_str in varchar2, 
                           p_enc_by in varchar2 )
        return varchar2;
    end;
      CREATE OR REPLACE PACKAGE BODY "CSV_UTIL"
    AS
       FUNCTION de_quote (p_str IN VARCHAR2, p_enc_by IN VARCHAR2)
          RETURN VARCHAR2
       IS
       v_str VARCHAR2(32767) := p_str;
       BEGIN
          IF (p_enc_by IS NULL)
          THEN
             RETURN p_str;
          ELSE
            IF SUBSTR(p_str,-1) = p_enc_by THEN
               v_str := SUBSTR(p_str,1,LENGTH(p_str)-1);
            END IF;
            IF SUBSTR(p_str,1,1) = p_enc_by THEN
               v_str := SUBSTR(v_str,2);
            END IF; 
            RETURN REPLACE (v_str,
                             p_enc_by || p_enc_by,
                             p_enc_by
          END IF;
       END de_quote;
       PROCEDURE parse (p_str IN VARCHAR2, p_enc_by IN VARCHAR2, p_sep IN VARCHAR2)
       IS
          l_n          NUMBER   DEFAULT 1;
          l_in_quote   BOOLEAN  DEFAULT FALSE;
          l_ch         NCHAR (1);
          l_len        NUMBER   DEFAULT NVL (LENGTH (p_str), 0);
       BEGIN
          IF (l_len = 0)
          THEN
             RETURN;
          END IF;
          g_words := g_empty;
          g_words (1) := NULL;
          FOR i IN 1 .. l_len
          LOOP
             l_ch := SUBSTR (p_str, i, 1);
             IF (l_ch = p_enc_by)
             THEN
                l_in_quote := NOT l_in_quote;
             END IF;
             IF (l_ch = p_sep AND NOT l_in_quote)
             THEN
                l_n := l_n + 1;
                g_words (l_n) := NULL;
             ELSE
                g_words (l_n) := g_words (l_n) || l_ch;
             END IF;
          END LOOP;
          g_words (l_n) := de_quote (g_words (l_n), CHR(10));
          g_words (l_n) := de_quote (g_words (l_n), CHR(13));
          FOR i IN 1 .. l_n
          LOOP
             g_words (i) := de_quote (g_words (i), p_enc_by);
          END LOOP;
       END parse;
    Author: Oleg Lihvoinen
    Company: DbSWH
       PROCEDURE upload (p_file_name VARCHAR2, p_collection_name VARCHAR2, p_enc_by IN VARCHAR2, p_sep_by IN VARCHAR2, p_rows NUMBER)
       IS
          v_blob_data    BLOB;
          v_clob_data    CLOB;
          v_clob_len     NUMBER;
          v_position     NUMBER;
          v_char         NCHAR (1);
          c_chunk_len    NUMBER           := 1;
          v_line         VARCHAR2 (32767) := NULL;
          v_data_array   vcarray;
          v_rows         NUMBER           := 0;
          n_seq          NUMBER           := 1;
          dest_offset    NUMBER           := 1;
          src_offset     NUMBER           := 1;
          amount         INTEGER          := DBMS_LOB.lobmaxsize;
          blob_csid      NUMBER           := DBMS_LOB.default_csid;
          lang_ctx       INTEGER          := DBMS_LOB.default_lang_ctx;
          warning        INTEGER;
          l_sep          VARCHAR2(100)    := CASE WHEN p_sep_by = '\t' THEN chr(9) ELSE p_sep_by END;
       BEGIN
          htmldb_collection.create_or_truncate_collection
                                          (p_collection_name      => p_collection_name);
          -- Read blob from wwv_flow_files
          SELECT blob_content
            INTO v_blob_data
            FROM wwv_flow_files
           WHERE NAME = p_file_name;
          v_position := 1;
          DBMS_LOB.createtemporary (lob_loc      => v_clob_data,
                                    CACHE        => TRUE,
                                    dur          => DBMS_LOB.SESSION
          DBMS_LOB.converttoclob (v_clob_data,
                                  v_blob_data,
                                  amount,
                                  dest_offset,
                                  src_offset,
                                  blob_csid,
                                  lang_ctx,
                                  warning
          v_clob_len := DBMS_LOB.getlength (v_clob_data);
          IF v_clob_len = 0 THEN
             RETURN;
          END IF;
          WHILE (v_position <= v_clob_len)
          LOOP
             v_char := DBMS_LOB.SUBSTR (v_clob_data, c_chunk_len, v_position);
             v_line := v_line || v_char;
             v_position := v_position + c_chunk_len;
             -- When the whole line is retrieved and not end of file or end of file
             IF v_char = CHR (10) AND v_position < v_clob_len OR v_position = v_clob_len
             THEN
                parse (p_str => v_line, p_enc_by => p_enc_by, p_sep => l_sep);
                v_data_array := g_words;
                FOR i IN 1..g_words.count LOOP
                   IF i <= 50 THEN
                      v_data_array(i) := g_words(i);
                   ELSE
                      exit;
                   END IF;
                END LOOP;
                FOR i IN g_words.count + 1..50 LOOP
                   v_data_array(i) := null;
                END LOOP;           
                v_rows := v_rows + 1;
                -- exit if uploaded specified number of rows
                IF p_rows IS NOT NULL AND v_rows > p_rows THEN
                   EXIT;
                END IF;
                -- Store data to collection
                n_seq :=
                   htmldb_collection.add_member
                                         (p_collection_name      => p_collection_name,
                                          p_c001                 => v_data_array
                                                                               (1),
                                          p_c002                 => v_data_array
                                                                               (2),
                                          p_c003                 => v_data_array
                                                                               (3),
                                          p_c004                 => v_data_array
                                                                               (4),
                                          p_c005                 => v_data_array
                                                                               (5),
                                          p_c006                 => v_data_array
                                                                               (6),
                                          p_c007                 => v_data_array
                                                                               (7),
                                          p_c008                 => v_data_array
                                                                               (8),
                                          p_c009                 => v_data_array
                                                                               (9),
                                          p_c010                 => v_data_array
                                                                               (10),
                                          p_c011                 => v_data_array
                                                                               (11),
                                          p_c012                 => v_data_array
                                                                               (12),
                                          p_c013                 => v_data_array
                                                                               (13),
                                          p_c014                 => v_data_array
                                                                               (14),
                                          p_c015                 => v_data_array
                                                                               (15),
                                          p_c016                 => v_data_array
                                                                               (16),
                                          p_c017                 => v_data_array
                                                                               (17),
                                          p_c018                 => v_data_array
                                                                               (18),
                                          p_c019                 => v_data_array
                                                                               (19),
                                          p_c020                 => v_data_array
                                                                               (20),
                                          p_c021                 => v_data_array
                                                                               (21),
                                          p_c022                 => v_data_array
                                                                               (22),
                                          p_c023                 => v_data_array
                                                                               (23),
                                          p_c024                 => v_data_array
                                                                               (24),
                                          p_c025                 => v_data_array
                                                                               (25),
                                          p_c026                 => v_data_array
                                                                               (26),
                                          p_c027                 => v_data_array
                                                                               (27),
                                          p_c028                 => v_data_array
                                                                               (28),
                                          p_c029                 => v_data_array
                                                                               (29),
                                          p_c030                 => v_data_array
                                                                               (30),
                                          p_c031                 => v_data_array
                                                                               (31),
                                          p_c032                 => v_data_array
                                                                               (32),
                                          p_c033                 => v_data_array
                                                                               (33),
                                          p_c034                 => v_data_array
                                                                               (34),
                                          p_c035                 => v_data_array
                                                                               (35),
                                          p_c036                 => v_data_array
                                                                               (36),
                                          p_c037                 => v_data_array
                                                                               (37),
                                          p_c038                 => v_data_array
                                                                               (38),
                                          p_c039                 => v_data_array
                                                                               (39),
                                          p_c040                 => v_data_array
                                                                               (40),
                                          p_c041                 => v_data_array
                                                                               (41),
                                          p_c042                 => v_data_array
                                                                               (42),
                                          p_c043                 => v_data_array
                                                                               (43),
                                          p_c044                 => v_data_array
                                                                               (44),
                                          p_c045                 => v_data_array
                                                                               (45),
                                          p_c046                 => v_data_array
                                                                               (46),
                                          p_c047                 => v_data_array
                                                                               (47),
                                          p_c048                 => v_data_array
                                                                               (48),
                                          p_c049                 => v_data_array
                                                                               (49),
                                          p_c050                 => v_data_array
                                                                               (50)                                                                          
                -- Clear the line
                v_line := NULL;
             END IF;
          END LOOP;
       END;
    END;
    This package is from AskTom web site.
    Modified a bit.
      CREATE OR REPLACE PACKAGE "OLS_PRINT_SYLK_FORMAT" as
      type owaSylkArray is table of varchar2(2000);
      procedure show(
          p_query         in varchar2,
          p_parm_names    in owaSylkArray default owaSylkArray(),
          p_parm_values   in owaSylkArray default owaSylkArray(),
          p_sum_column    in owaSylkArray default owaSylkArray(),
          p_max_rows      in number     default 10000,
          p_show_null_as  in varchar2   default null,
          p_show_grid     in varchar2   default 'YES',
          p_show_col_headers in varchar2 default 'YES',
          p_font_name     in varchar2   default 'Courier New',
          p_widths        in owaSylkArray default owaSylkArray(),
          p_titles        in owaSylkArray default owaSylkArray(),
          p_strip_html    in varchar2   default 'YES' );
      procedure show(
          p_cursor        in integer,
          p_sum_column    in owaSylkArray  default owaSylkArray(),
          p_max_rows      in number     default 10000,
          p_show_null_as  in varchar2   default null,
          p_show_grid     in varchar2   default 'YES',
          p_show_col_headers in varchar2 default 'YES',
          p_font_name     in varchar2   default 'Courier New',
          p_widths        in owaSylkArray default owaSylkArray(),
          p_titles        in owaSylkArray default owaSylkArray(),
          p_strip_html    in varchar2   default 'YES' );
      PROCEDURE get_usable_sql (p_sql_in IN VARCHAR2, p_sql_out OUT VARCHAR2);
    end ols_print_sylk_format;
      CREATE OR REPLACE PACKAGE BODY "OLS_PRINT_SYLK_FORMAT" as
      g_cvalue  varchar2(32767);
      g_desc_t dbms_sql.desc_tab2;
      type vc_arr is table of varchar2(2000) index by binary_integer;
      g_lengths vc_arr;
      g_sums vc_arr;
      procedure p( p_str in varchar2 )
      is
      len NUMBER;
      begin
        htp.p(p_str);
        --dbms_output.put_line(p_str);
      exception
        when others then null;
      end;
      function build_cursor(
          q in varchar2,
          n in owaSylkArray,
          v in owaSylkArray ) return integer is
        c integer := dbms_sql.open_cursor;
        i number := 1;
      begin
        dbms_sql.parse (c, q, dbms_sql.native);
        loop
          dbms_sql.bind_variable( c, n(i), v(i) );
          i := i + 1;
        end loop;
        return c;
      exception
        when others then
          return c;
      end build_cursor;
      function str_html ( line in varchar2 ) return varchar2 is
        x       varchar2(32767) := null;
        in_html boolean         := FALSE;
        s       varchar2(3);
      begin
        if line is null then
          return line;
        end if;
        for i in 1 .. length( line ) loop
          s := substr( line, i, 1 );
          if in_html then
            if s = '>' then
              in_html := FALSE;
            end if;
          else
            if s = '<' then
              in_html := TRUE;
            end if;
          end if;
          if not in_html and s != '>' then
            x := x || s;
          end if;
        end loop;
        return x;
      end str_html;
      function ite( b boolean,
                    t varchar2,
                    f varchar2 ) return varchar2 is
      begin
        if b then
          return t;
        else
          return f;
        end if;
      end ite;
      procedure print_comment( p_comment varchar2 ) is
      begin
        return;
        p( ';' || chr(10) || '; ' || p_comment || chr(10) || ';' );
      end print_comment;
      procedure print_heading( font in varchar2,
                               grid in varchar2,
                               col_heading in varchar2,
                               titles in owaSylkArray )
      is
        l_title varchar2(2000);
      begin
        p( 'ID;DBSWHWEBSHOP' );
        print_comment( 'Fonts' );
        p( 'P;F' || font || ';M200' );
        p( 'P;F' || font || ';M200;SB' );
        p( 'P;F' || font || ';M200;SUB' );
        print_comment( 'Global Formatting' );
        --p( 'F;C1;FG0R;SM1' ||
        p( 'F;C1;FG0L;SM0' ||
               ite( upper(grid)='YES', '', ';G' ) ||
               ite( upper(col_heading)='YES', '', ';H' )  );
        for i in 1 .. g_desc_t.count loop
          --p( 'F;C' || to_char(i+1) || ';FG0R;SM0' );
          p( 'F;C' || to_char(i+1) || ';FG0L;SM0' );
        end loop;
        print_comment( 'Title Row' );
        p( 'F;R1;FG0C;SM2' );
        for i in 1 .. g_desc_t.count loop
          g_lengths(i) := g_desc_t(i).col_name_len;
          g_sums(i) := 0;
          begin
            l_title := titles(i);
          exception
            when others then
              l_title := g_desc_t(i).col_name;
          end;
          if i = 1 then
            --p( 'C;Y1;X2;K"' || l_title || '"' );
            p( 'C;Y1;X1;K"' || l_title || '"' );
          else
            --p( 'C;X' || to_char(i+1) || ';K"' || l_title || '"' );
            p( 'C;X' || to_char(i) || ';K"' || l_title || '"' );
          end if;
        end loop;
      end print_heading;
      function print_rows(
          c            in integer,
          max_rows     in number,
          sum_columns  in owaSylkArray,
          show_null_as in varchar2,
          strip_html   in varchar2 ) return number is
        row_cnt number          := 0;
        line    varchar2(32767) := null;
        n       number;
      begin
        loop
          exit when ( row_cnt >= max_rows or
                      dbms_sql.fetch_rows( c ) <= 0 );
          row_cnt := row_cnt + 1;
          print_comment( 'Row ' || row_cnt );
          p( 'C;Y' || to_char(row_cnt+1) );
          for i in 1 .. g_desc_t.count loop
            dbms_sql.column_value( c, i, g_cvalue );
            g_cvalue := trim( both chr(10) from g_cvalue );
            g_cvalue := trim( both chr(13) from g_cvalue );       
            g_cvalue := translate( g_cvalue,
                                chr(13)||chr(10)||chr(9)||';', '    ' );
            g_cvalue := ite( upper( strip_html ) = 'YES',
                                 str_html( g_cvalue ),
                                 g_cvalue );
            g_lengths(i) := greatest( nvl(length(g_cvalue),
                                      nvl(length(show_null_as),0)),
                                      g_lengths(i) );
            line := 'C;X' || to_char(i);
            line := line || ';K';
            begin
              n := to_number( g_cvalue );
              if upper( sum_columns(i)) = 'Y' then
                g_sums(i) := g_sums(i) + nvl(n,0);
              end if;
            exception
              when others then
                n := null;
            end;
            line := line ||
                     ite( n is null,
                          ite( g_cvalue is null,
                                   '"'||show_null_as||
                                      '"', '"'||g_cvalue||'"' ),
                                 n );
            p( line );
          end loop;
        end loop;
        return row_cnt;
      end print_rows;
      procedure print_sums(
          sum_columns  in owaSylkArray,
          row_cnt      in number ) is
      begin
        if sum_columns.count = 0 then
          return;
        end if;
        print_comment( 'Totals Row' );
        p( 'C;Y' || to_char(row_cnt + 4) );
        p( 'C;X1;K"Totals:"' );
        for i in 1 .. g_desc_t.count loop
          begin
            if upper(sum_columns(i)) = 'Y' then
              p( 'C;X' || to_char(i+1) || ';ESUM(R3C:R' ||
                      to_char(row_cnt+2) || 'C)' );
            end if;
          exception
            when others then
              null;
          end;
        end loop;
      end print_sums;
      procedure print_widths( widths owaSylkArray ) is
      begin
        print_comment( 'Format Column Widths' );
        --p( 'F;W1 1 7' );
        for i in 1 .. g_desc_t.count loop
          begin
            --p( 'F;W' || to_char(i+1) || ' ' ||
                --to_char(i+1) || ' ' ||
            p( 'F;W' || to_char(i) || ' ' ||
                to_char(i) || ' ' ||
                to_char(to_number(widths(i))) );
          exception
            when others then
              --p( 'F;W' || to_char(i+1) || ' ' ||
                   --to_char(i+1) || ' ' ||
              p( 'F;W' || to_char(i) || ' ' ||
                   to_char(i) || ' ' || 
                   greatest( g_lengths(i), length( g_sums(i) )));
          end;
        end loop;
        p( 'E' );
      end print_widths;
      procedure show(
          p_cursor        in integer,
          p_sum_column    in owaSylkArray default owaSylkArray(),
          p_max_rows      in number     default 10000,
          p_show_null_as  in varchar2   default null,
          p_show_grid     in varchar2   default 'YES',
          p_show_col_headers in varchar2 default 'YES',
          p_font_name     in varchar2   default 'Courier New',
          p_widths        in owaSylkArray default owaSylkArray(),
          p_titles        in owaSylkArray default owaSylkArray(),
          p_strip_html    in varchar2   default 'YES' ) is
        l_row_cnt number;
        l_col_cnt number;
        l_status  number;
      begin
        dbms_sql.describe_columns2( p_cursor, l_col_cnt, g_desc_t );
        for i in 1 .. g_desc_t.count loop
          dbms_sql.define_column( p_cursor, i, g_cvalue, 32765);
        end loop;
        print_heading( p_font_name,
                       p_show_grid,
                       p_show_col_headers,
                       p_titles );
        l_status := dbms_sql.execute( p_cursor );
        l_row_cnt := print_rows(
                       p_cursor,
                       p_max_rows,
                       p_sum_column,
                       p_show_null_as,
                       p_strip_html );
        print_sums( p_sum_column, l_row_cnt );
        print_widths( p_widths );
      end show;
      procedure show(
          p_query         in varchar2,
          p_parm_names    in owaSylkArray default owaSylkArray(),
          p_parm_values   in owaSylkArray default owaSylkArray(),
          p_sum_column    in owaSylkArray default owaSylkArray(),
          p_max_rows      in number     default 10000,
          p_show_null_as  in varchar2   default null,
          p_show_grid     in varchar2   default 'YES',
          p_show_col_headers in varchar2 default 'YES',
          p_font_name     in varchar2   default 'Courier New',
          p_widths        in owaSylkArray default owaSylkArray(),
          p_titles        in owaSylkArray default owaSylkArray(),
          p_strip_html    in varchar2   default 'YES' ) is
      begin
        show( p_cursor => build_cursor( p_query,
                                        p_parm_names,
                                        p_parm_values ),
              p_sum_column => p_sum_column,
              p_max_rows => p_max_rows,
              p_show_null_as => p_show_null_as,
              p_show_grid => p_show_grid,
              p_show_col_headers => p_show_col_headers,
              p_font_name => p_font_name,
              p_widths => p_widths,
              p_titles => p_titles,
              p_strip_html => p_strip_html );
      end show;
       PROCEDURE get_usable_sql (p_sql_in IN VARCHAR2, p_sql_out OUT VARCHAR2)
       IS
          v_sql      VARCHAR2 (32767);
          v_names    DBMS_SQL.varchar2_table;
          v_pos      NUMBER;
          v_length   NUMBER;
          v_exit     NUMBER;
       BEGIN
          v_sql := p_sql_in;
          v_names := wwv_flow_utilities.get_binds (v_sql);
          FOR i IN 1 .. v_names.COUNT
          LOOP
             <<do_it_again>>
             v_pos := INSTR (LOWER (v_sql), LOWER (v_names (i)));
             v_length := LENGTH (LOWER (v_names (i)));
             v_sql :=
                   SUBSTR (v_sql, 1, v_pos - 1)
                || v_names (i)
                || SUBSTR (v_sql, v_pos + v_length);
             v_sql :=
                REPLACE (v_sql,
                         UPPER (v_names (i)),
                            '(SELECT v('''
                         || LTRIM (v_names (i), ':')
                         || ''') FROM DUAL)'
             IF INSTR (LOWER (v_sql), LOWER (v_names (i))) > 0
             THEN
                GOTO do_it_again;
             END IF;
          END LOOP;
          p_sql_out := v_sql;
       END get_usable_sql;
    end ols_print_sylk_format;
      CREATE OR REPLACE PROCEDURE "PRINT_SYLK" AS
    v_region_sql VARCHAR2(32767);
    v_plug_source_type VARCHAR2(32767);
    v_filenm VARCHAR2(2000);
    l_cursor NUMBER := dbms_sql.open_cursor;
    BEGIN
         SELECT region_source, source_type
         INTO  v_region_sql, v_plug_source_type
         FROM  apex_application_page_regions
         WHERE region_id      = to_number(LTRIM(v('REGIONID'),   'R'))
         AND   page_id = v('APP_PAGE_ID');
      -- Apex 2.1 if v_plug_source_type like 'SQL%' then
      if v_plug_source_type like 'Report' then -- Apex 3.2.1
         ols_print_sylk_format.get_usable_sql(v_region_sql,   v_region_sql);
      else
         v_region_sql := upper(v_region_sql);
         v_region_sql := replace(v_region_sql,'BEGIN',' ');
         v_region_sql := replace(v_region_sql,'RETURN ',' ');
         v_region_sql := replace(v_region_sql,';',' ');
         v_region_sql := replace(v_region_sql,'END',' ');
         execute immediate 'select ' || v_region_sql ||
                           ' from dual ' into v_region_sql;
      end if;
      v_filenm := v('EXCELNAME') || '.xls';
      owa_util.mime_header('application/vnd.ms-excel',   FALSE);
       -- Set up HTTP header
      htp.p('Content-Disposition: attachment; filename="' || v_filenm || '"');
          -- Close the headers
       owa_util.http_header_close;
       dbms_sql.parse(l_cursor,   v_region_sql,   dbms_sql.native);
       ols_print_sylk_format.SHOW(p_cursor => l_cursor,   p_max_rows => 60000);
       dbms_sql.close_cursor(l_cursor);                               
       HTMLDB_APPLICATION.g_unrecoverable_error := TRUE;     
    END PRINT_SYLK;
    How can i remove it.
    Thanks

  • More about scanner and arrays

    hi, i have have a code that (thanks to uncle_alice) can count how many times word strings occur in a file. what i would like to do is for it to be able to look throught 48 files. Yesterday i was adviced to write Scanner sc = new Scanner(essay) instead of Scanner sc = new Scanner(new File("Mitt.java")) but i can't get this to work. when i try to compile it, it says "cannot find symbol, symbol : variable essay " . the file finding the strings looks like this:
    public class GetStrings
      public static void main(String... args) throws Exception
        Scanner sc = new Scanner(new File("Mitt.java"));
        Pattern p = Pattern.compile("\\b(\\w+)\\s+(?=(\\w+)\\s+(\\w+)\\b)");
        Map<String, Integer> counts = new TreeMap<String, Integer>();
        String idiom = null;
        int maxLen = 0;
        while (sc.findWithinHorizon(p, 0) != null) {
          MatchResult m = sc.match();
          idiom = m.group(1) + " " + m.group(2) + " " + m.group(3);
          if (counts.get(idiom) == null) {
            counts.put(idiom, 1); }
          else {
            counts.put(idiom, counts.get(idiom) + 1); }
          maxLen = idiom.length() > maxLen ? idiom.length() : maxLen;}
        String spec = "%-" + (maxLen + 2) + "s%d%n";
        for (String key : counts.keySet()) {
          System.out.printf(spec, key, counts.get(key)); }
    } and the code where i'll have the files:
    public class Mitt {
         public static void main(String[] args) {     
              File[] corpus = {
                   new File("Test.txt")}; //here is where i'll add the other 47 files
              for(int i = 0; i < corpus.length; i++) {
                   findIdioms(corpus, corpus);
    and it seems to be as easy as just writing the right name in
        Scanner sc = new Scanner(new File("where the right name should be"));but when i write "Mitt.java" after new File, i get the word strings in that document.
    Anyone who knows what should really be within brackets?
    Thank you in advance!

    yey!!! it worked! thank you so much!
    just one more question: these files have to have quite different names so i tried to change the part of the code
    File[] files = new File[48];
              for (int i = 0; i < files.length; i++) {
                   files[i] = new File("Test" + (i + 1) + ".txt"); //here
              }to
    File[] files = {
                   new File("Test.txt"),
                   new File("hi.txt") };
              for(int i = 0; i < corpus.length; i++) {
                   findIdioms(files, corpus);
    the thing is, it suddenly finds loads of things when i compile it. i'm inclined to belive that i've made a minor mistake and not the six it finds.
    here are the things it finds:
    Blandning3.java:18: <identifier> expected
    System.out.println(Arrays.toString(files));
    ^
    Blandning3.java:19: illegal start of type
    for (File f : files) {
    ^
    Blandning3.java:22: <identifier> expected
    ^
    Blandning3.java:24: 'class' or 'interface' expected
    private static void doStuffWithFile(File f) {
    ^
    Blandning3.java:59: 'class' or 'interface' expected
    ^
    Blandning3.java:59: 'class' or 'interface' expected
    and here are the lines in the code:
    public class Blandning3
         public static void main( String[] args ) {
              File[] files = {
                   new File("Test.txt"),
                   new File("hi.txt") };
              for(int i = 0; i < corpus.length; i++) {
                   findIdioms(files, corpus);
              System.out.println(Arrays.toString(files)); //this is line 18
              for (File f : files) { //this is line 19
                   doStuffWithFile(f);
         } //this is line 22
         private static void doStuffWithFile(File f) { //this is line 24
              try {
                   Scanner sc = new Scanner(f);
                   Pattern p = Pattern.compile("\\b(\\w+)\\s+(?=(\\w+)\\s+(\\w+)\\b)");
    Map<String, Integer> counts = new TreeMap<String, Integer>();
    String idiom = null;
    int maxLen = 0;
    while (sc.findWithinHorizon(p, 0) != null)
    MatchResult m = sc.match();
    idiom = m.group(1) + " " + m.group(2) + " " + m.group(3);
    if (counts.get(idiom) == null)
    counts.put(idiom, 1);
    else
    counts.put(idiom, counts.get(idiom) + 1);
    maxLen = idiom.length() > maxLen ? idiom.length() : maxLen;
    String spec = "%-" + (maxLen + 2) + "s%d%n";
    for (String key : counts.keySet())
    System.out.printf(spec, key, counts.get(key));
              } catch (FileNotFoundException e) {
                   System.err.println("File not found");
                   e.printStackTrace();
    } //this is line 59
    i've checked so that i didn't miss any braces. and i've tried to change a little here and there but my guess is that it's something early on that is the problem but i can't see what. anyone who knows?

  • The call library function require us to define the type of parameter that w are using.The type of parameter in cludes numeric, array, string,wav​eform and adapt to type.I would like to know more about waveform and adapt to type.

    In the labview manual, there is very little mention about the use of waveform.How is this waveform being called and can i have an example to see how this work.
    Also in the adapt to type paramete, what does this parameter do and in what circumstances do we need to use it.The manual say something about the use of this parametr.It says that scalar elements in arrays or clusters are in line.For example a cluster containing anumeric is passed as pointer to a structure containing a numeric. What does this statement mean?
    Can i imply t
    hat if my input is a struct, can i use a adapt to type parameter to overcome this incompatibility?Can i also have an example to let me have a better idea.thank you

    I'm going to share my experience with the "Adapt to Type" parameter.
    Attached to this message is an example. The attachment is a zip file with three files: a dll, a c file and a vi written in LabVIEW 6. The dll contains a function that return a structure with 3 values (like the coordinates of a point in space, that is, (x, y, z)). You can see how the function was constructed by looking at the c file.
    In LabVIEW, I created a cluster with the same three parameters. Then, I configured the call library function following the function prototype as in the c file. For the point variable I use "Adapt to Type".
    I hope this can give you a head star.
    Best regards;
    E. Vargas
    www.vartortech.com
    Attachments:
    pointexample.zip ‏63 KB

  • Once more about "black" and "white" file lists.

    Hello everyone!
    I've got a task to find all unauthorized  executables on all workstations in domain. The good point is that workstations are identical to each other (both hard and soft), bad point is that I have to find the existence of this files on HDDs, not their
    launches. And I have to use SCCM 2012 SP1 for reporting as well. That's why I cannot use the AppLocker.
    Well, what I've decided to do is to take one of workstations as the sample (SW - sample workstation). All updates, patches, etc. are provided at SW first, then are spread on whole domain. All .exe (and another file masks) on SW are presumed as "white",
    all others on workstations are presumed as "black" ones.What I need now is to compare white-list from SW with file list from every computer in collection.
    There already exists almost ready-to-use report that I need, but it has to be modified. Unfortunately, my knowledge of MS SQL is somewhere below zero (maybe absolute zero, -274C :) ). Thats,s why I'm asking for help. I've tried to find some articles about
    creating or modifying reports, but most of them are the same: "Open Report Builder, now copy and paste there the sample query from below. Wonder what a pretty report  you've got!"
    The report is "Compare software inventory on two computers". What modifications do I need:
    - Compare not "Computer name - Computer name" but "Computer name - Select a collection"
    - Exclude files from white-list (from SW) from report.
    - Exclude size, version and time check - only existence and (maybe) the difference in path..
    - Group by machine name.
    Maybe instead of ready query you can advice me some good article like "Composing reports in Report Builder for absolute newbies", I'll appreciate it very much as well.
    Thank you for your time.
    Sincerely, Alexey

    Hello, Daniel!
    Thank you very much for your answer it was really helpful.
    I really would like to delegate this report to programmers department but the problem is that they know nothing about SCCM, so I should explain to them what is SCCM, what is 'device collection' and all other things. Moreover, I've managed to find the list
    of functions for SCCM 2012, but I didn't find the list of SQL views for it, found only for SCCM 2007 and I'm not sure that it will suit for 2012.
    Well, I'm not too old yet to start learning something new :) , so I'll try to deal with this report myself.
    Thank you again for your help.
    Sincerely, Alexey.

  • Want to know more about class and class type and characters in batch determ

    hi ,
    i want to know abt class functionality and how it is related to batch mgt,means functions of class type , characters etc.
    ok thanks

    Hi ,
    Find the Class and Class Type for Batch Determination.
    Create Class for Batch Management
    Use
    In this step, you define two classes for use with batches. One class contains the characteristic LOBM_VFDAT: Expiration Date, and the other class with three characteristics:
    LOBM_RL: Remaining shelf life for batch,
    LOBM_LFDAT Batch determination delivery date, and
    LOBM_VFDAT Expiration date, shelf life.
    Procedure1.
    Access the activity using one of the following navigation options:
    Transaction Code: CL02SAP R/3 Role Menu     Installation ® Create Class for Batch Management
    2.Choose Create and maintain the necessary master data manually. The relevant data can be found in the file:
      Class     Class type     Description     Characteristic        Characteristic     Characteristic
    023_001     023     Products with Expiration Date     LOBM_VFDAT     
    023_002     023     Search class with expiration date     LOBM_RLZ     LOBM_LFDAT     LOBM_VFDAT
    Result
    The materials are later assigned to class 023_001 in the material masters. 023_002 is used in the batch determination search strategies for SD and PP/PI. 
    Regards,
    SAROSH

  • Docs about RowSet, and Object RowSet questions?

    Docs about RowSet, and Object RowSet questions?
    I can find RowSet forum, so I ask here!
    Can you give me URLs where I can find more about RowSet and URLs for any RowSet implementation?
    Does Borlans, Oracle, IBM, etc., have RowSet implementation?
    I find out about Sun's RowSet implementation, but I can't find Object Rowset in this implementation?
    Is it possible to develop Object RowSet and is it useful?
    I know about O/R tools like Hibernate, but Object RowSet can be useful?
    Run SQL query and get Objects, or maybe even run Object query (like EJB or Hibernate or JDO have) and get Objects.
    No XML mapping mess and simmilar, like with EJB or Hibernate or JDO?

    You can try
    http://java.sun.com/developer/Books/JDBCTutorial/chapter5.html
    This is a tutorail for RowSet

  • Want to learn more about BDC.

    Hi all,
             I am new to BDC and want o learn more about it and how it works. Can you please help me out in these.
             Please send any docs if any in [email protected]
          With regards,
            Abir.

    Hi,
       Have a look at these links-
    BDC
    http://www.sap-img.com/bdc.htm
    www.sappoint.com/abap/bdcconcept.pdf
    www.sap-img.com/abap/learning-bdc-programming.htm
    www.sap-img.com/abap/question-about-bdc-program.htm
    www.sapdevelopment.co.uk/bdc/bdchome.htm
    www.planetsap.com/bdc_main_page.htm
    Re: bdc mm01
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Mark helpful answers.
    Regards,
    Tanuja.

  • Is there another way of getting apps from the appstore without putting your credit card number in, ive heard about the itunes gift card thing can anybody just give me more info about that and how i can buy free things free things from the appstorepls help

    Is there another way of getting apps from the appstore without putting your credit card number in, ive heard about the itunes gift card thing can anybody just give me more info about that and how i can buy free things free things from the appstore...pls help as im only a teenager and have no credit credit and my parents dont trust me with theres and they dont care about the fact that you can set up a password/.... PLEASE SOMEONE HELP I WILL BE SO GRATEFUL... And i would really like to get the iphone 4 but if there is no way of etting apps without your credit number then i would have to get a samsung galaxy s3 maybe ...

    You can set up an Apple ID without a credit card.
    Create iTunes Store account without credit card - Support - Apple - http://support.apple.com/kb/ht2534

  • It's so annoying!! I have created a new Apple ID but after I click verify it just goes back to the previous page!!! It''s really frustrating I have tried for more than 4H, and the problem is not about the apple ID. I can download apps with the apple ID, w

    It's so annoying!! I have created a new Apple ID but after I click verify it just goes back to the previous page!!! It''s really frustrating I have tried for more than 4H, and the problem is not about the apple ID. I can download apps with the apple ID, which means IMessage is the problem! I restarted my iPad, I logged in and out of the apple ID in the store, AND YET IT STILL WON'T WORK, PLEASE HELP!

    Hi Vmanfromusa!
    It sounds like you are having an issue with activating your iMessage app on your iPad. An article outlining some troubleshooting steps for this issue can be found here:
    iOS: Troubleshooting FaceTime and iMessage activation
    http://support.apple.com/kb/ts4268
    Thanks for using the Apple Support Communities. Have a good one!
    -Braden

  • Why would it state under the "more about this mac" that i already have10.8.3 and then in the app store say i need to "resume" do you know what i mean? is it possible i already did download mountain lion entirely once? I am confused and don't want it twice

    why would it state under the "more about this mac" that i already have10.8.3 and then in the app store say i need to "resume" do you know what i mean? is it possible i already did download mountain lion entirely once? I am confused and don't want it twice

    This is cause by the way the App Store checks to see if an application is installed on your system.
    Basically when an app is installed it is in the Applications folder and this is where the MAS looks for them. So it looks at your purchase history for the apps you bought and looks in the Applications folder to see if they are installed. If an app is in your purchase history but not in the Applications folder the MAS says you need to install it.
    For normal apps this works fine but the OS doesn;t install into the Applications folder. So the MAS sees you have Mountain Lion in your purchase history but it's not in the Applications folder and so it says you need to download it.
    Hopefully one of these days Apple wil fix this.
    regards

  • I have a Macbook Pro june 2011... I have 8GB ram but I only have 256mb VRAM... I've read some other questions about this and I realized... Why do I not have 560mb of VRAM since I have 8GB of RAM? Is there any way to get more VRAM to play games on steam?

    I have a Macbook Pro june 2011... I have 8GB ram but I only have 256mb VRAM...
    I've read some other questions about this and I realized... Why do I not have 560mb of VRAM since I have 8GB of RAM?
    Is there any way to get more VRAM to play games on steam?
    I've learned  by reading other topics that I can't upgrade my graphics card on my Macbook Pro because it's soldered into the motherboard or somthing like that, but please tell me if there is any way to get more video ram by chaning some setting or upgrading something else. I'd also like to know why I only have 256MB of VRAM when I have 8GB of RAM, since I have 8GB of RAM I thought I was supposed to have 560mb of VRAM...
    So the two questions are...
    Is there any way to upgrade my VRAM, so that I can play games on steam?
    Why do I only have 256MB VRAM when I have 8GB total RAM?
    Other Info:
    I have a quad core i7 Processor.
    My graphcics card is the AMD Radeon HD 6490M.
    I am also trying to play games on my BOOTCAMPed side of my mac, or my Windows 7 Professional side.
    THANK YOU SO MUCH IF YOU CAN REPLY,
    Dylan

    The only two items that a user can change on a MBP are the RAM and HDD (Retinas not included).  You have what the unit came with and the only way you will be able to change that is to purchase a MBP with superior graphics
    If you are very much into gaming, the I suggest A PC.  They are far superior for that type of application to a MBP.
    Ciao.

  • Want to know more about Business Analytics in SAP and its scope

    Hi all,
    I would like to know more about Business Analytics in SAP and its scope. My wife has finished her MBA (HR) and currently working as HR. She is more interested Business analytics, so please guide her how to startup her career in this field in the entry level, what prerequisites should be met and how the job market will be.
    Thanks a lot in advance.
    Srini

    Dear,
    Its good decision to go with Business Analytics in SAP ERP.
    Both businesses and SAP AG no more requires consultants, requires efficient dynamic skilled business analytics professionals to advance in current international market. Business Strategic planning plays a major role in Business Analytics.
    If you search google with "Business analytics" you will find hundreds of results which everyone of us has to read and learn what really stands for Strategy and Planning.
    http://www.sap.com/corporate-en/press.epx?pressid=14491
    http://marksmith.ventanaresearch.com/2011/02/25/sap-retrofits-business-intelligence-and-information-management-to-meet-it-and-business-needs/
    http://www.sap.com/solutions/sapbusinessobjects/index.epx
    As you mentioned, its not a difficult task for an MBA(HR) person to read and understand the subject available.
    Please check and Best of luck.
    Regards,
    Syed Hussain.
    P.S: "no more requires consultants" my intention is already plenty of consultants in market today. When competition is tough and plenty - invent new technologies and upgrade.
    Edited by: Syed Hussain on Jun 22, 2011 9:21 AM

  • Hi,   I am trying to find out a bit more about creative cloud...  I currently use PS5 extended...  I have it on my desk top at home but travel often and use a pc. which does not have PS5 because it is licensed to mac...  So i am now thinking of using the

    hi,   I am trying to find out a bit more about creative cloud...  I currently use PS5 extended...  I have it on my desk top at home but travel often and use a pc. which does not have PS5 because it is licensed to mac...  So i am now thinking of using the cloud...  will i be able to use it on both computers? and will it work if there is slow or no internet?.

    Here are some links to general information.  IF you have specific questions feel free to ask...
    Creative Cloud Learn & Support
    http://helpx.adobe.com/creative-cloud.html
    Creative Cloud / Common Questions
    http://helpx.adobe.com/creative-cloud/faq.html
    Creative Cloud Plans
    https://creative.adobe.com/plans

Maybe you are looking for

  • How to process decimal field in extract

    Hi All I need to use a extract in TableMaintenace event. I understood using loop and indexing, we can access teh fileds. But when i checked in the Debugging mode, Decimal values in hte table are displayed as ####. How to get these decimal fields. Cou

  • Can connect two Macs with USB2 cable?

    Can connect two Macs with USB2 cable?

  • Are there any OS X (Tiger) compatible voice recorders?

    I am looking for a voice recorder to speak into - for writing a book. Olympus' website offers a few, compatible with OS X to 10.3. Does anyone know of any voice recorders compatible with the latest Mac OS X (10.4.5)? Thank you. PowerBook G4   Mac OS

  • Osx mountain lion macbook pro 15" SLOW BOOTUP

    heres the logs. im not very good with osx yet but i started the bootup as close to the time i pasted the logs as possible. around 45-60 second boot up which is slow compared to the few seconds of a week ago also just before it goes from boot up to th

  • AP reload from WLC

    Hi Guys, I have issue AP reload. WCS is show log 802.11b/g interface of AP TT-AP-17B is down: Controller 172.20.42.12 Reason: Max retransmissions for the AP have reached. - Controller Name: TT-12-WLANCTRL-01 AP 'TT-AP-17B' disassociated from Controll