![]() |
|
#1
|
|||
|
|||
![]() Всем привет, работаю с одной программой, в ней стандартные функции делфи подобные, практически идентичные...
В общем у меня есть файл .txt, мне нужно реализовать поиск слова в этом файле и если например слово найдено, скопировать остальную нужную мне информацию на этой строке.. ну например в файле подобный формат: нужная_инфа,слово инфа_нужная,слово2.... и тд, инфа и поисковые слова конечно же отличаются друг от друга на каждой новой строке. но сама инфа имеет постоянную длину строки, а слово по которому нужно искать - нет. Знаю, примеров куча в инете, но там в основном примеры с вытаскиванием всех строк сразу циклом, либо примеры pos(....) функции со словом которое уже в буфере и т.д., в общем нет того, что нужно мне, без примеров мне сложно понять как это реализовать, так как я не очень понимаю в делфи и вообще в программировании ![]() До меня дошла лишь такая реализация: Код:
var spisok: TStringList; Clist,inf:string; i: integer; begin Clist:=spisok.Strings[i]; i:=pos('слово',Clist); inf:=copy(Clist,i-12,11); end; в таком виде копирует всегда только инфу из первой строки, не могу понять как объяснить ему, что копировать нужно именно с той строки, где находится слово. Я думала, что в i будет возвращаться индекс символа учитывая другие строки, а получается что нет ![]() Как вернуть в i номер символа во всем списке, а не только на первой строке? ( либо может я не туда копаю и есть способ легче/правильней? ) |