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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.05.2009, 06:09
egor1978 egor1978 вне форума
Прохожий
 
Регистрация: 18.05.2009
Сообщения: 4
Репутация: 10
По умолчанию отобразить последние 3 буквы

здравствуйте, Уважаемые форумчане!

такая вот беда. задание по словам препода простое.
но, как сами понимаете, для меня нелегкое. :-)

нужно при нажатии на BUTTON что бы в списке COMBOBOX
выводились последние 2-4 буквы слов, которые находятся
в списке LISTBOX.

пожалуйста, помогите. на уроке давали 30 минут на ее решение.
я уже безрезультатно второй день бьюсь
Ответить с цитированием
  #2  
Старый 18.05.2009, 07:17
AIMor AIMor вне форума
Прохожий
 
Регистрация: 13.03.2009
Сообщения: 31
Репутация: 10
По умолчанию

Вот тебе готовый код:

Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
   S : String;
   I : Integer;

begin
   ComboBox1.Clear;
   For I:=0 To (ListBox1.Items.Count-1) Do
      begin
         S:=ListBox1.Items.Strings[i];
         If (Length(S)>4) Then Delete(S,1,Length(S)-4);
         ComboBox1.Items.Add(S);
      end;
end;

Изменяя цифру 4 будешь менять количество последних букв, которые надо отображать в ComboBox
Ответить с цитированием
  #3  
Старый 18.05.2009, 10:44
egor1978 egor1978 вне форума
Прохожий
 
Регистрация: 18.05.2009
Сообщения: 4
Репутация: 10
По умолчанию

AIMor, большушее спасибо.
я про length понимал, что где-то надо использовать,
но тяму не фватило как правильно код составить.
с марта месяца занимаюсь. практики маловато.
Ответить с цитированием
  #4  
Старый 18.05.2009, 12:01
egor1978 egor1978 вне форума
Прохожий
 
Регистрация: 18.05.2009
Сообщения: 4
Репутация: 10
По умолчанию еще вопросик

как сделать так, что бы при копировании выделенного текста из
RICHEDIT (несколько выделенных строк) в LISTBOX копирование
происходило не просто всех выделенных символов, а еще учитывался
#13 Enter. то есть что б в лист боксе так же вставлялись несколько
строк.

Код:
procedure TForm1.Button1Click(Sender: TObject);

var s:string;

begin
s:=richedit1.SelText;
listbox1.Items.Add(s);

end;
Ответить с цитированием
  #5  
Старый 18.05.2009, 13:51
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  Pos13: Integer;
begin
  s := RichEdit1.SelText;
  Pos13 := Pos(#13#10, s);
  while Pos13 <> 0 do
  begin
    ListBox1.Items.Add(Copy(s, 1, Pos13 - 1));
    Delete(s, 1, Pos13 + 1);
    Pos13 := Pos(#13#10, s);
  end;
  if (s <> #13#10) and (s <> '') then ListBox1.Items.Add(s);
end;
Ответить с цитированием
  #6  
Старый 18.05.2009, 15:07
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Господа, ну не создавайте себе лишних проблем, зачем усложнять код???

Задача 1
Код:
uses
  StrUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
  ComboBox1.Clear;
  for i:=0 to ListBox1.Items.Count-1 do
    ComboBox1.Items.Append(RightStr(ListBox1.Items[i],4));
end;

Задача 2
Код:
ListBox1.Text:=ListBox1.Text+RichEdit1.SelText;
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 18.05.2009, 15:18
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Aristarh Dark, а что это:
Цитата:
Код:
ListBox1.Text
O_o

Наверное, так?
Код:
ListBox1.Items.SetText(PChar(ListBox1.Items.GetText+RichEdit1.SelText));
Ответить с цитированием
  #8  
Старый 18.05.2009, 16:15
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Опечатался, надо:
Код:
ListBox1.Items.Text:=...
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #9  
Старый 18.05.2009, 17:22
egor1978 egor1978 вне форума
Прохожий
 
Регистрация: 18.05.2009
Сообщения: 4
Репутация: 10
Хорошо

ну надо же.
прям как в 3дс максе - одна задача имеет несколько вариантов решений.
спасибо всем пренаиогроменнейшее!!!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter