procedure TFmMain.Button1Click(Sender: TObject);
var
cnt: Integer;
bmk: TBookmark;
begin
inherited;
DbGrid1.DataSource.DataSet.DisableControls; // Это - датасет грида
cnt := 0;
bmk := DbGrid1.DataSource.DataSet.GetBookmark; // Запомнили позицию
try // Считаем
DbGrid1.DataSource.DataSet.First;
while not FmMain.ListKvit.DataSource.DataSet.Eof do
begin
Inc(cnt);
DbGrid1.DataSource.DataSet.Next;
end;
DbGrid1.DataSource.DataSet.GotoBookmark(bmk); // Вернулись
finally
DbGrid1.DataSource.DataSet.FreeBookmark(bmk);
DbGrid1.DataSource.DataSet.EnableControls;
end;
ShowMessage('Всего записей = ' + IntToStr(cnt));
end;
Показаны сообщения с ярлыком delphi. Показать все сообщения
Показаны сообщения с ярлыком delphi. Показать все сообщения
воскресенье, 17 апреля 2011 г.
Узнать количество записей в фильтрованном Dataset в Lazarus.
четверг, 14 апреля 2011 г.
SQLIte подмена значений при выборке
Столкнулся с проблемой подменять значения непосредственно при выборке.
Первым вариантом было использовать оператор:
Первым вариантом было использовать оператор:
IIF( expression, true-value1, false-value )Но тут же обнаружилось что для SQLite этот метод не подходит. Порывшись в документации обнаружил аналог данной функции:
case ПОЛЕ when ЗНАЧЕНИЕ1 then ''НА ЧТО ЗАМЕНИЛИ'' when ЗНАЧЕНИЕ2 then ''НА ЧТО ЗАМЕНИЛИ2'' endТут же приведу пример как использовать:
select Number,tDate,tChto,tSerial,tChtoInd,tSerialInd,tTelefon, case tSost when 0 then ''У Мастера'' when 1 then ''Готово'' when 2 then ''Выдано'' end as tSost,tSum,tOplat,tRemark from kvit;
пятница, 10 сентября 2010 г.
Реализация NTLM в Indy 10
Заметка на память.
{$APPTYPE CONSOLE}
uses
SysUtils,
IdAuthentication,
IdAuthenticationNTLM,
IdHTTP;
type
TDummyProxy = class
private
class procedure OnProxyAuthorization( Sender: TObject;
Authentication : TIdAuthentication; var Handled : Boolean );
end;
{ TDummyProxy }
class procedure TDummyProxy.OnProxyAuthorization(Sender: TObject;
Authentication: TIdAuthentication; var Handled: Boolean);
begin
Authentication.Reset;
Authentication.Username := '...';
Authentication.Password := '...';
Handled := true;
end;
begin
with TIdHTTP.Create( nil ) do
try
OnProxyAuthorization := TDummyProxy.OnProxyAuthorization;
ProxyParams.ProxyServer := '...';
ProxyParams.ProxyPort := 3128;
ProxyParams.BasicAuthentication := false;
HTTPOptions := HTTPOptions + [ hoInProcessAuth ];
WriteLn( Get('http://ya.ru') );
finally
Free
end;
end.
Подписаться на:
Сообщения (Atom)