Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа со строками


Автор: Балбес 12.11.2004, 22:46
Ув. господа кодеры!!!
smile
Есть такая штука. Строка содержащая некие символы, например:
12345678910111213141516171819 и т. д.

Мне всего лишь нужно выбрать по 5 символов из строки и перенести на новую, чтоб было так:
12345
67891
11121
и т. д.

Дайте прмерчик, плиз, а то я со строкми не умею работать... smile

smile

Автор: Zero 12.11.2004, 23:08
Кароче, кинь на форму, элемент memo, в нём будет отображатся твой спиок (результат).
И ещё кинь туда Edit, в нём будет твоя исходная строка, и кинь кнопку, например Tbutton, на которую напиши
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 s,s1:string;
 i:integer;
begin
 s:=edit1.Text;
 while length(s)>0 do
   begin
     s1:='';
     for i:=1 to 5 do
       begin
         if length(s)>0 then
           s1:=s1+s[1];
         delete(s,1,1);
       end;
     memo1.Lines.Add(s1);
   end;
end;


И кстати, в следующий раз если при создании темы в описании её, напишешь для балбесов, кем как подписался сам являешся, то я тебе отвечать не буду smile

Автор: Балбес 13.11.2004, 01:13
Zero
не серчай, это ж шутка smile (чтоб кодеры иногда улыбались за компутерами)
и пасиба огромное, сейчас пробовать буду

Автор: Балбес 13.11.2004, 02:43
Ура, все работает! smile
Zero
спа-си-бо)))
А вот для себя хочу узнать: чем отличается integer от string. Наверно integer - это числа, а string - строки?
И еще - что значит length(s) и зачем в приведенном примере delete(s,1,1).
smile

Автор: Marriage 13.11.2004, 11:50
Предлагаю еще 1 способ
При желании можно переделать в функцию, которая получает строку и рзмер подстроки,
а возвращает то , о чем было написано выше ...

procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i:integer;
y:integer;
begin
str:='aaaaabbbbbcccccdddddsssssrrrrr123456';
y:=LEngth(str) div 5; // сколько подстрок по 5 символов
For i:=1 to y do
insert(#13+#10,str,i*5+2*i-1); // вставляем переход да новую строку
ShowMessage(str);
Memo1.Lines.Text:=str; //если нужно запихнуть в мемо,
end;

Автор: Zero 13.11.2004, 11:51
Цитата
не серчай, это ж шутка

Да я и не серчаю, просто это была написано так как будто говорится про нас... smile
Цитата
А вот для себя хочу узнать: чем отличается integer от string. Наверно integer - это числа, а string - строки?

Абсолютно верно, при этом Integer ─ это ещё и целые числа...
Цитата
что значит length(s) и зачем в приведенном примере delete(s,1,1).

Length(S) ─ означает количество символов в строке S, а
delete(s,1,1) ─ означает, "удалить из строки s , начиная с 1-го символа, 1 символ"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)