|
|
|
| Работа со строками:
Вводятся две строки, из первой убрать все символы второй сроки.
Написа на PHP с циклами for и всё работае а вот в делфи с for неработает и while тоже. | |
|
|
|
|
|
|
|
для: ODM
(13.12.2006 в 14:37)
| | КОД
procedure TForm1.DelClick(Sender: TObject);
var str1,str2:string;
var len1,len2,index,index2:integer;
begin
str1:=St1.Text; //TEdit
str1:=St1.Text; //TEdit
index:=1; //S4et4ik stavim na 1
index2:=1; //S4et4ik stavim na 1
len1:=Length(str1); //Opredeljajem dlinnu stroki 1
len2:=Length(str2); //Opredeljajem dlinnu stroki 2
//Perebirajem v cikle zna4enija
{Esli pervij simvol pervoj stroki
raven pervomu simvolu(vtormu i t.d.)
Esli vtoroj simvol pervoj stroki
raven pervomu simvolu(vtormu i t.d.)
i t.d.
Esli uslovije verno to udaljajetsja
Simvol iz stroki
}
while (len1-1)>=index do
begin
while (len2-1)>=index2 do
begin
if str1[index] = str2[index2] then
begin
Delete(str1,index,index); //udalenije iz stroki
end;
inc(index2); //Uveli4evajem index2 na jedenicu
end;
inc(index); //Uveli4evajem index na jedenicu
end;
St3.Text:=str1;
end;
|
| |
|
|
|
|
|
|
|
для: ODM
(13.12.2006 в 14:42)
| | Нашол ошибку, одну строку str1:=St1.Text; поменять на str2:=St2.Text; и While (len1-1>=index) do поменять на while (len1-1>=index) do, тоже и со вторым циклом.
Но к сожалению всёравно неработает. :( | |
|
|
|