2011-02-08 2 views
0

Я пытаюсь отправить значение с ползунка в виде строки в сокетной связи с инструментом. В настоящее время единственными ресурсами, которые я смог найти на ползунках, является обновление ярлыков, но значения ползунка не используются в других местах. В идеале я хотел бы использовать следующий код в моем View Controller и заменить значения, такие как 1000 в команде частоты отправки со значением в Сидер, а не жесткого кодирования 1000 в вызове метода:Значение ползунка iOS

-(IBAction)Sine { 

    //[myNetwork sendCommand:@"*CLS\n"]; 
    //[myNetwork sendCommand:@"*RST\n"]; 
    [myNetwork sendCommand:@"SOURCE1:FUNCTION SIN\n"]; 
    [myNetwork sendCommand:@"SOURCE1:FREQUENCY 1000\n"]; 
    [myNetwork sendCommand:@"SOURCE1:VOLT:UNIT VPP\n"]; 
    [myNetwork sendCommand:@"SOURCE1:VOLT 2\n"]; 
    [myNetwork sendCommand:@"SOURCE1:VOLT:OFFSET 0\n"]; 
    [myNetwork sendCommand:@"OUTPUT1:LOAD 50\n"]; 
    [myNetwork sendCommand:@"OUTPUT1 ON\n"]; 
    [myNetwork sendCommand:@"OUTPUT2 ON\n"]; 
} 

Ниже определение способа SendCommand():

//sends command to the instrument and reuturns true if successful 
-(BOOL)sendCommand:(NSString *)command { 

    char *com = [command UTF8String]; 
    int comLength = strlen(com); 

    //send the string to the server 
    if (send(sockNum, com, comLength, 0) != comLength) { 
     return FALSE; 
    } 
    return TRUE; 
} 

А вот прототип в файле .h:

- (BOOL)sendCommand:(NSString *)command; //send command to instr 

ответ

3

UISlider имеет свойство value, который возвращает текущее значение как float. Если ваш инструмент ожидает целое число, вы можете сначала его преобразовать. По умолчанию значение находится в диапазоне от 0 до 1, но вы можете переопределить это, используя свойства ползунка minimumValue и maximumValue.

В вашем Sine метод, просто получить значение ползунка и добавить его в source1: команда ЧАСТОТЫ:

int frequency = (int) frequencySlider.value; 
[myNetwork sendCommand:[NSString stringWithFormat:@"SOURCE1:FREQUENCY %d\n", frequency]]; 
Смежные вопросы