Autor |
Beitrag |
Kralle
Beiträge: 65
Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
|
Verfasst: Do 21.07.11 22:47
Hallo,
pos('1','"1,2,3"') >0 ist true genauso wie pos('1','"11,2,3"'), denn 11 enthält ja auch eine 1.
Gibt es eine Pascal bzw Delphi-Funktion für die 1 <> 11 ist?
Gruß Heiko
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 21.07.11 23:02
Für diesen Beitrag haben gedankt: Kralle
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 21.07.11 23:23
Delphi-Quelltext 1:
| Pos(',1,', ','+SuchString+','); |
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: Kralle
|
|
Kralle
Beiträge: 65
Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
|
Verfasst: Fr 22.07.11 06:56
Moin,
BenBE hat folgendes geschrieben : | Delphi-Quelltext 1:
| Pos(',1,', ','+SuchString+','); | |
das funktioniert aber nicht für die erste und letzte Zahl, weil der Suchstring ist und so die erste Abfrage so aussieht pos(',1,',',"11,2,3",') und ,1, nicht ,"1, ist.
Ich weiß ich habe in meinem Beispiel Zahlen benutzt, aber auch bei Texten gebe es das Problem.
Z.B. pos(',ab,',',"ab,und,zu",')
Gruß Heiko
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 22.07.11 07:44
Spiel mal ein bißchen mit TStringlist und deren Eigenschaft CommaText rum, z.B. so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| sl := TStringList.Create; try sl.CommaText := DeinStringMitKommasDrin; for i := 0 to sl.Count-1 do if sl[i] = SuchString then begin showMessage('Suchstring gefunden'); break; end; finally sl.free; end; |
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: Kralle
|
|
HenryHux
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: Fr 22.07.11 08:33
Wieso holst du dir nicht das Pos Ergebnis und überprüfst dann pos-1 und pos+1?
lg
Für diesen Beitrag haben gedankt: Kralle
|
|
Kralle
Beiträge: 65
Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
|
Verfasst: Fr 22.07.11 09:31
Hallo,
HenryHux hat folgendes geschrieben : | Wieso holst du dir nicht das Pos Ergebnis und überprüfst dann pos-1 und pos+1?
lg |
An so einer Lösung war ich jetzt grade am basteln (hätte eine Funktion werden sollen).
Gruß Heiko
|
|
Kralle
Beiträge: 65
Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
|
Verfasst: Fr 22.07.11 09:35
Hallo Gausi,
Gausi hat folgendes geschrieben : | Spiel mal ein bißchen mit TStringlist und deren Eigenschaft CommaText rum, z.B. so:
|
Ehrlich gesagt, war mir "CommaText" kein Begriff.
Ich habe jetzt Deine Lösung etwas überarbeitet:
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:
| function cpos(searchstring,text:string):integer; var i: integer; tmplist: TStringList; begin tmplist := TStringList.Create; try tmplist.CommaText := text; i:=0; while i < tmplist.Count do begin if tmplist[i] = searchstring then Begin Result:=i+1; i:= tmplist.Count; End else Result:=-1; inc(i); end; finally tmplist.free; end; end; |
Danke, für den Schubs in die richtige Richtung.
Gruß Heiko
P.S. Unter Deinem Namen steht: "Erhaltene Danke:", wie "Bedankt" man sich? Sehe keinen Button dafür.
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 22.07.11 09:49
Oh, da ist wohl jemand absolut gegen Breaks, was?
Der Danke-Button ist der Button mit dem Daumen-Hoch-Smilie links unten an jedem Beitrag.
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: Kralle
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Fr 22.07.11 11:27
Eigentlich ist das ja ein tolles Beispiel für die Anwendung regulärer Ausdrücke.
Delphi-Quelltext
würde mir da spontan in den Sinn kommen.
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: Kralle
|
|
|