ftp.nice.ch/Attic/openStep/tools/calculators/ElectronHelper.2.0.w.I.bs.tgz#/ElectronHelper.2.0.w.NT.bs/Source/ResistorObject.m

This is ResistorObject.m in view mode; [Download] [Up]

#import "ResistorObject.h"

@implementation ResistorObject

- (void)Calculate:(id)sender
{

    // Declare variables
    int Vfirstband; 	// Value of firstband 
    int Vsecondband; 	// Value of secondband
    int Vthirdband; 	// Value of thirdband 
    float Vfourthband; 	// Value of fourthband 
    int SwitchOne; 	// Dummy int for switch statment 
    int SwitchTwo; 	// Dummy int for switch statment
    int temp;
    int temp2;
    float resistorValue;
    float resistorValueK;
    float range1;
    float range2;
    char SRvalue[20];
    char SRKvalue[20];
    char SR1value[20];
    char SR2value[20];


   // Assigns the value of the currently selected button found in the
   // button matrixs of Resistor using tag as a reference  
       Vfirstband = [FirstBand selectedTag];
       Vsecondband = [SecondBand selectedTag];
       Vthirdband = [ThirdBand selectedTag];

  // thirdband: Assigns the proper value depending on which button was selected	
       SwitchOne = [ThirdBand selectedTag];
       Vthirdband = SwitchOne;

       switch (SwitchOne)  { // start switch

               case 2:
               Vthirdband = 0.10; // Gold (ThirdBand) 
               break;

               case 3:
               Vthirdband = 0.01; // Silver (ThirdBand) 
               break;

              case 4:
               Vthirdband = 1000000; // Blue (ThirdBand) 
               break;

              case 5:
               Vthirdband = 10000000; // Voilet (ThirdBand)
               break;

              case 6:
               Vthirdband = 100000000; // Grey (ThirdBand)
               break;

                               } // end switch



   // fourthband: Assigns the proper value depending on which
   // button was selected
       SwitchTwo = [FourthBand selectedTag];

       switch (SwitchTwo)  { // start switch 

               case 0:
               Vfourthband = 0.20; // No Band 
               break;

               case 1:
               Vfourthband = 0.10; // Silver
               break;

               case 2:
               Vfourthband = 0.05; // Gold
               break;

                               } // end switch

// Calculations

temp = Vfirstband*10;
temp2 = temp + Vsecondband;
resistorValue = temp2 * Vthirdband;
range1 = resistorValue * Vfourthband;
range1 = resistorValue - range1;
range2 = resistorValue * Vfourthband;
range2 = resistorValue + range2;
resistorValueK = resistorValue / 1000;

// Convert a number to a string a adjust the floating point accuracy
sprintf(SRvalue,"%.2f",resistorValue);
sprintf(SRKvalue,"%.2f",resistorValueK);
sprintf(SR1value,"%.2f",range1);
sprintf(SR2value,"%.2f",range2);



// Assign the values to the proper display

// Display the value of the resistor in the form
[ValueOhms setStringValue:[NSString stringWithCString:SRvalue]];

// Display the value of the resistor in K in the form 
[ValueKOhms setStringValue:[NSString stringWithCString:SRKvalue]];

// Display the value of the range1 in the form
[RangeOne setStringValue:[NSString stringWithCString:SR1value]];

// Display the value of the range2 in the form 
[RangeTwo setStringValue:[NSString stringWithCString:SR2value]]; 

    
}

- (void)Ohms100:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:1];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms100K:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:10000];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
    
}

- (void)Ohms10:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:1];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms10K:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:1];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms15K:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 15K
    [SecondBand selectCellWithTag:5];
    [ThirdBand selectCellWithTag:1000];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms1K:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1K
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:100];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms1p5K:(id)sender
{

    [FirstBand selectCellWithTag:1]; // This will select radio button number 1.5K
    [SecondBand selectCellWithTag:5];
    [ThirdBand selectCellWithTag:100];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms220:(id)sender
{

    [FirstBand selectCellWithTag:2]; // This will select radio button number 220
    [SecondBand selectCellWithTag:2];
    [ThirdBand selectCellWithTag:10];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms330:(id)sender
{

    [FirstBand selectCellWithTag:3]; // This will select radio button number 330
    [SecondBand selectCellWithTag:3];
    [ThirdBand selectCellWithTag:10];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms33:(id)sender
{

    [FirstBand selectCellWithTag:3]; // This will select radio button number 3
    [SecondBand selectCellWithTag:3];
    [ThirdBand selectCellWithTag:1];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender];
    
}

- (void)Ohms470:(id)sender
{

    [FirstBand selectCellWithTag:4]; // This will select radio button number 470
    [SecondBand selectCellWithTag:7];
    [ThirdBand selectCellWithTag:10];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms47:(id)sender
{

    [FirstBand selectCellWithTag:4]; // This will select radio button number 47
    [SecondBand selectCellWithTag:7];
    [ThirdBand selectCellWithTag:1];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms47K:(id)sender
{

    [FirstBand selectCellWithTag:4]; // This will select radio button number 47K
    [SecondBand selectCellWithTag:7];
    [ThirdBand selectCellWithTag:1000];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender];
    
}

- (void)Ohms560:(id)sender
{

    [FirstBand selectCellWithTag:5]; // This will select radio button number 5
    [SecondBand selectCellWithTag:6];
    [ThirdBand selectCellWithTag:10];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)Ohms680:(id)sender
{

    [FirstBand selectCellWithTag:6]; // This will select radio button number 6
    [SecondBand selectCellWithTag:8];
    [ThirdBand selectCellWithTag:10];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)PrintColorTable:(id)sender
// This method will print the Resistor Color Code Table
{

     [ColorTable print:self];
}

- (void)Reset:(id)sender
{

    [FirstBand selectCellWithTag:0]; // This will select radio button number 0
    [SecondBand selectCellWithTag:0];
    [ThirdBand selectCellWithTag:0];
    [FourthBand selectCellWithTag:0];
    [self Calculate:sender]; 
    
}

- (void)MoreInfo:(id)sender
{

    [NSBundle loadNibNamed:@"MoreInfo.nib" owner:self]; // load nib

}



@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.