Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.02.2013, 21:29
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
Печаль Тест по психологии (Delphi XE3)

Доброго времени суток, уважаемые форумчане!
В колледже на практике задали сделать программу по психологии: чтобы студент прошёл тест, результат подсчитался и вывелся его Тип (описание типов в приложенном фото в столбце "Шкала"). Застряла на том, как же ввести в программу данные (с фото). Case, по-моему не подходит. Делать 10 отдельных массивов...? В общем, программирование я ещё знаю плохо, немного работала с консольным приложением, а тут задали сделать полноценную программу. Помогите, пожуйста - в каком виде ввести в программу данные с фото. Работаю в Delphi XE3.
P.S. архив с программой почему-то не загружается, выкладываю листинг так.
Код:
unit Unit2;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    btn1: TButton;
    Label1: TLabel;
    Button2: TButton;


    procedure btn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  f: Textfile; //файл теста
  buf:string;
  //nextqw следующий вопрос
i,j:integer;  //i, j счётчики нажатия кнопок "Да" и "Нет"
implementation

uses Unit1;

{$R *.dfm}
function nextqw:boolean;

begin
   if not eof(f) then nextqw:=false;
     begin
        form2.Label1.Caption:=buf;
        readln(f,buf);
        nextqw:=true;
      end;
end;
procedure TForm2.btn1Click(Sender: TObject);
begin
i:=i+1; //"да"
nextqw;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
j:=j+1; // "Нет"
nextqw;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
AssignFile(f,'2.txt');
reset(f);
readln(f,buf);
form2.Caption:=buf;
readln(f,buf);
nq:=0;
nextqw;
end;
end.
Изображения
Тип файла: jpg IMG.jpg (87.0 Кбайт, 29 просмотров)
Ответить с цитированием
  #2  
Старый 01.03.2013, 15:58
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Guneska
...как же ввести в программу данные (с фото)...
Да уж, эти психологи такие затейники Данные можно вводить через эдиты, чем не вариант. Мог бы помочь, но не понимаю логику работы, рисунок для меня какая-то китайская грамота. Не могли бы теорию попонятнее объяснить, будет легче реализовывать.
Ответить с цитированием
  #3  
Старый 01.03.2013, 16:55
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Да уж, эти психологи такие затейники Данные можно вводить через эдиты, чем не вариант. Мог бы помочь, но не понимаю логику работы, рисунок для меня какая-то китайская грамота. Не могли бы теорию попонятнее объяснить, будет легче реализовывать.

Ну вообщем , у нас есть 88 вопросов , на прикрепленном фото , есть "Ключ" это номера вопросов по которым идет счет критерия Г-1 .То есть у нас к примеру на вопрос 1 мы ответим "Да" , то мы получаем 1 балл, если на вопрос 11 мы отвечаем "Нет" , то ничего , если на вопрос 23 мы пишем "Да" то еще 1 балл , если на вопрос 33 пишем "Да" еще 1 балл , если на вопрос 45 мы отвечаем "Нет" то ничего , если на вопрос 55 мы отвечаем "Нет " опять ничего ,если на вопрос 67 мы овтечаем "Да " то 1 балл и если на вопрос 77 мы отвечаем "Да" то балл и того у нас ответов "Да" 5 тогда у нас есть 5 баллов , и мы должны эти 5 баллов умножить на множитель(Грубо) то есть на 3 и получим 15 баллов по этому притерию .
А вот в "Ключе" на +(Да) у нас должны быть ответы на эти вопросы "Да" ,за которых дают 1 балл , а если ответ Нет , то ничего ,а на -(Нет) вопросы отвеченные на Нет мы получим 1 балл, а если в этом вопросе Да то ничего .
Вот так вроде , да все запутанно , сама не могу толком понять как это реализовать =(((
Ответить с цитированием
  #4  
Старый 01.03.2013, 19:49
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Ну тогда вот, нарисовался такой пример оболочки - осталось только подсчёт результатов организовать. Посмотрите пжлст, в правильном направлении собираю или нет, в смысле, похоже? Как только вникну в алгоритм подсчёта, обновлю. Это под D7, но на ХЕ3 по идеи тоже должно пойти.

З.Ы. Вроде вник, обновил. Проверьте.
З.Ы.З.Ы. Поплотнее вник, ещё раз обновил. Ну вы в курсе
P.S.З.Ы.З.Ы. Как смог, закоментил.
Вложения
Тип файла: zip PsxTestKm.zip (4.4 Кбайт, 56 просмотров)

Последний раз редактировалось Alegun, 03.03.2013 в 03:39.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Guneska (02.03.2013)
  #5  
Старый 02.03.2013, 19:11
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
По умолчанию

Да, что-то вроде этого, но я вот прошла этот тест, отвечая на ваши "бла-бла" () поочерёдно "Да" и "Нет", и результаты не совпали, например в Г1, у Вас программа вывела, что результат 0, а у меня получилось 8 ответов "Да", значит по 1 баллу за каждый совпавший "Да" = 8 баллов*3(в колонке "Грубо")=24.
Вот, как-то так, но за Ваш труд вселенческое СПАСИБО! Теперь хоть есть пример, что и как делать, а то в голове был просто вакуум, пустота, никакого представления
Но думаю, обращусь к Вам ещё не раз ( с Вашего позволения именно к Вам)
P.S. Мне бы, дураку, ещё комментарии в коде
Изображения
Тип файла: jpg IMAG1162.jpg (78.0 Кбайт, 15 просмотров)

Последний раз редактировалось Guneska, 02.03.2013 в 19:13.
Ответить с цитированием
  #6  
Старый 03.03.2013, 00:10
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Guneska
..результаты не совпали...
Точно, не доглядел казусы при загрузке данных из файлов, косяки были :-), исправил, надеюсь, что все баги выципил.

Пжлст, посмотрите ещё разок архивчик.

З.Ы. Кстати, получилось у вас в Data.txt вместо бла-блы тексты теста засунуть? Главное, чтоб было так: один вопрос - одна строчка.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Guneska (03.03.2013)
  #7  
Старый 03.03.2013, 00:18
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Точно, не доглядел казусы при загрузке данных из файлов, косяки были :-), исправил, надеюсь, что все баги выципил.

Пжлст, посмотрите ещё разок архивчик.

З.Ы. Кстати, получилось у вас в Data.txt вместо бла-блы тексты теста засунуть? Главное, чтоб было так: один вопрос - одна строчка.
Сейчас посмотрю. Вы - мой Ангел-Хранитель)))))))))))))))))))))))
Ответить с цитированием
Этот пользователь сказал Спасибо Guneska за это полезное сообщение:
Alegun (03.03.2013)
  #8  
Старый 03.03.2013, 00:21
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Guneska
...)))))))))))))))))))))))
Да уж, доброе слово, оно и кошке приятно
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Guneska (03.03.2013)
  #9  
Старый 03.03.2013, 03:44
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Guneska
Мне бы, <censored:->, ещё комментарии в коде
Угу, обновил архив. Как смог, так и закоментил, сильно не бейте!
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Guneska (03.03.2013)
  #10  
Старый 03.03.2013, 15:50
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
По умолчанию

Alegun, Вы действительно мой спаситель! Всё работает! Правда сначала результат немного не сходился, но до меня дошло, что ошибка где-то в Key.txt, и не промахнулась! Подправила там немножко цифры, и всё изумительно работает! Теперь осталось разобрать код на кусочки, вникнуть в суть и запомнить что и как делается.
СПАСИБО и доброго дня
Ответить с цитированием
  #11  
Старый 03.03.2013, 16:02
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Guneska
...результат немного не сходился, но до меня дошло, что ошибка где-то в Key.txt, и не промахнулась! Подправила там немножко цифры, и всё изумительно работает!..
И вам того же
Кстати, насчёт ошибки - похоже она в таблице ключей шкал, (Г6, циклотимные) два раза учитывается 18й вопрос, вот я его на не использующийся в других шкалах 28й и подправил, точно инициатива не есть хорошо :-) извнт.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Guneska (04.03.2013)
  #12  
Старый 04.03.2013, 00:18
Guneska Guneska вне форума
Прохожий
 
Регистрация: 15.11.2012
Сообщения: 24
Репутация: 10
По умолчанию

Нет, Вы правы, там не хватало 28го вопроса, это уже оплошность преподавателя, которая мне дала этот листок. У себя-то я это ручкой исправила, а вот про то, что на "Вашем" листе эта ошибка не исправлена - забыла.
Не сходились ответы в Г-4, и Г-9, я залезла в Key.txt и там обнаружились опечатки ещё в двух или трёх шкалах (в двух, кажется, был два раза написан 80й или 88й вопрос, ну и другие небольшие несовпадения), и как ни странно они срабатывали правильно))).
Вы ещё извиняетесь...это я должна извиняться перед Вами бесчисленное количество раз за свою наглость! Спасибо Вам огромнейшее!!!

Последний раз редактировалось Guneska, 04.03.2013 в 00:24.
Ответить с цитированием
  #13  
Старый 05.03.2013, 22:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

<< DELETED >>

Последний раз редактировалось Alegun, 11.03.2013 в 23:59.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025