Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

Оцените проги!   Найти похожие ветки 

 
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]

и еще один))



Страницы: 1 2 3 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.67 MB
Время: 0.035 c
14-1079916395
AZ
2004-03-22 03:46
2004.04.18
Как вы делаете “бэкап” проекта при перерыве в работе?


1-1080586827
Gero
2004-03-29 23:00
2004.04.18
DragAndDrop в TTreeView


3-1079611948
CTAC
2004-03-18 15:12
2004.04.18
Конвертация типов полей


14-1080277527
Kolyan
2004-03-26 08:05
2004.04.18
asm


1-1080925213
fc
2004-04-02 21:00
2004.04.18
Триал





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский