Вверх ↑
Этот топик читают: Гость
Ответов: 84
Рейтинг: 1
#61: 2011-04-21 17:38:52 ЛС | профиль | цитата
Tad писал(а):
Да удалять первую запись необязательно
У меня в StrList попадают не только цифровые данные но и текст. В итоге после сортировки текст оказывается в самом низу. Потому и решил просто срезать первый элемент массива - показалось проще, чем извлекать элемент из середины.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#62: 2011-04-21 18:31:31 ЛС | профиль | цитата
NordWest писал(а):
Потому и решил просто срезать первый элемент массива

Tad писал(а):
Лучше бы проанализировать, что получаешь после Convertor (StreamToStr). Сбрось в Memo и посмотри. Если выложишь результат сюда - можно будет что-то и посоветовать.


nesco писал(а):
Класс TStrList в KOL не поддерживает обратной сортировки
Ну и пусть не поддерживает, а две скрытые точки doLast и onLast кому могут помешать ? и функция в Kol есть.
//[function TStrList.Last]
function TStrList.Last: String;
begin
if Count = 0 then
Result := '
else
Result := Items[ Count - 1 ];
end;

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#63: 2011-04-21 18:40:55 ЛС | профиль | цитата
Tad писал(а):
Ну и пусть не поддерживает, а две скрытые точки doLast и onLast кому могут помешать

И все это ради получения последнего символа в списке
И часто такой случай возниакет, когда это крайне необходимо и никак нельзя сделать из дискретных элементов
карма: 22

0
Ответов: 1376
Рейтинг: 197
#64: 2011-04-21 18:56:50 ЛС | профиль | цитата
NordWest писал(а):
У меня в StrList попадают не только цифровые данные но и текст.
Я бы отсеил текст от цифровых данных перед записью в StrList, ведь нужны-то только цифорки для сортировки
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#65: 2011-04-21 19:14:35 ЛС | профиль | цитата
nesco писал(а):
И все это ради получения последнего символа в списке
Ну не символа, а строки.
Получить на дискретных - запросто Count-> Math + ArrayRW = Результат - довольно солидная добавка к коду, т.е. так называемый "индусский код".
Вот, с лёгкой руки NordWest-а, начнут применять FormatStr вместо Memory, DoData. А почему бы и нет ?
------------ Дoбавленo в 19.11:
foksov, а чем отсеял бы ?
У меня, например, есть CharParse - цифры налево, символы направо.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1376
Рейтинг: 197
#66: 2011-04-21 19:24:24 ЛС | профиль | цитата
Tad, NordWest хоть бы выложил лог того, что в StrList записывается, а там уже можно и посмотреть будет...
[offtop]Блин, пока набирал сообщение выкинуло из авторизации[/offtop]
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#67: 2011-04-21 19:28:54 ЛС | профиль | цитата
foksov писал(а):
NordWest хоть бы выложил лог того, что в StrList записывается
Секретная информация.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1376
Рейтинг: 197
#68: 2011-04-21 19:39:14 ЛС | профиль | цитата
Tad, схема-то для отсеявания цифр есть, с тобой же, в какой-то теме, до нее докатились, хоть там и советовали многокилобайтные парсинги
code_23447.txt
NordWest, вот поиск наибольшей температуры в списке

Add(StrList,2546815,392,119)
{
@Hint=#26:Поиск наибольшего значения|
Strings=#13:Hard DiskB:45|13:Hard DiskC:24|13:Hard DiskD:60|13:Hard DiskE:15|13:Hard DiskF:55|
Point(doSort)
}
Add(ArrayEnum,4197338,392,196)
{
link(onItem,1980317:doSplit,[])
link(onEndEnum,9031935:doRead,[(445,209)(445,321)])
link(Array,3620002:Var1,[(398,184)])
}
Add(Button,7435302,280,196)
{
Left=95
Top=20
link(onClick,15510954:doEvent1,[])
}
Add(If_else,10617334,511,196)
{
Type=2
link(onTrue,12567218:doEvent1,[])
link(Op2,16492831:Value,[(524,184)(687,184)(687,236)(643,236)])
}
Add(Memory,16492831,637,196)
{
Default=Integer(0)
}
Add(Hub,12567218,560,196)
{
link(onEvent1,16492831:doValue,[])
link(onEvent2,6205179:doValue,[(592,209)(592,265)])
}
Add(Memory,6205179,609,259)
{
Default=Integer(0)
Point(Data)
link(Data,4197338:Index,[(615,243)(405,243)])
}
Add(Hub,15510954,322,196)
{
link(onEvent1,8571544:In,[(350,202)(350,181)])
link(onEvent2,4197338:doEnum,[(375,209)(375,202)])
}
Add(LineBreak,15867089,595,203)
{
link(Out,16492831:doClear,[])
Primary=[8571544,-238,-28]
}
Add(ArrayRW,9031935,490,315)
{
link(onRead,13256994:doText,[])
link(Array,3620002:Var3,[(496,184)])
link(Index,6205179:Value,[(503,303)(615,303)])
}
Add(GetDataEx,3620002,406,179)
{
link(Data,2546815:Array,[])
}
Add(StrPart,1980317,455,196)
{
Char=":"
link(onSplit,10617334:doCompare,[])
}
Add(Label,13256994,560,315)
{
Left=25
Top=60
Width=185
Height=40
Font=[MS Sans Serif,20,0,0,1]
AutoSize=1
}


карма: 1

0
файлы: 1code_23447.txt [1023B] [467]
Разработчик
Ответов: 26113
Рейтинг: 2126
#69: 2011-04-21 19:49:15 ЛС | профиль | цитата
Tad писал(а):
Ну не символа, а строки

Да, строки, все правильно
Tad писал(а):
FormatStr вместо Memory, DoData

Бред на бреде и бредом погоняет. Мне такое даже на этапе начинающего в голову не приходило. Извините уж меня за такие резкие высказывания
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#70: 2011-04-21 20:14:43 ЛС | профиль | цитата
nesco писал(а):
Бред на бреде и бредом погоняет.
Вот просто интересно, как люди до такого додумываются.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4641
Рейтинг: 334
#71: 2011-04-21 20:20:22 ЛС | профиль | цитата
Tad, а технической стороны это FormatStr вместо Memory, DoData равноценно? Как это в правилах программирования Pascal?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8915
Рейтинг: 823
#72: 2011-04-21 20:35:42 ЛС | профиль | цитата
Ravilr, FormatStr выдаёт только тип string, а Memory и DoData -- любой нужный
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#73: 2011-04-21 20:40:43 ЛС | профиль | цитата
Ravilr, не я это придумал - это изобретение NordWest
Ты наверное не смотрел ?
Смотреть здесь http://hiasm.com/forum_serv.php?q=56&id=2320
и здесь http://forum.hiasm.com//getfile/23443

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4641
Рейтинг: 334
#74: 2011-04-21 20:48:30 ЛС | профиль | цитата
Tad писал(а):
Ты наверное не смотрел ?

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 84
Рейтинг: 1
#75: 2011-04-21 22:56:45 ЛС | профиль | цитата
Что бы не говорить спасибо за каждый пост сразу оговорюсь - спасибо всем за конструктивную помощь!!!

foksov писал(а):
выложил лог того, что в StrList записывается
Содержимое получаемых данных можно посмотреть здесь.
Нужны данные после Hard DiskA и Hard DiskD

foksov писал(а):
Я бы отсеял текст от цифровых данных перед записью в StrList
На момент создания "этого шедевра" я не знал как это сделать просто - получался вообще дикий монстр.
Сегодня я бы построил алгоритм уже несколько по иному - применил две выборки на конкретные цифры и сравнил бы их.


карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)