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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
Цитата:
ее в сравнение не подставить, будет воспринято как вызов
Несмотря на то, что оператор @ извлекает адрес переменной, для переменных процедурного типа он извлекает значение. Даже в делфовом хелпе так написано. Сбивает с толку, но факт.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 22:04 23-10-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FireZone
Про собаку знаю, но ведь без нее все таки не подставить собака именно что сбивает с толку, а Assigned(ProcPtr) читается вполне однозначно

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 23:02 23-10-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Цитата:
Хотя вроде Assigned и делает проверку на nil, но почему-то раньше (в 3 Делфи кажеться) Assigned пучило от nil

Насчёт Дельфи 3 не знаю, а в современных версиях использую только Assigned - пока проблем не было.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 00:30 24-10-2006
HOUPE

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Маленький такой, скромный такой вопросик :
В прогу загружаются таблицы с SQL сервера, таблиц примерно 4 по 10 тыс записей и выборка из таблы(млн. записей) около 15тыс записей. Прога как-то странно работает, то медленно, то быстро грузит. Почему?
 
P.S. С базой кроме меня пока не работает.

Всего записей: 54 | Зарегистр. 15-08-2006 | Отправлено: 04:59 24-10-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
HOUPE
Даже если запросы возвращают одинаковое количество записей это ещё ничего не означет. Можно сделать такой запрос к серваку, что он долго в себя не будет приходить.  
Так как запросы ты не приводишь - судить о их производительности сложно. А во вторых серверы могут кешировать запросы.  
А в третих, ты не написал технологию доступа к данным (BDE, ADO)

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

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HOUPE
1) Какой SQL сервер? (MS SQL Server или что другое)
2) Возможно, что  локальная сеть загружена пересылкой других данных.
3) По сколько записей в пачке пересылаются данные за один round-trip?

Всего записей: 488 | Зарегистр. 03-08-2004 | Отправлено: 10:17 24-10-2006
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу обычной форме запретить терять фокус. Делаю так -  
 

Код:
 
procedure TfrTrees.WndProc(var Message: TMessage);
begin
  with Message do
    case Msg of
      WM_KILLFOCUS, WM_ACTIVATE: begin
        if (Message.Msg = WM_ACTIVATE) then
          if (Message.WParam = WA_INACTIVE) then exit;
        if (Message.Msg = WM_KILLFOCUS) then exit;
      end;  
    end;
  inherited WndProc(Message);        
end;
 

 
Подскажите, что не так?

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 10:24 24-10-2006
vshersh



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

Код:
FormStyle := fsStayOnTop
?
Правильность твоего подхода сомнительна...
MSDN WM_KILLFOCUS Notification
Цитата:
While processing this message, do not make any function calls that display or activate a window. This causes the thread to yield control and can cause the application to stop responding to messages. For more information, see Message Deadlocks.  

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 10:29 24-10-2006
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
 
забыл второе условие задачи написать - мне этой форме надо уметь Hide еще сказать. fsStayOnTop отпадает в таком случае..

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 10:57 24-10-2006
vshersh



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

Цитата:
fsStayOnTop отпадает в таком случае..

Объясни, почему?

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 11:15 24-10-2006
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
 
прошу прощения, ошибся...
чем плох вариант с fsStayOnTop - доступны контролы остальных форм. Мне нужно поведение как у модальной формы, но с возможностью сделать Hide.

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 11:29 24-10-2006
Andysoft3C

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем
Ищу алгоритм CRC24 на Delphi, есть на С может кто поможет перевести
 
#define CRC24_INIT 0x00b704ceL  
#define CRC24_POLY 0x01864cfbL
long crc_octets_tab (char *octets, int len)  
{  
long crc = CRC24_INIT;
long temp;  
int arg;
 
  while (len--)
  {  
    temp   = crc;
    temp >>= 8;
    temp >>= 8;
    temp  ^= *octets++;
    arg    = temp & 0x000000FF;
    crc  <<= 8;
    crc   ^= CRC24tab[arg];
  }  
  crc &= 0x00ffffffL;  
  return crc;  
}  

Всего записей: 53 | Зарегистр. 07-08-2006 | Отправлено: 11:32 24-10-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunduk4
Ну тогда и делай ShowModal... Добавь в обработчике OnClose

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caHide;
end;

И просто закрывай форму, а потом, если нужно снова показать - вызывай снова ShowModal

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 11:34 24-10-2006
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
 
мда.. про это я как-то не подумал..
спасибо. прошу прощения за глупый вопрос.

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 11:43 24-10-2006
HOUPE

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

OdesitVadim
 
Запрос примерно такой:  
'SELECT * FROM table1 WHERE field1 = convert(datetime,'''+date1+''',104)'+
  ' ORDER BY field1,field2,field3,field4,field5';
 
А использую я ADODataSet,  
насчет кэширования пока ни чего не могу сказать - надо подумать
 
oan42  
 
SQL Server 2000
 
P.S HELP! PLEASE!
 
 

Всего записей: 54 | Зарегистр. 15-08-2006 | Отправлено: 11:48 24-10-2006
perceptron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди - может кто знает как перед началом копирования данных в сетевую папку на удалённой машине в локальной сети программно указать логин пароль и опять же программно зайти на этот комп перед началом копирования и хотелось бы без создания сетевого диска как это делает например прога APBackUp (в ней задаётся отдельно Login и Pass для захода на удалённый комп). WNetAddConnection2 - подошла бы но ей надо указывать ещё и сетевой локальный диск, чего не хотелось бы.
Какие мысли есть по этому вопросу ?

Всего записей: 433 | Зарегистр. 23-12-2005 | Отправлено: 12:17 24-10-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
perceptron
msdn
lpLocalName -
Points to a null-terminated string that specifies the name of a local device to be redirected, such as "F:" or "LPT1". The string is treated in a case-insensitive manner. If the string is empty or lpLocalName is NULL, the function makes a connection to the network resource without redirecting a local device.
 
по нашему делай так  
lpLocalName := nil;
и будешь обращаться \\server\shra

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 13:19 24-10-2006
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andysoft3C
Цитата:
Ищу алгоритм CRC24 на Delphi, есть на С может кто поможет перевести
Перевел. Вот что вышло:
Код:
const
  CRC24_INIT: Integer = $00b704ce;
 
function crc_octets_tab(const buf; len: Integer): LongInt;
var
  b: PByte;
begin
  result := CRC24_INIT;
  b := @buf;
  while len > 0 do begin
    result := result shl 8 xor CRC24tab[(result shr 16 xor b^) and $000000FF];
    Inc(b);
    Dec(len)
  end;
  result := result and $00FFFFFF
end;

 
ошибся с порядком операций (and приоритетнее, чем xor), исправил

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 15:46 24-10-2006 | Исправлено: FireZone, 05:16 25-10-2006
oan42



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HOUPE
Попробуй выполнить свои SELECT по одному из какой-нибудь оболочки,
а  не из проги.

Всего записей: 488 | Зарегистр. 03-08-2004 | Отправлено: 20:41 24-10-2006
xlebopezka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HOUPE
 
1. mssql кеширует запрос и при повторном таком же запросе результат получается в несколко раз быстрее.
2. Возможно сервер нагружен запросами к другим БД. На сервере другие БД есть?
3. Может причина тормозов в логике программы?
 
Причин может быть масса, нужно методом исключения найти основную. Попробуй, как написал oan42.

Всего записей: 93 | Зарегистр. 06-07-2005 | Отправлено: 00:07 25-10-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