Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизОцените проги! Найти похожие ветки
← →
Seriouss (2004-03-07 23:34) [0]вот три проги -
http://serious.net.ru/other/Base.rar
http://serious.net.ru/other/PoleDelphi.rar
http://serious.net.ru/other/chislFILEnoerr430.rar (если у кого то потребует dll, то качать - http://serious.net.ru/other/qtintf70.rar)
ps. мне 12 лет
ps2. занимаюсь delphi 1 месяц
ps+ps2:="строго не судите!";
← →
Алхимик © (2004-03-07 23:39) [1]Знаешь, что то не сильно хочется exe шник твой запускать.
Мало ли... :)
Вот код посмотрел бы.
← →
Seriouss (2004-03-07 23:46) [2]вот код мне не сильно хочется отправлять, а если вы, мистер, боитесь что там вирус, то включите антивирус!)))
← →
Seriouss (2004-03-07 23:47) [3]небойтесь! там все мирно. ничего опастного!
← →
Seriouss (2004-03-07 23:51) [4]
procedure TForm5.Button1Click(Sender: TObject);
var
i, i2, i3: Integer;
begin
if (Form1.StringGrid1.RowCount+StrToInt(Form5.SpinEdit1.Text))<99999999 then begin
Form1.StringGrid1.RowCount:=Form1.StringGrid1.RowCount+StrToInt(Form5.SpinEdit1.Text);
For i:=1 to Form1.StringGrid1.RowCount do begin
Form1.StringGrid1.Cells[0,i]:=IntToStr(i);
end;
Form5.SpinEdit2.Text:=IntToStr(StrToInt(Form5.SpinEdit2.Text)+1);
for i2:=1 to Form1.StringGrid1.ColCount do begin
tempstr:="";
tempstr2:="";
for i3:=0 to StrToInt(Form5.SpinEdit1.Text)-1 do begin
for i:=0 to Form1.StringGrid1.RowCount-StrToInt(Form5.SpinEdit2.Text) do begin tempstr2:=Form1.StringGrid1.Cells[i2,StrToInt(Form5.SpinEdit2.Text)+i]; Form1.StringGrid1.Cells[i2,StrToInt(Form5.SpinEdit2.Text)+i]:=tempstr;
tempstr:=tempstr2;
end;
end;
end;
Form5.SpinEdit2.Text:=IntToStr(StrToInt(Form5.SpinEdit2.Text)-1);
end
else
begin
ShowMessage("Слишком много строк!");
end;
end;
Красиво, как считаете? это маленький фрагмент) из Base.exe
← →
Игорь Шевченко © (2004-03-07 23:52) [5]
> там все мирно. ничего опастного
LOL
← →
TButton © (2004-03-07 23:56) [6]а можно в общих чертах, что это и как это? а то мне качать чтоб узнать что там нечто совершенно бесполезное очень лениво.
← →
Seriouss (2004-03-07 23:56) [7]=)
← →
Seriouss (2004-03-07 23:58) [8]примерно 200кб каждый архив, что ж вы, мастера, такие ленивые?
← →
Seriouss (2004-03-08 00:00) [9]TButton
да, там совершенно бесполезные проги, но дайте мне повысить свое самолюбие, и оцените хоть как-то))
← →
Алхимик © (2004-03-08 00:03) [10][8] Seriouss (07.03.04 23:58)
Посмотрел.
Если > ps. мне 12 лет , то вполне неплохо.
А код свой считаешь рефоллюционным и боишься показать? :)
> [6] TButton © (07.03.04 23:56)
> а можно в общих чертах, что это и как это? а то мне качать
> чтоб узнать что там нечто совершенно бесполезное очень лениво.
1 - Чахоточный брат Excel
2 - Настольный вариант поля чудес на 3 вопроса.
← →
Игорь Шевченко © (2004-03-08 00:03) [11]
> Красиво, как считаете?
Некрасиво. Использование переменных объекта в его методах - крайне дурной тон, чреватый ошибками.
← →
DiamondShark © (2004-03-08 00:04) [12]
> небойтесь! там все мирно. ничего опастного!
Вообще-то, тебя никто не подозревает. Просто ты сам о том, есть ли там что-то опасное, можешь не знать.
← →
Piter © (2004-03-08 00:05) [13]я не понимаю ссмысла смотреть проги, если даже непонятно, что там. Нафига это мне (да и не только мне). Подумай, Seriouss.
Ты думаешь сейчас жуткий дефицит программ, чтобы смотреть просто все подряд, лишь бы увидеть наконец то ПРОГРАММУ
← →
Seriouss (2004-03-08 00:06) [14]Алихмик
1- это не брат Exel. даже не чахоточный. он к нему и близко не приближался
2- если вам мало воросов, лезьте в базу и добавляйте))
3- вы 3-й файл не скачали
//А код свой считаешь рефоллюционным и боишься показать? :)
ну... могу конечно показать если кого интересует
← →
Seriouss (2004-03-08 00:09) [15]//Некрасиво. Использование переменных объекта в его методах - крайне дурной тон, чреватый ошибками.//
чего чего?
← →
DiamondShark © (2004-03-08 00:10) [16]
> Красиво, как считаете? это маленький фрагмент) из Base.exe
Для 12 лет + 1 месяц -- не смертельно.
1. Использование глобальных переменных (Form1, Form5). Лучше не привыкать, даже если в простенькой задаче кажется, что ничего страшного.
2. StrToInt(Form5.SpinEdit1.Text) используется во многих местах. Причём, это что-то важное, вводимое на форме Form5. Лучше оформить как свойство.
← →
Алхимик © (2004-03-08 00:11) [17]
> [14] Seriouss (08.03.04 00:06)
> 3- вы 3-й файл не скачали
Ломает :)
> ну... могу конечно показать если кого интересует
Туда же кинь, народ (кому не лень) поглядит, подскажет (наверно).
← →
Seriouss (2004-03-08 00:13) [18]//1. Использование глобальных переменных (Form1, Form5). Лучше не привыкать, даже если в простенькой задаче кажется, что ничего страшного.//
А что надо использовать?
//2. StrToInt(Form5.SpinEdit1.Text) используется во многих местах. Причём, это что-то важное, вводимое на форме Form5. Лучше оформить как свойство.//
а что такое свойство?))))))
← →
Anatoly Podgoretsky © (2004-03-08 00:13) [19]Seriouss (07.03.04 23:46) [2]
Насчет антивируча, ты всерьез нас за идиотов принимаешь?
← →
Алхимик © (2004-03-08 00:14) [20]
> [15] Seriouss (08.03.04 00:09)
> //Некрасиво. Использование переменных объекта в его методах
> - крайне дурной тон, чреватый ошибками.//
>
> чего чего?
Дурной тон - это, к примеру, щи вилкой хлебать. Не смертельно, но и не стоит :)
← →
Piter © (2004-03-08 00:18) [21]Seriouss (08.03.04 00:09) [15]
//Некрасиво. Использование переменных объекта в его методах - крайне дурной тон, чреватый ошибками.//
чего чего?
у тебя есть методTForm5.Button1Click
И ты в нем обращаешься непосредственно к экземпляру класса TForm5 (к Form5), напримерForm5.SpinEdit2.Text:=IntToStr(StrToInt(Form5.SpinEdit2.Text)-1);
Почему бы просто не написатьSpinEdit2.Text:=IntToStr(StrToInt(Form5.SpinEdit2.Text)-1);
К тому же, задумайся о форматировании текста, а то что это такое...
Единственное что мне думается... оно тебе надо в 12 лет?
← →
Piter © (2004-03-08 00:28) [22]Piter (08.03.04 00:18) [21]
точнее лучше будет написатьSpinEdit2.Text:=IntToStr(StrToInt(SpinEdit2.Text)-1);
А еще лучше:With SpinEdit2.Text do
Text:=IntToStr(StrToInt(Text)-1);
Ну а еще лучшеWith SpinEdit2.Text do
try
Text:=IntToStr(StrToInt(Text)-1);
except on EConvertError do
showmessage("Что вы мне тут в SpinEdit понаписали?!");
end;
Piter (08.03.04 00:18) [21]
И ты в нем обращаешься непосредственно к экземпляру класса TForm5 (к Form5),
конечно, скорее всего кроме Form5 других экземпляров TForm5 у тебя нету, но тем не менее
← →
DiamondShark © (2004-03-08 00:31) [23]
> А что надо использовать?
Из метода TForm5 нет смысла обращаться к переменной Form5, для доступа к самой форме. Все её методы и компоненты уже находятся в области видимости метода. Кроме того, такой код будет однозначно ошибочным при использовании нескольких экземпляров формы.
Форма Form5 оказывается сильно связанной с формой Form1 (небось, показ Form5 происходит из Form1. Угадал?). Но это не нужно. Form5 -- это форма каких-то настроек, угадал? Так вот, ей совершенно не нужно знать о существовании Form1. Её задача -- получить ввод от юзера, а конкретными действиями пусть занимается сама Form1.
Весь код, изменяющий Form1 из Form5 убрать. Все данные, вводимые юзверем оформить свойствами.
> а что такое свойство?))))))
Ну... это... Вот Text, к примеру, это свойство SpinEdit.
Желательно с деталями языка ознакомится. Ключевое слово для поиска в справке -- property.
← →
DiamondShark © (2004-03-08 00:33) [24]
> Ну а еще лучше
>
> With SpinEdit2.Text do
> try
> Text:=IntToStr(StrToInt(Text)-1);
Эта... ты его не слушай. Он тебя плохому научит.
← →
Алхимик © (2004-03-08 00:45) [25]Нафига?
SpinEdit2.Text:=IntToStr(StrToInt(SpinEdit2.Text)-1);
Когда есть Value?SpinEdit1.Value := SpinEdit1.Value - 1;
← →
Seriouss (2004-03-08 10:37) [26]//Единственное что мне думается... оно тебе надо в 12 лет?//
да, надо. делать больше нечего)
http://serious.net.ru/other/SourceBase.rar
исходники Base.exe. смотрите. скоро и другие выложу
ps. не обращайте внимания на идиотские коментариии в коде. я писал там где мне удобно и как удобно)
← →
Seriouss (2004-03-08 10:49) [27]//Когда есть Value?
SpinEdit1.Value := SpinEdit1.Value - 1;//
спасибо. незнал. исправлюсь.
← →
Piter © (2004-03-08 11:08) [28]DiamondShark (08.03.04 00:33) [24]
блин, ну ошибся, на самом делеwith SpinEdit2 do
засыпал просто :)
← →
Seriouss (2004-03-08 11:10) [29]код кто нибудь смотрел?
← →
Anatoly Podgoretsky © (2004-03-08 11:27) [30]Зачем, приведенного в [4] достаточно, понимаешь есть такая штука как нервы, очень дорогостоящее в лечении. Короче этого куска достаточно, чтобы остальное не смотреть.
← →
Seriouss (2004-03-08 11:42) [31]спокойнее надо ко всему относиться
← →
Anatoly Podgoretsky © (2004-03-08 11:49) [32]Спокойствие, только спокойствие. (С) Карлсон.
← →
Seriouss (2004-03-08 12:21) [33]вижу никто смотреть не собирается.
← →
Anatoly Podgoretsky © (2004-03-08 12:31) [34]Ну не отчаивайся, может кто и посмотрит, то ты вроде не предоставляешь исходные коды, как смотреть то?
← →
Piter © (2004-03-08 12:36) [35]to Seriouss
лучше расскажи как доменое имя в net.ru зарегистрировал и где хостера нашел
← →
Seriouss (2004-03-08 12:57) [36]Piter
http://red-host.com
бесплатно net.ru дают
Anatoly Podgoretsky
//не предоставляешь исходные коды//
как не предоставляю вот - http://serious.net.ru/other/SourceBase.rar
писал в [26]
← →
Nous Mellon © (2004-03-08 13:00) [37]Эх, я в 12 лет в футбол гонял до потери пульса. :)))
← →
Seriouss (2004-03-08 13:09) [38]//Эх, я в 12 лет в футбол гонял до потери пульса. :)))//
нелюблю футбол)
← →
Nous Mellon © (2004-03-08 13:42) [39]
> нелюблю футбол)
Ты эта... ко врачу сходи :)
← →
Seriouss (2004-03-08 16:26) [40]Ты эта... ко врачу сходи :)
обязательно.
дак что с кодом?
← →
Seriouss (2004-03-08 17:20) [41]эх люди, люди!
← →
jack128 © (2004-03-08 17:44) [42]
> дак что с кодом?
Ты бы на ММП сходил, там тебе такую рецензию на этот код накатали - закачаешься :-))
← →
Юрий Зотов © (2004-03-08 17:53) [43]> Seriouss
Честно посмотрел код в [4]. Недостатков много, но о них уже говорили, поэтому повторяться не стоит. А в целом могу сказать, что для 12 лет код даже очень неплохой. Если не обленитесь, не зазнаетесь, не увлечетесь чем-то другим и т.д., то у Вас есть все шансы стать весьма сильным программистом.
Только не рассчитывайте, что это произойдет скоро. Еще очень и очень не скоро - потому что еще очень многое предстоит узнать и очень многому научиться (причем написание кода (на любом языке) в этом списке стоит на самом последнем месте).
Но, надеюсь, когда-нибудь это все же произойдет. И от души желаю этого Вам, коллега.
:о)
← →
Seriouss (2004-03-08 18:06) [44]Ты бы на ММП сходил, там тебе такую рецензию на этот код накатали - закачаешься :-))
что такое ММп?))
Юрий Зотов
Спасибо, постараюсь)
← →
Seriouss (2004-03-08 18:16) [45]вот еще фрагмент. опишите плиз недостатки)
procedure load;
var
f: TextFile;
i: Integer;
begin
if NOT FileExists("base.bsn") then rewrit;
if FileExists("base.bsn") then
begin
procok:=0;
row:=0;
AssignFile(f, "base.bsn");
Reset(f);
readln(f, title);
readln(f, tempstr);
Col:=StrToInt(tempstr);
SetLength(named,col+1);
SetLength(sizecol,col+1);
for i:=1 to Col do
begin
readln(f, named[i]);
end;
For i:=1 to Col do
begin
readln(f, tempstr);
sizecol[i]:=StrToInt(tempstr);
end;
tempint:=1;
readln(f, tempstr);
repeat
readln(f, tempstr);
if tempstr<>"-/*\-" then
begin
row:=row+1;
SetLength(data,(row*col)+1);
data[tempint]:=tempstr;
tempint:=tempint+1;
end
else
begin
procok:=1;
end;
until procok=1;
CloseFile(f);
Form1.StringGrid1.RowCount:=row div col+2;
Reset(f);
procok:=0;
for i:=1 to col*2+3 do
begin
readln(f, tempstr);
end;
CloseFile(f);
end
else
begin
ShowMessage("Ошибка: нет файла базы");
Form1.Close;
end;
end;
procedure render;
var
i: Integer;
begin
Form1.Caption:=title;
Form1.StringGrid1.ColCount:=col+1;
Form1.StringGrid1.ColWidths[0]:=23;
for i:=1 to Form1.StringGrid1.ColCount-1 do begin
Form1.StringGrid1.Cells[i,0]:=named[i]+" ("+IntToStr(i)+")";
Form1.StringGrid1.ColWidths[i]:=sizecol[i];
end;
For i:=1 to Form1.StringGrid1.RowCount do begin
Form1.StringGrid1.Cells[0,i]:=IntToStr(i);
end;
rc:=row*col;
tempint:=1;
tempint2:=1;
tempint3:=1;
for i:=1 to rc do
begin
Form1.StringGrid1.Cells[tempint,tempint2]:=Data[tempint3];
tempint3:=tempint3+1;
tempint:=tempint+1;
if tempint=Form1.StringGrid1.ColCount then
begin
tempint2:=tempint2+1;
tempint:=1;
end;
end;
end;
← →
Seriouss (2004-03-08 18:21) [46]ps. фрагмент в [45] - одна из важнейших частей в программе, поэтому хочется узнать, что сделанно неправильно, что можно сделать проще и т.д...
← →
Anatoly Podgoretsky © (2004-03-08 18:29) [47]Очень много плохо, но самое тяжелое глобальные переменные.
← →
Seriouss (2004-03-08 18:33) [48]Очень много плохо что именно "МНОГО"
← →
Seriouss (2004-03-08 18:36) [49]что нибудь более конкретное говорите пожалуйста
← →
Seriouss (2004-03-08 18:43) [50]но самое тяжелое глобальные переменные
толи я совсем тугодум то ли еще что, но так и не понял, что в них плохо?
← →
Piter © (2004-03-08 19:42) [51]Seriouss (08.03.04 18:43) [50]
Все в них плохо. Это давно выяснено и есть правило - чем меньше у тебя глобальных переменных - тем лучше.
Что такое procok, Col, rowб tempstr, title? Разве нельзя их объявить как локальные переменные? Глобальные переменные запутывают логику программы, в конце концов перестанешь улавливать где они изменяются, что приведет к трудно обнаружаемым ошибкам.
Что за непонятная конструкция:
if NOT FileExists("base.bsn") then rewrit;
if FileExists("base.bsn") then
Если rewrite не оказывает влияния на появление файла base.bsn, то логичней писать так:if FileExists("base.bsn") then
begin
...
end
else
rewrit;
...
Если оказывает - то вообще глупость. Получается, что если файла нету, то ты его создаешь, ЗАПОЛНЯЕШЬ данными и тут же их СЧИТЫВАЕШЬ. Где логика?
Я уже не говорю про перехват исключений при StrToInt
Дальше:for i:=1 to Col do
begin
readln(f, named[i]);
end;
Если named динамический массив - то возможно тебе надо начинать с нуля, то есть for i:=0 to Coll-1 ?
Тогда и SetLength(named,col+1); будет выглядеть как: SetLength(named,col); ?
А то видимо нулевой индекс массива ты не используешь...
Что такое sizecol? Называй переменные понятно, а то кажется, что это размер col, а на самом деле тоже динамический массив.
Опять обращение к Form1. Не думаю, что так необходимо из неких процедур обращаться к глобальным переменным.
В общем, код ужасен. Конечно, то, что он работает - хорошо. Но логически не выверен - это плохо.
Подумай над ПРОЕКТИРОВАНИЕМ. Это очень, очень важная вещь. Выключи компьютер, отойди от него. Продумай в общих чертах как все будет выглядеть, нарисуй на бумажке зависимости, кто к кому будет обращаться. Должна получиться более менее иерархическая зависимость, а не беспорядочное обращение всем ко всему.
Только вот опять же повторюсь - оно тебе надо в 12 лет?
← →
Юрий Зотов © (2004-03-08 20:06) [52]> Piter © (08.03.04 19:42) [51]
> Подумай над ПРОЕКТИРОВАНИЕМ. Это очень, очень важная вещь.
Золотые слова. Но сколько лет надо потерять, сколько переписать кода и сколько наплодить ошибок, пока не поймешь, что они действительно золотые...
> Seriouss
И все же попробуйте именно СПРОЕКТИРОВАТЬ программу. А уж потом ее писать. Если получится - будет ОЧЕНЬ хорошо.
← →
Seriouss (2004-03-08 20:37) [53]Что такое procok, Col, rowб tempstr, title? Разве нельзя их объявить как локальные переменные?
нельзя. т.к. они используются и в др. процедурах.
Что такое sizecol? Называй переменные понятно, а то кажется, что это размер col, а на самом деле тоже динамический массив.
это массив, в котором размещены размеры столбцов. все понятно.
Опять обращение к Form1. Не думаю, что так необходимо из неких процедур обращаться к глобальным переменным.
Это я понял. просто еще код не исправлял.
Только вот опять же повторюсь - оно тебе надо в 12 лет?
Надо. а что еще делать?)))
← →
Юрий Зотов © (2004-03-08 20:45) [54]> Seriouss (08.03.04 20:37) [53]
> это массив, в котором размещены размеры столбцов.
Тогда, наверное, было бы лучше ColSizes или SizeOfCols? Ведь SizeCol в переводе - это "cтолбец размера", а не "размер столбца". Да и множественное число не показано.
← →
Seriouss (2004-03-08 20:45) [55]
Я уже не говорю про перехват исключений при StrToInt
если юзер не копался руками в базе, то исключений возникать не должно
← →
Seriouss (2004-03-08 20:47) [56]Тогда, наверное, было бы лучше ColSizes или SizeOfCols? Ведь SizeCol в переводе - это "cтолбец размера", а не "размер столбца". Да и множественное число не показано.
понимаете, я называю массивы, так как мне удобно. я английского не знаю, в школе фр.яз. учу
← →
Seriouss (2004-03-08 20:58) [57]
procedure TForm1.Button2Click(Sender: TObject);
var
f: TextFile;
p: String;
n: String;
nf: String;
i: Integer;
te: Integer;
tes: integer;
label
1;
begin
Form1.Label2.Caption:="";
Form1.Label3.Caption:="";
Form1.Label4.Caption:="";
Form1.Label5.Caption:="";
Form1.Label9.Caption:="";
if Form1.Edit1.Text = "" then
begin
ShowMessage("Вы не ввели число!");
Form1.Edit1.SetFocus;
goto 1;
end;
te :=StrtoInt(Form2.Edit1.Text);
tes :=1;
for i:=StrToInt(Form2.Edit1.Text) to StrToInt(Form2.Edit2.Text) do begin
if (Form1.Edit1.Text = IntToStr(te)) then
begin
tes := 2
end;
te := te+1
end;
if (tes=1) then
begin
ShowMessage("Вы ввели либо букву, либо число находящееся за пределами "+Form2.Edit1.Text+"-"+Form2.Edit2.Text);
goto 1;
end;
b := strToInt(Form1.Edit1.Text);
if a = b then
begin
Form1.Edit1.Enabled:=False;
Form1.Button2.Enabled:=False;
Form1.LCDNumber1.Visible:=False;
Form1.Label10.Visible:=False;
Form1.Edit3.Enabled := True;
Form2.Button1.Enabled:=True;
Form2.Button2.Enabled:=True;
Form1.Button5.Enabled:=True;
Form2.CheckBox1.Enabled:=True;
Form2.CheckBox2.Enabled:=True;
Form2.CheckBox3.Enabled:=True;
Form2.Edit1.Enabled:=True;
Form2.Edit2.Enabled:=True;
Form1.Button1.Enabled:=True;
Form1.Button3.Enabled:=True;
Form1.Button4.Enabled:=False;
if closedefname=0 then
begin
Form1.CheckBox1.Enabled:=True;
end;
Form1.Edit3.ReadOnly := False;
Form1.Edit3.SetFocus;
Form1.Edit3.SelectAll;
//log write
d :=d+1;
n := Form1.Edit3.Text;
if Form2.CheckBox3.Checked AND FileExists("log.txt") then
begin
if NOT Form2.CheckBox1.Checked then
begin
AssignFile(f, "log.txt");
Append(f);
writeln(f, "["+DateToStr(Date)+" "+TimeToStr(Time)+"]"+" "+"{"+"Загадано число - "+IntToStr(a)+". "+"Число угадано с "+IntToStr(d)+"-о раза игроком - "+n+"}");
CloseFile(f);
end
else
begin
AssignFile(f, "log.txt");
Append(f);
writeln(f, "["+DateToStr(Date)+" "+TimeToStr(Time)+"]"+" "+"{"+"Загадано число - "+IntToStr(a)+". "+"Число угадано с "+IntToStr(d)+"-о раза анонимным игроком}");
CloseFile(f);
end;
end;
c :=0;
AssignFile(f, "result.rsl");
Reset(f);
readln(f, p);
readln(f, nf);
CloseFile(f);
if (p = "11111") and (nf = "сброшено") then
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! (Вы первые, кто играет в эту игру после очистки данных)";
Rewrite(f);
writeln(f, IntToStr(d));
if Form2.CheckBox1.Checked then
begin
writeln(f, "Аноним1234");
Form1.Label1.Caption := "Вы были записаны как неизвестный поьзователь (это указано в настройках)";
end
else
begin
writeln(f, n);
end;
writeln(f, "//Изменять это нерекомендуется, хоть и можно! :)//");
CloseFile(f);
goto 1;
end;
if (StrToInt(p) > d) then
begin
if (nf="Аноним1234") then
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы побили прошлый результат - "+p+" поставленный анонимным игроком";
end
else
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы побили прошлый результат - "+p+" поставленный игроком - "+nf;
end;
Rewrite(f);
writeln(f, IntToStr(d));
if Form2.CheckBox1.Checked then
begin
writeln(f, "Аноним1234");
Form1.Label1.Caption := "Вы были записаны как анонимный поьзователь (это указано в настройках)";
end
else
begin
writeln(f, n);
end;
writeln(f, "//Изменять это нерекомендуется, хоть и можно! :)//");
CloseFile(f);
end
else
begin
if (nf="Аноним1234") then
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы не смогли побить прошлый результат - "+p+" поставленный анонимным игроком ";
end
else
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы не смогли побить прошлый результат - "+p+" поставленный игроком - "+nf;
end;
end;
end;
if (a < b) then
begin
Form1.Edit2.Text := "Это число меньше числа - "+ IntToStr(b);
d := d+1;
Form1.Edit1.SetFocus;
end;
if (a > b) then
begin
Form1.Edit2.Text := "Это число больше числа - "+ IntToStr(b);
d := d+1;
Form1.Edit1.SetFocus;
end;
Form1.Edit1.Clear;
Form1.LCDNumber1.Value:=IntToStr(d);
1: end;
А это уже http://serious.net.ru/other/chislFILEnoerr430.rar
Зацените такой ужас)))) давно я это делал
← →
Seriouss (2004-03-08 21:21) [58]нарисуй на бумажке
я и так некоторые моменты на бумажке рисую
← →
Seriouss (2004-03-08 22:23) [59]нуи
← →
Юрий Зотов © (2004-03-09 01:14) [60]Сколько здесь повторяющихся констант?
И зачем?
if (nf="Аноним1234") then
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы побили прошлый результат - "+p+" поставленный анонимным игроком";
end
else
begin
Form1.Edit2.Text := n+", Вы угадали! Это число - "+IntToStr(a)+"! Ваш результат - "+IntToStr(d)+"! Вы побили прошлый результат - "+p+" поставленный игроком - "+nf;
← →
Cobalt © (2004-03-09 09:36) [61]Это отладка - сразу видно!
← →
Anatoly Podgoretsky © (2004-03-09 09:44) [62]И все равно не убираешь глобальные переменные даже там где они абсолютно лишнии. Form1 внутри обработчиков TForm1 не только лишнии, но еще и особо вредные.
← →
Seriouss (2004-03-09 17:54) [63]Anatoly Podgoretsky
я еще не исправлял ничего. это старая программа. очень старая)
← →
jack128 © (2004-03-09 18:30) [64]Вообще простое(хе-хе) правило: пиши программу так, чтобы в ней мог разобраться ДРУГОЙ программист ;-)
Ну а конкретно, например меня бесят эти Form1, Form2, Label1, Label2...Label10 и тд. Имена компонентов по умолчанию стоит оставлять только тогда, если ты к этим конпонентам не обращаешься.. Вообще стилевое оформление кода хромает на обе ноги ;-) Посмотри как оформлен код VCL. ИМХО исходники должны одним своим видом достовлять эстетическое наслаждение ;-)
Насчет "учу в школе франц" , так это не кого не волнует, если хочешь быть программистом, то англ. яз. до опрделенного уровня выучить придется ибо вся документация на нем..
ММП - встреча московских обитателей этого сайта..
← →
Digitman © (2004-03-09 18:50) [65]разводка чистой воды
← →
Sphinx © (2004-03-09 19:06) [66]> Seriouss (09.03.04 17:54) [63]
А почему не разместил на хосте типа serious.web.ur.ru
???
Господа модераторы Это не флуд!!! Просто почта типа <user>@r66.ru выделяется провайдером УралРелком выделяющим место и под домашние странички.
> Digitman © (09.03.04 18:50) [65]
> разводка чистой воды
Именно поэтому и спрашиваю, тоже считаю это разводом. Ну сомнительно что бы в 12 лет человек сидел и программировал. Я скорее поверю что Путин на выборах проиграет. :) Хе, а вдруг и в правду проиграет?
← →
Pat © (2004-03-09 19:47) [67]ИМХО, кто-то достал свои очень древние исходники и прикалывается
>я еще не исправлял ничего. это старая программа. очень старая)
>ps. мне 12 лет
>ps2. занимаюсь delphi 1 месяц
????
← →
Gero © (2004-03-09 19:51) [68]> Ну сомнительно что бы в 12 лет человек сидел и программировал
Я с 11 программирую
← →
Sphinx © (2004-03-09 20:01) [69]> Gero © (09.03.04 19:51) [68]
Я в целом об этом:
> Надо. а что еще делать?)))
В 12 лет я по двору рассекал, стройки ближайшие все облазил. Да мало ли чего еще вытворял? А сидеть дома у компа в таком возрасте черевато: сколиозом, плохим зрением и отсутствием нормального общения со сверстниками.
← →
SeriousSam © (2004-03-09 21:00) [70]А почему не разместил на хосте типа serious.web.ur.ru
у меня есть сайт на web.ur.ru, но где ты видел что б какой лиюо провайдер бесплатно давал php и mysql? ты заходил на главноу страницу - http://serious.net.ru ?
В 12 лет я по двору рассекал, стройки ближайшие все облазил.
в нашем дворе негде лазить. там одни пьяные отморозки
отсутствием нормального общения со сверстниками.
и знакомых у меня в этом районе нет. поэтому общатся могу тока в школе, по телефону и icq)
← →
SeriousSam © (2004-03-09 21:10) [71]сейчас делаю поиск в программе Base. скоро выложу)
← →
SeriousSam © (2004-03-09 21:30) [72]ММП - встреча московских обитателей этого сайта..
а я думал сайт какой то. даже на mmp.ru полез, а там фигня какая то)))))
← →
SeriousSam © (2004-03-09 22:04) [73]Поиск сделан. все кто интересуется, может скачать новую версия отсюда - http://serious.net.ru/other/Base.rar
код представлю ниже
ps. пытался отучиться все время писать Form6. ...
но неполучилось. так то просто набрал Form6. и вывалился список всего что на этой форме есть. и выбираешь из него. а так просто я все названия еще не запомнил)
вот код движка поиска
procedure TForm6.Button1Click(Sender: TObject);
var
rw: Integer;
cl: Integer;
cou: Integer;
i: Integer;
serok: Boolean;
begin
serok:=False;
cou:=0;
scl:=nil;
srw:= nil;
for i:=1 to Form6.StringGrid1.RowCount do Form6.StringGrid1.Cells[0,i]:="";
Form6.StringGrid1.RowCount:=2;
if Form6.Edit1.Text="" then ShowMessage("А что искать изволите? Ввидите нужный текст в поле "Что искать"")
else
begin
if Form6.RadioButton1.Checked then begin
for cl:=1 to Form1.StringGrid1.ColCount do begin
for rw:=1 to Form1.StringGrid1.RowCount do begin
if Form1.StringGrid1.Cells[cl,rw]=Form6.Edit1.Text then begin
cou:=cou+1;
SetLength(scl,cou+1);
SetLength(srw,cou+1);
scl[cou]:=cl;
srw[cou]:=rw;
Form6.StringGrid1.RowCount:=Form6.StringGrid1.RowCount+1;
Form6.StringGrid1.Cells[0,cou]:="Столбец - "+IntToStr(cl)+" Строка - "+IntToStr(rw);
Form6.Button3.Visible:=True;
seer:=1;
Serok:=True;
end;
end;
end;
end;
if Form6.RadioButton2.Checked then begin
for cl:=Form6.SpinEdit1.Value to Form6.SpinEdit1.Value do begin
for rw:=1 to Form1.StringGrid1.RowCount do begin
if Form1.StringGrid1.Cells[cl,rw]=Form6.Edit1.Text then begin
cou:=cou+1;
SetLength(scl,cou+1);
SetLength(srw,cou+1);
scl[cou]:=cl;
srw[cou]:=rw;
Form6.StringGrid1.RowCount:=Form6.StringGrid1.RowCount+1;
Form6.StringGrid1.Cells[0,cou]:="Столбец - "+IntToStr(cl)+" Строка - "+IntToStr(rw);
Form6.Button3.Visible:=True;
seer:=1;
Serok:=True;
end;
end;
end;
end;
if Form6.RadioButton3.Checked then begin
for cl:=1 to Form1.StringGrid1.ColCount do begin
for rw:=Form6.SpinEdit2.Value to Form6.SpinEdit2.Value do begin
if Form1.StringGrid1.Cells[cl,rw]=Form6.Edit1.Text then begin
cou:=cou+1;
SetLength(scl,cou+1);
SetLength(srw,cou+1);
scl[cou]:=cl;
srw[cou]:=rw;
Form6.StringGrid1.RowCount:=Form6.StringGrid1.RowCount+1;
Form6.StringGrid1.Cells[0,cou]:="Столбец - "+IntToStr(cl)+" Строка - "+IntToStr(rw);
Form6.Button3.Visible:=True;
seer:=1;
Serok:=True;
end;
end;
end;
end;
if NOT Serok then ShowMessage("По запросу - "+Form6.Edit1.Text+" ничего не найдено!")
else Form6.StringGrid1.RowCount:=Form6.StringGrid1.RowCount-1;
end;
end;
procedure TForm6.FormShow(Sender: TObject);
begin
Form6.RadioButton1.Checked:=True;
Form6.StringGrid1.Cells[0,0]:="Результаты поиска";
end;
procedure TForm6.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
seer:=ARow;
seec:=ACol;
end;
procedure TForm6.Button3Click(Sender: TObject);
var
myRect: TGridRect;
begin
myRect.Top := srw[seer];
myRect.Right := scl[seer];
myRect.Bottom := srw[seer];
myRect.Left := scl[seer];
Form1.StringGrid1.Selection:=myRect;
end;
end.
← →
Anatoly Podgoretsky © (2004-03-09 22:16) [74]В приведеном коде 26 раз встречается Form6.ххх которое можно безболезнено убрать. Вот если потихоньку будешь убирать, то возможно тогда кто ни будь захочет и в смысл вдумываться.
← →
SeriousSam © (2004-03-09 22:20) [75]Именно поэтому и спрашиваю, тоже считаю это разводом. Ну сомнительно что бы в 12 лет человек сидел и программировал. Я скорее поверю что Путин на выборах проиграет. :) Хе, а вдруг и в правду проиграет?
абсолюдная правда. вот сижу целый день и по клавишам стукаю))
← →
SeriousSam © (2004-03-09 22:22) [76]В приведеном коде 26 раз встречается Form6.ххх которое можно безболезнено убрать. Вот если потихоньку будешь убирать, то возможно тогда кто ни будь захочет и в смысл вдумываться.
цицирую [73]
ps. пытался отучиться все время писать Form6. ...
но неполучилось. так то просто набрал Form6. и вывалился список всего что на этой форме есть. и выбираешь из него. а так просто я все названия еще не запомнил)
← →
Piter © (2004-03-09 22:30) [77]>я еще не исправлял ничего. это старая программа. очень старая)
>ps. мне 12 лет
>ps2. занимаюсь delphi 1 месяц
Есть! Четко поймал :))) SeriousSam , темнишь :))
набрал Form6. и вывалился список всего что на этой форме есть
нажимай CTRL+[ПРОБЕЛ]
← →
SeriousSam © (2004-03-09 22:42) [78]Есть! Четко поймал :))) SeriousSam , темнишь :))
это старая программа. очень старая
вот вот. ей уже целый месяц! это моя первая прога на дельфи. а до это бейсиком занимался. но это совсем другое
← →
SeriousSam © (2004-03-09 22:54) [79]если кто скачал новую версию Base.rar качайте заново)) исправил один глюк
← →
SeriousSam © (2004-03-09 23:34) [80]и еще один))
← →
Pat © (2004-03-10 00:26) [81]>так то просто набрал Form6. и вывалился список всего что на
>этой форме есть
Alt+Space нажми
← →
Pat © (2004-03-10 00:28) [82]Sorry, Ctrl+Space..старею.. :-)
← →
Defunct © (2004-03-10 00:36) [83]Взято с http://serious.net.ru/index.php
Copyright © 2004 SeriousSam
Значит хотите сказать наваяли такой классный сайт в 12 лет? ну-ну.. На бейсике говорите? ну-ну.. А redhost.com раздает бесплатные домены? LOL
Не смешите людей.
← →
SeriousSam © (2004-03-10 17:29) [84]Значит хотите сказать наваяли такой классный сайт в 12 лет?
а что трудного? взял готовый портал postnuke и все.
redhost.com раздает бесплатные домены?
домены net.ru бесплатно. но ТОЛЬКО домен
Взято с http://serious.net.ru/index.php
Copyright © 2004 SeriousSam
что вы хотите этим сказать?
← →
SeriousSam © (2004-03-10 18:46) [85]и мне действительно 12 лет
← →
DVM © (2004-03-10 21:03) [86]Если хочешь, чтоб тебе поверили, что тебе 12 лет, отсканируй свое свидетельство о рождении и выложи в инет.
← →
Gero © (2004-03-10 21:27) [87]Похоже, что это правда.
← →
SeriousSam © (2004-03-10 22:53) [88]Похоже, что это правда.//
хоть один поверил
← →
SeriousSam © (2004-03-10 22:59) [89]кстати, вышла новая версия Base с исправленными глюками)
← →
Народ © (2004-03-10 23:01) [90]> SeriousSam © (10.03.04 22:59) [89]
Да никому твои проги не надо. Посмотрели, посмеялись и забыли.
А ты все новые версии выпускаешь...
← →
SeriousSam © (2004-03-11 17:34) [91]А ты все новые версии выпускаешь...//
а я их что, для вас выпускаю?))))
← →
Пробегающий мимо (2004-03-13 14:02) [92]> SeriousSam © (11.03.04 17:34) [91]
А где свидетельство о рождении?
← →
SeriousSam © (2004-03-13 15:47) [93]
А где свидетельство о рождении?
у меня дома
← →
TUser © (2004-03-13 15:57) [94]
> Да никому твои проги не надо. Посмотрели, посмеялись и забыли.
> А ты все новые версии выпускаешь...
99.9% прог никому не нужны, кроме ихъ создателя. из оставшихся - 99.9% нужны только очень узкой группе лиц. Так что ничего страшного.
Я, правда, эти проги не видел, но судя по обсуждению здесь - это просто круто, если чел в 12 лет так пишет. Пусть тренируется, он еще многих обгонит. Видели бы вы, что я в 12 лет писал ...
← →
SeriousSam © (2004-03-14 11:36) [95]^)
спасибо
← →
Sphinx © (2004-03-14 11:44) [96]> Видели бы вы, что я в 12 лет писал ...
А я через полгода знакомства с Басиком написал прогу которая весь курсовой полностью считала, графики диф уравнений строила, систему моделировала...вот только огарчение было что она не компилировалась.
> SeriousSam © (14.03.04 11:36) [95]
Если все же тебе и правда 12 лет, смотри не увлекайся а то пропустишь все радости жизни.
Если это одно большое кидалово - хе, далеко пойдешь.....
Второй Мавроди будешь :)
← →
SeriousSam © (2004-03-15 19:46) [97]Если все же тебе и правда 12 лет, смотри не увлекайся а то пропустишь все радости жизни.
например какие?
← →
Anatoly Podgoretsky © (2004-03-15 20:20) [98]Насчет нужности, это действительно правильное наблюдение.
← →
Sphinx © (2004-03-17 13:42) [99]> SeriousSam © (15.03.04 19:46) [97]
> Если все же тебе и правда 12 лет, смотри не увлекайся а
> то пропустишь все радости жизни.
>
> например какие?
Странный ты все же, какие у человека в 12 лет могут быть радости? Поноситься с друзьями по двору, облазать все сосоедние стройки, погонять девченок.
Дальше больше...дискотеки, ночные клубы...а если будешь сидеть и программировать всю жизнь, станешь классным программистом, но упустишь нечто такое, что можно будет детям рассказывать. Я сомневаюсь что им будет интересно слушать как их отец написал страшный вирус, иничтоживший корпорацию Майкрософт, и приведший к победе Линукс (которую к тому времени можно будет только по 100$ купить, так как с изчезновением конкурента Линукс стал новым монополистом).
По моему мнению следует "перебеситься" а потом, когда стукнет около 20, жизнь будет налажена, ты будешь иметь профессию (возможно программиста) и займись ЭТИМ всерьез. Но не зацыкливайся на программировании.
← →
SeriousSam © (2004-03-18 00:13) [100]друзьями по двору
а вот во дворе друзей нету, все где то в других концах города.
Дальше больше...дискотеки, ночные клубы
между прочим, День Рожденье, кторое было 14 марта, провел как раз на дискотеке - http://www.planet.malachite.ru/
потратил там 1500руб
Но не зацыкливайся на программировании.
я и не зацикливаюсь. просто делать больше нечего)
← →
kaif © (2004-03-18 00:49) [101]Чего на парня-то набросились? Вот Зотов - молодец. Сразу видно, с начинающими много общался и знает, как в таких случаях человеку помочь, а как - навредить.
Если чел пишет, что ему 12 - значит так оно и есть. Не веришь, думаешь, что разводка - не участвуй. Сиди себе - на солнышке грейся.
По приведенному здесь коду видно, что парень на каком-то "объектно-ориентированном языке" типа VB (без типа данных Pointer) или JavaScript что-то делал, судя по навязчивому использованию глобальных переменных, которые он понимает, как (по всей видимости по инерции) единственный способ обратиться к объекту.
Знаний не хватает, но это дело наживное. А стиль-то ведь есть! И размах - тоже. И не отговаривайте его от занятий программированием. Как раз из таких целеустремленных и настойчивых ребят толк и выходит...
Мои советы:
-разберись с оператором with ... do
-никогда не юзай goto
-изучай английский, читая хотя бы Help Delphi и документацию по WinAPI со словарем в руках - через 2 недели забудешь, что читаешь по-английски.
-посмотри, как выглядит файл *.dpr (меню Project|View Source) и научись создавать объекты во время исполнения программы с помощью конструкторов Create. Научись их уничтожать с помощью метода Free. И разберись в процессе изучения этих вещей, что значит "утечка ресурсов", когда объект создан, но не уничтожен. Пойми, что такое Owner у класса TComponent и что такое Parent у TControl, особенно у TWinControl.
Пойми, что Form1 - это всего лишь указатель (Pointer) на экземпляр объекта типа TForm1 в памяти. И что Label1 в программном тексте это тоже указатель, а не просто свойство Name в объект-инспекторе.
А вообще ты молодец. Постарайся найти способ решать задачи до того, как сядешь за монитор (то есть проектировать на бумаге). Тогда горы свернешь... Главное - научиться экономить свое время и не тратить его попусту. И еще - спорт не помешает, а то в 12 лет можно испортить здоровье, если все время за компом сидеть. Это как пить дать.
← →
SeriousSam © (2004-03-18 20:07) [102]спасибо. понятно.
← →
SeriousSam © (2004-03-21 21:59) [103]и так. теперь у проги есть сайт (оцените плиз) - http://base.serious.net.ru
в новой версии можно импортировать базу в exel и вобще изменений много. смотрим.
← →
SeriousSam © (2004-03-21 22:00) [104]и так. теперь у проги есть сайт (оцените плиз) - http://base.serious.net.ru
в новой версии можно импортировать базу в exel и вобще изменений много. смотрим.
← →
SeriousSam © (2004-03-21 23:34) [105]подскажите, как сделать импорт файла exel??
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.78 MB
Время: 0.039 c