Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
1-96195
Кодер
2003-09-18 11:02
2003.09.29
Как вычислить период времени?


3-96146
sash2
2003-09-10 14:45
2003.09.29
Копирование единичных данных?


7-96456
ctapik
2003-07-07 21:49
2003.09.29
Как остановить работу с ком портом?


3-96051
abx
2003-09-10 16:29
2003.09.29
какой тип курсора выбрать клиентский или серверный??


3-96065
AlexPul
2003-09-09 17:59
2003.09.29
Отладка UDF Firebird





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский