Autor |
Beitrag |
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Mi 05.11.03 20:00
Hi Leute.
Ich habe ein kleines Problem.
Ich suche in meinem Programm in einer ListBox nach dem Wort, daß in dem Edit-Feld steht. Hierzu nutze ich Pos. Nun möchte ich auch mit z.B. UpperCase auch die Groß- und Kleinschreibung berücksichtigen. Nun meine Frage: Wie kann ich die beiden Sachen in Verbindung bringen, also trotz Groß- und Kleinschreibung den Begriff suchen?
Meine Suchfunktion sieht bisher so aus (Auszug):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| For J:=0 To ListBox3.Items.Count-1 Do Begin Wort:=Edit1.Text; If Pos(Wort, ListBox3.Items[J])=1 Then Begin ListBox1.Items.Add(ListBox3.Items.Strings[J]); ListBox5.Items.Add(ListBox4.Items.Strings[J]); End; End; |
Wer kann helfen?
_________________ Hasta La Victoria Siempre
Zuletzt bearbeitet von Terra23 am Fr 07.11.03 14:31, insgesamt 1-mal bearbeitet
|
|
smiegel
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: Mi 05.11.03 20:09
Hallo,
versuche es einmal mit AnsiPos.
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
Terra23 
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Do 06.11.03 21:07
Irgendwie funktioniert das nicht sonderlich. Die Hilfe spuckt mir da auch nichts gescheites zu aus. Ich schaue mal hier im Forum, ob ich was finde, was sich zu dem Thema verwerten lässt.. 
_________________ Hasta La Victoria Siempre
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 06.11.03 22:41
Titel: Re: Suche mit Pos und Groß-/Kleinschreibung..
Terra23 hat folgendes geschrieben: | Nun meine Frage: Wie kann ich die beiden Sachen in Verbindung bringen, also trotz Groß- und Kleinschreibung den Begriff suchen? |
Ich verstehe deine Frage nicht so ganz...
In meiner D6-Hilfe steht zu Pos():
OnlineHilfe hat folgendes geschrieben: | Pos is case-sensitive. |
Also Pos beachtet schon die Groß- und Kleinschreibung. "Schuh" findet "Schuh", aber nicht "schuh".
Oder willst du ein pos() haben, das case-insensitive ist, also unabhängig von der Schreibweise des Wortes die Position findet?
Dann ist die am weitesten verbreitete da einfache und universell einsetzbare Methode, beide Strings vorher mit UpperCase in Großbuchstaben umzuwandeln (oder mit LowerCase in Kleinbuchstaben, völlig egal).
Jetzt gibt es keine Buchstaben mehr im Text, die sich durch ihre Großschreibung unterscheiden und die Suche ist case-insensitive geworden.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Terra23 
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Do 06.11.03 23:55
... genau das will (möchte  ) ich. Nur, wie kann ich das realisieren? Deine Möglichkeit mit dem Umwandeln scheint OK, doch irgendwie habe ich leise Zweifel. Kannst du vielleicht meinen Code mal so umwandeln wie du es meinst? Das wäre super lieb.. 
_________________ Hasta La Victoria Siempre
|
|
smiegel
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: Fr 07.11.03 08:33
Hallo,
Delphi-Quelltext 1:
| if Pos(UpperCase(Wort), UpperCase(ListBox3.Items[J]))=1 |
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Fr 07.11.03 09:53
Terra23 hat folgendes geschrieben: | Deine Möglichkeit mit dem Umwandeln scheint OK, doch irgendwie habe ich leise Zweifel. |
Warum? Das mit dem umwandeln der beiden Stirngs in Groß- oder Kleinbuchstaben klinkt doch logisch. Probier es doch einfach mal aus.
Gruß
Tino
|
|
Terra23 
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Fr 07.11.03 14:30
@Tino: Zweifel hatte ich, weil ich ja die gefundenen Dateien in einer ListBox ausgebe und ich dachte, die würden dann irgendwie nicht mehr funktionieren. Ich hatte eh' gestern ziemlich Streß mit meiner Freundin und keine Zeit, daß zu probieren. Nun ja. Es funktioniert auf jeden Fall. Ich hatte schon eine Idee, wie ich das in den Code bauen könnte, aber dann hat ja schon mein Mail-Client geschrieben, es sei eine Antwort auf das Thema da.
Ich danke euch jedenfalls sehr. Es funktioniert; danke für eure Hilfe..
PS: Ich hätte nicht gedacht, daß es so einfach geht.. 
_________________ Hasta La Victoria Siempre
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Fr 07.11.03 19:17
Terra23 hat folgendes geschrieben: | PS: Ich hätte nicht gedacht, daß es so einfach geht..  |
Tja, viele Dinge sind einfacher, als sie sich anhören
Sorry, ich war an dem Abend nicht mehr online und heute morgen hatte ich Schule, sonst hätte ich selber noch den Codeschnipsel gepostet.
Terra23 hat folgendes geschrieben: | @Tino: Zweifel hatte ich, weil ich ja die gefundenen Dateien in einer ListBox ausgebe und ich dachte, die würden dann irgendwie nicht mehr funktionieren. |
Mit
Delphi-Quelltext 1: 2:
| str1 := 'HaLLi hALlo'; str2 := UpperCase(str1); |
Änderst du ja nicht str1. Deine Dateinamen in der Listbox bleiben also weitehrin so, wie sie sind. Das trifft auf alle Delphi-Funktionen zu; übergebene Parameter werden nicht geändert, solange es a) nicht wirklich sinnvoll ist und b) nicht ausdrücklich in der Hilfedatei steht 
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Terra23 
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Sa 08.11.03 01:07
... genau das hatte ich aber gedacht.  Danke für den Hinweis. Ich werde mir das alles mal in mein Delphi-Notizheft schreiben..
_________________ Hasta La Victoria Siempre
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Sa 08.11.03 21:31
Terra23 hat folgendes geschrieben: | Ich werde mir das alles mal in mein Delphi-Notizheft schreiben.. |
Sehr löblich.
Solche Hefte sollte es für jedermann zu kaufen geben, die sich aber selbst aktualisieren. Dann würde es sehr viel weniger wiederholte Fragen geben *g*
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Terra23 
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: So 09.11.03 00:52
... meinst du?  Ich habe so einen Ordner, da schreibe ich mir immer wenn ich Zeit habe alles möglich rein, was Delphi-Fragen betrifft. Ich habe zwar ein Buch (Softwareentwicklung mit Delphi 4) aber das ist ein riesiger Schinken und soviel davon kapiere ich nicht. Dann stöbere ich hier im Forum, schreibe mir die Dinge ab und versuche, den Code nachzuvollziehen. Das ist teilweise echt schwierig, z.B. beim "In die TNA minimieren-Code" von MathiasSimmack. Aber so eigne ich mir mein Wissen an; das ist ganz hilfreich so ein "Büchlein"..
_________________ Hasta La Victoria Siempre
|
|