usuwanie komentarzy z richedit (składnia jak ASM)

0

chciałbym zrobić program który będzie "oczyszczał" plik ASM ze zbędnego syfu (na potrzeby patchowania telefonów Sony Ericsson - żeby ułatwić pracę przy robieniu patchy)

jak zrobić by przykładowo w takim fragmencie:

loc_1172014E				; CODE XREF: ROM:11720144j
					; ROM:1172014Aj
		ADDS	R0, R4,	#0
		POP	{R4,PC}

usunąć komentarze ? Czyli wszystko od średnika do entera. Nie daje sobie z tym rady ;/

0

StringReplace

lub można użyć takiego wynalazku: http://regexpstudio.com/TRegExpr/TRegExpr.html

0

Moja koncepcja brzmi:

linia:=copy(linia,1,pos(';',linia)-1);

gdzie linia jest pobierana z komponentu.

0

spróbowałem w ten sposób:

  for i := 0 to RichEdit1.Lines.Count do
  begin
  RichEdit1.Lines[i]:=copy(RichEdit1.Lines[i],1,pos(';',RichEdit1.Lines[i])-1);
  end;

i przykładowo z takiego pliku ASM:

; ---------------------------------------------------------------------------
		LDR	R0, off_117202C8
		PUSH	{R4,LR}
		MOVS	R4, #0
		BL	sub_11645618
		CMP	R0, #0
		BEQ	loc_1172014E
		LDR	R0, [R0,#0x20]
		CMP	R0, #0
		BEQ	loc_1172014E
		MOVS	R4, #1

loc_1172014E				; CODE XREF: ROM:11720144j
					; ROM:1172014Aj
		ADDS	R0, R4,	#0
		POP	{R4,PC}
; ---------------------------------------------------------------------------

zostaje mi tylko i wyłącznie

loc_1172014E				
0
var
  i: integer;
  s: string;
begin
  for i := 0 to RichEdit1.Lines.Count do begin
    s :=  RichEdit1.Lines[i];
    delete(s,pos(';', s), length(s));
    richedit1.Lines[i] := s;
  end;
end;
0

nie taki noob z Ciebie jak siebie nazywasz, działa, wielkie dzięki i pozdrawiam :)

0

;-P

0

Tak racja ja skopałem powinien być jeszcze jeden warunek wówczas by chodziło ok.

Cos w stylu:

  for i := 0 to RichEdit1.Lines.Count do
  begin
   IF pos(';',RichEdit1.Lines[i])-1>0 THEN 
  RichEdit1.Lines[i]:=copy(RichEdit1.Lines[i],1,pos(';',RichEdit1.Lines[i])-1) else continue;
  end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1