Как сделать простой собственный Web браузер используя MFC. Часть 1
Совсем просто, как вы увидите. Далее я опишупроцесс разработки пошагово.
Для начала нужно создать новый проект.ВыбираемFile –New Project – MFC Application.Вводимимяприложения“mybrowser’.Далееидемвнастройкипроекта.Здесьставимследующее: “Application Type – Single Type” , “Project style – Windows Explorer”,“Resource language - English”.(Китайскийязыкпустьоставятсамикитайцы, еслихотят). Затемпереходим «Generated Classes” итамвыбираем «Base Class” – «CHtmlView». Это очень важно, потому чтоименно этот класс используется как базовый при создании нашего приложения.“CHtmlView”фактически и являетсяосновой«движка» нашего браузера. Жмем кнопку и переходимв проект.
Для начала компилируем проект, исмотрим что получилось. Мы видим, что загружается страница, ( если компьютер подключен к Интернете)по адресу «http://www.msdn.microsoft.com/visualc/". Нам конечно такой «браузер» не подходит. Теперь займемся нашим главным делом.
Пишем собственный screencapturer для Windows. Часть 2
Во второй части нашей этой статьи мы начнем прямо с кода:
void CscreencaptureDlg::GetScreen(void) { int Width=GetSystemMetrics(SM_CXSCREEN); //получем ширину экрана int Height=GetSystemMetrics(SM_CYSCREEN); //получем высоту экрана CDC dc; //локальная переменная контекста устройства HDC h=::GetDC(NULL); //получаем дескриптор окна dc.Attach(h); //присоединемя его к переменной контекста устройства DC.CreateCompatibleDC(&dc); //размещаем данный контекст устройства в памяти CBitmap Win; //cоздаем локальную переменную класса CBitmap Win.CreateCompatibleBitmap(&dc,Width,Height); //cоздаем совместимый с bimap контекст устройства DC.SelectObject(&Win); //выбираем контекст устройства DC.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY); //копируем указанную область экрана dc.Detach(); //освобождаем локальный контекст устройства ::ReleaseDC(NULL, h); //SaveBitmap("c:\\bmp\\screen.bmp",(HBITMAP)Win,0); DC.DeleteDC(); //освобождаем глобальный контекст устройства MessageBox("This screen was caputered well"); //сообщение об успешном выполнени задачи
Практически любой web проект сейчас содержит поисковый движок. В этой статье мы попытаемся
сделать собственный вариант,использующий Ajax и естественно, базу данных MySQL в качестве хранилища данных. 1. Для начала возьмем уже готовое приложение, для экономии времени. Это что-то вроде ежедневника, со списком задач.
База данных достаточно простая и имеет следующую структуру: что-то вроде ежедневника, со списком задач.
База данных достаточно простая и имеет следующую структуру:
Создание программы - MySQL DatabaseBrowser. Часть 1
Сейчас использование баз данных, в то числе и удаленных стало обычной и повседневной практикой. Очень часто используется и СУБД MySQL – свободной распространяемая система управления базами данных. В основном она используется для малых и средних предприятий, где успешно решает многие задачи. Ее бесплатность, доступность, стабильность в работе и прочие характеристики позволяет говорить об это СУБД как о массовой альтернативе таких баз как InterBase или SyBase. Последние версии этой программы, существенно расширяющие ее возможности предлагают решение многих проблем, с которым сталкиваются как администратор баз данных, так и обычный пользователь.
Однако, существуют так же и проблемы при работе с Windows, как обязательное наличие драйверов ODBC для MySQL, если СУБД работает в этой среде. Стандартный клиент для MySQL не является удобным в настоящее время, так как является консольной программой. Опять же, требуется как минимум наличие установленной копии программы MySQL сервер на компьютере пользователя. Просмотр данных и простое редактирование также в стандартном клиенте не отвечает современным требованиям к интерфейсу. Решение целого ряда повседневных задач, предполагает стандартизацию пользовательского интерфейса и создание удобного юзабилити.
Поэтому мы пришли к необходимости создания собственного клиентского приложения Целью данного проекта является создание программы, которая бы позволяла выполнять наиболее общие операции с СУБД MySQL в операционной системе Windows, и при это не требовала наличия и настройки ODBC драйвера. Обычно это не умеет делать средний пользователь, и следовательно здесь требуется помощь администратора, что создает дополнительные трудности и самое главное, потерю рабочего времени. Кроме того, эта программа должна уметь соединяться и работать с удаленным MySQL сервером. Сам проект на данном этапе не является окончательной версией программы, поэтому реализуется с наиболее общими возможностями.
Далее будет описано шаг за шагом процесс создания проекта и с примерами исходного кода.
Создание системы аутентификации в Ruby on Rails с помощью pluginа acts_as_authenticated
Практически любое современное более менее крупное Web приложение, использует систему аутентификации. Здесь мы научимся создавать такого рода вещи самостоятельно в проектах Ruby on Rails. Для этого воспользуемся pluginом acts_as_authenticated. Во фреймворке Ruby on Rails plugin – это расширения или дополнения возможностей Ruby on Rails. То бишь это некий код, который можно установить и использовать в проекте, чтобы получить доступ к некоторому количеству дополнительных возможностей. Далее описываем последовательность действий пошагово.
Создание файлов PDF файлов в приложениях Ruby on Rails
Динамическая генерация PDF файлов очень полезна, когда нужно создать файл отчета илисохранить данные в удобном виде. Для этого существует такой плагин в Ruby on Rails «pdf-writer». Итак, разберемся как с ним работать. 1. Установим его в приложение. Для этого нужно ввести команду «gem install pdf-writer» C:\myproject>gem install pdf-writer Successfully installed pdf-writer-1.1.8 1 gem installed Installing ri documentation for pdf-writer-1.1.8... Installing RDoc documentation for pdf-writer-1.1.8... 2. После установки, необходимо отредактировать файл «environment.rb»
И поместить в него такие строки:
require 'pdf/writer'
Mime::Type.register 'application/pdf', :pdf
Первая подключает этот плагин к нашему приложению, а вторая устанавливает новый тип данных Mime, с которыми оно будет работать. 3. На конец, самое главное,- собственно генератор PDF файлов в приложении. В файле app/controllers/application.rb пишем вспомогательный метод:
def render_to_pdf(options = nil) data = render_to_string(options) pdf = PDF::HTMLDoc.new pdf.set_option :bodycolor, :white pdf.set_option :toc, false pdf.set_option :portrait, true pdf.set_option :links, false pdf.set_option :webpage, true pdf.set_option :left, '2cm' pdf.set_option :right, '2cm' pdf << data pdf.generate end
Этот метод будет использоваться при генерировании PDF файл. Он принимает данные и превращает их в файл.
4. Затем мы редактируем стандартный метод «index» нашего приложения:
def index @goods = Good.find(:all) respond_to do |format| format.html format.xml { head :ok } format.pdf { send_data render_to_pdf({ :action => 'index.rpdf', :layout => 'pdf_report' }) } end end
Здесь мы организуем форматирование данных, получаемых из базы и перенапрваляем выход во вновь созданный вспомогательный метод «render_to_pdf».
5. Далее изменим файл вида «index» и вставим в него следующее:
<%= link_to 'PDF', formatted_goods_path(:pdf) %>
Линк вызывает метод контроллера для генерирования PDF документа.
Это все. Теперь, когда пользователь нажмет на вышеуказанный линк, то он получит PDF файл.
Допустим, у нас есть SugarCRMтакая проблема: существует 2 инсталляции SugarCRM,одна из которых старая, а другая новая версии. Нам необходимо перенести данные из старой базы данных MySQLв новую версию и сделать это аккуратно. Нет ничего проще.
1.Создаем копию нужной нам базы данной, с помощью экспорта базы в SQLфайл.
2.В новой инсталляции делаем новую базу данных.
3.Импортируем туда все данные из полученного ранее дампа. Можно использовать любую работаю с MySQLпрограмму или команду «source» в командной строке.
4.Редактируем PHPфайл «/config.php» : меняем имя базы данных, это переменная 'db_name ' в массиве 'dbconfig'.
5.Далее открываем базу данных, находим там таблицу «config»,поле «sugar_version» и вводим туда номер версии новой инсталляции. Например, если там стояло значение «5.0.0», то ставим «5.2.0h».
Это все. Как видите, проблема решается очень просто и быстро.
Пишем собственный screencapturer для Windows. Часть 1
В повседневной работе с Windows иногда , однако, все же возникает потребность в получений копий снимков с текущего рабочего стола
Windows. Для этого есть масса свободных или платных программ, а мы напишем свою. Тем боле, займет это очень мало времени. Для этого нам
нужно только работающий компьютер с установленной операционной системой Windows, MicrosoftVisualStudio 2003иконечно,MSDN. Сама процедура разработка будет описана пошагово,там жебудутте части программногокода, которые будут нами созданы.
Как обычно, создаем шаблон программы. Для этого запускаем MicrosoftVisualStudio 2003 , выбираем “NewProject…”, затем “VisualC++”. В этом меню выбираем “MFCApplication”. Выбираем путь где будет расположен наш проект и вводим название “screencapture”. (Хотя каждый может ввести любое название J ) Жмем «ОК». Дальше мы выбираем «ApplicationType» - “Dialogbased”. Если кто желает подарить другу или подруге свою программу, то нужно выбрать “UseMFCinstaticlibrary”. Все остальные настройки можно оставить без изменений.