AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Nach enthaltenem Text in einer HTML-Datei suchen
Thema durchsuchen
Ansicht
Themen-Optionen

Nach enthaltenem Text in einer HTML-Datei suchen

Ein Thema von sniffy · begonnen am 24. Sep 2004 · letzter Beitrag vom 27. Sep 2004
Antwort Antwort
sniffy

Registriert seit: 1. Sep 2004
Ort: Niederrhein
37 Beiträge
 
Delphi 7 Enterprise
 
#1

Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 07:49
Jo.

Ihr kennt ja alle die Suchoption im Windows. Da hat mann zwei möglichkeiten nach einer Datei zu suchen.
Mann kan direkt nach dem Dateinamen suchen oder nach einem bestimmten Text in einer Datei. Ich programmier gerade ein Tool das sowas können soll. Das mit dem Dateinamen suchen hab ich schon hinbekommen, aber das zweite noch nicht. Das Programm soll bestimmte wörter in der HTML-Datei suchen und wenn er sie gefunden hat soll er sie in einer ListBox anzeigen. In meinem Fall alle Wörter die mit cd_ und ld_ anfangen.

Ich hab noch Bild im Anhang damit alle wissen was ich meine.

Ich will nach "Enthaltener Text" suchen, wie im Bild.

Hat jemand ne Idee, oder schon ein fertigen Code dafür?

Wäre sehr dankbar.
Miniaturansicht angehängter Grafiken
suchen.jpg  
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#2

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 08:10
naja das ist doch eigentlich ganz leicht.

als erstes musst du alle html-dateien in einem verzeichnis bzw. eventuell incl. unterverzeichnisse auflisten. danach öffnest du eine datei nach der anderen und suchst in der datei nach dem gewünschten text.

fang doch einfach mal damit an und sag, wo du nicht mehr weiterkommst. dann schmeisst du hier ein bisschen code rein und wir alle werden dir helfen
  Mit Zitat antworten Zitat
sniffy

Registriert seit: 1. Sep 2004
Ort: Niederrhein
37 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 08:15
Danke für die schnelle Antwort!

Soweit hab ich das programmiert das ich die Dateien einzeln öffnen und durchsuch kann.
Ich will aber das das Tool mir die Strings sofort anzeigt wenn ich auf ein Button "Verzeichnis durchsuchen" klicke, weil das ein paar hudert HTML-Datein sind. Die alle einzeln zu öffnen wäre mühsam.

Das geht doch bestimmt irgendwie.
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#4

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 08:20
poste mal plz ein bisschen code, dann kann ich dir besser helfen...

naja das machst du doch in ner for schleife die alle öffen, ich würde alle dateien in ne stringlist laden und dann folgendes machen

Delphi-Quellcode:
var htmldateien: tstringlist;

htmldateien := tstringlist.create;

//hier mit htmldateien.add('datei.html')... alle hinzufügen

for i:=0 to htmldateien.count-1 do
begin
  //1.datei öffnen
  //2.nach string suchen
  //3.in ausgabe speichern
end;
  Mit Zitat antworten Zitat
sniffy

Registriert seit: 1. Sep 2004
Ort: Niederrhein
37 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 08:32
OK.

Hier ist der Code der fürs suchen verantworltlich ist wenn die HTML-Datei geöffnet ist.

Delphi-Quellcode:
procedure TForm1.Panel2Click(Sender: TObject);
var i,p: integer;
    s: string;
begin
     for i := 0 to RichEdit1.Lines.Count - 1 do
     begin
     if Pos('cd_', RichEdit1.Lines.Strings[i]) +
        Pos('ld_', RichEdit1.Lines.Strings[i]) > 0 then
     begin
     s :='';

     {Die aktuelle Zeile wird nach der Zeichenfolge "cd_" und "ld_" durchsucht
    und bei Erfolg ab der gefundenen Position ausgelesen, bis ein
     Leerzeichen auftritt...}


     for p := Pos('cd_', RichEdit1.Lines.Strings[i]) +
              Pos('ld_', RichEdit1.Lines.Strings[i]) to
              Length(RichEdit1.Lines.Strings[i]) do
     if RichEdit1.Lines.Strings[i][p] <> ' then
     s := s + RichEdit1.Lines.Strings[i][p]
     else
     break;

     {Falls das gefundene Attribut nicht mit einem Leerzeichen abschließt,
     werden hier noch anhängende Textzeichen entfernt...}


     while
     Pos(s[Length(s)], '..;!")]}''>') > 0 do
     Delete(s, Length(s), 1);
     ListBox1.Items.Add(s);
    end;
  end;

     // Die Zahl der gefundenen Attribute in Label1 anzeigen...

     if
     ListBox1.Items.Count > 0 then
     label1.Caption := IntToStr(ListBox1.Items.Count) +' Attribut(e) gefunden.'
     else
     label1.Caption := 'Kein(e) Attribut(e) gefunden.';
     Label1.Show;
     Panel2.Hide;
end;
  Mit Zitat antworten Zitat
sniffy

Registriert seit: 1. Sep 2004
Ort: Niederrhein
37 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 14:45
hat wirklich keiner einen Vorschlag?
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 14:58
Beschreib doch erstmal, was genau passiert.
Gibts ne Fehlermeldung, wenn ja, was steht drin, oder passiert gar nix. Ein paar Infos brauchen wir schon
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 24. Sep 2004, 15:18
Hi sniffy,

lade den Inhalt einer HTML-Datei in ein Memo. Dann kannst du mit Pos('cd_', Memo1.Text) automatisch das gesamte Memo durchsuchen.
Beispiel:
Delphi-Quellcode:
function DurchsucheHTMLDatei(DateiName: String): Boolean;
var
  MeinMemo: TMemo;
begin
  MeinMemo := TMemo.Create(nil);
  try
    MeinMemo.Lines.LoadFromFile(DateiName);
    Result := (Pos('cd_', MeinMemo.Text) +
               Pos('ld_', MeinMemo.Text)) > 0;
  finally
    MeinMemo.Free;
  end;
end;
Wichtig: Die Funktion ist nicht geschwindigkeitsoptimiert. Das andauernde Erstellen und Freigeben des Memos kostet Zeit und Speicher. Du solltest alles vereinen, d.h. Memo erstellen, Datei laden, durchsuchen, Memo löschen (MeinMemo.Lines.Clear), Datei laden, ..., Memo freigeben.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
sniffy

Registriert seit: 1. Sep 2004
Ort: Niederrhein
37 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Nach enthaltenem Text in einer HTML-Datei suchen

  Alt 27. Sep 2004, 10:02
@alcaeus

Danke für deine Mühe, aber ich will die HTML-Datei(en) nicht in ein Memo oder RichEdit oder irgendwo öffnen.

@All
Ich glaub ihr wisst immer noch nicht was ich meine.
Ich hab jetzt das Tool was ich gerad am programmieren bin hochgeladen. Bitte klickt auf den Button "Info",
da steht ausführlich erklärt was ich genau meine. Ist als RAR-Datei gepackt.
Angehängte Dateien
Dateityp: rar attribute_filtern.rar (265,2 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:24 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