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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2014, 12:54   #1
Vlad1698
Пользователь
 
Регистрация: 09.02.2014
Сообщений: 35
По умолчанию Увеличение переменной на +1,при нажатии.

Здравствуйте.
procedure TForm1.Button1Click(Sender: TObject);
var p:integer;
begin
p:=0+1;
Label1.Caption:=IntToStr(p);
end;
Подскажите как сделать ,чтобы при повторном нажатии на клавишу было p+1
т.е. после второго нажатия p=2 , после третьего p=3 и т.д.
Спасибо
Vlad1698 вне форума Ответить с цитированием
Старый 17.02.2014, 13:10   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
p:=0+1;
Это как понимать? Интересно просто.

Переменную не здесь объявить. Лучше в private формы.
Загрузить в неё начальное значение при создании формы.
В OnClick просто Inc(p);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.02.2014, 13:20   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Код:
var
  p:integer;
 begin
   p:=StrToInt(Label1.Caption);
   p:=p+1;
   Label1.Caption:=IntToStr(p);
 end;
FleXik вне форума Ответить с цитированием
Старый 17.02.2014, 13:21   #4
Vlad1698
Пользователь
 
Регистрация: 09.02.2014
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это как понимать? ;
ну т.е. при нажатии на баттон1 p увеличивается на 1 но работает это 1 раз только,а мне нужно чтобы при каждом нажатии было +1
.я слаб в делфи может не понимаю чего.
Vlad1698 вне форума Ответить с цитированием
Старый 17.02.2014, 13:22   #5
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Vlad1698, выше готовый, рабочий, код, в Label1.Caption только цифру 0 впиши.
FleXik вне форума Ответить с цитированием
Старый 17.02.2014, 13:25   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    p: Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  p:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Inc(p);
  Label1.Caption:=IntToStr(p);
end;

end.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.02.2014, 13:25   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от FleXik Посмотреть сообщение
Vlad1698, выше готовый, рабочий, код, в Label1.Caption только цифру 0 впиши.
И объявление переменной р вынеси из процедуры наружу.
northener вне форума Ответить с цитированием
Старый 17.02.2014, 13:27   #8
Vlad1698
Пользователь
 
Регистрация: 09.02.2014
Сообщений: 35
По умолчанию

Цитата:
Сообщение от FleXik Посмотреть сообщение
Код:
var
  p:integer;
 begin
   p:=StrToInt(Label1.Caption);
   p:=p+1;
   Label1.Caption:=IntToStr(p);
 end;
Попробывал.Выдает такую ошибку.
http://s8.uploads.ru/2B3EM.jpg
Vlad1698 вне форума Ответить с цитированием
Старый 17.02.2014, 13:28   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

2 Аватар
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  p:=0;
end;
Перестраховался?
northener вне форума Ответить с цитированием
Старый 17.02.2014, 13:28   #10
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Аватар, тоже думал на OnCreate кидать, но потом почему-то подумал что счетчик будет обнуляться :D хотя все правильно


Vlad1698, я же написал, в Label1.Caption введи цифру 0

Код:
И объявление переменной р вынеси из процедуры наружу.
в моем примере этого не нужно делать если ТС не будет использовать переменную p в других процедурах, а если будет, то выносить конечно нужно.
FleXik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
увеличение переменной m1zantrop Общие вопросы Delphi 6 10.06.2012 13:21
увеличение кнопки при наведении Cas01 Общие вопросы Delphi 7 15.02.2012 21:43
Увеличение картинки при наведении Maycal PHP 2 10.10.2011 08:36
Увеличение счетчика при сохранении файлов artemavd Общие вопросы Delphi 20 20.11.2010 11:36
ормируется объект размером 30х30 и он должен при нажатии на клавишу,двигаться в 8ми направлениях..а при н Krasoto4ka Помощь студентам 0 22.05.2010 17:41