InStr question

When i use the InStr function, it return the first finding in the string.
How can i find the last time it apper?
wodi :=abc@cdf@fre@ytr;
instr (wodi,'@')
give me the first time.
i use:
instr(wodi,1,(length(wodi)-length(replace(wodi,'@','')))
to find the last one.
can i do it in more nice way??

You can use 4 parameters for INSTR.
instr(string, search_string, -1, 1)will give you last occurance because it starts searching from end.
For an insight, see this.
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/functions068.htm
Cheers
Sarma.

Similar Messages

  • Dbms_lob.instr question

    Hello,
    I have a field that holds CLOBs in the database. I have a textfield in which the user can enter a target string, then I hope to use dbms_lob.instr to search for the target string in CLOB. The code looks like: dbms_lob.instr(upper(I.COMMENTS),upper(nvl(:P26_SEARCH_NAME,I.COMMENTS))). If I replace the textfield value :P26_SEARCH_NAME with a string, the line works fine, but the current line returns the error
    ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 6250, maximum: 4000) Can someone offer some help with a fix?

    Steven - Try v('P26_SEARCH_NAME') as a test to see if it makes any difference. If not, I can look at your test case if you put it on apex.oracle.com.
    Scott

  • Basic instr question (unclear orcale docs/fundamentals guide)

    Hi,
    i'm obviously quite new to this, but do understand the instr function more generally, its just the 'position' variable that's confusing me a bit, and both the oracle documentation and the fundamentals exam guide are quite vague on it.
    The INSTR(source string, search item, [start position],[nth occurrence of search
    item) function returns a number that represents the position in the source string,
    beginning from the given start position, where the nth occurrence of the search item
    begins
    ExamplesExample 7-127 Using Character Position to Search Forward to Find the Position of a Substring
    The following example searches the string "Corporate Floor", beginning with the third character, for the string "or". It returns the position in "Corporate Floor" at which the second occurrence of "or" begins.
    SHOW INSTR('Corporate Floor','or', 3, 2)
    14
    surely these two things are just untrue?
    if the search began from the given start position in the example taken from oracle docs, the answer would be 12, not 14? from character 3 ('r') to the second instance of 'or' is 12 characters inclusive, isn't it?
    or have i completely misunderstood?
    thanks,
    Nick
    Edited by: 967660 on 25-Oct-2012 06:55
    Edited by: 967660 on 25-Oct-2012 06:56

    Hi, Nick,
    967660 wrote:
    ... btw, why do the  tags not work?What are they supposed to do?
    If you want to post formatted text on this site in a fixed-width font, without compressing whitespace, then type these 6 characters:
    \(small letters only, inside curly brackets) before and after each section of formatted text.  This is great for query output as well as code samples.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Loop & Instr question

    Dear all,
    I have a string that will spool to a file from sql*plus, and the string maybe more than 255 characters, e.g.:
    v_sql := 'select surname, firstname, sex, birth,
    address1, address2,
    address3, ..., .... from employee;'
    dbms_output.put_line(v_sql);
    Now, I want to chop the string in several lines when 'meet' the comma ',' , the output I want become to, e.g.:
    dbms_output.put_line('select surname,');
    dbms_output.put_line('firstname,');
    dbms_output.put_line('sex,');
    dbms_output.put_line('... from employee;');
    So, I use the loop and instr in a procedure:
    procedure xxx (p_sql in varchar2) is
    v_len number := length(p_sql);
    v_comma number := 0;
    v_next_comma number := 0;
    v_string varchar2(1000);
    begin
    for v_cnt in 1..v_len loop
    if v_comma = 0 then
    v_comma := instr(p_sql, ',');
    v_string := substr(p_sql, 1, v_comma-1);
    dbms_output.put_line(v_string);
    else
    v_comma := instr(p_sql, ',');
    v_next_comma := instr(substr(p_sql, v_comma+1, v_len-v_comma), ',');
    v_string := substr(p_sql, v_comma+1, v_next_comma-1);
    dbms_output.put_line(v_string);
    end if;
    if v_comma > 0 and v_next_comma = 0 then
    v_cnt := v_comma +1; <--- v_cnt will not change
    elsif v_next_comma > 0 then
    v_cnt := v_next_comma +1;
    end if;
    end loop;
    end xxx;
    From the above coding, however, I found a problem that v_cnt will not skip to the 'comma' position. And I feel that it is not efficient if the length of the string is very long...
    So, is there another way to do? Please help. Thank you!
    Remarks: Database 10g.
    Regards.

    yes, it would see that you aren't running 10r2. here is the code you need
    http://www.oraclecommunity.net/group/sqlplus/forum/topic/show?id=1988559%3ATopic%3A9386
    the file - vsql.sql - is attached at the end. instead of using a cursor loop (curr_sql in my code) to get a statement, you'll just use your sql statement already in a variable. it's a simple procedure - breaks on certain keywords, or delimiters (like commas) before the linessize (132) is reached, and dbms_outputs the text.
    changing the end of script to use a static sql statement:
    begin
    my_stmt := 'MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_cdn(ST) */ INTO STATS_TARG'||
    'ET$ ST USING (SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN STALENESS > .5 THE'||
    'N 128 ELSE 0 END + AFLAGS AFLAGS, STATUS, SID, SERIAL#, PART#, BO# FROM ( SELECT'||
    ' /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.F'||
    'LAGS,16), 16, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M'||
    '.FLAGS, 1), 1, GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES ';
    sql_frmt ( my_stmt, save_line, prefix );
             if (save_line is not null) then
                dbms_output.put_line( prefix || save_line );
                save_line := null;
             end if;
    end;
    MERGE /*+ dynamic_sampling ( ST 4 ) dynamic_sampling_est_cdn ( ST ) */ INTO STATS_TARGET$ ST USING (
    SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN STALENESS > .5 THEN 128 ELSE 0 END + AFLAGS AFLAGS, STATUS, SID, SERIAL#, PART#,
    BO#
    FROM (
    SELECT /*+ no_expand dynamic_sampling ( 4 ) dynamic_sampling_est_cdn */ DECODE ( BITAND ( T.FLAGS, 16 ), 16, ROUND ( LOG ( 0.01,
    NVL ( LEAST ( 100, GREATEST ( 0.01, ( DECODE ( BITAND ( M.FLAGS, 1 ), 1, GREATEST ( T.ROWCNT, M.INSERTS ), LEAST ( ( M.INSERTS
    + M.DELETES

  • Questions about a MasterQuize program

    Hi, everyone.
    I got a in-class case study program like this in the class:
    * This class stores/represents a question that has one of two
    * answers: True or False.
    * <p></p>
    * It needs to track the following information:
    * <ul>
    * <li>Question text</li>
    * <li>Correct answer</li>
    * <li>The user's answer to the question</li>
    * <li>Points value</li>
    * <li>Category</li>
    * <li>Difficulty rating</li>
    * </ul>
    // Our question should allow us to do the following:
    // - Create question (constructor) -- may be overloaded
    // - Print (display) question
    // - Check client's answer for correctness
    // - Get points value for question (0 or max)
    //   - Add "No-BS" grading option
    // - Getting client's answer
    // - Check to see if answered by client
    public class TrueFalseQuestion
        // Class constants (to simplify changes to common values)
        public static final int MIN_DIFFICULTY_LEVEL = 1;
        public static final int MAX_DIFFICULTY_LEVEL = 5;
        public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
        public static final int DEFAULT_POINT_VALUE = 1;
        public static final String DEFAULT_CATEGORY_VALUE = "none";
        // Class instance variables
        private String questionText;
        private String correctAnswer;
        private String userAnswer;
        private int pointsValue;
        private String category;
        private int difficultyLevel; // TODO: Set a range for difficulty levels
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion object.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
            // Set starting values for all instance variables
            questionText = text.trim();
            correctAnswer = answer.trim();
            userAnswer = null; // No user answer supplied yet
            if (pts >= 1) // We assume that every problem is worth at least 1 point
                pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL) // within range
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Simplified (overloaded) constructors
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * <p></p>
         * Defines a TrueFalseQuestion with default values for category and difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts)
            // Call pre-existing constructor with default category and difficulty
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value, default category,
         * and default difficulty level.
        public TrueFalseQuestion (String text, String answer)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, DEFAULT_CATEGORY_VALUE,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, pts, ctgry,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value and the default
         * difficulty level.
        public TrueFalseQuestion (String text, String answer, String ctgry)
            // Use default points and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default value for the question category.
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            // Use default category
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Clients can invoke this method to retrieve the text of the current question.
        // We chose to return the text instead of printing it; this allows the client
        // to decide how it should be presented (via a GUI, over a network, etc.)
        public String getQuestion ()
            return questionText;
        // This method allows the client to store the user's answer inside the
        // TrueFalseQuestion object for easy comparison
        public void submitAnswer (String ans)
            userAnswer = ans;
        // This method reports whether the submitted answer matches the correct answer
        public boolean answerIsCorrect(String userAns) // This version does all the work
            if (userAns == null) // No response from user (yet)
                return false;
            else
                // Normalize and compare answers
                char key = normalize(correctAnswer); // Get 't' or 'f'
                char ans = normalize(userAns); // Get 't' or 'f'
                return (key == ans);
        public boolean answerIsCorrect ()
            return answerIsCorrect(userAnswer); // Call previously-defined version
        public int getPointsValue()
            return pointsValue;
        // Return the points awarded for the user's answer. This method does
        // NOT support partial credit; answers are either correct or incorrect.
        // If the "No-BS" option is selected, blank (unanswered) questions receive
        // 1 point automatically; otherwise, the score will be either 0 or the
        // question's normal points value.
        public int getPointsEarned(boolean useNoBSRule)
    System.out.println("useNoBS: " + useNoBSRule + "\tuserAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (useNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0; // Without "No-BS", treat blank problems as incorrect
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        // This method returns true if the user has submitted an answer
        // for this question (regardless of whether that answer is correct)
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        // Private helper method to convert all answers to single lowercase
        // letters (in this case, 't' for TRUE and 'f' for FALSE)
        private char normalize (String input)
             if (input != null)
                  input = input.trim(); // Remove leading whitespace
                  input = input.toLowerCase();
                  return input.charAt(0);
             else
                  return ' ';
    import java.util.*;
    * This class represents a complete test or quiz.
    * Data stored:
    * - List of questions
    * - Total score earned
    * - Total score possible
    * - Name/title of test
    * - Instructions
    *  - Category/class assignment
    *  - Student (test-taker) name
    *  - Date test is/was taken
    *  - Time started
    *  - Time completed
    *  - Maximum time allotted
    *  - (List of) Maximum attempts per question
    *  - List of attempts per question
    *  - List of difficulty ratings per question
    *  - Assignment weight
    * Methods:
    * - Constructor
    * - Add question
    * - Display question
    * - Display test
    * - Display instructions
    *      - Generate random exam
    * - Take/administer test
    * - Get score
    * STUFF TO DO:
    * - Add time/date restrictions
    * - Add network access restrictions
    * - Add other restrictions/allowances?
    * @author (your name)
    * @version (a version number or a date)
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<TrueFalseQuestion> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<TrueFalseQuestion>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (TrueFalseQuestion q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                TrueFalseQuestion t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  TrueFalseQuestion t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  TrueFalseQuestion t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }// Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
              TrueFalseQuestion x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
    }This program is far from finishing.
    I have many questions about this program, but let me ask this one first:
    In the TrueFalseQeustion class, why are there so many constructors? What is the purpose of setting some of the variables to default values?
    Thank you very much!!!
    Edited by: Terry001 on Apr 16, 2008 10:02 AM

    newark wrote:
    Stop ignoring the error messages. You seem to think that an error message means you're doing the assignment wrong. It's probably a simple fix. Post the exact error messages, as well as the code that corresponds to them. The error message will tell you exactly what line the problem occurs on, so you know right where to look.Hi,
    After some modifications, the program now gives me the result the assignment wants when I run it. But I still have trouble with the MultipleChoiceQuestion class
    Here is the complete program
    QuizDriver class
    // Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
                                   Question x;
              x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the name of this class\na.CSE110\nb.CSE114", "b, CSE114", 3);
              t.addQuestion(x);
    }Test
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<Question> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<Question>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (Question q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                Question t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  Question t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  Question t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }Question
    public class Question
    // Class constants
      public static final int MIN_DIFFICULTY_LEVEL = 1;
      public static final int MAX_DIFFICULTY_LEVEL = 5;
      public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
      public static final int DEFAULT_POINT_VALUE = 1;
      public static final String DEFAULT_CATEGORY_VALUE = "none";
      // Class instance variables
      protected String questionText;
      protected String correctAnswer;
      protected String userAnswer;
      protected int pointsValue;
      protected String category;
      protected int difficultyLevel; //TODO: set a range for difficulty levels
      // Constructors
      public Question (String text, String answer, int pts, String ctgry, int level)
          questionText = text.trim();
          correctAnswer = answer.trim();
          userAnswer = null;
          if (pts >= 1)
              pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL)
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Overloaded (simplied) constructors
        public Question (String text, String answer, int pts)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, String ctgry)
            this(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, String ctgry)
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, int level)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String getQuestion ()
            return questionText;
        // Use this method to store user answers
        public void submitAnswer (String ans)
            userAnswer = ans;
        public boolean answerIsCorrect (String userAns)
            if (userAns == null)
                return false;
            else
                // Normalize and compare answers
                char key = normalize (correctAnswer); //Get the first letter of an answer
                char ans = normalize (userAns); //Get the first letter of an answer
                return (key == ans);
        public boolean answerIsCorrect ()// Why do we need two answerisCorrect() methods?
            return answerIsCorrect (userAnswer);
        public int getPointsValue ()
            return pointsValue;
        public int getPointsEarned (boolean userNoBSRule)
            System.out.println ("useNoBS: " + userNoBSRule + "\tuseAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (userNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0;
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        public String getCorrectAnswer ()
            return correctAnswer;
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        private char normalize (String input)
            if (input != null)
                input = input.trim();
                input = input.toLowerCase();
                return input.charAt(0);
            else
                return ' ';
           TrueFalseQuestion
    public class TrueFalseQuestion extends Question
      public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
          super(text, answer, pts, ctgry, level);
        public TrueFalseQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
    } MultipleChoiceQuestion
    public class MultipleChoiceQuestion extends Question
       public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry, int level)
           super(text, answer, pts, ctgry, level);
        public MultipleChoiceQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        String possibleAnswers;
        public String getPossibleAnswers ()
            return possibleAnswers;
        public void addAnswerChoice (String answerChoice)
            String ansChoice = answerChoice;
            questionText += "\nansChoice";
            possibleAnswers = answerChoice;
        public void printAnswerChoice ()
            System.out.println (questionText);
    } I don't understand why the assignment wants me to build a method in the MultpleChoiceQuestion class to store the potential answer choices, I can make the program display the potential answer choices by including them in the questionText as following in the QuizDriver class
    Question x;
    x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
    t.addQuestion(x); I don't know how to allow the client to construct the list of answer choices one at a time(add one potential answer choice by calling the addAsnwerChoices() method once)
    Here are a few original sentences of my assignment which describe what I should do with the MultipleChoiceQuestion class
    Using TrueFalseQuestion as a model, develop a new MultipleChoiceQuestion class that can be used to represent a problem where the user must select one of several answer choices (e.g., "Select answer (a), (b), (c), or (d)."). This new question type should have all of the same externally-visible functionality as TrueFalseQuestion, except that it must:
    maintain a list of potential answer choices
    provide a method that allows the client to construct the list of answer choices one at a time (i.e., the client should be able to call an addAnswerChoice() method to pass a new answer option to the MultipleChoiceQuestion.)
    display (as part of the question text) the list of answer choices with appropriate letters ("abcd" instead of "0123") I don't understand what these sentences mean.
    1. "Maintain a list of potential answer choices"-- this reminds me of the getPossibleAnswerChoice() method in the TrueFalseQuestion class
    public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
        }I wonder that if the potential answer choices I have to store in the MultipleChoiceQuestion class are only letters "a", "b", "c", "d", etc, or include the answer text coming after the letters(eg. a.Red, b.Green)
    2. "provide a method that allows the client to construct the list of answer choices one at a time". How do I achieve the functionality "one at a time"? Do I need to pass the input of the client (a potential answer choice) to the variable of the method which stores the list of potential answers?
    3. "display (as part of the question text) the list of answer choices with appropriate letters". My question here is that: When the client type in one possible answer, should I append it to the variable questionText? (So I use the questionText variable in the methods of the first and second steps)
    Thank you very much for your nice help!
    Edited by: Terry001 on Apr 21, 2008 8:01 AM

  • How to store the data of a file into an ArrayList?

    Hi! everyone.
    I want to know
    if I have a File, and the data in the file are type int, type String...
    And I have a ArrayList which is of type Question
    How do I store the data of that file into the ArrayList
    I tried to use the while loop(use the hasNextLine() to read the data line by line)
    But I cannot add data which are not of type Question to the ArrayList.
    Can you tell me what I should do, please?
    I also wonder that
    The data of the file are of many types, but when I try to read it with the nextLine(), the data all turn out to be of type String. Why?
    Thank you.
    Edited by: Terry001 on Apr 30, 2008 1:13 PM

    No, a line in the file is just part of a question
    The format of the file is like this:
    *<question type code>                    :     String*
    *<question point value>                    :     int*
    *<question category>                         :     String*
    *<question difficulty level>               :     int*
    *<question text>                              :     String*
    *<question correct answer>               :     String*
    *<optional question-specific data>     :     String*
    *<question terminator>                    :     String*
    And here is an example
    TF //TrueFalseQuestion
    5 //points value
    None //category
    3 //difficulty level
    The capital of the United States is Washington, D.C. //question text
    True // answer
    *** //quetion terminator
    I created an ArrayList in the Test class:
    private ArrayList<Question> questions; // Create inside constructor
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<Question>(); //[MAX_NUMBER_OF_QUESTIONS];
        }And I tried to use the following method to store the data of the file to the ArrayList
    // This method loads a set of questions from a plain text file
        public void loadQuestionsFromFile(String fileName) throws FileNotFoundException
            try
                File fileReader = new File("input.txt");
                Scanner sc = new Scanner(fileReader);
                while (sc.hasNextLine())
                    // I don't know how to pass the data I got from the nextLine() method to the ArrayList because they are of different type
            catch (FileNotFoundException a)
                System.out.println(a);
        }    As all you said, I should create an Question object in the while loop
    Question temp = new Question ();But I have no idea how to pass the int and String to the Question object.
    Thank you

  • Multi-column chart issues

    Hi,
    I'm trying to make a 2d column chart of quiz entry results with multiple series (one per possible answer) but it's not working as intended. I have 5 series all with code like:
    select null link, substr(question, 1, INSTR(question,' - ',1,1)), count(answer) from quizdata
    where answer ='Strongly Disagree'
    and :P13_DEP = emp_dep
    and to_char(sysdate, 'YYYY') = to_char(ins_date, 'YYYY')
    group by substr(question, 1, INSTR(question,' - ',1,1))Except with the answer being different (Agree, Strongly Agree~). However, when I load the page it only shows the results of the first series (Strongly Disagree, or if I delete that then Disagree)...anyone see what I'm doing wrong?
    x-axis = question
    y-axis = count (number of people to select that option this year)
    There should be 5 columns per question.
    Mike

    For anyone who has a similar issue with multiple series being displayed the reason for my error was that I didn't specify a name for the value...since all of them were count(c) they clashed; making it count(c) "Disagree" etc made it display as intended.
    Mike

  • Text Style question re INSTR Global text source - Logic Pro X

    I write arrangments for an 18 piece big band. The line up is 5 saxes, 4 trumpets, 4 trombones, piano, bass, drums, male vocalist & female vocalist.
    I only have one GM sound module (Kentron SD2). I use a Midisport 2x4 Midi Interface between the Mac Mini and the Sound Module.
    The set up in Logic Pro X is that in the midi envronmemnt I have 1 multi instrument with the complete band linked up to that
    The set up is as follows:
    Channel 1  1st and 2nd Altos
    Channel 2  1st and 2nd Tenors
    Channel 3  Baritone
    Channel 4  1st and 2nd Trumpets
    Channel 5  3rd and 4th Trumpets
    Channel 6  1st and 2nd Trombones
    Channel 7  3rd and 4th Trombones
    Channel 8  Piano
    Channel 9  Bass
    Channel 10 Drums
    Channel 11 Male Vocal
    Channel 12 Female Vocal
    All the above instrments are on individual tracks even where they share a midi channel- these parts are printed out for use by the band
    Channel 13-16 are spare channels that I use during the development of the arrangement - the track contents for these are not printed out
    Here is the problem. When I print out the parts for the various insturments and use the INSTR global text to identify the specific instrument on the part header, what is displayed is the patch identity for the various instruments as indicateid in the Library. Logic is not reading the track name for this.
    It follows that 1st and 2nd Altos will show on the part header  Alto Sax - similarly for the other wind instruments sharing a midi channel.
    I am a recent convert from Logic Audio for Windows v 5.5.1 where I used the same set up. In that case Logic read the track information and therefore the instrument identification was correctly displayed on the printed parts.
    Any ideas how I can overcome this problem without having to go into each part and manually change the instrument description.
    thanks
    Swingtones

    Hi everyone, Sorry for my earlier long post, I just found the answer. All I needed to do is select REGION instead of INSTR
    Happy Days!
    Swingtones

  • Substr/Instr/analytics question

    I have a table like this on 9i (soon to be 10g)
    CREATE TABLE BASELINE_TESTRUN
    RUNID VARCHAR2(42 BYTE) NOT NULL
    with data like this:
    insert into BASELINE_TESTRUN values ('DEV1-XXX-01');
    insert into BASELINE_TESTRUN values ('DEV1-XXX-03');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-01');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-02');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-03');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-05');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-06');
    insert into BASELINE_TESTRUN values ('DEV2-XXX-06');
    The output should be the next higher number of the last substring in runid
    DEV1-XXX 04
    DEV2-XXX 07
    There may be missing no, and/or duplicates.
    This was my Query for this - It works but seems rather clumsy. I would like to have done it in 1 SQL (avoiding the select from (select)):
    select runid , max (next_runno) next_runno
    from
    select substr(runid,1,instr(runid,'-',1,2)-1) runid,
    max(substr(runid,instr(runid,'-',1,2)+1))
    over(partition by substr(runid,1,instr(runid,'-',1,2)-1)) + 1 next_runno
    from baseline_testrun
    where instr(runid,'-',1,2) > 0
    ---where runid like 'whatever%'
    group by runid;
    Alternate solutions would be appreciated ... and NO I did not define that table like this.
    I would have preferred a sequence and a keys that was not composit (Codd/Date, pls. forgive the creators of the table)
    best regards
    Mette

    You are grouping you data. In this case an aggregate function could be more helpful than an analytic function.
    In 9i already you are be able to use the KEEP syntax for aggregates.
    Look at this example
    SQL> select substr(runid,1,instr(runid,'-',1,2)-1) group_run,
      2  to_number(
      3  max(substr(runid, instr(runid,'-',1,2)+1))
      4  keep (dense_rank last order by substr(runid, instr(runid,'-',1,2)))
      5  )+1 max_run
      6  from BASELINE_TESTRUN
      7  group by substr(runid,1,instr(runid,'-',1,2)-1);
    GROUP_RUN                                     MAX_RUN
    DEV1-XXX                                            4
    DEV2-XXX                                            7
    SQL> Dimas Version is better, since it avoids the keep syntax, that is not really needed for this special case.
    Message was edited by:
    Sven W.

  • NOT INSTR not working

    Hi All,
    I have a form page which is having multi select list. I am passing the multiselect list value from page 1 to page 2. In page 2 i want to use that value in my code to exclude it from report. But my not instr is not working. Please check my code. My last AND is for not instr.
    Edited by: User_Apex on May 25, 2011 8:21 AM

    Bingo...its working.... Thanks a million...i was using some other P2 instead of P3.
    Well my question is still unsolved. Please check this thread of mine. It is related to my query
    passing the value of multi select list from one page to another
    You know when i am selecting two values from multi select list from page 1 and passing it to page 2 then only 1 value is coming in page 2. But when i am clicking on edit for page 2 and then running the page two then both selected values are displayin...i dont know where it is failing. Any suggestion.?
    Regards

  • A CSS question I think

    If you would take a look at this page http://www.gcfa.org/add_data.asp you will see that between the header and the navigation bar a white line is there. I don't won't it there, how can I get rid of it?
    It must be in my CSS I guess, I checked the images and neither one of them the Header nor the Navigation menu have a white border. Here's my code. Thanks in advance for your help.
    My page:
    <%@LANGUAGE="VBSCRIPT"%>
    <!--#include file="Connections/BishopsLogin.asp" -->
    <%
    Dim MM_editAction
    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
      MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
    End If
    ' boolean to abort record edit
    Dim MM_abortEdit
    MM_abortEdit = false
    %>
    <%
    If (CStr(Request("MM_insert")) = "form1") Then
      If (Not MM_abortEdit) Then
        ' execute the insert
        Dim MM_editCmd
        Set MM_editCmd = Server.CreateObject ("ADODB.Command")
        MM_editCmd.ActiveConnection = MM_BishopsLogin_STRING
        MM_editCmd.CommandText = "INSERT INTO dbo.DeptData (Department, SubpageTitle, LinkDescription, URL, DateLastModified, ModifiedBy) VALUES (?, ?, ?, ?, ?, ?)"
        MM_editCmd.Prepared = true
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 30, Request.Form("Department")) ' adLongVarChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, 1000, Request.Form("SubpageTitle")) ' adLongVarChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 201, 1, 1000, Request.Form("LinkDescription")) ' adLongVarChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 201, 1, 500, Request.Form("URL")) ' adLongVarChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 201, 1, 10, Request.Form("DateLastModified")) ' adLongVarChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 201, 1, 50, Request.Form("ModifiedBy")) ' adLongVarChar
        MM_editCmd.Execute
        MM_editCmd.ActiveConnection.Close
        ' append the query string to the redirect URL
        Dim MM_editRedirectUrl
        MM_editRedirectUrl = "adding_data_results.asp"
        If (Request.Form<> "") Then
          If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
            MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.Form
          Else
            MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.Form
          End If
        End If
        Response.Redirect(MM_editRedirectUrl)
      End If
    End If
    %>
    <%
    Dim rs_Add_Data__MMColParam
    rs_Add_Data__MMColParam = "1"
    If (Request.QueryString("RecordID") <> "") Then
      rs_Add_Data__MMColParam = Request.QueryString("RecordID")
    End If
    %>
    <%
    Dim rs_Add_Data
    Dim rs_Add_Data_cmd
    Dim rs_Add_Data_numRows
    Set rs_Add_Data_cmd = Server.CreateObject ("ADODB.Command")
    rs_Add_Data_cmd.ActiveConnection = MM_BishopsLogin_STRING
    rs_Add_Data_cmd.CommandText = "SELECT ID, Department, SubpageTitle, LinkDescription, URL, DateLastModified, ModifiedBy FROM dbo.DeptData WHERE ID = ? ORDER BY ID DESC"
    rs_Add_Data_cmd.Prepared = true
    rs_Add_Data_cmd.Parameters.Append rs_Add_Data_cmd.CreateParameter("param1", 5, 1, -1, rs_Add_Data__MMColParam) ' adDouble
    Set rs_Add_Data = rs_Add_Data_cmd.Execute
    rs_Add_Data_numRows = 0
    %>
    <%
    Dim MM_paramName
    %>
    <%
    ' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
    Dim MM_keepNone
    Dim MM_keepURL
    Dim MM_keepForm
    Dim MM_keepBoth
    Dim MM_removeList
    Dim MM_item
    Dim MM_nextItem
    ' create the list of parameters which should not be maintained
    MM_removeList = "&index="
    If (MM_paramName <> "") Then
      MM_removeList = MM_removeList & "&" & MM_paramName & "="
    End If
    MM_keepURL=""
    MM_keepForm=""
    MM_keepBoth=""
    MM_keepNone=""
    ' add the URL parameters to the MM_keepURL string
    For Each MM_item In Request.QueryString
      MM_nextItem = "&" & MM_item & "="
      If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
        MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
      End If
    Next
    ' add the Form variables to the MM_keepForm string
    For Each MM_item In Request.Form
      MM_nextItem = "&" & MM_item & "="
      If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
        MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
      End If
    Next
    ' create the Form + URL string and remove the intial '&' from each of the strings
    MM_keepBoth = MM_keepURL & MM_keepForm
    If (MM_keepBoth <> "") Then
      MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
    End If
    If (MM_keepURL <> "")  Then
      MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)
    End If
    If (MM_keepForm <> "") Then
      MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
    End If
    ' a utility function used for adding additional parameters to these strings
    Function MM_joinChar(firstItem)
      If (firstItem <> "") Then
        MM_joinChar = "&"
      Else
        MM_joinChar = ""
      End If
    End Function
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>GCFA: Update Data Files</title>
    <link href="samples/OneColumn.css" rel="stylesheet" type="text/css" />
    <style type="text/css" media="screen">
    @import url("images/nav_bar.css");
    </style>
    <script language="JavaScript1.2" type="text/javascript" src="images/mm_css_menu.js"></script>
    <script type="text/javascript">
    <!--
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    //-->
    </script>
    </head>
    <body class="oneColLiqCtrHdr" onload="MM_preloadImages('images/Slices/nav_bar_r2_c2_f2.gif','images/Slices/nav_bar_r2_c 3_f2.gif','images/Slices/nav_bar_r2_c5_f2.gif')">
    <div id="container">
        <div id="header">   
           <div id="#DataFiles_LOGO"></div>
      </div>
      <div id="mainContent">
        <div id="FWTableContainer1445733177">
          <table border="0" cellpadding="0" cellspacing="0" width="799">
            <!-- fwtable fwsrc="nav_bar_revised.png" fwpage="Page 1" fwbase="nav_bar.gif" fwstyle="Dreamweaver" fwdocid = "1445733177" fwnested="0" -->
            <tr>
              <td><img src="images/Slices/spacer.gif" width="1" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="221" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="221" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="5" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="221" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="130" height="1" border="0" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="1" height="1" border="0" alt="" /></td>
            </tr>
            <tr>
              <td colspan="6"><img name="nav_bar_r1_c1" src="images/Slices/nav_bar_r1_c1.gif" width="799" height="5" border="0" id="nav_bar_r1_c1" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="1" height="5" border="0" alt="" /></td>
            </tr>
            <tr>
              <td rowspan="2"><img name="nav_bar_r2_c1" src="images/Slices/nav_bar_r2_c1.gif" width="1" height="25" border="0" id="nav_bar_r2_c1" alt="" /></td>
              <td><a href="javascript:;" onmouseout="MM_swapImgRestore();MM_menuStartTimeout(1000)" onmouseover="MM_menuShowMenu('MMMenuContainer1015135953_0', 'MMMenu1015135953_0',6,24,'nav_bar_r2_c2');MM_swapImage('nav_bar_r2_c2','','images/Slices /nav_bar_r2_c2_f2.gif',1);"><img name="nav_bar_r2_c2" src="images/Slices/nav_bar_r2_c2.gif" width="221" height="24" border="0" id="nav_bar_r2_c2" alt="" /></a></td>
              <td><a href="http://www.gcfa.org/Department_Data.aspx" target="_top" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('nav_bar_r2_c3','','images/Slices/nav_bar_r2_c3_f2.gif',1);"><i mg name="nav_bar_r2_c3" src="images/Slices/nav_bar_r2_c3.gif" width="221" height="24" border="0" id="nav_bar_r2_c3" alt="Department Data Files" /></a></td>
              <td rowspan="2"><img name="nav_bar_r2_c4" src="images/Slices/nav_bar_r2_c4.gif" width="5" height="25" border="0" id="nav_bar_r2_c4" alt="" /></td>
              <td><a href="http://www.gcfa.org/help_topics.html" target="_top" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('nav_bar_r2_c5','','images/Slices/nav_bar_r2_c5_f2.gif',1);"><i mg name="nav_bar_r2_c5" src="images/Slices/nav_bar_r2_c5.gif" width="221" height="24" border="0" id="nav_bar_r2_c5" alt="Help Topics" /></a></td>
              <td rowspan="2"><img name="nav_bar_r2_c6" src="images/Slices/nav_bar_r2_c6.gif" width="130" height="25" border="0" id="nav_bar_r2_c6" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="1" height="24" border="0" alt="" /></td>
            </tr>
            <tr>
              <td colspan="2"><img name="nav_bar_r3_c2" src="images/Slices/nav_bar_r3_c2.gif" width="442" height="1" border="0" id="nav_bar_r3_c2" alt="" /></td>
              <td><img name="nav_bar_r3_c5" src="images/Slices/nav_bar_r3_c5.gif" width="221" height="1" border="0" id="nav_bar_r3_c5" alt="" /></td>
              <td><img src="images/Slices/spacer.gif" width="1" height="1" border="0" alt="" /></td>
            </tr>
          </table>
          <div id="MMMenuContainer1015135953_0">
            <div id="MMMenu1015135953_0" onmouseout="MM_menuStartTimeout(1000);" onmouseover="MM_menuResetTimeout();"> <a href="http://www.gcfa.org/add_data.asp" target="_top" id="MMMenu1015135953_0_Item_0" class="MMMIFVStyleMMMenu1015135953_0" onmouseover="MM_menuOverMenuItem('MMMenu1015135953_0');"> Add Data </a> <a href="http://www.gcfa.org/update_data.asp" target="_top" id="MMMenu1015135953_0_Item_1" class="MMMIVStyleMMMenu1015135953_0" onmouseover="MM_menuOverMenuItem('MMMenu1015135953_0');"> Update Data </a> <a href="http://www.gcfa.org/delete_data.asp" target="_top" id="MMMenu1015135953_0_Item_2" class="MMMIVStyleMMMenu1015135953_0" onmouseover="MM_menuOverMenuItem('MMMenu1015135953_0');"> Delete Data </a> </div>
          </div>
        </div>
        <br />
            <br />
            <br />
            <br />
            <br />
          <strong>Enter the information you are wanting  to add to our database:</strong><br />
      </div>
        <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1" target="_top" id="form1">
          <table width="689" align="left">
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap">Department:</td>
          <td><label>
            <input name="Department" type="text" id="Department" size="75" maxlength="500" />
          </label></td>
        </tr>
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap">Subpage Title:</td>
          <td><label>
            <input name="SubpageTitle" type="text" id="SubpageTitle" size="75" maxlength="1000" />
          </label></td>
        </tr>
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap">Link Description:</td>
          <td><label>
            <input name="LinkDescription" type="text" id="LinkDescription" size="75" maxlength="1000" />
          </label></td>
        </tr>
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap">URL:</td>
          <td><input name="URL" type="text" id="URL" size="75" maxlength="500" /></td>
        </tr>
        <tr valign="baseline">
          <td height="24" align="left" valign="top" nowrap="nowrap">Date Modified:</td>
          <td><input name="DateLastModified" type="text" id="DateLastModified" size="75" maxlength="10" /></td>
        </tr>
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap">Modified By:</td>
          <td><label>
            <input name="ModifiedBy" type="text" id="ModifiedBy" size="75" maxlength="50" />
          </label></td>
        </tr>
        <tr valign="baseline">
          <td height="20" align="left" valign="top" nowrap="nowrap"> </td>
          <td> </td>
        </tr>
        <tr valign="baseline">
          <td align="left" valign="top" nowrap="nowrap"><p> </p></td>
          <td align="left" valign="top" nowrap="nowrap"><label>
            <input type="submit" name="Add_Info" id="Add_Info" value="Add data to database now!" />
          </label></td>
        </tr>
      </table>
      <p> </p>
      <p><br />
          <br />
          <br />
          <br />
          </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p><br />
          </p>
      <input type="hidden" name="MM_insert" value="form1" />
    </form> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p> </p>
      <p>  </p>
    </div>
      <div id="footer">
        <p align="center">This site is maintained by the General Council on Finance and Administration <script language="JavaScript">
    var today_date= new Date()
    var year=today_date.getFullYear()
    document.write(year)
    //--> </script>
    &copy;</p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    </body>
    </html>
    <%
    rs_Add_Data.Close()
    Set rs_Add_Data = Nothing
    %>
    My CSS Pages:
    @charset "utf-8";
    body {
    /*background:#ffffff;*/
    margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
    padding: 0;
    text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
    /*color: #000000;*/
    width: 100%;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    background-repeat: no-repeat;
    background-position: right top;
    background-image: url(../images/body_bg.jpg);
    .oneColLiqCtrHdr #container {
    width: 99%; /* the auto margins (in conjunction with a width) center the page */
    /* border: 1px solid #000000;*/
    text-align: left; /* this overrides the text-align: center on the body element. */
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    background-color: ;
    background-repeat: no-repeat;
    background-position: right top;
    .oneColLiqCtrHdr #header {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: 700;
    color: #FFFFFF;
    font-size: 18px;
    background-repeat: no-repeat;
    height: 124px;
    width: 100%;
    background-image: url(../images/dept_data_files_logo.jpg);
    padding: 0px;
    /*background-color: #67120D;*/
    .oneColLiqCtrHdr #mainContent {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #3C0D0D;
    font-weight: 700;
    padding-top: 0;
    padding-right: 0px;
    padding-bottom: 0;
    padding-left: 0px;
    margin: 0px;
    width: 760px;
    .oneColLiqCtrHdr #footer {
    padding: 0 10px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: 700;
    color: #FFFFFF;
    background-color: #000000;
    /*width:780px;*/
    .oneColLiqCtrHdr #footer p {
    margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
    padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
    h1 {
    color:#FFFFFF;
    font-size: 36px;
    h2,h3 {
    10px;
    8px;
    color: #000000;
    #DataFiles_LOGO{
    height:127px;
    width: 740px;
    background-repeat: no-repeat;
    background-image: url(../images/dept_data_files_logo.jpg);
    background-position: left top;
    padding: 0px;
    margin: 0px;
    top: 0px;
    float: left;
    And my Navigation CSS:
    td img {
    /* Another Mozilla/Netscape bug with making sure our images display correctly */
    display: block;
    #FWTableContainer1445733177 {
    /* The master div to make sure that our popup menus get aligned correctly.  Be careful when playing with this one. */
    position:relative;
    margin:0px;
    width:799px;
    height:30px;
    text-align:left;
    #MMMenuContainer1015135953_0 {
    /* This ID is related to the master menu div for menu MMMenuContainer1015135953_0 and contains the important positioning information for the menu as a whole */
    position:absolute;
    left:7px;
    top:29px;
    visibility:hidden;
    z-index:300;
    #MMMenu1015135953_0 {
    /* This class defines things about menu MMMenu1015135953_0's div. */
    position:absolute;
    left:0px;
    top:0px;
    visibility:hidden;
    background-color:#ffffff;
    border:1px solid #000000;
    width:208px;
    height:76px;
    .MMMIFVStyleMMMenu1015135953_0 {
    /* This class determines the general characteristics of the menu items in menu MMMenu1015135953_0 */
    border-top:1px solid #000000;
    border-left:1px solid #000000;
    border-bottom:1px solid #ffffff;
    border-right:1px solid #ffffff;
    width:208px;
    height:26px;
    voice-family: "\"}\"";
    voice-family:inherit;
    width:200px;
    height:18px;
    .MMMIVStyleMMMenu1015135953_0 {
    /* This class determines the general characteristics of the menu items in menu MMMenu1015135953_0 */
    border-top:0px;
    border-left:1px solid #000000;
    border-bottom:1px solid #ffffff;
    border-right:1px solid #ffffff;
    width:208px;
    height:25px;
    voice-family: "\"}\"";
    voice-family:inherit;
    width:200px;
    height:18px;
    #MMMenu1015135953_0_Item_0 {
    /* Unique ID for item 0 of menu MMMenu1015135953_0 so we can set its position */
    left:0px;
    top:0px;
    #MMMenu1015135953_0_Item_1 {
    /* Unique ID for item 1 of menu MMMenu1015135953_0 so we can set its position */
    left:0px;
    top:26px;
    #MMMenu1015135953_0_Item_2 {
    /* Unique ID for item 2 of menu MMMenu1015135953_0 so we can set its position */
    left:0px;
    top:51px;
    #MMMenuContainer1015135953_0 img {
    /* needed for Mozilla/Camino/Netscape */
    border:0px;
    #MMMenuContainer1015135953_0 a {
    /* Controls the general apperance for menu MMMenuContainer1015135953_0's items, including color and font */
    text-decoration:none;
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:14px;
    color:#ffcc33;
    text-align:center;
    vertical-align:middle;
    padding:3px;
    background-color:#000000;
    font-weight:bold;
    font-style:normal;
    display:block;
    position:absolute;
    #MMMenuContainer1015135953_0 a:hover {
    /* Controls the mouse over effects for menu MMMenuContainer1015135953_0 */
    color:#ffcc33;
    background-color:#990000;

    Glad you sorted this out.
    You might want to mark this as Answered so folks trying to help answer questions won't have to click on this link now.  Thanks!
    E. Michael Brandt
    www.divahtml.com
    www.divahtml.com/products/scripts_dreamweaver_extensions.php
    Standards-compliant scripts and Dreamweaver Extensions
    www.valleywebdesigns.com/vwd_Vdw.asp
    JustSo PictureWindow
    JustSo PhotoAlbum, et alia

  • How to package instrument driver in the user.lib or instr.lib directory

    Hey guys,
    I currently am using bunch of instrument drivers in my project.
    In the VI form it works fine, but I noticed that once converted to an executable,
    there are errors regarding the DLL that the drivers are calling.
    Apparently the driver VI check if its being called in an VI or executable based on the current directory.
    I dont think this is good/correct programming to begin with... but anyways since this driver is
    saved in the instr.lib directory of LabVIEW, when I call it from the executable the default path becomes
    XXX.exe/1abvi3w/instr.lib/.../.../VI above.vi
    I saw this post  which talks about how vi's in instr.lib and user.lib will get the path 1abvi3w in an executable but never talked about how to deal with it.
    so my question is can i solve this problem smoothly without copying the entire driver.lvlib into my project and
    editing the VI above? i am fine with creating wrappers for driver vi's but would to like to avoid editing the driver vi's themselves.

    doradorachan wrote:
    I dont think this is good/correct programming to begin with...
    I don't disagree, but there is a reason this code was written like that (you might note that it doesn't actually work) - before 2009, EXEs were built as flat directory, so stripping twice would bring you to the folder. Because of the addition of libraries, where different files have different names, this was no longer possible, so 2009 builds the EXE as a zipped hierarchy of folders, which is why the check for a folder succeeds even inside the EXE.
    There are a couple of things you can do:
    Replace the VI path with the Application Directory primitive. This is designed to function differently in an EXE. Understandably, you don't want to do that.
    Check the 8.x checkbox in the advanced page of the build settings. This will make the code work correctly, but if there's LVOOP code with VIs of the same name anywhere, it will create extra folders that you need to move around with the EXE.
    Add the driver to the project (just the lvproj, don't actually copy the files) and then set an explicit destination in the build for its VIs as an LLB in the data folder. This will place the driver VIs in an wLLB, which is external to the EXE and should then strip correctly. I can't say I have much experience with this, but I'm assuming it should also work with code that was originally in user.lib. This is probably the cleanest solution in terms of number of files because you only have one extra file.
    Try to take over the world!

  • Urgent - INSTR() Functions in OBIEE?

    Hi All,
    I just got some very good help from the DB experts on these forums about solving a problem with a table join that I had.
    But now I have this SQL query and I'm trying to figure out how to implement this in OBIEE:
    select *
    from TABLE1,TABLE2
    where instr(TABLE2.USER_ID,TABLE1.USER_ID) > 0
    My question is how do I implement this instr() function on OBIEE? I checked physical and business model mapping layers in the repository and it does not allow me to configure this type of join. Is it possible to configure this type of join function to be invoked automatically everytime a user runs a certain query in OBIEE (as if it was a natural join)?
    Any help would be greatly appreciated.
    Alan

    Hi,
    You can refer the below links,
    Substring instr issue in obiee
    extract a string from a string
    http://108obiee.blogspot.in/2009_10_01_archive.html
    Award points it is useful.
    Thanks,
    satya

  • DBMS_LOB.INSTR - Searching for a pattern

    Hi
    I have a program supporting several databases. F.ex SQL2000 and Oracle 8/9.
    The field in question, text, might contain a lot of characters. In Oracle, it's a CLOB,
    on SQL2000 it's a varchar. It is not possible for me to alter the database-structure in
    any ways at this moment. The database-schema is locked.
    My question is pretty simple, you have probably seen it before.
    In SQL2000 I can use this query:
    select count(*) from crm5.text where text like 'n%'.
    The result returned = 8.
    The same on Oracle will be somewhat like:
    select count(*) from crm5.text where dbms_lob.instr( text, 'n') > 0
    The result returned = 29.
    The databases has the same data.
    It seems to me that the dbms_lob.instr
    does a (case-sensitive) query like this:
    select count(*) from crm5.text where text like '%n%
    Is this the right assumption? How can I get the correct number
    of rows and do the search case-insensitive at the same time not
    killing the performance of the database? We use a pretty smart
    little thing on "normal" LIKE. But how can we do this with the
    CLOB?
    Regards,
    Ivar

    Found the solution.
    On Oracle 9, use LIKE as you want.
    On Oracle 8, use
    select count(*) from crm5.text
    where dbms_lob.instr( text, 'N') = 1
    or dbms_lob.instr( text, 'n') = 1.
    Ivar (same account, different mail-address).

  • Question marks in instrumentation library

    I'm running labview 5.1. All of a sudden, when I pop up my functions palette, the instrument drivers show up as a question mark. I've got all the files in the proper directory: \labview\instr.lib
    I know it's a dumb questions, but I can't figure how to set it back.

    Be sure the palette set you have selected is the default one, and that dir.mnu is in your instr.llb directory, if not, you can create a new palette set and link the new menu to that directory, once you do that, the icons should appear again...
    Good luck

Maybe you are looking for

  • All text in all email are blank, can't view attachments.

    After last osx update 10.5.6 I noticed a problem with my email. I have 2 email accounts in mail 3.5 The 1st works fine, the 2nd account lost all text in all email in in-box. Also all attachments are blank. I've tried forwarding the email to another a

  • SAP Netweaver 2004S_SR1 trial version installation error

    I'm gettin the following error when i try to install the Netweaver trial version on Windows. I am launching sapinst and I get the following: GUI engine: no engine connected - waiting for connection on host <hostname> on port 21200 How to solve this i

  • IPod not showing in my computer or ITunes

    I have had my IPod video 30Gb since Christmas 2005 and have had no problems at all with it until now... The last time I connected it to my PC it just showed the battery charging symbol and it never appeared in ITunes. I am doubly confused because my

  • Cannot close notification in workflow-Please help

    We had some notifications that got stuck for new hires and we manually processed them through IQS22 but we are not able to close the notification after processing those new hires! Does anyone happen to know any transaction/tables where I could go by

  • Building DMI pool. & ms-6330

    Hello! I have the K7T Turbo (MS-6330) MB with an Athlon at 1200 MHz The problem is that i cannot make it boot...i always get this message- Building DMI pool. and the computer seems to crash trying to solve th eproblem, i already cleared the CMOS, but