AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)
Thema durchsuchen
Ansicht
Themen-Optionen

[Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)

Ein Thema von alzaimar · begonnen am 9. Dez 2006 · letzter Beitrag vom 17. Aug 2010
Antwort Antwort
Seite 7 von 7   « Erste     567   
moonwhaler

Registriert seit: 22. Dez 2005
57 Beiträge
 
Delphi 5 Enterprise
 
#1

Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code

  Alt 14. Apr 2008, 13:16
Erstmal ein dickes Dankeschön! Dieses Teil ist absolut genial! Eine Frage / Bitte habe ich aber noch: Ich muss häufig mit Unicode-Strings (WideString) arbeiten, leider funktioniert die aktuelle Version aber damit nicht. Das mag natürlich auch daran liegen, dass man die Ansi-String Version von TStringList verwendet (ich selbst hab mein komplettes Programm mittlerweile auf WideString und TTntStringList umgebaut).

Ein erster Versuch den Code in Richtung WideString zu portieren hat zwar (augenscheinlich) geklappt, jedoch ist er mit bösen Exceptions rausgeflogen (PWideChar, statt PChar usw.). Ist es möglich mir bei einer solchen Implementierung zu helfen, oder gibt es gar bereits eine solche?

Vielen Dank!
Christian
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code

  Alt 9. Sep 2008, 13:44
Wenn der Divider mit einem leeren String aufgerufen wird, gibt es eine Zugriffsverletzung.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.549 Beiträge
 
Delphi 12 Athens
 
#3

Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code

  Alt 1. Dez 2009, 16:41
hab mal ein paar Probleme bezüglich Unicode versucht zu beheben
ist allerdings noch nicht getestet
(und 'nen Codeformatter ist mal drübergerauscht ... dort drinnen mischten sich vorher mehrer Styles)

Grund: http://www.delphipraxis.net/internal...106505#1106505

als Quelle wurde die Unit aus Beitrag #1 genommen

Zitat von himitsu:
PChar nach Länge für Copy wurde nicht halbiert ... siehe deine Ergebnisse
Länge für CompareMem wurde nicht verdoppelt, welches in falschen Vergleichen enden könnte.
Angehängte Dateien
Dateityp: pas csexplode_159.pas (17,3 KB, 70x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)

  Alt 15. Aug 2010, 12:44
Delphi 7 meldet mir:
Zitat:
[Warning] csExplode.pas(397): Return value of function 'TMultiCharPatternStringDivideIterator.MoveNext' might be undefined
MfG Z4ppy
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)

  Alt 16. Aug 2010, 07:53
Ja. Und? Woran könnte das liegen?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)

  Alt 16. Aug 2010, 15:44
Vielleicht daran, dass der Rückgabewert nicht sofort initialisiert wird sondern erst im if
Aber da ich nicht weiss, was diese Funktion macht (ich habs aber auch nicht versucht herauszufinden), habe ich da nicht daran rumgefummelt...

MfG Z4ppy
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)

  Alt 16. Aug 2010, 16:01
Ich habe die Funktion jetzt nicht in ihrer ganzen Logik erfasst, aber man müsste sie so umschreiben können:
Zitat:
Delphi-Quellcode:
      If fEndOfText Then
        Result := False
      Else
        begin
          ...
        end;
wird zu:
Delphi-Quellcode:
Result := False;
      If not fEndOfText Then
        begin
          ...
        end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 7   « Erste     567   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz