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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2008, 00:53   #1
Cesmir
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 16
По умолчанию Помогите исправить код (Delphi)!

Уважаемые программисты,
Прошу помощи , заранее спасибо..
-
Завтра здавать работу по програмированию осталась одна лаба,
признаюсь что совсем непонимаю что к чему, поэто и обращаюсь к знатокам.
У меня есть готовая работа(Рабочая), только не мой вариант.
Там кажется всё придельно просто, запускается программа, вводится пароль, открывается табличка в которой рандом числа от 0 до 100. собственно и всё. В Моём Варианте нужно сделать чтобы в таблице выводились числа от -100 до 100.
Момогите исправить программный код: ()
Cesmir вне форума Ответить с цитированием
Старый 30.12.2008, 00:54   #2
Cesmir
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 16
По умолчанию

Вот собственно код:
1часть тк все не входит


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ExtCtrls, Menus, Grids, Buttons, Math;

type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;
Label1: TLabel;
Button1: TButton;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
ScrollBar1: TScrollBar;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;

procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);


procedure rashet();
procedure MyPaint();

procedure FormPaint(Sender: TObject);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid1Exit(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);






private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
summ, min1, pass1, pass2, shet, i, j: integer;
mas: array of integer;
ris: boolean;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
if inttostr(pass1*pass2) = maskedit1.text then
begin
shet:=0;

button1.Visible:=false;
Label1.Visible:=false;
MaskEdit1.Visible:=false;
Label5.Visible:=false;

Label2.Visible:=true;
Label3.Visible:=true;
Label4.Visible:=true;
ComboBox1.Visible:=true;
StringGrid1.Visible:=true;
StringGrid2.Visible:=true;
ScrollBar1.Visible:=true;

end;
shet:=shet+1;
if shet=3 then
close;
Cesmir вне форума Ответить с цитированием
Старый 30.12.2008, 00:55   #3
Cesmir
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 16
По умолчанию

Вот продолжение кода:

end;



procedure TForm1.ComboBox1Change(Sender: TObject);
begin
StringGrid1.ColCount:=ComboBox1.Ite mIndex+6;
StringGrid1.DefaultColWidth:=strtoi nt(floattostr(504/(ComboBox1.ItemIndex+6)-1));
StringGrid2.ColCount:=ComboBox1.Ite mIndex+6;
StringGrid2.DefaultColWidth:=strtoi nt(floattostr(504/(ComboBox1.ItemIndex+6)-1));
rashet();
end;

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=' ' then
begin
key := Chr(0);
MyPaint();
end
else
key := Chr(0);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
randomize();

pass1:=random(10);
pass2:=random(10);
label5.Caption:=inttostr(random(10) );
label5.Caption:=label5.Caption+' '+inttostr(pass1);
i:=2;
while i<7 do
begin
label5.Caption:=label5.Caption+' '+inttostr(random(10));
i:=i+1;
end;
label5.Caption:=label5.Caption+' '+inttostr(pass2);

i:=0;
while i<StringGrid1.rowCount do
begin
j:=0;
while j<StringGrid1.ColCount do
begin
stringgrid1.Cells[j,i]:=inttostr(random(101));
j:=j+1;
end;
i:=i+1;
end;
rashet();
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=' ' then
begin
MyPaint();
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
if ris then
MyPaint();
end;

procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Button1Click(self);
end;

procedure TForm1.MyPaint();
begin
j:=0;
ris:=true;


while j<StringGrid2.ColCount do
begin
if min1=strtoint(stringgrid2.Cells[j,0]) then
begin
stringgrid1.Canvas.Brush.Style:= bsClear;
stringgrid1.Canvas.Pen.Color:=clblu e;
stringgrid1.Canvas.Pen.Width:=3;
stringgrid1.Canvas.Rectangle((strin ggrid1.DefaultColWidth+1)*j,1,strin ggrid1.DefaultColWidth+(stringgrid1 .DefaultColWidth+1)*j,stringgrid1.H eight-4);

stringgrid2.Canvas.Brush.Style:= bsClear;
stringgrid2.Canvas.Pen.Color:=clblu e;
stringgrid2.Canvas.Pen.Width:=3;
stringgrid2.Canvas.Rectangle((strin ggrid1.DefaultColWidth+1)*j,1,strin ggrid1.DefaultColWidth+(stringgrid1 .DefaultColWidth+1)*j,20);

end;
j:=j+1;
end;
end;



procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
StringGrid1.RowCount:=ScrollBar1.Po sition;
StringGrid1.Height:=21*ScrollBar1.P osition+3;

StringGrid2.Top:= StringGrid1.Top+StringGrid1.Height+ 6;

rashet();

end;



procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
rashet();
end;

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin

case Key of
#8,'0'..'9': ; // цифры и <Backspace>

#13: // клавиша <Enter>
begin
if StringGrid1.Col < StringGrid1.ColCount - 1
then StringGrid1.Col := StringGrid1.Col + 1
else if StringGrid1.row < StringGrid1.rowCount - 1
then
begin
StringGrid1.Col:=0;
StringGrid1.row := StringGrid1.row + 1;
end
else
begin
StringGrid1.Col:=0;
StringGrid1.row:=0;
end;
rashet();
end;
' ':
begin
rashet();
ris:=true;
key := Chr(0);
MyPaint();
end

else // остальные символы запрещены
key := Chr(0);

end;



end;

procedure Tform1.rashet();

begin
j:=0;
ris:=false;
SetLength(Mas, StringGrid1.ColCount);

while j<StringGrid1.ColCount do
begin
i:=0;
summ:=0;
while i<StringGrid1.RowCount do
begin
if stringgrid1.Cells[j,i]='' then
stringgrid1.Cells[j,i]:='0';
if int(strtoint(stringgrid1.Cells[j,i])/5)=strtoint(stringgrid1.Cells[j,i])/5 then
summ:=summ+1;
i:=i+1;
end;

mas[j]:= summ;
stringgrid2.Cells[j,0]:=inttostr(summ);
j:=j+1;
end;

min1:=MinIntValue (mas);


stringgrid1.Refresh;
stringgrid2.Refresh;
end;

procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
rashet();
end;

end.
Cesmir вне форума Ответить с цитированием
Старый 30.12.2008, 00:58   #4
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

в каком смысле от 100 до 100?
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 30.12.2008, 00:59   #5
Cesmir
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 16
По умолчанию

от минус100 до 100
Cesmir вне форума Ответить с цитированием
Старый 30.12.2008, 01:01   #6
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

если имеется ввиду от 100 до 1000, то нужно вот тут исправить и все:
было: stringgrid1.Cells[j,i]:=inttostr(random(101));
стало: stringgrid1.Cells[j,i]:=inttostr(random(1001)+100);
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 30.12.2008, 01:03   #7
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

тогда stringgrid1.Cells[j,i]:=inttostr(random(201)-100);
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Старый 30.12.2008, 01:05   #8
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

функция random(x) выбирает произвольное число в диапозоне от 0 до х-1

P.S. Кстати, товарищи студенты, ну называйте вы темы своими именами, ради бога! Это же просто, а тем, кто хочет помочь, намного проще ориентироваться
нашедшего выход - затаптывают

Последний раз редактировалось Rozalinda; 30.12.2008 в 01:07.
Rozalinda вне форума Ответить с цитированием
Старый 30.12.2008, 01:11   #9
Cesmir
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 16
По умолчанию

Теперь у меня, пороль который при в ходе неработает,
(там по заданию, случайно отображаются 7 чисел, пароль эти числа в обратном порядке), но эта парольная система неработала просто, заходит при нажатии войти и отображается таблица от 0до100, о которой я и говорил. так вот теперь невходит..(
Cesmir вне форума Ответить с цитированием
Старый 30.12.2008, 01:20   #10
Rozalinda
Пользователь
 
Аватар для Rozalinda
 
Регистрация: 11.01.2007
Сообщений: 54
По умолчанию

в смысле, раньше заходила и без пароля? то есть он вообще был ни при чем?
А теперь что именно делает?

То изменение, что я написала, на парольную систему вообще никак не может повлиять
нашедшего выход - затаптывают
Rozalinda вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код Grizzzli Помощь студентам 3 14.12.2008 19:26
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 17:40
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20
Задача на объекты. Исправить код. AVer Помощь студентам 1 21.01.2007 14:55