| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Поиск в текстовых файлах |
| Автор: Palladin 23.6.2006, 14:45 |
| Дан тесктовый файл в который во время работы программы пользователь вводит различные записи, а одно из них время Я ввожу в едит какоето время оно вводится в таком виде 14:42 (допустим), как потом в файле осуществить поиск чтобы все строки в котором время меньше чем это удалились?????? Как удалить знаю Допустим время вводится последним в строку файла, вопрос в том как сравнить время??? |
| Автор: Romikgy 23.6.2006, 14:52 |
| находишь места где время написано, потом StrToTime и сравниваешь время |
| Автор: Palladin 23.6.2006, 17:55 |
| что типа нашёл время потом присовил его какомунить X и просто сравнил, допустим так: X:=strtotime(найденное в файле время) if x<y then и т.д. ???????????????????????????? |
| Автор: Romikgy 23.6.2006, 19:53 |
| А что смущает? |
| Автор: Poseidon 23.6.2006, 20:45 |
| Поиск по тексту лучше всего осуществлять в помощью функции pos, земляк |
| Автор: Palladin 24.6.2006, 00:02 |
| Пасейдон помоги земляку своему и воздасться тебе |
| Автор: Aleksiem 24.6.2006, 03:05 |
| Пример a-искомоя подстрока, b-строка в которой ищем получаем i := Pos(a, b); //i - позиция вхождения подстроки a в строку b. Благодарностей не надо :-) |
| Автор: Palladin 24.6.2006, 10:32 | ||
т.е. допустим мне надо что-то найти:
это так, неужели так просто P.S. и где ты был раньше Думал тебе плюс кинуть да ты же сказал благодарностей ненадо |
| Автор: Romikgy 24.6.2006, 15:49 |
| RooR, имхо так как ты написал работать не будет переменная р это число, а ты его в эдит напрямую кидаешь вызови справку по |
| Автор: Sunr1se 24.6.2006, 16:12 | ||
Нет, в Edit'е выведется просто 1, то есть позиция, с которой начинается комбинация 111. Чтобы было понятнее, вот пример. В нем я ищу '0000'.
|
| Автор: Aleksiem 24.6.2006, 16:37 | ||||
Маленькая описка. Не InttoStrp а InttoStr(p) 2 ROOR Просто эт материал второго урока по программированию на паскале с нуля |
| Автор: Palladin 24.6.2006, 16:43 |
| По поводу уроков читай мой пост выше |
| Автор: Sunr1se 24.6.2006, 17:00 | ||
| Я так понял, тебе надо следующее: есть две строки. в первой, скажем, 14:20, во второй - 15:55. Надо их сравнить. Так? Если так, то вот функция, которая сравнивает
Если больше Time1, то функция возвращает 1. Если больше Time2, то она возвращает 2. Писал навскидку, поэтому реализовано далеко не самым лучшим способом. |
| Автор: Palladin 24.6.2006, 19:06 |
| Спасибо |
| Автор: Sunr1se 24.6.2006, 19:28 | ||
RooR, еще один вариант:
|
| Автор: Palladin 24.6.2006, 21:18 |
| Гы, очень даже, я вот думаю может просто ввод сделать времени таким ??,?? |
| Автор: Sunr1se 25.6.2006, 10:03 |
То есть каким? |
| Автор: Sunr1se 25.6.2006, 15:36 | ||
Еще один вариант, получше предыдущих. Может быть еще актуально
По сравнению с предыдущим у него один недостаток и одно преимущество. Недостаток в том, что если время запишут как 14.10, а не как 14:10, то код не сработает как надо. А преимущество в том, что появляется возможность обрабатывать записи вида 9:55. |
| Автор: Palladin 25.6.2006, 19:49 |
| ГЫ, ещё раз спасибо я и незнаю какой в прогу впихнуть |
| Автор: Sunr1se 25.6.2006, 20:43 |
| Пихай второй!!! Рекомендую! Не, серьезно, он лучше. На мой взгляд. |
| Автор: Yanis 25.6.2006, 23:59 | ||
|