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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 401
от 02.03.2006, 12:33

Администратор:Калашников О.А.
В рассылке:Подписчиков: 263, Экспертов: 66
В номере:Вопросов: 5, Ответов: 10


Вопрос № 36085: Здравствуйте! Подскажите, как правильно использовать Gauge1.Progress без таймера. procedure TForm1.FormShow(Sender: TObject); begin Gauge1.Progress:= Gauge1.Progress + ShellExecute(Application.MainForm.Handle, PChar('open'), ..
Вопрос № 36125: Добрый вечер. На форму кинула ListView и Edit. ListView состоит из трех колонок - Номер по порядку, ник, коммент. Суть вопроса. Как можно при двойном клике на строчке, копировать ник в Edit. Только ник. Для TreeView я сдела...
Вопрос № 36127: Как загружать файл в Memo определённой длины с плмлщью Loadfromfile...
Вопрос № 36129: Всем привет ! Я толи боклан , толи руки у меня кривые ! Ето сканер портов ! Он говорит что только один порт открыт ето 110 а на остальные забивает даже пакеты неотправляет !!! Помогите ! procedure TForm4.Button1Click(Sender: ...
Вопрос № 36133: Привет. Кто-нибудь знает способ, желательно несложный, отучить развёрнутую форму (maximized) "восстанавливаться" при двойном щелчке по заголовку? Спасибо....

Вопрос № 36.085
Здравствуйте!
Подскажите, как правильно использовать Gauge1.Progress без таймера.

procedure TForm1.FormShow(Sender: TObject);
begin
Gauge1.Progress:= Gauge1.Progress + ShellExecute(Application.MainForm.Handle, PChar('open'),
PChar('C:WINDOWSmsappssmsa.exe'), Nil, PChar(''), SW_ShowNormal);
Close;
end;
-------
Если использовать таймер, то для разных процессоров, меняешь время.
-------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Gauge1.Progress:= Gauge1.Progress + 1;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
ShellExecute(Application.MainForm.Handle, PChar('open'),
PChar('C:WINDOWSsapssa.exe'), Nil, PChar(''), SW_ShowNormal);
end;
Отправлен: 24.02.2006, 13:55
Вопрос задал: Serhik_z (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Serhik_z!
У Вас применение Gauge в сочетании с ShellExecute настолько странное, что непонятно, какой совет Вам требуется. Gauge - индикатор хода какого-либо процесса. Shellexecute запускает определенную программц или открывает документ. Возвращаемое им знасение - хэндл документа. То сочетание, что привели Вы, это сродни вопросу как применить отвертку в кулинарии.
Пожалуйста опишите задачу и задайте вопрос, тогда будет возможность Вам помочь.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 24.02.2006, 14:52


Вопрос № 36.125
Добрый вечер.

На форму кинула ListView и Edit. ListView состоит из трех колонок - Номер по порядку, ник, коммент.
Суть вопроса.
Как можно при двойном клике на строчке, копировать ник в Edit. Только ник.

Для TreeView я сделала, а вот для ListView не получается..
Пример TreeView:

procedure TForm.tvTreeDblClick(Sender: TObject);
Var
tree : string;
t1,t2 :integer;
begin
if tvtree.Selected = nil then
exit;
t2:=tvTree.SelectionCount;
for t1:=0 to t2-1 do
tree := tvTree.Selections[t1].Text;
begin
with tvTree do
begin
Edit1.Text := tree ;
end;
end;
end;

С Уважением, Анна

Отправлен: 24.02.2006, 22:52
Вопрос задала: Анна Николаевна (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Slava
Здравствуйте, Анна Николаевна!
Напишу коротко:
Edit1.Text := ListViev1.Selected.SubItems[0];
Ответ отправил: Slava (статус: 10-ый класс)
Отправлен: 24.02.2006, 23:48

Отвечает: Полховский Александр Владимирович
Здравствуйте, Анна Николаевна!
SelectionCount отвечает за количество выделенных строк, а не за номер выделенной строки. Посему, t2:=tvTree.ItemIndex;. А дальше присваиваем текст, и никаких циклов. Edit1.Text:=tvTree.Items[t2].Subitems[0]; или по вышеуказанному способу.
---------
Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Студент)
Отправлен: 25.02.2006, 10:22


Вопрос № 36.127
Как загружать файл в Memo определённой длины с плмлщью Loadfromfile
Отправлен: 24.02.2006, 23:34
Вопрос задал: F Ruslan R (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, F Ruslan R!
Метод LoadFromFile объекта TMemo загружает текстовый файл целиком. Соответственно ответ на ваш вопрос - никак. Для организации загрузки файлов определенной длины, загружайте файл посимвольно.

P.S. Для получения более четкого ответа, советую задавать вопрос более развернуто (что непонятно, для каких целей будет использоваться, листинг вашего нерабочего кода).

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.02.2006, 00:34
Оценка за ответ: 5

Отвечает: Полховский Александр Владимирович
Здравствуйте, F Ruslan R!
Извиняйте, но не понял, что должно быть определённой длины. Чуток попонятней, если можно.
---------
Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Студент)
Отправлен: 25.02.2006, 10:23
Оценка за ответ: 5

Отвечает: Leshiy2006
Здравствуйте, F Ruslan R!Что должно быть определенной длины? Если Memo то устанавливаете
размер TMemo на форме, а если длина файла то Loadfromfile не подходит Вам надо открыть файл программно {AssignFile(file,filename);Reset(file)} и считывать до определенного размера
{BlokRead}.
Удачи!
Ответ отправил: Leshiy2006 (статус: 3-ий класс)
Отправлен: 25.02.2006, 23:12
Оценка за ответ: 3


Вопрос № 36.129
Всем привет !
Я толи боклан , толи руки у меня кривые !
Ето сканер портов !
Он говорит что только один порт открыт ето 110 а на остальные забивает даже пакеты неотправляет !!!
Помогите !

procedure TForm4.Button1Click(Sender: TObject);
var
i:integer;
ipstr:string;
begin

ipstr:=IP.Text;
for i:=StrToInt(Edit1.Text) to Strtoint(Edit2.Text) do
begin
TCpClient1.RemotePort:=IntToStr(i);
TCPClient1.Open;
if TCPCLIENT1.Connected then
Memo1.Lines.Add(INTTOSTR(i)+ ' Открыт');
TCPCLIENT1.Close;

end;
end;

end.
Отправлен: 25.02.2006, 01:45
Вопрос задал: Tamashev Denis M (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Tamashev Denis M!
Вот вам исходник многопоточного сканера: http://forum.vingrad.ru/index.php?showtopic=25310&st=0&#entry178511.
А вот очень полезная статейка по теме вашего вопроса "Использование сокетов в Delphi . Часть первая: стандартные сокеты": http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1021.
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.02.2006, 02:15
Оценка за ответ: 5
Комментарий оценки:
Пасибо !!!


Вопрос № 36.133
Привет. Кто-нибудь знает способ, желательно несложный, отучить развёрнутую форму (maximized) "восстанавливаться" при двойном щелчке по заголовку? Спасибо.
Отправлен: 25.02.2006, 04:06
Вопрос задал: Злоумышленник (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Злоумышленник!

Пример перехвата события восстановления окна приложения:

Type TMain = class(TForm)
....
protected
Procedure WMGetSysCommand(var Message : TMessage) ; message WM_SYSCOMMAND;
end;
.....
//------------------------------------------------------------------------------
// Обработка сообщения WM_SYSCOMMAND (перехват минимизации окна)
//------------------------------------------------------------------------------
Procedure TMain.WMGetSysCommand(var Message : TMessage) ;
Begin
//Если восстановление, то ничего не делаем...
IF (Message.wParam <> SC_RESTORE) Then Inherited;
End;
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.02.2006, 05:04

Отвечает: Полховский Александр Владимирович
Здравствуйте, Злоумышленник!
OnCanResize по идее может помочь (хотя выше изложенное кажется более правильным). Resize:=false; - и форма размера не изменит, но переместится в левый верхний угол, но это исправимо. Только вот значок поменяется, вроде как развёрнутое окно. Можно ещё с OnConstrainedResize поэкпериментировать.
---------
Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Студент)
Отправлен: 25.02.2006, 10:24

Отвечает: Татьяна
Здравствуйте, Злоумышленник!
Если вам нужно именно по щелчку по заголовку у меня получилось так:
Перехватываете сообщение wm_NcHittest, а далее примерно как в приложении
(правда максимизироваться по щелчку она тоже не будет)

Приложение:

---------
Нет ничего невозможного!!!

Ответ отправила: Татьяна (статус: Студент)
Отправлен: 25.02.2006, 20:00


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.16 от 01.03.2006
Яндекс Rambler's Top100

В избранное