Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2012, 00:57
xsaven xsaven вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 9
Репутация: 10
Вопрос Как разбить правильно строку?

Подскажите пожалуйста,
Вот на пример у меня есть текст "Привет qw всем rt я робот asd Бонни"
И мне нужно что бы при нажатии на "Button1" из "Edit1"(Где и был допустим написан этот текст) перенеслось в "ListBox1" латинские символы то есть в виде:
1 - qw
2 - rt
3 - asd.

Помогите пожалуйста.
Ответить с цитированием
  #2  
Старый 27.03.2012, 01:02
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Можно поступить так, загрузить в StringList, указав в качастве разделителя пробел, затем по циклу опросить все строки StringList-а и, если в строке не присутствуют символы больше чем 'z', то копировать в Memo.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 27.03.2012, 01:03
xsaven xsaven вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 9
Репутация: 10
Смущение

А можно пожалуйста в виде кода если не сложно
Ответить с цитированием
  #4  
Старый 27.03.2012, 01:16
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код:
  StringList.Delimiter := ' ';
  StringList.DelimitedText := "Привет qw всем rt я робот asd Бонни";

  for I := 0 to StringList.Count - 1 do
  begin
    Bol := False;
    St := StringList.Strings[i];
    for J := 1 to Length(St) do
      if St[J] > 'z' then
      begin
        Bol := True;
        Break;
      end;
    if not Bol then
      Memo1.Lines.Add(St);
  end;
Примерно так.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 27.03.2012 в 01:18.
Ответить с цитированием
  #5  
Старый 27.03.2012, 01:42
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от angvelem
Код:
  StringList.Delimiter := ' ';
  StringList.DelimitedText := "Привет qw всем rt я робот asd Бонни";

  for I := 0 to StringList.Count - 1 do
  begin
    Bol := False;
    St := StringList.Strings[i];
    for J := 1 to Length(St) do
      if St[J] > 'z' then
      begin
        Bol := True;
        Break;
      end;
    if not Bol then
      Memo1.Lines.Add(St);
  end;

Примерно так.

angvelem Код, скажу тебе, не камельфо, 2 цикла + Break непонятный) Здесь одного цикла хватит за глаза!
Ответить с цитированием
  #6  
Старый 27.03.2012, 01:48
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Конечно кака, на скорую руку писан. Break вполне понятный.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter