AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

replace und upperstring

Ein Thema von sharpals · begonnen am 23. Feb 2006 · letzter Beitrag vom 11. Mär 2006
Thema geschlossen
Seite 1 von 2  1 2      
sharpals

Registriert seit: 22. Feb 2006
28 Beiträge
 
Delphi 4 Client/Server
 
#1

replace und upperstring

  Alt 23. Feb 2006, 19:35
Delphi-Version: 1
hallo, hier zwei kleine functionen für die stringmanipulation,

wieso werden die einrückungen nicht angezeigt ??

Delphi-Quellcode:
// 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;
[edit=Matze]Delphi-Tags gesetzt und Code formatiert, das war ja schlimm. Mfg, Matze[/edit]
 
Benutzerbild von himitsu
himitsu

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

Re: replace und upperstring

  Alt 23. Feb 2006, 19:41
Zitat von sharpals:
wieso werden die einrückungen nicht angezeigt ??
Weil da das [delphi]-Tag fehlt ???


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;
$2B or not $2B
 
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: replace und upperstring

  Alt 23. Feb 2006, 19:43
Warum nimmst du nicht den [ delphi ] - Tag ??

Und zu deinen Funktionen: Warum sollte ich deine verwenden und nicht Delphi-Referenz durchsuchenUpperCase und Delphi-Referenz durchsuchenReplaceStr ??
Oliver Hanappi
 
sharpals

Registriert seit: 22. Feb 2006
28 Beiträge
 
Delphi 4 Client/Server
 
#4

Re: replace und upperstring

  Alt 23. Feb 2006, 22:46
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.
 
Benutzerbild von himitsu
himitsu

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

Re: replace und upperstring

  Alt 24. Feb 2006, 12:22
Zitat von idontwantaname:
Und zu deinen Funktionen: Warum sollte ich deine verwenden und nicht Delphi-Referenz durchsuchenUpperCase und Delphi-Referenz durchsuchenReplaceStr ??
Zu ReplaceStr ... das gibt's ja nicht in jeder Delphi-Version (vorallem nicht in D4 und abwärts, und wie's bei D5 und D6 aussieht, weiß gerade ich nicht)

Aber wie gesagt, es gibt da ja schon was in der CodeLib
Ersatz für StringReplace
$2B or not $2B
 
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: replace und upperstring

  Alt 24. Feb 2006, 13:36
Zitat von sharpals:
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 ...
du solltest mal öfter in die Delphi-Hilfe schauen, da hat's interessante sachen drin.

und vor allem sind die in Delphi integrierten Funktionen (soweit ich weiss) in Assembler erstellt und somit sehr sehr effektiv und schnell.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
 
sharpals

Registriert seit: 22. Feb 2006
28 Beiträge
 
Delphi 4 Client/Server
 
#7

Re: replace und upperstring

  Alt 24. Feb 2006, 15:22
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 ?
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: replace und upperstring

  Alt 24. Feb 2006, 15:26
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
 
Daniel G
(Gast)

n/a Beiträge
 
#9

Re: replace und upperstring

  Alt 24. Feb 2006, 15:28
Du klickst in dem Fenster "Antwort schreiben" auf "Delphi - Code".

Dann bekommst du ein "" Dann schreibst du deinen Delphi - Kram und klickst nochmal auf "Delphi - Code*" (Man beachte den Stern). Dann bekommst du ein " ", welches den Ausdruck wieder schließt.

Delphi-Quellcode:
Aha := TVerstanden.Create;
Aha.kapiert := true;
//Oder probiere es einfach aus, frei nach marabu
 
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#10

Re: replace und upperstring

  Alt 24. Feb 2006, 16:06
Hallo,
Zitat von RavenIV:
und vor allem sind die in Delphi integrierten Funktionen (soweit ich weiss) in Assembler erstellt und somit sehr sehr effektiv und schnell.
Also die StringReplace-Funktion von Delphi ist eine mittlere Katastrophe. So ziemlich jede andere Implementierung ist schneller. Beispielsweise benötigt diese Funktion überproportional länger, je öfter in einem String ersetzt wird.
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
 
Thema geschlossen
Seite 1 von 2  1 2      


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 18:41 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