Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/55: Рейтинг темы: голосов - 55, средняя оценка - 4.73
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197

Применение MemoryStream и BinaryReader

16.04.2017, 09:09. Показов 11231. Ответов 65
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане , помогите с таким вопросом ,
имеется байтовый массив , как применить MemoryStream и BinaryReader для разборки этого массива

то есть например ( пример Usaga тема из соседней ветки)
C#
1
2
3
4
5
6
7
8
9
10
11
12
byte[] array = ... получаем данные
 
using(var memStream = new MemoryStream(array))
using(var reader = new BinaryReader(memStream))
{
    while(какое-то условие) {
        string name = reader.ReadString();
        int age = reader.ReadInt32();
        double salary = reader.ReadDouble();
        // Обратите внимание: ни намёка на работу с массивом!
    }
}
вот так парсится у меня
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
. . ..  ... . 
     . .  . .. .
 [StructLayout(LayoutKind.Sequential)]
         struct hcSqlDstInfoT          // Структура содержит внутреннюю информацию о колонке результата, 
        {                                    // полученного при выполнении SQL-запроса. [url]http://hytechdb.ru/index.php?s=docs&ru=V25/hscli/str_hcSqlDstInfoT.htm[/url]
            public int      aliasno    ; // Порядковый номер алиаса,
            public int fieldno    ; // Номер колонки в таблице
            public int type       ; // Тип колонки
            public uint len        ; // Длина поля в байтах  ( в Си unsigned )
            public uint off        ; // Смещение поля относительно начала логической записи ( в Си unsigned )
            public fixed byte coder[32]  ;
            public fixed byte fname[32]  ; // Имя поля в таблице 
            public int func;
            public fixed byte asname[32] ; // Переименование поля
            public int key        ;
            public int resno      ; // Сквозной номер поля в результате
        };
. . . . .. . 
            int pCol  = 0 ; // кол-во колонок
            int pStr  = 0 ; // кол-во строк
            uint pRecSize = 0 ; // размер строки 
 
          .. .. . ... . 
....   .. .
            byte[] bufOut = new byte[(int)wBufSize];   // буфер для результата 
           
            err = hcSqlReadResults(pOper, gStart, bufOut, wBufSize, out cntOut); // Чтение результатов  тут  заполняется байтовый массив
           
            for (int  i = 0; i < pStr; i++)// идем по строкам
            {
               for (int j = 0; j < pCol; j++)// идем по колонкам
                {
                   switch (infCol[j].type)// в зависимости от типа колонки преобразовываем в соответствующий тип
                    {
                        case 0: // 0 Массив символов длиной не более заданной 
                             textBox4.AppendText(Encoding.GetEncoding(866).GetString(bufOut,  (i * (int)pRecSize) + (int)infCol[j].off   , (int)infCol[j].len   )  + " ");
                             break;
 
                        case 1: // 1 Массив байтов заданной длины 
                            textBox4.AppendText(infCol[j].type + " ");
                            break;
 
                        case 2: // 2 Элемент - unsigned char (короткое целое)  short
                            textBox4.AppendText( (bufOut[(i * (int)pRecSize) + (int)infCol[j].off]).ToString() + " ");
                            break;
 
                        case 3: // 3 Элемент - signed short  
                            textBox4.AppendText(infCol[j].type + " ");
                            break;
 
                        case 4: // 4 Элемент - unsigned short  
                            textBox4.AppendText(BitConverter.ToUInt16(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                            break;
 
                        case 5: // 5 Дата    - unsigned short  
 
                            textBox4.AppendText(infCol[j].len + " ");
                            break;
 
                        case 6: //6  Номер   - 3-х байтовое целое без знака  
                            textBox4.AppendText(infCol[j].type + " ");
                           break;
 
                        case 7: //7 Элемент - long int 
                            textBox4.AppendText(BitConverter.ToInt32(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                            break;
 
                   case 8: // 8 Элемент - unsigned long int  в БД это dword 
                           textBox4.AppendText(BitConverter.ToInt32(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                           break;
 
                    case 9: //  9  Элемент - float
                            textBox4.AppendText(BitConverter.ToDouble(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                            break;
 
                    case 10: // 10 Деньги (double)  
                            textBox4.AppendText(BitConverter.ToDouble(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                            break;
 
                    case 11: // 11 Элемент - double  
                            textBox4.AppendText(BitConverter.ToDouble(bufOut, (i * (int)pRecSize) + (int)infCol[j].off) + " ");
                            break;
 
                    case 12: // 12 Элемент - signed __int64 
                            textBox4.AppendText(infCol[j].type + " ");
                            break;
                    case 13: // 13 Элемент - unsigned __int64 
                            textBox4.AppendText(infCol[j].type + " ");
                            break;
                    }//////switch
                 }/////// идем по колонкам
                textBox4.AppendText("\r\n");
            } //// идем по строкам
подскажите как применит MemoryStream и BinaryReader из примера к моему случаю

Добавлено через 21 минуту
попробовал наскоком применить
C#
1
2
3
4
5
6
7
8
9
10
11
12
            using (var memStream = new MemoryStream(bufOut)    )
            using (var reader    = new BinaryReader(memStream) )
            {
                string name = reader.ReadString();
                textBox4.AppendText(name + "\r\n");
 
                int age = reader.ReadInt32();
                textBox4.AppendText(age + "\r\n");
 
                double salary = reader.ReadDouble();
                textBox4.AppendText(salary + "\r\n");
             }
результат

873594880
4,67780859416846E-317
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2017, 09:09
Ответы с готовыми решениями:

Применение binarywriter/binaryreader
допустим создаю структуру по заданию где нужно создать файл, содержащий записи о студентах из 3 групп (не менее 15). сама структуруа ...

Где находят свое применение BinaryWriter и BinaryReader?
Интересно, как на практике используются эти потоки для хранения информации? Просто, насколько я понял при чтении нужно строго указывать тип...

JPEG->MemoryStream = 120тиков а JPEG->Image1 и Image1->MemoryStream = 30тиков?
Добрый вечер. Впринципе название темы все объясняет. Ради любопытства думал что может по умолчанию размер JPEGa не задан и он кроме рисунка...

65
Эксперт .NET
 Аватар для Usaga
14811 / 9584 / 1368
Регистрация: 21.01.2016
Сообщений: 36,100
19.04.2017, 08:04
Студворк — интернет-сервис помощи студентам
Для начала, разделите свой код на UI и на работу с СУБД. Сделайте два разных проекта в одном солюшене. Так, чтобы от кода работающего с БД получать простой C#-пный класс, и его свойства развешивать на контролы в UI. А всю возню уберите подальше, с глаз долой. Вам же легче будет работать.

Добавлено через 9 минут
Цитата Сообщение от fssf11 Посмотреть сообщение
да говорили мне взрослые дядки что на форумах над тобой прикалыватся будут , но не до такой же степени
Молодой человек. Я над вам не прикалываюсь никаким образом, ни явно ни косвенно.

Цитата Сообщение от fssf11 Посмотреть сообщение
ну ну попробуй сделай , был спор в реале я бы с тобой на пару центов поспорил, а так могу просто предложить чтобы ты доказал что ты умнее меня , тогда я признаю я балбес
Я ничего за вас делать не буду. Я доказывать вам, что вы - балбес тоже. Задача поставлена перед вами, вот вы её и решайте. Я просто посмотрел в документацию и вижу (и до вас доношу), что можно сделать более-менее красиво и удобно. Без потерь в производительности (особых). Но я не настаиваю, и доказывать ничего не собираюсь.

Я полагаю, что на данный момент я вам помог уже чем мог. Тема начала переходить в какую-то агрессию. Извините, если разозлил. Делайте, как считаете нужным.
0
19.04.2017, 08:13

Не по теме:

Цитата Сообщение от fssf11 Посмотреть сообщение
это просто хоби
А почему выбрана не MySQL, SQLite или Entity Framework?

0
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 08:40  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Задача поставлена перед вами, вот вы её и решайте.
ну задачу передо мной ни кто ни ставил , я же писал что это у меня хоби , просто хотел пообщатся

Добавлено через 2 минуты
Цитата Сообщение от Rius Посмотреть сообщение
А почему выбрана не MySQL, SQLite или Entity Framework?
это же очевидно как белый , день , под эти СУБД уже делано переделано , еще в прошлом веке , та и в этом тоже ,
а под HyTech ни чего нету кроме одного сайта , и притом она русская , а русские своих не бросают

Добавлено через 51 секунду
Цитата Сообщение от Rius Посмотреть сообщение
или Entity Framework?
к стате не знал что это СУБД

Добавлено через 2 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Для начала, разделите свой код на UI и на работу с СУБД. Сделайте два разных проекта в одном солюшене. Так, чтобы от кода работающего с БД получать простой C#-пный класс, и его свойства развешивать на контролы в UI. А всю возню уберите подальше, с глаз долой. Вам же легче будет работать.
Согласен , только по шагам можете продиктовать что сделать ?
вот у меня проект в MSVS 2015 C# WPF
что мне надо сделать , присоединить еще один проект ?
0
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 08:43  [ТС]
Да вот все это хорошо , вскрылась еще одна чтука на более менее болших таблицах чем 5 строк БинариПоток захлебывается
Миниатюры
Применение MemoryStream  и  BinaryReader  
0
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 08:44  [ТС]
хотя видно что буфер выделен под нужное количество байтов
0
Эксперт .NET
 Аватар для Rius
13826 / 7898 / 1707
Регистрация: 25.05.2015
Сообщений: 23,970
Записей в блоге: 14
19.04.2017, 08:46
Цитата Сообщение от fssf11 Посмотреть сообщение
это же очевидно как белый , день
Странно. Обычно очевидно наоборот:
  • начинающие хоббиты делают на широко распространённых движках, т.к. больше документации и примеров;
  • работающие на кого используют то, что им назначено/выбрано кем-то, каким бы редким и неудобным оно не было.
БинариПоток захлебывается
Это значит, что у вас ошибка в коде.
1
Эксперт .NET
 Аватар для Usaga
14811 / 9584 / 1368
Регистрация: 21.01.2016
Сообщений: 36,100
19.04.2017, 08:58
Цитата Сообщение от fssf11 Посмотреть сообщение
БинариПоток захлебывается
Он не может "захлебнуться" - ему просто нечем. Что BinaryReader, что MemoryStream - просто читалки из нижележащего потока\массива и ничего более. Ищите ошибки в своём коде.

Цитата Сообщение от fssf11 Посмотреть сообщение
к стате не знал что это СУБД
Я тоже. Я всегда думал, что это ORM.

Цитата Сообщение от fssf11 Посмотреть сообщение
это же очевидно как белый , день , под эти СУБД уже делано переделано , еще в прошлом веке , та и в этом тоже ,
а под HyTech ни чего нету кроме одного сайта , и притом она русская , а русские своих не бросают
Нет, мне неочевидно, зачем нужно бросаться на решение задачи без малейшего опыта и понимания. Обычно делают наоборот - идут протаренными дорожками, чтобы быстрее "въехать".
1
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 09:38  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Странно. Обычно очевидно наоборот:
начинающие хоббиты делают на широко распространённых движках,
да вот такие дела , каждый сходит с ума как может , но мне реально не интересно , на распространеных , вот щас эту доделаю потом вооще под ClickHouse попробую

Цитата Сообщение от Rius Посмотреть сообщение
Это значит, что у вас ошибка в коде.
вот щас ищу , начинаю читать с 155 позиции , опять выводит только первые 156

Добавлено через 30 секунд
Цитата Сообщение от Usaga Посмотреть сообщение
Ищите ошибки в своём коде.
ищу

Добавлено через 15 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Нет, мне неочевидно, зачем нужно бросаться на решение задачи без малейшего опыта и понимания.
по принципу Экстремального программирования шучу конечно , просто в диалоге лучше усваивается ,
да и еще не поленюсь повторю не будь балбесов задающих вопросы , не на ком былобы показывать умность
, та и форумы тогда зачем ?

Добавлено через 18 минут
ну вот нашел , функция hcSqlReadResults вычитывает только 51636 байт и больше не хоче брать ,
тогда надо выбирать по 50 записей , на С/С++ уже проходили это
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
19.04.2017, 11:56
Цитата Сообщение от fssf11 Посмотреть сообщение
Да вот все это хорошо , вскрылась еще одна чтука на более менее болших таблицах чем 5 строк БинариПоток захлебывается
Там ваш сервер не все записи просто выдает... А в коде у вас проверок на это нету, вот вы и валите все на "БинариПоток".
1
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 12:10  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
А в коде у вас проверок на это нету, вот вы и валите все на "БинариПоток".
не не уже не валю , нашел , надо вычитывать порциями вот сейчас все хозяйство заворачиваю еще в один цикл
что бы читать пачками по 50 записей
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
19.04.2017, 12:17
Цитата Сообщение от fssf11 Посмотреть сообщение
что бы читать пачками по 50 записей
Почему именно по 50? В документации сервера не сказано сколько он может отдать максимум?
1
Эксперт .NET
 Аватар для Usaga
14811 / 9584 / 1368
Регистрация: 21.01.2016
Сообщений: 36,100
19.04.2017, 12:23
Цитата Сообщение от fssf11 Посмотреть сообщение
что бы читать пачками по 50 записей
Вот это крайне фиговый подход. У вас же сказано, что

Цитата Сообщение от fssf11 Посмотреть сообщение
функция hcSqlReadResults вычитывает только 51636 байт и больше не хоче брать
... так с чего вы взяли, что одна запись займёт ровно 1000 байт? А если больше?
1
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 12:39  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
Почему именно по 50?
чисто экспериментально , вывел от чего зависит не знаю но естественно понял что пропорционально зависит от количества колонок , размера полей и от этого почему то и возращает число байтов по своему как то хотя , например задаю размер буфера большой , все равно пишет мало

Добавлено через 54 секунды
Цитата Сообщение от Usaga Посмотреть сообщение
так с чего вы взяли, что одна запись займёт ровно 1000 байт? А если больше?
не я не говорю что она займет 1000 байт , с чего Вы взяли
0
Эксперт .NET
 Аватар для Usaga
14811 / 9584 / 1368
Регистрация: 21.01.2016
Сообщений: 36,100
19.04.2017, 12:40
Цитата Сообщение от fssf11 Посмотреть сообщение
с чего Вы взяли
Вы сами сказали, что хотите 50 записей вытянуть. Если запись будет 2000 байт занимать? Что тогда? Ошибку получите?
1
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 13:16  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Вы сами сказали, что хотите 50 записей вытянуть. Если запись будет 2000 байт занимать? Что тогда? Ошибку получите?
та не , в функции hcSqlReadResults задается размер буфера , и функция заполняет его http://hytechdb.ru/index.php?s... esults.htm

Добавлено через 1 минуту
вот пробую так
C#
1
2
3
4
5
6
7
...
    for (int gStart = 0; gStart < pStr / 50; gStart++)
            {
 
                err = hcSqlReadResults(pOper, gStart  , bufOut, wBufSize, out cntOut); // Чтение результатов
    ...  .. 
 .. . .
0
Эксперт .NET
 Аватар для Usaga
14811 / 9584 / 1368
Регистрация: 21.01.2016
Сообщений: 36,100
19.04.2017, 13:36
fssf11, не надо так. Это какое-то рандомное решение.

Вы получаете коллекцию структур описывающих полученные данные и размер каждого поля. Сложите все размеры и получите количество байт на одну строку результата. От этого и отталкивайтесь.
1
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
19.04.2017, 18:18
Лучший ответ Сообщение было отмечено fssf11 как решение

Решение

Повозился с вашей БД от нечего делать, написал небольшой враппер...
Не претендую на правильность, архитектура так себе, особо ничего не тестировалось, но вроде работает...
Для компиляции скорее всего потребуется VS2017.
Вложения
Тип файла: zip HyTechDBTest.zip (279.3 Кб, 3 просмотров)
2
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 23:43  [ТС]
Someone007, запустил , ошибки
Серьезность Код Описание Проект Файл Строка
Ошибка MSB8020 The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". CppConsoleApp1 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Mi crosoft.Cpp.Platform.targets 57
Ошибка CS0103 Имя "cntOp" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 80
Ошибка CS0103 Имя "cntOut" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 136
Ошибка CS0103 Имя "cntOut" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 140
Ошибка CS0103 Имя "pCols" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 28
Ошибка CS0103 Имя "pCols" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 30
Ошибка CS0103 Имя "pRows" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 41
Ошибка CS0103 Имя "pRows" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 43
Ошибка CS1525 Недопустимый термин "int" в выражении hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 28
Ошибка CS1525 Недопустимый термин "int" в выражении hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 41
Ошибка CS1525 Недопустимый термин "uint" в выражении hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 80
Ошибка CS1525 Недопустимый термин "uint" в выражении hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 136
Ошибка CS1003 Синтаксическая ошибка, требуется "," hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 28
Ошибка CS1003 Синтаксическая ошибка, требуется "," hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 41
Ошибка CS1003 Синтаксическая ошибка, требуется "," hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 80
Ошибка CS1003 Синтаксическая ошибка, требуется "," hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 136
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
19.04.2017, 23:46
Цитата Сообщение от fssf11 Посмотреть сообщение
Someone007, запустил , ошибки
Цитата Сообщение от Someone007 Посмотреть сообщение
Для компиляции скорее всего потребуется VS2017.
Так что исправляйте синтаксис на старую версию если у вас не VS2017.

Например
Ошибка CS0103 Имя "cntOp" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 80
C#
1
int err = Native.hcSqlGetStmtAttr(pOper, NativeConst.HSCLI_STMT_DST_INFO, pos, infCol, size, out uint cntOp);
меняется на
C#
1
2
uint cntOp;
int err = Native.hcSqlGetStmtAttr(pOper, NativeConst.HSCLI_STMT_DST_INFO, pos, infCol, size, out cntOp);
и т.д.
2
16 / 16 / 1
Регистрация: 27.02.2017
Сообщений: 197
19.04.2017, 23:53  [ТС]
Someone007, ОК я сейчас скачаю установлю MSVS2017 а то у меня MSVS2015,
а так код уже посмотрел

Добавлено через 2 минуты
Цитата Сообщение от Someone007 Посмотреть сообщение
Например
Ошибка CS0103 Имя "cntOp" не существует в текущем контексте. hcDBLib C:\Users\Admin\Desktop\HyTechDBTest\hcDB Lib\hcStatement.cs 80
C#
1
int err = Native.hcSqlGetStmtAttr(pOper, NativeConst.HSCLI_STMT_DST_INFO, pos, infCol, size, out uint cntOp);
меняется на
C#
1
2
uint cntOp;
int err = Native.hcSqlGetStmtAttr(pOper, NativeConst.HSCLI_STMT_DST_INFO, pos, infCol, size, out cntOp);
и т.д.
ааа ага понял понял , буду иметь в виду , но все равно сейчас поставлю и MSVS2017 , и раньше хотел но вот и случай подвернулся ,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.04.2017, 23:53

BinaryReader C# .NET 3.5
здравствуйте. может кто подскажет... есть файл, формировался с Pascal, хранит записи, структура файла извесна. смущает одно: в Pascal...

Ругается на BinaryReader
private void button1_Click(object sender, EventArgs e) { ktmf = 0; izd = &quot;&quot;; OpenFileDialog openFileDialog1 = new...

Structure и BinaryReader
Есть двоичный файл, известна структура файла, который читаю последовательно через BinaryReader (могу прочитать все что нужно создавая кучу...

Ускорение BinaryReader
Проблема такая: есть рабочий код, но выполняется он непозволительно долго, подскажите, что можно сделать для ускорения этой операции (хотя...

Трабл с BinaryReader.ReadSingle
Есть проблема концов которой я не могу найти позиция действительно перемещается на 4, но считывается больше 4х байт. Проблема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru