|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Что делаю не так Delphi XE
Удаление текста между кавычками, включая их. Но почему то обрабатывает не так. Что делаю не так ?.
Код:
var ft, ft2: TextFile; i, p, Len, Pos1 : Integer; S : String; ......................... AssignFile(ft2, new_name); Rewrite(ft2); Append(ft2); begin while not eof(ft) do begin readln(ft,s); begin Len := Length(S); Pos1 := 0; for P := Len downto 1 do begin if S[P] = '"' then begin if Pos1 = 0 then Pos1 := P else begin Delete(S, P, Pos1 - i + 2); Pos1 := 0; end; writeln(ft2,s) end; end; end; end; closefile(ft); closefile(ft2); end; end; end; Когда делаю вот так, то есть подключаю memo1 и memo2 то работает: Код:
var S : String; i, Len, Pos1 : Integer; begin ///////////// То есть тут S := Memo1.Text; Len := Length(S); Pos1 := 0; for i := Len downto 1 do begin if S[i] = '"' then begin if Pos1 = 0 then Pos1 := i else begin Delete(S, i, Pos1 - i + 2); Pos1 := 0; end; end; end; ///////////// И тут Memo2.Text := S; end; |
#2
|
|||
|
|||
Код:
Delete(S, i, Pos1 - i + 2); Код:
Delete(S, P, Pos1 - i + 2); |
#3
|
||||
|
||||
Цитата:
Код:
... while not Eof(ft) do begin Readln(ft, S); Pos1:= 0; for i := Length(S) downto 1 do if S[i] = '"' then if Pos1 = 0 then Pos1:= i+1 else begin Delete(S, i, Pos1-i); Pos1:= 0; end; Writeln(ft2, S); end; {while} ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 16.04.2018 в 18:36. |