Hallo Leute!
Ja ich schon wieder! Ich kann mich leider mit meiner function so gar nicht zufrieden stellen, da sie nur "halbherzig" das tut was ich will. Liegt wohl daran, was ich ihr so als Code für diese Aufgabe mitgegeben habe.
Ich übergebe der u.s. function ein TStrings, lösche alle Leerzeichen heraus und erhalte einen einzigen String, aus dem ich, damit ich ihn danach ordentlich parsen kann alle Kommentare löschen will.
Ein Kommentar sieht im CSS so aus:
Das Problem ist nun, dass ich diese function bei jedem OnChange meiner SynEdit aufrufe und wenn jemand einen Kommentar beginnt und nicht abschliesst und dann noch einen neuen beginnt, komme ich ins trudeln. Ich versuche mich zum ersten mal an einer "so grossen" Aufgabe und scheitere immer wieder an solchen Sachen.
Delphi-Quellcode:
function ClearCommentarTStrings(Inhalt:TStrings):String;
var
i,beg_com,end_com:integer;
myInhalt:string;
begin
{hier wird ein string konstruiert, der ohne cf und cr
auskommt, da es sich dann besser suchen lässt!?}
for i:=0 to Inhalt.Count -1 do
begin
myInhalt:=myInhalt + Inhalt.Strings[i]
end;
myInhalt:=Trim(myInhalt);
while (Pos('/*',myInhalt)) > -1 do
begin
beg_com:=Pos('/*',myInhalt);
end_com:=Pos('*/',myInhalt);
if beg_com > 0 then
begin
if end_com > 0 then
begin
delete(myInhalt,beg_com,end_com-beg_com+2);
end
else exit;
end
else
begin
Result:=myInhalt;
ShowMessage(result);
exit;
end;
end;
end;
Wer kann helfen???
Wie könnte ich die Fehler zählen und trotzdem die korrekten CSS-Kommentare löschen, damit ich dem User eine info geben kann???