![]() |
Delphi-Version: 1
replace und upperstring
hallo, hier zwei kleine functionen für die stringmanipulation,
wieso werden die einrückungen nicht angezeigt ??
Delphi-Quellcode:
[edit=Matze]Delphi-Tags gesetzt und Code formatiert, das war ja schlimm. :zwinker: Mfg, Matze[/edit]
// gibt die eingabe als Großbuchstaben
function upper(eing: string): string; var i: Byte; buff: string; begin buff := ''; for i := 1 to length(eing) do buff := buff + upcase(eing[i]); upper := buff; end; // ersetzt eine zeichenfolge, gegen eine andere und gibt sie zurück function replace(eingabe, such, ersatz: string): string; var i: byte; lp: string; begin lp := ''; while pos(such,eingabe) > 0 do begin i := pos(such, eingabe); lp := lp + copy(eingabe, 1, i - 1) + ersatz; delete(eingabe, 1, i + length(such) - 1); end; replace := lp + eingabe; end; |
Re: replace und upperstring
Zitat:
Aber wozu sind diese denn gut? Nicht daß die extrem uneffektiv programiert wären ... spezell upper (die ander hab'sch mir noch garnicht angesehn) ... es gibt diese ja auch schon (upper ist eigentlich immer in Delphi vorhanden) und für Replace gibt's auch was besseres in der CodeLib, oder in den "neueren Delphiversionen. Das wäre z.B. schon mal etwas schneller und es ginge noch besser (z.B. mit Hile von 'nem knuffigem PChar ^^)
Delphi-Quellcode:
function upper(eing:string):string;
var i:byte; begin setlength(result, eing); for i:=1 to length(eing) do result[i]:=upcase(eing[i]); end; |
Re: replace und upperstring
Warum nimmst du nicht den [ delphi ] - Tag ??
Und zu deinen Funktionen: Warum sollte ich deine verwenden und nicht ![]() ![]() |
Re: replace und upperstring
tja delphi ist riesig, da kennt man nicht alles :-)
aber sie sind sowiso uralt und stammen aus meiner TP-3 / 4 Zeit. Da sie laufen, verwende(te) ich sie halt weiter. Aber wenn es einen ersatz im delphi gibt ... Natürlich läßt sich das mit delphi schneller machen, aber zu der zeit , war die deviese : keine großen tricks, es sollte transparent bleiben. Außerdem gibt es hier auch einsteiger da können sie einfach als beispiel dienen. ABer danke für den hinweis. |
Re: replace und upperstring
Zitat:
Aber wie gesagt, es gibt da ja schon was in der CodeLib :shock: ![]() |
Re: replace und upperstring
Zitat:
und vor allem sind die in Delphi integrierten Funktionen (soweit ich weiss) in Assembler erstellt und somit sehr sehr effektiv und schnell. |
Re: replace und upperstring
:-) meist verwende ich die win32 help, die beiden funktionen hatte ich sehr selten benötigt. Delphi sollte es schon schneller machen.
Das Problem ist eher, daß delphi und C++ derart am umfang zugenommen haben, daß man sich darinn verlaufen kann. an himitsu: Wenn ich mir die alternative ,, replace '' anschaue ist sie länger als meine. Aber übersichtlicher. Was natürlich nicht für die fasversion aus der bibliothek gilt, da scheint maschinensprache im spiel zu sein ? Gruß ABer wie geht das mit den delphi tags hier im forum ? |
Re: replace und upperstring
Hallo sharpals,
öffne den Beitrageditor und spiele ein wenig mit den Schaltern in der Werkzeugleiste. Du musst ja deine Übungsbeiträge nicht einstellen, Vorschau reicht. Freundliche Grüße vom marabu |
Re: replace und upperstring
Du klickst in dem Fenster "Antwort schreiben" auf "Delphi - Code".
Dann bekommst du ein "
Delphi-Quellcode:
", welches den Ausdruck wieder schließt.
" Dann schreibst du deinen Delphi - Kram und klickst nochmal auf "Delphi - Code*" (Man beachte den Stern). Dann bekommst du ein "
Delphi-Quellcode:
//Oder probiere es einfach aus, frei nach marabu
Aha := TVerstanden.Create;
Aha.kapiert := true; |
Re: replace und upperstring
Hallo,
Zitat:
Deshalb hab ich mir auch vor einiger Zeit meine eigene geschrieben (ich nutze WideStrings, deshalb ist auch die CodeLib nix für mich), und meine Routinen sind bisher die schnellsten, die ich gefunden habe (und das ohne Assembler). Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13: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