Форум: "Начинающим";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
ВнизShortString - max 255 символов. А String? Найти похожие ветки
← →
i2e (2011-09-20 11:06) [0]Строки типа ShortString могут иметь длину максимум 255 символов. А строки типа String - никак не найду, чем могут быть ограничены. А чужая программа, с которой надо разбираться, построена на строках большоооой длины и есть подозрения, что это плохо.
← →
QAZ (2011-09-20 11:16) [1]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
← →
stas © (2011-09-20 11:24) [2]i2e (20.09.11 11:06)
А чем это плохо?
← →
Palladin © (2011-09-20 11:31) [3]строчки читать долго наверна
← →
i2e (2011-09-20 11:42) [4]Файлы jpg передаются через порт 232 как длинные строки, слепляясь в одну из кусков.
Str := Str + (NewBufferStr)
Одна получившаяся длинная - это "как бы" jpg файл.
Дальше её сохраняют на диск как jpg файл. И с ним работают.
Хотя в итоге нужно получить переменную TImage.
Для этого потом с диска делается что-то вроде такого:Image1.Picture.LoadFromFile("c:\temp\image.jpg");
Вот как-то всё через задний проход сделано, а как из строки сделать TImage - не пойму. Очень мало с картинками работал.
← →
Jeer © (2011-09-20 11:43) [5]
> А чем это плохо?
В больших строках можно больше гадостей написасть.
← →
Palladin © (2011-09-20 11:50) [6]
> Файлы jpg передаются через порт 232
кем/чем передаются?
← →
Сергей М. © (2011-09-20 11:53) [7]
> Вот как-то всё через задний проход сделано
Ну так сделай через передний)
Что мешает избавиться от чьих-то несуразных строковых манипуляций с заведомо бинарными данными ?
← →
i2e (2011-09-20 11:54) [8][6] две программы на двух разных компьютерах: одна передаёт, другая принимает "картинки". стык организован через порт 232.
← →
stas © (2011-09-20 11:56) [9]i2e (20.09.11 11:42) [4]
Не писать в строку, а сохранять в TStream, а потом методом LoadFromStream, загрузить в TImage, но напрямую *.Jpg наверное не получится нужно с помощью класса TJpgImage вроде так он называется.
Как-то так...
← →
Palladin © (2011-09-20 12:00) [10]
> i2e (20.09.11 11:54) [8]
ну та, которая передает, она кем писана? тобой? другими? можноли в ней что то менять в пользу Сергей М. © (20.09.11 11:53) [7] ? или чего? в чем вопрос то???
← →
Плохиш © (2011-09-20 12:01) [11]
> i2e (20.09.11 11:42) [4]
Пример в коде увидеть можно, а не ваши домыслы?
← →
i2e (2011-09-20 12:01) [12]в дополнение к [6]: ... и переписать надо только одну из двух программ - которая принимает "картинки".
к [9]: про TStream это хорошо. попробую.
← →
stas © (2011-09-20 12:04) [13]Да действительно, в чем вопрос? ну сделано через задний проход.
А сейчас цель какая?
просто переделать?
или повысить производительность или какие-то ошибки исключить?
← →
i2e (2011-09-20 12:13) [14]Цель: заново переписать программу (но только одну из двух), потому что много сбоев, зависания и прочая.
Вопрос был про ограничение длины строк, на которых всё было построено.
С ним уже понятно.
Спасибо всем. Дальше буду сам думать.
← →
stas © (2011-09-20 12:19) [15]i2e (20.09.11 12:13) [14]
Дело в том что может получится так что придется 2 переписывать.
Я не думаю что проблемы из-за длинны строк.
← →
QAZ (2011-09-20 12:43) [16]
> i2e (20.09.11 11:54) [8]
живут же люди... :)
← →
Jeer © (2011-09-20 14:04) [17]Автор уже смылся, поэтому нам не видать истины. :)
Рискну предположить, поскольку используется RS*, то используется компонент AsyncPro или аналог. Для прогонки бинарных данных применяется одна из разновидностей MIME co-decoding. Отсюда и длинные строки для передачи текстовых символов.
Страшного в этом ничего нет, почта работает так.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c