![]() |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
|
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
man, man ... nein, unsere CSV Files sind sogar größer als Deine. (mehrere 100 MB und ingsesammt soviele dass mehrere Gigabyte verarbeitet werden müssen) Und der CSV Reader, den wir nun gebastelt haben, ist sehr schick uns wahnsinnig schnell. Es steht Dir doch frei, die Funktion so zu verändern, wie Du möchtest. Wo liegt Dein Problem? |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
Das was du da hast ist nämlich keine Funktion zum Lesen von CSV-Dateien, da diese ein Standard sind, zu dem nunmal auch die Quotes gehören. Das mag für dich speziell keinen Unterschied machen ( :) ), da du da vllt nur Zahlen hast. Aber vllt kannst du das verkniffene Murren von Bernhard nun nachvollziehen? |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Delphi-Quellcode:
Im Moment noch nicht. Wie ich ihn verstanden habe, sind doch die störenden Zeichen nur Hochkommas am Anfang und Ende eines Strings.
Aber vllt kannst du das verkniffene Murren von Bernhard nun nachvollziehen?
Man würde also einfach mit if prüfen, ob das der Fall ist und ändert die SetString Funktion noch ein bisschen, dann eignet sich die explode Funktion auch zum einlesen solcher CSV Files. (Die Abkürzung CSV steht für Character Separated Values) Wenn also noch Hochkommas oder anführungszeichen drin stehen .. und man die nicht haben will. Müssen sie also noch raus. Die CSV Datei kann ja nun nix dafür, dass sie (wahrscheinlich ohne Header) so komisch geschrieben wurde ..... |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
die anführungszeichen stöhren mich nicht im geringsten. im gegenteil, die quoten einen textstring. in dessen keine interpretation des delimiters stattfinden darf. falls doch, ist die funktion falsch. der delimiter kann je nach land unterschiedlich sein, z. b. "", '', <>, ><, <<>>, >><<, ... aber egal, noch 'n schönen tag. GG //EDIT: hier noch 'n link zum CSV Format ![]() |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
Nein, die Funktion ist natürlich nicht falsch, die macht genau das, was sie tun soll. Einen String trennen, der getrennt ist, durch ein oder mehrere Zeichen! Und wenn alles mit "bla" getrennt ist, tut sie das auch! Anschauen und ausprobieren würde vielleicht helfen, anstatt rumzumeckern. In der Funktion gibt es überhaupt kein problem, außer dass sie noch um Faktor 2 beschleunigt werden kann, wenn man die rückgabe noch anders gestaltet ... (mit derselben gewünschten Funktionalität) Eventuell müsste man die Strings selber erzeugen und die TList hinter TStrings selber befüllen, dass nicht noch einmal speicher kopiert wird, wenn man denn unbedingt TStrings als Rückgabe braucht, geht aber auch anders ... |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
Er hat irgendwo schon recht, aber so tut das nicht Not... :roll: |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
Zitat:
Aber nochmal. Niemand hat behauptet, das die csExplode-Routine mit CSV klar kommt, also hört auf mit euren Zickereien. Man kommt sich ja vor wie auf einem Mädcheninternat. :mrgreen: |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Delphi-Quellcode:
die korrigierte Variante von QPosEX in Pascal und nicht ASM würde mich äußerst stark interessieren :-)
In einer QSearch-Version war der Fehlerteufel drin. Ich hoffe, das das bei der hier nicht der Fall ist.
Wäre das möglich? :-) .. Vielen Dank ! (Function QPosEx(SearchFor, SearchIn: String; Start: integer): integer;) |
Re: [Optimiert] Explode Prozedur - Reloaded (Ersatz für Code
Zitat:
Sowas brauche ich gelegendlich mal. Darum habe ich mir eine eigne Funktion dafür geschrieben. Die aber wahrscheinlich viel langsamer ist als deine.... Evlt. teste ich mal deine Funktion unter Lazarus. Weil ich gerne Texte Parse die so aufgebaut sind: <fg="wert">text</fg> Im Moment mache ich das mit Pos und PosExt.... Aber wenn das deine Funktion schneller kann, könnte ich ja mal schauen ob ich darauf umsteigen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 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