|
|
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
авторstr:=inputString; откуда вы это берёте ? Ariochа Delphi какой версии ? не ответили.... авторRawByteString судя по этому - Дельфи юникодная, 2009+, в ней нельзя дуриком двоичные данные в строки пихать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:36 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genokздесь зашифрована дата 13.08.1982 как её можно получить? разобраться как устроены ваши данные и написать для них парсер для начала мы даже не знаем из каких атомов данные состоят - байты, дву-байты, 4-байты, переменной длинны блоки - непонятно откуды вы берете свои hex-числа, какие преобразования над ними проводятся до, какие после вполне возможно ,что чатьс аднный уже испорчена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:39 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genokтам данные приходят в бинарном виде, одной строкой вот эта вот фраза - невозможная в принципе так не бывает в юникодной Дельфи в строке - текст, а не бинарные данные так что придется вам начинать с самого начала, танцевать от печки, разбираться как именно и в каких именно форматах и кто передает вам в программу данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:41 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Ariochоткуда вы это берёте ? Delphi XE2 беру данные отсюда: Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:44 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
ваша программа хз что делает - 21082769 - и хз как хз что получает в ответ, и как тут дальше гадать?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:44 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genok Код: pascal 1. а где определение функции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:45 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genokinputString=pcsc.GetResponseFromCard( Hex2Bin('00b00003a7') ) function TPCSCConnector.GetResponseFromCard(const APdu: string ): string; нельзя так делать в Юникодной Дельфи. вам в этом случае возможно повезло - две ошибки взаимнно уничтожились. Но это просто вопрос везения, случайности. читайте какие-нибудь FAQ про переход Delphi на Юникод в 2009 и про работу в Deдphi с бинарными данными или хотя бы последную фразу в 21235857 но лучше найдите статьи и прочитайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:49 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genok Код: pascal 1. А если нет, то что тогда? ответ, тогда значение параметра Result останется таким, какое было передано из вызывающей программы, и о том, что была ошибка вообще никто не узнает. судя по всему, писалось на коленке и абы как, вероятно "код с форума" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:51 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Ariochgenok Код: pascal 1. а где определение функции ? вот все что есть: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:53 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genok Код: pascal 1. вот здесь вы скорее всег опортите данные, и дальше в них смотреть большого смысла не имеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 17:54 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genok Код: pascal 1. то есть там байты если делать по человечески, то все данные надо передавать через TBytes оно же TArray<Byte> и не пользоваться строками вообще. Хотя бы для того, чтобы самому себя не запутывать ,где у вас тексты ,а гед довичные буферы. если делать халявно - то надо использовать AnsiChar/PAnsiChar/AnsiString или RawbyteString и тщательно следить, чтобы ниоткуда и нигде не вылезло Char=WideChar/PChar=PWideChar/String=UnicodeString/WideString а вообще, в самом деле, вам надо почитать как устроены внутрений типы Delphi (длинные строки и динамические массивы), что изменилось в Delphi 2009, и как теперь "по канону" полагается работать с бинарными данными. После этого либо вы делаете как теперь принято, либо делаете "как в древних Delphi", но тогда крайне тщательно следите чтобы нигде не использовать новых типов и форматов ,появившихся в 2009 выбори за вами genok Код: pascal 1. это часть самой Windows или какой-то библиотеки для карты, любопытно я бы возможно посмотрел последнюю версибю JEDI Win API Library - хотя она сама по себе довольно громоздкая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:00 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Arioch но лучше найдите статьи и прочитайте лет 5 назад перешел с Delphi7 на DelphiXE2, читал все это и вроде даже что-то понял, потому как получилось перенести проекты на юникодную RAD но к нынешнему моменту в голове снова вакуум, увы. видать, придется снова читать в любом случае, спасибо за попытку помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:01 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Ariochэто часть самой Windows или какой-то библиотеки для карты, любопытно судя по гуглу, это часть стандартного интерфейса, которые есть и в Windows и во всех других операционках https://msdn.microsoft.com/library/windows/desktop/aa379804.aspx https://www.codeproject.com/Questions/354281/How-to-send-APDU-command-using-SCardTransmit остаётся читать и разбираться в смысле происходящего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:02 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
вот нашел кусок JS который получает текст или дату, в зависимости от типа ожидаемых данных Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:12 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genok Код: javascript 1. какая знакомая аббревиатура, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:35 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genokвот нашел кусок JS чтобы понять этот кусок вам надо понять, в каком виде данные до него дошли то есть разобраться не только с двоичным форматом (который наверняка описан и в международном стандарте смарт-карт, и в Windows API и много где ещё), но и со всеми трансформациями данных, происходящими с этим буфером на пути к этому коду начните с того, чтобы получать/хранить/передавать данные в исходном бинарном "сыром" (raw) виде в юникодной Delphi XE2, не разрушая их Какой толк пялиться в чей-то код, если вам не к чему этот код применить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 18:41 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
допёр оказалось, IntToHEX(Ord(ansiString[loop]),2) и IntToHEX(Ord(WideString[loop]),2) дают совершенно разный результат не пинайте сильно, "рядовой шутник глуп и невежественен" ну и вид блока с датой выходит таким: автор5F 24 04 13 08 19 82 7F 30 33 в общем, дату увидел, уже хорошо строковые данные тоже получил теперь с потерями надо разобраться, конец строки явно режется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 19:12 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
genokоказалось, IntToHEX(Ord(ansiString[loop]),2) и IntToHEX(Ord(WideString[loop]),2) дают совершенно разный результат ага, нонче за тилипата я - 21240818 как же это тилипает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 19:14 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
автор13 08 19 82 7F 30 33 это 7 байтов, на 4 не делится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 19:16 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Ariochавтор13 08 19 82 7F 30 33 это 7 байтов, на 4 не делится длина 4 байта к использованию указана, остальное лишнее судя по всему почему так - не знаю и вряд ли получится разобраться у меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 19:48 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Ariochgenokоказалось, IntToHEX(Ord(ansiString[loop]),2) и IntToHEX(Ord(WideString[loop]),2) дают совершенно разный результат ага, нонче за тилипата я - 21240818 как же это тилипает! так и есть, извините) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 19:51 |
|
||
|
JavaScript=>Delphi
|
|||
|---|---|---|---|
|
#18+
Вроде Вам ссылки выше давали там все есть, нужно только разобраться. В конечном итоге у Вас должно получится что то вроде этого: Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 21:04 |
|
||
|
|

start [/forum/search_topic.php?author=Obelisk&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
19ms |
get settings: |
10ms |
get forum list: |
10ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
10ms |
get forum list: |
22ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 3585ms |
| total: | 3915ms |

| 0 / 0 |
