AGB  ·  Datenschutz  ·  Impressum  







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

string kommt in datei vor?

Ein Thema von Pseudemys Nelsoni · begonnen am 6. Jan 2004 · letzter Beitrag vom 7. Jan 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#11

Re: string kommt in datei vor?

  Alt 7. Jan 2004, 03:04
ahhh, danke. Ich habe den code in einem button eingefügt gehabt, sehe jetzt erst das man die function aufrufen muss
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Rainer_Unger

Registriert seit: 2. Dez 2003
Ort: Heidelberg
17 Beiträge
 
#12

Re: string kommt in datei vor?

  Alt 7. Jan 2004, 05:47
Hallo Luckie,

was ist wenn die Datei 20 30 oder 50MB gross ist? Da sucht sich dein Prog den Wolf.
Bei uns gibts Zeichnungen, bei denen Text ersetzt werden muss, die sind zum Teil noch viel grösser ( nur um dem Kommentar 'so grosse dateien gibts nicht' vorzubeugen ).
Ich halte viel davon möglichst grosse Stücke ins Ram zu holen.
Was ist mit doppelt vorkommenden Zeichenketten?
Ich hab in deiner Routine nicht genau nachgesehen, aber was ist mit Nullen in der Datei?
Sobald du irgendwo Null-terminierte Strings benutzt und Nullen in deiner Datei vorkommen ist es Essig mit deiner Suchroutine.

Damits nicht heisst der kann nur meckern stelle ich demnächst meine eigene Routine vor.

Sorry für die Kritik ( bin aber selber reingefallen )
Rainer
Ich weiss was ich kann und vor allem auch was ich nicht kann!
Du auch?
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#13

Re: string kommt in datei vor?

  Alt 7. Jan 2004, 07:01
Hallo Rainer,
der Source ist aus meinem Beispiel. Es ist mit klar das der Algorithmus
für sehr große Dateien nicht zu gebrauchen ist. Deshalb hae ich auch folgendes geschrieben:
Zitat:
Quick and Dirty SuchAlgo für Zeichenketten in einer binären Datei

Der Suchalgorithmus ist natürlich lausig (funktioniert aber). Hier kannst Du dann
noch einiges optimieren
Getestet habe ich den Algorithmus mit einer DLL von 61 kByte. Um festzustellen das der gesuchte
Text nicht in der DLL vorkommt benötigt der Algorithmus auf einem P4 / 3GHz ca 1 sek.
Das ist verdammt lange. Wenn es meine Aufgabe wäre, würde ich jetzt versuchen mit dem Boyer/Moore
Ansatz weiterzukommen.

Sinn und Zweck des Beispiels ist es zu zeigen, dass für solch eine Aufgabe Streams verwenden werden sollten.

Null terminierte Strings sind kein Problem.

Sehr große Dateien würde ich auch blockorientiert verarbeiten.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#14

Re: string kommt in datei vor?

  Alt 7. Jan 2004, 11:09
Hallo,
ist Problem hat mich jetzt doch interessiert.
Ich habe ein altes Projekt gefunden, in dem in den Boyer/Moore Algorithmus verwendet
habe. (Quelle: Robert Sedgewick Algorithmen Addison Wesley 2. Auflage) Super Buch.
Ich habe das Programm entsprechend erweitert. Die procedure SearchStr realisiert den
Suchalgorithmus. SearchStr findet alle Vorkommen des gesuchten Textes. SearchStr
ist erheblich schneller als SearchForStringInDLL. Rechts neben Ticks steht die Anzahl
der Windows-Ticks (GetTickCount) die der jeweilge Algorithmus benötigt hat. Ich hoffe, dass ich den Source ausreichend kommentiert habe. Zu Thema Boyer/Moore habe ich noch eine Powerpoint-Datei angehängt.

Ach ja, in der Datei Test.txt kann z.B. nach DELPHI gesucht werden.
Angehängte Dateien
Dateityp: zip zip_119.zip (501,1 KB, 14x aufgerufen)
  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 04:28 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