AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In einer Memo suchen?

Ein Thema von citybreaker · begonnen am 18. Okt 2003 · letzter Beitrag vom 19. Okt 2003
Antwort Antwort
Seite 1 von 3  1 23      
citybreaker
(Gast)

n/a Beiträge
 
#1

In einer Memo suchen?

  Alt 18. Okt 2003, 12:07
Hallo, wie kann ich über ein Editfeld in einer
Memo suchen und die Zeile makieren wo das Wort ist?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 12:12
Hi citybreaker,

hab hier ne sucfunktion gefunden!

Kannst dir die Funktion ja umschreiben!

musst vorher nur ne FindDialog Komponente aufs Formular ziehen!

Delphi-Quellcode:
procedure TForm1.FindDialogFind(Sender: TObject);
var
  Found: LongInt;
  StartPos, ToEnd: integer;
begin
  with RichEdit1 do // hier dann anderen Namen einsetzen!
  begin
    if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0;
    ToEnd := Length(Text) - StartPos;
    Found := FindText(FindDialog.FindText, StartPos, ToEnd, [stMatchCase]);
    if Found <> -1 then
    begin
      SetFocus;
      // FoundAt := Found;
      SelStart := Found;
      SelLength := Length(FindDialog.FindText);
    end else
    Application.Messagebox(Pchar('Suchstring "'+FindDialog.FindText+'" nicht gefunden'),'Information',64);
  end;
end;
mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 12:13
Moin Citybreaker,

Stichworte hierfür:
pos, SelStart, SelLength und, besonders wichtig und die Zeile herauszubekommen: Hier im Forum suchenEM_EXLINEFROMCHAR

@Mirage:
TMemo kennt allerdings FindText nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 12:15
Zitat von Christian Seehase:
TMemo kennt allerdings FindText nicht
Ups... sorry mein fehler, wusst ich nicht

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#5

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 12:23
Zitat von Christian Seehase:
Moin Citybreaker,

Stichworte hierfür:
pos, SelStart, SelLength und, besonders wichtig und die Zeile herauszubekommen: Hier im Forum suchenEM_EXLINEFROMCHAR

@Mirage:
TMemo kennt allerdings FindText nicht.

Da ist ja nur beitrag und einandere wo der Code
nciht klappt. Hilft mir nicht wirklich.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 13:07
Moin Citybreaker,

Sorry.

Ist wohl noch zu früh

Also noch einmal von Vorne, diesmal ausführlich (Strafe muss sein ):

Delphi-Quellcode:
var
  iPos : integer;
  iLine : integer;

begin
  // Wo befindet sich der gesuchte String?
  iPos := ('SuchString',Memo1.Text);
  // Nichts gefunden, fertig
  if iPos = 0 then exit;
  // Zeile in der sich die gesuchte Position befindet
  // (-1, da der Zeichenindex 0 basiert ist)
  iLine := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,iPos-1,0);
  // Zeichenposition des ersten Zeichens dieser Zeile
  // (Diesmal nicht -1, da EM_LINEFROMCHAR schon einen 0 basierten Wert liefert)
  Memo1.SelStart := SendMessage(Memo1.Handle,EM_LINEINDEX,iLine,0);
  // Zeile markieren
  Memo1.SelLength := length(Memo1.Lines[iLine]);
end;
Direkt hier reingeschrieben, also ungetestet, sollte aber richtig sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#7

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 13:52
Klappt noch nicht so richtig.
Ich hab jetzt folgendes gemacht:

Code:
  // Wo befindet sich der gesuchte String?
  iPos := (Edit1.Text, 'Memo1.Text');
Es kommt eine Fehlermeldung
')' erwartet aber ',' gefunden.

Dann hab ich
Code:
  // Wo befindet sich der gesuchte String?
  iPos := ('Edit1.Text', 'Memo1.Text');
ausprobiert und es kommt wieder:
Es kommt eine Fehlermeldung
')' erwartet aber ',' gefunden.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 14:04
Moin Citybreaker,

Tippfehler

Code:
iPos := [color=red]pos([/color]...
die Parameter von pos sind dann hoffentlich klar.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#9

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 14:15
Ja die Parameter sind klar. Es kommt auch keine Fehlermeldung
mehr. Ich hab jetzt z.B. in der Memo stehen:

Ich bin Alex
und bin 14 Jahre alt.

Wenn ich jetzt alt ins Edit eingebe und auf den Button klicke
passiert nix.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#10

Re: In einer Memo suchen?

  Alt 18. Okt 2003, 14:30
Hi Citybreaker,

du musst Edit1.Text und Memo1.Text nicht in Hochkommas, setzen!

Zitat:
Code:
  // Wo befindet sich der gesuchte String?
  iPos := (Edit1.Text, Memo1.Text); // ohne hochkommas!
mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz