|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
Как найти индекст строки, если известно только ее часть.15.02.2010, 16:18. Показов 3090. Ответов 28
Метки нет (Все метки)
Есть TStringList;
В TStringList есть строка "Семь стариков и одна девушка". Теперь как узнать индекс этой строки, если известно только слово "Семь". Остальная часть строки за ранее не известна.
0
|
|
| 15.02.2010, 16:18 | |
|
Ответы с готовыми решениями:
28
Как в word-е перейти в начало определенной строки, если положение курсора не известно? Как найти файл, если известно его имя |
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||||||
| 15.02.2010, 16:27 | ||||||
2
|
||||||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 15.02.2010, 16:31 [ТС] | |
|
Способ хороший и работающий. А без цикла можно как-нибудь. Просто, если мало строк, то пойдет. А если строк много? Да, я знаю, что есть ProcessMessage();, но все равно, хотелось бы узнать.
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 15.02.2010, 16:33 | |
|
p_cM, ну если знать всю строку, то можно IndexOf использовать, но вам этот метод не подходит, вам по части строки надо
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 14:18 [ТС] | |
|
Про IndexOf я знаю. Просто думал, может функция какая-нибудь есть по поиску куска строки, но увы. Но все равно спасибо. Буду так делать.
Добавлено через 21 час 43 минуты Слушай, Lord_Voodoo, а как тогда устроен TComboBox. Там вводишь первые несколько символов и он находит тебе всю строку. Теперь я более конкретно обьясню, что мне нужно: В TStringList записанно очень много строк. Я знаю только первые 4 символа строки, остальные - нет. И по этим 4 символам мне нужно найти всю строку целиком и занести в TEdit.
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 16.02.2010, 15:07 | |
|
p_cM, ну так в комбике, вполне возможно, реализован метод, похожий на тот, что я тебе же написал
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 15:10 [ТС] | |
|
Вот черт! И больше ни каких вариантов нет?
0
|
|
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
||
| 16.02.2010, 15:13 | ||
|
P.S. Вопрос действительно хороший, я сам над этим недавно думал, если найдёшь ответ, отпишись или в личку или в тему, поможешь здорово.
0
|
||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 15:28 [ТС] | |
|
Так мне и известны первые 4 символа строки. Вариант есть како-нибудь. Хоть бредовый, хоть не работающий?
Например через TComboBox? Добавлено через 13 минут Как программно сделать автовыбор в ComboBox? Ну, ComboBox1->Text="Семь"; И чтобы он автоматически нашел строку, начинающуюся с "Семь".
0
|
|
|
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
|
|
| 16.02.2010, 15:43 | |
|
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 15:51 [ТС] | |
|
И какой их них относится к TComboBox?
0
|
|
|
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
|
|||||||
| 16.02.2010, 16:33 | |||||||
1
|
|||||||
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 17:08 [ТС] | |
|
Наверное домохозяйка, я точно не уверен. И что с того, что я не знаю? Невозможно знать все! Даже инженеры в чем-то нубы.
И спасибо! Добавлено через 7 минут Ну, просмотрел. И что?
0
|
|
|
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
|
|
| 16.02.2010, 17:31 | |
|
s := 'Что-то';
idx := SendMessage(ListBox1.Handle, LB_FINDSTRING, -1, Integer(PChar(s))); если idx <> LB_ERR (-1), то строчка, начинающаяся с 's' - в idx - элементе ListBox'а (первый элемент имеет индекс 0)
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 17:44 [ТС] | |
|
А как теперь ЭТО перевести в рабочий вариант?
0
|
|
|
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
|
|
| 16.02.2010, 17:59 | |
|
в смысле в рабочий?
в "s" помещаете то, что нужно найти, а потом уж смотрите, зачем Вам это надо. И потом - все-таки Combo ли List-box? если Combo, то его messag'и начинаются с CB_ вместо LB_
0
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|||||||||||
| 16.02.2010, 18:01 [ТС] | |||||||||||
|
Я про:
При компиляции возникает ошибка из-за SendMessage(); В нужный вид я уже все привел:
0
|
|||||||||||
|
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
|
|
| 16.02.2010, 18:08 | |
|
в смысле какая ошибка? "uses Windows" не пробовали?
и, кстати, проверьте по справке, может это решение Вам и не подходит. Точно не помню, но кажется для FINDSTRING список должен быть отсортирован
1
|
|
|
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
|
|
| 16.02.2010, 18:18 [ТС] | |
|
Вы и ex_soft гении!!!!!!!!!
Все работает просто великолепно! Только можно один вопрос? У этой функии есть какой-нибудь минус? Ну подходит она для частого использования?
0
|
|
|
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
|
|
| 16.02.2010, 18:21 | |
|
вообще-то сама Windows, насколько я знаю, вызывает ее для каждого Combo/List - списка при каждом нажатии на клавишу в нем
0
|
|
| 16.02.2010, 18:21 | |
|
Помогаю со студенческими работами здесь
20
Найти I, если известно V и R V, если известно I и R R, если известно V и I
Найти таблицы, если известно значение поля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|