select
gen_id(generator_name, 1 ) as field_id
from rdb$database
одна запись в поле field_id со значением очередного значения генератора generator_name
Есть идея по созданию интересной программы?
четверг, 30 сентября 2010 г.
воскресенье, 26 сентября 2010 г.
Диалоговое окно WebBrowser ошибка сценария
Ярлыки:
TWebBrowser
Избавляемся от окна путем установки значения свойства Silent:=True
WebBrowser1.Silent:=True;
Свойство Silent запрет демонстрации ошибок сценария на сайте
WebBrowser1.Silent:=True;
Свойство Silent запрет демонстрации ошибок сценария на сайте
Этот документ был изменен. Сохранить изменения?
Ярлыки:
TWebBrowser
Это диалоговое окно возникает только когда WebBrowser находиться в режиме редактора и происходит загрузка другого документа, а в документ который был первоначально загружен были произведены изменения.
Чтобы избавиться от этого диалогового окна следует отключить режим редактора в WebBrowser и загрузить документ после чего снова включить режим редактора.
Включения редактора в WebBrowser я повесил на событие возникающие по окончанию загрузки документа в WebBrowser NavigateComplite.
.....
WebBrowser1.OnNavigateComplete2: = NavigateComplite;
WebBrowser1.Navigate('Документ');
.....
procedure NavigateComplite (ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
end;
Чтобы избавиться от этого диалогового окна следует отключить режим редактора в WebBrowser и загрузить документ после чего снова включить режим редактора.
Включения редактора в WebBrowser я повесил на событие возникающие по окончанию загрузки документа в WebBrowser NavigateComplite.
.....
WebBrowser1.OnNavigateComplete2: = NavigateComplite;
(WebBrowser1.Document as IHTMLDocument2).designMode := 'off';
WebBrowser1.Navigate('Документ');
.....
procedure NavigateComplite (ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
(WebBrowser1.Document as IHTMLDocument2).designMode := 'On';
end;
суббота, 11 сентября 2010 г.
FIBPlus + Ehlib локальная сортировка
Для того, чтобы в гриде Ehlib'а работала сортировка и фильтрация необходимо добавить в uses модуль находящийся в папке EhLib 5.2.84\DataService\Others естественно если вы работаете с
Ado необходимо выбрать EhlibADO в нашем случае необходимо выбрать EhlibFib
после чего в свойствах грида выставить значения так
.SortLocal := True;
.STFilter.InstantApply := True;
.STFilter.Local := True;
.STFilter.Visible := True;
после чего фильтрация должна работать в гриде нормально без написания дополнительного кода
И необходимо в Uses прописать EhlibFIB (для фибов)
Ado необходимо выбрать EhlibADO в нашем случае необходимо выбрать EhlibFib
после чего в свойствах грида выставить значения так
.SortLocal := True;
.STFilter.InstantApply := True;
.STFilter.Local := True;
.STFilter.Visible := True;
после чего фильтрация должна работать в гриде нормально без написания дополнительного кода
И необходимо в Uses прописать EhlibFIB (для фибов)
Загрузка изображения из интернета в поток (Delphi)
uses wininet;
function LoadImage(url:string): TMemoryStream;
var
hInternet, hConnect: pointer;
dwBytesRead, i, L: cardinal;
sTemp: AnsiString;
begin
Result:=TMemoryStream.Create;
hInternet := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hInternet) then
begin
hConnect := InternetOpenUrl(hInternet, PChar(url), nil, 0, 0, 0);
if Assigned(hConnect) then
try
i := 1;
repeat
SetLength(sTemp, L + i);
if not InternetReadFile(hConnect, @sTemp[i], sizeof(L),dwBytesRead) then
break;
inc(i, dwBytesRead);
until dwBytesRead = 0;
finally
InternetCloseHandle(hConnect);
end;
end;
finally
InternetCloseHandle(hInternet);
end;
Result.Write(sTemp[1], Length(sTemp));
Result.Position := 0;
end;
Данную функцию использовал для загрузки изображений с различными форматами:
bmp, gif, png, jpeg, tiff, ico и др. Проблем не возникало. Главное, что необходимо сделать это сохранять картинки с теми же расширениями которые у них были, чтобы потом не возникало путаницы. Я сохранял с именами файлов которые брал из прямых ссылок на картинки.
Для получения имени файла из Url использую функцию
function ExtractUrlFileName(const AUrl: string): string;
var
i: Integer;
begin
i := LastDelimiter('/', AUrl);
Result := Copy(AUrl, i + 1, Length(AUrl) - (i));
end;
function LoadImage(url:string): TMemoryStream;
var
hInternet, hConnect: pointer;
dwBytesRead, i, L: cardinal;
sTemp: AnsiString;
begin
Result:=TMemoryStream.Create;
hInternet := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hInternet) then
begin
hConnect := InternetOpenUrl(hInternet, PChar(url), nil, 0, 0, 0);
if Assigned(hConnect) then
try
i := 1;
repeat
SetLength(sTemp, L + i);
if not InternetReadFile(hConnect, @sTemp[i], sizeof(L),dwBytesRead) then
break;
inc(i, dwBytesRead);
until dwBytesRead = 0;
finally
InternetCloseHandle(hConnect);
end;
end;
finally
InternetCloseHandle(hInternet);
end;
Result.Write(sTemp[1], Length(sTemp));
Result.Position := 0;
end;
Данную функцию использовал для загрузки изображений с различными форматами:
bmp, gif, png, jpeg, tiff, ico и др. Проблем не возникало. Главное, что необходимо сделать это сохранять картинки с теми же расширениями которые у них были, чтобы потом не возникало путаницы. Я сохранял с именами файлов которые брал из прямых ссылок на картинки.
Для получения имени файла из Url использую функцию
function ExtractUrlFileName(const AUrl: string): string;
var
i: Integer;
begin
i := LastDelimiter('/', AUrl);
Result := Copy(AUrl, i + 1, Length(AUrl) - (i));
end;
Подписаться на:
Сообщения (Atom)