Seite 4 von 5

Verfasst: 24.04.2007 21:38
von al90
Xaby hat geschrieben:Was haltet ihr von der Idee:

Den String umdrehen, den SuchString umdrehen.
Dann FindString()
Genau an sowas hatte ich gestern auch schonmal gedacht.
Aber PB bietet da leider keine FlipString() Funktion. :freak:

Wäre nicht übel wenn in der 4.10 mal ein paar neue Funktionen hinzukämen. :allright:

BTW:

FindMemory() wäre mal echt geil. :mrgreen:

Verfasst: 24.04.2007 21:54
von Xaby
Was hälst von einem neuen Thread?
Neue Funktionen für PB 4.1.x ...

Mir fehlen zurzeit gerade ein paar JoyStickFunktionen.

:allright:

Verfasst: 24.04.2007 21:54
von Kiffi
kann das hier auch was?

http://www.purebasic.fr/english/viewtop ... 7751#37751

Grüße ... Kiffi

Verfasst: 24.04.2007 21:58
von Xaby
Genau:

FindLeft()

FindRight()

:roll:

Verfasst: 24.04.2007 22:45
von al90
Xaby hat geschrieben:Was hälst von einem neuen Thread?
Neue Funktionen für PB 4.1.x ...
Wäre sicher interessannt. Wäre gespannt was für vorschläge kämen. :)

Verfasst: 25.04.2007 16:28
von AND51
> Nun braucht man sich nur noch um die schnellste Methode zu kümmern, die den String umdreht.
Wurde schon erledigt: Einfach mal nach ReverseString suchen (evtl. auch im engl. Forum).

> FlipString
Röchel... ReverseString() klingt viiiiiel besser :mrgreen:


Theorethisch ist es am schnellsten, wenn man von hinten anfängt zu suchen, so wie meine letzte Prozedur. Warum?

Meine fängt nämlich gar nicht von hinten an, sondern von hinten-Len(StringToFind$)
Das bedeutet: Je länger StringToFind$ ist, desto schneller ist meine Prozedur. Und: Wenn StringToFind$ länger als String$ ist, wird sowieso von vornherein abgebrochen.

> Den String umdrehen, den SuchString umdrehen. Dann FindString()
Nicht gut, weil: dann muss man den String ja kopieren. Und die Kopie bidirektional notieren und durchsuchen. Das kostet doppelt Speicher. Man muss ja im Hinterkopf behalten, dass man nicht immer nur 100-Zeichen-Sätze durchsucht, sondern die Funktion soll auch bei KB Blöcken (wie z. B. HTML-Dateien) noch richtig funktionieren!

Verfasst: 25.04.2007 16:59
von Thorium
AND51 hat geschrieben: Theorethisch ist es am schnellsten, wenn man von hinten anfängt zu suchen, so wie meine letzte Prozedur. Warum?

Meine fängt nämlich gar nicht von hinten an, sondern von hinten-Len(StringToFind$)
Das bedeutet: Je länger StringToFind$ ist, desto schneller ist meine Prozedur. Und: Wenn StringToFind$ länger als String$ ist, wird sowieso von vornherein abgebrochen.

> Den String umdrehen, den SuchString umdrehen. Dann FindString()
Nicht gut, weil: dann muss man den String ja kopieren. Und die Kopie bidirektional notieren und durchsuchen. Das kostet doppelt Speicher. Man muss ja im Hinterkopf behalten, dass man nicht immer nur 100-Zeichen-Sätze durchsucht, sondern die Funktion soll auch bei KB Blöcken (wie z. B. HTML-Dateien) noch richtig funktionieren!
Genau richtig, den String umzukehren wäre verkomplizieren. Und würde unnötig Rechenleistung verschlingen.

Verfasst: 25.04.2007 21:48
von al90
AND51 hat geschrieben: > FlipString
Röchel... ReverseString() klingt viiiiiel besser :mrgreen:
FlipString() ist aber gängiger. Das habe ich schon zu AmigaZeiten benutzt
und wäre wohl auch die erste Syntax nach der man suchen würde.
(Zumindest bei den Älteren proggern) :wink:

Verfasst: 25.04.2007 22:39
von AND51
> FlipString() ist aber gängiger.
Neeee, gar nicht... Bäääh!
In Perl heißt es auch "Reverse"!

Außerdem erinnert mich dieses böse Flip an den MS IE, der kann ´Bilder spiegelverkehrt darstellen mit Hilfe von FlipH und FlipV. WIllst du mir das antun? Dass ich den Befehl zum umdrehen eines Strings nicht mehr ohne Schweißausbrüche benutzen kann? :lol:

Verfasst: 25.04.2007 22:46
von al90
AND51 hat geschrieben:WIllst du mir das antun? Dass ich den Befehl zum umdrehen eines Strings nicht mehr ohne Schweißausbrüche benutzen kann? :lol:
Brauchst ja während dieser phase nicht hinzuschauen. :lol: