|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.07.2008, 17:04 | #1 |
Пользователь
Регистрация: 05.11.2007
Сообщений: 20
|
Работа с текстовым файлом
Здравствуйте. Помогите пожалуйста новичку. У меня есть текстовый файл, в котором нужно найти значение в правом втором столбце от знака "I" (поиск будет осуществляться по левому столбцу от знака "I"),
примерное содержание файла: I3902901 I980I 2 117 737.00I I I I39026010 I980I 21.50I I I I39024012 I980I 179 604.63I I 1 678.00I I3902001202 I840I 407.66I I I I3902103 I980I 408 809.00I I I I39027031 I980I 259 403.39I I 12 969.80I I3902303102 I840I 999.80I I 3.49I I39022100400055I980I 45 750 000.00I I I I39021100400313I840I 222 736.60I I I I39020100400314I840I 53 263.10I I I I39029100400315I840I 242 105.00I I I I39028100400316I840I 716 630.80I I I I39027100400317I840I 48 421.00I I I I39026100400318I840I 1 646 314.00I I I I39025100400319I978I 9 200.96I I 5.45I I39025100400320I978I 15 334.93I I 9.09I I39023100400322I978I 181 718.92I I 107.67I I39022100400323I978I 153 349.30I I 90.86I I39021100400324I978I 682 404.39I I 404.32I I39027100400726I643I 207.17I I 1.24I I39029084034 I840I 33 265.18I I I Конкретно из приведённого куска файла нужно найти к примеру числовые значения "39025100400319" и взять из этой строчки значение "9 200.96" Пожалуйста помогите. Заранее спасибо. |
16.07.2008, 17:44 | #2 |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
это не сложно:
1) формируем число, которое будем сравнивать с поисковым slovo:=edit1.text; rezultnomer:=''; while not eof(f)do begin tecstoka:=readln(s) i:=2; while s[i]<>'I' do begin slovopoisk:=s[i]; i:=i+1; end; 2)сравниваем это число с поисковым if slovopoisk=slovo then begin i:=i+1; while s[i]<>'I' do begin rezultnomer:=s[i]; i:=i+1; end; end; end; 3) выводим получившийся результат edit2.text:=rezltnomer; P.S. код писал из головы, не проверял, но смысл ты, думаю, уловить сможешь.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
16.07.2008, 19:30 | #3 |
Пользователь
Регистрация: 05.11.2007
Сообщений: 20
|
я извиняюсь, посмотрите пожалуйста этот код:
begin ReadLn(f,s); while not eof(f) do begin readln(f,s); n:=n+1; s1[n]:=copy(s,1,(pos('I',s)-1)); s2[n]:=copy(s,20,(pos('I',s)-1)); // while(pos(' ',s) = 1) and(length(s) > 0) do delete (s,1,1); end; schet:=0; for i:=1 to n do if pos('39025100400319',s1[i])>0 then // schet:=schet+strtofloat(s2[i]); Edit14.text:=floattostr(schet); end; |
16.07.2008, 19:31 | #4 |
Пользователь
Регистрация: 05.11.2007
Сообщений: 20
|
почему -то выводит мне "0" хотя это значение есть.
|
16.07.2008, 19:36 | #5 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Сплошной сумбур. Возьмите за основу предложенный код. На вскидку должен работать.
|
16.07.2008, 19:43 | #6 |
Пользователь
Регистрация: 05.11.2007
Сообщений: 20
|
спасибо большое
|
16.07.2008, 19:46 | #7 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
|
|
16.07.2008, 19:49 | #8 |
Пользователь
Регистрация: 05.11.2007
Сообщений: 20
|
Я извеняюсь, только текст содержит много пробелов и всяких других символов. вот его содержание.
|
16.07.2008, 20:58 | #9 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
Если да, то вот код. Код:
Последний раз редактировалось puporev; 16.07.2008 в 22:55. |
|
16.07.2008, 22:57 | #10 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Для автора темы. Внес пару изменений в код, сейчас нормально работает, надо бы дописать когда нужного слова(числа) нет.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с текстовым файлом | Vasya | Помощь студентам | 28 | 24.01.2008 01:15 |
Работа с текстовым файлом (delphi). Помогите доделать программу. | Snord | Помощь студентам | 1 | 14.12.2007 14:10 |
Работа с текстовым файлом | nataly_ukr | БД в Delphi | 23 | 07.12.2007 22:13 |
Работа с текстовым файлом! | Edimus | Общие вопросы C/C++ | 10 | 19.11.2007 10:31 |
Модуль, работа с текстовым файлом | Soul | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 21.05.2007 20:30 |