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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2008, 11:28   #1
nala
 
Регистрация: 21.02.2008
Сообщений: 4
По умолчанию Вывод данных в Delphi

Пожалуйста, помогите мне правильно вывести данные на экран код такой
НУЖНО ВЫВЕСТИ НА ЭКРАН ВСЕ СТАСТЛИВЫЕ БИЛЕТЫ. пРОГРАММА СЧИТАЕТ ИХ КОЛИЧЕСТВО, А КАК ВЫВЕСТИ Я НЕ ЗНАЮ. ПОМОГИТЕ
unit Unit2;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.dfm}
var sb:integer;
procedure TForm1.Button1Click(Sender: TObject);

var a1,a2,a3,a4,a5,a6,sb:integer;

begin
Label2.Caption:='0';
sb:=0;

for a1:=0 to 9 do
for a2:=0 to 9 do
for a3:=0 to 9 do
for a4:=0 to 9 do
for a5:=0 to 9 do
for a6:=0 to 9 do if a1+a2+a3=a4+a5+a6 then sb:=sb+1;
Label2.Caption:=IntToStr(sb);
end;

// íàæàòèå êíîïêè Çàâåðøèòü



procedure TForm1.Button2Click(Sender: TObject);

begin


Form1.Close; // çàêðûòü ãëàâíîå îêíî ïðîãðàììû
end;

end.
nala вне форума Ответить с цитированием
Старый 21.02.2008, 11:40   #2
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

ShowMessage(intToStr(Значение));
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 21.02.2008, 11:47   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А для чего у тебя переменки a1,a2,a3,a4,a5,a6,sb?

Я так понимаю что лучше тебе сразу показать как это делается, ато ты окончательно запутаешся с стратегии.
Вот пример, который добавляет в ЛистБокс номер билета, введенный в Эдит, если он "счастливый". Номер должен быть 6-и значный

Код:
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..6]of byte;i:integer;
begin
 if length(edit1.Text)=6 then begin
  for i:=1 to 6 do  a[i]:=strtoint(edit1.Text[i]);
  if a[1]+a[2]+a[3]=a[4]+a[5]+a[6] then ListBox1.Items.Add(Edit1.Text);
 end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.02.2008, 11:50   #4
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

А в чем собственно проблема-то??? Ты же вроде сам организовал вывод
количества счастливых билетов вот в этой строке:
Label2.Caption:=IntToStr(sb);
Разве не так??!!
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 21.02.2008, 12:10   #5
nala
 
Регистрация: 21.02.2008
Сообщений: 4
По умолчанию

Спасибо тебе, это так должно быть? У меня опять ошибки. Помоги исправить, пожалуйста
unit Unit4;

interface

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

type
TForm1 = class(TForm)
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
// var sb:integer;
//procedure TForm1.Button1Click(Sender: TObject);

procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..6]of byte;i:integer;
begin
if length(Edit1.Text)=6 then begin
for i:=1 to 6 do a[i]:=strtoint(edit1.Text[i]);
if a[1]+a[2]+a[3]=a[4]+a[5]+a[6] then ListBox1.Items.Add(Edit1.Text);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..6]of byte;i:integer;
begin
if length(edit1.Text)=6 then begin
for i:=1 to 6 do a[i]:=strtoint(edit1.Text[i]);
if a[1]+a[2]+a[3]=a[4]+a[5]+a[6] then ListBox1.Items.Add(Edit1.Text);
end;
end.

У меня в этом случае выдает только общее количество счастливых, а мне нужно их всех вывести на экран, помоги

Последний раз редактировалось Stilet; 21.02.2008 в 12:47.
nala вне форума Ответить с цитированием
Старый 21.02.2008, 12:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
У меня в этом случае выдает только общее количество счастливых,
ХЫ, я вообще удивляюсь как это работает...

Ты походу с делфой незнакома. Создай на форме Кнопку, Эдит и ЛистБокс. Для OnClick кнопки пропиши
Код:
var a:array[1..6]of byte;i:integer;   
begin   
 if length(edit1.Text)=6 then begin   
  for i:=1 to 6 do  a[i]:=strtoint(edit1.Text[i]);   
  if a[1]+a[2]+a[3]=a[4]+a[5]+a[6] then ListBox1.Items.Add(Edit1.Text);   
 end;
И будет работать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.02.2008, 13:35   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Я так понял условие, что программа должна не просто определить счастливый билет или нет, а вывести на экран все счастливые билеты из катушки, т.е от 100001 до 999999.
Тогда нужно сделать функцию Sch(N:integer):boolean; которая будет определять счастливый билет или нет. Затем в цикле определять это, выводить в Memo столбиком, считать их количество, которое вывести в Edit. На форме Button, вертикальный Memo с вертикальной полосой прокрутки, Edit.
Вот код.
Код:
{$R *.dfm}
Function Schast(N:integer):boolean;
var a,b,c,d,e,f:byte;
begin
result:=true;
a:=n div 100000;b:=n div 10000 mod 10; c:=N div 1000 mod 10;
d:=N div 100 mod 10;e:=N div 10 mod 10; f:=N mod 10;
if a+b+c<>d+e+f then
result:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var  i,kol:integer;
begin
kol:=0;
for i:=100000 to 999999 do
if Schast(i) then
    begin
      kol:=kol+1;
      memo1.lines.add(inttostr(i));
    end;
Edit1.Text:=inttostr(kol);
end;

end.
Программа будет работать секунд 20, количество таких билетов 50 412
puporev вне форума Ответить с цитированием
Старый 21.02.2008, 17:12   #8
nala
 
Регистрация: 21.02.2008
Сообщений: 4
По умолчанию

Да, я только начинаю с этим всем разбираться. Большое спасибо за помощь
nala вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных в порты LPT и COM Захар Компьютерное железо 6 05.04.2010 12:29
Вывод данных из курсора PL/SQL D-mon БД в Delphi 0 25.06.2008 14:00
Вывод данных в Excel Novi4ek Помощь студентам 3 22.05.2008 11:32
Неправильный вывод данных из стека С++ Cyberex Общие вопросы C/C++ 3 07.05.2008 16:53
табличный вывод данных zatoichi Общие вопросы Delphi 1 28.03.2008 08:23