Using Collections and initialisation

I am not in the IT business but I am trying to teach myself Java using the JBuilder IDE.
I am creating an application which will contain the personal details of each individual user along with a record of the training/work they undertake on different days. The user logs in and accesses their personal info using a password. At the moment I am constructing each persons details in a Vector in case I want to add more attributes later, although there may be better options. I am therefore creating a PersonDetail class which extends Vector and which has the following elements:
String name;
String initials;
String pinNumber;
char[] password;
Vector workRecord; (Vector, because it will expand all the time as new records about what work the user does are added.)
Therefore I could have many instances of this PersonDetail class floating about, and I assume I should store them in something that should not take duplicates such as a Set or HashSet. I can then iterate through them to check the details of a person logging in. If this sounds feasible, should this overall holding collection be static i.e. one class instance only? If so, where should this static instance be declared/created to stop it being initialised more than once? I have created some GUI�s using Swing, but without a decent underlying system for storing the information the GUIs collect, its never really going to work efficiently.
Any guidance on a better way of storing the information or an answer to my specific query warmly appreciated - and apologies if what I have said doesn't make sense!
Paul D

Your approach seems OK to me. The problem you will have is that the data is volatile, i.e. you will lose it when the program exits, unless you serialize to a file. Use the Serializable interface to acheive this. Once you get the hang of it, its very convenient. Check out Suns tutorials.
Alternatively, you could put your data into an SQL database (MS access SQLServer MySQL etc..) and use JDBC to access/update it. The trick here is setting up the JDBC/ODBC access, and it does require some basic understanding of SQL.
Hope this helps.

Similar Messages

  • Using collections and experiencing slow response

    I am experiencing slow response when using htmldb_collection. I was hoping someone might point me in another direction or point to where the delay may be occurring.
    First a synopsis of what I am using these collections for. The main collections are used in order to enable the users to work with multiple rows of data (each agreement may have multiple inbound and outbound tiered rates). These collections, OBTCOLLECTION and IBTCOLLECTION, seem to be fine. The problem arises from the next set of collections.
    OBTCOLLECTION and IBTCOLLECTION each contain a field for city, product, dial code group and period. Each of these fields contains a semi-colon delimited string. When the user chooses to view either the outbound tiers (OBTCOLLECTION) or the inbound tiers (IBTCOLLECTION), I generate four collections based on these four fields, parsing the delimited strings, for each tier (record in the OBT or IBT collection). Those collections are used as the bases for multiple select shuttles when the user edits an individual tier.
    Here is the collection code for what I am doing.
    When the user chooses an agreement to work with, by clicking on an edit link, they are sent to page 17 (as you see referenced in the code). That page has the on-demand process below triggered on load, after footer.
    -- This process Loads the collections used
    -- for the Inbound and Outbound tier details
         -- OBTCOLLECTION
         -- IBTCOLLECTION
    -- It is an on-demand process called on load (after footer) of page 17 --
    -- OUTBOUND TIER COLLECTION --
         if htmldb_collection.collection_exists( 'OBTCOLLECTION') = TRUE then
             htmldb_collection.delete_collection(p_collection_name => 'OBTCOLLECTION' );
         end if;
         htmldb_collection.create_collection_from_query(
             p_collection_name => 'OBTCOLLECTION',
             p_query           => 'select ID, AGREEMENT_ID, FIXED_MOBILE_ALL,
                              OF_TYPE,TIER, START_MIN, END_MIN,
                                             REVERT_TO, RATE,CURRENCY,
                                             PENALTY_RATE, PENALTY_CURR,
                       PRODUCT,CITY, DIAL_CODE_GROUP, PERIOD,
                        to_char(START_DATE,''MM/DD/YYYY''),
                                             to_char(END_DATE,''MM/DD/YYYY''),
                                             MONTHLY,EXCLUDED,
                       ''O'' original_flag
                          from outbound_tiers
                          where agreement_id = '''||:P17_ID ||'''
                          order by FIXED_MOBILE_ALL, ID',
             p_generate_md5    => 'YES');
    -- INBOUND TIER COLLECTION --
         if htmldb_collection.collection_exists( 'IBTCOLLECTION') = TRUE then
             htmldb_collection.delete_collection(p_collection_name => 'IBTCOLLECTION' );
         end if;
         htmldb_collection.create_collection_from_query(
             p_collection_name => 'IBTCOLLECTION',
             p_query           => 'select ID, AGREEMENT_ID, FIXED_MOBILE_ALL,
                              OF_TYPE,TIER, START_MIN, END_MIN,
                                             REVERT_TO, RATE,CURRENCY,
                                             PENALTY_RATE, PENALTY_CURR,
                              PRODUCT,CITY, DIAL_CODE_GROUP, PERIOD,
                              to_char(START_DATE,''MM/DD/YYYY''),
                                             to_char(END_DATE,''MM/DD/YYYY''),
                                             MONTHLY,EXCLUDED,
                              ''O'' original_flag
                          from inbound_tiers
                          where agreement_id = '''||:P17_ID ||'''
                          order by FIXED_MOBILE_ALL, ID',
             p_generate_md5    => 'YES');
         commit;The tables each of these collections is created from are each about 2000 rows.
    This part is working well enough.
    Next, when the user chooses to view the tier information (either inbound or Outbound) they navigate to either of two pages that have the on-demand process below triggered on load, after header.
    -- This process Loads all of the collections used
    --  for the multiple select shuttles --
         -- DCGCOLLECTION
         -- CITYCOLLECTION
         -- PRODCOLLECTION
         -- PRDCOLLECTION
    -- It is  an on-demand process called on load (after footer)  --
    DECLARE
       dcg_string long;
       dcg varchar2(100);
       city_string long;
       the_city varchar2(100);
       prod_string long;
       prod varchar2(100);
       prd_string long;
       prd varchar2(100);
       end_char varchar2(1);
       n number;
       CURSOR shuttle_cur IS
          SELECT seq_id obt_seq_id,
                 c013 product,
                 c014 city,
                 c015 dial_code_group,
                 c016 period
          FROM htmldb_collections
          WHERE collection_name = 'OBTCOLLECTION';
       shuttle_rec shuttle_cur%ROWTYPE;
    BEGIN
    -- CREATE OR TRUNCATE DIAL CODE GROUP COLLECTION FOR MULTIPLE SELECT SHUTTLES --
         htmldb_collection.create_or_truncate_collection(
         p_collection_name => 'DCGCOLLECTION');
    -- CREATE OR TRUNCATE CITY COLLECTION FOR MULTIPLE SELECT SHUTTLES --
         htmldb_collection.create_or_truncate_collection(
         p_collection_name => 'CITYCOLLECTION');
    -- CREATE OR TRUNCATE PRODUCT COLLECTION FOR MULTIPLE SELECT SHUTTLES --
         htmldb_collection.create_or_truncate_collection(
         p_collection_name => 'PRODCOLLECTION');
    -- CREATE OR TRUNCATE PERIOD COLLECTION FOR MULTIPLE SELECT SHUTTLES --
         htmldb_collection.create_or_truncate_collection(
         p_collection_name => 'PRDCOLLECTION');
    -- LOAD COLLECTIONS BY LOOPING THROUGH CURSOR.
         OPEN shuttle_cur;
         LOOP
            FETCH shuttle_cur INTO shuttle_rec;
            EXIT WHEN shuttle_cur%NOTFOUND;
            -- DIAL CODE GROUP --
            dcg_string := shuttle_rec.dial_code_group ;
            end_char := substr(dcg_string,-1,1);
            if end_char != ';' then
               dcg_string := dcg_string || ';' ;
            end if;
            LOOP
               EXIT WHEN dcg_string is null;
               n := instr(dcg_string,';');
               dcg := ltrim( rtrim( substr( dcg_string, 1, n-1 ) ) );
               dcg_string := substr( dcg_string, n+1 );
               if length(dcg) > 1 then
                htmldb_collection.add_member(
                   p_collection_name => 'DCGCOLLECTION',
                   p_c001 => shuttle_rec.obt_seq_id,
                   p_c002 => dcg,
                   p_generate_md5 => 'NO');
               end if;
            END LOOP;
            -- CITY --
            city_string := shuttle_rec.city ;
            end_char := substr(city_string,-1,1);
            if end_char != ';' then
               city_string := city_string || ';' ;
            end if;
            LOOP
               EXIT WHEN city_string is null;
               n := instr(city_string,';');
               the_city := ltrim( rtrim( substr( city_string, 1, n-1 ) ) );
               city_string := substr( city_string, n+1 );
               if length(the_city) > 1 then
                htmldb_collection.add_member(
                   p_collection_name => 'CITYCOLLECTION',
                   p_c001 => shuttle_rec.obt_seq_id,
                   p_c002 => the_city,
                   p_generate_md5 => 'NO');
               end if;
            END LOOP;
            -- PRODUCT --
            prod_string := shuttle_rec.product ;
            end_char := substr(prod_string,-1,1);
            if end_char != ';' then
               prod_string := prod_string || ';' ;
            end if;
            LOOP
               EXIT WHEN prod_string is null;
               n := instr(prod_string,';');
               prod := ltrim( rtrim( substr( prod_string, 1, n-1 ) ) );
               prod_string := substr( prod_string, n+1 );
               if length(prod) > 1 then
                htmldb_collection.add_member(
                   p_collection_name => 'PRODCOLLECTION',
                   p_c001 => shuttle_rec.obt_seq_id,
                   p_c002 => prod,
                   p_generate_md5 => 'NO');
               end if;
            END LOOP;
            -- PERIOD --
            prd_string := shuttle_rec.period ;
            end_char := substr(prd_string,-1,1);
            if end_char != ';' then
               prd_string := prd_string || ';' ;
            end if;
            LOOP
               EXIT WHEN prd_string is null;
               n := instr(prd_string,';');
               prd := ltrim( rtrim( substr( prd_string, 1, n-1 ) ) );
               prd_string := substr( prd_string, n+1 );
               if length(prd) > 1 then
                htmldb_collection.add_member(
                   p_collection_name => 'PRDCOLLECTION',
                   p_c001 => shuttle_rec.obt_seq_id,
                   p_c002 => prd,
                   p_generate_md5 => 'NO');
               end if;
            END LOOP;
         END LOOP;
         CLOSE shuttle_cur;
        commit;
    END;Creating these collections from the initial collection is taking way too long. The page is rendered after about 22 seconds (when tier collection has 2 rows) and 10 minutes worst case (when the tier collection has 56 rows).
    Thank you in advance for any advice you may have.

    Try to instrument/profile your code by putting timing statements after each operation. This way you can tell which parts are taking the most time and address them.

  • Best practices when using collections in LR 2

    How are you using collections and collection sets? I realize that each photographer uses them differently, but I'm looking some inspiration because I have used them only very little.
    In LR 1 I used collections a bit like virtual Folders, but it doesn't anymore work as naturally in LR2.
    In LR 1 it was like:
    Travel (1000 images, all Berlin images)
    Travel / Berlin trip (400 images, all Berlin trip images)
    Travel / Berlin trip / web (200 images)
    Travel / Berlin trip / print (100 images)
    In LR 2 it could be done like this, but this somehow feels unnatural.
    Travel (Collection Set)
    Travel / Berlin trip (CS)
    Travel / Berlin trip / All (collection, 400 images)
    Travel / Berlin trip / web (collection, 200 images)
    Travel / Berlin trip / print (collection, 100 images)
    Or is this kind of use stupid, because same could be done with keywords and smart collections, and it would be more transferable.
    Also, how heavily are you using Collections? I'm kind of on the edge now (should I start using them heavily or not), because I just lost all my collections because I had to build my library from scratch because of weird library/database problems.

    Basically, i suggest not to use collections to replicate the physical folder structure, but rather to collect images independent of physical storage to serve a particular purpose. The folder structure is already available as a selection means.
    Collections are used to keep a user defined selection of images as a persistent collection, that can be easily accessed.
    Smart collections are based on criteria that are understood by the application and automatically kept up to date, again as a persistent collection for easy access. If this is based on a simple criterium, this can also, and perhaps even easier, done by use of keywords. If however it is a set of criteria with AND, OR combinations, or includes any other metadata field, the smart collection is the better way to do it. So keywords and collections in Lightroom are complementary to eachother.
    I use (smart)collections extensively, check my website  www.fromklicktokick.com where i have published a paper and an essay on the use of (smart)collections to add controls to the workflow.
    Jan R.

  • It is possible to use a VOD HTTP Stream in an iTunes U Collection and/or Course?

    We wish to better comply with TEACH Act guidelines by using VOD (video on demand as opposed to real-time streaming) HTTP Streaming where an instructor is asserting educational fair use of copyrighted material.  The key component in TEACH guidelines is that the student not be able to retain the materials beyond the duration of the course.  Thus, VOD HTTP Streaming will meet this specification nicely and is supported across all of iOS and MacOS X.
    Thus, the question: It is possible to use a VOD HTTP Stream in an iTunes U Collection and/or Course?

    I knew about that, but my question is, if it is possible to use an europe power adapter.
    Because i dont want to a carry around an power adapter and a plugin adapter.
    I hope you understand what i mean.
    Sorry for my english
    Best.

  • Using bulk collect and for all to solve a problem

    Hi All
    I have a following problem.
    Please forgive me if its a stupid question :-) im learning.
    1: Data in a staging table xx_staging_table
    2: two Target table t1, t2 where some columns from xx_staging_table are inserted into
    Some of the columns from the staging table data are checked for valid entries and then some columns from that row will be loaded into the two target tables.
    The two target tables use different set of columns from the staging table
    When I had a thousand records there was no problem with a direct insert but it seems we will now have half a million records.
    This has slowed down the process considerably.
    My question is
    Can I use the bulk collect and for all functionality to get specific columns from a staging table, then validate the row using those columns
    and then use a bulk insert to load the data into a specific table.?
    So code would be like
    get_staging_data cursor will have all the columns i need from the staging table
    cursor get_staging_data
    is select * from xx_staging_table (about 500000) records
    Use bulk collect to load about 10000 or so records into a plsql table
    and then do a bulk insert like this
    CREATE TABLE t1 AS SELECT * FROM all_objects WHERE 1 = 2;
    CREATE OR REPLACE PROCEDURE test_proc (p_array_size IN PLS_INTEGER DEFAULT 100)
    IS
    TYPE ARRAY IS TABLE OF all_objects%ROWTYPE;
    l_data ARRAY;
    CURSOR c IS SELECT * FROM all_objects;
    BEGIN
    OPEN c;
    LOOP
    FETCH c BULK COLLECT INTO l_data LIMIT p_array_size;
    FORALL i IN 1..l_data.COUNT
    INSERT INTO t1 VALUES l_data(i);
    EXIT WHEN c%NOTFOUND;
    END LOOP;
    CLOSE c;
    END test_proc;
    In the above example t1 and the cursor have the same number of columns
    In my case the columns in the cursor loop are a small subset of the columns of table t1
    so can i use a forall to load that subset into the table t1? How does that work?
    Thanks
    J

    user7348303 wrote:
    checking if the value is valid and theres also some conditional processing rules ( such as if the value is a certain value no inserts are needed)
    which are a little more complex than I can put in a simpleWell, if the processing is too complex (and conditional) to be done in SQL, then doing that in PL/SQL is justified... but will be slower as you are now introducing an additional layer. Data now needs to travel between the SQL layer and PL/SQL layer. This is slower.
    PL/SQL is inherently serialised - and this also effects performance and scalability. PL/SQL cannot be parallelised by Oracle in an automated fashion. SQL processes can.
    To put in in simple terms. You create PL/SQL procedure Foo that processes SQL cursor and you execute that proc. Oracle cannot run multiple parallel copies of Foo. It perhaps can parallelise that SQL cursor that Foo uses - but not Foo itself.
    However, if Foo is called by the SQL engine it can run in parallel - as the SQL process calling Foo is running in parallel. So if you make Foo a pipeline table function (written in PL/SQL), and you design and code it as a thread-safe/parallel enabled function, it can be callled and used and executed in parallel, by the SQL engine.
    So moving your PL/SQL code into a parallel enabled pipeline function written in PL/SQL, and using that function via parallel SQL, can increase performance over running that same basic PL/SQL processing as a serialised process.
    This is of course assuming that the processing that needs to be done using PL/SQL code, can be designed and coded for parallel processing in this fashion.

  • Hello guys..does anybody know how to install and use adobe master collection with the new lion?   I need to use Flash and illustratore, but apparently those programmes are incompatible with the new operative sistem...   I am a new mac users and I'd like t

    Hello guys..does anybody know how to install and use adobe master collection with the new lion?
    I need to use Flash and illustratore, but apparently those programmes are incompatible with the new operative sistem...
    I am a new mac users and I'd like to know if there are other similar programmes I can use with lion!

    Lab79 wrote:
    Are you on Apple's payroll?
    well dude I can only let you know that as I work with those programme I don't have to pay for it is my company that pays the programme I whant to use( that's why I was asking if there where other programmes ..that I could use with lion insted that Illustrator and Flash!)..I know Adobe since 2005 and I can say that Adobs products are very good...I think that if it's an Adobe probleme or fault ..they will solve it very soon...but unfortunally I have the impression that after Jobs passed away Appel decided to change politics..and everything started to go very bad! (see FCP X)..
    good luck with apple dude..
    Where is the Apple problem? I have CS4 and CS5 running perfectly fine on my Macbook Pro. Installed 5 after Lion upgrade. Worth every cent. Adobe did have some catching up to do with Lion but with the CS5.5 update all runs fine. But not yours. So it is a problem with the Lion OS? You say you have been with Adobe since 2005. So you would be aware of all the other issues that Adobe had catching up with past Oss in Mac and Windows then. They get it right, but it is up to them. It is not up to Apple, nor Microsoft for that matter, to run around and check that every software developer in the world is running their business properly.
    And what has politics got to do with anything. Some people just have to blame Software for their poor Hardware maintainence of failure of the same.
    <The only think I can really do is to go back on my old windows...give back this orrible lap top and ask for my money back!>
    Great suggestion. You should go with that one, but good luck getting a refund.
    Bye

  • How to use Bulk Collect and Forall

    Hi all,
    We are on Oracle 10g. I have a requirement to read from table A and then for each record in table A, find matching rows in table B and then write the identified information in table B to the target table (table C). In the past, I had used two ‘cursor for loops’ to achieve that. To make the new procedure, more efficient, I would like to learn to use ‘bulk collect’ and ‘forall’.
    Here is what I have so far:
    DECLARE
    TYPE employee_array IS TABLE OF EMPLOYEES%ROWTYPE;
    employee_data  employee_array;
    TYPE job_history_array IS TABLE OF JOB_HISTORY%ROWTYPE;
    Job_history_data   job_history_array;
    BatchSize CONSTANT POSITIVE := 5;
    -- Read from File A
    CURSOR c_get_employees IS
             SELECT  Employee_id,
                       first_name,
                       last_name,
                       hire_date,
                       job_id
              FROM EMPLOYEES;
    -- Read from File B based on employee ID in File A
    CURSOR c_get_job_history (p_employee_id number) IS
             select start_date,
                      end_date,
                      job_id,
                      department_id
             FROM JOB_HISTORY
             WHERE employee_id = p_employee_id;
    BEGIN
        OPEN c_get_employees;
        LOOP
            FETCH c_get_employees BULK COLLECT INTO employee_data.employee_id.LAST,
                                                                              employee_data.first_name.LAST,
                                                                              employee_data.last_name.LAST,
                                                                              employee_data.hire_date.LAST,
                                                                              employee_data.job_id.LAST
             LIMIT BatchSize;
            FORALL i in 1.. employee_data.COUNT
                    Open c_get_job_history (employee_data(i).employee_id);
                    FETCH c_get_job_history BULKCOLLECT INTO job_history_array LIMIT BatchSize;
                             FORALL k in 1.. Job_history_data.COUNT LOOP
                                            -- insert into FILE C
                                              INSERT INTO MY_TEST(employee_id, first_name, last_name, hire_date, job_id)
                                                                values (job_history_array(k).employee_id, job_history_array(k).first_name,
                                                                          job_history_array(k).last_name, job_history_array(k).hire_date,
                                                                          job_history_array(k).job_id);
                                             EXIT WHEN job_ history_data.count < BatchSize                        
                             END LOOP;                          
                             CLOSE c_get_job_history;                          
                     EXIT WHEN employee_data.COUNT < BatchSize;
           END LOOP;
            COMMIT;
            CLOSE c_get_employees;
    END;
                     When I run this script, I get
    [Error] Execution (47: 17): ORA-06550: line 47, column 17:
    PLS-00103: Encountered the symbol "OPEN" when expecting one of the following:
       . ( * @ % & - + / at mod remainder rem select update with
       <an exponent (**)> delete insert || execute multiset save
       merge
    ORA-06550: line 48, column 17:
    PLS-00103: Encountered the symbol "FETCH" when expecting one of the following:
       begin function package pragma procedure subtype type use
       <an identifier> <a double-quoted delimited-identifier> form
       current cursorWhat is the best way to code this? Once, I learn how to do this, I apply the knowledge to the real application in which file A would have around 200 rows and file B would have hundreds of thousands of rows.
    Thank you for your guidance,
    Seyed

    Hello BlueShadow,
    Following your advice, I modified a stored procedure that initially was using two cursor for loops to read from tables A and B to write to table C to use instead something like your suggestion listed below:
    INSERT INTO tableC
    SELECT …
    FROM tableA JOIN tableB on (join condition).I tried this change on a procedure writing to tableC with keys disabled. I will try this against the real table that has primary key and indexes and report the result later.
    Thank you very much,
    Seyed

  • Export/import of mappings using OMBPLUS and Collections?

    Hi,
    We've got some good TCL code to export (and import) mappings for our projects along the lines of:
    OMBEXPORT MDL_FILE '$projname.mdl' \
    PROJECT '$projname' \
    CONTROL_FILE '$controlfile.txt' \
    OUTPUT LOG '$projname.log'
    and now we're moving to organizing mappings by OWB COLLECTION and need to export/import by collection instead. Thought it might be as simple as this:
    OMBEXPORT MDL_FILE '$collname.mdl' \
    FROM COMPONENTS ( COLLECTION '$collname')
    CONTROL_FILE '$controlfile.txt' \
    but that's not working (saying "Project $collname does not exist.", so it seems to still be treating what I thought was a collection name as a project name . Can someone point out the right syntax to use COLLECTIONs in OMBEXPORT/OMBIMPORT?
    All thoughts/tips appreciated...
    Thanks,
    Jim C.

    Hi,
    If we use the below tcl script for the entire project export , does it also export the locaitons,control center,configurations along???
    If yes then can you gimme the script for altering the locations , control center/configuration connection details??
    OMBEXPORT MDL_FILE '$projname.mdl' \
    PROJECT '$projname' \
    CONTROL_FILE '$controlfile.txt' \
    OUTPUT LOG '$projname.log'
    Can you also provide me the tcl for project import??
    Thanks

  • Collecting and bundling messages from multiple interfaces using BPM

    Hi friends,
    I am currently working on bpmpatternmultilf(without condition).
    In my source i have 3 messages having same message type.
    Message type:
    ID
    Overall no
    In the source i am placing 3 files like
    message1.txt ID 100 Overall no 200
    message2.txt ID 100 Overall no 300
    message3.txt ID 100 Overall no 400.
    I have used correlation element  as ID.
    But in the target file I am getting the result as ID 100 Overall no 200.
    Overall no 300 and 400 are not present?
    I understand that the messages are not getting collected and bundled?
    Please help me out on this.
    Thank you in advance

    Hi, deepak:
    To collect the message of same message interface, if you know that all the files will exist for a while,
    and next bundle of file will come to the folder after a period of time saying 30 minutes.
    You can have your receive step, followed by container operator to append individal messages to multi-line elements.You will need deadline block, put timeout to saying 10 minutes.
    This to say that you collect all the messages in 10 minutes, and put them in multi-line elements, now you collected all the messages with different ID.
    Next you need to design  you multi-mapping, since your message is based on ID, you multi-mapping is m:n
    Eventually, you will need transformation step to call the multi-mapping, map the multi-line elements to n target messages. Your final send step send n files to your target system.
    Regards.
    Liang

  • Is it possible to have a phone line connected to a Mac Mini (OS X10.8.2) so you can use your computer with Parallels (Windows xp) to dial into a modem to download data being collected and stored at the remote location?

    Is it possible to have a phone line connected to a Mac Mini (OS X10.8.2) so you can use your computer with Parallels (Windows xp) to dial into a modem to download data being collected and stored at the remote location?

    Hi, do you mean a real Dial-up Modem as in the old days?
    As I recall, the Apple USB Modem won't work in 64 bit OSes, but there are others that will, I think this is one of them...
    http://www.zoomtel.com/products/dial_up_external_usb.html
    Or is the Modem on the other end Cable/DSL/FiberOptic?

  • Hi there! So I am using Lightroom 3 on a pc and I have ran into an issue when exporting images. The DPI and image size (in inches) that I am selecting during the export process. For example I just exported a collection and set the dpi to 180 and the size

    Hi there! So I am using Lightroom 3 on a pc and I have ran into an issue when exporting images. The DPI and image size (in inches) that I am selecting during the export process. For example I just exported a collection and set the dpi to 180 and the size to 7 inches on the long edge. My exported result is 457 dpi and sized at 3200x2134 pixels.. Any ideas on why this is happening and what I can do to correct it?

    The DPI setting in a digital image has no meaning at all. You need to learn how to calculate what you need in your exported image. The only measurement in a digital image that has any meaning is the number of pixels in each direction. It doesn't matter what you set that DPI to (actually it's PPI or pixels per inch). The image will have the same number of pixels regardless of the setting. If you need an image that is 5 x 7" (for example) at 200 PPI then you would want an image that measured:
    5 x 200 = 1000 pixels
    7 x 200 = 1400 pixels
    So you would need an image that is 1000 x 1400 pixels to have a 5 x 7" image at 200 PPI. The reason your exported image had such a high PPI setting is because you specified the number of inches you wanted the image to be. And there were enough pixels in the image that it calculated out to be that high PPI setting.
    I apologize, I don't explain this very well. But you need to learn to do the math to determine how large you really want your exported images to be.

  • If i buy CS6 master collection and install it on my mac,can i use it on a new mac when i update?

    if i buy CS6 master collection and install it on my mac,can i use it on a new mac when i update?

    You're welcome. I'm glad I could help.
    Have a great day! 
    Gene

  • Thank you for your service.   I was most disappointed to find, however, that the letters I really wanted (Adobe Garamond Alternate Caps) is not in this collection and indeed, one now has to use another fancy designing program to construct those letters. I

    Thank you for your service.
    I was most disappointed to find, however, that the letters I really wanted (Adobe Garamond Alternate Caps) is not in this collection and indeed, one now has to use another fancy designing program to construct those letters. I can’t afford to buy Photoshop just to construct two special capital letters. I’ve used the B and M in my logo for Balquhidder Music for years - but from jpgs - and I was hoping to have more flexibility in the future. I spent $169 to make sure I am in compliance. But I didn’t get anything of use to me.
    I can’t understand why those Alternate Caps are not part of this - or any other package. I thought Adobe was capable of amazing things.
    I assume I am whistling in the dark. So have a nice day.

    Actually, when Adobe moved from Type 1 fonts to OpenType CFF fonts, all the so-called “expert typefaces” were consolidated into the base fonts. In other words Adobe Garamond Pro Regular not only has the Western Latin characters of the original Type 1 version of Adobe Garamond, but also has alternate Latin capitals (with titling, titling floating accents, and stylistic alternates), alternate Latin lowercase (swash and superiors), Latin small capitals (alphabetic and floating accents), ligatures, multiple numeric forms (including lining tabular, lining proportional, oldstyle tabular, oldstyle proportional, superscripts, scientific inferior, numerator, denominator forms, fractions, mathematical operators, etc.) plus a raft of other special symbols.
    OpenType fonts are Unicode-based and allow for more than the 256 characters in Type 1 fonts which required multiple typefaces all with mappings to a standard keyboard to accommodate all these glyphs.
    Thus, hopefully your disappointment will turn to joy.
    To assist you in understanding OpenType fonts and to show you what is in the current Adobe Garamond fonts, I have attached a few PDF files for your perusal.
    Let us know if you have any questions.
               - Dov

  • Help: Using Record and Collection Methods

    I have created a record and I have to loop for as many records in the "RECORD". However if I attempt using any of the Collection Methods, I get the following error:
    ERROR at line 1:
    ORA-06550: line 41, column 14:
    PLS-00302: component 'EXISTS' must be declared
    ORA-06550: line 41, column 4:
    PL/SQL: Statement ignored
    ORA-06550: line 47, column 26:
    PLS-00302: component 'COUNT' must be declared
    ORA-06550: line 47, column 7:
    PL/SQL: Statement ignored
    Here is the SQL I am trying to execute:
    DECLARE
    TYPE Emp_Rec is RECORD (
    Emp_Id Emp.Emp_no%TYPE
    , Name Emp.Ename%TYPE
    ERec Emp_Rec;
    Cursor C_Emp IS
    SELECT
    Emp_No, Ename
    From Emp;
    begin
    OPEN C_Emp;
    LOOP
    FETCH C_Emp INTO Erec;
    EXIT WHEN C_Emp%NOTFOUND;
    END LOOP;
    IF Erec.Exists(1) THEN
    dbms_output.Put_line('exists' );
    else
    dbms_output.Put_line('does not exists');
    end if;
    CLOSE C_Emp;
    FOR I IN 1..ERec.COUNT
    LOOP
    dbms_Output.Put_Line( 'Row: ' || To_Char(I) || '; Emp: ' || ERec(i).Name) ;
    END LOOP;
    end;
    Can anyone help, please?
    Thanking you in advance,

    You only defined a Record and not a collection, therefore you cannot use .EXISTS
    This is how you would use record, collection and exists together
    DECLARE
    TYPE Emp_Rec is RECORD
             (Emp_Id Emp.Empno%TYPE,
              EName Emp.Ename%TYPE );
    TYPE Emp_tab is table of emp_rec index by binary_integer;
    ERec Emp_tab;
    Idx  INTEGER;
    Cursor C_Emp IS
         SELECT EmpNo, Ename    From Emp;
    begin
    IDX := 1;
    OPEN C_Emp;
    LOOP
           FETCH C_Emp INTO Erec(IDX);
                     EXIT WHEN C_Emp%NOTFOUND;
           IDX := IDX + 1;
    END LOOP;
    IF Erec.Exists(1) THEN
           dbms_output.Put_line('exists' );
    else
           dbms_output.Put_line('does not exists');
    end if;
    CLOSE C_Emp;
    FOR I IN 1..ERec.COUNT  LOOP
            dbms_Output.Put_Line( 'Row: ' || To_Char(I) || '; Emp: ' || ERec(i).eName) ;
    END LOOP;
    end;I hope you realize that this is only an example of how to use RECORD, COLLECTIONS and Collection Methods (.EXISTS, .COUNT)
    and not the best way to display the contents of a table.

  • I keep getting an error (for twelve updates), when trying to update CS5 Master Collection.  I used chat, and was told to come here.

    I keep getting an error (for twelve updates), when trying to update CS5 Master Collection.  I used chat, and was told to come here.

    update directly, http://www.adobe.com/downloads/updates/

Maybe you are looking for

  • Previewing Pages document in Preview shows page numbers incorrectly

    Previewing Pages (5.2) document in Preview (7.0) shows page numbers incorrectly. Regardless of starting page number preview shows as Page 1. Suggestions appreciated...

  • BB Link not for Mac OS X 10.6.8

    Dear all, I am a mac user and never had problems with older BB devices like BB Bold. Now, buying the 10 I need the BB Link software. Problem: My Mac is 3 years old and after running a software update, I am using Mac OS X 10.6.8 but the BB Link softwa

  • TS4036 Problem with restoring my iphone

    My iphone volume button broke so i was switching it out for a new one and i am trying to restore my iphone at home because the connection at apple was bad and it was saying 30 hours 'till restore. I waited at apple for about 3 hours and it wasn't cha

  • HT203167 'Song isn't authorised to play on this computer'

    I downloaded an album from iTunes a couple of days back, all the songs play apart from one when I play the song it asks me to authorise this computer to play this song so I authorise the song to this computer but it still can't play. So I just end up

  • I'm getting this: Error: 4hdd/11/40000000 SATA (0,0)

    I ran the Apple Start Up "D" test and it said Alert! Then is: 4hdd/11/40000000 SATA (0,0). Is there sometinhg really wrong????