Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 16:25   #1
Котакот
Пользователь
 
Аватар для Котакот
 
Регистрация: 29.01.2009
Сообщений: 17
По умолчанию Как ввести в Edit интервал?

Вообщем, мне нужно вводить в Edit интервал вида 100-200. Каким образом можно считывать число до "-" и после и присваивать их разным переменным?
Котакот вне форума Ответить с цитированием
Старый 19.04.2009, 16:35   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну как-нибудь так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s : string;
a,b,k : integer;
begin
s := Edit1.Text; // в s копируем содержимое эдита
k := pos('-',s);    // находим позицию дефиса
a := StrToInt(copy(s,1,k-1));  // в a кладем все, что до черточки (конвертнув в число)
b := StrToInt(copy(s,k+1,length(s)));  // в b - все, что после
ShowMessage('a= '+IntToStr(a)+'  b= '+IntToStr(b));  // показываем
end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 19.04.2009 в 16:57.
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 16:41   #3
Котакот
Пользователь
 
Аватар для Котакот
 
Регистрация: 29.01.2009
Сообщений: 17
По умолчанию

Программа будет работать? Меня смущает то, что s строковое, а k уже integer...

Последний раз редактировалось Котакот; 19.04.2009 в 16:57.
Котакот вне форума Ответить с цитированием
Старый 19.04.2009, 16:53   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

определяем позицыю черточки "-" потом в переменную а копируес все шо до чорточки в а переменную б копируем то шо после нее.. и заодно при копировании переводим со строки в число..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 19.04.2009, 16:57   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Добавил в листинг.

Собственно, Ntlegend уже все описал..

Цитата:
Сообщение от Котакот
Программа будет работать? Меня смущает то, что s строковое, а k уже integer...
А вы запустите и проверьте!
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 19.04.2009 в 17:42.
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 17:39   #6
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

еще один метод:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var l : TStrings;
    a,b : integer;
begin
l:=TStrongList.Create;
l.Text := Edit1.Text; // копируем содержимое эдита
l.Text := StringReplace(l.Text, '-', #13#10, [rfReplaceAll]);//заменяем дефис на перенос строки
a := StrToInt(l.Strings[0]);  // первая строка - это число а
b := StrToInt(l.Strings[0]);  // вторая - b..
ShowMessage('a= '+IntToStr(a)+'  b= '+IntToStr(b));  // показываем
l.Free//освобождаем переменную
end;
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"

Последний раз редактировалось Ntlegend; 19.04.2009 в 17:42.
Ntlegend вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12. ciev Общие вопросы Delphi 6 14.05.2016 17:45
Как ввести любую математическую функцию? dabulkhairb Общие вопросы Delphi 10 03.02.2009 21:12
Как задать интервал между датами в фильтре Леон Microsoft Office Access 2 22.10.2008 11:16
Как поменять интервал между буквами в поле Acces? xruss Microsoft Office Access 9 08.05.2008 11:32
Ввести в Edit только числа и удалять их Bacspase'ом. Alar Компоненты Delphi 1 01.11.2006 03:10