Как сделать тест в делфи

Создание тестов на Delphi. Часть 1

Сейчас подготовил серию уроков по созданию тестов на Delphi. Эта тема сейчас очень распространненая, так как много кто пишет курсовые по этим темам, дипломные и многое другое. Тех же самых сотрудников можно протестировать, так что эта тема очень распространненая. Предлагаю серию тестов с использованием файлов. Да с использованием БД — это хорошо, но если БД локальная, то дела все теже, что и с файлами. С БД я даже рассказывать не буду как делать, там вообще все просто, тем более я рассказал курс по работе с БД в Delphi. Так вот рассмотрим создание тестов используя два варианта. С использованием обычных файлов — dat, db или любой другой свой формат, а также с использованием ini-файлов. Скажу одно, что с использованием ini-файлов необходимо шифрование данных, я про него еще не рассказывал, но все как-нибудь доберусь. Шифрование нужно хотя бы для, того, чтобы пользователь, открыв файл не узнал правильный ответ, в dat-файле например, это можно кое-как скрыть и без шифрование, так что давайте попробуем для начала добавить данные в файл. То есть добавить (создать) наш тест. Для начала нам необходимо описать структуру, где будет храниться наш тест, а затем создать файл данной структуры.
Моя структура выглядит так

Исходный кодКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Далее мы описываем файл данной стуктуры, затем саму стуктуру и начинаем запись. Я про файлы не рассказывал (а надо было, займусь этим попозже), тут есть набор функций и процедур по работе с файлами. На событие формы — OnCreate мы создаем наш файл тестов

Исходный кодКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

То есть у нас будут сколько угодно вариантов ответа и сколько угодно правильных ответов. Далее на кнопку добавления ответов в TChecklistBox я написал следующий код.

Исходный кодКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

То есть мы просто формируем наши ответы. Как Вам понятно у нас всего 3 вопроса, я первоначально нашей переменной присвоил это значение, может быть и меньше, но никаки больше. Далее я на кнопку записи вопроса в файл написал следующий код

Исходный кодКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как видите мы просто записываем в цикле наши оветы с вопросами, с количеством, то есть в одной строке все. В следующей статья я расскажу как считать из файла все эти вопросы, а затем поговорим как определить правильный ли вопрос выбрал пользователь или нет. Проект пока что не прилаживаю, так как выложу его в конечном итоге.

Источник

Создание тестирующих программ в среде программирования Delphi

Предлагаемые методические рекомендации отображают проектирование, оформление и разработку тестирующих программ в среде программирования Delphi.

Рекомендуются учителям информатики, учителям школьных предметов, учащимся старших классов общеобразовательных средних школ с углубленным изучением информатики.

Введение

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

Основная цель данных методических рекомендаций состоит в том, чтобы дать знания о технологии создания тестирующих программ в среде программирования Delphi.

В результате использования этих рекомендаций могут быть сформированы умения и навыки проектирования тестирующих программ в среде программирования Delphi.

Создание тестирующей программы с использованием компонентов

TLabel, TButton, TRadioGroup

Создание интерфейса приложения

2. Задайте объектам следующие свойства

ОбъектСвойствоЗначение
ФормаNameForm1
CaptionТест самопроверки
ColorcllnfoBk
RadioGroupNameRadioGroup1, :, RadioGroup5
Caption
Items:(варианты ответов)
ItemIndex0,1,2,3 (индекс выбранного переключателя)
FontTimes New Roman, обычный, размер 14, цвет тёмно-синий
Label
(метка)NameLabel1. Label5
Caption:(текст выбранного вопроса)
FontTimes New Roman, полужирный, размер 14, цвет тёмно-синий
Label
(метка)NameLabel4
Caption
FontTimes New Roman, полужирный, размер 14, цвет красный
Label
(метка)NameLabel5
Caption
FontTimes New Roman, полужирный, размер 14, цвет красный
Button
(кнопка)NameButton1
CaptionЧисло правильных ответов
Button
(кнопка)NameButton2
CaptionВыход

Написание кода

1. Напишите программу теста в окне кода.

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin m:=0; if RadioGroup1.ItemIndex=1 then m:=m+1 else m:=m; end;

procedure TForm1.RadioGroup2Click(Sender: TObject);

begin n:=0; if RadioGroup2.ItemIndex=0 then n:=n+1 else n:=n; end;

procedure TForm1.RadioGroup3Click(Sender: TObject);

begin k:=0; if RadioGroup3.ItemIndex=0 then k:=k+1 else k:=k; end;

procedure TForm1.RadioGroup4Click(Sender: TObject);

begin w:=0; if RadioGroup4.ItemIndex=0 then w:=w+1 else w:=w; end;

procedure TForm1.RadioGroup5Click(Sender: TObject);

begin v:=0; if RadioGroup5.ItemIndex=2 then v:=v+1 else v:=v; end;

procedure TForm1.Button1Click(Sender: TObject);

begin l:=m+n+k+w+v; if l=5 then

begin Label4.Caption:=IntToStr(l); Label5.Caption:=’Отлично!’; end else if l=4 then

Написание кода

1. Запрограммируйте метку Label2 («Следующий вопрос») так, чтобы в метке Label1 выводился следующий вопрос, варианты ответа на него, и при достижении последнего вопроса метка Label2 становилась недоступной.

3.Напишите программу теста в окне кода.

a,b,c,d,f,g,j,l,m,n,k,p:integer; implementation uses Unit2;

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin a:=0; if RadioGroup1.ItemIndex=0 then a:=a+1 else a:=a; RadioGroup1.Visible:=False; end;

procedure TForm1.RadioGroup2Click(Sender: TObject);

begin b:=0; if RadioGroup2.ItemIndex=1 then b:=b+1 else b:=b; RadioGroup2.Visible:=False; end;

procedure TForm1.RadioGroup3Click(Sender: TObject);

begin d:=0; if RadioGroup3.ItemIndex=1 then d:=d+1 else d:=d; RadioGroup3.Visible:=False; end;

procedure TForm1.RadioGroup4Click(Sender: TObject);

begin c:=0; if RadioGroup4.ItemIndex=0 then c:=c+1 else c:=c; RadioGroup4.Visible:=False; end;

procedure TForm1.RadioGroup5Click(Sender: TObject);

begin f:=0; if RadioGroup5.ItemIndex=3 then f:=f+1 else f:=f; RadioGroup5.Visible:=False; end;

procedure TForm1.RadioGroup6Click(Sender: TObject);

begin g:=0; if RadioGroup6.ItemIndex=2 then g:=g+1 else g:=g; RadioGroup6.Visible:=False; end;

procedure TForm1.RadioGroup7Click(Sender: TObject);

begin j:=0; if RadioGroup7.ItemIndex=1 then j:=j+1 else j:=j; RadioGroup7.Visible:=False; end;

procedure TForm1.RadioGroup8Click(Sender: TObject);

begin l:=0; if RadioGroup8.ItemIndex=1 then l:=l+1 else l:=l; RadioGroup8.Visible:=False; end;

procedure TForm1.RadioGroup9Click(Sender: TObject);

begin m:=0; if RadioGroup9.ItemIndex=3 then m:=m+1 else m:=m; RadioGroup9.Visible:=False; end;

procedure TForm1.RadioGroup10Click(Sender: TObject);

begin n:=0; if RadioGroup10.ItemIndex=2 then n:=n+1 else n:=n; RadioGroup10.Visible:=False; end;

procedure TForm1.Label2Click(Sender: TObject);

1: begin Label1.Caption:=’2 вопрос. Массовое производство компьютеров началось в:’;

2: begin Label1.Caption:=’3 вопрос. Элементной базой процессоров ЭВМ 2-ого поколения являлись:’; RadioGroup3.Visible:=True; end;

3:begin Label1.Caption:=’4 вопрос. Какое устройство не предназначено для обработки информации?’; RadioGroup4.Visible:=True; end;

4:begin Label1.Caption:=’5 вопрос. За минимальную единицу измерения количества информации принят:’; RadioGroup5.Visible:=True; end;

5:begin Label1.Caption:=’6 вопрос. Сколько байтов занимает в памяти ПК слово ПОБЕДА?:’;

6:begin Label1.Caption:=’7 вопрос. Производительность работы компьютера зависит от:’;

7:begin Label1.Caption:=’8 вопрос. Какое устройство может оказывать вредное воздействие на здоровье человека?’; RadioGroup8.Visible:=True; end;

8:begin Label1.Caption:=’9 вопрос. При выключении компьютера вся информация стирается:’;

9:begin Label1.Caption:=’10 вопрос. В целях сохранения информации дискеты необходимо оберегать от:’; RadioGroup10.Visible:=True; Button2.Visible:=True;Label2.Visible:=False; end; end;

procedure TForm1.Button2Click(Sender: TObject);

begin p:= a+b+c+d+f+g+j+l+m+n; if p=10 then

begin Label1.Caption:=IntToStr(p)+’ правильных ответов из 10 вопросов.’+’ Отлично!’; end

begin Label1.Caption:=IntToStr(p)+’ правильных ответов из 10 вопросов.’+’ Хорошо!’; end

begin Label1.Caption:=IntToStr(p)+’ правильных ответов из 10 вопросов.’+’ Удовлетворительно.’;

end else if p

ОбъектСвойствоЗначение
ФормаNameForm1
CaptionТестирующая программа по информатике
ColorclSkyBlue
MainMenuNameMainMenu1
Label
(метка)NameLabel1
Caption
FontMS Sans Serif, полужирный курсив, размер 14, цвет красный
Label
(метка)NameLabel2. Label7
Caption:(текст вопроса)
FontMS Sans Serif, полужирный курсив, размер 12, цвет тёмно-синий
Button
(кнопка)NameButton1
CaptionВыход
FontMS Sans Serif, полужирный курсив, размер 14, цвет чёрный
ImageNameImage1
VisibleTrue
StretchTrue
Pictureуказать путь к рисунку
PanelNamePanel1. Panel6
Caption1,:6
PageControlNamePageControl1
Active PagesTabSheet1
VisibleTrue
TabSheet1. TabSheet6NameTabSheet1. TabSheet6
Captionвопрос1. вопрос6
RadioGroupNameRadioGroup1, :, RadioGroup6
Caption
Items:(варианты ответов)
ItemIndex0,1,2,3 (индекс выбранного переключателя)

Написание кода

2. Напишите программу теста в окне кода.

m,n,k,w,l,s,z:integer; implementation uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin n:=0; if RadioGroup1.ItemIndex=0 then begin n:=n+1; Panel1.Visible:=False; end else n:=n;

procedure TForm1.RadioGroup2Click(Sender: TObject);

begin m:=0; if RadioGroup2.ItemIndex=2 then begin m:=m+1;Panel2.Visible:=False; end else m:=m;

procedure TForm1.RadioGroup3Click(Sender: TObject);

begin k:=0; if RadioGroup3.ItemIndex=0 then begin k:=k+1; Panel4.Visible:=False; end else k:=k;

procedure TForm1.RadioGroup4Click(Sender: TObject);

begin w:=0; if RadioGroup4.ItemIndex=0 then begin w:=w+1; Panel3.Visible:=False; end else w:=w;

procedure TForm1.RadioGroup5Click(Sender: TObject);

begin s:=0; if RadioGroup5.ItemIndex=1 then begin s:=s+1; Panel5.Visible:=False; end else s:=s;

procedure TForm1.RadioGroup6Click(Sender: TObject);

begin z:=0; if RadioGroup6.ItemIndex=1 then begin z:=z+1; Panel6.Visible:=False; end else z:=z;

procedure TForm1.N3Click(Sender: TObject);

begin l:=m+n+k+w+s+z; Label1.Caption:=IntToStr(l)+’ правильных ответов из 6 вопросов’; end;

procedure TForm1.N4Click(Sender: TObject);

procedure TForm1.N7Click(Sender: TObject);

begin AboutBox.show; end;

procedure TForm1.N6Click(Sender: TObject);

begin MessageDlgPos(‘Будьте внимательны при выборе варианта ответа!

Повторный выбор ответа на вопрос недоступен!’,mtInformation,[mbOK],0,300,200); end; end.

3.Сохраните форму и проект в своей папке.

Литература

Источник

Юнит-тесты Delphi или разработка через тестирование

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфиКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфиКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфиКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфиКак сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Разработка через тестирование в Delphi производится с помощью встроенного инструмента DUnit. В статье мы рассмотрим, как создаются тестовые проекты Delphi, как создавать юнит тесты и как тестировать.

Итак, сначала поговорим о том, что такое DUnit. DUnit – это инструмент тестирования с открытыми исходными кодами, основанный на JUnit. Доступен он как для Delphi, так и для C++.

Вообще, в состав Delphi этот инструмент включён начиная с Delphi 2005. Для Delphi и C++ Builder DUnit устанавливается автоматически установщиком RAD Studio. В папке \source\DUnit (внутри папки, куда установлен Delphi) вы можете найти много ресурсов, в том числе исходные файлы, документацию и примеры тестов. Поставляется DUnit под лицензией Mozilla Public License 1.1 (MPL).

В статье я не буду углубляться в теорию, а лишь покажу, как пользоваться инструментом DUnit в Delphi. Будем считать, что читатель знает, что такое разработка через тестирование.

Создание тестового проекта

Тестовый проект содержит один или несколько тестовых случаев, которые представляют из себя обычные .pas файлы и будут доступны в IDE на панели Project Manager. Также RAD Studio предоставляет в ваше распоряжение мастер создания тестового проекта «Test Project Wizard». Рекомендуется создавать два отдельных проекта: один тестируемый, а второй тестирующий. Так вам не придётся в будущем удалять ваши тесты из готового приложения.

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

На первом шаге мастера «Test Project Wizard» в поле «Source Project» можно указать тестируемый проект, если их несколько. В полях «Project Name» и «Location» указывается название и расположение тестового проекта. В поле «Personality» выбирается язык программирования (в нашем случае – это Delphi). Все перечисленные поля заполнились автоматически, что нам подходит. Галочку «Add to project group» оставьте, чтобы проект добавился в текущую группу проектов. Нажмите «Next >».

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

На следующем шаге можно выбрать, как будет выполняться тест (поле «Test Runner»): в окне («GUI») или в консоли («Console»). Оставим здесь предложенный по умолчанию вариант – «GUI». В поле «Test Framework» указываются инструменты тестирования. Поменять в этом поле ничего нельзя, т.к. для Delphi и C++ поддерживается только инструмент DUnit. Нажмите «Finish» и вы увидите, что в группе проектов появился новый пустой тестовый проект.

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Тестовые случаи и тестирование

В типичном тестовом проекте, для каждого тестируемого класса есть тестирующий класс, но это не обязательно. Тестирующий класс также привязан к тестовому случаю. Как правило, тестирующий класс имеет набор из одного или нескольких методов, которые соответствуют одному или нескольким методам тестируемого класса. В один тестовый проект могут быть включены несколько тестовых случаев. Запуск каждого тестового случая и тестового проекта может быть автоматизирован с помощью bat-файлов или скриптов сборки проекта.

В основном рекомендуется создавать тесты в отдельном проекте (отдельно от тестируемого проекта). Так вам не нужно будет удалять тесты из проекта перед финальной сборкой проекта.

RAD Studio предоставляет вам мастер «Test Case Wizard» для помощи в создании тестовых случаев, которые вы сможете настроить на своё усмотрение.

Прежде чем сделать тестовый случай, давайте определимся, что мы будем тестировать. В тестируемом проекте Project1, который мы создали, есть форма. Давайте её и будем тестировать. Допустим, наша форма будет построчно сравнивать два текстовых файла и показывать строки с различиями. Сравнивать будем двумя способами: учитывая регистр и без учёта регистра. Код для теста сделаем элементарный, будем сравнивать строки с одинаковыми индексами.

Итак, на форму ставим два текстовых поля TRichEdit и две кнопки TButton. Затем обрабатываем события от нажатий кнопок и дописываем код следующим образом:

Как видите, по нажатию на кнопки будут вызываться две процедуры Compare и ShowDifferences. Первая процедура будет сравнивать два текста и сохранять индексы несовпадающих строк в список differentStrings, а вторая процедура будет на основе этого списка подкрашивать несовпадающие строки в красный цвет. В процедуру Compare будет передаваться параметр ignoreCase определяющий способ сравнения строк. Пока реализацию функции Compare делать не будем, а сразу сделаем тест для неё.

Для создания тестов нужно сделать следующие шаги:

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

После этого вы увидите, что в тестовом проекте появился файл «TestUnit1.pas» и в этот же проект добавлен тестируемый юнит «Unit1.pas».

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

А вот что вы увидите в файле TestUnit1.pas:

Как видите, здесь сделана заготовка для тестирующего класса TestTForm1, унаследованного от класса TTestCase. В секции initialization происходит регистрация этого класса.

В методе SetUp происходит подготовка к тестированию. Здесь нужно создать тестируемый класс и подготовить всё что нужно для тестов, например, подключиться к удалённому серверу или базе данных и т.п. Кстати здесь код сгенерирован с ошибкой: конструктор формы должен принимать входной параметр. Исправим строку кода с созданием формы следующим образом:

Метод TearDown вызывается по окончании тестирования и здесь нужно освободить все ресурсы и удалить все созданные объекты. Здесь сгенерированный код нас устраивает.

Метод TestCompare создан как раз для тестирования нашего метода Compare. Как видите, здесь вызывается наш метод Compare, но нет никаких проверок. Давайте добавим здесь в текстовые поля одинаковый текст, вызовем метод Compare и сделаем проверку результата.

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Теперь давайте исправлять ошибки, чтобы тестирование прошло успешно. Допишите функцию сравнения следующим образом:

В методе тестирования добавим тесты для разных вариантов сравнения:

Теперь протестируем нашу функцию Compare. Как видите, всё работает правильно, ошибок нет.

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Помимо метода CheckEquals в вашем распоряжении есть и другие методы для проверки результатов. Вот основные методы, которые вам могут понадобиться:

Тестирование приватных методов

Отдельно хотелось бы показать, как тестировать приватные методы. Для вызова приватных методов в Delphi мы воспользуемся RTTI (Run-Time Type Information).

Для начала перенесите объявление переменной differentStrings и методов Compare и ShowDifferences в секцию private и добавьте директиву $RTTI, которая даст доступ к приватным методам (к приватным переменным доступ через RTTI разрешён по умолчанию):

Код тестирования поменяйте следующим образом, не забыв добавить в секцию uses юнит System.Rtti:

Аналогично можно тестировать приватные свойства. Директива $RTTI будет выглядеть тогда следующим образом:

Итак, из статьи вы узнали, как реализована поддержка разработки с помощью тестирования в Delphi, а именно: как создавать тестовый проект, как создавать тесты и проводить тестирование, как тестировать приватные методы.

Комментарии

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Как сделать тест в делфи. Смотреть фото Как сделать тест в делфи. Смотреть картинку Как сделать тест в делфи. Картинка про Как сделать тест в делфи. Фото Как сделать тест в делфи

Вам нужно запустить тестовый проект. Вот цитата из статьи:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *