Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

объясните пожалуйста, что значит каждая из процедур? [D7]


Страницы:   1 2

tango ©   (2008-06-03 21:41:00) 

Number1:=StrToInt(Edit1.Text);
  Number2:=StrToInt(Edit2.Text);
   LenN1:=0;
   LenN2:=0;
   Edit3.Text:=' ';
    Edit4.Text:=' ';
    repeat
    ModN:=Number1 mod Systemofn;
    Number1:=Number1 div Systemofn;
    Inc(LenN1);
    SetLength (vNamber1, LenN1);
    VNamber1[LenN1-1]:=ModN;
    Edit3.Text:=IntToStr(modN)+Edit3.text;
    Until Number1=0;
    repeat
    ModN:=Number2 mod Systemofn;
    Number2:=Number2 div Systemofn;
    Inc(LenN2);
    SetLength(Vnamber2, LenN2);
    VNamber2[LenN2-1]:=ModN;
    Edit4.Text:=IntToStr(ModN)+Edit4.Text;
    Until Number2=0;
    if LenN1>LenN2 then LenN:=LenN1 else LenN:=LenN2;
    SetLength(VNamber1, LenN);
    SetLength(VNamber2, LenN);
    for i:=0 to LenN-1 do begin
    if i>LenN1-1 then VNamber1[i]:=0;
       if i>LenN2-1 then VNamber2[i]:=0;

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var  c, ModN:integer;
begin
 Number1:=StrToInt(Edit1.Text);
  Number2:=StrToInt(Edit2.Text);
Edit5.Text:=' ';
   c:=Number1-Number2;
   if c>0 then
    repeat
    ModN:=c mod Systemofn;
    c:=c div Systemofn;
    Inc(LenN1);
    SetLength (vNamber1, LenN1);
    VNamber1[LenN1-1]:=ModN;
    Edit5.Text:=IntToStr(modN)+Edit5.text;
    Until c=0;
   if c<0 then
    Edit5.Text:='nevernie chisla';

end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var  c, ModN:integer;
begin
 Number1:=StrToInt(Edit1.Text);
  Number2:=StrToInt(Edit2.Text);
Edit6.Text:=' ';
   c:=Number1+ Number2;
    repeat
    ModN:=c mod Systemofn;
    c:=c div Systemofn;
    Inc(LenN1);
    SetLength (vNamber1, LenN1);
    VNamber1[LenN1-1]:=ModN;
    Edit6.Text:=IntToStr(modN)+Edit6.text;
    Until c=0;

end;

end.


Anatoly Podgoretsky   (2008-06-04 23:04:00) [1]

> Игорь Шевченко  (04.06.2008 22:50:32)  [32]

Значит мысль ты не понял и менталитет не учел.


Игорь Шевченко   (2008-06-04 22:50:00) [2]

Anatoly Podgoretsky ©   (04.06.08 22:39) [31]

Мне кажется, что английский народ не знает меньше, чем, скажем, французский или немецкий. И всяко меньше, чем японский, для которого тоже есть справка локализованная :)


Anatoly Podgoretsky   (2008-06-04 22:39:00) [3]


> выкладывать ее  локализованный вариант - сразу с английским
> у навроду проблем на порядок меньше

Ты думаешь? Мне кажется что наоборот.


Игорь Шевченко   (2008-06-04 21:22:00) [4]

наблюдатель   (04.06.08 20:54) [29]

Ну да :) Всегда полезно на вопрос о функции из справки выкладывать ее  локализованный вариант - сразу с английским у навроду проблем на порядок меньше


наблюдатель   (2008-06-04 20:54:00) [5]


> Игорь Шевченко ©   (03.06.08 23:46) [13]
> Плохиш ©   (03.06.08 23:34) [12]
>
> Я вообще-то тебя ждал, думал, ты help по SetLength выложишь
> на родном языке :)
>
> "Чтоб засыпало и раздавило"


Гы, это што-ли?

Die Prozedur SetLength legt die Länge einer String- oder dynamischen Array-Variable fest.

Unit

System

Kategorie

String-Verarbeitung

procedure SetLength(var S; NewLength: Integer);

Beschreibung

S ist eine String- oder dynamische Array-Variable.

Bei einem kurzen String ändert SetLength einfach das Längenbyte (das Zeichen an der Position S[0]) auf den angegebenen Wert. In diesem Fall muß mit NewLength ein Wert zwischen 0 und 255 angegeben werden.

Bei einer langen String- oder einer dynamischen Array-Variable weist SetLength dem mit S referenzierten String oder Array die angegebene Länge zu. Dabei bleiben die Zeichen im String oder die Elemente im Array erhalten, jedoch ist der Inhalt des neu zugewiesenen Speicherbereichs nicht definiert. Ist nicht genug Speicher für die Variable vorhanden, wird eine EOutOfMemory-Exception ausgelöst. Nach dem Aufruf von SetLength ist sichergestellt, daß S auf einen eindeutigen String oder ein eindeutiges Array zeigt (d.h. dessen Referenzzähler den Wert Eins hat).


Плохиш   (2008-06-04 11:14:00) [6]


> Anatoly Podgoretsky ©   (04.06.08 11:09) [27]
> А у программиста какой язык родной?

(шёпотом) ...машинные коды... ;-)


Anatoly Podgoretsky   (2008-06-04 11:09:00) [7]

> Плохиш  (04.06.2008 10:54:26)  [26]

Так не на мове, а на родном языке.
А у программиста какой язык родной?


Плохиш   (2008-06-04 10:54:00) [8]


> Игорь Шевченко ©   (03.06.08 23:46) [13]
> Плохиш ©   (03.06.08 23:34) [12]
>
> Я вообще-то тебя ждал, думал, ты help по SetLength выложишь
> на родном языке :)

Мне bds 2006 на аглицком подсунули, теперь не могу хелп на родной мове постить :-)


Ega23   (2008-06-04 10:07:00) [9]


> а может и хорошо - бесплатное питание, одежда и жилье.


Поварих и медсестёр на всех не хватает. А так - да, здоровый образ жизни.


Anatoly Podgoretsky   (2008-06-04 10:03:00) [10]

> Ega23  (04.06.2008 9:58:23)  [23]

Как без разницы, ведь первоисточник уже не найти и не спросить, а обсуждение многократно искаженого плохо кончается, а может и хорошо - бесплатное питание, одежда и жилье.


Ega23   (2008-06-04 09:58:00) [11]


> Вероятнее списаное у списаного, у списаного.


Неважно. Не своё, в общем.
И даже код поленился посмотреть.


Anatoly Podgoretsky   (2008-06-04 09:56:00) [12]

Думаешь у однокурсника списал?
Вероятнее списаное у списаного, у списаного.


Ega23   (2008-06-04 09:53:00) [13]

И пришла сессия. И была списана программа у однокурсника. И не поверил препод и попросил объяснить (а преподы все - тупорылые бараны, которые материал в семестре вообще не давали, а тут что-то требуют).


Ляпа   (2008-06-04 06:26:00) [14]

Sorry -) небольшая ошибка (описка) - если массив дополняется нулями справа -  то сдвиг влево (умножение)


Ляпа   (2008-06-04 04:03:00) [15]


> tango   (03.06.08 21:52) [2]
> не спорю
> ну а что происходит при выполнении данных процедур?

Попробую стелепатировать.
Если считать, что systemofn - основание системы счисления, не большее 10, то в первой процедуре два числа, заданные в 10-ной системе переводятся в систему с основанием systemofn и результат выводится в Edit3, 4.  Значения разрядов кладутся в динамические массивы VNamber1 и 2. Плюс в завершение упражнения более короткий массив дополняеется справа нулями (что означает сдвиг вправо надо разжёвывать? ).
Во второй и третьей процедурах вычисляются разность и сумма двух чисел, результат переводится в систему счисления с основанием systemofn.

Что касается SetLength - это просто увеличение динамического массива. (добавление места под новые элементы)


Германн   (2008-06-04 02:01:00) [16]

М или Я.
А ты об чём?


Ляпа   (2008-06-04 01:50:00) [17]


> Германн ©   (04.06.08 01:31) [16]

Если совет нажать F1 на непонятном слове не поможет - будем посмотреть дальше.
P.S. SerGa, не все так просто. Вещи которые кажутся очевидными, оказываются известными далеко не всем.


Германн   (2008-06-04 01:31:00) [18]


> Ляпа   (03.06.08 23:46) [14]
>
> >Плохиш ©   (03.06.08 23:34) [12]
>
> Тебе жалко что-ли?  Пустьпобирается - вдруг кто и подаст.
>  Может, справкой пользоваться не умеет- так щаз научим.
>

Так научи! Что мешает?
P.S. Только что из другой ветки.


MsGuns   (2008-06-04 00:49:00) [19]

>Игорь Шевченко ©   (03.06.08 22:08) [6]

Если пишешь ты программу
Так, что бестолочи ясно,-
Это значит, что в разведку
Не пойдет с тобой никто.


Ляпа   (2008-06-03 23:46:00) [20]

>Плохиш ©   (03.06.08 23:34) [12]

Тебе жалко что-ли?  Пустьпобирается - вдруг кто и подаст. Может, справкой пользоваться не умеет- так щаз научим.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо