tag:blogger.com,1999:blog-91448199050114987302024-03-13T05:51:01.577-07:00NMDSOFTПрограммирование в среде Delphi.
Не ошибается тот, кто ничего не делает!!!NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.comBlogger132125tag:blogger.com,1999:blog-9144819905011498730.post-26568031844052761252015-06-12T10:01:00.003-07:002015-06-12T10:01:14.548-07:00SKYPE4COMLib<div dir="ltr" style="text-align: left;" trbidi="on">
Исключительная ситуация возникающая при подключении SKYPE4COMLib, <a href="http://donchevp.blogspot.ru/2008/08/skype4com-lib-how-to-register-skype.html" rel="nofollow" target="_blank">хотя COM библиотека была зарегистрирована.</a><br />
<br />
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll<br /><br />Additional information: Не удалось получить фабрику класса COM для компонента с CLSID {830690FC-BF2F-47A6-AC2D-330BCB402664} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).<br />
<br />
Решение:<br />
Целевую платформу устанавливаем у проекта <b>x86</b>.<br />
<br /></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com2tag:blogger.com,1999:blog-9144819905011498730.post-68304581708310212262014-12-06T14:11:00.003-08:002014-12-06T14:11:52.834-08:00Locate32 делаем поисковиком по умолчанию в Windows 7<div dir="ltr" style="text-align: left;" trbidi="on">
Заходим в настройки программы Locate32<br />
Утилиты-Настройки-Горячие клавиши-F3<br />
Нажимаем кнопку "Еще" (Комбинации клавиш).<br />
В открывшемся окне в поле "Место нажатия - Класс:" в самое начало добавляем WorkerW и |<br />
Получаем: WorkerW|ExploreWClass|CabinetWClass|Progman<br />
<br />
<br />
<br /></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-47392222643064494582014-10-01T08:42:00.003-07:002014-10-01T08:52:44.990-07:00Делаем скрин элемента в WebBrowser на C#<div dir="ltr" style="text-align: left;" trbidi="on">
Делаем скрин элемента в WebBrowser с помощью GDI.<br />
При использовании стандартного метода бывают лаги в работе, данный класс работает отлично.<br />
Сделал очень маленький допил:<br />
Добавил, что если элемент во фрейме добавляем смещения полученные функциями <b>getXoffset</b> и <b>getYoffset </b>к смещению элемента.<br />
<br />
<a name='more'></a><br />
<br />
<pre class="brush:csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
namespace WebBrowserGetImage
{
class HTMLImageCap
{
[StructLayout(LayoutKind.Sequential)]
private struct RECT
{
public int left;
public int top;
public int right;
public int bottom;
}
//use win32 api
private class Gdi32
{
[DllImport("gdi32.dll")]
public static extern bool BitBlt(IntPtr hObject, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hObjectSource, int nXSrc, int nYSrc, int dwRop);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateCompatibleBitmap(IntPtr hDC, int nWidth, int nHeight);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
[DllImport("gdi32.dll")]
public static extern bool DeleteDC(IntPtr hDC);
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
[DllImport("gdi32.dll")]
public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);
}
private static class User32
{
[DllImport("user32.dll")]
public static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll")]
public static extern IntPtr GetWindowDC(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern IntPtr GetWindowRect(IntPtr hWnd, ref RECT rect);
[DllImport("user32.dll")]
public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDC);
}
//define constants
private const int SRCCOPY = 13369376;
private const int LOOPTIMES = 40;
private const int SLEEPTIME = 100;
/*private*/ public static int getXoffset(HtmlElement he)
{
//get element pos
int xPos = he.OffsetRectangle.Left;
//get the parents pos
HtmlElement tempEl = he.OffsetParent;
while (tempEl != null)
{
xPos += tempEl.OffsetRectangle.Left;
tempEl = tempEl.OffsetParent;
}
return xPos;
}
/*private */public static int getYoffset(HtmlElement he)
{
//get element pos
int yPos = he.OffsetRectangle.Top;
//get the parents pos
HtmlElement tempEl = he.OffsetParent;
while (tempEl != null)
{
yPos += tempEl.OffsetRectangle.Top;
tempEl = tempEl.OffsetParent;
}
return yPos;
}
private static Image captureWindow(IntPtr handle, int x, int y, int width, int height)
{
IntPtr hdcSrc = User32.GetWindowDC(handle);
RECT windowRect = new RECT();
User32.GetWindowRect(handle, ref windowRect);
IntPtr hdcDest = Gdi32.CreateCompatibleDC(hdcSrc);
IntPtr hBitmap = Gdi32.CreateCompatibleBitmap(hdcSrc, width, height);
IntPtr hOld = Gdi32.SelectObject(hdcDest, hBitmap);
Gdi32.BitBlt(hdcDest, 0, 0, width, height, hdcSrc, x, y, SRCCOPY);
Gdi32.SelectObject(hdcDest, hOld);
Gdi32.DeleteDC(hdcDest);
User32.ReleaseDC(handle, hdcSrc);
Image img = Image.FromHbitmap(hBitmap);
Gdi32.DeleteObject(hBitmap);
return img;
}
//сделал допил, что если элемент во фреме, прибавляем и его смещения
public static Image getImage(WebBrowser wb, HtmlElement he, int FramesOffsetX, int FramesOffsetY)
{
//get original scroll position
int docY = wb.Document.GetElementsByTagName("HTML")[0].ScrollTop;
int docX = wb.Document.GetElementsByTagName("HTML")[0].ScrollLeft;
//scroll to view element
wb.Document.Window.ScrollTo(getXoffset(he), getYoffset(he));
int heY = getYoffset(he) - wb.Document.GetElementsByTagName("HTML")[0].ScrollTop;
int heX = getXoffset(he) - wb.Document.GetElementsByTagName("HTML")[0].ScrollLeft;
int heWidth = he.OffsetRectangle.Width;
int heHeight = he.OffsetRectangle.Height;
heX += FramesOffsetX;
heY += FramesOffsetY;
Image img = captureWindow(wb.Handle, heX, heY, heWidth, heHeight);
//scroll back tooriginal position
wb.Document.Window.ScrollTo(docX, docY);
return img;
}
}
}
</pre>
<br />
Вызов функции<br />
<br />
<pre class="brush:csharp">Image i = HTMLImageCap.getImage(webBrowser1, htmlElement, frOffsetX, frOffsetY);
</pre>
Первоначальный вариант класса был взят с <a href="http://dotnetthreads.blogspot.ru/2013/10/save-image-from-web-browser-control-c.html" rel="nofollow" target="_blank">сайта</a></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com1tag:blogger.com,1999:blog-9144819905011498730.post-37772466982674690512014-09-28T05:13:00.001-07:002014-10-01T08:24:16.134-07:00Получение изображения из WebBrowser на C#<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Qlyc66JhGUs/VCf6X-ECnTI/AAAAAAAABH8/nJk-oAkVYTE/s1600/WebbrowserGetImage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-Qlyc66JhGUs/VCf6X-ECnTI/AAAAAAAABH8/nJk-oAkVYTE/s1600/WebbrowserGetImage.png" height="157" width="400" /></a></div>
<br />
Реально рабочий пример получения изображения из WebBrowser на C#.<br />
<br />
<pre class="brush:csharp">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/");
}
}
}
</pre>
<a href="http://social.msdn.microsoft.com/Forums/vstudio/en-US/b7336f23-f011-4469-83f0-5e4e62ce97c1/getting-image-to-show-in-picture-box-from-webbrowser-control?forum=csharpgeneral" target="_blank">Спасибо автору!</a></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-61585333602237424912014-05-28T08:23:00.000-07:002014-05-28T08:25:07.384-07:00Создание локальной сети через интернет между двумя ПК (OpenVPN)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Nn7u4zeURIk/U4SkgfCh4UI/AAAAAAAABGQ/pR5ACGCyClk/s1600/OpenVPN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-Nn7u4zeURIk/U4SkgfCh4UI/AAAAAAAABGQ/pR5ACGCyClk/s1600/OpenVPN.png" height="115" width="400" /></a></div>
<br />
Качаем <a href="http://openvpn.net/index.php/open-source/downloads.html" rel="nofollow" target="_blank">OpenVPN</a><br />
Устанавливаем. (Устанавливал всё)<br />
Заходим в Пуск- OpenVPN-Utilities-Generate a static OpenVPN key (Обязательно с правами администратора, иначе просто не хватит прав на создание файла в папке Program files)<br />
<br />
Это мы создали ключ, который будет находиться в папке C:\Program Files\OpenVPN\config<br />
имя ключа по умолчанию key.txt<br />
<br />
Копируем файл из папки C:\Program Files\OpenVPN\sample-config\server.ovpn и client.ovpn<br />
<br />
в папку C:\Program Files\OpenVPN\config\.<br />
<br />
Открываем скопированные файлы блокнотом.<br />
<br />
<a name='more'></a><br />
Конфигурация для <span style="color: red;"><b>сервера</b></span>:<br />
dev tun <br />
proto udp<br />
<br />
ifconfig <b><span style="color: blue;">192.168.0.1</span></b> <span style="color: #38761d;"><b>192.168.0.2</b></span><br />
push "route-gateway 192.168.0.2"<br />
route 192.168.0.0/24 255.255.255.0 <span style="color: red;"><b><IP адрес роутера></b></span> gw<br />
<br />
comp-lzo<br />
keepalive 10 120<br />
ping-timer-rem<br />
secret <span style="color: red;"><b><Имя файла ключа></b></span> (пример key.txt должен находиться рядом с файлом конфигурации)<br />
<br />
<br />
Конфигурация для <b><span style="color: red;">клиента</span></b>:<br />
<br />
remote <span style="color: red;"><внешний IP сервера или адрес no-ip или аналогичного сервиса > </span>1194 (1194 - порт по умолчанию, через пробел)<br />
dev tun <br />
proto udp<br />
<br />
ifconfig <b><span style="color: #38761d;">192.168.0.2</span></b> <span style="color: blue;"><b>192.168.0.1</b></span><br />
<br />
comp-lzo<br />
keepalive 10 120<br />
ping-timer-rem<br />
<br />
route 192.168.1.0 255.255.255.0<br />
secret <span style="color: red;"><b><Имя файла ключа></b></span> (пример key.txt должен находиться рядом с файлом конфигурации)<br />
<br />
<br />
Передаем файл ключа и настроенную конфигурацию клиенту(он тоже должен установить OpenVPN в соответствии с его ОС)<br />
<br />
Запускаем у себя конфигурацию сервера через OpenVPN GUI, а точнее через иконку в трее.<br />
Клиент запускает свою конфигурацию, в случае если все хорошо, монитор на иконке станет <span style="font-size: small;"><b><span style="color: #38761d;">зеленого цвета</span></b></span>.<br />
<br />
Желаю удачи!<br />
<br />
<br />
<br />
<br /></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com2tag:blogger.com,1999:blog-9144819905011498730.post-1644449661059203172014-04-24T07:13:00.000-07:002014-04-24T07:13:33.183-07:00Хранимая процедура и параметры IN и OUT массив и массив записей соотвественно (ORACLE)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
<a href="http://2.bp.blogspot.com/-1yaf_Y6JSfM/U1kbHJBG6GI/AAAAAAAABFE/A1onfi09k7I/s1600/Oracle.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Логотип Oracle" border="0" src="http://2.bp.blogspot.com/-1yaf_Y6JSfM/U1kbHJBG6GI/AAAAAAAABFE/A1onfi09k7I/s1600/Oracle.jpg" title="Логотип Oracle" /></a></div>
Необходимо было сделать хранимую процедуру для ORACLE.<br />
По началу показалось делов-то, но потом выяснилось, что у Оракла есть несколько типов массивов:<br />
<br />
1. VARRAYS - фиксированной длины<br />2. PL/SQL- таблицы INDEX BY BINARY_INTEGER ( Ассоциативный массив)<br />3. Nested Tables<br />
Мне необходимо было реализовать процедуру, используя последний тип массива т.е. Nested Tables.<br />
<br />
<br />
<a name='more'></a>Изначально все было прекрасно, т.к. я использовал в разработке процедуры ассоциативный массив, оказалось у него есть несколько плюшечек, а может и не плюшек, но удобно. Оказалось, что ассоциативные массивы нет необходимости инициализировать и расширять в процессе их использования.<br />
Когда, я познал эту вещь пришлось заменять тип данных используемых в процедуре на необходимый нам Nested Tables. И тут началось)))<br />
Оракл постоянно матерился то на размер, то на то, что переменная не инициализирована, мозг просто взрывался...<br />
<br />
Что делать? Извечный вопрос, но тут уже, ни кто кроме нас, не сделает, сработало))<br />
<br />
Сел. Подумал. И давай рыть интернет. Информации просто гора, только в основном примеры элементарные.<br />
<br />
В общем вот, что у меня получилось! <br />
/*пакет*/ <br />
CREATE OR REPLACE PACKAGE test_pack IS<br /> <br /> TYPE T_TestRecord IS RECORD ( v_Test VARCHAR2(20), n_Test number);<br /> <br /> TYPE T_TestRecords IS TABLE OF T_TestRecord INDEX BY BINARY_INTEGER; <br /><br /> TYPE T_TestRecords2 IS TABLE OF T_TestRecord;<br /> <br /> PROCEDURE TestProcedure(pTest1 IN T_TestRecords, pTest2 out T_TestRecords2);<br /> <br />END test_pack;<br /><br />/*тело пакета*/<br />CREATE OR REPLACE PACKAGE BODY test_pack <br />AS<br />BEGIN<br />/*процедура*/ <br />
PROCEDURE TestProcedure(pTest1 IN T_TestRecords, pTest2 out T_TestRecords2)<br /> as<br /> BEGIN<br /> if pTest1.count=0 then<br /> return;<br /> end if;<br /> /*инициализировал тут по той причине, что в случае возникновения исключительной <br /> ситуации необходимо было занести значения в массив по конкретному запросу */<br /> pTest2:=T_TestRecords2();<br /> pTest2.extend(pTest1.count);<br /><br /> for i in 1..pTest1.count loop<br /> /*тут производятся манипуляции с данными <br /> в итоге типа вот такого))*/<br /> if pTest1(i)='hi' then<br /> pTest2(i).v_Test:='YES';<br /> pTest2(i).n_Test:=1;<br /> else<br /> pTest2(i).v_Test:='NO';<br /> pTest2(i).n_Test:=0;<br /> end if;<br /> end loop;<br /> END;<br />END test_pack;<br /><br />
/*вызов хранимой процедуры*/<br />DECLARE<br /> testArray test_pack.T_TestRecords := test_pack.T_TestRecords();<br /> testArray2 test_pack.T_TestRecords2;<br />begin<br /> testArray1.extend(2);<br /> testArray1(1):='hi';<br /> testArray1(2):='nohi';<br /> <br /> test_pack.Nested Tables(testArray,testArray2);<br /> <br /> for i in 1 ..testArray2.count <br /> loop<br /> dbms_output.put_line(testArray2(i).v_Test);<br /> dbms_output.put_line(TO_CHAR(testArray2(i).n_Test));<br /> end loop;<br /> <br />end;<br />
<br />
Все работает прекрасно!<br />
Спасибо за внимание!</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-14340211960736989242014-04-20T01:11:00.001-07:002014-04-20T01:11:37.543-07:00Gom player ошибка при закрытии программы.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
При закрытии плеера Gom возникает ошибка со следующим текстом:<br />
Эта программа требует flash.ocx, уже не включенное в данную версию windows или<br />
Gom эта программа требует отсутствующий компонент<br />
<br />
Причина в отсутствии файла flash.ocx в папке C:\Windows\System32\Macromed\Flash<br />
<br />
Решение:<br />
Устанавливаем Flash плеер для браузера IE <br />
http://get.adobe.com/ru/flashplayer/otherversions/<br />
<br />
Выбираем версию ОС и браузер IE. (В левом нижнем углу)<br />
<br />
После установки появление данной ошибки больше не наблюдалось</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-44467399826728747872013-08-22T23:12:00.001-07:002013-08-22T23:12:07.678-07:00Программа установки не может скопировать файл kmk04810.md<div dir="ltr" style="text-align: left;" trbidi="on">
В процессе установки драйвера для Kyocera TaskAlfa 221 возникала следующая ошибка:<br />
<b>Программа установки не может скопировать файл kmk04810.md</b><br />
<br />
Необходимо установить сертификат файла kyomita.cat и все установится нормально.</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-76902585904987577352013-07-13T23:47:00.000-07:002013-07-13T23:59:56.046-07:00ADO фильтрация данных с именем столбца содержащим пробелы<div dir="ltr" style="text-align: left;" trbidi="on">
Имеем запрос к таблице следующего вида:<br />
SELECT<br />
ID_Task as 'ID', Text_task as 'Задачи', <br />
Term_task as 'Выполнить до:'<br />
from Task<br />
<br />
Необходимо отфильтровать данные, но если написать в фильтре<br />
filter:='Выполнить до: LIKE '+ QuotedStr(DateToStr(Now));<br />
это приведет к<span style="color: #cc0000;"> возникновению исключительной ситуации</span>, и вызову диалогового окна с описанием, изображенного на рисунке 1.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-V1MJ_VMIetM/UeJLThllqtI/AAAAAAAAAr8/Vdh0GtGER7Y/s1600/ado+error+filter.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом" border="0" height="110" src="http://3.bp.blogspot.com/-V1MJ_VMIetM/UeJLThllqtI/AAAAAAAAAr8/Vdh0GtGER7Y/s320/ado+error+filter.png" title="" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Рисунок 1 - Скрин диалогового окна с описанием исключительной ситуации</td></tr>
</tbody></table>
<div style="text-align: center;">
</div>
<br />
<br />
Необходимо взять название столбца в квадратные скобки [ ].<br />
<br />
<br />
После внесения изменений, получится следующее выражение:<br />
filter:='[Выполнить до:] LIKE '+ QuotedStr(DateToStr(Now));<br />
<br />
В этом случае фильтрация <span style="color: #38761d;">выполнится</span>, как и предполагалось. </div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-58367167888130809762013-05-21T05:21:00.000-07:002013-05-21T05:25:36.215-07:00Раскрытие выпадающего списка в cxLookupComboBox<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zU2ENFpW96s/UZtntIIc02I/AAAAAAAAArA/2iwR11Ss8-A/s1600/comboboxShowList.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="84" src="http://4.bp.blogspot.com/-zU2ENFpW96s/UZtntIIc02I/AAAAAAAAArA/2iwR11Ss8-A/s320/comboboxShowList.png" width="320" /></a></div>
<br />
procedure <FORM_NAME>.cxLookupComboBox1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);<br />
begin<br />
cxLookupComboBox1.DroppedDown:=True;<br />
end;<br />
<br />
Можно и в другие события вставить.</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-16677932159591376922013-05-21T04:59:00.000-07:002013-05-21T04:59:53.453-07:00Exception class EInvalidOperation with message 'Cannot make a visible window modal'.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--FFIR-pM_Pk/UZthd75vFiI/AAAAAAAAAqw/NfJam8vUvlo/s1600/frmModalError.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="http://4.bp.blogspot.com/--FFIR-pM_Pk/UZthd75vFiI/AAAAAAAAAqw/NfJam8vUvlo/s320/frmModalError.png" width="320" /></a></div>
<br />
В свойствах формы сделайте Visible равным False.</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-65380063840241985372013-05-20T09:38:00.001-07:002014-10-01T08:28:37.524-07:00MasterData фиксированное количество строк<div dir="ltr" style="text-align: left;" trbidi="on">
Имеем<br />
MasterData1<br />
<br />
Добавляем еще один MasterData (MasterData2), в диспетчере свойств, устанавливаем свойство Visible в False, на случай если строк в MasterData1 и так будет достаточно.<br />
<br />
Получаем<br />
MasterData1 <br />
MasterData2<br />
В MasterData2 делаем пустую строку нашего MasterData. <br />
В обработчике события OnBeforePrint MasterData2 вставляем код:<br />
<br />
<pre class="brush:delphi">procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
var
EmptyCount: integer;
begin
EmptyCount := 10-MasterData1.RowCount; //имеется в виду, что будет 10 строк постоянно
if EmptyCount > 0 then
begin
MasterData2.Visible:=True;
MasterData2.RowCount := EmptyCount;
end;
end;
</pre>
</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-9722391264198917122013-05-20T09:23:00.002-07:002013-05-20T09:23:56.237-07:00Header в FastReport 4 не отображается перед MasterData<div dir="ltr" style="text-align: left;" trbidi="on">
Имеем:<br />
<br />
Header1<br />
MasterData1<br />
<br />
<br />
Как вариант положите перед этим Header1 еще один MasterData2 в котором будут данные всегда и сделайте его невидимым. Header1 теперь будет виден у вас в независимости от того есть ли данные в MasterData1.<br />
<br />
Результат:<br />
<br />
Header1<br />
MasterData2<br />
MasterData1</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-14351456482642321182013-05-20T00:23:00.000-07:002013-05-20T00:23:41.545-07:00Error Class TfrxCheckboxView not found<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-eqvCnBo5EhE/UZnPLwvcUdI/AAAAAAAAAqg/76XU5bMho5E/s1600/frxCheckBoxObject+.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="http://2.bp.blogspot.com/-eqvCnBo5EhE/UZnPLwvcUdI/AAAAAAAAAqg/76XU5bMho5E/s320/frxCheckBoxObject+.png" width="320" /></a></div>
<br />
Бросьте в проект <span class="postbody">компонент frxCheckBoxObject </span><span class="postbody">или подключите </span><span class="postbody">файл frxChBox.pas к проекту в ручную.</span></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-6579220120790405212013-05-16T11:50:00.000-07:002013-05-16T11:50:03.111-07:00IBExpert приятные моменты))<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
</div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<div style="text-align: justify;">
Неприятное сообщение в IBExpert:</div>
<div style="text-align: justify;">
This operation is not defined for system tables.
unsuccessful metadata update. cannot delete </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Данное сообщение возникло в процессе попытки
удаления поля, и было весьма неприятно и не понятно с чем оно связано. Из
внешних ключей удалил, но поле активно сопротивлялось моим действиям.
Оказалось, что IBExpert проверяет использование полей не только в связях с
другими таблицами, но так же идет проверка в триггерах и процедурах.</div>
<div style="text-align: justify;">
Закомментировал процедуру, где использовалось
удаляемое поле и все прекрасно удалилось.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Спасибо разработчикам IBExpert за их прекрасный
инструмент!</div>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>RU</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Обычная таблица";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]--></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com2tag:blogger.com,1999:blog-9144819905011498730.post-81033166874271348072012-09-19T01:33:00.002-07:002012-09-19T01:34:17.023-07:00Настройка импульсного или тонового набора на телефоне LG GT-7320<div dir="ltr" style="text-align: left;" trbidi="on">
Сам много времени искал мануал и нашел печатный вариант, вот от сканировал для людей у которых возможно возникнет подобная проблема.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-wrQgpVm8xUE/UFmDGsZ_CKI/AAAAAAAAAcY/rB4mbBTHXCA/s1600/gt-7320.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="285" src="http://1.bp.blogspot.com/-wrQgpVm8xUE/UFmDGsZ_CKI/AAAAAAAAAcY/rB4mbBTHXCA/s400/gt-7320.PNG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Лист из инструкции </td></tr>
</tbody></table>
<br /></div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-9185369377117933082012-09-10T02:49:00.000-07:002012-09-10T02:49:59.877-07:00Java SE Downloads глюк<div dir="ltr" style="text-align: left;" trbidi="on">
<br />Java SE Downloads работает под администратором под учетной записью пользователя ноль)).<br />
Следует просто удалить все что связано с Java SE Downloads, все обновления через установку и удаление программ. После удаления необходим выполнить перезагрузку ПК и потом установить Java SE Downloads необходимой версии.</div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-26371860073999033162012-07-09T11:12:00.001-07:002012-07-09T11:14:49.824-07:00Удаление истории статусов из блога mblogi.qip<div dir="ltr" style="text-align: left;" trbidi="on">После того как случайно наткнулся на историю статусов квипа решил по удалять их, но дело это оказалось весьма муторным в связи с тормозами сайта. Стало лень, а лень-это двигатель прогресса написал вот такую утилиту для этого дела. Программа удаляет все сообщения из блога mblogi.qip собственно я и не знал, что у меня там блог ведется)) и решил почистить инет от говна))<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-mB9VjTt0dHU/T_sfi0WWvGI/AAAAAAAAAbI/Jf85RtxlK-4/s1600/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9+%D1%82%D0%BE%D1%87%D0%B5%D1%87%D0%BD%D1%8B%D0%B9+%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-mB9VjTt0dHU/T_sfi0WWvGI/AAAAAAAAAbI/Jf85RtxlK-4/s320/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9+%D1%82%D0%BE%D1%87%D0%B5%D1%87%D0%BD%D1%8B%D0%B9+%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA.png" width="238" /></a></div><br />
Исходный код программы представлен ниже:<br />
<br />
<a name='more'></a><br />
<br />
unit untMain;<br />
<br />
interface<br />
<br />
uses<br />
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />
Dialogs, StdCtrls;<br />
<br />
type<br />
TfrmMain = class(TForm)<br />
btnAutorize: TButton;<br />
edtLogin: TEdit;<br />
edtPass: TEdit;<br />
edtCount: TEdit;<br />
lblLogin: TLabel;<br />
lblPass: TLabel;<br />
lblCount: TLabel;<br />
mmoLog: TMemo;<br />
lblLog: TLabel;<br />
edtAutor: TEdit;<br />
procedure btnAutorizeClick(Sender: TObject);<br />
private<br />
{ Private declarations }<br />
public<br />
{ Public declarations }<br />
end;<br />
<br />
const<br />
sUrl='http://mblogi.qip.ru/api/recv?method=';<br />
<br />
var<br />
frmMain: TfrmMain;<br />
<br />
implementation<br />
uses<br />
msxml, superobject,IdURI;<br />
{$R *.dfm}<br />
<br />
<br />
<br />
procedure TfrmMain.btnAutorizeClick(Sender: TObject);<br />
var<br />
req: IXMLHttpRequest;<br />
o: ISuperObject;<br />
sSid,sMsgId,sTemp:string;<br />
jsobArray:TSuperArray;<br />
Pairs: TSuperEnumerator;<br />
<br />
begin<br />
req := CoXMLHTTP.Create;<br />
try<br />
//авторизация<br />
req.open('GET', sUrl+'mblogi.auth.getsid&params={"user":"'+edtLogin.Text+'","password":"'+edtPass.Text+'"}', false, EmptyParam, EmptyParam);<br />
req.send(EmptyParam);<br />
sTemp:=req.responseText;<br />
if AnsiPos('NOT_AUTH_SES_CLOSE',sTemp)<>0 then<br />
begin<br />
mmoLog.Lines.Add('Ошибка при авторизации!');<br />
raise Exception.Create('Не верный логин или пароль!');<br />
end;<br />
mmoLog.Lines.Add('Авторизация прошла успешно!');<br />
o := so(sTemp);<br />
sSid:=o.S['Sid'];<br />
//получаем посты<br />
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.timeline.user&params={"Sid":"'+ sSid+'","or user":"","count":"'+edtCount.Text+'"}'), false, EmptyParam, EmptyParam);<br />
req.send(EmptyParam);<br />
o := so(req.responseText);<br />
Pairs:=o.GetEnumerator;<br />
while Pairs.MoveNext do<br />
begin<br />
sMsgId:=Pairs.Current.S['msg_id'];<br />
//удаляем посты<br />
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.message.destroy&params={"Sid":"'+ sSid+'","MsgID":"'+sMsgId+'"}'), false, EmptyParam, EmptyParam);<br />
req.send(EmptyParam);<br />
mmoLog.Lines.Add('Сообщение №'+Pairs.Current.S['msg_id']+' удалено!');<br />
end;<br />
finally<br />
Pairs.Free;<br />
end;<br />
mmoLog.Lines.Add('Задача завершена успешно!');<br />
Application.MessageBox('Сообщения успешнно удалены.', 'Информация', MB_OK +<br />
MB_ICONINFORMATION);<br />
end;<br />
<br />
end. <br />
<br />
Для тех кто не программист, можно скопировать готовую программу.<br />
Пароли и логины не ворую можете проверить сниффером. Связь только происходит с сервером mblogi.qip и все.<br />
<br />
Контрольные суммы:<br />
<b>MD5</b>:AD8DC7B7C211BB00F950FBBF3B25CDE9<br />
<b>SHA</b>-1:4842EABD7DFD465BF3E2574D5DED8D0CEFA33B6A<br />
SHA-256:6f67bf720348c131db52a76463c8df4b89a9a08082f4004fd997ed032c62bdb9<br />
<br />
<a href="https://www.virustotal.com/file/6f67bf720348c131db52a76463c8df4b89a9a08082f4004fd997ed032c62bdb9/analysis/1341857443/" rel="nofollow" target="_blank">Отчет Virustotal</a><br />
Скачать программу можно <a href="http://narod.ru/disk/55846856001.30dfb82bc6ff5f9a3c3ef61215f16800/DelQipStatus.exe.html" target="_blank">отсюда Download</a></div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com8tag:blogger.com,1999:blog-9144819905011498730.post-77386825099069557062012-06-16T03:07:00.000-07:002012-06-16T03:07:51.780-07:00Эта операция была прервана из-за ограничений наложенных на данный компьютер. Обратитесь к системному администратору.<div dir="ltr" style="text-align: left;" trbidi="on">Исправление <br />
http://support.microsoft.com/?kbid=310049</div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-91391896057360671402012-05-10T09:04:00.000-07:002012-05-10T09:04:03.219-07:00Drupal 7 services user.login user.logout (XML-RPC)<div dir="ltr" style="text-align: left;" trbidi="on"><b>user.login</b><br />
<b>POST</b><br />
<b>URL </b><span class="fieldset-legend"><b>Resources(пример)</b>:http://localhost/application</span><br />
<br />
<?xml version="1.0"?><br />
<methodCall><br />
<methodName>user.login</methodName><br />
<params><br />
<param><br />
<value><string>test</string></value><br />
</param><br />
<param><br />
<value><string>123</string></value><br />
</param><br />
</params><br />
</methodCall><br />
<br />
<b>user.logout</b><br />
<b>GET</b><br />
<b>URL: </b>http://localhost/7bots/user/logout</div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-48735116791837946492012-04-23T08:42:00.000-07:002012-04-23T08:42:28.040-07:00OnClick WebBrowser<div dir="ltr" style="text-align: left;" trbidi="on">Автор: <cite>James D. Rofka</cite><br />
<cite> </cite> <br />
unit Unit1;<br />
<br />
interface<br />
<br />
uses<br />
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />
Dialogs, OleCtrls, SHDocVw;<br />
<br />
type<br />
TForm1 = class(TForm)<br />
WebBrowser1: TWebBrowser;<br />
procedure FormCreate(Sender: TObject);<br />
private<br />
{ Private declarations }<br />
public<br />
{ Public declarations }<br />
protected<br />
procedure MyMessages(var Msg: TMsg; var Handled: Boolean);<br />
end;<br />
<br />
var<br />
Form1: TForm1;<br />
<br />
implementation<br />
<br />
{$R *.dfm}<br />
<br />
procedure TForm1.FormCreate(Sender: TObject);<br />
begin<br />
Application.OnMessage := MyMessages;<br />
end;<br />
<br />
procedure TForm1.MyMessages(var Msg: TMsg; var Handled: Boolean);<br />
var<br />
X, Y: Integer;<br />
document, E: OleVariant;<br />
begin<br />
Handled := False;<br />
if (WebBrowser1 = nil) or (Msg.message <> WM_LBUTTONDOWN) then<br />
Exit;<br />
<br />
Handled := IsDialogMessage(WebBrowser1.Handle, Msg);<br />
<br />
if (Handled) then<br />
begin<br />
case (Msg.message) of<br />
WM_LBUTTONDOWN:<br />
begin<br />
X := LOWORD(Msg.lParam);<br />
Y := HIWORD(Msg.lParam);<br />
// document := WebBrowser1.document;<br />
// E := document.elementFromPoint(X, Y);<br />
ShowMessage('You clicked on:' + #10);// + E.outerHTML);<br />
end;<br />
end;<br />
end;<br />
end;</div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-16951699380106708392012-04-06T04:47:00.001-07:002014-04-29T06:16:02.402-07:00Ошибка Item not found при запуске Delphi XE<div dir="ltr" style="text-align: left;" trbidi="on">
Ошибка возникает когда изменены переменные среды в windows и при этом у пользователя нет прав на запись в нее.<br />
<br />
<br />
Можно полностью отключить отображение раздела библиотек из навигационной панели проводника Windows. Для того чтобы это сделать, выполните следующие действия:<br />
Откройте редактор реестра;<br />
Перейдите в раздел HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder;<br />
Нажмите правой кнопкой мыши на названии раздела ShellFolder и в контекстном меню выберите команду «Разрешения»;<br />
В диалоговом окне «Разрешения для группы «ShellFolder»» перейдите на группу Администраторы и дайте ей полный доступ;<br />
Щелкните два раза левой кнопкой мыши на параметре Attributes для изменения значения и измените значение с b080010d на b090010d.<br />
Закройте редактор реестра и перезапустите процесс explorer.exe.<br />
<br />
Переустанавливал W и при установке среды Delphi XE возникла ошибка, эта же причиной была не стандартная папка Temp в переменных среды. Необходимо просто открыть доступ пользователя к ней и все нормально работает)))<br />
При изменении значений с b080010d на b090010d начинает тормозить отладчик! </div>
NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com17tag:blogger.com,1999:blog-9144819905011498730.post-29740981867893194732012-01-22T21:36:00.000-08:002012-01-22T21:39:14.660-08:00GIF с прозрачным фоном в BMP (Delphi)<div dir="ltr" style="text-align: left;" trbidi="on">var<br />
gif:TGIFImage;<br />
i:Integer;<br />
begin<br />
gif:=TGIFImage.Create;<br />
gif.Transparent:=True;<br />
gif.LoadFromFile('c:\1\2.gif');<br />
for i := 0 to gif.Images.Count-1 do<br />
begin<br />
with GIF.Images[i] do<br />
if (Transparent) then<br />
begin<br />
ActiveColorMap[GraphicControlExtension.TransparentColorIndex] := clWhite;<br />
GIF.Images[i].Bitmap.SaveToFile('c:\1\'+inttostr(i)+'.bmp');<br />
end;<br />
end;<br />
gif.Free;<br />
<br />
анимированные изображения разбивает на кадры </div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0tag:blogger.com,1999:blog-9144819905011498730.post-53124925347390002842011-07-05T06:58:00.000-07:002011-07-05T07:02:14.733-07:00Fast Dial 3.4 Mozilla 5.0<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-qlpD5nB2FcE/ThMYSFAJunI/AAAAAAAAAWg/-LIE6iL8tyE/s1600/mozilla.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-qlpD5nB2FcE/ThMYSFAJunI/AAAAAAAAAWg/-LIE6iL8tyE/s1600/mozilla.png" /></a></div><br />
После обновления Mozill'ы до 5 версии, я обнаружил то к чему очень привык, великолепный аддон Fast Dial перестал работать в 5 версии. Уныло, досадно, но ладно. Решил немного подождать, ну мало ли не успел может переписать под новый браузер....<br />
Прошло около 2 дней и вышла новая версия Fast Dial 3.4, установил, но не успел даже обрадоваться, как увидел, что он тоже не работает((. Поискал, что в инете пишут, поиски оказались тщетны. Потом вновь решил поискать и наткнулся на ветку в форуме мозилы в которой говорилось о том, что другой разработчик исправил Fast Dial 3.4 и теперь, он работает, но через попу (не стал рисковать, мало ли...) и зашел на офф сайт автора компонента и обнаружил там бета версию компонента Fast Dial 3.5b1, установил и все прекрасно работает без всяких танцев.<br />
<br />
Так что у кого такая же проблема <a href="https://addons.mozilla.org/en-US/firefox/addon/fast-dial-5721/versions/">решение тут</a>.<br />
<br />
ps. Я использую Fast Dial потому, что в нем нет ни чего лишнего.</div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com3tag:blogger.com,1999:blog-9144819905011498730.post-71936690661881582712011-04-06T02:09:00.000-07:002011-04-06T02:09:52.413-07:00Бета тестирование Delphi с 64-битным компилятором.<div dir="ltr" style="text-align: left;" trbidi="on">Ура товарищи, УРА!!!!!! Открыта регистрация на бета тестирование Delphi с 64-битным компилятором.<br />
Регистрируемся <a href="http://www.embarcadero.com/products/delphi/64-bit">тут</a><br />
<br />
</div>NMDhttp://www.blogger.com/profile/10385070424985940785noreply@blogger.com0