![]() |
Delete in einem String macht mir Kopfschmerzen
Hallo Wissende!
mit folgender procedure versuche ich Kommentare aus einer CSS-Datei zu löschen, damit ich sie anschliessend parsen kann. Dabei habe ich ein komisches Phänomen.
Delphi-Quellcode:
Ich weiss, der Code ist was für kleine Kinder, aber ich werde wohl nie erwachsen. Das Problem ist dass die Kommentare, die am Anfang und am Ende des Codes stehen, richtig gelöscht werden. Steht aber ein Kommentar zwischen 2 Elementen (z.B.)
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); //ShowMessage(inttostr(beg_com)); end_com:=Pos('*/',myInhalt); //ShowMessage(inttostr(end_com)); if beg_com > 0 then begin if end_com > 0 then begin ShowMessage('vor dem löschen:'+myInhalt); delete(myInhalt,beg_com,end_com+1); ShowMessage(myinhalt); end else exit; end else begin Result:=myInhalt; exit; end; beg_com:=-1; end_com:=-1; end; end;
Code:
dann wird irgendwie viel zu viel gelöscht und es bleibt nur das erste element übrig. Hat jemand eine Idee???
body {}
/*kommentar*/ table{} [edit=sakura] [code] -> [delphi] Mfg, sakura[/edit] |
Re: Delete in einem String macht mir Kopfschmerzen
Gewöhne Dir mal die [delphi]Tags an :roll: [code] ist recht unpraktisch für lange Delphi-Texte.
...:cat:... |
Re: Delete in einem String macht mir Kopfschmerzen
Delete nimmt nicht Von...Bis, sondern Von, WIEVIEL
Damit wird aus
Delphi-Quellcode:
folgendes
delete(myInhalt,beg_com,end_com+1);
Delphi-Quellcode:
...:cat:...
delete(myInhalt,beg_com,end_com-beg_com+1);
|
Re: Delete in einem String macht mir Kopfschmerzen
Hallo Sakura,
wie dumm von mir! Nun hauts hin! Ich musste allerdings aus dem "+1" ein "+2" machen. Ich vermute mal, dass das daran liegt, weil ich einen String mit 2 Buchstaben löschen muss!
Delphi-Quellcode:
Sorry wegen des [Code]-Fehlers. Wird nicht wieder vorkommen! :stupid:
delete(myInhalt,beg_com,end_com-beg_com+2);
|
Re: Delete in einem String macht mir Kopfschmerzen
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz