![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Плииииз. Помогите решить... Времени катастрофически не хватает....
Поиск.Разместить на форме компонентов Memo,два компонента Edit и компонет Button .Компонет Memo ипользуйте для ввода массива строк, первый компонент Edit-для задания строки поиска, второй компонет Edit-для ввода результата поиска (Yes,No).Для инициализации поиска используйте компонет Button .Используйте другие необходимые компоненты(Label и др.) |
#2
|
|||
|
|||
![]() Код:
procedure TForm1.Button9Click(Sender: TObject); begin FindDialog1.Execute; end; procedure TForm1.FindDialog1Find(Sender: TObject); var Buff,P,FT: PChar; BuffLen: Word; begin with Sender as TFindDialog do begin GetMem(FT, Length(FindText) + 1); StrPCopy(FT, FindText); BuffLen:= Memo1.GetTextLen + 1; GetMem(Buff, BuffLen); Memo1.GetTextBuf(Buff, BuffLen); P:= Buff + Memo1.SelStart + Memo1.SelLength; P:= StrPos(P, FT); if P=nil then MessageBeep(0) else begin Memo1.SelStart:= P - Buff; Memo1.SelLength:= Length(FindText); end; FreeMem(FT, Length(FindText) + 1); FreeMem(Buff, BuffLen); end; end; Последний раз редактировалось Admin, 01.05.2008 в 20:26. |
#3
|
|||
|
|||
![]() Сенкс. а как это собрать воедино?
|
#4
|
|||
|
|||
![]() |
#5
|
|||
|
|||
![]() не, это немножко не то. я так понял из условия задачи, должно присутствовать всего 3 поля ввода: 2 Edit и 1 Memo. Memo заполняется произвольным текстом, в edit1 заносится слово, которое надо найти и после нажатия на кнопку во втором поле edit будет ответ Y/N взависимости от того, присутствует ли в тексте данное слово.
|
#6
|
|||
|
|||
![]() findtext:=edit1.text; - то что ищем
|
#7
|
||||
|
||||
![]() Цитата:
|
#8
|
|||
|
|||
![]() ...Человек помочь хотел...
Последний раз редактировалось Iljusha, 02.05.2008 в 07:03. |
#9
|
|||
|
|||
![]() вобщем я вот так сделал. Думаю тему можно закрывать:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public function ListContained(st: string; StList: TStrings): boolean; end; var Form1: TForm1; implementation {$R *.dfm} function Tform1.ListContained(st: string; StList: TStrings): boolean; var i: longint; begin result := false; for i := 0 to StList.Count - 1 do if St = StList.Strings[i] then begin result := true; break end end; procedure TForm1.Button1Click(Sender: TObject); var ss:boolean; a:string; begin a:=Edit1.Text; ss:=ListContained(a, Memo1.Lines); if ss=TRUE then begin Edit2.Text:='Yes'; end Else Edit2.Text:='No'; end; end. |