Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо