Консультация № 161059
21.02.2009, 12:04
0.00 руб.
0 15 2
Уважаемые экспеты помогите решить задачи по делфи..

1)Поместить на форму два поля ввода и кнопку "Обменять". При нажатии на кнопку текст из первго поля ввода переписывается во второе,а из второго в первое.

2) Поместить на форму два поля ввода и кнопку со стрелкой "»". ПРи нажатии на кнопку текст из левого поля ввода переписывается к правое, при этом стрелка на конце изменяет свое направление. Если теперь нажать на кнопку еще раз, то текст из правого поля переписывается в левое, а стрелка снова изменит свое напрваление.

3)Поместить на ворму панель, два поля ввода и кнопку "Объединить". ПРи нажатии на кнопку текст из первого поля ввода через пробел объединить с тестом из второго поля и выводится на панель.

4) поместить на форму панель без текста. ПРи движение мышки над панелью на ней появляется текст "Ой.шекотно!". ПРи уводе мышки с панели текст исчезает.

Сделанные программы..отправьте пожалуйста на этот майл iverson_3@bk.ru или на этот rdthyth@bk.tu

Приложение:
заране большое спасииибо!!!!!!

Обсуждение

Неизвестный
21.02.2009, 12:23
общий
это ответ
Здравствуйте, Xzibitcar!
Все просто. Пример Ваших задач можете взять здесь. Текст модуля в приложении

Приложение:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Edit4: TEdit;
Button2: TButton;
Panel1: TPanel;
Edit5: TEdit;
Button3: TButton;
Edit6: TEdit;
Panel2: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Panel2MouseLeave(Sender: TObject);
procedure Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s1, s2: String;
begin
s1 := Edit1.Text;
s2 := Edit2.Text;

Edit1.Text := s2;
Edit2.Text := s1;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
s1, s2: String;
begin
s1 := Edit3.Text;
s2 := Edit4.Text;

Edit3.Text := s2;
Edit4.Text := s1;

if Button2.Caption = '>>' then
Button2.Caption := '<<'
else
Button2.Caption := '>>'
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Panel1.Caption := Edit5.Text + ' ' + Edit6.Text;
end;

procedure TForm1.Panel2MouseLeave(Sender: TObject);
begin
Panel2.Caption := '';
end;

procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel2.Caption := 'Ой, щекотно!';
end;

end.
давно
Профессионал
153662
1070
21.02.2009, 13:08
общий
это ответ
Здравствуйте, Xzibitcar!
Могу предложить свой вариант решения Ваших задач. все они в одном проекте, вот код
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Edit4: TEdit;
Button2: TButton;
Edit5: TEdit;
Edit6: TEdit;
Button3: TButton;
Panel1: TPanel;
Panel2: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s:= Edit1.Text;
Edit1.Text:= Edit2.Text;
Edit2.Text:= s;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if Button2.Caption = '>>' then
begin
Edit4.Text:= Edit3.Text;
Edit3.Text:= '';
Button2.Caption:= '<<';
end
else
begin
Edit3.Text:= Edit4.Text;
Edit4.Text:= '';
Button2.Caption:= '>>';
end

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Panel1.Caption:= Edit5.Text + ' ' + Edit6.Text;
end;

procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel2.Caption:= 'Ой.шекотно!';
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel2.Caption:= '';
end;

end.

, а весь проект по адресу здесь.
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

давно
Профессионал
153662
1070
21.02.2009, 13:14
общий
Для DrBear, проверял Ваш код, почему то процедура
Код:
procedure TForm1.Panel2MouseLeave(Sender: TObject);
begin
Panel2.Caption := '';
end;
отказывается функционировать, надпись на панеле не пропадает. Прикольно нет ошибок и не работает.
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
21.02.2009, 13:35
общий
всем спасибо...а не погли скинуть готовую программу..чтоб её открыть в делфи??
давно
Профессионал
153662
1070
21.02.2009, 14:31
общий
весь проект по адресу URL >>здесь.
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
21.02.2009, 18:09
общий
спасибо всем за помощь!!!!!
Неизвестный
14.03.2009, 18:49
общий
А вы не могли бы ещё написать программу в делфи...нужно
Поместить на форму кнопку "Случайный выбор цвета". ПРи нажатии на кнопку цвет формы изм случайным образом....заранее спасибо!!!!!!!!
давно
Профессионал
153662
1070
14.03.2009, 19:02
общий
Получается что то вроде этого
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
form1.Color:= random(255) shl 16 or random(255) shl 8 or random(255);
end;
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
14.03.2009, 19:09
общий
спасибо большое..работает!!!!
Неизвестный
14.03.2009, 19:13
общий
а что означает shl????
давно
Профессионал
153662
1070
14.03.2009, 19:23
общий
Логические поразрядные операции работают с целыми числами и оперируют с их двоичными представлениями, т.е. работают с двоичными разрядами операндов.


Обозначение Операция Типы операндов Тип результата Пример
not поразрядное отрицание целый целый not X
and поразрядное И целый целый X and Y
or поразрядное ИЛИ целый целый X or Y
xor поразрядное исключающее ИЛИ целый целый X xor Y
shl поразрядный сдвиг влево целый целый X shl 2
shr поразрядный сдвиг вправо целый целый Y shl I
Операции выполняются поразрядно. Например:


X 001101
Y 100001
X or Y 101101
При поразрядных операциях действуют следующие правила.
Результат операции not имеет тот же тип, что и ее операнд.
Результат операций and, or, xor имеет наименьший целый тип, включающий все возможные значения типов обоих операндов.
Выражения X shl Y и X shr Y сдвигают значение X влево или вправо на Y битов. Это эквивалентно умножению или делению X на 2Y. Результат имеет тот же тип, что X.
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
14.03.2009, 19:35
общий
СПАСИБО большое
при выполнении лаб.работы у меня возникла вопрос..у меня не получается перетащить содержимое из 1 поля во 2..и так что бы в 1 было пусто....
вот задание Поместить на форму два поля ввода и кнопку "Переслать". При нажатии на кнопку текст из первого поля ввода переписывается во второе,то есть исчезает в первом поле и появл во втором.
давно
Профессионал
153662
1070
14.03.2009, 19:45
общий
такой вопрос уже поднимался вот кусок кода из него
Код:

procedure TForm1.Button2Click(Sender: TObject);
begin
if Button2.Caption = '>>' then
begin
Edit4.Text:= Edit3.Text;
Edit3.Text:= '';
Button2.Caption:= '<<';
end
else
begin
Edit3.Text:= Edit4.Text;
Edit4.Text:= '';
Button2.Caption:= '>>';
end

end;
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
14.03.2009, 20:01
общий
это не то...это совсем др вопрос
давно
Профессионал
153662
1070
14.03.2009, 20:13
общий
Он работает как Вы написали
вот задание Поместить на форму два поля ввода и кнопку "Переслать". При нажатии на кнопку текст из первого поля ввода переписывается во второе,то есть исчезает в первом поле и появл во втором.
, при нажатии на кнопку содержимое из edit3 переписывается в edit4, а в edit3 стирается,
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Форма ответа