Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (все версии) - часть 3

Автор: davidyantz
Дата сообщения: 20.11.2007 14:28
Хотя с другой стороны, Бивис - эта та же самая прога, состоящая из машинных инструкций, что и Винда... Естественно, Винда может притвориться: "Окей, бивис, будем конфигурить свои устройства в соответствии с твоими настройками, хотя я точно знаю, что это никакой не ХДД!" И вернёт тебе DriveType = Drive_Fixed.
Автор: TankMan
Дата сообщения: 20.11.2007 23:30
Подскажите пожалуйста, кто знает. Где можно почитать о работе с MySQL в дельфи. А вообще т.к. мне нужна всего одна операция может кто проконсультирует меня - какой компонент использовать из стандартного набора Дельфи7 для SQL на другой машине. И мне нужно добавить строчку в таблицу базы данных (ни удалять ни проверять ее не нужно) ни каких выборок - просто добавить строчку в базу данных.
Автор: relictus
Дата сообщения: 21.11.2007 15:40
А куда подевались PngComponents ( www.thany.org/article/32/PngComponents ) ? Проект помер или есть где-то его развитие, кто знает?
Автор: Arvur
Дата сообщения: 21.11.2007 18:35
relictus
У меня сайт нормально открылся.
Насколько я помню, там вполне получается подсовывать свежую версию pngimage.
Автор: DroN_S
Дата сообщения: 21.11.2007 20:23

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

INSERT INTO NameTable (Перечисляешь поля)
VALUES тут параметры
Автор: YuriyRR
Дата сообщения: 22.11.2007 02:08

Цитата:
Можно переопределить 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: засада!!
Автор: TankMan
Дата сообщения: 22.11.2007 12:18
DroN_S
А подскажи в кратце, какой компонент можно использовать и как подключиться? в Дельфи 7
Автор: Rudia
Дата сообщения: 22.11.2007 16:04
TankMan
http://delphi.about.com/od/mysql/tp/aatpmysql.htm
Автор: LG Team
Дата сообщения: 22.11.2007 16:17
как реализовать при изменении размеров формы пользователем показ только рамки (пунктирного контура) нового размера пока юзер не завершит операцию?
например, как это реализовано в 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;
Автор: Maks150988
Дата сообщения: 22.11.2007 22:10
Подскажите как извлечь адрес шлюза. Есть код:

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 и выдавать ее за адрес шлюза? Не хотелось бы...
Автор: ZyXEL
Дата сообщения: 22.11.2007 23:38
Помогите! У меня есть готовые и отлаженные программы написанные на паскале версии 6.0-7.0 (типовые задачи типа калькулятора).
Открываю их в Дельфи 8.0 и не могу запустить на выполнение!
Объясните почему, плз, и как исправить что бы их всех позапустить.
Автор: greenpc
Дата сообщения: 23.11.2007 08:15
Maks150988

Цитата:
Дык вот если ип адрес допустим 192.11.11.11, то шлюз должен быть 192.11.11.1.

не факт. шлюз может быть любым !
есть такой способ
1. Открываем HKEY_LOCAL_MACHINE
2. Ищем subKey = SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
\"netcard# "
"netcard# " номер сетевой карты (обычно 1, но может быть любым у мя 9)
3. Берем значение "ServiceName"
4. Ищем subKey = SYSTEM\CurrentControlSet\Services\"ServiceName"
\Parameters\TcpIp"
5. Получаем "IpAddress"
6. Получаем "SubnetMask"
7. Получаем "DefaultGateway"
Автор: SergeBS
Дата сообщения: 23.11.2007 08:21
Maks150988

Цитата:
Дык вот если ип адрес допустим 192.11.11.11, то шлюз должен быть 192.11.11.1.

Да ну? А вот у меня шлюзов 2: 192.168.10.40 и 192.168.10.45. Так что совсем даже не должен.
Автор: lavren
Дата сообщения: 23.11.2007 09:04
Maks150988

Цитата:
Неужели придется править последнюю цифру в айпишнике на 1 и выдавать ее за адрес шлюза?

Тебе нужен IP основного шлюза что прописан в свойствах сетевой (в свойствах Пpoтoкoл Интepнeтa (TCP/IP)) или тебе нужна подсеть которая получается при логическом умножении IP любой машины на маску подсети (192.168.0.1 and 255.255.255.0 = 192.168.0.0)?
Автор: abv
Дата сообщения: 23.11.2007 10:10
ZyXEL
На Паскале, говоришь Ну, если графику ты в них не использовал, то попробуй скомпилировать как консольное приложение, если получится, то может и заработать (как сделать - F1 в Дельфи и читать help). Если же использовал графику - переписывай всю графическую часть.
Автор: Maks150988
Дата сообщения: 23.11.2007 13:05
greenpc
Дык вот как узнать то поточнее? Не вручную же указывать первый попавшийся адаптер в реестре...
SergeBS
Да у нас просто у провайдера полюбому будет такой адрес роутера. Пишу программу для прописывания маршрутов, но проблемка в определении шлюза.
lavren
Гм не знаю... Дайте примерчик если не затруднит.

Ну и вообще поделитесь кто-нибудь примером где определяется шлюз.
Автор: lavren
Дата сообщения: 23.11.2007 13:59
Maks150988
Посмотри здесь, может поможет!
И на всякий случай! Вот ссылочка на хороший калькулятор IP.

Добавлено:

Цитата:
Гм не знаю...

Может почитай здесь и скажи что именно хочеш узнать!
Автор: relictus
Дата сообщения: 23.11.2007 14:41
А никто не работал не работал с граф.форматом ECW? Как к нему подступиться?
Автор: greenpc
Дата сообщения: 23.11.2007 14:45
Maks150988

Цитата:
Дык вот как узнать то поточнее? Не вручную же указывать первый попавшийся адаптер в реестре

Что узнать поточнее?
сколько у тя сетевых карт?
или какие настройки у каждой?
мой пример дает эти данные.
фактичеки это тоже самое что и ipconfig /all
Давай пожалуйста поточнее, что ты Вы хотите.
Как говорят: правильный вопрос - половина ответа


Цитата:
Пишу программу для прописывания маршрутов, но проблемка в определении шлюза.

IMHO автоматом определить какая машина является шлюзом или нет не получится
PS: а может достаточно настроить DHCP ?

Автор: Maks150988
Дата сообщения: 23.11.2007 17:36

Цитата:
сколько у тя сетевых карт?

АДСЛ модем, плюс Езернет. Но у кого-то просто АДСЛ. То есть нельзя просто так выдрать из реестра первый попавшийся адаптер. Да плюс у кого-то есть еще Wmware со своими адаптерами...

Цитата:
PS: а может достаточно настроить DHCP

Все настроено давно уже. Просто требуется немного изменить маршрутизацию, чтобы с ВПН на денежки не попадать. Конечно практичнее запустить специально подготовленный батник и все дела, но срок аренды айпишника у нас 3 дня или ранее. Дык вот нужен адрес шлюза чтобы все "бесплатные" маршруты через него пустить...

Цель программы создавать этот самый батник, но уже с текущим шлюзом в нем. Дабы автоматизировать процесс и каждый раз не лазить в свойства соединения.

Да и вообще есть же дохрена примеров, показывающих айпишник локальный, внутренний и внешний, МАС адрес и т.д... А тут ничего толком нету...

lavren
В том примере написано что надо вызвать EnumInterfaces(var s string): Boolean;
А как его вызвать-то? Не умею я функции вызывать.
Автор: vladk1973
Дата сообщения: 24.11.2007 10:51
ZyXEL
В тупую то конечно не запустишь.
Создай новое консольное приложение,
что там у тя между begin и end прописано подставь
Процедуры, функции вынеси выше или в отдельный юнит.
Секцию Uses по-любому надо проверить, не должно быть никаких BGI, CRT
В целом язык то остался, мож тебе и повезет
Опять жеж, это только для консольного приложения имеет смысл, для графического - как и написал многоуважаемый abv, кроме общей идеи ничего не останется

Автор: ShamaN
Дата сообщения: 24.11.2007 17:00
Подксажите, есть ли возможность работать из Delphi с пультом управление от TV-тюнера? Может есть какие компоненты...
Автор: ZyXEL
Дата сообщения: 25.11.2007 00:26

Цитата:
В тупую то конечно не запустишь.
Создай новое консольное приложение,
что там у тя между begin и end прописано подставь

пробовал! посточно копировал, вставлял , сохранял не запускается.
уже скачал просто паскаль, работает.
Автор: nuker2015
Дата сообщения: 25.11.2007 04:32
ZyXEL
Цитата:
пробовал! посточно копировал, вставлял , сохранял не запускается.
уже скачал просто паскаль, работает.
Код в студию! На что у тебя компилятор ругается - errors, warnings. Ключи компиляции, настройки оптимизатора.
А код в студию - однозначно.
Автор: vladk1973
Дата сообщения: 25.11.2007 08:20
nuker2015
Поддерживаю. Какие ошибки то выдает?

Добавлено:
ShamaN
А ты просто попробуй код onkeypress
обрабатывать. Вполне возможно, что пульт просто эмулирует клавиатурные комбинации, и никаких кмпонентов не понадобится
Автор: ShamaN
Дата сообщения: 25.11.2007 08:24

Цитата:
А ты просто попробуй код onkeypress

едва ли это так.
Автор: vladk1973
Дата сообщения: 25.11.2007 08:49
ShamaN
А как жеж Human Interface Device?
У меня пульт вообще никаких драйверов специфических не использует, обычная эмуляция клавиатуры
Автор: ShamaN
Дата сообщения: 25.11.2007 08:54
vladk1973
у тебя пульт от ТВ-тюнера не использует драйверов тюнера?
Автор: vladk1973
Дата сообщения: 25.11.2007 09:05
ShamaN
Нет. Используется HID
Подключается через USB порт.
Сам тюнер - на PCI. Я например на нем могу пароль набрать для залогинивания в комп
Ваще то offtopic начинается, поэтому завязыаю
Автор: ZyXEL
Дата сообщения: 25.11.2007 13:13

Цитата:
Код в студию! На что у тебя компилятор ругается - errors, warnings. Ключи компиляции, настройки оптимизатора.
А код в студию - однозначно.



Код:
program sopr;
uses crt;
var r,c,f,z:real;
Function impedans(r:real; c:real; f:real):real; {ошибка была f:integer}
var {ошибка: не присвоено значение функции impedans}
z:real;
xc:real;
impedans:real;
Begin
xc:=1/(2*3.1415926*f*c);
z:=sqrt(r*r+xc*xc);
end;
Begin
writeln('введите в одной строке сопротивление (Ом) емкость',
'(микрофорад) и частотц (Гц) ->');
readln(r,c,f);
z:=impedans(r,c,f);
writeln('полное сопротивление',z);
Readln;
end.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: 1С: Конвертация данных 2.0


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.