вторник, 2 июля 2013 г.

Тест подсветки синтаксиса-2

снова тестируем подсветку синтаксиса
на этот раз выделим часть кода, (highlight: [14,15,16,17,18,19,20,21];):

//выполняет указанный SQL в указанном TOraQuery с указанными параметрами _----------
function TDataMod.SQLOpen(myQ: TOraQuery; 
                          mySQL: string; 
                          myParams: array of variant): Boolean;
var s, s1: string;
    i: Integer;
begin
  try
    //готовим запрос
    if myQ.Active then myQ.Close;
    myQ.SQL.Clear;
    myQ.SQL.Add(mySQL);
    myQ.Prepare;
    //заполняем параметры
    if Length(myParams) > 0 then
    begin
      for i := 0 to Pred(myQ.Params.Count) do
      begin
        myQ.Params[i].Value := myParams[i];
      end;
    end;
    //выполняем запрос
    myQ.Execute;
    Result := True;
  except
    on E: Exception do
    begin
      Result := False;
      //сообщаем об ошибке и пишем в лог
      s1 := '';
      for i := Low(myParams) to High(myParams) do
      begin
        if s1 <> '' then s1 := s1 + ',';
        s1 := s1 + string(myParams[i]);
      end;
      s:='Ошибка SQL: /' + mySQL + '/параметры: ' + s1 + '/';
      WriteLog(ApCatcher.Log, s);
      WriteLog(ApCatcher.Log, E.Message);
      Application.MessageBox(PChar(s), 'Ошибка!!!', MB_ICONERROR+MB_OK);
    end;//on E:
  end;
end;


1 комментарий: