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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2008, 13:24   #1
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
Вопрос Разработка библиотеки для компаса

Ребят, нужна помощь.
задание понятно из заголовка. есть деталь. все нормально
а вот в проверке размеров вся запуталась..
там нужно если размер не правильный чтоб выделялся красным цветом, это все работает, но вот сброс результата.. цвет тоже сделала чтоб возвращался к черному. надо чтобы все рзмеры тоже делалаись по умолчанию которые проставлены..
вот код проверки.. помогите плиз!!! надо оч срочно!
procedure TForm1.Button3Click(Sender: TObject);
var
rd,VOs, ShB, VB, DOtv,DOtv1, GlV, ShD1, ShD2, ROtv, Tu, Ru : integer;
begin
rd:=strtoint(Form1.Edit1.Text); //радиус дуги основания
ROtv:=strtoint(Form1.Edit2.Text); //расстояние между отверстиями
VOs:=strtoint(Form1.Edit3.Text); //высота основания
ShB:=strtoint(Form1.Edit4.Text); //ширина бобышки
VB:=strtoint(Form1.Edit5.Text); //высота бобышки
DOtv:=strtoint(Form1.Edit6.Text); //радиус отверстий
DOtv1:=strtoint(Form1.Edit7.Text); //радиус отверстия в центре
ShD1:=strtoint(Form1.Edit8.Text); //ширина диагонали квадрата в центре(вертикальная)
GlV:=strtoint(Form1.Edit9.Text); //глубина выреза квадрата
ShD2:=strtoint(Form1.Edit10.Text); //ширина диагонали квадрата в центре(горизонтальная)
Tu:=strtoint(Form1.Edit11.Text); //толщина ушка
Ru:=strtoint(Form1.Edit12.Text);//расстояние между ушками

//Form1.Font.Color:=clblack;
If (ROtv >= (2*RD+ShB-DOtv)) or (ROtv<=(Ru+DOtv)) then begin Form1.Edit2.Font.Color:=clred;
end;
If (Ru>=(ROtv-DOtv)) or (Ru<=ShB) then begin Form1.Edit12.Font.Color:=clred;
end;
If (ShB<=ShD2) or (ShB>70) then begin Form1.Edit4.Font.Color:=clred;
end;
If GlV>=VB then begin Form1.Edit9.Font.Color:=clred;
end;
If Tu>=(2*RD-5) then begin Form1.Edit11.Font.Color:=clred;
end;
If RD<=((Ru/2-ShB/2)+DOtv+2) then begin Form1.Edit1.Font.Color:=clred;
end;
If (ShD1>=(2*RD)) or (ShD1<=(DOtv1+5)) then begin Form1.Edit8.Font.Color:=clred;
end;
If (ShD2>=ShB) or (ShD2<=(DOtv1+5)) then begin Form1.Edit10.Font.Color:=clred;
end;

end;


procedure TForm1.Button4Click(Sender: TObject);
var
rd,VOs, ShB, VB, DOtv,DOtv1, GlV, ShD1, ShD2, ROtv, Tu, Ru : integer;
begin
rd:=strtoint(Form1.Edit1.Text); //радиус дуги основания
ROtv:=strtoint(Form1.Edit2.Text); //расстояние между отверстиями
VOs:=strtoint(Form1.Edit3.Text); //высота основания
ShB:=strtoint(Form1.Edit4.Text); //ширина бобышки
VB:=strtoint(Form1.Edit5.Text); //высота бобышки
DOtv:=strtoint(Form1.Edit6.Text); //радиус отверстий
DOtv1:=strtoint(Form1.Edit7.Text); //радиус отверстия в центре
ShD1:=strtoint(Form1.Edit8.Text); //ширина диагонали квадрата в центре(вертикальная)
GlV:=strtoint(Form1.Edit9.Text); //глубина выреза квадрата
ShD2:=strtoint(Form1.Edit10.Text); //ширина диагонали квадрата в центре(горизонтальная)
Tu:=strtoint(Form1.Edit11.Text); //толщина ушка
Ru:=strtoint(Form1.Edit12.Text);//расстояние между ушками

begin

Form1.Edit1.Font.Color:=clblack;
Form1.Edit2.Font.Color:=clblack;
Form1.Edit3.Font.Color:=clblack;
Form1.Edit4.Font.Color:=clblack;
Form1.Edit5.Font.Color:=clblack;
Form1.Edit6.Font.Color:=clblack;
Form1.Edit7.Font.Color:=clblack;
Form1.Edit8.Font.Color:=clblack;
Form1.Edit9.Font.Color:=clblack;
Form1.Edit10.Font.Color:=clblack;
Form1.Edit11.Font.Color:=clblack;
Form1.Edit12.Font.Color:=clblack;
//Form1.Font.Size:=14;

Form1.Edit1.Text:=50;
end;

Ругается на предпоследнюю строку. она пока одна, а так хотела вручную завести все значения эдитов..
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Старый 12.12.2008, 13:30   #2
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Цитата:
Ругается на предпоследнюю строку.
Код:
Form1.Edit1.Text:=50;
Исправьте на:
Код:
Form1.Edit1.Text:='50';
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 12.12.2008, 13:37   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Form1.Edit1.Text - строка, 50 - число. Необходимо преобразование типов
Form1.Edit1.Text := IntToStr(50);
или 50 в виде стркои задавать:
Form1.Edit1.Text := '50';

или использовать не TEdit, а TSpinEdit (кажется на вкладке Samples). Он предназначен специально для ввода числовой информации. С ним будет как-то так:
Form1.SpinEdit1.Value := 50;
и так:
rd := Form1.SpinEdit1.Value; // StrToInt уже не нужен
pu4koff вне форума Ответить с цитированием
Старый 12.12.2008, 13:41   #4
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию

VVM, спасибо большое! все работает)
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разработка DLL библиотеки tibult Фриланс 5 03.12.2008 13:23
Создать базу данных для библиотеки xxasb07 Помощь студентам 4 19.11.2008 12:36
Подскажите пожалуйста как написать или какие разделы/библиотеки изучить для написания программы в делфи7 CeLaVie Помощь студентам 2 27.08.2008 23:47
Разработка Базы Данных для Детского лагеря Voyts Фриланс 3 11.02.2008 19:10
Мат библиотеки для С# TheGuardian123 Общие вопросы .NET 0 31.01.2008 18:10