Logo Search packages:      
Sourcecode: helpviewer.app version File versions  Download package

ModNSString.m

/*
    This file is part of HelpViewer (http://www.roard.com/helpviewer)
    Copyright (C) 2003 Nicolas Roard (nicolas@roard.com)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#include "ModNSString.h"

@implementation NSDecimalNumber (String)
    - (NSString*) stringValue {
      //NSLog (@"NSDecimalNumber stringValue");
      //NSLog (@"==>%@", [NSString stringWithFormat: @"%d", (int) [self doubleValue]]);
      return [NSString stringWithFormat: @"%d", (int)[self doubleValue]];
    }
@end

@implementation NSString (Trim)
+ (NSString*) trimString: (NSString*) str {
    NSMutableString* ret = [[NSMutableString alloc] initWithString: @""];
    NSString* spaceChar = [NSString stringWithString: @" "];
    NSString* EOLChar = [NSString stringWithString: @"\n"];
    NSString* TabChar = [NSString stringWithString: @"\t"];

    BOOL space = YES;
    int i;

    for (i = 0; i < [str length]; i++)
    {
      NSString* current = [str substringWithRange: NSMakeRange (i,1)];
      if ([current isEqualToString: spaceChar])
      {
          if (!space) 
          {
            [ret appendString: current];
            space = YES;
          }
      }
      else if ([current isEqualToString: EOLChar]) {}
      else if ([current isEqualToString: TabChar])
      {
          if (!space)
          {
            [ret appendString: @" "];
            space = YES;
          }
      }
      else
      {
          [ret appendString: current];
          space = NO;
      }
    }

    //NSLog (@"trimmed string : <%@> ", ret);
    return AUTORELEASE(ret);

    /*
    NSArray* Items;
    int i;

    Items = [str componentsSeparatedByString: @"\n"];
    for (i = 0; i < [Items count]; i++)
    {
      if ([[Items objectAtIndex: i] length] > 0)
      {
          [ret1 appendString: [Items objectAtIndex: i]];
          if (i < [Items count] - 1) [ret1 appendString: @" "];
      }
    }
    Items = [ret1 componentsSeparatedByString: @" "];
    for (i = 0; i < [Items count]; i++)
    {
      if ([[Items objectAtIndex: i] length] > 0)
      {
          [ret2 appendString: [Items objectAtIndex: i]];
          if (i < [Items count] - 1) [ret2 appendString: @" "];
      }
    }

    return ret2;
    //return str;
    */
}
@end

Generated by  Doxygen 1.6.0   Back to index