Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Kommentare aus einem CSS-Code löschen

  Alt 7. Jul 2004, 21:23
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:
Code:
/*Kommentar*/
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???
Danke
Tom
  Mit Zitat antworten Zitat