Вверх ↑
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
#1: 2008-06-13 23:37:46 ЛС | профиль | цитата
Программа для гадания на картах Таро.
Кому интересно взять можно здесь:
http://dump.ru/file_catalog/624222
Вес 4 метра.
Для облегчения архива обрезал почти всё.
Оставил два расклада, простой и кельтский крест и две колоды.

В архиве шашка и необходимые для работы программы файлы.

Для работы желательно установленный голосовой движок.

Два бесплатных и Microsoft SpeechAPI 4.0 можно взять здесь:
http://dump.ru/file_catalog/624274
Вес 3.5 метра.
Распакуйте их в папку с программой и запустите из опций: Настройка голоса.
Или установите кликнув по ним.
Но желательно иметь движок Digalo.

Хотя можно обойтись и без голосовых движков.

Программку только начал,поэтому некоторые окна не совсем доделанны.
Кому что не понравится можете удалить или изменить.

Эксперты!-за схему сильно не ругайтесь,я в Хиасме ещё чайник!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#2: 2008-06-14 09:50:00 ЛС | профиль | цитата
Первое что пришло на ум, это заменить перебор картинок визуализации на GIF компонент от nesco. Второе, что схема абсолютно не читабильна. Третье, что автор всю схему держит у себя в голове, значит через какой-то период времени и сам в ней заблудится.

Вывод: идея - 5+, дизайн - 5, реализация - 3.

по 5-тибальной шкале.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:juk
Ответов: 16884
Рейтинг: 1239
#3: 2008-06-14 13:45:06 ЛС | профиль | цитата
juk писал(а):
за схему сильно не ругайтесь
За схему не буду.
4350 компонентов - круто.
Ни одного комментария - круто.
Не хватает файла readme, первой строкой которого : Переключите разрешение Вашего монитора на 1024х768 . Или сделать принудительное переключение на нужное разрешение.
(к моему стыду - у меня 800х600 )

Nic писал(а):
автор всю схему держит у себя в голове
хорошая голова , но жалеть ее надо.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:juk
Разработчик
Ответов: 26158
Рейтинг: 2127
#4: 2008-06-14 15:10:16 ЛС | профиль | цитата
Tad писал(а):
4350 компонентов - круто


Мдааа... Уж
карма: 22

1
Голосовали:juk
Ответов: 16884
Рейтинг: 1239
#5: 2008-06-14 15:43:12 ЛС | профиль | цитата
nesco, а при загрузке схемы в HiAsm (после обновления) нужно ровно 30 раз прочесть (как молитву)
" Access violation at address 00565836 in module 'HiAsm.exe'. Read of address 00000018."
и соответственно 30 раз нажать "OK" (перекреститься).

Вот это: Мдааа... Уж

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:juk
Ответов: 902
Рейтинг: 27
#6: 2008-06-14 16:14:33 ЛС | профиль | цитата
Nic, Я старался применять только стандартные компоненты.
В моей схеме что у меня на компе, компонент от nesco, применён,- и не один.
Вообще с его компонентами мне нравится собирать схемки.(В 2раза проще, в 2раза легче!)
Заблудится в схеме я врядли смогу потому что знаю в ней каждый компонент и для чего он нужен, но понимаю что можно зделать гораздо проще и с меньшим числом компонентов,что и пытаюсь сделать.

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

Файл справки я думаю в такой программе не нужен.

[size=-2]------ Добавлено в 16:14
Tad, На самом деле компонентов гораздо больше, я ведь пока не всю схему выложил.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#7: 2008-06-14 18:20:24 ЛС | профиль | цитата
juk, вот можно так code_9273.txt
только с частотой кадров поосторожней - можно убить монитор. В StringTable - список допустимых значений для подключенного монитора. Перед сменой резолюции нужно проверить или есть в списке нужная тебе.
Если нет, то вывести сообщение и прервать выполнение.
Разберешся. Специально делал без коментариев, что-бы ты побыл в нашей с Nic шкуре
------------ Дoбавленo:

Или так

Add(MainForm,16589913,140,105)
{
Left=20
Top=105
Width=233
Height=157
Point(onClose)
Point(Close)
link(onCreate,9597672:doEvent1,[])
link(Close,32968:Value,[])
}
Add(MultiElementEx,9597672,199,112)
{
link(onData,9898864:doText,[])
}
BEGIN_SDK
Add(EditMultiEx,15869104,21,21)
{
WorkCount=#12:doResolution|8:doEvent1|
EventCount=#6:onData|
Width=384
Height=263
link(doResolution,2027986:doResolution,[(73,27)(73,104)])
link(doEvent1,13645196:doEvent1,[(35,34)(35,139)])
}
Add(Screen,2027986,126,98)
{
X=0
Y=0
EnumMask="%v;%h;%f"
link(onEnum,700139:doAdd,[])
link(X,11433178:Value,[(132,86)(114,86)(114,221)(132,221)])
link(Y,15788999:Value,[(139,74)(215,74)(215,264)(139,264)])
link(Frequency,9260558:Value,[(146,86)(208,86)(208,237)(174,237)])
}
Add(Hub,13645196,49,133)
{
OutCount=5
link(onEvent1,2027986:doEnum,[(103,139)(103,118)])
link(onEvent2,9260558:doValue,[(163,146)(163,202)])
link(onEvent3,11433178:doValue,[(103,153)(103,188)])
link(onEvent4,15788999:doValue,[(96,160)(96,244)])
link(onEvent5,700139:doGetIndex,[(225,167)(225,146)])
}
Add(Screen,485868,350,112)
{
X=1024
Y=768
Frequency=60
}
Add(Memory,11433178,126,182)
{
Point(Data)
link(Data,2027986:Width,[])
}
Add(Memory,9260558,168,196)
{
Point(Data)
link(Data,2027986:CurFrequency,[(174,141)(146,141)])
}
Add(Memory,15788999,133,238)
{
Point(Data)
link(Data,2027986:Height,[])
}
Add(StrList,700139,231,98)
{
Point(StrToFind)
Point(doGetIndex)
Point(onGetIndex)
link(StrToFind,7206704:Value,[])
link(onGetIndex,11346412:doCompare,[])
}
Add(Memory,7206704,245,49)
{
Default=String(1024;768;60)
}
Add(If_else,11346412,287,105)
{
Op2=Integer(-1)
link(onTrue,13678887:doClear,[(335,111)(335,76)])
link(onFalse,485868:doResolution,[])
}
Add(Memory,13678887,350,63)
{
Default=String(Ваш дисплей не поддерживает необходимый режим)
link(onData,15869104:onData,[(394,69)(394,27)])
}
END_SDK
Add(Label,9898864,252,112)
{
Left=10
Top=25
Caption="asdas"
}
Add(Button,15220664,7,84)
{
Left=105
Top=65
Caption="Close"
link(onClick,9969452:doEvent1,[])
}
Add(Memory,32968,140,49)
{
Default=Integer(1)
}
Add(Hub,9969452,56,84)
{
link(onEvent1,9597672:doResolution,[(183,90)(183,118)])
link(onEvent2,16589913:doClose,[(114,97)(114,132)])
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_9273.txt [1.7KB] [243]
Голосовали:juk
Ответов: 902
Рейтинг: 27
#8: 2008-06-14 18:35:56 ЛС | профиль | цитата
Tad, Спасибо!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#9: 2008-06-14 19:06:33 ЛС | профиль | цитата
Смотри выше
Или так
код
это законченый вариант
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:juk
Ответов: 902
Рейтинг: 27
#10: 2008-06-14 21:02:39 ЛС | профиль | цитата
Tad, Посмотри пожалуйста правильно ли я сделал?

И ещё вопрос: почему при выходе из программы восстанавливаются первоначальные значения разрешения,
ведь на компоненты память, я не подаю ни каких данных!

code_2231.txt

[size=-2]------ Добавлено в 21:02
Tad, У меня ссыка: Код, не работает ни в старом ни в новом форуме.
Или это не ссылка?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_2231.txt [4.5KB] [186]
Разработчик
Ответов: 26158
Рейтинг: 2127
#11: 2008-06-14 21:27:06 ЛС | профиль | цитата
juk, да то Tad прикалывается -- "это" у него указывает на то, что он поправил схему предыдущего поста.
карма: 22

0
Ответов: 902
Рейтинг: 27
#12: 2008-06-14 23:13:56 ЛС | профиль | цитата
Tad, Компонент: StrList не стандартный?
Подскажи пожалуйста где взять,-я уже весь уплоад облазил.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#13: 2008-06-15 01:11:35 ЛС | профиль | цитата
StrList с SVN

------------ Дoбавленo:

juk писал(а):
И ещё вопрос: почему при выходе из программы восстанавливаются первоначальные значения разрешения,
ведь на компоненты память, я не подаю ни каких данных!
а ты с них и не читаешь. У тебя 800х600 забито в компоненте Screen "намертво".
------------ Дoбавленo:

правильная схема в тегах code, там где написано "Или так"
------------ Дoбавленo:

Алгоритм скорее такой:
1.- Определяем текущее разрешение и запоминаем его.
2.- Если текущее 1024-768, флаг в 0 и запускаем программу.
3.- Если нет, считываем возможные разрешения экрана,проверяем поддерживает ли монитор 1024-768 точек. Если не поддерживает, предупреждаем и закрываем программу.
4.- Если поддерживает устанавливаем разрешение: 1024-768 точек, флаг в 1 и запускаем программу.
5.- Перед выходом из программы проверяем значение флага. Если флаг=1, то восстанавливаем первоначальное разрешение.
6. Выходим из программы.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1strlist.rar [1.9KB] [180]
Ответов: 902
Рейтинг: 27
#14: 2008-06-15 01:46:18 ЛС | профиль | цитата
Tad, А почему тогда без копонентов память разрешение не восстанавливается?

[size=-2]------ Добавлено в 01:46
Я ещё заметил, у меня на настольном компе разрешение 1024 на 768, программа выглядит отлично,
а на ноутбуке 1280 на 800,-тоже нормально, в принципе.
Если на ноуте поставить 1024 на 768, то рисунки и окна растягиваются и выглядят не очень.
А может сделать чтоб пользователь сам выбирал разрешение?
Или так не льзя?

И если забито 800 на 600, то почему восстанавливает 1280 на 800?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#15: 2008-06-15 01:50:02 ЛС | профиль | цитата
Завтра посмотрим. Спать!
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)