2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39

Необходимо создать "Тест" (найти ошибку, поправить прогу)

02.10.2014, 02:22. Показов 3617. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Надеюсь на Вашу помощь.
Задание:
1. Перед пользователем окно, в котором он должен ввести свои ФИО.
2. Во втором окне пользователю предлагается выбрать тест, который он хочет пройти через OpenDialog.
3. Название,которое выбирается в OpenDialog сохраняется в переменную.
4. Открывается этот файл с именем этой переменной. В 3-ей форме создается некоторое количество лейблов и столько же едитов. В каждый лейбл записывается вопрос -1 строка из файла. В соседний едит пользователь должен ввести ответ на него.
5. Результатом проги является то, что все ответы пользователя сохраняются в отдельный файл, а еще этому файлу нужно обеспечить защиту от ручной корректировки результатов.
Надеюсь, что объяснила понятно. То, что у меня получилось (3 юнита) здесь. Буду очень благодарна, если найдете ошибку

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
uses Unit2;
 
{ TForm1 }
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Label2.Caption:=Form1.Edit1.Text;
  Form2.ShowModal;
end;
 
{$R *.lfm}
 
end.
.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
unit Unit2;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm2 }
 
  TForm2 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    Nametext:string;
    { public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 uses Unit3;
 
 { TForm2 }
 
 procedure TForm2.Button1Click(Sender: TObject);
 begin
    OpenDialog1.Execute;
  if(OpenDialog1.FileName <> '') then begin
    Nametext:= FileUtil.UTF8ToSys(OpenDialog1.FileName);
    Form3.ShowModal;
end;
 end;
 
{$R *.lfm}
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
unit Unit3;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm3 }
 
  TForm3 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure fclose(Sender: TObject);
    procedure orm(Sender: TObject);
    procedure write(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form3: TForm3;
  f,f2:TextFile;count:integer;
implementation
 uses Unit2,Unit1;
 
 { TForm3 }
 
 procedure TForm3.orm(Sender: TObject);
 var edt: TEdit;lbl: TLabel;toop1:integer;S:string;
begin
  AssignFile(f,Form2.Nametext);
    Reset(f);
    toop1:=10;count:=1;
    while Not EOF(f) do
    begin
      Readln(f, S);
         edt:=TEdit.Create(Form3);
         edt.Parent:=Form3;
         edt.Top:=toop1;
         edt.Left:=100;
         lbl:=TLabel.Create(Form3);
         lbl.Parent:=Form3;
         lbl.Caption := S;
         lbl.Top:=toop1;
         inc(count);
      inc(toop1,20);
      CloseFile(f);
end;end;
 
procedure TForm3.fclose(Sender: TObject);
begin
  close;Form1.Close;
Form2.Close;
end;
 
procedure TForm3.write(Sender: TObject);
var i:integer;
begin
  AssignFile(f2,'Answers');
  Rewrite(f2);
  Append(f2);
  for i:=1 to count do
  begin
  Writeln(f2,TEdit(FindComponent('Edit'+IntToStr(i))).Text);
end;
closefile(f2);
end;
 
{$R *.lfm}
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2014, 02:22
Ответы с готовыми решениями:

Поправить прогу!(Функция)
Пусть все x&gt;0 (i=1,2,...,n).Отсортируйте по неубыванию средние величины-геометрические,гармонические и квадратичные!Вот фото задания ...

Поправить прогу!(Функция)
Пусть все x&gt;0 (i=1,2,...,n).Отсортируйте по неубыванию средние величины-геометрические,гармонические и квадратичные!Вот фото задания ...

поправить прогу,метод Эйлера
Помогите поправить код,в долгу не останусь) нужно методом Эйлера получить значения в пределах с шагом h=0,1 . y(0)=1 ур-е ...

32
602 / 550 / 210
Регистрация: 24.01.2012
Сообщений: 1,352
02.10.2014, 15:41
Студворк — интернет-сервис помощи студентам
Может Антивирус мешает? У меня программа вылетала при сохранении результатов т.к. при создании едитов им не назначались имена, а при сохранении шло обращение к едитам по именам Нужно в процедуру создания едитов добавить строки
Pascal
1
2
      Name:='Edit'+IntToStr(AmountOfStrings+1);
      Text:='';
в сохранении тоже есть недочет, сначала файл перезаписывается, а потом открывается для добавления записей, в результате все предыдущие записи стираются. Можно сделать так.
Pascal
1
2
3
4
5
   AssignFile(f2,'Answers');
   {$I-}
  Append(F2);
   {$I+}
  If IoResult<>0 Then ReWrite(f2);
0
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
02.10.2014, 16:04  [ТС]
Когда я нажимаю на кнопку выбора теста и открывается окно выбора файла, возникает ошибка RunError 217 (см.скрин). Антивирусы выключены. Т.е. до сохранения результатов я не дохожу.
Миниатюры
Необходимо создать "Тест" (найти ошибку, поправить прогу)  
Вложения
Тип файла: zip прогаархив.zip (4.02 Мб, 12 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33474 / 21573 / 8249
Регистрация: 22.10.2011
Сообщений: 37,029
Записей в блоге: 12
02.10.2014, 16:05
Цитата Сообщение от edukra Посмотреть сообщение
при создании едитов им не назначались имена, а при сохранении шло обращение к едитам по именам
В моем проекте имена добавлены...
1
602 / 550 / 210
Регистрация: 24.01.2012
Сообщений: 1,352
02.10.2014, 16:35
exe файл-64х битный, значит система win7 или win8. А у меня XP. Так, что попытаться воспроизвести проблему мне негде. А в XP программа работает.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
02.10.2014, 17:19
На Win7 x64 ЕХЕшник работает.
0
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
02.10.2014, 18:23  [ТС]
эх, да что ж со мной не так...
0
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
02.10.2014, 18:27  [ТС]
Может, можно это как-то определить по адресу?
Миниатюры
Необходимо создать "Тест" (найти ошибку, поправить прогу)  
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
02.10.2014, 18:35
Попробуй перенеси проект с диска "С" (Рабочего стола) на другой и запусти оттуда.
0
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
02.10.2014, 19:02  [ТС]
Не помогает.
0
446 / 374 / 133
Регистрация: 09.09.2011
Сообщений: 1,347
02.10.2014, 21:58
Попробуйте перекомпилировать проект с полной очисткой (удалением всех объектных файлов).

Надо зайти в меню "Запуск" -> "Очистить файлы сборки...". В появившимся окне снять "галки" с последних 2-х пунктов, как на приложенном скриншоте и нажать кнопку "Очистить и собрать"
Миниатюры
Необходимо создать "Тест" (найти ошибку, поправить прогу)  
0
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
02.10.2014, 23:15  [ТС]
Не помогло.
0
446 / 374 / 133
Регистрация: 09.09.2011
Сообщений: 1,347
02.10.2014, 23:30
не знаю тогда что и подсказать - у меня вполне работает (после незначительных правок кода).

может какие-нибудь символы сбойные в пути (по умолчанию?)...

возникает эта ошибка, если запустить само приложение (не из среды Lazarus)?
если запустить приложение от другого пользователя (например Администратора)? для этого правый клик на exe файл и выбрать "Запуск от имени Администратора"
1
2 / 2 / 2
Регистрация: 14.12.2013
Сообщений: 39
05.10.2014, 15:20  [ТС]
Ураа! Это просто мистика, но с ноутбука все работает!Единственно, что делать, если в answers.txt один ответ записывается по нескольку раз? И как уберечь файл с ответами от ручной корректировки?

Добавлено через 58 минут
Хотя нет , только про то, как защитить файл с ответами.

Добавлено через 2 часа 20 минут
А,все, у меня получилось. Огромное всем спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2014, 15:20

Помогите поправить код почти закончил прогу
Вот весь код unit Unit1; interface uses shellapi, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,...

Аппроксимация функции методом наименьших квадратов (поправить прогу)
Добрый день! Нужно аппроксимировать функцию f=sqrt(x+1)+1 на отрезке без встроенных функций Matlab. При некоторых степенях...

В заданном тексте (тест с числами) необходимо найти самое большое число
в заданном тексте(тест с числами). необходимо найти самое большое число.

Тест Delphi. Необходимо найти ошибки в коде и добавить компоненты из задания
Напишите программу MP3 Player. Программа должна обеспечивать возможность выбора каталога, в котором находятся MP3-файлы, а также ...

Найти ошибку в коде. Не проходит тест
Всем доброго времени суток. Я новичок в сишарпе. Нам дали задания по теме функции. у меня не проходит один тест. Пожалуйста, кто может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru