Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Как скопировать чётные символы строки в переменную ?   Найти похожие ветки 

 
deramse   (2005-02-19 13:56) [0]

Например чтобы из строки 123456789 получилось 13579

Делаю так :

var
s:string;
i,modi:integer;
begin

for i:=1 to length(edit1.Text) do begin
//showmessage(copy(edit1.Text,length(s),i));
if i mod 2 = 0 then
if s = "" then
s:=copy(edit1.Text,0,i+1) else
S:=S+copy(edit1.Text,i-1,i);
end;
edit2.Text:=s;

Выдаёт какую то лажу :(


 
Anatoly Podgoretsky ©   (2005-02-19 14:03) [1]

Есть хорошая функция Odd это чтобы не связываться с MOD
А остальное просто мусор и ктому неясное значения слова лажа.


 
Kerk ©   (2005-02-19 14:04) [2]

for i := 1 to length(edit1.text) do
 if i mod 2 = 0 then s := copy(edit1.text,i,1);


 
Neznaika ©   (2005-02-19 14:09) [3]

Может стоит S присвоить какое-нибудь значение до того как начнешь ее сравнивать с "". Например тоже "".
И вообще не понял зачем тебе проверка S на пустоту... Просто присваевай ей каждый второй символ edita в цикле...


 
deramse   (2005-02-19 14:17) [4]

> Kerk ©   (19.02.05 14:04) [2]

Не подходит


 
deramse   (2005-02-19 14:19) [5]

> Neznaika ©   (19.02.05 14:09) [3]  

Блин не получаеться :(


 
GanibalLector ©   (2005-02-19 14:22) [6]

for i := 1 to length(edit1.text) do
if i mod 2 = 1 then s := S+copy(edit1.text,i,1);
Caption:=S;


 
Kerk ©   (2005-02-19 14:24) [7]

deramse   (19.02.05 14:17) [4]
Не подходит


а головой думать умеем? ну пропустил я чуть-чуть.. и  что?

for i := 1 to length(edit1.text) do
if i mod 2 = 0 then s := s +copy(edit1.text,i,1);


 
MBo ©   (2005-02-19 14:27) [8]

>Блин не получаеться :(
Блин, учи язык. И математику тоже. Копирование нечетных (именно такими являются 1,3,5,7...) символов

l:=(1 + Length(Edit1.Text)) div 2;
SetLength(s,l);
for i:=1 to l do
 s[i]:=Edit.Text[2*i-1];


 
Юрий Зотов ©   (2005-02-19 14:29) [9]

Да... уж...

Вот простейший (но не лучший) вариант:
S := "";
for i := 2 to Length(Edit1.Text) do
 if Odd(i) then S := S + Edit1.Text[i];

Но лучше сделать так:
SetLength(S, Length(Edit1.Text) div 2);
for i := 1 to Length(S) do
 S[i] := Edit1.Text[2*i];



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
1-1109156155
ASH
2005-02-23 13:55
2005.03.06
MDI окна


1-1108563308
Timofey
2005-02-16 17:15
2005.03.06
Просмотр страниц в TWebBrowser


3-1107845359
dreamse
2005-02-08 09:49
2005.03.06
Не пойму как возвратить результат запроса


14-1108623827
WondeRu
2005-02-17 10:03
2005.03.06
Как построить кривую Безье?


6-1103919566
ac
2004-12-24 23:19
2005.03.06
Как отыскать в документе в WebBrowser тэги с определенным типом?