AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Memo auslesen und Text vergleichen mit Edit
Thema durchsuchen
Ansicht
Themen-Optionen

Memo auslesen und Text vergleichen mit Edit

Ein Thema von DaveRidge · begonnen am 24. Jan 2010 · letzter Beitrag vom 25. Jan 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 12:40
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:
http://www.xyz.de/
und im Memo

Code:
abc.de
def.de
xyz.de
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:

Delphi-Quellcode:
for i := 0 to Memo1.Lines.Count -1 do
begin
  zeile := Memo1.Lines[i];
  //
  // Vergleich...
end;
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.

mfg
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
DaveRidge

Registriert seit: 14. Sep 2009
53 Beiträge
 
#12

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 13:03
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 13:08
Warum die if-Abfrage?
if h<zeichen then Zieh doch einfach eins bei der for-Schleife ab:
For h:=0 to zeichen-1 do
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DaveRidge

Registriert seit: 14. Sep 2009
53 Beiträge
 
#14

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 13:15
Zitat von Luckie:
Warum die if-Abfrage?
...
Zieh doch einfach eins bei der for-Schleife ab:
...
Stimmt, ich machs immer Komplizierter als es ist

Danke

MfG dave
  Mit Zitat antworten Zitat
DaveRidge

Registriert seit: 14. Sep 2009
53 Beiträge
 
#15

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 13:32
Zitat:
... kannst du die Eingaben vor dem Vergleich alle noch mit UpperCase() in Großbuchstaben umwandeln, damit die Groß-/Kleinschreibung vernachlässigt wird.

mfg

Danke patti
Habs mit UpperCase() gemacht. geht super

Delphi-Quellcode:
...
begin
    if pos(UpperCase(Form6.Memo1.Lines[counter]),UpperCase(Form1.Edit8.Text))=0 then begin
    Form1.StatusBar1.Panels[1].Text:=('Webseite wurde geprüft!');
...
MfG Dave
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 24. Jan 2010, 14:49
Hier noch einpaar Verbesserungsvorschläge zu deinem Quelltext:

Delphi-Quellcode:
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;
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.

mfg
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#17

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 25. Jan 2010, 11:37
Da mittlerweile auch Umlaute in URLs erlaubt sind, würde ich statt Pos() und Uppercase() vielleicht eher Delphi-Referenz durchsuchenStrUtils.AnsiContainsText verwenden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dave729

Registriert seit: 8. Dez 2008
Ort: NRW, bald wieder in Sachsen
48 Beiträge
 
Delphi 6 Enterprise
 
#18

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 25. Jan 2010, 22:30
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?
Dave
Was nicht passt, wird passend gemacht
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 25. Jan 2010, 22:33
Zitat:
Ps.: Kennt einer eine Delphi Komponente wo ich über RTSP auf meine Ip Kamera connecten kann?
Diese Frage hat m.E. einen eigenen Thread verdient
Markus Kinzler
  Mit Zitat antworten Zitat
Dave729

Registriert seit: 8. Dez 2008
Ort: NRW, bald wieder in Sachsen
48 Beiträge
 
Delphi 6 Enterprise
 
#20

Re: Memo auslesen und Text vergleichen mit Edit

  Alt 25. Jan 2010, 23:19
Zitat von mkinzler:
Zitat:
Ps.: Kennt einer eine Delphi Komponente wo ich über RTSP auf meine Ip Kamera connecten kann?
Diese Frage hat m.E. einen eigenen Thread verdient
Ich weiss , srry

MfG Dave
Dave
Was nicht passt, wird passend gemacht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:57 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