Как получить ответ после авторизации
Atom Ответить
04.08.2015


Всем привет! Я новичек, только начал разбираться с стокшарпом...
Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как
мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

Код

private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}

Теги:


Спасибо:




23 Ответов
COBRA

Фотография
Дата: 05.08.2015
Ответить


dron3333 Перейти


private void login_ok_Click(object sender, RoutedEventArgs e)
{
if (!terminal.IsConnected)
{
terminal.Login(login.Text, password.Password);
}
}

)


дальше пишеш
Код
 if (terminal.IsConnected) {  message.box ЗАЛОГИНИЛСЯ УСПЕШНО}

или
Код
 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО
Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


Код
 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО


я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....

Автор топика
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


dron3333 Перейти
Код
 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО


я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....



сообщения самого квика тебе никогда не придет потому-что ты не залогинился.
жди 2-3 сек если не залогинился значит не тот пароль и выводи другое окно.
В квике есть окно сообщений там будет написано что пароль не правильный
Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


COBRA Перейти
dron3333 Перейти
Код
 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО


я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....



сообщения самого квика тебе никогда не придет потому-что ты не залогинился.
жди 2-3 сек если не залогинился значит не тот пароль и выводи другое окно.
В квике есть окно сообщений там будет написано что пароль не правильный


а вот еще такой код проверил(ссылался на это https://stocksharp.ru/do...Terminal_GetMessages.htm):

Код

foreach (string element in terminal.GetMessages())
                    {
                        System.Console.WriteLine(element);
                    }



и получаю вот такой вывод:
MN
W
D
H4
H2
M60
M30
M20
M15
M10
M6
M5
M4
M3
M2
M1
Tick


Откуда здесь период графиков вообще не понял. Может как-то через это terminal.GetMessages() можно получить ответ, нет?
Автор топика
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


идея хорошая, но я даже и не пробовал. Многое что написано не работает. Стокшарп пишут много людей в этом его недостаток.
Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


COBRA Перейти
идея хорошая, но я даже и не пробовал. Многое что написано не работает. Стокшарп пишут много людей в этом его недостаток.


жаль, жаль...
Вот еще вопрос terminal.Login(login, password, ipEndPoint);
ipEndPoint - его как записывать надо не могу понять? как строку не прокатывает terminal.Login(login.Text, password.Password, "91.209.122.220:15100");

Примерчик можно?
Автор топика
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


https://github.com/Stock.../MainWindow.xaml.cs#L134

велосипед не изобретай скачай sample
Спасибо:

orphan

Фотография
Программист
Дата: 05.08.2015
Ответить


dron3333 Перейти
Всем привет! Я новичек, только начал разбираться с стокшарпом...
Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как
мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

Код

private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}


Почему бы не использовать событие Connected?

IConnector:
/// Событие успешного подключения.
event Action Connected;
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


у меня бывает событие Connected не приходит, а terminal.IsConnected==true
почему так происходит не понятно, я перезапускаю QUIK снова делаю коннект, тогда событие Connected приходит.
Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


orphan Перейти
dron3333 Перейти
Всем привет! Я новичек, только начал разбираться с стокшарпом...
Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как
мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

Код

private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}


Почему бы не использовать событие Connected?

IConnector:
/// Событие успешного подключения.
event Action Connected;



О! Подойдет! а Можно маленький пример, самый простой.... пару строк
Автор топика
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/Stock...eFewQuiks/Program.cs#L90
Спасибо:

orphan

Фотография
Программист
Дата: 05.08.2015
Ответить


dron3333 Перейти
orphan Перейти
dron3333 Перейти
Всем привет! Я новичек, только начал разбираться с стокшарпом...
Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как
мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

Код

private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}


Почему бы не использовать событие Connected?

IConnector:
/// Событие успешного подключения.
event Action Connected;



О! Подойдет! а Можно маленький пример, самый простой.... пару строк


Код

trader = new QuikTrader();
trader.Connected += Connected;
trader.Connect();

................

public void Connected()
{
    if (!trader.IsExportStarted)
        trader.StartExport();
}

Спасибо:

orphan

Фотография
Программист
Дата: 05.08.2015
Ответить


COBRA Перейти
если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/Stock...eFewQuiks/Program.cs#L90


А зачем "ждать"? :)
Как только законнектился, включил экспорт и тд и тп
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


orphan Перейти
COBRA Перейти
если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/Stock...eFewQuiks/Program.cs#L90


А зачем "ждать"? :)
Как только законнектился, включил экспорт и тд и тп


а если не законнектился, что делать? остается ждать.
может есть какое-нибудь событие ERRORconnect тогда можно и не ждать
Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


COBRA Перейти
orphan Перейти
COBRA Перейти
если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/Stock...eFewQuiks/Program.cs#L90


А зачем "ждать"? :)
Как только законнектился, включил экспорт и тд и тп


а если не законнектился, что делать? остается ждать.
может есть какое-нибудь событие ERRORconnect тогда можно и не ждать


вот такое есть https://stocksharp.ru/do...ctor_ConnectionError.htm . Оно, нет?
Автор топика
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


попробуй, у меня оно никогда не приходило, даже во время выключения QUIK( оно по идее должно приходить)
подпишись на событие а то забудеш
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


orphan Перейти


public void Connected()
{
if (!trader.IsExportStarted)
trader.StartExport();
}

[/code]



StartExport() ОТМЕНИЛИ !!! запускать не надо!!
Спасибо:

orphan

Фотография
Программист
Дата: 05.08.2015
Ответить


COBRA Перейти
orphan Перейти


public void Connected()
{
if (!trader.IsExportStarted)
trader.StartExport();
}

[/code]



StartExport() ОТМЕНИЛИ !!! запускать не надо!!


Сори, новый не пробовал :)
А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... ))
Есть ReсonnectionManager, пусть он и ждет, если оно нужно.
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


orphan Перейти
COBRA Перейти
orphan Перейти


public void Connected()
{
if (!trader.IsExportStarted)
trader.StartExport();
}

[/code]



StartExport() ОТМЕНИЛИ !!! запускать не надо!!


Сори, новый не пробовал :)
А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... ))
Есть ReсonnectionManager, пусть он и ждет, если оно нужно.


ждать для того чтобы понять что соединение не получилось и перезапустить QUIK

ReсonnectionManager что будет делать если соединение не удалось? Будет тыкаться бесполезно. Надо перезапускать QUIK
Спасибо:

orphan

Фотография
Программист
Дата: 05.08.2015
Ответить


COBRA Перейти
orphan Перейти
COBRA Перейти
orphan Перейти


public void Connected()
{
if (!trader.IsExportStarted)
trader.StartExport();
}

[/code]



StartExport() ОТМЕНИЛИ !!! запускать не надо!!


Сори, новый не пробовал :)
А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... ))
Есть ReсonnectionManager, пусть он и ждет, если оно нужно.


ждать для того чтобы понять что соединение не получилось и перезапустить QUIK

ReсonnectionManager что будет делать если соединение не удалось? Будет тыкаться бесполезно. Надо перезапускать QUIK


А что часто надобится перезагружать квик?
Спасибо:

COBRA

Фотография
Дата: 05.08.2015
Ответить


Иногда бывает
Спасибо:

titan

Фотография
Курсы
Дата: 11.08.2015
Ответить


COBRA Перейти
orphan Перейти


public void Connected()
{
if (!trader.IsExportStarted)
trader.StartExport();
}

[/code]



StartExport() ОТМЕНИЛИ !!! запускать не надо!!


Blink не так уж прям отменили, а убили метод без параметров...теперь этот метод требует параметра типа DdeCustomTable....а вот как сконструировать объект такого типа..вопрос...пока не получается, разбираемсяBlushing
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.08.2015
Ответить


titan Перейти
не так уж прям отменили, а убили метод без параметров


выше было написано правильно.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy