• Какое техническое решение подобрать для создания сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Никогда не пересекайте между собой основную базу объектов с CMS! Должна быть интеграция по ID-шникам.

    2. Выбирайте удобную, гибкую и с большим комьюнити CMS. (Я бы выбрал CMS Joomla!)

    3.
    И вопрос №2 - что посоветуете: заказывать сайт с нуля или подойдёт ориентация на доработку шаблона интернет-магазина - ведь можно найти шаблон с реализацией личных кабинетов пользователей и каталогами объектов, подстроив их под цели задачи?
    Вот это то, что бесит больше всего...
    Поймите: САЙТ - это НЕ ШАБЛОН!
    Каждый проект - УНИКАЛЕН!
    ТОЛЬКО с НУЛЯ!


    4. Стоимость и сроки - после ТЗ (оплачивается отдельно), ТЗ - после ФТ.
    (ТЗ - техническое задание, ФТ - функциональные требования)

    этапы создания сайта и прочее
    Ответ написан
    6 комментариев
  • Как раскрасить notepad?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Можно сделать 3-мя способами:
    1. Патч (или офф-лайн дебаг):
    1.1 Resource Hacker: angusj.com/resourcehacker
    1.2 PE Explorer: www.heaventools.com/overview.htm
    1.3 И старый добрый Restorator: www.bome.com/products/restorator/whatsnew

    2. "На-лету": https://msdn.microsoft.com/ru-ru/library/windows/d... , отослав сообщение окну чтобы поменять свойства.

    3. Дизассемблирование и сложнее в разы...
    3.1 www.thefreecountry.com/programming/disassemblers.shtml
    3.2 www.smidgeonsoft.prohosting.com/pebrowse-pro-inter...
    PEBrowseDbg64ScreenShot6.jpg(PEBrowseDbg64ScreenShot)
    Всё зависит от конкретной задачи.
    Ответ написан
    Комментировать
  • Как раскрасить notepad?

    @nirvimel
    D' Normalization расписал все правильно, только в действительности все несколько сложнее. Функции создания окна (меню и все элементы управления - тоже окна; windows же) нигде не принимают цвет через параметр. По умолчанию окна отрисовываются в цветах системной "темы". Чтобы переопределить цвета, надо перехватывать WndProc соответствующего окна, в нем на событие WM_PAINT устанавливать цвет Pen и Brush, пересылать сообщение оригинальному обработчику и надеяться на то что он сам не переопределяет Pen и Brush на каждый вызов WM_PAINT.
    Придется дописывать много кода, компилировать его так что-бы в нем или совсем не было абсолютных адресов (относительные short jumps) или все абсолютные адреса точно попадали в ту область, в которую предполагается вставка. Тут уже без ассемблера не обойтись (сколько же на Тостере за последнее время вопросов: "Где ассемблер незаменим?").
    Далее идет внедрение кода, как у вирусов. На эту тему можно много литературы найти. Если коротко, то есть два варианта: 1) дописать свой код в "хвост" секции кода, если поместится; 2) создать еще одну секцию кода в конце файла, это вариант открывает больше возможностей, но большинство антивирусов будут ругаться на такой exe-шник.
    Потом найти точку для патча, вырезать оттуда часть кода (например, вызов api-функции с подготовкой аргументов), перенести в свой код, а в той точке пропатчить что-то типа call our_code_block \ nop \ nop \ nop ....
    В общем задачка очень серьезная и с наскока такое не решается.
    Ответ написан
    1 комментарий
  • Как раскрасить notepad?

    Denormalization
    @Denormalization
    А в чем проблема?
    Инструментарий:
    - MSDN
    - OllyDbg
    - любой дизассемблер

    Действия:
    - Найти на MSDN название функции которая отвечает за создание окна\установку его параметров
    - Открыть OllyDbg и найти в нем нужное место в программе.
    - Пропатчить на "горячую" и посмотреть на результат
    - Если прошлый пункт сработал, найти в дизассемблерре нужное место и записать нужны адрес.
    - Написать патчер на любом известном языке, который будет в по нужном адресу проставлять нужное значение.
    Ответ написан
    Комментировать
  • Можно ли доработать odbc-драйвер?

    Nipheris
    @Nipheris Куратор тега C++
    Вот вроде понятно, что вы хотите сделать, но непонятно, зачем вам для иморта ODBC, если вам придется разбирать бинарник. Прочтите его стримами как вам надо, а в Excel уже загрузите с помощью ODBC, ну или что вы там используете. Если я не понял задачи, поясните пожалуйста.
    Ответ написан
    Комментировать
  • Как сериализовать данные в xml с аттрибутами элемента?

    vpuhoff
    @vpuhoff
    Программист в свободное от работы время
    Вот твой класс (пруф), пользуй его потом сериализуй
    using System;
    using System.Xml.Serialization;
    using System.Collections.Generic;
    namespace Xml2CSharp
    {
    	[XmlRoot(ElementName="СведЮЛ")]
    	public class СведЮЛ {
    		[XmlAttribute(AttributeName="ИННЮЛ")]
    		public string ИННЮЛ { get; set; }
    		[XmlAttribute(AttributeName="КПП")]
    		public string КПП { get; set; }
    	}
    
    	[XmlRoot(ElementName="СвПокуп")]
    	public class СвПокуп {
    		[XmlElement(ElementName="СведЮЛ")]
    		public СведЮЛ СведЮЛ { get; set; }
    		[XmlElement(ElementName="СведИП")]
    		public СведИП СведИП { get; set; }
    	}
    
    	[XmlRoot(ElementName="КнПродСтр")]
    	public class КнПродСтр {
    		[XmlElement(ElementName="КодВидОпер")]
    		public string КодВидОпер { get; set; }
    		[XmlElement(ElementName="СвПокуп")]
    		public СвПокуп СвПокуп { get; set; }
    		[XmlAttribute(AttributeName="НомерПор")]
    		public string НомерПор { get; set; }
    		[XmlAttribute(AttributeName="НомСчФПрод")]
    		public string НомСчФПрод { get; set; }
    		[XmlAttribute(AttributeName="ДатаСчФПрод")]
    		public string ДатаСчФПрод { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродСФВ")]
    		public string СтоимПродСФВ { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродСФ")]
    		public string СтоимПродСФ { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродСФ18")]
    		public string СтоимПродСФ18 { get; set; }
    		[XmlAttribute(AttributeName="СумНДССФ18")]
    		public string СумНДССФ18 { get; set; }
    		[XmlElement(ElementName="СвПос")]
    		public СвПос СвПос { get; set; }
    		[XmlAttribute(AttributeName="ОКВ")]
    		public string ОКВ { get; set; }
    		[XmlElement(ElementName="ДокПдтвОпл")]
    		public ДокПдтвОпл ДокПдтвОпл { get; set; }
    		[XmlAttribute(AttributeName="НомКСчФПрод")]
    		public string НомКСчФПрод { get; set; }
    		[XmlAttribute(AttributeName="ДатаКСчФПрод")]
    		public string ДатаКСчФПрод { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродСФ10")]
    		public string СтоимПродСФ10 { get; set; }
    		[XmlAttribute(AttributeName="СумНДССФ10")]
    		public string СумНДССФ10 { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродСФ0")]
    		public string СтоимПродСФ0 { get; set; }
    		[XmlAttribute(AttributeName="СтоимПродОсв")]
    		public string СтоимПродОсв { get; set; }
    	}
    
    	[XmlRoot(ElementName="СвПос")]
    	public class СвПос {
    		[XmlElement(ElementName="СведЮЛ")]
    		public СведЮЛ СведЮЛ { get; set; }
    	}
    
    	[XmlRoot(ElementName="ДокПдтвОпл")]
    	public class ДокПдтвОпл {
    		[XmlAttribute(AttributeName="НомДокПдтвОпл")]
    		public string НомДокПдтвОпл { get; set; }
    		[XmlAttribute(AttributeName="ДатаДокПдтвОпл")]
    		public string ДатаДокПдтвОпл { get; set; }
    	}
    
    	[XmlRoot(ElementName="СведИП")]
    	public class СведИП {
    		[XmlAttribute(AttributeName="ИННФЛ")]
    		public string ИННФЛ { get; set; }
    	}
    
    	[XmlRoot(ElementName="КнигаПрод")]
    	public class КнигаПрод {
    		[XmlElement(ElementName="КнПродСтр")]
    		public List<КнПродСтр> КнПродСтр { get; set; }
    		[XmlAttribute(AttributeName="СтПродБезНДС18")]
    		public string СтПродБезНДС18 { get; set; }
    		[XmlAttribute(AttributeName="СтПродБезНДС10")]
    		public string СтПродБезНДС10 { get; set; }
    		[XmlAttribute(AttributeName="СтПродБезНДС0")]
    		public string СтПродБезНДС0 { get; set; }
    		[XmlAttribute(AttributeName="СумНДСВсКПр18")]
    		public string СумНДСВсКПр18 { get; set; }
    		[XmlAttribute(AttributeName="СумНДСВсКПр10")]
    		public string СумНДСВсКПр10 { get; set; }
    		[XmlAttribute(AttributeName="СтПродОсвВсКПр")]
    		public string СтПродОсвВсКПр { get; set; }
    	}
    
    	[XmlRoot(ElementName="Документ")]
    	public class Документ {
    		[XmlElement(ElementName="КнигаПрод")]
    		public КнигаПрод КнигаПрод { get; set; }
    		[XmlAttribute(AttributeName="Индекс")]
    		public string Индекс { get; set; }
    		[XmlAttribute(AttributeName="НомКорр")]
    		public string НомКорр { get; set; }
    	}
    
    	[XmlRoot(ElementName="Файл")]
    	public class Файл {
    		[XmlElement(ElementName="Документ")]
    		public Документ Документ { get; set; }
    		[XmlAttribute(AttributeName="ИдФайл")]
    		public string ИдФайл { get; set; }
    		[XmlAttribute(AttributeName="ВерсПрог")]
    		public string ВерсПрог { get; set; }
    		[XmlAttribute(AttributeName="ВерсФорм")]
    		public string ВерсФорм { get; set; }
    	}
    
    }
    Ответ написан
    1 комментарий
  • Глюк в C#, при сериализации объекта нужно сериализовать Форму?! Что делать?

    Neuroware
    @Neuroware Автор вопроса
    Программист в свободное от работы время
    В целом разобрался, там в классе еще делегаты были, и если на них подписана форма то шарик хочет ее сериализовать вместе с объектом.
    Ответ написан
    2 комментария