|
|
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Добрый день, коллеги! Из старой чужой библиотеки, написанной на дотнете, выдрал при помощи JetBrains dotPeek следующую функцию: Код: 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. Пытаюсь сконвертировать в Delphi Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Правильно ли я перенес функцию? Вопрос родился, т.к. при любых значениях переменной S я получаю на выходе 0. А текущая работающая система говорит "Checksum error" при некорректных данных. Никогда не бойся делать то, что не умеешь. Помни, профессионалы построили Титаник, а Ковчег любители. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 14:19:09 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2KПравильно ли я перенес функцию? Неправильно. Код: c# 1. видимо так: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 14:41:27 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2KПравильно ли я перенес функцию? Нет. Первое, что бросается в глаза - цикл с постусловием вдруг ставший циклом с предусловием. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 14:42:01 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Поправил. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Результат пока тот же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:01:30 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2K Код: c# 1. Kast2K Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:07:01 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Arioch, но ведь делятся целые числа, значит будет дробь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:10:41 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2KArioch, но ведь делятся целые числа, значит будет дробь Тебе корректный результат нужен (int), как на C# или Extended? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:32:54 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. проще говоря, n5 := n3 - n3 mod 3844 :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:39:12 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
sql2012, корректный конечно. Коллеги, отбой. Функция всегда вернет нулевое значение, т.к. int num4 = 3844; - константа int num5 = num3 / num4 * 3844; - здесь всегда num5 будет равен num3 return num3 - num5; - следовательно тут всегда будет 0. Видимо JetBrains dotPeek выдрал неправильно. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:39:51 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2K но ведь делятся целые числа, значит будет дробь открой для себя "целочисленное деление с остатком" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:42:00 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2Kздесь всегда num5 будет равен num3 нет, здесь будет num3 округлённый вниз до ближайшего 3844*i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:43:17 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Kast2K Код: pascal 1. Давно ли отрицание "меньше" стало строгим равенством вместо >= ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:44:54 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. почему UTF8 - если строка в UTF16 ? вот тут ты и получаешь сломанный юникод = пустую строку = пусой массив короче, начни с того, чтобы убедиться, что данные на вход попадают идентичные, байт за байтом. не буква за буквой черт знает где в какой кодировке, а байт за байтом ~~~~~~~~~~~~~~~~~~~ похоже на то, что эта хрень хэширует не весь буфер, а только каждый 4-й байт.... Код: plaintext 1. (IntPtr) byteArray - скорее всего PInteger(@b[ Low(b) ]) Самое начало буфера (первый элемент массива), взятый как указатель на int32 n2 + PInteger - если включено $PointerMath - то указатель сдвинутый на n2 размеров int32 (а не байтов) *(byte*) - но адрес начала следующего целого слова мы снова обзываем PByte и берем от него только один байт В общем, если верить этому бреду, то получается примерно такая хрень какая-то плюс-минус километр Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Не хэш, а бред какой-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 15:57:50 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
AriochНе хэш, а бред какой-то Что верно, то верно. Спасибо за помощь! К сожалению, на реальных данных результат неправильный. Буду копать систему дальше, т.к. что-то упустил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 16:34:37 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
хэшируются байты, а не строки тебе нужно запустить эту хрень под отладчиком - и понять какие реально байты заходят на вход той хэш-функции а то ты пустой массив хэшируешь ,как я выше писал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 16:44:03 |
|
||
|
Требуется помощт в конвертации C# в Delphi
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. А складывать надо научиться байты, а не строки, и ни их преобразования. И что мешает скомпилировать с# функцию в отдельном проекте и сравнить результаты? Компилятор то у всех есть C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2017, 18:31:41 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39484754&tid=2042052]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
203ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 528ms |

| 0 / 0 |
