Autor |
Beitrag |
sky21
![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 141
W7
D2010, XE2
|
Verfasst: Do 30.04.09 11:23
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 12:20
Zuletzt bearbeitet von thepaine91 am Do 30.04.09 12:50, insgesamt 1-mal bearbeitet
|
|
JayEff
![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Do 30.04.09 12:27
Gefällt mir aus verschiedensten Gründen absolut nicht.
Warum ist Suchstring ein Var-Parameter, warum wird mein ursprünglicher String verändert, kann das auch nur im entferntesten Sinnvoll sein?
Mal ausprobiert: Es ist unendlich langsam, was auch kein Wunder ist, da es ja Elemente aus dem String löscht, wodurch der komplette String hin- und herkopiert werden muss.
... Ok, ich breche meinen ursprünglichen Test ab, 50000 Durchgänge dauern bei mir mehr als 1 Minute.
... 5000 Durchgänge. 22,6 Sekunden (!), im Vergleich dazu
Delphi-Quelltext 1: 2: 3:
| for i := 1 to Length(s) do if s[i] = ' ' then inc(m1); |
ebenfalls 5000 Durchgänge dauerte 47 ms (!)
![:roll:](images/smiles/icon_rolleyes.gif)
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 12:34
Das kommt noch aus anfangszeiten meiner Programmierung war nur copy paste ^^
Das deine so viel schneller ist wundert mich dann auch nicht ^^
Aber ich editier sie mal so das es sinnvoll ist
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TForm1.SubstringFinden(const Text, Suchstring: String): integer; var i, Anzahl: integer; begin Anzahl := 0; for i := 1 to length(Text) - length(Suchstring) +1 do if copy(Text, i, length(Suchstring)) = Suchstring then inc(Anzahl); Result := Anzahl Result:= 0; .... then inc(Result); end; |
Zuletzt bearbeitet von thepaine91 am Do 30.04.09 13:02, insgesamt 1-mal bearbeitet
|
|
JayEff
![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Do 30.04.09 12:55
thepaine91 hat folgendes geschrieben : | Das kommt noch aus anfangszeiten meiner Programmierung war nur copy paste ^^
Das deine so viel schneller ist wundert mich dann auch nicht ^^
Aber ich editier sie mal so das es sinnvoll ist |
Deine Funktion arbeitet halt mit einem Suchstring während meine nur einen Char sucht. Wenn's um Strings geht, funktioniert das nicht so einfach. In ADA könnte man einfach die Grenze des Strings als Slice angeben... Aus s(1 .. 5) = 'hallo' wird s(4 .. 5) = 'o', das ist recht schnell. In Delphi gibt es soweit ich weiß auch slices aber ich weiß nicht, wie das geht.
Deine neue Methode brauchte im Test nur 4,4 Sekunden, schon viel besser ![:zustimm:](images/smiles/icon_zustimm.gif) Optimieren lässt es sich sicherlich mit PosEx... Ich probier mal was
Edit: Result := Anzahl; vergessen ![:rofl:](images/smiles/icon_roflmao.gif)
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
BenBE
![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![BenBE hat insgesamt 82.2% On-Topic und 17.8% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
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 30.04.09 13:00
_________________ 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.
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 13:03
Hm ich guck auch mal wenn ich Zeit hab ob ich was finde ![:P](images/smiles/icon_razz.gif) und er wollte das ja garnicht mit strings wo du es sagst ![:D](images/smiles/icon_biggrin.gif)
|
|
JayEff
![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Do 30.04.09 13:08
Auf 93 ms komme ich mit
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function SubstringFinden(Text, Suchstring: String): integer; var i, Anzahl: integer; begin Anzahl := 0; i := Pos(SuchString, Text); while i > 0 do begin inc(Anzahl); i := PosEx(Suchstring, Text, i + Length(SuchString)); end; Result := Anzahl; end; |
und mit BenBEs nicht ganz ernst gemeinter Funktion kommt man auf 26 Sekunden ![:lol:](images/smiles/icon_lol.gif)
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 13:12
Puhh 93 ms..... geht das nicht schneller ? -.- Ich mein für so ein bisschen String suche will ich ja nicht gleich meinen ganzen Tag vergeuden. Und wenn du hier schon Messwerte raushaust dann bitte auch deine Systemleistung. ^^ Ansonsten kann man damit nix anfangn.
|
|
JayEff
![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Do 30.04.09 13:30
thepaine91 hat folgendes geschrieben : | Puhh 93 ms..... geht das nicht schneller ? |
für 5000 Durchgänge eines 3720 Zeichen langen Strings. 2,2GHz (dualcore, wird ja nur 1 genutzt)
Gern geschehen, übrigens, ich brauch atm keine Stringsuche aber für so freundliche Antworten arbeite ich auch mal gern kostenlos ![:roll:](images/smiles/icon_rolleyes.gif)
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 13:42
jayeff liegt an meinem seltsamen Humor. War nicht ernst gemeint. Super Lösung
Außer das mit der Systemleistung ist immer ganz nett zu wissen damit man es wenigstens ein bissel einschätzen kann.
Und ben be deine nicht ganz ernst gemeinte lösung bietet mir nicht ganz richtige Ergebnise ![:P](images/smiles/icon_razz.gif)
|
|
JayEff
![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![JayEff hat insgesamt 90.4% On-Topic und 9.6% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Do 30.04.09 14:14
thepaine91 hat folgendes geschrieben : | jayeff liegt an meinem seltsamen Humor. War nicht ernst gemeint. Super Lösung |
Jaaa das hab ich zuerst eig auch gedacht... ![:roll:](images/smiles/icon_rolleyes.gif) komisch, dass ich das dann trotzdem nochmal uminterpretiert hab
Nix für ungut
Ich hab meine Werte eigentlich nur zum Vergleichen angegeben.
Edit: Bei meinem Test funktionierte Ben's Funktion mit Chars, aber die mit Strings ist falsch. Man muss das Endergebniss noch durch die Suchstring-Länge teilen =P
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 30.04.09 14:51
![:D](images/smiles/icon_biggrin.gif) das erklärt einiges...
BenBe auch wenn es nicht die effektivste Lösung ist immerhin ein einzeiler
und ehrlich gesagt hab ich keine Ahnung was du da machst ![:P](images/smiles/icon_razz.gif) war auch zu faul die Delphi Hilfe durchzulesen. ^^
Und die für Strings dann eben so
Delphi-Quelltext 1: 2: 3: 4:
| function CountNonOverlappingStr(Haystack: String; Needle: String): Integer; begin Result := (Length(Haystack) - Length(StringReplace(Haystack, Needle, '',[rfReplaceAll])))div length(Needle); end; |
|
|
jaenicke
![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 19277
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 30.04.09 15:08
thepaine91 hat folgendes geschrieben : | und ehrlich gesagt hab ich keine Ahnung was du da machst war auch zu faul die Delphi Hilfe durchzulesen. ^^ |
Naja, was wird StringReplace schon machen? Richtig: Einen String durch einen anderen ersetzen.
Er ersetzt einfach alle Vorkommen des gesuchten Strings durch '', löscht diese also. Die Differenz aus der Länge vorher und des Strings ohne diese Teile des Strings ist dann die Anzahl der Buchstaben damit. Und geteilt durch die Länge des gesuchten Strings ist das dann dessen Anzahl.
|
|
Nersgatt
![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 30.04.09 15:18
jaenicke hat folgendes geschrieben : | Er ersetzt einfach alle Vorkommen des gesuchten Strings durch '', löscht diese also. Die Differenz aus der Länge vorher und des Strings ohne diese Teile des Strings ist dann die Anzahl der Buchstaben damit. Und geteilt durch die Länge des gesuchten Strings ist das dann dessen Anzahl. |
Erinnert mich irgendwie an die Frage, wie Mathematiker Elefanten fangen:
Zitat: |
Mathematiker fangen Elefanten, indem sie nach Afrika gehen, alles entfernen, was nicht Elefant ist und ein Element der Restmenge fangen. |
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
sky21 ![Threadstarter Threadstarter](./graphics/viewtopic/threadstarter.png)
![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![sky21 hat insgesamt 95.0% On-Topic und 5.0% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 141
W7
D2010, XE2
|
Verfasst: Do 30.04.09 15:36
Hey danke für die vielen Beiträge hier! Mittlerweile habe ich es auch selber implementiert und präsentiere meine Version hier: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function GetNumberOfChars(const sInput : string; const chrSearch : char) : Integer; var i : Integer;
begin Result := 0; for i:=1 to Length(sInput) do if (sInput[i] = chrSearch) then Inc(Result); end; |
|
|
thepaine91
![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![thepaine91 hat insgesamt 73.7% On-Topic und 26.3% Off-Topic Beiträge geschrieben. offtopic star](./graphics/ranks/star_offtopic_full.png)
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Mo 04.05.09 12:38
Mal eine Frage @jeanicke welche Delphi version benutzt du? Ich finde leider kein PosEx.
|
|
Nersgatt
![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![Nersgatt hat insgesamt 78.7% On-Topic und 21.3% Off-Topic Beiträge geschrieben. half ontopic star](./graphics/ranks/star_onofftopic.png)
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Mo 04.05.09 13:17
thepaine91 hat folgendes geschrieben : | Mal eine Frage @jeanicke welche Delphi version benutzt du? Ich finde leider kein PosEx. |
Hast Du StrUtils eingebunden?
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
jaenicke
![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![jaenicke hat insgesamt 87.9% On-Topic und 12.1% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 19277
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 04.05.09 13:46
Und für Delphi 5 oder früher gibts hier einen Ersatz:
www.delphipraxis.net/post409954.html
|
|
espen
![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png) ![espen hat insgesamt 95.5% On-Topic und 4.5% Off-Topic Beiträge geschrieben. ontopic star](./graphics/ranks/star_ontopic_full.png)
Beiträge: 90
Erhaltene Danke: 1
D6 Prof./D7 Prof. MSSQL, MySQL
|
Verfasst: Mo 04.05.09 14:11
Hallo,
ich glaube meine Version ist etwas schneller
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:
| function GetNumberOfChars(const aString : String; const aChar : Char) : Integer; var FCount : integer; FFind : Integer; begin FCount := 0; FFind := ord(aChar); asm mov eax, aString mov ecx, FCount @CNT: inc eax movzx edx, byte [eax] cmp edx, FFind jne @NXT inc ecx @NXT: cmp edx, 0 jne @CNT mov FCount, ecx end; Result := FCount; end; |
Gruss.
|
|
|