![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 151
|
![]()
ребят, извините что достал, но больше не могу, пытался сам, но не получаеться , помогите доделать программу, смысл такой, открывается файл, в нем куча текста, втексте присутствует такой символ после каждого заполненного поля в другой программе "|", после этого символа я разнес построчно весь текст, нужно сделать чтобы
1.открылся файл, в нем вытянуть номер заявки(2ая строка), дату(3я строка), счет(60ая строка), и еще кор счет(24ая строка) 2.в 60ой строке удалить пробелы и первые 20 символов сравнить со строкой номер 24.(сделал) 3.самое сложное. из компонента Тмемо1 загрузить в еомпонент ТМемо2 только 2,3,24,60 строк, кст пункт второй можно выполнить и тут, но проблема в том что в одном текстовом файле может быть как 2-3 платежки, так и штук 500, каждая платежка начинаеться с символов ZR, т.е получаеться после каждой ZR нужно 2,3,24,60 смотреть сравнивать, ну ит.д.(это я и самм сделаю) а вот как работать с файлом по признаку ZR ума не приложу, всем буду благодарен за подсказки/советы. Листинг программы : var Form1: TForm1; f1 : textFile; date,no, s,c, str, stroka61: string; i,z: integer; implementation {$R *.dfm} procedure Tform1.doit(); Begin Repeat Begin For z:=0 To Memo1.Lines.Count Do If Pos('ZR',Memo1.Lines.Strings[z])>0 Then Begin Memo2.Lines.Add(Memo1.Lines.Strings[0]); Memo2.Lines.Add(Memo1.Lines.Strings[1]); {Memo2.Lines.Add(Memo1.Lines.String s[24]); Memo2.Lines.Add(Memo1.Lines.Strings[59]); {Memo1.Lines.Delete(z);} End Else Memo1.Lines.Delete(20); End; Until Memo1.Lines.Count = 1 ; stroka61:=memo2.lines[61]; s:=memo2.Lines[2]; {while pos(' ',s)>0 do delete(s,pos(' ',s),1); if s=stroka61 then showmessage('ñîâïàëà') else ShowMessage ('Íåò')} end; procedure TForm1.Button1Click(Sender: TObject); begin if Open.Execute then from.Text :=Open.FileName else exit; Memo1.lines.loadfromfile(from.text) ; s:=Memo1.Text; for i:=1 to length(s) do begin if s[i]='|' then c:=c+#13 else c:=c+s[i]; end; if c<>'' then begin Memo1.Clear; memo1.Lines.text:=c; end; memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); memo1.Lines.Delete(0); end; procedure TForm1.Button2Click(Sender: TObject); begin doit; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo2.clear; Memo1.clear; end; end. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
выложите пример файла с несколькими платёжками (2-три будет достаточно).
(если информация конфиденциальная, то конкретные цифры можете заменить на случайные (например, все цифры замените на 1-нички). Ещё раз поясните, что должно получиться в результате (вплоть до того, что нарисуйте результат руками в редакторе). Все полученные файлы запакуйте и прикрепите архив сюда на форум. Тогда намного легче будет Вам помочь. Удачи. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 151
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как из строки ТМемо удалить ненужные символы | MixanMM | Общие вопросы Delphi | 3 | 10.06.2009 13:49 |
HELP!Си - программа для работы со строками + сумма строк в матрице! | DUPLET | Помощь студентам | 1 | 20.12.2007 21:16 |
Нужна программа исключения списков строк | AFOMENKO | Фриланс | 8 | 11.12.2007 00:22 |