Главная страница
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.016 c
6-96319
ZAN
2003-07-07 11:52
2003.09.29
Отправить писма больше 50kb в body ч-з MS Outlook


3-96127
Anton_2003
2003-09-09 00:39
2003.09.29
Индекс Descending.


7-96468
Филипп
2003-07-14 09:07
2003.09.29
Скрытие папок


9-96045
inc(665)
2003-03-23 12:05
2003.09.29
Подскажите плз.


3-96083
Filat
2003-09-09 20:50
2003.09.29
IBTable.Locate - чем можно заменить?