Результаты поиска
| |
TimKruz | Дата: Четверг, 31 Января 2013, 22:20 | Сообщение # 241 | Тема: Как сообщить о ложном срабатывании антивирусу Avast? |
старожил
Сейчас нет на сайте
| Ну аваст обычно сносит все подозрительные файлы в карантин, если не менять настройки мониторов. Открываешь аваст со значка в трее, слева список разделов, выбраешь, кажется, предпоследний - "обслуживание", там будет кнопка "карантин". Нажимаешь - открывается список файлов в карантине. Ищешь свою программу, кликаешь правой кнопкой - там будет пункт "сообщить о ложном срабатывании" или типа того. Нужно будет заполнить форму, типа почему считаешь ложным, и файл отправится на сервер аваста, а что потом - не знаю, никогда не пользовался... Можешь ещё в настройках мониторов покапаться, там можно, например, отменить перемещение в карантин... Или отключать экраны аваста на то время, когда пользуешься этой программой, если доверяешь ей.
Кстати, что бы там не говорил автор программы - проблема действительно может быть: либо он использует какой-то небезопасный код, оцениваемый антивирусами как троянский (со мной было такое), либо сжимает aspack'ом или ему подобным - некоторые антивирусы это не любят (хотя авасту вроде бы пофиг на такую упаковку), либо у него среда разработки вирусом заражена (например, у Делфи такая проблема бывает - делфи-программа ищет и меняет важный юнит в установленной Делфи, после чего эта копия Делфи штампует такие же программы-вирусы, но лечится легко).
|
|
| |
TimKruz | Дата: Четверг, 31 Января 2013, 22:01 | Сообщение # 242 | Тема: Баг рассылки с форума |
старожил
Сейчас нет на сайте
| Цитата (TLT) Управляйте своими подписками на специальной странице - http://gcup.ru/forum/0-0-1-46 Сейчас она не работает (отображает вообще все темы, в которых я кода-либо писал сообщения), но потом сделайте, пожалуйста, ссылку на неё из профиля (под "изменить данные", например). Цитата (TLT) После её решения этот функционал будет доставлять вам радость своей полезностью. Это верно - очень удобно подписаться на интересующий раздел, чтобы сразу узнавать о новых темах в нём, а то сейчас приходится самому переодически проверять...
|
|
| | |
TimKruz | Дата: Четверг, 31 Января 2013, 09:51 | Сообщение # 244 | Тема: опрос: базовые уроки по разработке игр на android |
старожил
Сейчас нет на сайте
| Цитата (friend) corona, gideros, AGK Эх... Кто бы написал пару уроков про программирование игр (OpenGL) на Lazarus/Delphi под Android без использования дополнительных движков... Как хелловорд скомпилировать найти ещё можно, но более подробно ничего не нашёл пока, придётся самому всё искать и экспериментировать...
А в опросе голосую за "да" - любые уроки важны, особенно новичкам, а в этой области, я думаю, не так уж много уроков, в отличие от ПК...
|
|
| |
TimKruz | Дата: Вторник, 29 Января 2013, 09:12 | Сообщение # 245 | Тема: ZenGL |
старожил
Сейчас нет на сайте
| Делфи мощнее и оптимизированнее во много раз. А на Лазарусе можно кроссплатформенные приложения делать, хотя на Делфи тоже можно, но вроде бы у Лазаруса платформ больше... Плюс Лазарус бесплатный... А PascalABC.NET вроде как к дотнет привязан намертво, да и вообще он исключительно в учебных целях разрабатывается... Цитата (vicu2010) По мне так у делфи и лазаруса неудобный интерфейс... Как можно сравнивать профессиональный интерфейс с простейшим интерфейсом для школьников? Кстати, всё (ну или почти всё) там настраивается... Да и нельзя же выбирать среду разработки по интерфейсу...
|
|
| |
TimKruz | Дата: Понедельник, 28 Января 2013, 19:24 | Сообщение # 246 | Тема: Ищу исследователя программ для урегулирования глюка в движке |
старожил
Сейчас нет на сайте
| Цитата (KamiRonin) Нужен исследователь программ, чтобы отследить как конкретный exe'шник взаимодействует с интернетом - точки выхода, способы проверки. и закольцевать или поставить заглушку в нужных местах движка или снаружи. Можно попробовать загрузить exe в любой отладчик, который позволяет по шагам выполнять инструкции программы. Отключаем интернет, и жмём кнопку "далее" (в смысле переход к следующей инструкции) до тех пор, пока не выскочит ошибка аутентификации. Смотрим на ближайшие инструкции и либо забиваем оператором nop то, что выкидывает ошибку, либо ищем точку перехода, которая срабатывает после удачной аутентификации, и копируем в место, обрабатываемое в случае неудачи. Или можно найти ту развилку, где проверяется результат запроса серверу. Короче, нужен отладчик, базовые знания Ассемблера и от нескольких часов до нескольких дней свободного времени... Это я к тому, что любой разбирающийся в программировании человек сможет снять эту защиту с программы, правда времени может потребоваться много, но ещё дольше ты будешь искать способных энтузиастов, готовых крякнуть чего-нибудь чисто ради спортивного интереса. Хотя, если на каком-нибудь "хакерском" форуме написать... Цитата (KamiRonin) интеллектуальная собственность на FREE продукт?! ты гений! Ну интеллектуальная собственность на всё есть, а free ещё не означает, что ты можешь делать с продуктом всё, что захочешь. Нужно читать документы (конкретную лицензию, пользовательское соглашение), что конкретно они разрешают, а что запрещают. Но, в любом случае, изменение кода программы запрещено и... ну, как бы наказуемо, особенно если ты это делаешь не для себя, а для целого сообщества. Всё равно, что взломать платный продукт. Цитата (coder) А если (скорее всего так и есть) онлайн-проверки раскиданы по всему исполняемому коду движка, а не только в этом конкретном файле? Это вряд ли, т.к. любая онлайн-проверка тормозит среду разработки. Да и не имеет смысла проверять постоянно, достаточно проверки перед запуском основной программы. Но могут быть резервные участки кода, которые срабатывают, если первая проверка "волшебным образом" пролетела (не дала ни положительного, ни отрицательного результата); но их можно будет найти так же, как и первую.
|
|
| |
TimKruz | Дата: Понедельник, 28 Января 2013, 18:45 | Сообщение # 247 | Тема: ZenGL |
старожил
Сейчас нет на сайте
| Цитата (vicu2010) 1.Можно ли зенглу подключить к PascalABC.Net Можно, т.к. ZenGL - это набор библиотек, а PascalABC.NET позволяет использовать библиотеки. Но лучше использовать Delphi или Lazarus. Цитата (vicu2010) 2.Есть ли уроки по зенгле? Есть. Ещё на официальном сайте есть wiki и форум. Цитата (vicu2010) 3.Еслть ли инфа как его подключить к компиляторам. Всё там же, на официальном сайте.
|
|
| |
TimKruz | Дата: Понедельник, 28 Января 2013, 18:37 | Сообщение # 248 | Тема: Порталы, как в Portal. |
старожил
Сейчас нет на сайте
| Как конкретно в Portal - не знаю, но самый простой вариант - делать как зеркала. Т.е. делается дырка в стене, а за ней - вторая сцена, копия первой, только с определённой точки зрения и под определённым углом (если второй портал открыт). Ну и при переходе объекта из портала в портал просто одна копия выходит в основную сцену, а вторая уходит в дополнительную. Или можно рисовать одну сцену с разных позиций, сохранять "скриншот" в памяти и использовать как текстуру портала, а для перехода создавать копию объекта в другом месте. Т.е. первая прорисовка в заднем буфере формирует изображение "из портала", картинка сохраняется как текстура, буфер перерисовывается картинкой "из глаз игрока" и выводится на экран. Только ещё угол зрения учитывать придётся...
|
|
| |
TimKruz | Дата: Воскресенье, 27 Января 2013, 20:46 | Сообщение # 249 | Тема: Посчитать прямоугольники на клеточном листе |
старожил
Сейчас нет на сайте
| Цитата (vicu2010) Пусть a[i,j] то i : колонки j : строки Я сам путаюсь. Тут всё зависит от того, в каком порядке выводить на экран/бумагу. Ну вот, например, кусочек кода: Код figure:array[0..1,0..3,0..3]of boolean=
(((true,true,false,false), (true,true,false,false), (false,false,false,false), (false,false,false,false)),
((true,false,false,false), (true,false,false,false), (true,false,false,false), (true,false,false,false))); Это трёхмерный массив-константа (в оригинале у меня он во много раз больше, вместо 0..1 стоит 0..figs*4, это 41 блок, офигеть можно, но комментарии над каждым блоком спасают). Первая размерность - основные блоки, их два, это как бы слои или отдельные матрицы. Вторая - строки матрицы, их по четыре в блоке первого уровня. Ну и третья - отдельные значения, их тоже по четыре в строке. Но при выводе на экран можно вместо figure[i,x,y] написать figure[i,y,x] и получить вместо строк столбцы и наоборот.
Ну и вот ещё: a:array of array of byte означает, что a - это массив массивов байт, т.е. первое число в записи a[x,y] выбирает номер второго массива, а второе число выбирает номер элемента в выбранном втором массиве. Опять же, что считать строками, а что столбцами - зависит от тебя. А в задачах на многомерные массивы всегда указывают, что в их понимании является строкой, а что столбцом.
|
|
| |
TimKruz | Дата: Воскресенье, 27 Января 2013, 20:32 | Сообщение # 250 | Тема: Delphi:Вопрос-Ответ |
старожил
Сейчас нет на сайте
| Цитата (Destroy) вот у меня например есть 3 переменные img1, img2, img3. можно ли сделать что то типа imgN, где N (1,2,3) то есть мне не нужен массив. в зависимости от значения N вызывается разные img чтобы имя переменной изменялось Так сделать не получится (вообще, по-моему, ни в одном компилируемом языке нельзя менять идентификаторы "на лету", потому что в коде не может быть двусмысленности - компилятор просто не поймёт такого imgN). Придётся использовать массив img[n], а если требуется задание неопределённого заранее числа переменных - использовать динамический массив. Если ты не можешь использовать массивы напрямую, например, у тебя заранее созданы визуальные компоненты с именами img1/img2/../imgn, а ты хочешь перебирать их циклом for - тогда можно использовать массив указателей. Каждый элемент массива img содержит ссылку на соответствующий компонент. Если ты используешь классы (типа TImage), то можно сделать так: Код type TForm1=class(TForm) img1,img2,img3:TImage; //Описание компонентов в классе формы <...> var img:array [1..3] of TImage; //Где-то задан массив указателей на эти компоненты <...> //Где-то копируем ссылки на экземпляры класса TImage в наш массив img[1]:=img1; img[2]:=img2; img[3]:=img3; <...> //А тут используем их в цикле: for i:=1 to 3 do img[i].canvas.clear; <...> Вроде бы должно работать. Писать в месте копирования ссылок много, но если циклов for достаточно много - будет всё-таки проще делать так.
Теоретически, можно в классе формы (TForm1) задать массив компонентов img:array [1..3] of TImage, только, наверное, возникнут сложности с редактором форм. Но в обычном классе (не привязанном к редактору форм) такое легко делается.
|
|
| |
TimKruz | Дата: Четверг, 24 Января 2013, 21:08 | Сообщение # 251 | Тема: Перевод строки в Edit |
старожил
Сейчас нет на сайте
| Flaut, tedit использует только одну строку text. Для многострочных текстов (без форматирования) используется компонент tmemo - он содержит динамический массив строк lines. Строка в него добавляется функцией add (вроде бы memo.lines.add('строка'), точно не помню).
|
|
| |
TimKruz | Дата: Понедельник, 21 Января 2013, 16:34 | Сообщение # 252 | Тема: Delphi:Вопрос-Ответ |
старожил
Сейчас нет на сайте
| Цитата (masb8ly-GC) canvas не лучший способ хранения графики Ну если ты игру пишешь, то у тебя минимум 30 кадров в секунду, так что канва формы будет постоянно обновляться. Канва TImage просто сама по себе обновляется заданной картинкой, поэтому сохраняет изображение. А канва TForm вроде бы по-умолчанию непрерывно обновляется, поэтому просто нарисовать не получится, нужно самому всё обновлять (если вручную [средствами WinAPI, без использования VCL] создать окно - такого не будет, т.к. обработчик события перерисовки окна самому писать надо, хотя не обязательно). Если у тебя игра не использует какие-то сложные компоненты VCL (ну которые ты кидаешь на форму), то лучше создавать окно вручную, так быстрее должно получиться (правда структура приложения усложнится и никакими дизайнерами не воспользуешься). А вообще, для игр лучше OpenGL использовать... Конечно, он устроен иначе, и придётся потратить какое-то время на его изучение, но вообще-то ничего в нём особо сложного нет... Вот, например, книга: Краснов М.В., "OpenGL графика в проектах Delphi", там основы просто и понятно изложены.
Короче, изучай всё постепенно, но не старайся написать очень сложную (графически) игру чисто на канве image и тому подобного...
|
|
| |
TimKruz | Дата: Суббота, 12 Января 2013, 17:18 | Сообщение # 253 | Тема: [?]Delphi: Запись части строки в переменную |
старожил
Сейчас нет на сайте
| Mails и Pass - это TMemo, правильно? Как-то так: Код procedure TForm1.Button1Click(Sender: TObject); var s:string; begin OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName); if OpenDialog1.Execute then if FileExists(OpenDialog1.FileName) then //Проверяем существование файла begin Mails.Lines.Clear; //Именно lines.clear, а не просто clear Pass.Lines.Clear; AssignFile(input,OpenDialog1.FileName); Reset(input); while not eof(input) do //До конца файла begin readln(input,s); //Вот это я у karuy скопировал. //Тут всё просто - Pos(строка №1, строка №2) ищет строку №1 (символ) в строке №2 //и возвращает позицию первого её вхождения, //а Copy(строка, первый символ, последний символ) возвращает подстроку указанной длины из заданной строки. Mails.Lines.Add(Copy(s, 1, Pos(';', s) - 1)); Pass.Lines.Add(Copy(s, Pos(';', s) + 1, Length(s))); end; Label2.Caption:=inttostr(Mails.Lines.Count); end else MessageDlg('Файл не существует!',mtError,[mbOk],0); end;
|
|
| |
TimKruz | Дата: Суббота, 12 Января 2013, 16:56 | Сообщение # 254 | Тема: Критика компьютерных игр от Switch |
старожил
Сейчас нет на сайте
| Цитата (Racot) Оценит хорошо, ты скажешь что не адекват, плохо - аналогично. Да мне не важно, хорошо или плохо он оценит, а важно мнение со стороны. И я не считаю его неадекватным. Цитата (Racot) оклеветать ТС, снова Где я его оклеветал? И зачем мне вообще на него клеветать?
Цитата (Switch) Извините, но недоделанные игры я критиковать не буду. Доделайте, пожалуйста, ваш проект или серьезно к нему отнеситесь. Ясно... Цитата (Switch) Буду делать их более объективнее. Это правильно, только не надо описывать всё до мелочей типа "в меню 6 кнопок, это: ..., кнопка 1 такая-то, кнопка 2 такая-то...", просто скриншоты нужно прикладывать в таких местах, если так хочется описать внешний вид игры. А ссылку в конце оставлять не на прямое скачивание, а на тему на GCUP или официальный сайт игры.
Цитата (Anim) а "критик" - это профессия. Цитата (Wikipedia) Критик (греч. κριτικός, от κριτική — искусство разбирать, судить) — человек (специалист), сферой деятельности которого является критика, то есть анализ, оценка и суждение о явлениях какой-либо из областей человеческой деятельности, обычно в сфере культуры. ...К критикам относят знатоков и ценителей, обычно профессионально подготовленных, которые регулярно оценивают и анализируют ... произведения различных искусств и, как правило, публикуют свои наблюдения и суждения... Ну кое-какая оценка у него есть, суждение тоже, и даже какие-то зачатки анализа у него вроде бы проявляются, если присмотреться... В остальном просто описание... Но вот является ли он знатоком и ценителем видеоигр - в этом я сильно сомневаюсь. Ну максимум любителем, и то определённых жанров. А профессионалом критик становится тогда, когда пишет статьи для журналов или электронных порталов, за что получает серьёзное денежное вознаграждение...
|
|
| |
TimKruz | Дата: Суббота, 12 Января 2013, 00:00 | Сообщение # 255 | Тема: Критика компьютерных игр от Switch |
старожил
Сейчас нет на сайте
| Цитата (Racot) Тогда сначала доделай, а потом писать бессмысленный пост. Ты хоть понимаешь как можно оценить недоделанный тетрис? Оценить всё что хочешь можно, просто оценивать нужно относительно конкретного этапа развития проекта. Да и версия ведь играбельна, ощутимых пользователем багов не содержит... И вообще, я уже писал тут где-то, что критика проектов в разработке важнее и полезнее, чем полностью оконченных - ведь она может помочь разработчику, а для завершённого проекта она практически бесполезна, это ведь не реклама.
Кстати, у мобипака игра тоже не особо доделанная: делал-делал, перескочил с 0.39 на 0.9, и в итоге ничего интересного не получилось...
Да и вообще, я же никого не заставляю и даже не требую что-либо оценивать. Я просто предложил, а там посмотрим на качество его критики, быть может, она окажется мне полезной. Цитата (Racot) Человек занимается делом, а ты все время камни в город ему кидаешь. Не надоело? Каким делом? Он сам сказал, что это хобби, а хобби - не дело. А если камни в "город" не кидать, то он никогда лучше не станет, а наоборот, на всеобщей похвальбе и сплошном позитиве быстро деградирует (проверено на опыте различных людей; не пытайтесь повторить это дома).
Сообщение отредактировал TimKruz - Суббота, 12 Января 2013, 00:06 |
|
| |
TimKruz | Дата: Пятница, 11 Января 2013, 23:38 | Сообщение # 256 | Тема: Продам тело, как рекламную площадку. |
старожил
Сейчас нет на сайте
| miniGamer, если ты действительно это всё серьёзно задумал, то ты неправильно начал это дело. Чтобы был успех и ощутимая прибыль, тебе нужно проапгрейдить внешность до фотомодельной (дабы привлекать больше внимания; но можно просто найти фотомодель и её обрабатывать; даже лучше делать всё вдвоём - мужчина-баннер и женщина-баннер, чтобы было ещё больше внимания, т.к. пол всё-таки будет влиять на аудиторию просматривающих рекламу), переехать жить или путешествовать в Европу/Америку или более тёплые (дело не в холоде, а в том, что тело не должно засыпать снегом) и популярные у туристов (это главное, а то аборигены быстро привыкнут, а туристы даже фоткаться рядом будут - это плюс к рекламе) страны и ходить всегда исключительно в сандалиях и шляпке (больше ничего; волосы тоже сбрить, кроме головы) в сопровождении одного-двух охранников. Далее нанести надписи вида "реклама на коже, недорого" и ждать клиентов. Однако вместо примитивной татуировки (это каменный век) следует использовать цветные краски, несмываемые водой (только специальным растворителем, не повреждающим кожу) - тогда можно будет менять рекламу и вообще картинки-надписи хоть каждый день, а это снижает цену для рекламодателей, увеличивает число покупателей и т.д., короче, сплошные преимущества. Идея, конечно, не новая, но приличной реализации что-то не было.
На счёт преимуществ такой рекламы: я бы не побежал покупать продукт фирмы N, если бы её название и картинка были бы нарисованы на гуляющей голой фотомодели, т.к. реклама остаётся просто рекламой, как не извращали ли бы место её размещения... Однако, бесспорно, на многих такая реклама произведёт впечатление, если, конечно, будет должным образом реализована...
P.S. Я всё это серьёзно, шутить на эту тему смыла не вижу.
|
|
| |
TimKruz | Дата: Пятница, 11 Января 2013, 22:44 | Сообщение # 257 | Тема: Критика компьютерных игр от Switch |
старожил
Сейчас нет на сайте
| Цитата (killman13) может для того, чтобы выставлять более точную оценку, будешь использовать 10 бальную шкалу? Цитата (Switch) Можете аргументировать? Лучше бы вообще по стобальной (в процентах) оценивали, от 1 до 100, а то получается, что у "Ant" и "NFS" один и тот же уровень, пусть даже в разных жанрах и весовых категориях... Ну и вообще, мы не в школе же, чтобы пятёрки играм ставить, тут нужно быть серьёзнее, если не можешь быть объективным.
Цитата (EvilT) Switch, я тот кто обижен на тебя, товарищЪ трепло... в рамках держать себя нужно, и не лезть туда куда не просят...(раз не занимаешься распространением и разработкой) и ты мне рот не затыкай уважаемый, я же тебе не закрывал, когда ты плакался админам.... А с этого места по-подробнее. Интересно узнать про тёмное прошлое нашего "критика игр любителя".
Цитата (Switch) Присылайте игры. Буду рад оценить их! Хм, попробуй-ка, если не сложно, оценить мою "Te-tra x2". Только я её не доделал, лень все задуманные функции реализовывать, да и то что есть оптимизировать надо, там кое-какие ошибки - потом, может быть, всё переделаю и доделаю, но текущая версия вполне играбельна и содержит всё, чтобы считаться готовым тетрисом... Посмотрим, как сильно ты занизишь мне свою оценку и сколько десятков минусов в ней откопаешь.
|
|
| |
TimKruz | Дата: Пятница, 11 Января 2013, 21:29 | Сообщение # 258 | Тема: Delphi:Вопрос-Ответ |
старожил
Сейчас нет на сайте
| GECK, запись вида n:integer=0; не константа, точнее не простая константа, а типизированная, т.е. может менять значение по ходу выполнения программы. Но в данном случае записать её в разделе var нельзя, т.к. нельзя давать инициализирующее значение переменным в процедурах/функциях. Почему вылетает ошибка - не знаю (она ведь на n:=n+1 указывает?), но лучше просто вынеси описание переменной n из обработчика таймера в переменные модуля, так будет логичнее и ошибок не будет. А конструкцию n:=n+1 тут можно заменить на inc(n), так удобнее, если название переменной длинное (ты же не собираешься делать n1, n2, n3 и т.д.?).
|
|
| |
TimKruz | Дата: Среда, 09 Января 2013, 21:08 | Сообщение # 259 | Тема: выбор провайдера |
старожил
Сейчас нет на сайте
| А у меня нормально всё с Ростелеком (Волгателеком - J), всё отлично работает... За три с половиной года практически никаких проблем не было. Сначала пользовались adsl, потом без проблем перешли на fttb. Безлимит 380 руб/месяц с приличной скоростью, стабильно (правда каждый день между 0 и 1 часом ночи делают что-то типа ресета соединения - это мне непонятно, но не мешает). Цитата (andarky) АльфаБанк пишет что БЕЗ КОМИССИИ! Лучше всего через любой ближайший терминал QUWI платить - без очереди, без комиссии и деньги почти сразу поступают. Не понимаю, почему многие предпочитают стоять в длинющей очереди к окошку в офисе ростелекома...
|
|
| |
TimKruz | Дата: Понедельник, 07 Января 2013, 15:42 | Сообщение # 260 | Тема: PascalABC Вопрос (события клавиш) |
старожил
Сейчас нет на сайте
| Цитата (WhoAmI) А вызвать OnKeyPress:=KeyUp и.т.д? Что-то я не понял, что ты хочешь спросить. Эта строчка (OnKeyPress:=KeyUp) присваивает процедурной переменной OnKeyPress идентификатор пользовательской процедуры KeyUp, после чего класс окна сможет корректно вызывать пользовательскую процедуру для обработки определённого события (нажатия клавиши).
|
|
| |
|