Einzelnen Beitrag anzeigen

romy

Registriert seit: 4. Aug 2009
4 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Prozedur per Pointer aufrufen

  Alt 22. Dez 2011, 09:27
Hi,

_StrinSplit hat im dem Sinne keine Parameter die übergeben werden müssem.
Die Parameter werden vorher von einen kleinen selbst Entworfenen Stack gepusht und in _StringSplit gepop. (wie raffiniert von mir^^).
Nur so am Rande wenn es hilft. soll eine kleine Scriptsprache werden und die Parameter werden in Parser gepusht.

Delphi-Quellcode:
procedure _StringSplit; //split: string; d: PChar; d darf nur ein einzelnes zeichen sein
var
   counter, i :Integer;
   
        split ,d: string;
        return: arrayresult; //array of string
begin
   d := pop;
   split := pop;
   counter := 0;
   split := split + d;
   SetLength(return,countstring(d,split)+1);
   for i := 1 to length(split) do
   begin
       if split[i]= d then
               counter :=counter+1;
   end;
   for i := 1 to length(split) do
   begin
      return[i]:= copy(split,0,pos(d,split)-1);
      delete(split,1, pos(d,split));
   end;
   return[0] := inttostr(counter);
   push(return); // das array
   push(counter); // größe des arrays
end;
genau so steht _StringSplit im Code
Alex
  Mit Zitat antworten Zitat