This is Resistor.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import "Resistor.h"
#import <appkit/Text.h>
#import <appkit/Button.h> /* Needed to button matrix */
#import <appkit/Form.h>
#import <appkit/Form.h> /* Used by the selectCellWithTag function */
@implementation Resistor
- closeInfo:sender
/* This method closes the Info panel and opens and displays the MoreInfo panel */
{
[Info performClose:sender]; /* This closes the Info panel */
[MoreInfo orderFront:sender]; /* This displays the MoreInfo panel */
return self;
}
- PrintColorTable:sender
/* This method will print the Resistor Color Code Table */
{
[ColorTable printPSCode:self];
return self;
}
- Calculate: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 */
[ValueOhms setStringValue:SRvalue]; /* display the value of the resistor in the form */
[ ValueKOhms setStringValue:SRKvalue]; /*display the value of the resistor in K in the form */
[RangeOne setStringValue:SR1value]; /* display the value of the range1 in the form */
[RangeTwo setStringValue:SR2value]; /* display the value of the range2 in the form */
return self;
}
- Ohms10:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:1];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms33:sender
{
[FirstBand selectCellWithTag:3]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:3];
[ThirdBand selectCellWithTag:1];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms47:sender
{
[FirstBand selectCellWithTag:4]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:7];
[ThirdBand selectCellWithTag:1];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms100:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:1];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms220:sender
{
[FirstBand selectCellWithTag:2]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:2];
[ThirdBand selectCellWithTag:10];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms330:sender
{
[FirstBand selectCellWithTag:3]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:3];
[ThirdBand selectCellWithTag:10];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms470:sender
{
[FirstBand selectCellWithTag:4]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:7];
[ThirdBand selectCellWithTag:10];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms560:sender
{
[FirstBand selectCellWithTag:5]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:6];
[ThirdBand selectCellWithTag:10];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms680:sender
{
[FirstBand selectCellWithTag:6]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:8];
[ThirdBand selectCellWithTag:10];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms1K:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:100];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms1p5K:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:5];
[ThirdBand selectCellWithTag:100];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms10K:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:1000];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms15K:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:5];
[ThirdBand selectCellWithTag:1000];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms47K:sender
{
[FirstBand selectCellWithTag:4]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:7];
[ThirdBand selectCellWithTag:1000];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Ohms100K:sender
{
[FirstBand selectCellWithTag:1]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:10000];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
- Reset:sender
{
[FirstBand selectCellWithTag:0]; /* This will select radio button number 1 */
[SecondBand selectCellWithTag:0];
[ThirdBand selectCellWithTag:0];
[FourthBand selectCellWithTag:0];
[self Calculate:sender];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.