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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2013, 10:11   #11
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Неважно, где объявлен динамический массив, это автоуправляемый тип, как строка, с подсчетом ссылок, и если ссылка одна, то по выходу её из области видимости, массив будет очищен автоматом.
Когда же ссылок больше одной то тут возможны варианты, но это обычно очень редкая ситуация.
phomm вне форума Ответить с цитированием
Старый 20.06.2013, 11:27   #12
20Анастасия20
 
Регистрация: 12.06.2013
Сообщений: 5
По умолчанию

Спасибо большое за помощь. Я правда вчера переделала. Вот что получилось:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
   F:textfile;
  i,j,m,N,N2,N3,N4,N5,N6,N7,N8,N9,N10,N1:integer;
   A:string;
  mas:array[1..12] of integer;
begin
 if Form1.Button1.Enabled=true then
 Form1.N5.Enabled:=true;

N:=0;
S:=0;
V:=0;
   AssignFile(F,'base.txt');
   reset(F);
   Readln(F,A);              //öèêë ïîäñ÷åòà êîëè÷åñòâà âîïðîñîâ â áàçå
   While Not Eof(F) do
      begin
        Readln(F,A);
        Readln(F,A);
        V:=strtoint(A);
        For i:=1 to(V+1) do Readln(F,A);
        N:=N+1;
      end;
    mas[1]:=0;
   CloseFile(F);


  //1 вопрос

     AssignFile(F,'base.txt');
     reset(F);
     Readln(F,A); 
     label1.Caption:=A;  
     randomize;
     N1:=Random(N);
     while  N1=0 do  N1:=Random(N);
     mas[2]:=N1;

     for j:=1 to N-1 do
            begin
         if j<>N1 then
        begin
          Readln(F,A); 
          Readln(F,V);    
          for i:=1 to (V+1) do
              Readln(F,A);
         end
        else
            begin
            Readln(F,A);
            label5.Caption:=A;  
            Readln(F,V);
            Readln(F,k1);

            for m:=1 to V do
               begin
               Readln(F,A);
               Radiogroup1.Items.Add(A);
               end;
               end;
               end;
               CloseFile(F);
Подскажите пожалуйста еще как сделать шифрование чтобы и вопросы с ответами и файл с паролями пользователей не были в открытом текстовом виде, но при этом файл с оценкой можно было посмотреть администратору, и также файл с паролем админа можно было изменить
20Анастасия20 вне форума Ответить с цитированием
Старый 20.06.2013, 11:31   #13
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
только выделяемая под массивы память нигде не чистится. Это непорядок..
Или, если динамический массив объявлен в стеке (локальный в процедуре), то этого можно не делать?!
Массив Mas чистится автоматом, а вот динамический массив R каждого его элемента лучше все же очищать - упустил
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайным образом определить цвет карандаша и кисти. vedro-compota Мультимедиа в Delphi 3 02.06.2010 13:27
Сформировать массив случайным образом... (Pascal ABC) om3n Помощь студентам 2 14.04.2010 22:27
проблема с выводом в делфи shelest Помощь студентам 5 02.03.2010 20:12
Генерация случайным образом Golovastik Общие вопросы C/C++ 9 07.10.2009 23:28
[Pascal] вывод элементов из файла случайным образом Рамик Помощь студентам 4 28.05.2009 17:18