Перейти к содержимому


- - - - -

Программирование на Delphi


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 46

#31 Гость_vav_*

Гость_vav_*
  • Гости

Отправлено 05 Январь 2006 - 00:42

bat

Сложно перейти с продуктов от Borland на Microsoft. Только здесь сложность большая..  + синтаксис языка новый

#32 Гость_rza_*

Гость_rza_*
  • Гости

Отправлено 09 Февраль 2006 - 01:25

Доброго времени суток уважаемые. Подскажите пожалуйста как сделать чтобы в компонент TEdit при нажатии на TButton1 выводилась например цифра 1 а принажатии на другой TButton выводилась к примеру цифра 2. В смысле чтобы при нажати на новую кнопку значение TEdit не обнулялось. Надо чтобы  как в калькуляторе при вводе цифр писались они в один ряд.

#33 Гость_Avi_*

Гость_Avi_*
  • Гости

Отправлено 09 Февраль 2006 - 16:57

rza
Все просто Edit1.Text:=Edit1.Text+'1' вот так вставляй этот код в каждый обработчик :D)  разумееться токо циферьки меняй =) будут проблемы обращайся

#34 Гость_Blackcode_*

Гость_Blackcode_*
  • Гости

Отправлено 10 Февраль 2006 - 01:47

rza
Можешь, если цифры у тебя в Caption'е TButton есть, сделать так:
Выделяй все кнопы (от 0 до 9), затем щёлкни на одной из них, чтобы обработчик появился. Но он будет прописан для всех кноп, которые ты выбрал.
Приведу пример (!!!), как должен выглядеть обработчик:

Procedure TMainForm.TButton1Click(Sender: TObject);
Begin
Edit.Text:= EditText + (Sender as TButton).Caption;
End;

И при нажатии каждой кнопы, цифры, написанные на ней, будут добавлятся в строку...
:D

Сообщение отредактировал Blackcode: 10 Февраль 2006 - 01:55


#35 Гость_Avi_*

Гость_Avi_*
  • Гости

Отправлено 10 Февраль 2006 - 13:42

.Blackcode ага тоже интересное решение проблемы :censored:
Ну а вот собственно и сам калькулятор  :D мож кому надо =)
var
  Form1: TForm1;
    a: Real;
    b: integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:='0';
end;

procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'0'

end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'9'
else
  Edit1.Text:='9';

end;

procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'1'
else
  Edit1.Text:='1';

end;

procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'2'
else
  Edit1.Text:='2';

end;

procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'3'
else
  Edit1.Text:='3';

end;

procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'4'
else
  Edit1.Text:='4';

end;

procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'5'
else
  Edit1.Text:='5';

end;

procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'6'
else
  Edit1.Text:='6';

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'7'
else
  Edit1.Text:='7';

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'8'
else
  Edit1.Text:='8';

end;

procedure TForm1.SpeedButton22Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
Edit1.Text:='0';
b:=1;
end;

procedure TForm1.SpeedButton23Click(Sender: TObject);
begin
if b=1 then
Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)+a)
else if b=2 then
Edit1.Text:=FloatToStr(a-StrToInt(Edit1.Text))
else if b=3 then
Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)*a)
else if b=4 then
Edit1.Text:=Floattostr(a/StrToInt(Edit1.Text))
end;

procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
Edit1.Text:='0';
b:=2;
end;

procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
Edit1.Text:='0';
b:=3;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
Edit1.Text:='0';
b:=4;
end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
edit1.text := Floattostr(sqrt(strtoint(edit1.text)));
end;

end.

#36 Гость_Blackcode_*

Гость_Blackcode_*
  • Гости

Отправлено 11 Февраль 2006 - 01:23

Avi
А ты вместо:

procedure TForm1.SpeedButton23Click(Sender: TObject);
begin
if b=1 then
Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)+a)
else if b=2 then
Edit1.Text:=FloatToStr(a-StrToInt(Edit1.Text))
else if b=3 then
Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)*a)
else if b=4 then
Edit1.Text:=Floattostr(a/StrToInt(Edit1.Text))
end;

Используй:

procedure TForm1.SpeedButton23Click(Sender: TObject);
begin
Case b Of
  1: Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)+a);
  2: Edit1.Text:=FloatToStr(a-StrToInt(Edit1.Text));
  3: Edit1.Text:=FloatToStr(StrToInt(Edit1.Text)*a);
  4: Edit1.Text:=Floattostr(a/StrToInt(Edit1.Text));
End;
end;

:D

#37 Гость_rza_*

Гость_rza_*
  • Гости

Отправлено 11 Февраль 2006 - 23:17

Спасибо что откликнулись, всё разобрался. У меня есть ещё один вопросик. Я сделал одну програмку и мне захотелась сделать так чтобы в ней фон можно было менять. Я сделал спомощью TMainMenu  меню там входиш в настройки выбираеш сменить фон и там появляется диалог типа какой файл открыть (OpenPictureDialog) дальше выбираю картинку, всё пока вроде нормально , но как только её выбереш сразу появляется сообщение об ошибке и приложение отказывается дальше работать, выбраная картинка должна заменить картинку по умолчанию в TImage. Пробовал выбирать картинки разных форматов но результат одинаковый (*.bmp,*. jpg и т.д.) и с размерами картинок тоже эксперементировал. Может быть что-нибудь подскажете.

#38 Гость_Avi_*

Гость_Avi_*
  • Гости

Отправлено 12 Февраль 2006 - 01:02

rza
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then form1.image1.Stretch := true
else form1.Image1.Stretch := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  Form1.image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end; :nyam: Незнаю в свое время я делал так  :D попробуй мож у тебя получиться покрайней мере ошибку у меня невыдавало :censored:

#39 Гость_Slofie_*

Гость_Slofie_*
  • Гости

Отправлено 25 Апрель 2006 - 02:11

Народ, помогите пожалста!  :)
Необходимо, написать программку, состоящую из трех переключателей (умножение далее введенного значения на 4, 9 и 23), поля ввода значения, кнопки ОК и поле вывода результата.
Помогите пожалуйста написать процедуру ButtonClick.
Знаю, что она простая, но че-то как-то.. Помогите, а..?

#40 Гость_Avi_*

Гость_Avi_*
  • Гости

Отправлено 25 Апрель 2006 - 05:05

:) Тогда не только процедуру но и саму программу придется писать :o




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Добро пожаловать!
Что бы получить полный доступ ко всем форумам, созданию тем и многому другому, пожалуйста Войдите или Зарегистрируйтесь.
Вы можете не тратить время на скучную анкету, а просто войти с помощью вашей любимой социальной сети в правом верхнем углу ;)