Registriert seit: 4. Nov 2008
25 Beiträge
|
Re: Komplizierte suche in Memo ! Hilfe
18. Nov 2008, 14:44
ich habe absolut 0plan sorry du musst mir mal rictig helfen hier mit dem prog ich wäre dir sehr dankbar also hier jetzt mein quellcode
Delphi-Quellcode:
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Menus, StdCtrls;
type
TFormDialog = class(TForm)
Memo1: TMemo;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
MainMenu: TMainMenu;
Menu_Datei: TMenuItem;
MenuLaden: TMenuItem;
MenuSpeichern: TMenuItem;
N1: TMenuItem;
MenuBeenden: TMenuItem;
Suche1: TMenuItem;
WeiterSuchen1: TMenuItem;
CheckBox1: TCheckBox;
Edit1: TEdit;
Edit2: TEdit;
procedure MenuLadenClick(Sender: TObject);
procedure MenuSpeichernClick(Sender: TObject);
procedure MenuBeendenClick(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure Suche1Click(Sender: TObject);
procedure WeiterSuchen1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
FormDialog: TFormDialog;
x: Integer;
find: Boolean = False;
implementation
{$R *.DFM}
procedure TFormDialog.MenuLadenClick(Sender: TObject);
begin
if OpenDialog.Execute then
TRY
Memo1.Lines.Loadfromfile(OpenDialog.Filename);
EXCEPT
ShowMessage ('Fehler beim Laden der Datei!');
END;
end;
procedure TFormDialog.MenuSpeichernClick(Sender: TObject);
begin
if SaveDialog.Execute then
TRY
Memo1.Lines.SavetoFile(SaveDialog.Filename);
EXCEPT
ShowMessage ('Fehler beim Speichern der Datei!');
END;
end;
procedure TFormDialog.MenuBeendenClick(Sender: TObject);
begin
FormDialog.Close;
end;
procedure TFormDialog.FormResize(Sender: TObject);
begin
Memo1.width := FormDialog.clientwidth;
Memo1.height := FormDialog.clientheight;
end;
procedure TFormDialog.Suche1Click(Sender: TObject);
var
i: Integer;
a: string;
begin
Memo1.Lines.Text := ' ' + Memo1.Lines.Text;
for i:= 0 to memo1.lines.count-1 do begin
if pos(edit1.text, memo1.lines[i] <> 0 then
begin
if pos(edit2.text, memo1.lines[i] <> 0 then
begin
find = false;
end else begin
find = true;
end;
end else begin
find:= false;
end;
end;
end;
procedure TFormDialog.WeiterSuchen1Click(Sender: TObject);
var
i: Integer;
a: string;
d: Integer;
begin
d := 0;
for i := 0 to Length(Memo1.Lines.Text) - Length(edit1.Text) do
begin
a := Copy(Memo1.Lines.Text, i, Length(edit1.Text));
if CheckBox1.Checked = True then
begin
if a = edit1.Text then
begin
d := d + 1;
if d = x then
begin
find := True;
x := x + 1;
Memo1.Lines.Text := Copy(Memo1.Lines.Text, 2, Length(Memo1.Lines.Text) - 1);
Memo1.SetFocus;
Memo1.SelStart := i - 1;
Memo1.SelLength := Length(edit1.Text);
break;
Memo1.Lines.Text := Copy(Memo1.Lines.Text, 2, Length(Memo1.Lines.Text) - 1);
end;
end;
end
else
begin
if lowercase(a) = lowercase(edit1.Text) then
begin
d := d + 1;
if d = x then
begin
find := True;
x := x + 1;
Memo1.Lines.Text := Copy(Memo1.Lines.Text, 2, Length(Memo1.Lines.Text) - 1);
Memo1.SetFocus;
Memo1.SelStart := i - 1;
Memo1.SelLength := Length(edit1.Text);
break;
Memo1.Lines.Text := Copy(Memo1.Lines.Text, 2, Length(Memo1.Lines.Text) - 1);
end;
end;
end;
end;
if find = False then ShowMessage('SuchString nicht gefunden')
else
find := False;
end;
end.
Mim Kopf durch die Wand ^^
|
|
Zitat
|