AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 10:47

Parameter dieser Suchanfrage:

Suche in Thema: Anzahl eines Zeichens im String ermitteln
Suche alle Beiträge, die von "EgonHugeist" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 16 von insges. 16 Treffern
Suche benötigte 0.004s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 16. Jul 2018
    So was habe ich mir schon gedacht.. :thumb: für das Abändern der function! Ich kenne sehr viele implementationen von StringReplace, alle jedoch reservieren Speicher für das Resultat. Hier kommt noch eine Sache zum Tragen: der Char ist kein String, somit sollte abermals Speicher (WideChar->UnicodeString) reserviert werden, wenn da nicht inzwischen ein overload existiert. Gehen wir davon aus, die...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 15. Jul 2018
    @Uwe
    Gerne, was früher war muß längst nicht mehr sein... Bin da immer offen!
    Um etwas zu lernen, hilft es mir es zu verstehen. Schnell im Pure-Pascal ist etwas, was ich mag.

    Daher meine Hypothese, welche meine alleinige Annahme ist und ich auch nicht beweisen kann..

    @KodeZwerg
    Ich kuller mal ein Auge drüber, danke! Sei so gut und check meine Anmerkungen, bitte.

    @jbg
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 15. Jul 2018
    @Uwe

    ist nur 'ne bescheidene Hypothese. Dennoch sind mir die Ergebnisse von Ydobon viel zu nah an allen anderen. Bist du da mit mir einig? IMO spukt es da ein wenig. Alle sollten sich je nach {$R+} minimal aneinander reihen. Die Theorie die Optimirung von StringReplace ist für mich vom Tisch...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 15. Jul 2018
    Kleine Anregungen:


    CountCharInString, CharInStringA scheitern, wenn #0 im String sind und knallen wenn ein #0 gesucht wird. letzteres sollte mindistens abgefangen und ersteres dokumentiert werden


    ich meine das Result wird nicht initialisiert, wenn der String lehr ist


    für CharCountAsm von Neutral General knallte mit {$R+), wenn der String lehr ist. Die function CharCountAsm selber...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 14. Jul 2018
    @Uwe,

    mir scheint der Compiler kennt die Feder das Autors und meint es gut mit ihm :stupid:

    Nungut, W64 kann ich dir und CodeZwerg (warum auch immer) auf deinen Pay-Compiler wohl nicht abgraben!
    Beim W32 scheint er nun doch auf deiner Seite fremd zugehen..

    @Harry

    deine Anregung wäre eine weiter Challange -> neues Thema, jodoch sehr leicht. Dieses Thema hier könnte mann auch noch um...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 14. Jul 2018
    Puff, damit hab ich jetzt nicht wirklich gerechnet. Bezhalt vs. Free..



    Desaster? Wie teilbar?? Uwe ich teile nix! Ich nehm dem PEnd gleich im Eingang 8 chars weg (Subtraktion) und behalte mir die für die letzte tiny loop vor.. Somit ist das Ergebnis garantiert, oder sieht das jemand anders? Der Code passt, sind jedoch typos drin die behalten werden dürfen :stupid:
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 14. Jul 2018
    Double Post. Hab sind noch zwei:

    mit direktem Inc des Boolschen ordinals:
    function EH_CharCount_5(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P := Pointer(S);
    if P = nil then Exit;
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 14. Jul 2018
    Danke für für den letzten Stand.

    Ich denke du hast recht. Simples Ausschlusverfahren:

    Ich habe mal mein XE10.2-W32 Compilate (release) angehängt. Wenn deine Version immernoch die schnellste mit der EXE ist, dann ist der Compiler ausgeschlossen und da macht deine Hardware einen guten Job.

    Bei mir sehen die Ergebnisse (minimale Schwankungen im >5% ) ziehmlich gleich aus.
    YFI:

    Aber ist...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    So ist es! Spotrlicher Ehrgeiz, mehr ist das nicht.

    Uwe ich hätte 'ne Kiste Wein gewettet, ich gewinne. Zitat: "Again what learned". Hu nicht gewettet, puhh!
    Ist wirklich interessant! Sei so fair und füge meine letzte version hinzu, bitte.

    Macht XE10.2-Starter(32-Bit) wat anders? Ich glaube es nicht..
    Wenn ich über neuere CPU's so nachdenke(die alten sterben alle :-D) -> die Challange...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    Zum Spaß:
    function EH_CharCount_4(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P := Pointer(S);
    if P = nil then Exit;
    PEnd := P + PStrLenInt(NativeUInt(P) - SizeOf(StrLenInt))^-1;
    if PEnd = p //handle single char string
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    War auch nicht der Zweck. Es ging um die ursprüngliche Frage un das aufweisen verschiedener Varianten.

    Wegen der Performance:
    Habe mir Uwes Test mit XE10.2-Starter compiliert und meine 2 weiteren Version hinzugefügt.

    2. Run:


    @Uwe
    kannst du das bestätigen? Mir gehen die 30% Performance-Verlust bei meiner Variante 1 ab. Wo sind sie denn hin? Spielt der Compiler Streiche? Habt ihr...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    Noch ein kleiner:

    Scanne von beiden Seiten und halbiere die Loop:

    function EH_CharCount4(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P := Pointer(S);
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    Assoooo! Und ich dachte schon ...

    Der code ist mir klar. Auch die möglicherweise begleitenden Probleme die sich durch den Anruf bei Emba ergeben könnten.
    Wenn man so mit dem Speicher spielt, sollte das auch klar sein.

    Da greift man auch anders an:

    type
    //zentral deklariert
    PStrLenInt ^StrLenInt;
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    Interessant! Danke!

    String ist immer langsam. Die Schleife ist da nicht unbedingt schuld, sondern die permanente Indexierung der Speicheraddresse und die damit verbundenen RangeChecks. Durch deinen CodeStyle ak. Pointer-Math gibt es eben diese Checks erst gar nicht nicht.

    function CharCount(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P :=...
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    Na dann klär mich mal auf! Hättest du FPC anstatt von nur "64 Bit" geschrien dann hättest du meiner bescheidenen Meinung nach recht. :cyclops:
    Edit:


    function CharCount(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P := Pointer(S);
  • Forum: Sonstige Fragen zu Delphi

    AW: Anzahl eines Zeichens im String ermitteln

      Delphi
      by EgonHugeist, 13. Jul 2018
    @Uwe

    Schaut gut aus! No a bizzl kürzer:

    function CharCount(const S: string; C: Char): Cardinal;
    var
    P, PEnd: PChar;
    begin
    Result := 0;
    P := Pointer(S);


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=EgonHugeist&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=116372
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz