![]() |
Re: Memo auslesen und Text vergleichen mit Edit
Ah, ok. Dann hatte ich das anfangs doch richtig verstanden, und mich nur durch die (etwas seltsame) Formulierung in Post #4 durcheinanderbringen lassen. Wenn also im Edit steht:
Code:
und im Memo
http://www.xyz.de/
Code:
dann soll der Vergleich "true" liefern, und zwar bei Zeile 3 (also mit dem Index 2, da die Nummerierung ja bei 0 beginnt). Gehe einfach in einer Schleife jede Zeile deines Memos durch, z.B. so:
abc.de
def.de xyz.de
Delphi-Quellcode:
Den Vergleich kannst du mit Pos machen. Schau dir die Funktion einfach mal in der Hilfe oder in entsprechenden Threads der DP an. Evtl. kannst du die Eingaben vor dem Vergleich alle noch mit UpperCase() in Großbuchstaben umwandeln, damit die Groß-/Kleinschreibung vernachlässigt wird.
for i := 0 to Memo1.Lines.Count -1 do
begin zeile := Memo1.Lines[i]; // // Vergleich... end; mfg |
Re: Memo auslesen und Text vergleichen mit Edit
Dank Eurer Hilfe hab ichs geschafft. Erstmal ein Herzliches Danke schön an alle die mit geholfen haben.
Ich habs jetzt so gemacht:
Delphi-Quellcode:
procedure TForm1.MozillaBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); var zeichen, counter, h: Longint; begin zeichen:=Form6.Memo1.Lines.Count; counter:=0; For h:=0 to zeichen do if h<zeichen then begin if pos(Form6.Memo1.Lines[counter],Form1.Edit8.Text)=0 then begin Form1.StatusBar1.Panels[1].Text:=('Webseite wurde geprüft!'); end else begin showmessage('Diese Webseite wurde gesperrt!!!'); Form1.Edit8.Text:=(' '); Form1.MozillaBrowser1.Navigate('http://google.de'); end; counter:=counter+1; end; end; Falls Euch an den Code noch was auffällt, bzw. besser machen könnte, schreibts einfach. MfG Dave Vielen Danke an alle. |
Re: Memo auslesen und Text vergleichen mit Edit
Warum die if-Abfrage?
Delphi-Quellcode:
Zieh doch einfach eins bei der for-Schleife ab:
if h<zeichen then
Delphi-Quellcode:
For h:=0 to zeichen-1 do
|
Re: Memo auslesen und Text vergleichen mit Edit
Zitat:
Danke MfG dave |
Re: Memo auslesen und Text vergleichen mit Edit
Zitat:
Danke patti Habs mit UpperCase() gemacht. geht super :-)
Delphi-Quellcode:
MfG Dave
...
begin if pos(UpperCase(Form6.Memo1.Lines[counter]),UpperCase(Form1.Edit8.Text))=0 then begin Form1.StatusBar1.Panels[1].Text:=('Webseite wurde geprüft!'); ... |
Re: Memo auslesen und Text vergleichen mit Edit
Hier noch einpaar Verbesserungsvorschläge zu deinem Quelltext:
Delphi-Quellcode:
So ist der Quelltext dank Einrückungen besser lesbar. Außerdem kannst du dir die Variable "counter" auch schenken, denn die entspricht ja der Variable "h". Bei der if-Abfrage hab ich den begin-end-Block rausgenommen, brauchst du ja nicht unbedingt, dafür hab ich einen bei der Schleife eingebaut. Bis jetzt ist das nicht unbedingt nötig, aber solltest du später mal eine Anweisung nach der if-Abfrage aber innerhalb der Schleife einbauen wollen und dann das begin-end vergessen, dann kann es dir passieren, dass du ewig nach dem Fehler suchst und der nur wegen dem fehlenden begin-end auftaucht.
procedure TForm1.MozillaBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); var zeichen, h: Longint; // "counter" brauchst du nicht begin //-- zeichen := Form6.Memo1.Lines.Count; // for h := 0 to zeichen -1 do begin // begin - end nicht unbedingt noetig, aber sinnvoll if pos(Uppercase(Form6.Memo1.Lines[h]),Uppercase(Form1.Edit8.Text)) = 0 then Form1.StatusBar1.Panels[1].Text := ('Webseite wurde geprüft!') else begin showmessage('Diese Webseite wurde gesperrt!!!'); Form1.Edit8.Text := (' '); Form1.MozillaBrowser1.Navigate('http://google.de'); end; end; end; mfg |
Re: Memo auslesen und Text vergleichen mit Edit
Da mittlerweile auch Umlaute in URLs erlaubt sind, würde ich statt Pos() und Uppercase() vielleicht eher
![]() |
Re: Memo auslesen und Text vergleichen mit Edit
Hi Patti. Counter habsch rausgenommen. Da war noch was anderes in Planung, aber da Uppcase die zweite Sache auch gleich noch gelöst hat, berauch ichs net mehr :-)
Hi DeddyH. Jo, eigentlich haste recht, aber ich hab in meinem Prog das Mozilla 1.7 verwendet, da gehen keine Umlaute. MfG dave Ps.: Kennt einer eine Delphi Komponente wo ich über RTSP auf meine Ip Kamera connecten kann? |
Re: Memo auslesen und Text vergleichen mit Edit
Zitat:
|
Re: Memo auslesen und Text vergleichen mit Edit
Zitat:
MfG Dave |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz