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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MAXAOH
наверно, плохо прописал путь. А еще ты написал
Цитата:
Создал новый Table
и
Цитата:
При запуске запроса  
из чего я не понял-- ты используешь ТТабле или TQuery.
Еще я б советовал устанавливать пути к таблицам программно
 
DatabaseName:=ExtractFilePath(paramstr(0))+'Data\';
 
а потом делать им Open

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:35 24-05-2007
ParisKozlov

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stas001
а пустые между пустыми удалять? )))

Всего записей: 50 | Зарегистр. 27-10-2006 | Отправлено: 11:27 24-05-2007
rs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос такой - написал простейший win-hook, перехватывающий и протоколирующий клавиатурный ввод
 
если после установки этого общесистемного хука запустить одновременно пару приложений - одно win-приложение, другое dos-приложение, то под WXP проблем нет никаких, а под W95/98 имеет место  следующее:
 
а)после нескольких переключений между dos и win приложениями (в каждом из приложений выполняется клавитурный ввод) через какое-то время при вводе c клавиатуры в win-приложении символа 'F' (или 'А' на кириллице) выскакивает виндовое окно поиска (как если бы были нажаты клавиши <Win><F>), то же самое с 'D'('В') - открывается десктоп (как будто нажаты <Win><D>) и т.п.
 
б)кроме того в W98 в dos-окне ни одно нажатие клавиши вообще не регистрируется (в WXP регистрация клавиатуры в dos-окне проходит без проблем)
 
подскажите, пожалуйста, как решить вопросы а) и б)
 
в)можно ли в W98 исключить перехват клавиатуры dos-приложений, для предотвращения ситуации а)?
 
--
tnx
--
 
зы  
хук ставится так:
 
// pdd.kHook - находится в файле отображения (MapViewOfFile)
    pdd.kHook := SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, Hinstance, 0);
 
метод хука:
function KeyboardProc(Code: Longint; wParam: WParam; lParam: LParam): LResult;  stdcall;
  Result := CallNextHookEx(pdd.kHook, Code, WParam, LParam);
 
  if (Code = HC_ACTION) and (((lParam shr 16) and KF_UP) = 0) then
  begin
    // нотифицируем наше приложение о нажатии клавиши
   ...
  end;
end;
 
 
Добавлено:
и еще вопрос - в разных источниках указываются разные варианты - так:
 
function KeyboardProc(...);  
  Result := CallNextHookEx(pdd.kHook, Code, WParam, LParam);  
 
  if (Code = HC_ACTION) and (((lParam shr 16) and KF_UP) = 0) then  
  begin  
    // нотифицируем наше приложение о нажатии клавиши  
   ...  
  end;  
end;
 
или так:
 
function KeyboardProc(...);  
 
  if (Code = HC_ACTION) and (((lParam shr 16) and KF_UP) = 0) then  
  begin  
    Result := 0;
    // нотифицируем наше приложение о нажатии клавиши  
   ...  
  end
  else
    Result := CallNextHookEx(pdd.kHook, Code, WParam, LParam);  
 
 
в чём разница? как правильнее?
 
end;

Всего записей: 1344 | Зарегистр. 19-04-2003 | Отправлено: 08:19 25-05-2007 | Исправлено: rs, 08:56 25-05-2007
ParisKozlov

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stas001
расскажи подробне что те нуна
 
я так понял что нужно удалить ВСЕ НЕ пустые строки?

Всего записей: 50 | Зарегистр. 27-10-2006 | Отправлено: 13:07 25-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 private
 s:string;
 
 
 
 
begin
 s:=edit1.text;
if opendialog1.Execute then
WinExec('1.exe' + s, 1) ;
 
 
выдает такую ошибку    
 
Incompatible types: 'String' and 'PChar'
 
курсор перед "1" но после "запятой"

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 18:56 25-05-2007
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MOO123
WinExec(PChar('1.exe' + s), 1);
но лучше использовать ShellExecute

----------
мой блог

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 19:14 25-05-2007
nuker2015



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Кто-нибудь знает как включить сглаживание ClearType только для одной формы, или контрола, не меняя при этом SystemParametersInfo как в примере:

Код:
var MType: cardinal;
begin
 MType:=FE_FONTSMOOTHINGCLEARTYPE;
 SystemParametersInfo(spi_SetFontSmoothingType, 0, Pointer(MType),
 spif_UpdateINIFile or spif_SendChange);
end;

Всего записей: 132 | Зарегистр. 26-10-2005 | Отправлено: 01:11 26-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короч нужно с помощью openPictureDialog нужно узнать размеры изображения в пикс. как это можно сделать......????

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 16:13 28-05-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MOO123
с помощью openPictureDialog никак. Он предназначен только для выбора файла/файлов
 
Учимся ставить правильно вопросы

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 21:08 28-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто и не сомневался)))
 
Хорошо......... как у файла выбранного в openPictureDialog можно узнать размер?
Чем подробней, тем лучше для понимания.

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 00:11 29-05-2007
Solnake



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

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 09:08 29-05-2007
AFT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз, как в делфе проверить имя текущего пользователя винды? Т.е. мне надо перед выполнением функции проверить имя текущего пользователя, как это сделать? как определить это имя?

Всего записей: 693 | Зарегистр. 15-10-2002 | Отправлено: 09:32 29-05-2007
vserd

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

Цитата:
как определить это имя?

uses sysutils;
UserName := GetEnvironmentVariable('USERNAME');

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 10:44 29-05-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AFT
Ну или  
GetUserName - просто имя юзера или
GetUserNameEx - во всяких разных видах
 
Вторая работает начиная с Вин2000, в делфячих заголовочных файлах не прописана, описывается так:

Код:
type
  EXTENDED_NAME_FORMAT = (
    NameUnknown, NameFullyQualifiedDN, NameSamCompatible, NameDisplay,
    NameUniqueId, NameCanonical, NameUserPrincipal, NameCanonicalEx,
    NameServicePrincipal, NameDnsDomain );
 
function GetUserNameEx(NameFormat: EXTENDED_NAME_FORMAT; lpNameBuffer: PChar;
  var nSize: Cardinal): Boolean; stdcall; external 'secur32.dll' name 'GetUserNameExA';

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 11:49 29-05-2007
AFT



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

Всего записей: 693 | Зарегистр. 15-10-2002 | Отправлено: 12:41 29-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake
мне нужно у бмп

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 12:50 29-05-2007
Ang



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MOO123
procedure GetBMPSize(const sBmpStr: string; var wWidth, wHeight: integer);
var
  ww : WordRec;
begin
  ww.Lo := Ord(sBmpStr[19]);
  ww.Hi := Ord(sBmpStr[20]);
  Move(ww, wWidth, SizeOf(ww));
 
  ww.Lo := Ord(sBmpStr[23]);
  ww.Hi := Ord(sBmpStr[24]);
  Move(ww, wHeight, SizeOf(ww));
end;
 
В sBmpStr грузишь BMP-файл. Можно не весь, а только первые 25 байт. Заголовок BMP-файла можно найти во многих местах. Например: _http://www.fastgraph.com/help/bmp_header_format.html

Всего записей: 251 | Зарегистр. 25-07-2001 | Отправлено: 14:08 29-05-2007
MOO123

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

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 14:39 29-05-2007
stealthstas

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, такой вопрос. Нужно на делфи отпарсить txt файл, а конкретно допустим есть содержимое файла:  
d:\All BUILTIN\AdministratorsOI)(CI)F  
         CREATOR OWNEROI)(CI)(IO)F  
         NT AUTHORITY\SYSTEMOI)(CI)F  
         BUILTIN\UsersOI)(CI)F  
нужно сделать так чтобы d:\All записывалось в одну колонку, а BUILTIN\AdministratorsOI)(CI)F  в другую и так весь файл, что посоветуете? Я делаю через VBScrip RegExp, только пока несильно получается )), но какие-то продвижения есть.

Всего записей: 15 | Зарегистр. 31-03-2006 | Отправлено: 16:08 29-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ang
Он выдает какие то большие и левые числа, мож я что нить не так сделал?

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 19:48 29-05-2007
   

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