Hallo,
ich möchte für ein Scriptprogramm meinen eigenen Sysntax verwenden, weil ich der ganzen Geschichte einen eigenen Touch verpassen will!
Es gibt zwei verschiedene functions Köpfe (sagt man das?):
Code:
function "Functionsname" {
}
und
page "Seitenname" {
}
Ich verwende die pmTokenizer
Unit, die ich hier im Forum gefunden habe. Die Namen der Funktionen und der Seiten bekomme ich schon heraus, aber wie bekomme ich jetzt den Inhalt zwischen den Klammern?
Hier den Code den ich bisher verwende:
Delphi-Quellcode:
{Die beiden Records für die Seiten sowie Funktionen}
type
TPage =
record
PageName:
String;
PageContent:
String;
end;
type
TFunc =
record
FuncName:
String;
FuncContent:
String;
end;
var Token: TTokenizer;
{Aus der Unit pmTokenizer}
{Die Auslesefunktion}
procedure TForm6.Button1Click(Sender: TObject);
var num, i, f, p, numPages, numFunc: integer;
HeadPages, HeadFunc:
array[0..10]
of integer;
tmp:
String;
begin
//num := Token.NumTok(Memo1.Lines.Text,'{');
//Memo1.Lines.Add(InttoStr(num));
p := 0;
f := 0;
numFunc:= 0;
numPages := 0;
for i := 0
to Memo1.Lines.Count-1
do begin
if (Pos('
{',Memo1.Lines[i]) <> 0)
AND (Pos('
function', Memo1.Lines[i]) <> 0)
then
begin
numFunc := numFunc+1;
HeadFunc[f] := i;
f := f+1;
continue;
end;
if (Pos('
{',Memo1.Lines[i]) <> 0)
AND (Pos('
page', Memo1.Lines[i]) <> 0)
then
begin
numPages := numPages+1;
HeadPages[p] := i;
p := p+1;
continue;
end;
end;
Memo1.Lines.Add('
Funktionen: '+IntTostr(NumFunc));
Memo1.Lines.Add('
Seiten: '+IntTostr(NumPages));
end;
Gruß Kabuco