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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2011, 19:40   #1
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию Задача про курсы валют.

Здравствуйте!
Дали задачку про курсы валют в Delphi. Нужно ввести кол-во рублей которые нужно будет перевести в доллоры и в евро и ввести курс доллора и евро.
Т.е.
3 EDIT'a
1) Рубли
2) Курс доллора
3) Курс евро.

Вообщем, подсчитать то у меня получается, но вот как сделать проверку, чтобы если в EDIT ничего не было введено, чтобы Дельфи мне ошибку не выдавал? А выдавала ошибку сама программа, например:
label2.caption:='должны быть заполнены хотя бы 2 поля из 3, причем рубли -обязательно!'.

Помогите пожалуйста решить.
Я сам догадался, что делается это так
if edit1.text='' then
label2.caption:='ошибка';

но в программе почему-то не получается так сделать!!!! Получается сделать только в новой программе, в котороый кроме if edit1.text='' then
label2.caption:='ошибка'; ничего больше нет!!! Помогите пожалуйста!!! Я что только не делал, и метки ставил, все равно что-то не получается.
По моей логике, данная программа должна работать правильно, а нет, сам дельфи мне ошибку выдает. А мне надо, что бы мне сама программа моя выдавала ее.(ошибку)

Всем спасибо! Надеюсь на вас.

Код программы:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Edit3: TEdit;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  rub,euro,doll:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
label n,m;
begin
rub:=strtoint(edit1.text);
euro:=strtoint(edit2.text);
doll:=strtoint(edit3.Text);
if (edit1.text='') and (edit2.text='') then goto n;
if (rub>0) and (euro>0) then
label3.caption:=inttostr((rub)div(euro))
else label3.Caption:='проверьте правильность заполнения RUB и EURO';
N:
if (edit1.text='') and (edit3.text='') then goto m;
if (rub>0) and (doll>0) then
label4.caption:=inttostr((rub)div(doll))
else label4.caption:='проверьте правильность заполнения DOLL и RUB';
M: ;
end;
end.

Последний раз редактировалось Rustafa13; 10.05.2011 в 19:42.
Rustafa13 вне форума Ответить с цитированием
Старый 10.05.2011, 19:50   #2
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

какой ужас...


Код:
procedure TForm1.Button1Click(Sender: TObject);
label n,m;
begin

if (edit1.text<>'') and (edit2.text<>'') then 
 begin
  rub:=strtoint(edit1.text);
  euro:=strtoint(edit2.text);
  label3.caption:=inttostr((rub)div(euro))
 end
else label3.Caption:='проверьте правильность заполнения RUB и EURO';

if (edit1.text<>'') and (edit3.text<>'') then 
 begin
  rub:=strtoint(edit1.text);
  doll:=strtoint(edit3.Text);
  label4.caption:=inttostr((rub)div(doll))  
 end
else label4.caption:='проверьте правильность заполнения DOLL и RUB';
end.
так вроде лучше
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 10.05.2011, 19:54   #3
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

еще бы посоветовал для каждого едита определить примерно вот такой вот обработчик
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8]) then key := #0;
end;
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 10.05.2011, 20:08   #4
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Swarog Посмотреть сообщение
какой ужас...

так вроде лучше
Ха-ха!!!!

Спасибо!!! Ну ты монстр!

А я был близко

Еще раз огромное спасибо!!!!

А вот про key мы еще не проходили. Мы только начали, мы Pascal вот месяц назад закончили. Слушай, а ты не можешь мне посоветовать какие нибудь книги по дельфи? Автора например.
Rustafa13 вне форума Ответить с цитированием
Старый 10.05.2011, 20:21   #5
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

вот тут есть куча книг
http://programmersforum.ru/showthread.php?t=14054

сам учился сборниках delphiworld и "Иллюстрированный самоучитель по Delphi для начинающих!" для начала последнего должно хватить
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 10.05.2011, 20:28   #6
Rustafa13
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 50
По умолчанию

Слушай, а если не сложно, можешь мне еще решить задачу про вес?
Нужно создать 2 EDIT. 1 для роста, другой для веса.

Если рост меньше 100, тогда - ошибка
Если рост больше 245, тогда ошибка
Если вес больше 200, тогда ошибка
Если вес меньше 40, тогда ошибка

Если не сложно. =) Спасибо!
Rustafa13 вне форума Ответить с цитированием
Старый 10.05.2011, 20:34   #7
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

Код:
if (edit1.text = '') or (strtoint(edit1.text) < 100) or (strtoint(edit1.text) > 245) then 
 begin
  label1.caption:='рост: ошибка';
 end;

if (edit2.text = '') or (strtoint(edit2.text) < 40) or (strtoint(edit2.text) > 200) then 
 begin
  label1.caption:='Вес: ошибка';
 end;
ну естественно как и в первом варианте в эдиты лучше не вводить не числовую информцию
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача про строки Linmar Общие вопросы C/C++ 0 30.06.2010 18:22
Задача про треугольник YO$YA Помощь студентам 10 15.11.2008 20:29
выборка предыдущих значений(курсы валют)) alehandro Microsoft Office Access 1 29.04.2008 23:57
Курсы валют aaa Microsoft Office Excel 2 20.11.2007 09:37