Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизПеревод массива ASCLL кодов в их символьное представление Найти похожие ветки
← →
DelphiN! © (2006-03-09 12:52) [0]Имеется масив ascll кодов(сетевой пакет), необходимо их быстро перевести в string.
Сейчас перевожу так :
for i := 0 to 1000 do
s := s+chr(NetPackageArray[i]);
Однако код работает недопустимо долго, так как сетевых пакетов очень много. Может можно ускорить перевод?
← →
SergP. (2006-03-09 12:59) [1]
> for i := 0 to 1000 do
> s := s+chr(NetPackageArray[i]);
Не знаю что там у тебя NetPackageArray[i]
но по идее если сразу выделить память под строку, а не делать это 1000 раз по немногу, то должно быть немного быстрее...
Setlength(s,1001);
for i:=0 to 1000 do
s[i+1]:=chr(NetPackageArray[i]);
← →
SergP. (2006-03-09 13:00) [2]либо если NetPackageArray это масив байтов то перенести в строку с помощью move
← →
DelphiN! © (2006-03-09 13:03) [3]
> [1] SergP. (09.03.06 12:59)
Да это массив байтов
array [0..$10000 - 1] of Byte;
← →
SergP. (2006-03-09 13:05) [4]setlength(s,1001);
move(NetPackageArray[0],s[1],1001);
← →
Fay © (2006-03-09 13:08) [5]Тогда уж SetString
← →
API © (2006-03-09 13:24) [6]Перевод массива ASCLL кодов
А что это за коды такие, ASCLL?
← →
DelphiN! © (2006-03-09 13:32) [7]
> А что это за коды такие, ASCLL?
ASCII
← →
DelphiN! © (2006-03-09 13:34) [8]Хоть заранее память выделяй, хоть походу, всеравно процессор на 100% грузится
← →
DelphiN! © (2006-03-09 13:35) [9]Придется в отдельный поток выносить и ему приоритет низкий ставить наверное ...
← →
Leonid Troyanovsky © (2006-03-09 13:41) [10]
> DelphiN! © (09.03.06 13:34) [8]
> Хоть заранее память выделяй, хоть походу, всеравно процессор
> на 100% грузится
> Придется в отдельный поток выносить и ему приоритет низкий
> ставить наверное ...
И что это должно изменить? Лучше, IMHO, добавить процессоров.
Кста, чего с этими строками далее делают?
--
Regards, LVT.
← →
DelphiN! © (2006-03-09 13:46) [11]
> [10] Leonid Troyanovsky © (09.03.06 13:41)
В них исчются слова, из списка, и если они там имеются покет сохраняется в файл. Вобщем в трафике ищутся компроматы :)
← →
DelphiN! © (2006-03-09 13:48) [12]
> И что это должно изменить? Лучше, IMHO, добавить процессоров.
Да так ведь компьютер не сильно тормозить будет ...
← →
Anatoly Podgoretsky © (2006-03-09 14:07) [13]Лучше нейронную сеть.
← →
begin...end © (2006-03-09 14:11) [14]> DelphiN! © (09.03.06 13:46) [11]
> В них исчются слова, из списка, и если они там имеются покет
> сохраняется в файл.
Не совсем понятно, зачем для этого нужно копировать массив в строку. Можно прямо в массиве NetPackageArray и искать...
← →
Alkid © (2006-03-09 15:16) [15]
> setlength(s,1001);
> move(NetPackageArray[0],s[1],1001);
Можно проще: s := PChar(@NetpackageArray[0]), где s - string`овая переменная
← →
Leonid Troyanovsky © (2006-03-09 15:29) [16]
> Alkid © (09.03.06 15:16) [15]
> Можно проще: s := PChar(@NetpackageArray[0]), где s - string`овая
> переменная
Про nil ничего не известно.
--
Regards, LVT.
← →
Alkid © (2006-03-09 16:10) [17]
> Про nil ничего не известно.
Про какой nil? Если ты про 0 в коняе строки (z-string), то ты прав. Данный метод сработает только если в массиве последний байт == 0
← →
Leonid Troyanovsky © (2006-03-09 16:22) [18]
> Alkid © (09.03.06 16:10) [17]
> Про какой nil? Если ты про 0 в коняе строки (z-string),
null, конечно. Sorry.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.046 c