Вверх ↑
Этот топик читают: Гость
Ответов: 106
Рейтинг: 0
#1: 2009-12-08 20:23:24 ЛС | профиль | цитата
Add(MainForm,3542107,21,105)
{
Left=20
Top=105
}
Add(ListBox,11138051,147,147)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
}
Add(Edit,6639974,63,21)
{
Left=10
Top=30
Width=350
Text=""
}

здрасьте, как организовать поиск строки, ну например пишешь в строке и та строка в которой есть искомая комбинация то выделялась сама, ну я имею введу курсор перескакивал по таблице сам без кнопок и прочего
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2009-12-08 20:32:20 ЛС | профиль | цитата
Простая поисковая команда
code_15937.txt
карма: 10
0
файлы: 1code_15937.txt [1KB] [243]
Ответов: 1328
Рейтинг: 69
#3: 2009-12-09 03:54:07 ЛС | профиль | цитата
[b]Assasin[/b], есть тот же вариант еще проще :wink:
Add(MainForm,3542107,224,231)
{
Left=20
Top=105
}
Add(ListBox,11138051,336,189)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
Point(doSelect)
Point(doSelectString)
}
Add(Edit,6639974,280,231)
{
Left=10
Top=30
Width=350
Text="1"
link(onEnter,11138051:doSelectString,[])
}



карма: 2

1
Голосовали:Tad
Разработчик
Ответов: 4698
Рейтинг: 426
#4: 2009-12-09 14:03:50 ЛС | профиль | цитата
Да? А она может искать
Kovarnui писал(а):
строка в которой есть искомая комбинация то выделялась сама

карма: 10
0
Ответов: 1328
Рейтинг: 69
#5: 2009-12-09 14:09:40 ЛС | профиль | цитата
Assasin, а что у тебя как то по другому работает?
карма: 2

0
Разработчик
Ответов: 4698
Рейтинг: 426
#6: 2009-12-09 14:12:52 ЛС | профиль | цитата
Да, введи часть искомой строки и самая первая строка, содержащая данный текст, из них выделится
карма: 10
0
Ответов: 4641
Рейтинг: 334
#7: 2009-12-09 14:13:54 ЛС | профиль | цитата
Konst писал(а):
по другому работает?

Konst, у Assasin-а ищет вхождение...т.е набери просто 7, у Assasin найдет, а у тебя нет.

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1328
Рейтинг: 69
#8: 2009-12-09 14:24:06 ЛС | профиль | цитата
Это да, но все равно можно проще

Add(MainForm,3542107,231,259)
{
Left=20
Top=105
}
Add(ListBox,11138051,322,252)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
Point(doSelect)
}
Add(Edit,6639974,231,329)
{
Left=10
Top=30
Width=350
Text="1"
link(onEnter,7113450:doEnum,[])
}
Add(ArrayEnum,7113450,336,336)
{
link(onItem,11740942:doSearch,[])
link(Array,11138051:Array,[])
}
Add(Position,11740942,399,336)
{
ShortSearch=1
link(onSearch,5227430:doData,[])
link(Target,6639974:Text,[(412,324)(385,324)(385,388)(237,388)])
}
Add(DoData,5227430,462,336)
{
link(onEventData,11138051:doSelect,[(503,342)(503,316)(310,316)(310,300)])
link(Data,7113450:Index,[(468,324)(443,324)(443,384)(349,384)])
}


------------ Дoбавленo в 14.28:
или так:

Add(MainForm,3542107,231,259)
{
Left=20
Top=105
}
Add(ListBox,11138051,301,189)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
Point(doSelect)
}
Add(Edit,6639974,231,329)
{
Left=10
Top=30
Width=350
Text="1"
link(onEnter,15232164:doFind,[])
}
Add(ArrayFind,15232164,315,336)
{
Partial=0
link(onFind,1952685:doData,[])
link(Array,11138051:Array,[])
link(Index,4018497:Value,[])
link(Value,6639974:Text,[(335,324)(286,324)(286,373)(237,373)])
}
Add(DoData,1952685,371,336)
{
link(onEventData,11138051:doSelect,[(414,342)(414,255)(289,255)(289,237)])
link(Data,15232164:ItemIdx,[(377,324)(349,324)(349,380)(321,380)])
}
Add(Memory,4018497,322,259)
{
Default=Integer(0)
}


карма: 2

0
Разработчик
Ответов: 4698
Рейтинг: 426
#9: 2009-12-09 14:35:00 ЛС | профиль | цитата
Или еще на один элемент проще:
Add(MainForm,3542107,231,175)
{
Left=20
Top=105
}
Add(ListBox,11138051,301,175)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
Point(doSelect)
}
Add(Edit,6639974,259,245)
{
Left=10
Top=30
Width=350
Text="1"
link(onEnter,15232164:doFind,[])
}
Add(ArrayFind,15232164,315,252)
{
Partial=0
link(onFind,11138051:doSelect,[(359,258)(359,240)(289,240)(289,223)])
link(Array,11138051:Array,[])
link(Index,14276754:Value,[(328,240)(356,240)])
}
Add(Memory,14276754,350,196)
{
Default=Integer(0)
}
карма: 10
0
Ответов: 1328
Рейтинг: 69
#10: 2009-12-09 14:41:23 ЛС | профиль | цитата
Точно, не заметил, что индекс на выходе
карма: 2

0
Ответов: 4641
Рейтинг: 334
#11: 2009-12-09 15:10:33 ЛС | профиль | цитата
ArrayFind не корректно работает. Если стартовый индекс задать в компоненте, то при фпц не работает, на делфи ошибка вываливается.
Корректно работает, если задать стартовый индекс через точку.

У всех так или у меня?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1328
Рейтинг: 69
#12: 2009-12-09 15:13:02 ЛС | профиль | цитата
У меня тоже
------------ Дoбавленo в 15.19:
Ravilr, он с МТ работает

Add(ListBox,5805058,567,483)
{
Left=10
Top=55
Width=350
Height=135
Strings=#2:11|2:22|2:33|2:44|2:55|2:66|2:77|2:88|
Point(doSelect)
}
Add(Edit,6866290,413,553)
{
Left=10
Top=30
Width=350
Text="1"
link(onEnter,11411844:doAdd,[])
}
Add(ArrayFind,195272,581,560)
{
Partial=0
link(onFind,5805058:doSelect,[(625,566)(625,548)(555,548)(555,531)])
link(Array,5805058:Array,[])
}
Add(MainForm,10406954,413,469)
{
Left=20
Top=105
}
Add(Memory,7592017,483,490)
{
Default=Integer(0)
}
Add(MT_Add,11411844,483,560)
{
InputMT=1
link(onAdd,195272:doFind,[])
link(Data,7592017:Value,[])
}


карма: 2

0
Разработчик
Ответов: 4698
Рейтинг: 426
#13: 2009-12-09 15:19:36 ЛС | профиль | цитата
Под делфи все ок, а вот под FPC проблема не в ArrayFind, у меня по крайней мере, а в windows.pas Может кто-нибудь нормальный скинуть из папки %HiAsm%\compiler\FPC\?
Коммандная строка:
Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: fpc.exe '"E:\HiAsm\Elements\delphi\code\Project8.pas"' -Sd -Mdelphi '"-FEE:\HiAsm\New\"' '"-FUE:\HiAsm\Elements\delphi\code\units"' -FDtools\ -CX -dF_P
Free Pascal Compiler version 1.9.6 [2004/12/31] for i386
Copyright (c) 1993-2004 by Florian Klaempfl
Target OS: Win32 for i386
Compiling E:\HiAsm\Elements\delphi\code\Project8.pas
Compiling E:\HiAsm\Elements\delphi\code\hiMainForm_145BE40.pas
Compiling Windows.pas
Windows.pas(1821,4) Warning: Illegal compiler directive "$NODEFINE"
Windows.pas(1823,5) Warning: Illegal compiler directive "$HPPEMIT"
Windows.pas(21657) Error: Can't create object file: E:\HiAsm\Elements\delphi\code\units\Windows.o
Windows.pas(21657) Fatal: Can't create object E:\HiAsm\Elements\delphi\code\units\Windows.o
Error: E:\HiAsm\compiler\fpc\ppc386.exe returned an error exitcode (normal if you did not specifiy a source file to be compiled)
Сжатие кода...
Сборка завершена.
карма: 10
0
Ответов: 1328
Рейтинг: 69
#14: 2009-12-09 15:22:20 ЛС | профиль | цитата
Assasin, у меня уже давно то же самое
карма: 2

0
Ответов: 211
Рейтинг: 52
#15: 2009-12-09 17:56:58 ЛС | профиль | цитата
ppc386 писал(а):
Can't create object file

Остается проверить, сможет ли компилятор прочесть ppu/o
карма: 1
слтв
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)