Autor Beitrag
benni1234
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.01.15 10:40 
Ich stehe vor mir eine unlösbare aufgabe und brauche eure Hilfe,Ich habe eine stringsuche mit teilstrings in meinem code Eingebaut, ich weiß das immer bei einer string suche der erste gefundene string angezeigt wird.
Ist es möglich bei mehreren gefundenen Strings, alle gefundenen auszugeben ??
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Fr 30.01.15 10:46 
user profile iconbenni1234 hat folgendes geschrieben Zum zitierten Posting springen:
Ist es möglich bei mehreren gefundenen Strings, alle gefundenen auszugeben ??

Mittels PosEx (Unit StrUtils). PosEx gibt den Index von SubStr in S zurück, wobei die Suche bei Offset begonnen wird. Wenn Offset 1 ist (Vorgabe), entspricht PosEx Pos. Einfach PosEx in einer Schleife verwenden (z. B. Repeat) und dabei den Offset anpassen.
benni1234 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.01.15 10:53 
wie binde ich den genau die unit ein ?

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Hab schon :D wie genau spreche ich denn den offset an ?
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Fr 30.01.15 11:00 
man tippe "PosEx(" ein und warte einen Augenblick. Dann erscheint ein kleiner Tooltip, wo die nötigen Parameter beschrieben sind.

Lesen, verstehen, erleichtert aufatmen ;)

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
benni1234 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.01.15 11:01 
hmm

Moderiert von user profile iconNarses: Beiträge zusammengefasst

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
dbgrid1.DataSource.DataSet.RecNo:=i;
      daten[i-1] := adoquery1.Fieldbyname('Matchcode').AsString;

     end;

 {$Region'Festlegung'}
    // x:=suchen.Text;


    z:=0;
     x := UpperCase(suchen.Text);
    for i := 0 To 165 Do
      if posex(x, UpperCase(daten[i]),k) <> z  then
        begin


          dbgrid1.DataSource.DataSet.RecNo:=(i+1) ;

          {$Region'Visible'}

(....)

 {$Endregion}

          {$Region'Ausgabe'}

 (...)
  Auswertungskennzeichen.Text:=adoquery1.FieldByName('Auswertungskennzeichen').AsString;

          {$endregion}

          {$Region'IfVisible'}

  
  (...)

  {$endregion}

       end
       else

          begin
        end
  {$Endregion}

   end;


wenn ich den matchcode nun suche soll er mir nur die treffer anzeigen
hat jemand eine idee ?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Zuletzt bearbeitet von benni1234 am Fr 30.01.15 12:06, insgesamt 1-mal bearbeitet