Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Eigene Funktion erstellen

  Alt 22. Jan 2006, 07:57
Zitat:
Delphi-Quellcode:
[...]
var
  liste : Array[0..2] of replace; // so da gibts ja bestimmt nicht nur eine sache, die wir erstzen wollen
                                  // also nicht nur ä sondern auch z.B. ö
                                  // die liste ist erst mal auf max. 3 -> (0, 1, 2) einträge ausgelegt
                                  // wenn du mehr brauchst einfach die "hinter" zahl erhöhen (die obere grenze)
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject); // so wenn das "formular gemacht" wird
begin
  liste[0].was := 'ä'; // soll er sich merken, dass im ersten (ACHTUNG 0 ist der erste!) das ä steht
  liste[0].durch := 'ä'; // dass soll dann durch ein "ä" ausgetauscht werden

  liste[1].was := 'ü'; // das zweite in der liste (ACHTUNG index = 1!)
  liste[1].durch := 'ü'; // usw. sollte einigermaßen selbst erklärend sein

  liste[2].was := 'ö';
  liste[2].durch := 'ö';
end;
[...]
verwende besser eine Konstante:
Delphi-Quellcode:
const
  liste = array [0..2] of replace = ( (was='ö';durch='ö'), (was='ü';durch='uuml;'), (was='ä';durch='auml;') );
und eigentlich hat die etwas kürzere Funktion von vorhin ihre Arbeit doch auch erfüllt

und wieso deklarierst du extra eine Konstante res anstatt dierekt auf result zuzugreifen?

und die funktion einmalallesbitte hat nichts in der Klasse form1 zu suchen. In Form1 deklarierst du nur Funktionen, die dierekt auf die Elemente der Form zugreifen ("Methoden").

und verwende bitte sprechende Bezeichner einmalallesbitte ist nicht besonders aussagekräftig.

Andere Funktionen sollten nicht Bestandteil einer Klasse sein, sondern im Optimalfall sogar in einer eigenen Unit deklariert werden.
so:
Delphi-Quellcode:

unit htmltools;

interface

type replace = record
  was, durch : string;
end;

const
  replaces = array [0..2] of replace = (
  (was='ö';durch='ö'),
  (was='ü';durch='uuml;'),
  (was='ä';durch='auml;')
  );

function htmlreplace(text:string):string;

implementation

function htmlreplace(text:string):string;
var
  i:integer;
begin
  result := text;
  for i in replaces do
    result := StringReplace(res, replaces[i].was, replaces[i].durch, [rfReplaceAll]);
end;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat