Створення навчальної програми по вивченню іноземної мови

Загрузка...

главная страница Рефераты Курсовые работы текст файлы добавьте реферат (спасибо :)Продать работу

поиск рефератов

Диплом на тему Створення навчальної програми по вивченню іноземної мови

скачать
похожие рефераты
подобные качественные рефераты
 1 2 3 4 5 6 7 8 9 ... 27    

Файл words.csv містить данні через ";" для тесту: такі, як тестове слово, слово з символом "_" замість пропущених букв, переклад та час в секундах, відведених на дане слово (якщо час 0 або відсутній, то таймер не вмикається).

Приклад: test;t_st;Тест;60

Структура каталогу с тестом first:

first

|-- images

| |-- apple.jpg

| |-- bear.jpg

| |-- bird.jpg

| |-- cat.jpg

| |-- clock.jpg

| |-- cloud.jpg

| |-- dog.jpg

| |-- doll.jpg

| |-- door.jpg

| `-- tree.jpg

|-- sounds

| |-- apple.wav

| |-- bear.wav

| |-- bird.wav

| |-- cat.wav

| |-- clock.wav

| |-- cloud.wav

| |-- dog.wav

| |-- doll.wav

| |-- door.wav

| `-- tree.wav

`-- words.csv

Вміст файлу words.csv директорії first:

apple;ap__e;Яблуко;60

cat;c_t;Кішка

dog;d_g;Собака;50

doll;d_ll;Лялька;0

tree;tre_;Дерево;40

door;d__r;Двері;30

clock;clo__;Годиник;30

bird;b_rd;Птах;20

cloud;cl__d;Хмара;20

bear;b__r;Ведмідь;10

Алгоритм програми

Запуск програми на платформі Windows здійснюється запуском пакетного файлу "run.bat". Зміст файлу run.bat:

@echo off

start javaw.exe -jar small.jar

Запуск програми на платформі GNU/Linux здійснюється запуском пакетного файлу "run.sh". Зміст файлу run.sh:

#!/bin/sh

java -jar small.jar $@

Також в обох платформах можна запустить програму, натиснувши на small.jar із провідника файлів. Але це подіє тільки у випадку якщо jar файли асоційовані в системі з віртуальною машиною Java.

Після передачі jar файлу віртуальній машині Java на виконання, в класі Main викликається метод main(), із якого викликається метод doLogin() і створюється об'єкт login класу Login, відповідальний за створення вікна входу в програму, запит імені користувача, пошук існуючих тестів в директорії програми методом Scan() класу Login та вибір тесту користувачем (рис. 2).

Рисунок 2 - Вікно входу в програму

Метод Scan() виконує пошук в директорії lessons і шукає там піддиректорії, які містять в собі файл words.csv:

public void Scan(String d){

File dir = new File(d);

String[] files = dir.list();

for(int i=0;i<files.length;i++){

if(new File(d+"/"+files[i].toString()+"/"+Main.ftxt).exists()) {

addL(files[i].toString());

}

}

}

Тут Main.ftxt - константа, описана в класи Main:

final static String ftxt = "words.csv";

Після вводу ім'я користувача в відповідну форму в вікні, вибір тесту (рис. 3) та натиснені кнопки входу, усі данні передаються в клас Main методом setEnv(), а вікно об'єкта login знищується.

Рисунок 3 — Вибір із існуючих уроків

Метод setEnv() класу Main викликає метод doTest(), який створює об'єкт test класу Test:

public static void setEnv(String n,String l){

name = n;

less = l;

login = null;

doTest();

}

Тут поле name - ім'я користувача, less - шлях до директорії вибраного тесту.

Клас Test відповідає за створення основного вікна програми, всіх елементів управління та взаємодії з користувачем, вивід інформації на екран: текст та картинки. Також клас Test відповідає за зчитування клавіш, натиснутих користувачем.

static void doTest(){

test = new Test();

SwingUtilities.invokeLater(new Runnable() {

public void run() {

test.getJFrame().setVisible(true);

}

});

words = new Words(workdir,lessdir+less+"/",name,ftxt);

}

Також в методи doTest() створюються об'єкт words класу Words, який містить методи обробки тестів. Також клас Words містить методи роботи з файлами, наприклад метод парсингу файла words.csv:

void readFiles(){

File f= new File(workdir+ldir+ftxt);

String[] sbuff;

n=0;

try {

BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(f), Main.iocharset));

try {

String line = null;

while (( line = input.readLine()) != null){

sbuff = line.split("[ \";,\t]+");

// Слово з пропущеними літерами

try {

word_test[n] = sbuff[1].toUpperCase();

} catch(ArrayIndexOutOfBoundsException e){

word_test[n]=sbuff[0].toUpperCase();

}

    продолжение
 1 2 3 4 5 6 7 8 9 ... 27    

Удобная ссылка:

Скачать дипломную работу бесплатно
подобрать список литературы


вверх страницы


© coolreferat.com | написать письмо | правообладателям | читателям
При копировании материалов укажите ссылку.