|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Здравствуйте есть переменная с типом данных String в цикле в неё стекается так Код: vbnet 1. 2.
в конце цикла Код: vbnet 1.
и мессага сколько же Количество_сгенерировано так вот мессага говорит, что всего Количество_сгенерировано = 27140, а реально напечатало 2255 шт., вопрос - почему не всё напечатало, напрашивается вывод, что String не бесконечный? И как следить когда он переполняется? что предпринимать? так то у меня в цикле раньше было Код: vbnet 1.
и горя не знал, но здесь подсказали, что так медленно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 16:14 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Считай дополнительно длину сгенерированной строки: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 16:55 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
AndreTM, >Считай дополнительно длину сгенерированной строки и... когда и как действовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 16:58 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Ну, предположим, длина ограничена 64K. Тогда так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 17:20 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Вроде бы 2 гигабайта не более размер строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 17:24 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
муторно, перепроверил, скорость при количестве проходов в 150000 одинакова, нафига я Вас послушал... Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 17:30 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
катастрофа, Word из Office 2010 вставляет через метод TypeText максимум 14467 символов. Итого как решение, вставлять не полностью весь текст из переменной, а постепенно, накапливая в буферную переменную и потом отдать её методу TypeText ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 17:47 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
VSVLADWord из Office 2010 вставляет через метод TypeText максимум 14467 символов. Не совсем так. Если длина строки n, метод TypeText вставляет (n Mod 65536) символов начиная с начала строки. Вот эксперимент в окне Immediate, Word 2000. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 18:31 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Интересно, что у близкого по смыслу метода InsertAfter ограничения нет: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 18:35 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
Может быть, это решение для ТС? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 18:36 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
КазанскийМожет быть, это решение для ТС? спасибо, но TypeText максимум 14467 символов плевать до этого у мня не дойтёт, чем огород 14258120 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2013, 23:23 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
катастрофаTypeText максимум 14467 символов плевать до этого у мня не дойтёт, чем огород 14258120 катастрофатак вот мессага говорит, что всего Количество_сгенерировано = 27140, а реально напечатало 2255 шт.Льёте, батенька, 27140 > 14467 Или тогда какого ... задавать академические вопросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2013, 06:11 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
AndreTM, в конце цикла нашло 27140 а печатать то я буду в самом цикле, как только нашло так сразу и всё будет хорошо, одним словом кто-то когда-то на этом форуме меня с панталыки сбил... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2013, 07:56 |
|
String не бесконечный?
|
|||
---|---|---|---|
#18+
И ничего не сбили, а правильно посоветовали. Суть была в чём - вы исполняете .TypeText внутри цикла, значит, вы исполняете его десятки тысяч раз. Даже если вывод на экран в процессе отключен - код самого метода исполняется эту туеву хучу раз. Вам же предложили - исполнить метод один раз, в конце (или как я - несколько раз в цикле, но всего лишь несколько), поскольку в большинстве реализаций - вывод обычно медленнее, чем конкатенация строк. То, что обнаружилась бяка с mod 64K - вам тоже посоветовали, как обойти. Просто учитывайте, что "неотличие" по скорости между разными методами - это сейчас, на ваших данных, Офисе, ОС и железе. При других условиях - всё может измениться (и, следуя ЗМ, - не в лучшую сторону). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2013, 08:21 |
|
|
start [/forum/topic.php?fid=60&msg=38247792&tid=2156999]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 392ms |
0 / 0 |