Форум: "Основная";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Вниз
Как в WideString записать длинную строку (~4500 символов)? Найти похожие ветки
← →
big_bugzy (2003-09-16 12:17) [0]Здравствуйте мастера.
в хелпе написано что WideString может содержать до 2^30 символов
у меня чегото не очень получается записать туду 4500 символов. Строка собирается динамически 2500 + 2000 символов. В результате имею пустую строку. Как это побороть??
← →
clickmaker (2003-09-16 12:19) [1]Код составления строки, пож-та
← →
ZEE (2003-09-16 12:22) [2]во первых: где код с ошибками?
и еще: чем тебе обычный sring не подходит - 4500 символов в него влезет
← →
Думкин (2003-09-16 12:24) [3]Кода где?
← →
big_bugzy (2003-09-16 12:25) [4]clickmaker ©
выглядит примерно так:
var SQLString:WideString;
SQLString:= qryTemp.CommandText;//~2500 char
SQLString:=SQLString+ ", SUM(KOL) as KOL";
SQLString:=SQLString+" FROM("+SelectStr{~50 char}+" "+FromStr{~2000 char}+" WHERE Lk_EvGroup.L_TSZ=1) as SumTable ";
SQLString:=SQLString+" Order By [NAME]";
в итоге получаю SQLString = ""
← →
big_bugzy (2003-09-16 12:27) [5]ZEE ©
свойство CommandText адошных компонент WideString
← →
clickmaker (2003-09-16 12:31) [6]А если отладчиком пробежать по этим местам, в какой момент она обнуляется?
← →
big_bugzy (2003-09-16 12:33) [7]clickmaker ©
на этом месте
SQLString:=SQLString+" FROM("+SelectStr{~50 char}+" "+FromStr{~2000 char}+" WHERE Lk_EvGroup.L_TSZ=1) as SumTable ";
← →
ZEE (2003-09-16 12:35) [8]тогда ошибка или в SelectStr или в FromStr
зы проверил так
var SQLString:WideString;
i:integer;
begin
SQLString:= "";
for i:=0 to 2500 do SQLString:=SQLString+ chr(32+random(200));
SQLString:=SQLString+ ", SUM(KOL) as KOL";
SQLString:=SQLString+" FROM("+"ля-ля-ля"+" "+"ля-ля-ля"+" WHERE Lk_EvGroup.L_TSZ=1) as SumTable ";
SQLString:=SQLString+" Order By [NAME]";
for i:=0 to 2500 do SQLString:=SQLString+ chr(32+random(200));
ShowMessage(SQLString);
в результате выдало немерянный текст - т.е. SQLString <> ""
← →
clickmaker (2003-09-16 12:38) [9]а если
var SQLString: String;
// составление
CommandText := SQLString; // откастится автоматом
← →
big_bugzy (2003-09-16 12:38) [10]ZEE ©
понятно, буду проверять...
но SelectStr и FromStr уже сформированы и <> ""...
← →
big_bugzy (2003-09-16 12:42) [11]clickmaker ©
не получается...
при этом SQLString обрывается на пулослове...
← →
ZEE (2003-09-16 12:49) [12]>big_bugzy (16.09.03 12:42) [11]
а что значит "обрывается на пулослове" ? - не влазит?
может у тебя директива {$H–} включена
- тогда string = shortstring
зы: из хеопа "...Use the {$H–} directive to turn string into ShortString."
← →
big_bugzy (2003-09-16 12:52) [13]ZEE ©
нет {$H–} выключена, иначе вообще влезло бы не более 255 символов, а так обрывается примерно на 3500
← →
[lamer]Barmaglot (2003-09-16 13:08) [14]Array[0..5000] of WideChar ?
← →
big_bugzy (2003-09-16 13:37) [15]Ну все, кажись разобрался.
Спасибо всем!!
Просто почемуто дебагер в Д5 не хочет такие длинные строки показывать + ошибка в запросе в результате лишняя паника :)
все нормально записывается...
сорри за беспокойство
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c