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

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

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

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101

   

RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Minissota
попробуй вместо  
SQL.Add('(fio_bol = "'+ fam + '")');  
 
написать
SQL.Add('(fio_bol = '''+ fam + ''')');  
 
(вместо двойных кавычек и одинарных три одинарные)
 
Добавлено:
Mandor Sawall
Есть такая буква !!!!! Большое спасибо.

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 10:16 18-02-2008
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Когда же народ научится параметры использовать?

Код:
 
  SQL.Add('(fio_bol = :fam)');
  Params[0].asString := fam;
 

RostY

Цитата:
(вместо двойных кавычек и одинарных три одинарные)

4 одинарные
SQL.Add('(fio_bol = ' + '''' + fam + ''''+')');

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 12:38 18-02-2008
RostY



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

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 17:42 18-02-2008
ranc



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

Цитата:
(вместо двойных кавычек и одинарных три одинарные)  

А я обычно пользуюсь функцией QuotedStr, чтоб c кавычками не морочиться.
Т. е.:
SQL.Add('(fio_bol = '+ QuotedStr(fam) + ')');

Всего записей: 535 | Зарегистр. 06-02-2003 | Отправлено: 18:39 18-02-2008
jemiko

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

Цитата:
У кого есть опыт работы такой связки:
Firebird (unicode_fss)
FIB Plus
Delphi 7
 
нтересует такой вопрос, сколько придеться проходить напильником, чтобы приложение работало в режиме unicode? Какие-то компоненты понадобятся или можно обойтись стандартными? Что  для этого надо будет сделать? Что порекомендуете прочитать по этой теме?

 
Никаких проблем и напильников не понадобится если работать с FIB Plus.  
Прочитать можно статьи на самом сайте FIB Plus, правда я работал в среде Д2006, но думаю проблем не должно быть. Еще тебе понадобятся Юникод контролы
"Tnt Unicode Controls" или Юникодовские "LMD".
А для ДБ Грида Посоветую "Berg NextDbGrid" он идет в комплекте "Next Berg Component Site".
Все это добро есть на этом форуме.
удачи.

Всего записей: 250 | Зарегистр. 16-04-2007 | Отправлено: 12:55 19-02-2008
lavren



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто нибуть работал с XLSRW II 3.01.02?
Как в компоненте ТXLSReadWriteII2 сменить ширину колонки?
В мануале пишут:

Цитата:
 
// Set the width of a column in characters
XLS.Sheet[0].Columns[6].CharWidth := 12;
// Set the width of a column in pixels
XLS.Sheet[0].Columns[7].PixelWidth := 30;
 

Но когда я пишу:

Код:
XLSReadWriteII21.Sheets[0].Columns[1].CharWidth:=12;

видает ерор:

Цитата:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0079B5E6 in module 'Project1.exe'. Write of address 0000001C'.

 

Код:
unit Columns2;
...
TXLSColumn = class(TFormattedObjectNotify)
private
...
     FWidth: integer;
...
 property Width: integer read FWidth write SetWidth;
...
procedure TXLSColumn.SetWidth(Value: integer);
begin
  if (Value < 0) or (Value > $FFFF) then
    raise Exception.Create('Invalid value');
  FWidth := Value;  <--------------------------Ошибка здесь!
end;

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 17:22 19-02-2008
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lavren
 
Недостаточно кода. Необходим Ваш код, который может приводить к ошибке.
 
Скорее всего не инициализирован или неправильно создан какой-то объект (возможно типа XLSColumn или его содержащий), потому как происходит нарушение памяти при попытки записи в privat память объекта. Где создается объект типа TXLSColumn?

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 20:36 19-02-2008
kirillkr



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

Цитата:
удачи.  

Огромное спасибо. У Вас есть опыт? Можно будет обращаться если возникнут вопросы?

----------
http://www.kraeg.ru

Всего записей: 538 | Зарегистр. 08-03-2006 | Отправлено: 20:56 19-02-2008
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lavren
попробуйте через  
procedure SetColWidthChar(Col1, Col2: integer; Value: double)
Sets the width in characters for colmns Col1 to Col2.
 
например, поставить ширину 20 символов для третьей колонки (нумерация идёт от нуля, если мне память не изменяет):
    XLSRW.Sheets[0].Columns.SetColWidthChar(2, 2, 20);
 
p.s. если надо ширину не в символах, есть ещё SetColWidth(Col1, Col2, Value: integer)
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 22:16 19-02-2008
daMMned



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, может кто подскажет. Возникла проблема. Запускаю 3d Mark 06 с помощью CreateProcess
 

Код:
 
function Tfrm_Main.TestRunner(const FileName, Params: String; const WinState: Word):boolean;  
var  
  StartInfo: TStartupInfo;  
  ProcInfo: TProcessInformation;  
  CmdLine: String;  
begin  
  CmdLine := '"' + Filename + '" ' + Params;  
  with StartInfo do  
  begin  
    FillChar(StartInfo, SizeOf(StartInfo), #0);  
    cb := SizeOf(StartInfo);  
  end;  
  if FileExists (filename)=false then ShowMessage('Не найден файл '+filename) else  
   begin  
    Result := CreateProcess(nil, PChar(String(cmdline)), nil, nil, false,  
                 CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, PChar(String(ExtractFilePath(Filename))),StartInfo,ProcInfo);  
 if Result=true then  
   begin  
    WaitForSingleObject(ProcInfo.hProcess, INFINITE);    
    CloseHandle(ProcInfo.hProcess);  
    CloseHandle(ProcInfo.hThread);  
   end;  
  end;  
end;

 
проблема в следующем: если компьютер только что загрузился, или я не запускал 3dMark с помощью своей программы, то когда я его запускаю (вызываю сию финкцию), он зависает при первом запуске, и то, при условии, что на Windows XP стоит IE7. Под Вистой всегда все нормально, и с Windows XP SP2 с IE6 тоже. Обнаружил, что если закомментировать waitForSingleObject, и все что после него (CloseHandle), то все запускается нормально всегда. Если использовать ShellExecute - тоже все нормально. Соль в том, что мне нужно дождаться, когда 3dMark сам завершится (чтобы выполнять след. действия). Кто можь подскажет, в чем проблема?

Всего записей: 68 | Зарегистр. 07-11-2005 | Отправлено: 08:11 20-02-2008 | Исправлено: daMMned, 08:21 20-02-2008
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
daMMned
а так не пробовал:
Подробнее...
 
 
Добавлено:
еще вариант: засунуть порверку ту что в цикле repeat-until в таймер

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:35 20-02-2008
lavren



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

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 09:48 20-02-2008
daMMned



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RostY
Нет, так не пробовал.
Помогло, большое спасибо.

Всего записей: 68 | Зарегистр. 07-11-2005 | Отправлено: 10:31 20-02-2008
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разбираю один исходник, в нем вместо &#8203;Sleep(100) используется WaitForSingleObject(0, 100) - насколько это корректно и вообще, зачем так сделано, может кто толково объяснить?

Всего записей: 3762 | Зарегистр. 19-04-2005 | Отправлено: 11:50 20-02-2008
Figaro2000

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
WaitForSingleObject - прямой вызов Win32 API (см. описание в MS SDK Help), абсолютно корректно.  
Смысл вызова - просто ждем 100 без указания объекта (хэндл - 0)
Зачем сделано именно так - сказать сложно, возможно автору исходника привычней работать с объектами синхронизации - крититческими секциями, защелками и семафорами.

Всего записей: 245 | Зарегистр. 24-09-2005 | Отправлено: 12:05 20-02-2008
envenom



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Через некоторое время после установки CodeGear RAD Studio 2007 при запуске начинает требовать серийник Enterprise Core Objects 4, причем это окно вылезает также при запуске VS2005, есть ли ключик или кряк для ECO какой нибудь?
Заранее благодарен hxxh@mail.ru.

Всего записей: 1 | Зарегистр. 20-02-2008 | Отправлено: 12:52 20-02-2008
jemiko

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

Цитата:
Огромное спасибо. У Вас есть опыт? Можно будет обращаться если возникнут вопросы?

Опыт не большой, но пообщатся можно конечно, ответим по мере возможности (знания) и времени.

Всего записей: 250 | Зарегистр. 16-04-2007 | Отправлено: 13:25 20-02-2008
davidyantz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 Пишу программу на Дельфи, которая использует некую dll (в конкретном случае - twain32.dll). У этой длл-ки есть неприятная особенность - когда источник данных физически не подключен к порту компьютера, то при попытке коннекта к устройству длл-ка выбрасывает на экран окошко с ошибкой, в котором нужно нажить кнопку "ОК".
 
  Я думаю, перехватить этот Exception моя программа не в силах, тогда такой вопрос: как используя ресурсы twain32.dll, определить, подключено ли устройство к компу или нет?
 
  Возможное решение, к которому я сейчас склоняюсь, это создание в моей программе потока, из которого будет вызываться эта dll именно в момент открытия источника данных, а в основной программе повесить WaitForSingleObject на данный поток с временем ожидания 1000-2000 мс, после истечения которого считать, что окошко с ошибкой всё же появилось.   Но это решение мне кажется не совсем корректным, потому как неизвестно, будет ли фунциклировать twain32.dll, если не нажать на кнопку "ОК" в окне с ошибкой. (Примечание: моя программа запускается от имени некоего пользователя, и, естественно, залогинившийся на компе юзер не увидит никакого окошка с ошибкой и тем более не сможет ни на что нажать).
 

Всего записей: 23 | Зарегистр. 06-11-2007 | Отправлено: 17:07 20-02-2008
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята простите за офтоп, но чисто ради Delphi. Может быть кто то еще не знает Codegear проводит очередной опрос мнения разработчиков. Прошу всех ответсвенно проголосовать.
http://www.delphilab.ru/content/view/212/1/

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 19:57 20-02-2008
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В моем Кодегире 2007 студия
VCL for Web 9 незарегистрирован, посоветуйте, че сделать, чтоб заработало
Спасибо

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 08:12 21-02-2008
   

Страницы: 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 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru