|
|
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Написал сервис, который должен загружать файлы. Модуль автогенерации Delphi создал для него класс с методом: Код: pascal 1. Засада там, где её не ждал - не могу прочитать файл. Написал лабу, которая пытается скопировать файл и вообще никак не связана с SOAP. В результате, записывается файл с какой-то ерундой. Как можно прочитать содержимое файла в TByteDynArray ? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:04 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Кодируй в Base64 и передавай строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:19 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
rgreat, Может это и будет так. Но сейчас вопрос в том, как считать содержимое файла ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:35 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Valery_B, Нужно Read применять не к переменной динамического массива, а к первому (т.е. к нулевому) элементу его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:38 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
чччД, Ты имеешь ввиду так ? Код: pascal 1. Так я тоже попробовал, но не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:48 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Создаю текстовый документ, в котором пишу "Hello world!" И не могу создать копию файла используя TByteDynArray Получается файл аналогичной длинны, с не понятным содержанием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:54 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
вместо Stream2.Write(ABytes,SizeOf(ABytes)) тоже надо Stream2.Write(ABytes[0],SizeOf(ABytes)) делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:55 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Valery_BТак я тоже попробовал, но не работает.Потому, что Write тоже нужно до ума довести Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:55 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Мда. И не SizeOf(ABytes) а length(ABytes). Как все запущено-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:55 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
rgreatнадо Stream2.Write(ABytes[0], SizeOf(ABytes) ) делать.а если подумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:56 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Сколько новых интересных вещей, и все в один день. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:58 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_а если подумать? Если подумать то Length(ABytes) * SizeOf(ABytes[0]) это масло-масляное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:01 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
rgreat, УРА! 4 часа катарги прекратились! Надо действительно считывать ABytes[0] и записывать тоже ABytes[0] А вот передавать в SOAP уже надо именно ABytes . Для меня - просто мистика какая та. Что касается SizeOf и Length, во время опытов там стояло и то, и другое, и третье. В результате я поставил Stream.Size. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:11 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Ты намекаешь, что на разных платформах может быть разной длина байта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:11 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Valery_BЧто касается SizeOf и Length, во время опытов там стояло и то, и другое, и третье. В результате я поставил Stream.Size. Если работаешь со строками - то лучше делать Length(_String_)*SizeOf(_XXX_Char_). WideChar<>AnsiChar по длине в байтах. Для UTF8 все еще веселее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:14 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
c UTF8 все просто Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:24 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
Zeliusc UTF8 все просто Но помнить об этом надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:27 |
|
||
|
Прочитать файл в TByteDynArray (SOAP)
|
|||
|---|---|---|---|
|
#18+
DarkMasterТы намекаешь, что на разных платформах может быть разной длина байта?Не. Тип переменной имеет свойство меняться. Вначале это array of Byte, потом станет array of Char. Сам у себя везде пишу Length(array) * SizeOf(array[0]). Кушать не просит, а волнуюсь меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39639432&tid=2040935]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 469ms |

| 0 / 0 |
