@CSharpChatЭта группа больше не существует

Страница 796 из 1888
Му
17.04.2017
12:33:44
юзай студию тогда :)

Илья
17.04.2017
12:34:08
юзай студию тогда :)
триалка решарпера закончилась ?

Gid
17.04.2017
12:34:16
Илья
17.04.2017
12:34:24
Google
Gid
17.04.2017
12:34:26
с тенцента

http://jetbrains.tech/

впиши это в лиц сервер

будет тебе лицуха на флоатинг тикете

Sergey
17.04.2017
12:35:12
Оу.. это для всего?

Gid
17.04.2017
12:35:17
+

Sergey
17.04.2017
12:35:36
Класс.

Mikhail
17.04.2017
12:35:50
?

Илья
17.04.2017
12:36:40
вау круто! ?

Igor
17.04.2017
12:37:44
нет, мне нужно именно убрать то что при ctrl+z он убирает точку с запятой
Могу посоветовать только https://i.gyazo.com/78ced278013e2cff0c1a2a7aafdaacf1.png Иначе тебе только остается привыкать к поведению Rider

Levent
17.04.2017
12:57:37
Надр было юзать шинду

Vinc
17.04.2017
12:58:56
Надр было юзать шинду
шинда медленная

Valeriy
17.04.2017
12:59:17
У кого на райдере на линуксе было processWasCancelledEx?

Google
Женя
17.04.2017
13:07:17


Alexander
17.04.2017
13:09:36
подскажите, как связать три набора строк? что-то вроде такого надо Dictionary<string, string, string>

Му
17.04.2017
13:10:06
tuple

Alexander
17.04.2017
13:10:09
по стринг-ключу находить строку, которая ключ к другому набору строк %)

Levent
17.04.2017
13:10:44
шинда медленная
Твой пека/ноут медленный

Почему же у меня все хорошо?

Vinc
17.04.2017
13:11:07
да, одноплатник еще медленнее

Ed
17.04.2017
13:11:49
если не вдовать оберни в свой класс двойной ключ Dictionary<string,YourClass>

не запутаешься потом

чет много пишешь оО

Alexander
17.04.2017
13:19:18
какая задача?
бота для телеграмм пытаюсь написать, делал по уроку, там короче команды от юзера приходят и сравниваются с именами команд в боте, запускают в найденной метод отправки сообщения юзеру. это было в уроке, дальше сам. а нужно теперь еще как-то находить, из какого прежде сообщения от телеграмма клиент нажал кнопку - то есть второе сравнение с текстом того собщения, которое пришло от бота в ответ на перввую команду юзера. новое сообщение должно сравниваться уже с именами другого набора команд.... как-то так %) не знаю как проще объяснить. подумалось, что два словаря текстов будет норм для такой задачи..

Nikolay
17.04.2017
13:20:32
Нет, не норм)

Делай проще

Ed
17.04.2017
13:21:07
говорю если дело дошло до двойных словарей то делаешь что то не то

Nikolay
17.04.2017
13:22:34
Например, у тебя есть кнопка с текстом Start, по клику на старт ты отображаешь кнопки Hello и World, при клике на Hello выводится один текст, при клике на World - другой

Alexander
17.04.2017
13:22:49
да

это мне и надо

Nikolay
17.04.2017
13:23:04
Но тебе не обязательно знать, что до этого юзер нажал Start

Достаточно того, что он нажал World или просто Hello

Google
Nikolay
17.04.2017
13:23:36
А кнопки - это просто интерфейс красивенький)

Alexander
17.04.2017
13:23:41
но он может нажимать другие кнопки из предыдущих сообщений, которые неактуальны

Nikolay
17.04.2017
13:24:00
Ну у тебя кнопки уникальные?

Alexander
17.04.2017
13:24:07
да

вроде

пока да)

Nikolay
17.04.2017
13:25:01
Ну если очень хочется, заводи на каждого юзера свой объект и храни в словаре по Telegram Id

И в каждом юзере храни n последних сообщений

Но это имхо лишнее усложнение

Если приложение упадёт, всё похерится

Alexander
17.04.2017
13:26:17
да

надо в базу состояния писать клиента?

Nikolay
17.04.2017
13:26:42
В таком случае да

Alexander
17.04.2017
13:27:12
а это норм каждый его шаг писать в базу?

Nikolay
17.04.2017
13:27:19
Возможно ещё через инлайн кнопки можно подобные штуки делать, но это не точно

У меня каждое сообщение в боте пишется в базу)

Alexander
17.04.2017
13:28:05
ну ладно, попробую так

спс)

Nikolay
17.04.2017
13:29:59
Только всю историю сообщений не храни в памяти. Сделай ограничение скажем на 5 сообщений, ну или сколько тебе будет достаточно

Ну и учти, что юзер может тыкнуть Start, затем отправить asdasdas, а затем тыкнуть Hello или World, и у тебя последним будет не Start, а asdasdas

Google
Alexander
17.04.2017
13:31:21
да, надо покумекать с этим

Nikolay
17.04.2017
13:33:26
Поэтому я и говорю, сделай простые команды, пусть будут на уровне интерфейса вложенные, а по факту работать даже если просто шлёшь Hello или World. Хотя не знаю какой у тебя там интерфейс, мб такой вариант не прокатит

Женя
17.04.2017
13:39:24
походу поняла в чем причина, все валится при многопоточной записи в COM-порт, когда пишешь в порт сразу с 2-3 потоков одновременно, система уходит в синий экран

видимо падает драйвер порта и тянет за собой всю систему

Friedrich
17.04.2017
13:40:14
Ого!

Nikolay
17.04.2017
13:40:28
Да, вполне может быть

Friedrich
17.04.2017
13:40:44
Правдоподобная гипотеза.

Nikolay
17.04.2017
13:41:06
Ибо нефиг в COM писать сразу из нескольких потоков)

Slava
17.04.2017
13:41:15
А в чем смысл одновременной записи из нескольких потоков? Буфер у порта все равно один

Женя
17.04.2017
13:41:43
А в чем смысл одновременной записи из нескольких потоков? Буфер у порта все равно один
ну я выдаю голосовое предупреждение в COM-порт из асинхронного таска, к порту может быть подключено 4 телефонные линии, если надо выдыть два предупреждения одновременно из двух тасков все падает

видимо нужен семафор для доступа к порту

Vinc
17.04.2017
13:44:30
оно виснет потому, что гит пытается всю домашнюю папку проиндексировать Оо как это отключить?

Nikolay
17.04.2017
13:46:17
видимо нужен семафор для доступа к порту
Если я ничего не путаю, то в твоём случае подойдёт скорее мьютекс

Nikolay
17.04.2017
13:47:32
а как это у тебя на одном порту 4 девайса висит?
Ну так это уже на уровне протокола поверх COM разруливается

Хоть 100 девайсов цепляй

Slava
17.04.2017
13:48:51
Ну так это уже на уровне протокола поверх COM разруливается
rs232 не может сеть вроде? Тут нужен rs422 минимум

Женя
17.04.2017
13:49:57
а как это у тебя на одном порту 4 девайса висит?
ну устройство аппаратное для этого подключено

Google
Nikolay
17.04.2017
13:50:05
Ну смотри, у тебя есть 4 девайса, подключаются к чёрной коробке, из чёрной коробки идёт USB шнур, который цепляется к компу и через COM гоняет байтики

Женя
17.04.2017
13:50:41
хотя странно что винда падает при одновременной записи в порт, по идее это не должно происходить

Nikolay
17.04.2017
13:51:11
В дампе можно увидеть это

Женя
17.04.2017
14:11:56
Task tSave; tSave = Task.Run(() => { //задержка вывод Thread.Sleep(3000); var sound = new Devices.SoundWarning("sound.wav"); var bt = sound.GetSoundBytesInCall(serialPort); });

как мне сюда мьютекс пристроить?

винда падает на var bt = sound.GetSoundBytesInCall(serialPort);

Slava
17.04.2017
14:13:22
Именно тут локом проще и быстрее будет

Женя
17.04.2017
14:13:47
Slava
17.04.2017
14:13:56
lock(...) {}

Женя
17.04.2017
14:14:44
и тогда у меня писаться в порт будет по-очереди?

Slava
17.04.2017
14:15:04
Ага. Почитай про лок, это основы основ

Friedrich
17.04.2017
14:16:27
Ну токо если в пределах одного процесса.

Женя
17.04.2017
14:20:56
lock (this) { var sound = new Devices.SoundWarning("sound.wav"); var bt = sound.GetSoundBytesInCall(serialPort); }

перестало падать!

спасиб)

Страница 796 из 1888

Эта группа больше не существует Эта группа больше не существует