Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Stimmt, dynamisches Array ist an der Stelle Schwachsinn ;-)
AnsiIdentText kannte ich auch noch nicht.
Man lernt ja nie aus.
Die Funktion gibts schon in D7 und sieht wie folgt aus:
{ *********************************************************************** }
{ Delphi Runtime Library }
{ Copyright (c) 1995-2001 Borland Software Corporation ...
Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Ich habe es mal getestet, es funktioniert ;-)
Jetzt nur noch die Frage ist es schnell?
Ich glaube schneller als ein Case schon (ohne Init)
var
i: Integer;
machWas: array of procedure;
...
Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Was hällst Du denn von folgender Idee:
Wenn der Vergleich (case) im Programm häufig vorkommt (z.B. in einer Schleife), könnte man ja statt dem Case ein array of procedure verwenden, das zuvor initialisiert wurde.
Das müsste doch funktionieren, oder?
var
i: Integer;
machWas: array of procedure;
...
Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Ich habe keine rote Box bekommen. ;-)
Aber ich ärgere mich dann immer über mich selbst, da es zeigt, wie langsam man doch antwortet.
(Inkl. Delphi Start, e-Mail lesen, ...)
Danke, ein Lob von Hagen ist gleich doppelt so viel wert :mrgreen:
Es war als entweder - oder gedacht. (ein Beispiel halt)
Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Mist, Hagen war schneller ;-)
Forum: Object-Pascal / Delphi-Language
Delphi
by MaBuSE,
28. Nov 2006
Hi,
das hier sieht warscheinlich ein bischen blöd aus, funktioniert aber ;-)
Procedure Gegenstand(Bezeichnung:String);
begin
...
// statt '#' kann natürlich auch alles andere genommen werden ;-)
if pos('#'+Bezeichnung+'#', '#rohr#schraube#schraubendreher#')>0 then ....
...
// oder auch: 1 6 15