Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Delphi

Выпуск № 103
от 25.11.2002, 15:31

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 303
Отправлено ответов: 533
Активность: 175.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.3
URL: Пристанище неодинокого программиста
[Подробней >>]
Idle Sign
Статус: Опытный
Общий рейтинг: 149.54
URL: Blind Team
[Подробней >>]
Jadd
Статус: Профессиональный
Общий рейтинг: 139.64
[Подробней >>]
 
baldr
Статус: Профессиональный
Общий рейтинг: 114.36
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Necro
Статус: Доверительный
Общий рейтинг: 110.5
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 292. Зравствуйте уважаемыемые эксперты программисты! Я пишу программу которая в определенное время может ... (ответов: 2)
Вопрос № 293. Здравствуйте!!!!!!!!!!!!1 Артём Шегеда продолжаем вопрос №289(надеюсь вы его не забыли) код и ссылка... (ответов: 1)
Вопрос № 295. Какой фун-й проигрывать mp3- файлы7... (ответов: 3)
Вопрос № 296. Здраствуйте эксперты! _____________________ 1) Как организовать поиск элементов в Listbox? Есть Edit... (ответов: 5)
Вопрос № 297. Здравствуйте, Скажите как вывести текст(макс.500 символов) в отчет. Скажите пожалуйста каой компоне... (ответов: 2)

Вопросов: 5, ответов: 13


 Вопрос № 292

Зравствуйте уважаемыемые эксперты программисты!
Я пишу программу которая в определенное время может отключить компьютер.
Я написал почти все в этой программе: она высвечивается в Tray, в нужное время срабатывает(просто выводится Messge),
но я немогу написать самое главное: как выключить компьютер?
Подскажите пожалуюста как это сделать ?
Спасибо.



Вопрос отправлен: 20.11.2002, 16:20
Отправитель: Вячеслав (Ovchinnikov_1987@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Здравствуйте, Вячеслав!
Попробуй поискать на сервере RusFAQ.ru
Если не поможет, поищи на MSDN:
System Shutdown Functions
How to Shut Down the System


Ответ отправлен: 20.11.2002, 18:44
Отправитель: Артём Шегеда


Отвечает Idle Sign

Добрый день, Вячеслав!
===== Pro bono publico, no bloody panico! =====
Предлагаю использовать модуль WinReboot, что в приложении.


Приложение:

Ответ отправлен: 21.11.2002, 12:58
Отправитель: Idle Sign


 Вопрос № 293

Здравствуйте!!!!!!!!!!!!1
Артём Шегеда
продолжаем вопрос №289(надеюсь вы его не забыли)
код и ссылка превосходные, все получилось, зделал пример на kol, прога весила 158кл, сжал, стала весить 68кл
ну это хорошо, но все равно много, я видел как то в исходнике трояна пример отсылки паролей, без подключения библиотек вообще(был тока reg для реестра) (через сокеты)
вот тот код
type
u_char = Char;
u_short = Word;
u_int = Integer;
u_long = Longint;
SunB = packed record
s_b1, s_b2, s_b3, s_b4 : u_char;
end;
SunW = packed record
s_w1, s_w2 : u_short;
end;
TSocket = u_int;
HINTERNET = Pointer;
DWORD = LongWord;
BOOL = LongBool;
WSAData = record
wVersion : Word;
wHighVersion : Word;
szDescription : array[0..256] of Char;
szSystemStatus : array[0..128] of Char;
iMaxSockets : Word;
iMaxUdpDg : Word;
lpVendorInfo : PChar;
end;
TWSAData = WSAData;
PInAddr = ^TInAddr;
in_addr = record
case integer of
0: (S_un_b: SunB);
1: (S_un_w: SunW);
2: (S_addr: u_long);
end;
TInAddr = in_addr;
PSockAddrIn = ^TSockAddrIn;
sockaddr_in = record
case Integer of
0: (sin_family: u_short;
sin_port: u_short;
sin_addr: TInAddr;
sin_zero: array[0..7] of Char);
1: (sa_family: u_short;
sa_data: array[0..13] of Char)
end;
TSockAddrIn = sockaddr_in;
TSockAddr = sockaddr_in;
UINT = LongWord;
TFileName = type string;
TFILETIME = record
dwLowDateTime : LongWord;
dwHighDateTime : LongWord;
end;
...................
const
winsocket = 'wsock32.dll';
SOCKET_ERROR = -1;
AF_INET = 2;
SOCK_STREAM = 1;
IPPROTO_IP = 0;
........................
function send(s: TSocket;
var Buf;
len,
flags: Integer): Integer; stdcall;
external winsocket name 'send';
function WSAStartup(wVersionRequired:
word;
var WSData: TWSAData): Integer; stdcall;
external winsocket name 'WSAStartup';
function socket(af, Struct,
protocol: Integer): TSocket; stdcall;
external winsocket name 'socket';
function htons(hostshort:
u_short): u_short; stdcall;
external winsocket name 'htons';
function inet_addr (cp: PChar): u_long; stdcall;
external winsocket name 'inet_addr';
function connect(s: TSocket;
var name: TSockAddr;
namelen: Integer): Integer; stdcall;
external winsocket name 'connect';
function recv(s: TSocket; var
Buf;
len,
flags: Integer): Integer; stdcall;
external winsocket name 'recv';
function closesocket(s: TSocket): Integer; stdcall;
external winsocket name 'closesocket';
.........................
MyBuf:='уыукы';
MySmtp:='194.67.57.51';
WSAStartUp(257, wsadata1);
sock:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
sin.sin_family := AF_INET;
htons(25);
sin.sin_port := htons(25);
iaddr:=inet_addr(PChar(MySmtp));
sin.sin_addr.S_addr:=iaddr;
connect(sock,sin,sizeof(sin));
recv(sock,buf,sizeof(buf),0);
{---------------Send letter------------}
SendInfToServer('HELO net.com'+#13+#10);
recv(sock,buf,sizeof(buf),0);
SendInfToServer('MAIL FROM: '+'admin@mail.ru'+#13+#10);
recv(sock,buf,sizeof(buf),0);
SendInfToServer('RCPT TO: '+Mailto+#13+#10);
recv(sock,buf,sizeof(buf),0);
SendInfToServer('DATA'+#13+#10);
recv(sock,buf,sizeof(buf),0);
SendInfToServer(MyBuf+#13+#10);
SendInfToServer(#13+#10+'.'+#13+#10);
recv(sock,buf,sizeof(buf),0);
SendInfToServer('QUIT'+#13+#10);
recv(sock,buf,sizeof(buf),0);
{---------------Send letter end---------}
closesocket(sock);
end;
вот и все...я не могу этот код реализовать, вроде прога конектиться серваком, но письма не идут, помогите мне ище раз и я от вас отстану(дайте исходник или где почитать)
пожалуйста
lamachok
кидайте туды lamachok@atnet.ru



Вопрос отправлен: 20.11.2002, 22:36
Отправитель: lamachok (lamachok@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Здравствуйте, lamachok!

Видно, человеку очень хочется...
Ну, чтож, крови мне этот WinSock попил, но результат - налицо. 9.5К при использовании run-time packages и 47К без оных.
В Unit1 расписаны ошибки и функция их анализа:
procedure Check(GoodFunctionResult : boolean);
begin
if not GoodFunctionResult then begin
ShowWSAErrorMessge(WSAGetLastError);
Abort;
end;
end;

Так вот, вызов ShowWSAErrorMessge можно убрать.


Приложение:

Ответ отправлен: 22.11.2002, 19:40
Отправитель: Артём Шегеда


 Вопрос № 295

Какой фун-й проигрывать mp3- файлы7



Вопрос отправлен: 21.11.2002, 12:52
Отправитель: Tik (shal@gorodok.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Idle Sign

Доброе время суток, Tik!
===== Pro bono publico, no bloody panico! =====
Либо ищи библиотеку для работы с форматом, либо проигрывай ассоциированной программой (e.g. WinAmp) - функция ShellExecute...

Ответ отправлен: 21.11.2002, 17:16
Отправитель: Idle Sign


Отвечает Jadd

Добрый день, Tik!
Нет такой функции. Для проигрывания файлов mp3 либо ищи компоненты, либо либы, либо пиши сам декодер mp3, благо формат известен.

Ответ отправлен: 21.11.2002, 14:23
Отправитель: Jadd


Отвечает baldr

Доброе время суток, Tik!
Можно с помощью ShellExecute вызвать приложение, связанное с этим файлом. А если нужно
проиграть его самой программой, то легче всего будет воспользоваться уже готовыми компонентами.
На www.torry.net или www.torry.ru их не может не быть!


Ответ отправлен: 23.11.2002, 00:37
Отправитель: baldr


 Вопрос № 296

Здраствуйте эксперты!
_____________________
1) Как организовать поиск элементов в Listbox?
Есть Edit и Listbox
Вводишь в Edit слово ,программа ищет его в Listbox и выделяет всю строку с найденным элементом___ pomoGITE please
2)Зацените сайт (www.coder-group.narod.ru)//только его сделал =:)



Вопрос отправлен: 21.11.2002, 15:30
Отправитель: pcgamer

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Добрый день, pcgamer!
А TListBox.Items.Find вызывать пробовал? Но учти: это работает только на сортированных списках.

Приложение:

Ответ отправлен: 21.11.2002, 16:21
Отправитель: Артём Шегеда


Отвечает Idle Sign

Здравствуйте, pcgamer!
===== Pro bono publico, no bloody panico! =====
1) см. приложение (поиск "налету")
2) у-у-у Сыровато пока...

Приложение:

Ответ отправлен: 21.11.2002, 17:15
Отправитель: Idle Sign


Отвечает Necro

Приветствую Вас, pcgamer!
Примерно так:
for a := 0 to listbox1.items.count - 1 do
if pos(edit1.text,listbox1.items.strings[a]) <> 0 then
listbox1.itemindex := a;

Ответ отправлен: 21.11.2002, 17:07
Отправитель: Necro


Отвечает Jadd

Добрый день, pcgamer!
Все очень просто. В цикле обходишь все элементы ListBox'а и проверяешь на совпадение имени. Получить текущий Item в цикле не составляет труда, а вот текст этого Item'а получается так:
SomeString := ListBox.Items.Strings[i];
где SomeString будет содержать текст Item'а

Ответ отправлен: 22.11.2002, 02:33
Отправитель: Jadd


Отвечает baldr

Добрый день, pcgamer!
Проходишь по всем элементам списка и ищешь. Поиск - тоже нетривиальная задача. Если тебе
надо просто тупое совпадение вплоть до регистра каждой буквы, то простым равенством проверяй!
В ListBox'е данные хранятся как в массиве строк. Обращаться так: ListBox1.Items[I] - это конкретная запись.
Вот не понимаю я таких "кодеров" - как только установят себе Delphi - сразу, блин, "программеры"... :( На сайте полно грамматических ошибок - я как только увидел, сразу закрыл окно. Исправляй. И вообще - ... Ну да ладно... :(


Ответ отправлен: 23.11.2002, 00:36
Отправитель: baldr


 Вопрос № 297

Здравствуйте,
Скажите как вывести текст(макс.500 символов) в отчет. Скажите пожалуйста каой компонент для этого нужно использовать? Я работаю на Delphi 5 и никак не могу вывести это с помошью Qrmemo. Скажите еще как сделать так что бы каждая запись в отчете отделялась автоматически. Т.е что бы разные по размеру записи занимали соответственно разное по размеру листа место. Надеюсь вы меня понимаете.
Спасибо.



Вопрос отправлен: 22.11.2002, 13:42
Отправитель: dude

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Добрый день, dude!
Ну для этого есть QRLabel или QRDBLabel. Делаешь отчет по типу Master->Detail и все у тебя получится. Удачи

Ответ отправлен: 22.11.2002, 14:05
Отправитель: Jadd


Отвечает baldr

Приветствую Вас, dude!
Ну да, QRMemo... Только в TQreport надо еще и разметку сделать. У этого компонента есть
такие штуки, как поля (bands), которые тоже кидаешь на отчет, задаешь их тип (колонтитул, заголовок,
сводная строка, шаблон данных и пр) и уже на них кидаешь QRMemo, текстэдиты и пр...
В общем, суть такая: заголовок - он один во всем отчете. Колонтитулы (верхний и нижний) - на
каждой странице, а шаблон данных (извини, не помню как они называются, поэтому условно обзываю)
содержит набор компонентов, которые будут растиражированы по всему отчету для КАЖДОЙ записи из набора.
В общем, советую в доках глянуть - я сначала тоже не понял, а потом как картинку увидел - моментально въехал!


Ответ отправлен: 23.11.2002, 00:34
Отправитель: baldr



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (42)
C / C++ (29)
Perl (9)
Delphi (14)
Pascal (23)
Basic / VBA (11)
Java / JavaScript (14)
PHP (10)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (33)
Windows NT/2000/XP (23)
"Железо" (28)
Поиск информации (17)
Администратору
Windows NT/2000/XP (12)
Linux / Unix (17)
Юристу
Гражданское право (7)
Семейное право (2)
Трудовое право (3)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное