Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 07.07.2018, 14:43   #1
BVnosferatu
Пользователь
 
Регистрация: 19.05.2018
Сообщений: 17
Репутация: 10
Вопрос Странная ошибка в коде

Написал генератор примеров, думал дорабатывать, в общем все было норм и код работал. Потом я добавил 3 модуль, программа начала странно себя вести. Компилятор ошибок не показывает. Но 3 модуль использует 1, а 1 использует 2 и 3. 2 Также использует лишь 1, по сути, ну не могут же они конфликтовать(или я ошибаюсь) Суть проблемы в статус баре. После добавления 3 модуля, статус бар вместо правильных ответов все считает за ошибку. вот код 2 модуля. Прошу помочь с данной проблемой.
пример исполнения(2 часть).jpg

пример исполнения(1 часть).jpg

2 часть 2 модуля.jpg

1 часть 2 модуля.jpg
BVnosferatu вне форума   Ответить с цитированием
Старый 08.07.2018, 03:40   #2
northener
Профессионал
 
Регистрация: 15.07.2013
Сообщений: 1,430
Репутация: 462
По умолчанию

По приведенному вами комиксу понять вашу проблему проблему невозможно.
northener вне форума   Ответить с цитированием
Старый 08.07.2018, 14:09   #3
BVnosferatu
Пользователь
 
Регистрация: 19.05.2018
Сообщений: 17
Репутация: 10
По умолчанию

Меня интересует почему статус бар не работает как надо, код связанный с ним в последних 2 картинках, а пример исполнения - это первые 2 картинки.
BVnosferatu вне форума   Ответить с цитированием
Старый 08.07.2018, 15:43   #4
digitalis
Участник клуба
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 872
Репутация: 346
По умолчанию

Так трудно поместить текст - текстом? Кто-то будет слепить глаза, выискивая текст в этих натюрмортах...
digitalis вне форума   Ответить с цитированием
Старый 08.07.2018, 20:38   #5
BVnosferatu
Пользователь
 
Регистрация: 19.05.2018
Сообщений: 17
Репутация: 10
По умолчанию

Нуу...Как бы статус бар для таких задач и создан. Панели неохота использовать, ибо программа слишком большая будет в итоге. Да и программу делаю чисто для того чтобы к экзаменам подготовиться.
BVnosferatu вне форума   Ответить с цитированием
Старый 09.07.2018, 11:11   #6
digitalis
Участник клуба
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 872
Репутация: 346
По умолчанию

....

Последний раз редактировалось digitalis; 09.07.2018 в 11:27. Причина: удаление
digitalis вне форума   Ответить с цитированием
Старый 09.07.2018, 11:32   #7
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,205
Репутация: 1205
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
прогрессбар
НУ про прогресс всё правильно, но там вроде про статусбар речь идёт?

Цитата:
Сообщение от BVnosferatu Посмотреть сообщение
Нуу...Как бы статус бар для таких задач и создан.
Я так понял, digitalis имел в виду, что надо было код не скриншотами сюда добавлять, а текстом - намного читабельней было бы.


Цитата:
Сообщение от BVnosferatu Посмотреть сообщение
Меня интересует почему статус бар не работает как надо
Потому что программа, как правило, делает не то, что Вы от неё хотите, а то, что в ней запрограммировано.


Цитата:
Сообщение от northener Посмотреть сообщение
По приведенному вами комиксу понять вашу проблему проблему невозможно.
ПлюсОдин.

ТС, заархивируйте Ваш проект и выложите сюда, намного быстее разберёмся
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 09.07.2018, 15:45   #8
BVnosferatu
Пользователь
 
Регистрация: 19.05.2018
Сообщений: 17
Репутация: 10
По умолчанию

Ну уж простите ребят, не додумался сразу...Сейчас код скину текстом
BVnosferatu вне форума   Ответить с цитированием
Старый 09.07.2018, 15:48   #9
BVnosferatu
Пользователь
 
Регистрация: 19.05.2018
Сообщений: 17
Репутация: 10
По умолчанию

Код:

unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ComCtrls;

type

  { TForm2 }

  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    CheckBox1: TCheckBox;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    StatusBar1: TStatusBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure CheckBox1Change(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form2: TForm2;

implementation
   uses unit1;                var timer,x,y,v,m,p,t : integer;
{$R *.lfm}

{ TForm2 }

procedure TForm2.Button1Click(Sender: TObject);
begin
  randomize;
  x:=random(1000)-500; label1.Caption:=inttostr(x);
  y:=random(1000)-500; label3.Caption:=inttostr(y);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin

    randomize;
  x:=random(1000)-500; label1.Caption:=inttostr(x);
  y:=random(1000)-500; label3.Caption:=inttostr(y);
  timer:=timer+1;
  v:=x+y;
    m:=strtoint(edit1.Text);
  if(m=v)   then  p:=p+1;  statusbar1.Panels.Items[1].Text:=inttostr(p); 
//думаю что где-то здесь и прекращается здравый смысл.
  if(m<>v)  then  t:=t+1;  statusbar1.Panels.Items[2].Text:=inttostr(t);
  if(timer=30) then begin button2.Visible:=false;  button1.Visible:=false; end;
  edit1.clear;

end;

procedure TForm2.Button3Click(Sender: TObject);
begin
  form1.show;
end;

procedure TForm2.CheckBox1Change(Sender: TObject);
begin
  timer:=0; button2.Visible:=true;  button1.Visible:=true;
  p:=0;   statusbar1.Panels.Items[1].Text:=inttostr(p);
  t:=0;   statusbar1.Panels.Items[2].Text:=inttostr(t);
end;

procedure TForm2.Edit1Change(Sender: TObject);
begin

end;

procedure TForm2.FormCreate(Sender: TObject);
begin

end;

end.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 09.07.2018 в 16:28.
BVnosferatu вне форума   Ответить с цитированием
Старый 09.07.2018, 15:53   #10
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,683
Репутация: 6211
По умолчанию

Код:

if(m=v) then begin p:=p+1; statusbar1.Panels.Items[1].Text:=inttostr(p);  end;

и ниже тоже. Так что вся странность только у программиста ))
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 09.07.2018 в 15:56.
Аватар вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странная ошибка pufystyj Общие вопросы C/C++ 16 08.07.2012 15:15
Странная ошибка. WTI Общие вопросы Delphi 3 10.04.2012 18:39
странная ошибка Психвоплоти Помощь студентам 0 23.02.2011 16:01
Странная ошибка Dux SQL, базы данных 5 23.03.2010 13:16
Странная ошибка Washington БД в Delphi 2 16.03.2007 19:13


15:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru