Блог по программированию в среде Delphi

Поиск по блогу

Есть идея по созданию интересной программы?

Опиши тут и я по возможности постараюсь это реализовать специально для тебя! Без $ ))

пятница, 12 июня 2015 г.

SKYPE4COMLib

Исключительная ситуация возникающая при подключении  SKYPE4COMLib, хотя COM библиотека была зарегистрирована.

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll

Additional information: Не удалось получить фабрику класса COM для компонента с CLSID {830690FC-BF2F-47A6-AC2D-330BCB402664} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Решение:
Целевую платформу устанавливаем у проекта  x86.

суббота, 6 декабря 2014 г.

Locate32 делаем поисковиком по умолчанию в Windows 7

Заходим в настройки программы Locate32
Утилиты-Настройки-Горячие клавиши-F3
Нажимаем кнопку "Еще" (Комбинации клавиш).
В открывшемся окне в поле "Место нажатия - Класс:" в самое начало добавляем WorkerW и |
Получаем: WorkerW|ExploreWClass|CabinetWClass|Progman



среда, 1 октября 2014 г.

Делаем скрин элемента в WebBrowser на C#

Делаем скрин элемента в WebBrowser с помощью GDI.
При использовании стандартного метода бывают лаги в работе, данный класс работает отлично.
Сделал очень маленький допил:
Добавил, что если элемент во фрейме добавляем смещения полученные функциями getXoffset и getYoffset к смещению элемента.

воскресенье, 28 сентября 2014 г.

Получение изображения из WebBrowser на C#


Реально рабочий пример получения изображения из WebBrowser на C#.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WebBrowserGetImage
{
 public partial class Form1 : Form
 {
  public Form1()
  {
    InitializeComponent();
  }

  private void button1_Click(object sender, EventArgs e)
  {
   HtmlDocument htmlDocument = this.webBrowser1.Document;
   HtmlElementCollection htmlElementCollection = htmlDocument.Images;
   foreach (HtmlElement htmlElement in htmlElementCollection)
   {
    string imgUrl = htmlElement.GetAttribute("src");
    if (imgUrl.StartsWith("http://2.bp.blogspot.com/-Nn7u4zeURIk/U4SkgfCh4UI/AAAAAAAABGQ/pR5ACGCyClk/s1600/OpenVPN.png"))
    {
     this.pictureBox1.ImageLocation = imgUrl;
    }
   }
  }

  private void Form1_Load(object sender, EventArgs e)
  {
    webBrowser1.Navigate("http://nmdsoft.blogspot.ru/");
  }
 }
}
Спасибо автору!

среда, 28 мая 2014 г.

Создание локальной сети через интернет между двумя ПК (OpenVPN)


Качаем OpenVPN
Устанавливаем. (Устанавливал всё)
Заходим в Пуск- OpenVPN-Utilities-Generate a static OpenVPN key (Обязательно с правами администратора, иначе просто не хватит прав на создание файла в папке Program files)

Это мы создали ключ, который будет находиться в папке C:\Program Files\OpenVPN\config
имя ключа по умолчанию key.txt

Копируем файл из папки C:\Program Files\OpenVPN\sample-config\server.ovpn и client.ovpn

в папку C:\Program Files\OpenVPN\config\.

Открываем скопированные файлы блокнотом.

четверг, 24 апреля 2014 г.

Хранимая процедура и параметры IN и OUT массив и массив записей соотвественно (ORACLE)

Логотип Oracle
 Необходимо было сделать хранимую процедуру для ORACLE.
По началу показалось делов-то, но потом выяснилось, что у Оракла есть несколько типов массивов:

1. VARRAYS - фиксированной длины
2. PL/SQL- таблицы INDEX BY BINARY_INTEGER ( Ассоциативный массив)
3. Nested Tables
 Мне необходимо было реализовать процедуру, используя последний тип массива т.е. Nested Tables.


воскресенье, 20 апреля 2014 г.

Gom player ошибка при закрытии программы.


При закрытии плеера Gom возникает ошибка со следующим текстом:
Эта программа требует flash.ocx, уже не включенное в данную версию windows или
Gom эта программа требует отсутствующий компонент

Причина в отсутствии файла flash.ocx в папке C:\Windows\System32\Macromed\Flash

Решение:
Устанавливаем Flash плеер для браузера IE
http://get.adobe.com/ru/flashplayer/otherversions/

Выбираем версию ОС и браузер IE. (В левом нижнем углу)

После установки появление данной ошибки больше не наблюдалось

четверг, 22 августа 2013 г.

Программа установки не может скопировать файл kmk04810.md

В процессе установки драйвера для Kyocera TaskAlfa 221  возникала следующая ошибка:
Программа установки не может скопировать файл kmk04810.md

Необходимо установить сертификат файла kyomita.cat и все установится нормально.

суббота, 13 июля 2013 г.

ADO фильтрация данных с именем столбца содержащим пробелы

Имеем запрос к таблице следующего вида:
SELECT
    ID_Task as 'ID', Text_task as 'Задачи',
    Term_task as 'Выполнить до:'
from Task

Необходимо отфильтровать данные, но если написать  в фильтре
filter:='Выполнить до: LIKE '+ QuotedStr(DateToStr(Now));
это приведет к возникновению исключительной ситуации, и вызову диалогового окна  с описанием, изображенного на рисунке 1.

Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом
Рисунок 1 - Скрин диалогового окна с описанием исключительной ситуации


Необходимо взять название столбца в квадратные скобки [ ].


После внесения изменений, получится следующее выражение:
filter:='[Выполнить до:] LIKE '+ QuotedStr(DateToStr(Now));

В этом случае фильтрация выполнится, как и предполагалось.

вторник, 21 мая 2013 г.

Раскрытие выпадающего списка в cxLookupComboBox



procedure <FORM_NAME>.cxLookupComboBox1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  cxLookupComboBox1.DroppedDown:=True;
end;

Можно и в другие события вставить.