This is OhmsLawObject.m in view mode; [Download] [Up]
#import "OhmsLawObject.h" @implementation OhmsLawObject // Global Variables float VoltsValue; float AmperesValue; float OhmsValue; float WattsValue; - (void)Calculate:(id)sender { // Local Variables int WhichOne; // Assigns the value of the currently selected button WhichOne = [FindButton selectedTag]; // Using tag as a reference switch (WhichOne) { // start switch // Find the Resistance "Ohms" R=V/I case 0: // Gets the value from the Ampere field AmperesValue = [Amperes floatValue]; // Gets the value from the Volts field VoltsValue = [Volts floatValue]; OhmsValue = (VoltsValue/AmperesValue); [Ohms setFloatValue:OhmsValue]; break; // Find the Current "Ampere" I= V/R case 1: // Gets the value from the Ohms field OhmsValue = [Ohms floatValue]; // Gets the value from the Volts field VoltsValue = [Volts floatValue]; AmperesValue= (VoltsValue/OhmsValue); [Amperes setFloatValue:AmperesValue]; break; // Find the Voltage "Volt" V=I*R case 2: // Gets the value from the Ohms field OhmsValue = [Ohms floatValue]; // Gets the value from the Ampere field AmperesValue = [Amperes floatValue]; VoltsValue= (AmperesValue*OhmsValue); [Volts setFloatValue:VoltsValue]; break; // Find the Power "Watts" case 3: // Gets the value from the Ohms field OhmsValue = [Ohms floatValue]; // Gets the value from the Ampere field AmperesValue = [Amperes floatValue]; // Gets the value from the Volts field VoltsValue = [Volts floatValue]; // Make sure all the values are found then find the Watts // Find the value for Ohms if (OhmsValue == 0) { OhmsValue= (VoltsValue/AmperesValue); [Ohms setFloatValue:OhmsValue]; } // Find the value for Amperes if (AmperesValue == 0) { AmperesValue= (VoltsValue/OhmsValue); [Amperes setFloatValue:AmperesValue]; } // Find the value for Volts if (VoltsValue == 0) { VoltsValue= (AmperesValue*OhmsValue); [Volts setFloatValue:VoltsValue]; } // Find the Watts P=I*V WattsValue= (AmperesValue*VoltsValue); [Watts setFloatValue:WattsValue]; break; } // end switch } - (void)FindAmpere:(id)sender { [self SetToZero:sender]; [[CalcTextFields cellAtIndex:0] setTitle:@"Ohms :"]; [[CalcTextFields cellAtIndex:1] setTitle:@"Amperes :"]; [[CalcTextFields cellAtIndex:2] setTitle:@"Volts :"]; [[CalcTextFields cellAtIndex:3] setTitle:@""]; [Ohms setEnabled:YES]; [Amperes setEnabled:NO]; [Volts setEnabled:YES]; [Watts setEnabled:NO]; } - (void)FindOhms:(id)sender { [self SetToZero:sender]; // Set the form value to ZERO [[CalcTextFields cellAtIndex:0] setTitle:@"Ohms :"]; [[CalcTextFields cellAtIndex:1] setTitle:@"Amperes :"]; [[CalcTextFields cellAtIndex:2] setTitle:@"Volts :"]; [[CalcTextFields cellAtIndex:3] setTitle:@""]; [Ohms setEnabled:NO]; // Disable the form (noneditable) [Amperes setEnabled:YES]; // Enables the form [Volts setEnabled:YES]; // Enables the form [Watts setEnabled:NO]; // Disable the form (noneditable) } - (void)FindVolts:(id)sender { [self SetToZero:sender]; [[CalcTextFields cellAtIndex:0] setTitle:@"Ohms :"]; [[CalcTextFields cellAtIndex:1] setTitle:@"Amperes :"]; [[CalcTextFields cellAtIndex:2] setTitle:@"Volts :"]; [[CalcTextFields cellAtIndex:3] setTitle:@""]; [Ohms setEnabled:YES]; [Amperes setEnabled:YES]; [Volts setEnabled:NO]; [Watts setEnabled:NO]; } - (void)FindWatts:(id)sender { [self SetToZero:sender]; [[CalcTextFields cellAtIndex:0] setTitle:@"Ohms :"]; [[CalcTextFields cellAtIndex:1] setTitle:@"Amperes :"]; [[CalcTextFields cellAtIndex:2] setTitle:@"Volts :"]; [[CalcTextFields cellAtIndex:3] setTitle:@"Watts :"]; [Ohms setEnabled:YES]; [Amperes setEnabled:YES]; [Volts setEnabled:YES]; [Watts setEnabled:NO]; } - (void)PrintOhmsTable:(id)sender // This method will print the Ohms Law Table { [OhmsTable print:self]; } - (void)SetToZero:(id)sender // This sets the values of the forms to ZERO { [Ohms setFloatValue:0]; [Amperes setFloatValue:0]; [Volts setFloatValue:0]; [Watts setFloatValue:0]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.