Zum Inhalt springen

Teilstring in einem String suchen


progmaker

Empfohlene Beiträge

Hallo Leutz,

hab da ein kleines großes Problem.

Hab in einer Paradox-Tabelle ein String mit folgendem Inhalt: Test, Test1, Test2, Test3 usw.. Jetzt möchte ich 'ne Suche starten, die mir alle Einträge liefert, die das Wort Test in diesem String beinhalten.

Hoffe, hab das Problem gut genug beschrieben und ihr könnt mir helfen.

Arbeite übrigens mit Delphi5 Pro, falls es hilft.

Bis dann

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo..

in delphi gibt es ein menge möglichkeiten...

das einfachst ist wohl den String aus der Tabelle zu lesen und dann mit dem Befehl Pos zu suchen:

if pos( teilstring, string ) > 0 then

WriteLn( 'Juppie, dein Teilstring ist erhalten' );

if pos( 'test', table1.stringfeld[index] ) > 0 then

WriteLn( Ausgabe, 'Datensatz' inttostr( index ) + ' erhält das Wort Test' );

Have fun, Taz...

Link zu diesem Kommentar
Auf anderen Seiten teilen

na was erwartest du denn??

das du schnippst und die Ergebnisse hast??

Wenn du was in einem String suchst dauert das immer länger... und wenn du dann noch in vielen Strings suchst dauert das halt x-mal länger.. ist doch verständlich, oder??

Aber wenn du das beschleunigen möchtest, kannst du dir ganz viel speicher reservieren und Teile der Datenbank da reinladen. Dann geht das ab wie luzys katze... aber dann brauchst du halt richtig viel speicher und ein performance fresser (für andere Tasks) ist das auch... Ach ja, vergiss aber nicht deinen speicher wieder freizugeben...

Ansonsten fällt mir auch nichts mehr ein, um das zu beschleunigen...

ach so.. doch klar... wenn du Programm intern nicht mit Strings arbeitest sondern mit PChar....

der unterschied:

wenn du mit Strings arbeitest übergibst du den ganzen string. d.h. du legst die Variable auf den Stack und führst die funktionen aus (in dem falle pos)...

wenn du aber ein PChar verwendest legst du nur den Pointer der auf den String zeigt auf den Stack. Das geht natürlich entsprechend schneller.. ich weis aber nicht ob pos da noch funtioniert... aber es gibt sicherlich einen äquivalenten Befehl.. such mal in der hilfe...

viel glück, taz...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von chr

Wenn du eine SQL-Abfrage machen willst, so kannst du den LIKE-Operator zusammen mit dem Joker % nutzen, z.B.

SELECT * FROM mytable WHERE meinespalte LIKE 'test%';

Ja, das hab ich schon ausprobiert, aber wenn ich mehrere Einträge habe und mein 1. Eintrag lautet: Test, Test1, Test2; mein 2 Eintrag lautet dann Test3, Test,4 Test5. Ich suche mit

SELECT * FROM mytable WHERE meinespalte LIKE 'test%'

Ich kriege beide Einträge zurück. Ich will aber nur den ersten, wenn ich nach Test suche.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...