Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Textbox больше 65535 символов, Как "забрать" большую строку 
:(
    Опции темы
swetik1981
Дата 20.10.2010, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.12.2007

Репутация: нет
Всего: нет



В моей проге имеется текстбокс, в которую пользователь в процессе работы после копирования из своего текста вставляет для дальнейшей обработки строки огромной длины. Какой бы не была строка длины, она мануально нормально вставляется и прокручивается в текстбоксе. Но вот "забрать" из этого текстбокса можно только первые 65535 символов. 
Это меня не устраивает. Можно как-то забрать всю строку (может быть что-то из АПИ)? 
Сразу оговорюсь, что ричтекстбокс тоже не подходит - строки могут быть больше, чем позволяет даже этот контрол. 
PM MAIL   Вверх
Akina
Дата 20.10.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(swetik1981 @  20.10.2010,  10:56 Найти цитируемый пост)
 "забрать" из этого текстбокса можно только первые 65535 символов. 

А чем и зачем забирать?
Какой вообще глубинный смысл сего действа?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
swetik1981
Дата 20.10.2010, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.12.2007

Репутация: нет
Всего: нет



Цитата

А чем и зачем забирать?
Какой вообще глубинный смысл сего действа?


Смысл сего действа в том, чтобы дальше с введённым текстом работать.

Код

Dim allString as string
allString=TextBox1.Text


и дальше идут программы обработки текста.

Всё работает, если ведённый (скопированный и вставленный) текст меньше обозначенной длины, но в моей программе он может достигать нескольких десятков мегабайт. Можно было бы отцепиться и искать другое решение, если бы многомегабайтный текст вообще не вставлялся в текстбокс. Но он вполне нормально туда вставляется (не обрезается), прокручивается, редактируется. Но в вышеуказанном примере allString будет содержать только 65535 символов. Ну неужели нельзя каким-то обходным путём поместить в allString весь текст, содержащийся в текстбоксе?
PM MAIL   Вверх
Akina
Дата 20.10.2010, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



а зачем его туда вставлять? почему нельзя по нажатию кнопки прямо взять его из клипборда? зачем промежуточный текстбокс?

Добавлено через 7 минут и 29 секунд
Если надо - можно реагировать на взятие текста из клипборда - например, выводить на форму кол-во байтов принятого текста...




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
~FoX~
Дата 21.10.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Цитата(swetik1981 @  20.10.2010,  17:41 Найти цитируемый пост)
Но в вышеуказанном примере allString будет содержать только 65535 символов. 


Цитата

String Data Type
There are two kinds of strings: variable-length and fixed-length strings. 
A variable-length string can contain up to approximately 2 billion (2^31) characters.
A fixed-length string can contain 1 to approximately 64K (2^16) characters. 



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
swetik1981
Дата 21.10.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.12.2007

Репутация: нет
Всего: нет



Цитата(~FoX~ @ 21.10.2010,  11:34)
Цитата(swetik1981 @  20.10.2010,  17:41 Найти цитируемый пост)
Но в вышеуказанном примере allString будет содержать только 65535 символов. 


Цитата

String Data Type
There are two kinds of strings: variable-length and fixed-length strings. 
A variable-length string can contain up to approximately 2 billion (2^31) characters.
A fixed-length string can contain 1 to approximately 64K (2^16) characters. 

К чему приведена эта цитата? Для allString не задавалось фиксированной длины. Причём если я забиру из текстбокса обрубок текста длиной 65535 символов:
Код

allString=textbox1.text
потом программно добавлю к нему ещё пять символов:
Код

allString=allString+"ля-ля"
длина текста увеличится на 5 символов, т.е. станет 65540.
Лело не в переменной, а в свойстве тексбокса...
PM MAIL   Вверх
Akina
Дата 21.10.2010, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



swetik1981
Долго думал.
Не выдержал. 
Создал новый проект - один текстбокс, одна кнопка.
Код

Private Sub Command1_Click()
Dim s As String
s = Text1.Text
Debug.Print Len(s)
End Sub

Запустил. Сунул в текстбокс через клипборд ба-а-а-льшой текст. Жмакнул кнопку. В окне отладки - цифирь в три с хвостом миллиона.




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.