Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.01;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
4-1253673415
bzzz
2009-09-23 06:36
2012.01.01
Как программно получить путь до папки Application Data для пользо


1-1279133084
Дмитрий Белькевич
2010-07-14 22:44
2012.01.01
Как передать параметры при инсталляции сервиса


2-1316618998
Мемоза
2011-09-21 19:29
2012.01.01
Как написать на Дельфи эмулятор игровой приставки NES?


15-1314702451
Sergey Masloff
2011-08-30 15:07
2012.01.01
Ну че ворлд тур приближается. Кто идет, я буду


2-1316690831
Laguna
2011-09-22 15:27
2012.01.01
Позиционирование в Combobox по значению объекта