Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.68 MB
Время: 0.037 c
3-1080139659
frozzen
2004-03-24 17:47
2004.04.18
Перекодировка из DOS в Win


6-1077162696
Defunct
2004-02-19 06:51
2004.04.18
Глючит IdFTP


4-1076514190
Timego
2004-02-11 18:43
2004.04.18
CLSID COM-объекта по полному пути к его dll-файлу


3-1079959339
Bizon
2004-03-22 15:42
2004.04.18
DBF в Interbase


14-1080135471
Матлабист
2004-03-24 16:37
2004.04.18
Нашел статью по БД