![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() в программе нужно показать значения, которые находятся между первым и вторым двоеточием.
у меня есть два типа решения. в первом он удаляет последний нужный знак, а во втором какая то странная зависимость неправильная 1тип решения Код:
procedure TForm1.Button1Click(Sender: TObject); var s,d:string; i,n,p:integer; begin s:=edit1.Text; n:=0; for i:=1 to length (s)do begin if s[i]=':' then n:=n+1; end; if n<=1 then edit2.Text:='Введите значения' else begin repeat p:=0; n:=0; for i:=1 to length (s)do begin if s[i]=':' then n:=n+1; p:=i; End; delete(s,p,99); until n=1; for i:=1 to p do if s[i]=':' then d:=copy(s,i+1,p); edit2.Text:=(d); end; end; procedure TForm1.Button2Click(Sender: TObject); begin form1.Close end; end. 2 тип решения Код:
procedure TForm1.Button1Click(Sender: TObject); var s,d:string; i,n,p,h:integer; g:array[1..20]of integer; begin s:=edit1.Text; n:=0; h:=1; for i:=1 to length (s)do begin if s[i]=':' then n:=n+1; end; if n<=1 then edit2.Text:='Введите значения' else begin for i:=1 to length (s)do if s[i]=':' then for p:=h to h+1 do begin g[p]:=i; h:=h+1; end; d:=copy(s,g[1]+1,g[2]-g[1]); edit2.Text:=d; end; end; end. |