Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi laaange Copy-funktion, geht das auch schneller/kürzer? (https://www.delphipraxis.net/76618-laaange-copy-funktion-geht-das-auch-schneller-kuerzer.html)

mr47 7. Sep 2006 00:22


laaange Copy-funktion, geht das auch schneller/kürzer?
 
Hey ihr!

Ich hab mal ne schlimme Frage. Gibt's auch was leichteres für das hier:

Delphi-Quellcode:
string_out := copy(AContent,pos(':',AContent)+1,length(AContent)-pos(':',AContent)
Ziel ist es einen String der so aufgebaut ist ....

unwichtiger_teil_des_strings : wichtiger_teil

.... so zu zerlegen, dass alles ab dem Doppelpunkt in string_out steht.


Danke und gute Nacht

mr47

Christian Seehase 7. Sep 2006 00:25

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Moin mr47,

wenn Dich nur das Ende interessiert, kannst Du für die Länge einfach MaxInt angeben, die Länge selber brauchst Du dann nicht zu errechnen.

mr47 7. Sep 2006 00:28

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
sehr gut! Die Zeile ist schon wieder so kurz, dass sie in das Quellcodefenster geht :wink:

Danke!

himitsu 7. Sep 2006 14:10

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Notfalls könnte man auch umbrechen :zwinker:
Code:
string_out := copy(AContent, [color=#ff0000]pos(':', AContent)[/color] + 1,
  length(AContent) - [color=#ff0000]pos(':', AContent)[/color]);
Die wohl Beste Lösung wurde ja schon gesagt,
aber bei solch ähnlichen Problemen könnte/sollte man gleiche Dinge auslagern und nur einmal aufrufen.

Einmal Suchen reicht ja und es würde auch an Rechenzeit was eingepart. :zwinker:

z.B.:
Delphi-Quellcode:
i := pos(':',AContent);
string_out := copy(AContent, i + 1, length(AContent) - i);

PS: auch wenn Leerzeichen die Zeilen verlängern, können sie ungemein das Lesen erleichtern.

mr47 7. Sep 2006 20:59

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Zitat:

Zitat von himitsu
Notfalls könnte man auch umbrechen :zwinker:

stimmt :wink:
Zitat:

Zitat von himitsu

Code:
string_out := copy(AContent, [color=#ff0000]pos(':', AContent)[/color] + 1,
  length(AContent) - [color=#ff0000]pos(':', AContent)[/color]);
Die wohl Beste Lösung wurde ja schon gesagt,
aber bei solch ähnlichen Problemen könnte/sollte man gleiche Dinge auslagern und nur einmal aufrufen.

Ja aber so ne Lange Kette hätt mich auch ausgelagert gestört :mrgreen:
Zitat:

Zitat von himitsu

Einmal Suchen reicht ja und es würde auch an Rechenzeit was eingepart. :zwinker:

z.B.:
Delphi-Quellcode:
i := pos(':',AContent);
string_out := copy(AContent, i + 1, length(AContent) - i);

Das schaut auch gut aus, ja.
Zitat:

Zitat von himitsu


PS: auch wenn Leerzeichen die Zeilen verlängern, können sie ungemein das Lesen erleichtern.

MAch ich normal auch, aber das war ein sehr kleines Programm, da hab ich eher weniger Stil :wink:


Danke

mr47

Thanatos81 7. Sep 2006 21:36

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Mal ein kleinen OT-Tip am Rande:
Hatte das früher bei kleineren Projekten auch, dass ich da etwas faul wurde... Schau dir doch mal DelForEx (Google und Forum) an. Den einmal auf die persönlichen Bedürfnisse oder z.B. den Borland-Style einstellen und schon ist das komplette Projekt per Tastendruck ordentlich formatiert ;-)

mr47 7. Sep 2006 21:56

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Sowas gibt's? Das ist ja schon fast langweilig :mrgreen: ... Wenn ich mal Zeit hab werd ich's anschauen. Danke für den Tipp


:hi: mr47

himitsu 8. Sep 2006 12:17

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
Du mußt aber auch aufpassen, denn gewollte Abweichungen vom "Standard" werden dann auch vernichtet :(

RavenIV 8. Sep 2006 13:19

Re: laaange Copy-funktion, geht das auch schneller/kürzer?
 
und so richtig spannend wird es erst, wenn mehrere Entwickler am Projekt arbeiten und jeder einen anderen Formatier-Stil hat...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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