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

Страница 66 из 1888
[Anonymous]
25.10.2016
16:06:39
ведь у тебя в массиве хранятся пути к файлам.

Подполковник
25.10.2016
16:06:52
?

тебе прогу скинуть всю?

[Anonymous]
25.10.2016
16:06:59
ну сначала ведь получают путь к файлам

Google
[Anonymous]
25.10.2016
16:07:03
давай скинь в лс

Подполковник
25.10.2016
16:07:23
а рабочую консольную надо?

[Anonymous]
25.10.2016
16:08:05
давай

Подполковник
25.10.2016
16:08:11
щас в лс напишу

напиши первый

ато я не могу

Andrey
25.10.2016
19:02:39
Йо ребят

Подполковник
25.10.2016
19:02:45
кукусеке

Andrey
25.10.2016
19:02:52
Помогите побороть страх и неумение(лень) работы с async await

Простую крутую статью на хабре или что-то такое кто-нибудь подскажет? :)

Еще просто дали задание сделать async метод который сейчас не async :) щас дам скринов

https://i.gyazo.com/655ae7d0b8004815b6459fe81ff43400.png

https://i.gyazo.com/acecc5261f4d6dfac561e1c335b8de54.png

Google
Andrey
25.10.2016
19:04:55
Ну и приветствуется критика.

Это если что код для диспенсера карт на котором установлен считыватель(2 устройства разных, одно выкатывает карту, другое читает)

Vlad
25.10.2016
19:24:50
1. Зачем ты кидаешь эксепшен? И почему он не типизированный

как вызывающий код обрабатывает их?

покажи как клиент вызывает ReadRange

Sergey
25.10.2016
19:36:53
да ему не это надо а пример асинка

а то у него тред.слип

Andrey
25.10.2016
19:42:11
Эксепшн наверху обрабатывается

https://i.gyazo.com/fc24c2a74edee56b5afe4abc57d0036a.png

Нетипизированный эксепшн добавил не я. Сегодня на месте добавили, метод чутка переписали. Сейчас поправил.

Sergey
25.10.2016
19:45:16
кидай код куданить на пастебин

невозможно читать жи

Andrey
25.10.2016
19:47:24
https://git.open-s.info/snippets/1

Vlad
25.10.2016
19:49:32
1. Тип ReadRange не IEnumerable<string> , а List<string> 2. В данном случае вместо исключений лучше использовать такую конструкцию class ReadRangeResult { public bool Success {get;set;} public CardError Error {get;set;} public List<string> Cards {get;set; }

Andrey
25.10.2016
19:50:36
А почему List? Я думал наоборот чем обобщенней тем лучше

Ну я понял что ты имеешь ввиду

Vlad
25.10.2016
19:51:16
ну по факту, клиентам нужен IEnumerable? мне кажется что нет

3. В IssueCard никакие таски не нужны просто cardCode = _reader.DoReadCard()

Andrey
25.10.2016
19:51:29
Не, там так нельзя

Там Manual Reset Event

Google
Andrey
25.10.2016
19:51:38
Ждет поднесения карты

Он там зависнет

Если карта не выкатится :)

Vlad
25.10.2016
19:52:35
тогда DoReadCard должен возвращать Task

аааа сложна

ReadRange ждет пока ему кто-то пихнет все карты?

Andrey
25.10.2016
19:54:06
Я там врядли что-то перепишу. Там неуправляемый код вызывается. Готовые либы сишные дали и примеры кода, с ними работает

Сек видос скину поймешь кто пихнет :)

https://vk.com/video?z=video26978270_456239077%2Fpl_cat_updates

Диспенсер то что выплевывает карту. Reader(черная штучка сверху читает)

Для диспенсера код я писал(там COM и все довольно просто, нужно правильные команды было отсылать)

Vlad
25.10.2016
19:55:41
крутота

Andrey
25.10.2016
19:55:44
Считыватель с готовыми сишными либами идет

Vlad
25.10.2016
19:57:09
то есть, тебе надо дать DoReadCard фиксированное время на исполнение?

Andrey
25.10.2016
19:58:10
Ну по сути да. Я до этого делал через if(task.wait 1 сек)

Сеня другой поменял это на Thread sleep и task is completed

Sergey
25.10.2016
19:58:31
шта?

тыж сказал что таск

а у таска есть завершение

Andrey
25.10.2016
20:00:14
Короче было вот так https://i.gyazo.com/718f1a493ad09a38e99b49e56490eb70.png

Google
Sergey
25.10.2016
20:00:28
нетак

до компа доберусь - кирну

Andrey
25.10.2016
20:01:05
Так вы меня все запутали теперь)

Vlad
25.10.2016
20:03:24
Нужно для всех карточек вызвать в отдельном потоке DoReadCard с таймаутом и собрать результаты. Правильно?

Sergey
25.10.2016
20:04:52
в стаке готовый костыль нашелся, если таймаут нужен

int timeout = 1000; var task = SomeOperationAsync(cancellationToken); if (await Task.WhenAny(task, Task.Delay(timeout, cancellationToken)) == task) { // Task completed within timeout. // Consider that the task may have faulted or been canceled. // We re-await the task so that any exceptions/cancellation is rethrown. await task; } else { // timeout/cancellation logic }

Vlad
25.10.2016
20:06:53
угу, четко, ради упражнения можно написать

Sergey
25.10.2016
20:06:55
cancellationToken можешь убрать, ты его не используешь, хотя нужно

Admin
ERROR: S client not available

Vlad
25.10.2016
20:06:56
public ResultOrTimeout<T> ExecuteWIthTimeout<T>(Func<T> f, TimeSpan timeout) { }

Sergey
25.10.2016
20:08:25
ну да, можно выделить в метод, если нужно в разных местах использовать

Andrey
25.10.2016
20:10:42
Ок. Спасибо большое за советы. Завтра буду смотреть и думать. Таймаут нужен для чтения карты да, потому что диспенсер ошибку не вернет, а вот если карта не считалась то явно что-то пошло не так :)

Vlad
26.10.2016
08:57:12
у тебя не установлен решарпер

using System.Globalization; добавь

Ge$eR
26.10.2016
08:58:29
сенкс, пропустил(

/подгоревшая белочка с нейроновым повидлом
26.10.2016
08:58:32
Vlad
26.10.2016
08:58:35
В ParseExact первый аргумент неверный

Ge$eR
26.10.2016
09:00:42
а как из dateTimePicker получить дату формата "yyyy-MM-01"

число должно всегда 01 быть, месяц и год меняются

Vlad
26.10.2016
09:01:49
var dateTime = DateTime.ParseExact(splitted[0], "yyyy-MM-dd HH:mm:ss", cultureInfo);

Google
Vlad
26.10.2016
09:02:02
вот образец

Sergey
26.10.2016
09:36:40
Посоны, ну вы чо, совсем чтоли уже

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

Я теряю веру в человечество

Михаил
26.10.2016
09:46:49
она начиная толи с 2010 толи 2008 предлагала это альт+шифт+ф10 хоткей конечно так себе

Ge$eR
26.10.2016
09:54:41
var dateTime = DateTime.ParseExact(splitted[0], "yyyy-MM-dd HH:mm:ss", cultureInfo);
Не совсем понимать, что в моем случае вместо splitted должно быть?

Alex
26.10.2016
09:56:25
Не совсем понимать, что в моем случае вместо splitted должно быть?
Религия запрещает читать тебе святой msdn и использовать силу google?

Или документацию читают только дураки?

Ge$eR
26.10.2016
09:57:15
Святой гугл мне помог найти как парсить...

Alex
26.10.2016
09:59:52
Святой гугл мне помог найти как парсить...
Ну давай я попрошу святого гугла помочь тебе с прочтением доков

https://msdn.microsoft.com/ru-ru/library/system.datetime.parseexact(v=vs.110).aspx

Понажимай там по ссылочкам, почитай вдумчиво.

Там даже примеры использования есть, так-то

Sergey
26.10.2016
10:02:43
да в этом случае даже МСДН не нужен

все написано

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

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