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

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

   

ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freddom12345
Перенес проекты с семерки со стандартными дельфийскими компанентами. Никаких проблем.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 13:34 18-11-2007
freddom12345

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

Всего записей: 14 | Зарегистр. 16-06-2007 | Отправлено: 14:35 18-11-2007
OdesitVadim



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

Цитата:
Господа! Не подскажете в какой теме можно обсудить переход с Delphi7 на Delphi2007? Кто нибудь переносил проект?

Переноситься, если только не использовались "хаки".
Например, раньше кнопка на панели задач не сильно была связана с главной формой. Теперь - связана, если в файле проекта добавленна строка Application.MainFormOnTaskBar := true;
и если поменить Caption формы, то кнопка на таксбаре тоже обновиться. Если строку убрать (она также в настройках проекта отключаеться), то поведение вернётся к старому, но поддержка вистовских фич пропадёт. Также некоторые старые компоненты для работы с иконкой в трее могут начать нестабильно работать.

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 16:52 18-11-2007
lavren



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

Цитата:
Чем-то мне это сильно напоминает shell replacement.

Что-то типа этого!!!  

Цитата:
Или для терминала все по-другому?

Когда прописано какую прогу запускать при старте сессии то эксплорер не запущен! Так что можно его подменить правильно прописав текст окон и их классы!

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 15:13 19-11-2007 | Исправлено: lavren, 15:15 19-11-2007
Arvur



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

Цитата:
Что-то типа этого!!!  

Тогда это не на дельфаке надо делать имхо. Невыгодно - все ручками.
Раньше в гугле можно было найти десяток готовых поделок под плюсы.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 18:30 19-11-2007
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в CheckListBox е если элементы не входят в бокс и появляется полоса прокрутки наблюдается такая вещь - если мышкой повозить на нижнем краю компоненты то происходит скроллинг элементов. вопрос заключается в том как отловить это событие ).

Всего записей: 519 | Зарегистр. 07-06-2007 | Отправлено: 04:12 20-11-2007
makbeth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR
Можно переопределить WindowProc у CheckListBox и в ней отлавливать WM_HSCROLL. Получится примерно следующее:

Код:
 
procedure TForm1.CheckWndProc(var Message: TMessage);
begin
    if Message.Msg = WM_HSCROLL then
    begin
    end;
    FOldWndProc(Message);
end;
 
...
 
begin
    FOldWndProc:=CheckListBox1.WindowProc;
    CheckListBox1.WindowProc:=CheckWndProc;
end;
 

Всего записей: 241 | Зарегистр. 08-12-2004 | Отправлено: 06:10 20-11-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как бы проверить, что моя прога запущена с флэшки, а не с хдд?
PS
Пока делаю так:

Код:
  Drive := ExtractFileDrive(Application.ExeName)+'\';
  DriveType := GetDriveType (PChar(DriveToOpen));
  if DriveType = Drive_Removable then Result := TRUE;
 

Но дает ли это 100% гарантию точности определения?

Всего записей: 3780 | Зарегистр. 19-04-2005 | Отправлено: 10:41 20-11-2007 | Исправлено: relictus, 11:15 20-11-2007
davidyantz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Если в настройках биоса прописано эмулировать USB в качестве HDD, то 100% гарантии не может быть.

Всего записей: 23 | Зарегистр. 06-11-2007 | Отправлено: 13:55 20-11-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
davidyantz
Я почему и вопрошал...
Радует, что не всякий БИОС и, уж тем более, юзер знает об этом

Всего записей: 3780 | Зарегистр. 19-04-2005 | Отправлено: 15:22 20-11-2007
davidyantz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 Хотя с другой стороны, Бивис  -  эта та же самая прога, состоящая из машинных инструкций, что и Винда... Естественно, Винда может притвориться: "Окей, бивис, будем конфигурить свои устройства в соответствии с твоими настройками, хотя я точно знаю, что это никакой не ХДД!" И вернёт тебе DriveType = Drive_Fixed.  

Всего записей: 23 | Зарегистр. 06-11-2007 | Отправлено: 15:28 20-11-2007
TankMan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожалуйста, кто знает. Где можно почитать о работе с MySQL в дельфи. А вообще т.к. мне нужна всего одна операция может кто проконсультирует меня - какой компонент использовать из стандартного набора Дельфи7 для SQL на другой машине. И мне нужно добавить строчку в таблицу базы данных (ни удалять ни проверять ее не нужно) ни каких выборок - просто добавить строчку в базу данных.

Всего записей: 599 | Зарегистр. 01-06-2002 | Отправлено: 00:30 21-11-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А куда подевались PngComponents ( www.thany.org/article/32/PngComponents ) ? Проект помер или есть где-то его развитие, кто знает?

Всего записей: 3780 | Зарегистр. 19-04-2005 | Отправлено: 16:40 21-11-2007
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
relictus
У меня сайт нормально открылся.
Насколько я помню, там вполне получается подсовывать свежую версию pngimage.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 19:35 21-11-2007
DroN_S

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

Цитата:
И мне нужно добавить строчку в таблицу базы данных (ни удалять ни проверять ее не нужно) ни каких выборок - просто добавить строчку в базу данных.

INSERT INTO NameTable (Перечисляешь поля)
VALUES тут параметры

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 21:23 21-11-2007
YuriyRR



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

Цитата:
Можно переопределить WindowProc у CheckListBox и в ней отлавливать WM_HSCROLL. procedure TForm1.CheckWndProc(var Message: TMessage);  
begin  
    if Message.Msg = WM_HSCROLL then  
    begin  
    end;  
    FOldWndProc(Message);  
end;  
begin  
    FOldWndProc:=CheckListBox1.WindowProc;  
    CheckListBox1.WindowProc:=CheckWndProc;  
end;  
 

 
Это работает только когда полосу прокрутки дергаешь ( тока WM_VSCROLL естно), а когла выбираешь элемент и вверх вниз вверх вниз - скроллинг происходит, а событий нет (
 
Spy - ем прошелся выяснил, что в этом случае всего 2 события случаются
 WM_CTLCOLORLISTBOX  
 WM_DRAWITEM
все не по теме, кароче билл виноват
 А WM_CTLCOLORLISTBOX передается паренту т.е. отловить его можно только на форме,  
да и это как-то не то, что надо.  
Resume: засада!!

Всего записей: 519 | Зарегистр. 07-06-2007 | Отправлено: 03:08 22-11-2007 | Исправлено: YuriyRR, 03:53 22-11-2007
TankMan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DroN_S
А подскажи в кратце, какой компонент можно использовать и как подключиться? в Дельфи 7

Всего записей: 599 | Зарегистр. 01-06-2002 | Отправлено: 13:18 22-11-2007
Rudia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TankMan
http://delphi.about.com/od/mysql/tp/aatpmysql.htm

Всего записей: 324 | Зарегистр. 13-09-2006 | Отправлено: 17:04 22-11-2007
LG Team



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как реализовать при изменении размеров формы пользователем показ только рамки (пунктирного контура) нового размера пока юзер не завершит операцию?
например, как это реализовано в playList winamp'a  при modern скине
 
 
нашел:
 
procedure WMNCMLButtonDown(var Message: TMessage);
const
  EnableFulDrag: UINT = 0;
var
  TmpBool: UINT;
begin
  SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, @TmpBool, 0);
  SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, EnableFulDrag, nil, 0);
  inherited;
  SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, TmpBool, nil, 0);
end;

Всего записей: 328 | Зарегистр. 04-12-2006 | Отправлено: 17:17 22-11-2007 | Исправлено: LG Team, 17:29 22-11-2007
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как извлечь адрес шлюза. Есть код:
 
function NET_GetLocalIP: PChar; stdcall;
var       wsaData: TWSAData;
Error     : DWORD;
HostEntry : PHostEnt;
Address   : In_Addr;
Buffer    : array [0..63] of Char;
begin  WSAStartup($101, wsaData);
GetHostName(Buffer, SizeOf(Buffer));
HostEntry := gethostbyname(Buffer);
Error := GetLastError;
MessageBox(0,Pchar(SysErrorMessage(GetLastError)),Pchar('Ошибка # '+IntToStr(GetLastError)),0);
if Error = 0 then
begin
Address := PInAddr(HostEntry^.h_addr_list^)^;
Result  := inet_ntoa(Address);
end
else
Result:='XXX.XXX.XXX.XXX';
WSACleanup;
end;
 
Используем ее MessageBox(0,'',NET_GetLocalIP,0);
 
Дык вот если ип адрес допустим 192.11.11.11, то шлюз должен быть 192.11.11.1. В поисковиках везде выдает коды на нахождение айпишника, но нигде не могу найти на нахождение шлюза. Неужели придется править последнюю цифру в айпишнике на 1 и выдавать ее за адрес шлюза? Не хотелось бы...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 23:10 22-11-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-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru