Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Всем, добрый день! Есть 2-а ФлексГрида. Нужно осуществить поиск совпадающих строк. Т.е если строка из флекса 1 нашла свою копию во флексе2, добавить эти значения во флекс3. Попытался вот так...запутался и получилась муть.. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 12:55 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Terr0909, попробуй, хз может сканает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 13:34 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
.Михаил., спс за ответ! Но тут получится что, первая строка сравнивается с первой, вторая со второй и так далее.... Просто 1-я строка во флексе 1, находится в 15 строке флекса 2. И получается мы ее не найдем( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 14:03 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
С поиском разобрался, сделал. Но появился другой вопрос. Задача. Осуществить поиск повторяющихся строк в MSFlexGrid.Если нашли удалить. Я сделал так. FOR i=1 to MSFlexGrid1.rows-1 a=Msflexgrid1.TextMatrix(i,1) b=Msflexgrid1.TextMatrix(i,2) c=Msflexgrid1.TextMatrix(i,3) For k=1 to MsFlexGrid1.Rows-1 d=Msflexgrid1.TextMatrix(k,1) e=Msflexgrid1.TextMatrix(k,2) f=Msflexgrid1.TextMatrix(k,3) IF(a=d And b=e And c=f) Then MsflexGrid1.removeItem k Exit For End If Next k Next i В итоге, все правильно делается, удаляется, НО...число строк в msflex сокращается и на цикле выпадает ошибка. Как исправить это? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 09:48 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
> Автор: Terr0909 > В итоге, все правильно делается, удаляется, НО...число строк в msflex сокращается и на цикле выпадает ошибка. Как > исправить это? Не удалять, а запоминать что нужно удалить, после полного прохода удалить или переделать со статических циклов с заранее определенным колличеством итераций, на условные Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:21 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Terr0909 В итоге, все правильно делается, удаляется, НО...число строк в msflex сокращается и на цикле выпадает ошибка. Как исправить это? 1) заменить For k=1 to MsFlexGrid1.Rows-1 на While k<MsFlexGrid1.Rows 2) после Exit For добавить else k=k+1 ну и инициализацию k в начале цикла вам точно надо с 1 начинать, а не с 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:34 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
ну, соответственно еще Next на Wend, Exit For на Exit Do, ну до этого, надеюсь, сами догадались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:38 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Ой, я вам наврал........... поторопился так как вылет происходит во внешнем цикле, а не во внутреннем, то все это надо делать для i, а не для k ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:39 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Terr0909В итоге, все правильно делается, удаляется Какой-то театр одного актера в виде меня... А вы уверены, что все правильно удаляется? По-моему алгоритм должен будет тупо удалить все строки в сетке, так как первое, что найдет внутренний цикл, это будет та же самая строка, он сравнит ее сам с собой и удалит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:43 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > Какой-то театр одного актера в виде меня... “Не торопись выполнять приказ, поступит команда “Отставить!” (с) Старая солдатская мудрость Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:49 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за ответы! Сейчас буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:35 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
число строк в msflex сокращается и на цикле выпадает ошибка. Как исправить это? В MSFlexGrid1 не разбираюсь, но если как в Excel, удалять снизу? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:51 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProА вы уверены, что все правильно удаляется? По-моему алгоритм должен будет тупо удалить все строки в сетке, так как первое, что найдет внутренний цикл, это будет та же самая строка, он сравнит ее сам с собой и удалит Да, действительно, Ерунда получается.( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:03 |
|
||
|
Поиск в MSFlexGrid.
|
|||
|---|---|---|---|
|
#18+
Terr0909Да, действительно, Ерунда получается.( Просто вам внутренний цикл надо начинать не с k=1, а с k=i+1 а внешний цикл должен идти не до MsflexGrid1.Rows - 1, а до MsflexGrid1.Rows - 2 И еще, зачем вам Exit For из внутреннего цикла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=143&tid=2160370]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 135ms |

| 0 / 0 |
