![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShortString - max 255 символов. А String? [D7, XP]
i2e © (2011-09-20 11:06:00)Строки типа ShortString могут иметь длину максимум 255 символов. А строки типа String - никак не найду, чем могут быть ограничены. А чужая программа, с которой надо разбираться, построена на строках большоооой длины и есть подозрения, что это плохо.
Jeer (2011-09-20 14:04:00) [1]Автор уже смылся, поэтому нам не видать истины. :)
Рискну предположить, поскольку используется RS*, то используется компонент AsyncPro или аналог. Для прогонки бинарных данных применяется одна из разновидностей MIME co-decoding. Отсюда и длинные строки для передачи текстовых символов.
Страшного в этом ничего нет, почта работает так.
QAZ (2011-09-20 12:43:00) [2]
> i2e (20.09.11 11:54) [8]
живут же люди... :)
stas (2011-09-20 12:19:00) [3]i2e (20.09.11 12:13) [14]
Дело в том что может получится так что придется 2 переписывать.
Я не думаю что проблемы из-за длинны строк.
i2e (2011-09-20 12:13:00) [4]Цель: заново переписать программу (но только одну из двух), потому что много сбоев, зависания и прочая.
Вопрос был про ограничение длины строк, на которых всё было построено.
С ним уже понятно.
Спасибо всем. Дальше буду сам думать.
stas (2011-09-20 12:04:00) [5]Да действительно, в чем вопрос? ну сделано через задний проход.
А сейчас цель какая?
просто переделать?
или повысить производительность или какие-то ошибки исключить?
i2e (2011-09-20 12:01:00) [6]в дополнение к [6]: ... и переписать надо только одну из двух программ - которая принимает "картинки".
к [9]: про TStream это хорошо. попробую.
Плохиш (2011-09-20 12:01:00) [7]
> i2e (20.09.11 11:42) [4]
Пример в коде увидеть можно, а не ваши домыслы?
Palladin (2011-09-20 12:00:00) [8]
> i2e (20.09.11 11:54) [8]
ну та, которая передает, она кем писана? тобой? другими? можноли в ней что то менять в пользу Сергей М. © (20.09.11 11:53) [7] ? или чего? в чем вопрос то???
stas (2011-09-20 11:56:00) [9]i2e (20.09.11 11:42) [4]
Не писать в строку, а сохранять в TStream, а потом методом LoadFromStream, загрузить в TImage, но напрямую *.Jpg наверное не получится нужно с помощью класса TJpgImage вроде так он называется.
Как-то так...
i2e (2011-09-20 11:54:00) [10][6] две программы на двух разных компьютерах: одна передаёт, другая принимает "картинки". стык организован через порт 232.
Сергей М. (2011-09-20 11:53:00) [11]
> Вот как-то всё через задний проход сделано
Ну так сделай через передний)
Что мешает избавиться от чьих-то несуразных строковых манипуляций с заведомо бинарными данными ?
Palladin (2011-09-20 11:50:00) [12]
> Файлы jpg передаются через порт 232
кем/чем передаются?
Jeer (2011-09-20 11:43:00) [13]
> А чем это плохо?
В больших строках можно больше гадостей написасть.
i2e (2011-09-20 11:42:00) [14]Файлы jpg передаются через порт 232 как длинные строки, слепляясь в одну из кусков.
Str := Str + (NewBufferStr)Одна получившаяся длинная - это "как бы" jpg файл.
Дальше её сохраняют на диск как jpg файл. И с ним работают.
Хотя в итоге нужно получить переменную TImage.
Для этого потом с диска делается что-то вроде такого:
Image1.Picture.LoadFromFile('c:\temp\image.jpg');
Вот как-то всё через задний проход сделано, а как из строки сделать TImage - не пойму. Очень мало с картинками работал.
Palladin (2011-09-20 11:31:00) [15]строчки читать долго наверна
stas (2011-09-20 11:24:00) [16]i2e (20.09.11 11:06)
А чем это плохо?
QAZ (2011-09-20 11:16:00) [17]String types
Type Maximum length Memory required Used for
ShortString 255 characters 2 to 256 bytes backward compatibility
AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc.
WideString ~2^30 characters 4 bytes to 2GB Unicode characters; multi-user servers and multi-language applications