Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.29;
Скачать: CL | DM;

Вниз

Как в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
1-96298
BanderLog
2003-09-16 13:16
2003.09.29
FastReport для D7


14-96432
jack128
2003-09-10 13:09
2003.09.29
Именинники 10 сентября


1-96193
KIR
2003-09-16 09:50
2003.09.29
Сохранить форму в bmp файл


1-96190
rh
2003-09-16 07:16
2003.09.29
Работа с потоками


6-96322
deadman
2003-07-30 09:31
2003.09.29
ограничить пользование маршрутизатором.