Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди подскажите как засунуть в interbase картинку(создавал таблицу в IBExpert тип данных -  blob - картинку вставил, в делфи этот столбец определяется как масив, вывести на экран не могу)
примеры с другими базами данных не катят!

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 12:35 10-05-2006
ReLock

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RomanTim
Спасибо. Это хороший вариант.

Всего записей: 11 | Зарегистр. 17-04-2006 | Отправлено: 12:43 10-05-2006
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RostY
 
Когда у меня выскакивает ошибка ORA-12560 то связь тоже нормально восстанавливается.
 
У меня получается такая ситуация:
 
Открываю прогу, работаю с запросом.  Потом при простое программы обрываю связь (выдергиваю кабель), опять пытаюсь выполнить  запрос и есно получаю сообщение об ошибке (ORA-03114 - нет связи с базой). Потом опять тыкаю кабель и пытаюсь выполнить код выше написанный мной. В результате два раза при ADOQuery1.Open выдается таже ошибка ORA-03114. Апосля этого помогает тока перезапуск проги. Чего бы нехотелось. Подскажи как быть если это возможно. Заранее огромное спасибо.  

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 14:23 10-05-2006
OrlangurStep



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlxMonster
Спасибо

Всего записей: 1392 | Зарегистр. 08-04-2006 | Отправлено: 14:33 10-05-2006
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pit23
в ПМ

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 17:01 10-05-2006
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
var  
str : string;
 
str := '123';
Напомните плиз как определить что это число?

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 22:19 10-05-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL
Из справки Архангельского:
Цитата:
 
Следующие операторы читают тексты, введенный пользователем в окна редактирования Edit1 и Edit2. Если при перевде строки генерируется исключение, то срабатывают операторы раздела except:
 
try
  С := StrToCurr(Edit1.Text);
  R := StrToFloat(Edit1.Text);
  I := StrToInt(Edit2.Text);
except
// Перехват исключения при ошибочном числе
   on EConvertError do begin
     Application.MessageBox('Неверный  
формат чисел',
                            'Исправьте данные',
                            MB_OK+MB_ICONSTOP);
   abort;
   end
 
Оператор
 
i := StrToIntDef(Edit1.Text,0);
 
присваивает целой переменной i значение, введенное пользователем в окно Edit1. Если пользователь ввел недопустимое число, значение i будет равно нулю.

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 22:29 10-05-2006
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все уже сам разобрался
 
Надо писать следующее:
 

Код:
Try
    if (ADOConnection1.Connected=TRUE)then
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from vesvag where rownum <100');
      end
    else
      begin
        while ADOConnection1.Connected = False do
          ADOConnection1.Connected := True;
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from vesvag where rownum <100');
      end;
 
  if (ADOConnection1.Connected=TRUE) then
   ADOQuery1.Open
  else
   begin
     while ADOConnection1.Connected = False do
        ADOConnection1.Connected := True;
     ADOQuery1.Open;
   end;
 
  Except
    on EOleException do
      begin
       ADOConnection1.Connected := False;
       Application.MessageBox('Нажмите Enter для дальнейшей работы','Потеря коннекта',MB_OK);
     end;
 
  End;

Спасибо за внимание

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 11:22 11-05-2006
ShamaN



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Необходимо передать строку в таблицу Word и распечатать документ.
 
Делаю:

Код:
 
FileName:=path+'doc1.doc';
form1.WordApplication1.Connect;
 
WordApplication1.Documents.Open(FileName,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
 
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordDocument1.Tables.Item(2).Range.Text:='ТЕКСТ';
WordDocument1.Save;
WordDocument1.PrintOut;
form1.WordApplication1.Disconnect;
 

 
после этого выдается сообщение, что необходимо дождться окончания печати. Как сделать, что бы Disconnect не происходил до конца постановки в очередь печати?
И еще, как включать/выключать печать фоновых цветов и рисунков?

Всего записей: 1297 | Зарегистр. 23-09-2004 | Отправлено: 13:31 11-05-2006 | Исправлено: ShamaN, 13:32 11-05-2006
ggrrizzlly

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShamaN
Печать документа Word'ом я делаю след. образом:
PrnWord.txtprocedure TfmMain.Print_Doc(DocFile: string);
var
  Template, NewTemplate, ItemIndex: OleVariant;
  SaveChanges, OriginalFormat, RouteDocument: OleVariant;
begin
  try
    Template := EmptyParam;
    ItemIndex := 1;
    WordApplication.Disconnect;
    Wordapplication.Connect;
    WordApplication.Visible := True;
    //WordApplication.Activate;
    Template := DocFile;
    NewTemplate := False;
    WordApplication.Documents.Add(Template, NewTemplate, EmptyParam, EmptyParam);
    {Assign WordDocument component}
    WordDocument.ConnectTo(WordApplication.Documents.Item(ItemIndex));
    WordApplication.PrintOutOld;
    SaveChanges := WdDoNotSaveChanges;
    WordDocument.Close(SaveChanges);
    WordApplication.Disconnect;
  except
    on E: SysUtils.Exception do
      begin
        ShowMessage('Ошибка при работе с MS Word ! - ' + E.Message); //ErrorDialog(E.Message, E.HelpContext);
        WordApplication.Disconnect;
      end;
  end;
end;

Всего записей: 42 | Зарегистр. 24-04-2006 | Отправлено: 15:54 11-05-2006
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RostY
 

Цитата:
в ПМ

 
Может я глупый, но что это значит ?
 

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 19:31 11-05-2006
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pit23

Цитата:
Может я глупый, но что это значит ?

это твой ЛИЧНЫЙ ЯЩИК
находится в верху страницы

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 20:53 11-05-2006
Sergey1970



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросик, есть примерно 2500 bmp-картинок (порезана карта). Как программно объеденить два (три... и т.д.) изображения в одно? Натолкните на мысль, плз.

Всего записей: 55 | Зарегистр. 11-02-2003 | Отправлено: 17:47 12-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sergey1970
Создаём в памяти большой TCanvas и рисуем на нём картинки в нужных позициях.
Позиции скорее всего можно узнать с имени файла (у карт обычно там координаты на сетке)

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:09 12-05-2006
Zver1992

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть файл 2.txt . Его нужно открыть и проанализировать 3 строку. Если она равняецца - "TEST" - выполнить что-то. Если нет - то проанализировтаь через 5 сек. С таймерами и функциями я сам вобщем то разберусь. А как с анализатором?

Всего записей: 599 | Зарегистр. 30-10-2004 | Отправлено: 11:46 14-05-2006
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zver1992

Цитата:
Есть файл 2.txt . Его нужно открыть и проанализировать 3 строку. Если она равняецца - "TEST" - выполнить что-то. Если нет - то проанализировтаь через 5 сек. С таймерами и функциями я сам вобщем то разберусь. А как с анализатором?


Код:
 
var
  f: TextFile;
  s: String;
  i: Integer;
...
  AssignFile(f, '2.txt');
  reset(f);
  try
    i := 0; //это будет счетчик строк
    while (not eof(f)) and (i < 3) do begin //читаем файл, пока не встретим 3 строку или конец файла
      Inc(i);             //Увеличиваем счетчик строк
      readln(f, s);     //Считываем строку в переменную s
      if i=3 then       //Если строка третья, то проверяем её.
        if (s = 'TEST') then begin
          {do something}
        end else begin
          {do something else}
        end
    end
  finally
    CloseFile(f)
  end
...
 

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 13:20 14-05-2006
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну например воспользоваться классом TStringList
var
sl : TStringList;
begin
sl := TStringList.create;
sl.loadfromfile('2.txt');
if sl.Strings[2] = 'TEST' then
  bla-bla-bla
sl.free;
end;

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 16:30 14-05-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
if sl.Strings[2] = 'TEST' then  

if AnsiUpperCase(sl.Strings[2]) = 'TEST' then  
так вернее.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 12:34 15-05-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
if AnsiUpperCase(sl.Strings[2]) = 'TEST' then  
так вернее.

Ну а чтобы совсем наверняка , то все это надо в try .. except завернуть - файла может и не быть или он занят, и проверку написать на количество строк в файле
if (sl.Count > 2) and (AnsiUpperCase(sl.Strings[2]) = 'TEST') then  

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 13:14 15-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
if AnsiUpperCase(sl.Strings[2]) = 'TEST' then

А можна ещё лучше написать

Цитата:
if SameText(sl.Strings[2], 'TEST') then

Эта функция сама приведёт к нужному регистру и сравнит строки. Также в этой функции есть третий параметр (начиная с Делфи2005), который позволяет указать локаль

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 13:41 15-05-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru