Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 | 2 | 3 |

 

  Вопрос: Копия строки ? Добавлено: 22.12.08 22:17  

Автор вопроса:  Lapex

Ответить

  Ответы Всего ответов: 37  

Номер ответа: 31
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #31 Добавлено: 26.12.08 15:28
  1. Хотя вообще-то размер строк может быть ограничен доступной памятью в системе. В топку такую ф-цию.


Максимальный размер Asciiz переменной - 16777216 байт. Len - возвращает логический размер данных в переменной.

Ответить

Номер ответа: 32
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #32 Добавлено: 26.12.08 15:35
Максимальный размер Asciiz переменной - 16777216 байт

Я очень рад за PowerBasic:)

Ответить

Номер ответа: 33
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #33 Добавлено: 26.12.08 15:44
Father - вообще не понимаю, зачем тут использовать fixed-length strings?
Если нужен большой объем данных, юзай String (4 гига) или что намного разумнее, создать буфер в памяти.

Ответить

Номер ответа: 34
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #34 Добавлено: 26.12.08 16:28
вообще не понимаю, зачем тут использовать fixed-length strings

Мы забыли спросить, зачем такие большие строки.
Создать буфер в памяти - да. Ну вот он уже создан HeapAlloc(
И Lapex пытался с ним работать строковыми функциями PB, а я, если честно, проглядел что мы скамливаем в Len разыменнованый указатель:(

Ответить

Номер ответа: 35
Автор ответа:
 Lapex



Вопросов: 6
Ответов: 56
 Профиль | | #35 Добавлено: 26.12.08 17:33
Мы забыли спросить, зачем такие большие строки.
Ф-ция обработки строк будет находиться в DLL (плагин) и какой длины строка поступит на вход этой ф-ции я не знаю. В ф-цию передается только указатель на ASCIIZ строку. Так вот, если в ф-цию поступит большая строка, а выйдет укороченная до размера переменной ASCIIZ - это не сильно радует, особенно то, что как выяснилось, что размер ASCIIZ пляшет от версии PB.

Смотрел на работу других плагинов, написанных на Си (исходников нет) - то они переваривают строки и выше 32Mb. А ведь они тоже на вход получают указатель на ASCIIZ строку.

Я всегда считал, что ASCIIZ - это безразмерная строка, которая может быть ограничена только нулевым символом и размером памяти, а оказалось, что в PB это не так.:(

Ответить

Номер ответа: 36
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #36 Добавлено: 26.12.08 17:59
Ну если у нас есть указатель на начало строки и нормальные функции lstrlen,lstrcmp,lstrcat и пр. то какое нам дело до того что думает PB об ASCIIZ. Уверен, у тебя все получится!

Ответить

Номер ответа: 37
Автор ответа:
 Lapex



Вопросов: 6
Ответов: 56
 Профиль | | #37 Добавлено: 26.12.08 19:59
Большое спасибо Father и alex за полезную инфу и потраченное на меня время.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам