Count paragraphs in entire story (AS)

Hi,
I have long document with all text frame chained.
I need to count paragraphs of entire story. Count paragraphs not get the text and count paragraphs of text.
I cannot find the correct syntax.
Thanks in advance.
Ste

Hi Olav,
thanks for reply. I forgot to tell that I need to point a text frame called with a particular name.
This text frame is linked to all other text frames that flows on other pages.
I found the syntax:
tell application "Adobe InDesign CS4"
set myDoc to active document
tell myDoc
set myTargetFrame to text frame "Ste"
set numPar to count (paragraphs of parent story of myTargetFrame)
end tell
end tell
That return the total number of paragraphs inside the full story.
If I add to your script: of text frame "bla bla bla" I receive error.
Ste

Similar Messages

  • Count paragraphs...

    With this:
    var docParCount = app.documents.everyItem().stories.everyItem().paragraphs.length; // paragraphs
    ... count the paragraphs.
    But in Indesign (F8) we can see the character count, word, paragraph... but only counts paragraphs with text, no line breaks without text. How I can get this with a script?
    Thanks.

    @Marcos – be aware, that with your line of code in your question you'll never get to footnotes or tables in stories or nested tables in tables or tables in footnotes…
    I really think the best way for scripting that would be a GREP search. If it's too slow, I fear you have to write a C++ plugin.
    Uwe

  • How can I find the total word count in my entire Indesign CS3 document?

    I have a book that consists of 10 different files and many many different text boxes. I need to find out what the total word count is for the entire book. Is there a simple way to do this, or do I have to copy and paste all the text from InD into a word file to get the number? Your help is much appreciated.

    This AppleScript will get the total word counts of a folder of ID files—it shouldn't be too hard to convert to JavaScript if you are not using OSX:
    tell application "Finder"
    activate
    set myFolder to choose folder with prompt "Select the folder containing the files to count"
    set myFiles to every file of folder myFolder whose file type is "IDd5"
    end tell
    tell application "Adobe InDesign CS3"
    set wordcounts to {}
    set total to 0
    repeat with j from 1 to (number of items in myFiles)
    open item j of myFiles
    tell active document
    tell every story
    set wordcounts to wordcounts & (count every word)
    end tell
    set totalstories to count every item of wordcounts
    repeat with i from 1 to totalstories
    set total to total + (item i of wordcounts)
    end repeat
    close
    end tell
    end repeat
    display dialog "The documents in the selected folder have a total of " & totalstories & " stories, and " & total & " words"
    end tell
    ========================================
    If you just want the active document's count it would be:
    tell application "Adobe InDesign CS3"
    tell active document
    set wordcounts to {}
    tell every story
    set wordcounts to wordcounts & (count every word)
    end tell
    set total to 0
    set totalstories to count every item of wordcounts
    repeat with i from 1 to totalstories
    set total to total + (item i of wordcounts)
    end repeat
    display dialog "Total words in all " & totalstories & " stories: " & total
    end tell
    end tell

  • [JS] "Story offset" of paragraph

    How do you find out the index of a selected paragraph within a story.
    app.selection[0].paragraphs[0].index;
    For some reason the above returns the index of the first character
    within the story.

    search forum - was discusion about that in last week or so
    or look at this thread:
    CS3 Javascript - finding the paragraph which contain the index page reference
    http://www.adobeforums.com/webx?128@@.3bbf275d.59b75803
    robin
    www.adobescripts.com

  • GREP Question:  Style em spaces that precede only certain triggers within a paragraph

    Hello,
    Up front:
    I do not know GREP well enough to begin to tackle this.  And as usual, I'm in a pinch!
    Also, if you're the visual type, just look at the second to the last paragraph at the bottom, and that may be enough to help you devise the GREP style.  Otherwise, bear with me, I have to think this through...
    I have a list that spans pages of events.  The events are formatted as follows:
    ☐Box City EventNameSpecific Month EndPara (this is a single paragraph in a story of a hundred such paragraphs)
    On paper, each event will need to be preceded with a filled specific-colored box (☐).  I would like this box to be made from a strikethrough applied to an em space using grep, since that is very easy to create using a character style and only requres one setting (the thickness of the strikethrough).
    There is a legend at the bottom of the page, detailing about 14 types of events.  Some of the different types of events will require the same colored box.  But in all I have 7 different colors of boxes in the legend.
    I'm looking to create...
    7 character styles, one for each color (consider this done already)
    1 paragraph style (essentially done, but missing the GREP)
    7 GREP styles (or more as necessary) specifically to apply only to the em space that precede specific sets of text strings
    If I need, or if it is simpler to create 14 GREP styles within the paragraph style, that's fine.  But I understand we may be able to do something like this... (Target phrase 1 | Target phrase 2 | Target phrase 3) in between parenthesis to identify multiple possible triggers within the same rule. 
    I'm fine whether it's 7 or 14 rules in there, I just want to be able to update them over the course of time as necessary - but it won't be for another season at least if I do.
    I don't know GREP well enough to piece together what I need.  Vaguely familiar with look aheads and look behinds.  I do understand it may be easier if the em space is in between other characters, so in my example below I've inserted hairspaces.  But ultimately I want the em space to be flush or nearly flush to the left of the frame.
    For my example below:
    I only want to apply character styles to em dashes based on the strings in bold.
    The strings of text that will trigger the GREP will vary in number of words and may or may not contain a dash.
    I want to ignore Citynames regardless of number of words... Chicago vs. San Francisco vs. Vancouver, BC for example.
    I want to ignore MonthofYear which appears after the second tab.
    The tabs will have set stops as a regular part of the paragraph style.  I'm including them in my example below in case it helps to visualize possible anchors to use in GREP.
    I want the style to be easy enough to modify, for example if I want to simply add an (EEEE New Eventname) to the list of possible options within a rule that triggers a specific character style.  See below should make it clearer.
    So here's what I'm thinking...
    Within the Paragraph Style, the first two examples of GREP Styles should be able to respond to the following criteria:
    Rule 1:  If the paragraph contains any of the following, then apply Char Style 1 to the em dashes in those paragraphs. Use a unique GREP expression for each phrase below where each uses Char Style 1 or use a single GREP expression to capture all three possible triggers:
    ABC BB Invitational
    ABC Xxxxxxxxxxxxxx
    ABC MM-Xxxxxxxxxxxxxxx
    Rule 2: If the paragraph contains any of the following, then apply Char Style 2 … and so on
    Global ABC Xxxxxxxxxxxxxxx
    Global WXYZ Xxxxxxxxxxxxxxx
    I cannot count on “ABC” or “Global” being the trigger for the style, if you know what I mean.  I need the entire phrase (ABC BB Invitational) to be the trigger… if it exist in its entirety, then apply the style to the preceding em dash in that paragraph.  This way if there are any mispellings or if we launch a new event type which ends up flowing in to my document I will know it.
    hairspace  emspace  tabspace CitynameOneWord ABC BB Invitational tabspace MonthofYear
    hairspace  emspace  tabspace  Cityname TwoWrds ABC BB Invitational tabspace MonthofYear
    hairspace  emspace  tabspace  Cityname MultiWrds ABC BB Invitational tabspace MonthofYear
    hairspace  emspace  tabspace  Cityname TwoWrds ABC MM-Xxxxxxxxxxxxxx tabspace MonthofYear
    hairspace  emspace  tabspace  Cityname MultiWrds ABC Xxxxxxxxxxxxxx tabspace MonthofYear
    hairspace  emspace  tabspace  Cityname TwoWrds Global ABC Xxxxxxxxxxxxxxx tabspace MonthofYear
    hairspace  emspace  tabspace  CitynameOneWord Global WXYZ Xxxxxxxxxxxxxxx tabspace MonthofYear
    hairspace  emspace  tabspace  CitynameOneWord Global Special Xxxxxxxxxxxxxxx tabspace MonthofYear
    hairspace emspace tabspace  CitynameOneWord Globl Special WRONG SPELLING  tabspace MonthofYear
    I hope this makes sense and isn't too unnecessarily redundant.  Time for bed.  Fingers crossed someone will post at least one GREP string, so I have some magic code for tomorrow morning!  Ideally, it would be great if you would include a brief explanation of waht the string is doing, but minimally, please do use one of my text stings above, so I know what to mess with and what not to.  ;-)
    <says prayer>
    Thanks!
    Rick

    Well, for a moment I thought I had an idea of how to do this with GREP styles, but I realized it wouldn't work, and I'm not sure it's possible unless you are able to make a separate style for every possible string between the em space and the trigger text. You want to use the lookahead because you want to find that text, but you don't want to select it or apply the style to it, but a lookahead can't handle the kind of variability on string length that you need to work based on just the bolded text at the end.
    It would actually be easier to use paragraph styles based on the bolded text that include a nested character style, I think. That could be handled by find change, but I think the best thing is probably to move this over to scripting.
    Rather than just move the discussion, though, I'm going to ask you to cross post so there are two threads on the chance that someone else who doens't visit scripting might have another idea for you here.
    Here's a link to scripting: InDesign Scripting

  • How can you create a paragraph style that removes all spaces and forces everything to lower case?

    Hi,
    Is there anyway of using GREP (or some other magical wizardry) to create a paragraph style that automatically removes all spaces and forces words into lower case?
    Strange request i know....I'm wanting to use it for datamerged email addresses.
    Thanks

    so doing it through InDesign is a work around I'm exploring.
    Excel has the 'LOWER' function and the ability to record macros for a quick find/replace on the spaces - so that's definitely a good option if it can't be solved purely in InDesign.
    You can change case via scripting in InDesign. This AppleScript (OSX only) will set the case of the selected paragraph style to lower. It would be possible to add some code that would strip spaces as well:
    tell application "Adobe InDesign CS6"
        activate
            set StyleList to name of every paragraph style of active document
        set myDialog to make dialog with properties {name:"Document Paragraph Styles"}
        tell myDialog
            tell (make dialog column)
                tell (make border panel)
                    tell (make dialog column)
                        make static text with properties {static label:"Choose a Style", min width:150}
                    end tell
                    tell (make dialog column)
                        set myPresetsDropdown to make dropdown with properties {string list:StyleList, selected index:0, min width:150}
                    end tell
                end tell
            end tell
        end tell
        set myResult to show myDialog
        if myResult = true then
            --+1 gets the correct name because list starts at 0
            set myStyle to item ((selected index of myPresetsDropdown) + 1) of StyleList
        else
            return
        end if
        destroy myDialog
        tell active document
            set myStyle to paragraph style myStyle
            repeat with j from 1 to (count stories)
                repeat with i from 1 to (count paragraphs in story j)
                    if applied paragraph style of paragraph i of story j is myStyle then
                        --defines a variable to replace the generic this_text parameter in the handler
                        set SCText to the contents of paragraph i of story j
                        set contents of paragraph i of story j to my change_case_of(SCText)
                    end if
                end repeat
            end repeat
        end tell
    end tell
    on change_case_of(this_text)
        set the_comparison_string to "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        set the_source_string to "abcdefghijklmnopqrstuvwxyz"
        set the_new_text to ""
        repeat with thisChar in this_text
            set x to the offset of thisChar in the_comparison_string
            if x is not 0 then
                set the_new_text to (the_new_text & character x of the_source_string) as string
            else
                set the_new_text to (the_new_text & thisChar) as string
            end if
        end repeat
        return the_new_text
    end change_case_of

  • How do I get the paragraph of a text object? (AS)

    Hi,
    I've used find grep to find some text items in my document and get something like this...
    text from character 3947 to character 3949 of text flow id 1662 of document xxx
    I want to work with the paragraph and the following paragraph that contains the text found.
    How do I do that ? as there seems to be no link between a text item and a paragraph.
    Thanks in advance.

    On 8/10/08 8:40 PM, "Schedule Boy" <[email protected]> wrote:<br /><br />> Now how do I find which paragraph of the story it is?<br /><br />You can get the index of the paragraph, which returns the index of the first<br />character of it, and count the number of paragraphs of the story from<br />character 1 to character theIndex.<br /><br />But do you really need to get it? Most times you don't.<br /><br />-- <br />Shane Stanley <[email protected]>

  • Another JS query please - identifying paragraphs by length

    Hi all
    Based on all the new things I discovered yesterday I want to build upon on one of the code snippets and use it to identify all paragraphs up to 10 words in length and apply a "heading" paragraph style. I'm starting with
    app.findGrepPreferences.findWhat = "^.+$";
    myResult = app.activeDocument.findGrep ();
    so myResult contains all paragraphs in the story and next I want to say something like
    myHeadings = those paras whose myResult.length is between 1 and 10
    but I don't know how. After that I think I know how to apply a style to the myHeadings paragraphs (myHeadings.appliedParagraphStyle="A head";).
    Is this a job for a for loop to go through the contents of myResult? But if so what am I looping and how do I get the result of that into myHeadings?
    thanks,
    Iain

    > app.findGrepPreferences.findWhat = "^.+$";
    > myResult = app.activeDocument.findGrep ();
    > so myResult contains all paragraphs in the story
    This is not a very efficient approach. Also, it will get you all paragraphsi in the Document, not the story.
    Additionaly, if you don't set the preferences, it will remember the preferences from whatever has run before, which could do almost anything...so you should always initialize them first:
    app.findGrepPreferences = NothingEnum.nothing;
    app.changeGrepPreferences = NothingEnum.nothing;
    Anyhow, the efficient way to get all the paragraphs is to use:
    myResult = app.activeDocument.stories.everyItem().
                   paragraphs.everyItem().getElements();
    though that uses the .everyItem() syntax which is confusing to understand...
    > myHeadings = those paras whose myResult.length is between 1 and 10
    > but  I don't know how.
    > Is  this a job for a for loop to go through the contents of myResult? But  if so what am I looping and how do I get the result of that into  myHeadings?
    Yes, you're on the right track. Simply declare a looping variable, check the length of myResult.words.length, and loop over everything from 0 to myResult (minus 1, since you're starting to count at zero; if there are 2 items in myResult, myResult.length is 2 but myResult[0] and myResult[1] will be valid and myResult[2] will not).
    Note that myResult.length is the length of myResult -- the number of results -- the number of paragraphs in the document. That's not what you want to check. If you want to check the number of words (as opposed to the number of characters or something else), you need to look at myResult[someNumber].words.length. Here I stick it in a variable, to avoid having to write it out twice:
    var i, wordCount;
    for (i=0; i<myResult.length; i++) {
      wordCount = myResult[i].words.length;
      if ((wordCount >= 1) && (wordCount <= 10)) {
        myResult[i].appliedParagraphStyle = "A head";

  • Not count parargraphs with no printable characters

    This small script below returns the index number of a starting paragraph and the ending paragraph selected within the active Story.  How do we not count paragraphs with no printable characters?
    Ultimately we are trying to incorporate into a spacing script, were the user can select paragraphs in one story to adjust leading, and then the script will calculate the matching paragraph in the other story, adjusting it as well.  We are using insertionPoints and paragraphs as reference points.
    myTF = app.selection[0].parentTextFrames[0];
    myText = app.selection[0];
    startParaIndex = myText.parentStory.insertionPoints.itemByRange (myTF.insertionPoints[0].index, myText.index).paragraphs.length;
    endParaIndex = myText.parentStiry.insertionPoints.itemByRange (myTF.insertionPoints[-1].index, myText.index).paragraphs.length;
    alert("Start : " + startParaIndex + "\n End : " + endParaIndex);

    Hi Phil,
    Sorry I should of been more specific.  What we are really trying to achieve, is that we have a script that changes leading based on user selection with mouse and input into a dialog for size.  But currently the user can only change leading for textframe one at a time.....We have two textframes side by side english, french.
    We are trying to find a way to do both simultaneously.  Unfortunately you cant highlight and select over into two seperate textframes. Hence this script.  We thought by identifying the index number of the starting and ending paragraphs we could achieve this.  But we realised that paragraphs with no printable characters is also being counted which causes problems.
    But currently non printable characters are being counted even in empty paragraphs.  This ultimately results in different index locations of start and ending paragraphs for both textframes.
    Maybe you know of a better way to achieve simultaneous leading of two textframes?
    Here is a short test sample we've been using giving us exact location of non printable characters.
    function cleanContent(str)
        str = StringUtils.replaceAll(str,"\r","");
        str = StringUtils.replaceAll(str,"\n","");
        str = StringUtils.removeExtraSpaces(str,true,true,true);
        return str;
    try
        alert(app.selection[0].paragraphs[0].contents.length);
        var t = app.selection[0].paragraphs[0].contents;
        alert(cleanContent(t).length);
        alert (cleanContent(t));
    catch (e)
        catchApplicationError(e);

  • Word counts and character counts

    Hi,
    I'm using Pages '06. I would like to be able to count the number of words and characters in a paragraph in Pages. I know that if i go to the Document Inspector and click info, it gives me word and character counts for the entire document. Is there a way to do this for individual paragraphs?
    Many thanks.
    Joe.

    After you install WordService (see link in Dennis' post), you can access several new services in the Pages menu. You may have to restart Pages &/or your Mac.
    WordService & CalcService add their functions to any OS X program that has been programed to utilize Services. I've been using them since shortly after I got iWork '05.

  • Differences in Paragraph/Text Style Ranges in CS3/4

    I have code that exports the text from a frame into "block" and "inline" element. The code written for CS3 looks something like this below:
    var doc = app.activeDocument;
    var pageItems = doc.pageItems;
    for (var i = 0; i < pageItems.count(); i++) {
      var pageItem = pageItems.item(i);
      var textFrame = pageItem;
      $.writeln("Number of Paragraphs: " + textFrame.paragraphs.count());
      for (var j = 0; j < textFrame.paragraphs.count(); j++) {
        handleParagraph(textFrame.paragraphs.item(j), j);
    function handleParagraph(para, count) {
      if (para.constructor.name == "Story" ) {
        $.writeln("Paragraph is a Story");
      else {
        for (var i = 0; i < para.textStyleRanges.count(); i++) {
          var text = para.textStyleRanges.item(i);
          $.writeln("PARAGRAPH[" + (count+1) + "] has text [" + para.contents + "]" );
    When you have 2 paragraphs of text that contain a single sentence in the default text format, this outputs something like:
    Number of Paragraphs: 2
    PARAGRAPH[1] has text [Paragraph 1
    PARAGRAPH[2] has text [Paragraph 2]
    However, when I run the same code against a document in CS4, I get:
    Number of Paragraphs: 2
    PARAGRAPH[1] has text [Paragraph 1
    Paragraph 2]
    PARAGRAPH[2] has text [Paragraph 2]
    So the contents of the first text range in paragraph #1 under CS3 stops at the end of paragraph 1, while in CS4, it contains ALL of the contents of the frame (that is of the same style). The content of paragraph #2 starts with the text in paragraph #2.
    Is there a "correct" method for doing what I'm attempting here? Or at least some way of accomplishing this that should work in BOTH CS3 and CS4 (and CS5 as well I suppose)?
    Thanks!
    -Patrick

    It's because of this line
    var text = para.textStyleRanges.item(i);
    -- and, correct, it seems its behaviour has been changed somewhere along the line. Suddenly, a textStyleRange can cross over from one paragraph into the next one if (and only if) the same formatting continues.
    Try searching this forum on textStyleRanges -- I could fix my script when the same occurred to me but I can't recall how

  • How to get total page count (in footer) for just a section?

    In Pages 08, I was able to put a total page count (for only a section) in the footer. However, when I tried doing the same thing in Pages 09, it keeps giving me a total page count for the entire document. I used the same settings for Pages 08 and 09, but 09 keeps giving me the total page count for the entire document. Does anyone know how I can make it work like it did in Pages 08? This is really annoying and preventing me from buying iWork 09 as I need this feature to work. Thanks in advance!

    As far as I know, the Pages '08 behavior was a bug.
    The Pages '09 Help states:
    Here are ways to work with information about a document:
    To add or change descriptive information about a document (author, title, comments, and keywords), click Inspector in the toolbar, click the Document button, and then click Info. Enter or change information in the fields in the pane.
    This information is searchable using Spotlight on computers with Mac OS X version 10.4 and later.
    _To display document statistics, such as number of words, pages, lines, paragraphs, sections, graphics, and characters in the document_, click Inspector in the toolbar, click the Document button, and then click Info.
    _A document’s word and page count_ are always visible at the bottom left of the window. To hide your document’s word count, choose Pages > Preferences, and then deselect “Show word count at window bottom.”
    If a range of text is selected, you can specify the extent of the displayed statistics by choosing Selection or Document from the Range pop-up menu in the Document inspector.
    This time it's clear that except if you select a chunk of text, word count and page count are global document 's properties.
    Yvan KOENIG (from FRANCE lundi 2 février 2009 11:48:56)

  • Funny story! Sending in my T60p a THIRD TIME

    Hey guys!
    I am EXTREMELY angry right now [and resisting the urge to use MUCH stronger words], but I think my ThinkPad will ACTUALLY COME BACK FIXED THIS TIME!
    My ThinkPad is going to be sent to competent technicians! YAY! Not the piece of crap technicians that have screwed with my laptop the past two times, REAL TECHNICIANS that will completely disassemble my laptop and test every component!
    ThinkPad Service: Quick, but UNEFFECTIVE!
    Here's my fun little history with my ThinkPad T60p!
    Stats:
    - ThinkPad T60p
    - Core2Duo 2.00 GHz
    - 2 GB RAM
    - Windows XP Pro
    - ATI FireGL V5250 [512 MB HyperMemory]
    - 100 GB hard drive
    - 3 year depot warranty [THANK THE LORD, I know from the problems I've had I'm going to need it frequently]
    Initial Issues:
    When I first received my laptop, I was overjoyed! It was extremely fast [once I removed the IBM bloatware], had a powerful GPU [no problems with Oblivion ], and ran quiet.
    About 4 months in [December 2007?], my fan began making some noise, but it wasn't terribly noisy. Occasionally [usually when moving it] the fan became louder, but my system ran just fine. I also noticed that the ThinkPad froze on a reboot at the BIOS screen occasionally, but I cannot remember if this happened before the fan problem, or after. Since this was the middle of the college school year, I did not send in my laptop. It ran fine, and was still cool.
    First issue:
    Last month, my hard drive began to die. I rebooted Windows, and it stayed at the Windows loading screen (with the blue bar). A quick hard drive test in the BIOS revealed that my hard drive was failing, but I managed to easily back up all of my files using a Linux LiveCD. I decided that I would deal with the fan problem at the same time, since I figured I would need to send my laptop in.
    The nice people in the Atlanta, Georgia facility (they are all very nice there) offered to send me the hard drive, but upon mentioning the fan problem, decided that I should send the laptop in. The next day, my box arrived, and I shipped it the day after that.
    Laptop "Fixed"?:
    I have heard horror stories of the laptops some of my college friends received back from depots, but none of them had ThinkPads! I purchased mine BECAUSE it had excellent support (not outsourced ), and that ThinkPads are built tough (or so I thought!).
    So, I get my computer back, and, before opening the package, I think:
    "I have a weird feeling. I bet they didn't fix the fan. If they didn't, I am going to be SO angry."
    So, I open it, and I read the paper filled out by the technician (who I would LOVE to name here, but I'm sure that's illegal):
    "Replaced hard drive"
    I immediately dismiss all negative thoughts, because it's ThinkPad technical support! They wouldn't ignore the ENTIRE REASON I sent the laptop to them in the first place! I could have easily replaced the hard drive myself. No, the fan must have been such a small issue that it wasn't worth noting. A doubt did remain in my mind though.
    I plugged in my laptop, turned her on, heard a LOUDER THAN BEFORE noise, and saw, printed on my screen:
    FAN ERROR
    My fan had completely failed. It was never replaced. I would LOVE to talk to this technician, and hear what "testing" he did with my laptop. It couldn't even boot, but he claimed it passed PC Doctor testing! How can you test it, when it can't boot? And, even if it did boot, how could you ignore the LOUD fan? I wanted him to come to my house, and TELL ME my laptop was fixed.
    I called up the folks in Atlanta, Georgia again, and tried to restrain my anger. I work in the Helpdesk of my college, and I don't want to be angry at the nice people working there. I was only angry at the INCOMPETENT technician.
    I verified with them that the fan error was reported on my previous case number, so it was the technician's fault. They set me up with a new case number, and I received the prepaid box the next day [last friday]. Since the fan was the only problem, I figured that it would easily be solved, and I would go on my merry way. I sent it back to them on the same day, and they received it on Saturday.
    They fixed it over the weekend, and I received it on Monday. Now, that's what I call service! Or, do I?
    Fixed at last?:
    I open up the box, put the battery back in, plug in the AC adapter, and turned it on. First thing I heard: silence. The fan was replaced! It was quiet again! I installed XP Pro over the preloaded XP Home, configured it to my liking, and installed some programs. Everything was great! Since the service was so fast, I was ready to forgive lenovo, and move on! Happy ending, right?
    NO! TERRIBLE ENDING! My ThinkPad is worse than ever!
    Today, I decided to install the PC game "The Suffering" and play it on my 27" LCD TV/monitor. It's the first time I have gamed on my laptop in two weeks, since I had to wait that long for those two cases to be resolved. I boot it up, pump up the graphics settings (<3 FireGL), and begin the game.
    At first, I noticed that the game was stuttering a bit. I figured that 6x antialiasing might have been pushing my graphics card to the limit, and noted to change it after saving for the first time. I save the game, go to quit the game, and my laptop TURNS OFF.
    Yes, it turned off. No blue screen. It just DIED. I have never experienced anything like it before.
    I turned on the computer, and, like usual, it froze at the BIOS. I turned it off, turned it on, and Windows XP didn't even know it wasn't shut down safely. It started without a hitch. This time, I decided to detach my external monitor, USB keyboard, and USB mouse, and play with just the ThinkPad. I turned down the antialiasing, started up the game, and noticed that it was still stuttering. A minute later, my ThinkPad turns off.
    I become incredibly angry. My computer's GPU cannot even handle a simple game without killing my computer! I take deep breaths, and decide to install Oblivion, and see if that works. After all, maybe the game is just a piece of crap? I boot up my ThinkPad, it freezes at the BIOS, I turn it off, I turn it on, boot to Windows, and my keyboard isn't working. The ThinkPad FN combinations work [for example, I can turn on the ThinkLight with FN+PgUp, and I can turn on Num Lock with FN+Pause], but nothing else does. I reboot Windows, and the keyboard works as normal. Then, I did a quick Google search on the game I was playing, and nobody had the problem I was experiencing. But, it could have been a hardware incompatibility, right?
    No. Wrong answer. I start up Oblivion, and it stutters IN THE BEGINNING CELL. It's an indoor scene. My computer usually has 0 slowdown in indoor areas in Oblivion. There is graphical glitching at the top of the screen. Then, my computer turns off. I become insanely angry. I use this laptop A LOT. I depend on it for MANY THINGS. I bought a ThinkPad because they are supposed to be RELIABLE. I should be able to have this thing turned on 24/7 with a 100% CPU load and have NO PROBLEMS.
    I called up the people in Atlanta, Georgia about an hour ago (11:30PM EST), and calmly vented. I told my entire story, and the guy there was very understanding. Since this is the DAMNED THIRD CONSECUTIVE TIME I HAVE TO SEND MY LAPTOP IN, my case is going to be sent to ACTUAL COMPETENT TECHNICIANS who can FIX MY LAPTOP rather than completely screw it over when fixing a GOD **bleep** FAN. While I have no evidence that the second technician screwed up everything else, I NEVER had a problem with the GPU. And, since the first technician didn't have to take apart the laptop to replace the hard drive, I have no one else to blame. I believe it is a heating problem, so the second technician was probably the culprit, since he installed a new cooling fan in the upper left hand corner of the ThinkPad.
    I was assured that my ThinkPad would be completely disassembled, and have every **bleep** component tested before I received it back. I am HOPING that this is the case. If I get another broken laptop back, I will even cuss to the nice people in Atlanta. My patience is already gone, and I don't even know how ludicrous I'll be if I have to get it fixed a fourth time. The only downside to this is that I may have to wait five days to get it repaired. If I do, and it's not fixed, I will demand a brand new laptop, and a renewed three year warranty beginning the day I receive the new laptop.
    I paid for ThinkPad quality. If this is how ThinkPads are built, I am EXTREMELY disappointed. I expected that I would be able to treat this thing like a mature desktop -- leaving it on for weeks at a time, playing games at high graphics settings, and frequently having it use 100% of its CPU -- but I was wrong.
    <3 Atlanta call center
    </3 Low level technicians
    -- End of Rant --
    [PS: I also have one dead pixel now. It travels to different parts of the screen. I used a program that can get rid of such pixels, and it worked for about an hour. Then, the pixel returned. I am SO happy with my laptop right now, I could just die.]
    Message Edited by Nintendud on 06-14-2008 01:00 AM
    Moderator Note; Please watch your language.
    Message Edited by andyP on 06-14-2008 12:30 PM

    Hellbore:
    Thanks for the confirmation of the technicians' ineptitude. The temperature tests confirmed for me that the problem is as you described, and I'm happy to hear the problem may be as simple, and common, as that. I'm wondering now if the technicians are put under an immense amount of stress and forced to be productive, or if they are really as incapable as they seem. I think I'll call the factory a day or so after they receive the laptop, and see if they can tell me whether or not the previous technician failed to install the fan properly. Then, I will ask the employee about the working conditions there. I doubt they will tell me the truth, but it can't hurt.
    Thanks to this forum, I know that I can curse the Solectron company for sucking ass, despite the ThinkPad's excellent warranty. I wish there is something more I can do to improve the situation. I think it's funny that they run "PC Doctor" tests after replacing a fan that cools the GPU. If they just ran ANY 3D game on my card [or any application that stresses the GPU], they would realize that the fan was installed incorrectly.
    This time, I am including a typed letter to the "high level" "technicians" "working" on my laptop that describes all of the problems with it in checklist form, and how to reproduce them. I will make sure that they can reproduce all of these things with software already installed on the computer. I will earnestly request that they be fixed. I doubt it will do anything, but it's the least I can do to make their job easier.
    *sigh* Not knowing who or what to blame is making my job harder. I don't know whether to pity the technicians, or loathe them. :/

  • How can I add a custom property to an object, like a paragraph?

    Hi,
    We have a merge process that combine multiple document into one and I need to store the filename of the imported file at the beginning of each merge point.   Each document that we merge contains a Title paragraph and I was wrongly assuming that I could set the label property of this paragraph with my value for future references, but only to find out that the paragraph object doesn't have a label property.
    I also tried setting a custom property by doing this
    paragraph.properties["myCustomProperty"] = "value";
    It doesn't crash, but if I try reading the value it is always undefined.
    I'm looking for alternative, or on how would you approach this, can you please advice?
    Your help is much appreciated.
    Thanks

    Peter Kahrel wrote:
    You could label the paragraph's parent story. Is that any good?
    Peter.
    Well I tought about it, but then I have to find a way to keep track of which paragraph this value belongs to and so far I havent found a way to uniquely identify a paragraph and I can't assume that the merged document won't be edited so I can't use the index.
    Peter Kahrel wrote:
    Otherwise use a paragraph property that you never use and that doesn't affect composition, such as .bulletsTextAfter
    P.
    It may be an alternative, but that may cause problem in the furture if they ever decide to use or change that properties.  Plus, I'm not sure if can put anything I want in there, but that would be worth the try.

  • Change paragraph style from X to Y in Pages Doc

    Hi
    Sorry for such a simple question, but I have looked through the Applescript manual and searched this forum and can't find a solution to my problem.
    All I want to do is loop through the paragraphs of a Pages document and if the paragraph style is "Body Full", then change it to "Body Half". I have tried if statements repeat statements and everything I can think of but can't seem to get it to work. I can loop through all the paragraphs and change them to "Body Half", but as soon as I try to select only those whose paragraph style = "Body Full" it doesn't change any.
    Here is an example of my attempt:
    tell front document of application "Pages"
    repeat with X from 1 to count (get paragraphs)
    if paragraph style of paragraph X = "Body Full" then
    set paragraph style of paragraph X to "Body Half"
    end if
    end repeat
    end tell
    If anyone could help I would be grateful. It's kind of embarrassing since I was a programmer for many years on mainframes and AS/400. Scripting is a new world to me.
    Thanks in advance.
    Jim

    Hello
    Jim Kahler wrote:
    I am also using iWorks 09. Now the indent level sets all paragraphs to the indent level of wherever the insertion point was when I ran the script.
    ? Still confused, it looks so easy!
    Jim
    Ok, i understand.
    Here is the solution :
    tell front document of application "Pages"
    set sel to selection
    set search_style to paragraph style "Body Full"
    set new_style to paragraph style "Body Half"
    repeat with X from 1 to count paragraphs
    tell paragraph X to if its paragraph style = search_style then
    select character 1
    set Y to indent level
    set its paragraph style to new_style
    set indent level to Y
    end if
    end repeat
    select sel
    end tell

Maybe you are looking for

  • Help mee....itunes wont start

    The other day I upgraded to itunes6.It wouldnt open so i looked around this website and found out how to fix it. So i fixed it and eveyrthing was fine but when i went to go open itunes again it wouldn't open. Now it wont open at all when i click on i

  • Please , i want a solution for this problem

    i have BB 9300 3g , i connect to my wireless network , it connect smoothly , but when i open my browser and type any site in the adress i got this error "cant find the requested server" i updated my device to version 6.0 .... and still the same error

  • Override scrollpane methods?

    problem: I create a time series line graph in a buffered image that has a variable width, sometimes the width is in the millions of pixels and the resulting buffered image is too large to fit into memory, even if I increase the available memory with

  • What to do about this error message??

    I just received the following error message in Lightroom 4 "This version of Lightroom may require the Photoshop Camera Row plug-in version 7.3 for full compatibility.  Please update the Camera Raw plug-in using the update tool available in the Photos

  • Earphones don't work.

    First of all, my English is really bad. Really. So ehm, all earphones don't work on my iPod. Most of them won't work at all, I don't hear anything. Some are.. water-ish. Really vague. Even my real iPod Earphones won't work, my Skullcandy, some cheap