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

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


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


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

Выпуск № 115
от 19.12.2002, 19:20

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


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

Jadd
Статус: Профессиональный
Общий рейтинг: 143.96
[Подробней >>]
Melkor
Статус: Доверительный
Общий рейтинг: 134.84
[Подробней >>]
Vadim
Статус: Доверительный
Общий рейтинг: 145.12
[Подробней >>]
 
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.55
URL: Пристанище неодинокого программиста
[Подробней >>]
Idle Sign
Статус: Опытный
Общий рейтинг: 149.72
URL: Blind Team
[Подробней >>]
toshka
Статус: Начальный
Общий рейтинг: 115
[Подробней >>]
 
baldr
Статус: Профессиональный
Общий рейтинг: 114.19
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]


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

Вопрос № 351. Подскажите, где можно найти документацию по прокси-серверу (язык общения с ним и его ответов).... (ответов: 1)
Вопрос № 353. Может есть у кого-нибудь умная мысль по выделению синтаксиса в RichEdit? Как поменять цвета и т.д. з... (ответов: 1)
Вопрос № 354. Здравствуйте! Большое спасибо экспертам Melkor и Toshka - они в отличие от остальных попытались помо... (ответов: 3)
Вопрос № 355. Может кто знает какой-нибудь компонент с разноцветным текстом типа RichEdit, но более быстрый.... (ответов: 2)
Вопрос № 356. Здравствуйте, Скажите пожалуйста как организовать дозвон к удаленному компютеру и как работать с ож... (ответов: 1)
Вопрос № 357. Vadim, Jadd, давайте если будем дальше "дискутировать", то по мылу - не будем рассылку зас... (ответов: 1)
Вопрос № 358. Доброе время суток. Эксперты подскажите, как (текст фрагмента проги в приложении) перевести ASCII си... (ответов: 5)
Вопрос № 359. Уважаемые эксперты! Ситуация такая. Есть Action, повешенный на кнопку. У кнопки установлено свойство... (ответов: 5)
Вопрос № 360. Подскажите ответы на такие вопросы 1.Как в Delphi узнать запущена какая-то определенная прога 2.Как ... (ответов: 3)

Вопросов: 9, ответов: 22


 Вопрос № 351

Подскажите, где можно найти документацию по прокси-серверу (язык общения с ним и его ответов).



Вопрос отправлен: 14.12.2002, 21:47
Отправитель: Александр

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

Отвечает Jadd

Доброе время суток, Александр!
Программирования для WinSock. Еще MSDN.

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


 Вопрос № 353

Может есть у кого-нибудь умная мысль по выделению синтаксиса в RichEdit?
Как поменять цвета и т.д. знаю, но вот прямой функции перебора типа PosEx, но только находящей "Match Word", то есть с пробелами, табуляцией, в начале или в конце строки не нашел.
А перебирать строку самому будет съедать море времени (RichEdit итак тормоз).



Вопрос отправлен: 15.12.2002, 00:30
Отправитель: Vladimir

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

Отвечает Jadd

Здравствуйте, Vladimir!
Перебирайте, Вова, перебирайте.

Ответ отправлен: 15.12.2002, 03:03
Отправитель: Jadd


 Вопрос № 354

Здравствуйте!
Большое спасибо экспертам Melkor и Toshka - они в отличие от остальных попытались помочь(и помогли :) ).
Ну пропустил я setlength, в программе он у меня был... Vadim и Jadd, а вы попробуйте вставить setlength - всё равно работать не будет. Умные, блин, могли бы и не отвечать :(
> А еще неплохо было бы прочитать тебе про
> адрессацию и прочую организацию памяти в
> компе, а так же про управление
> памятью в винде. Просто СРОЧНО!
Ну надо так надо, только подскажите, где.



Вопрос отправлен: 15.12.2002, 12:01
Отправитель: Necro

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

Отвечает Melkor

Здравствуйте, Necro!
Про память в компе, железо и ассемблер можно почитать на wasm.ru, а про прцедуры и функции WinAPI (в том числе и память) в SDK хэлпе (который обычно есть в дистрибутиве Delphi) или на msdn.microsoft.com (но там все на английском :( ).

Ответ отправлен: 15.12.2002, 23:28
Отправитель: Melkor


Отвечает Jadd

Приветствую Вас, Necro!
Ты вместо того, чтобы губы дуть, лучше бы учился. Я, к примеру, учился многому сам и никакие там русфаки мне не помогали. И выучился. А раз SetLength не помогает, значит пиши кусок кода и мы его опробуем. А так просто сложно говорить почему у тебя код глючит.
Читать надо в книгах. Брать, к примеру, книги по асму или была в свое время книга Питера Нортона по железу компа. Джефри Рихтер написал хорошую книгу про профессиональный программинг в винде. Все это профессиональный программер должен знать. Учитесь. И постарайся не обижаться, когда тебя критикуют, и у тебя что-то не получается.
Удачи.

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


Отвечает Vadim

Здравствуйте, Necro!
1. Мы пробовали, а ты? :)))
Видишь ли, обидчивый ты наш, совет мы тебе давали по тому, что ты написал, а не по тому, что ты ХОТЕЛ написать. Поэтому упрек твой не по адресу.
Кстати, у тебя в переменных было объявлено file of byte вместо file. Вот за это мог бы и попенять, т.к. BlockReadBlockWrite работает с нетипизированым файлом, в то время как у тебя файл типа байт, следовательно и читать из файла надо побайтно, а не массивом из байтов.
2. Про память. Ты довольно смело применяешь PTR, ADDR. В том же месте, где ты вычитал про эти функции обычно описывается как их применять (с примерами). Они относятся к работе с памятью. Особо читать, вобщем то, ничего не нужно (если конечно ты не хочешь стать крутым спецом :)). Windows сама неплохо разбирается с памятью. Для тебя главное выделить необходимый кусок памяти и не вылезать за его границы.

Ответ отправлен: 16.12.2002, 07:47
Отправитель: Vadim


 Вопрос № 355

Может кто знает какой-нибудь компонент с разноцветным текстом типа RichEdit, но более быстрый.



Вопрос отправлен: 15.12.2002, 17:36
Отправитель: Vladimir

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

Отвечает Vadim

Добрый день, Vladimir!
А ты зайди на www.torry.net. Там компонентов завались. Наберешь в строке поиска (уже на сайте) RichEdit и он тебе выдаст список компонентов к нему относящихся, только выбирай.

Ответ отправлен: 16.12.2002, 07:54
Отправитель: Vadim


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

Приветствую Вас, Vladimir!

Я долго искал компоненту, которая удовлетворяла моим потребностям, но остановился на HTML-компоненте HTMLlite - рекомендую.

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


 Вопрос № 356

Здравствуйте,
Скажите пожалуйста как организовать дозвон к удаленному компютеру и как работать с ожиданием звонка на Delphi 5? Я буду очень признателен если кто нибудь сможет дать линк или скинет инфу на email.
Спасибо!!



Вопрос отправлен: 15.12.2002, 20:35
Отправитель: dude (squeeze_ms@mail.ru)

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

Отвечает Jadd

Приветствую Вас, dude!
Есть такая весчь - TAPI. Отсюда и пляши. Тебе надо просто звонилку писать - проще пареной репы. А второе - RAS - это гораздо сложнее. Но, если не разберешься, пиши на jadd@rol.ru может чем и помогу.

Ответ отправлен: 16.12.2002, 04:44
Отправитель: Jadd


 Вопрос № 357

Vadim, Jadd, давайте если будем дальше "дискутировать", то по мылу - не будем рассылку засорять. Пишите на mko@atnet.ru, у меня ещё есть, что сказать.
(Просьба администратору не публиковать этот "вопрос



Вопрос отправлен: 16.12.2002, 10:18
Отправитель: Necro (mko@atnet.ru)

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

Отвечает Jadd

Добрый день, Necro!
Дык все, вроде, сказано. Наше дело - дать совет или намекнуть как сделать, а остальное - твое дело. У меня лично нету времени на пустые диспуты. Может у кого-то оно есть. Так что, завершим этот флейм просто. Удачи.

Ответ отправлен: 16.12.2002, 17:36
Отправитель: Jadd


 Вопрос № 358

Доброе время суток. Эксперты подскажите, как (текст фрагмента проги в приложении) перевести ASCII символы файла в Hex кода и запихнуть их в, например в Memo1, или в StringGrid.


Приложение:


Вопрос отправлен: 16.12.2002, 10:20
Отправитель: bogdan

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

Отвечает Idle Sign

Добрый день, bogdan!
===== Pro bono publico, no bloody panico! =====
А ты не повторяешься? Был же ответ на Вопрос №207 Выпуск №083 от 07.10.2002, 19:30, да и еще один опосля. Артем дал исчерпывающий ответ. Так что не ленись, а повтори выпуск рассылки.

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


Отвечает toshka

Добрый день, bogdan!
1 - Создаешь StringGrid. RowCount - число строк, ColCount - число столбцов
Обработка нажатия клавиши Button1:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y: Integer;
F: TFileStream;
Buf: array of BYTE;
begin
if OpenDialog1.Execute then
begin
// Читаем файл в буфер
F := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
SetLength(Buf, F,Size);
F.Read(Buf[1], F.Size);
F.Free;
// Переносим данные в StringGrid
for y := 0 to StringGrid1.RowCount-1 do
for x := 0 to StringGrid1.ColCount-1 do
StringGrid1.Cells[x,y] := IntToHex(Buf[y*StringGrid1.ColCount+x], 2);
end;
end;

Ответ отправлен: 16.12.2002, 11:02
Отправитель: toshka


Отвечает Melkor

Доброе время суток, bogdan!
Чтаешь файл по-символьно, потом с помощью Ord(Ch) получаешь код символа в ASCII, переводишь с пом. цикла в HEX-код (см. приложене), переделываешь в строку, добавляешь '0x' и записываешь в Memo.


Приложение:

Ответ отправлен: 19.12.2002, 02:54
Отправитель: Melkor


Отвечает Jadd

Приветствую Вас, bogdan!
Там, где получаешь строку, пиши так FormatString('%x', StrPas(Buf));
Дополнительную инфу в хелпе ищи.

Ответ отправлен: 16.12.2002, 17:32
Отправитель: Jadd


Отвечает Vadim

Добрый день, bogdan!
Memo1.Lines.Add(Buf);
Толькр не понял, что бы это значило :)). Каждый символ имеет свое шестнадцатиричное значение и зачем переводить его в шестнадцатиричное значение?? Ты когда *.exe-файл смотришь по F3, в FAR'е например, тоже видишь одни символы, но это не мешает программе выполняться.

Ответ отправлен: 17.12.2002, 08:15
Отправитель: Vadim


 Вопрос № 359

Уважаемые эксперты! Ситуация такая. Есть Action, повешенный на кнопку. У кнопки установлено свойство Tag, которое при Action.Execute необходимо для дальнейших действий. Я это свойство читаю следующим образом:
((Sender as TAction).ActionComponent as TSpeedButton).Tag
Однако у Action'а есть сочетание клавиш. И когда Action.Execute вызывается сочетанием клавиш, то Sender уже не TSpeedButton. Как в этом случае получить свойство кнопки?



Вопрос отправлен: 16.12.2002, 16:04
Отправитель: L_Dorrit

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

Отвечает Idle Sign

Здравствуйте, L_Dorrit!
===== Pro bono publico, no bloody panico! =====
Теоретически: попробуй TShortCut в качестве Sender'a обрабатывать, может что путевое выйдет.

Ответ отправлен: 17.12.2002, 18:52
Отправитель: Idle Sign


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

Доброе время суток, L_Dorrit!

А кто мешает перед тем, как обратиться к свойству TSpeedButton.Tag проверить: а объект какого класса активизировал Action?:

if (Sender as TAction).ActionComponent is TSpeedButton then
Do_Something(((Sender as TAction).ActionComponent as TSpeedButton).Tag);


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


Отвечает baldr

Приветствую Вас, L_Dorrit!
А если это сочетание клавиш задать кнопке? То есть выполнять Button1Click?
Или тогда уж создать глобальную переменную... А почему нельзя обращаться к самой кнопке как к
объекту? То есть, Form1.Button1.Tag? Не очень хорошо, но сойдет.


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


Отвечает Jadd

Приветствую Вас, L_Dorrit!
Тогда часть с Sender идет на...ты понял, а остальное - ты знаешь. Нужно просто уметь определять источник ситуации: щелчек миши на кнопке или хоткей.

Ответ отправлен: 17.12.2002, 03:15
Отправитель: Jadd


Отвечает toshka

Добрый день, L_Dorrit!
А никак. Или вешай тэг на Action, или обрабатывай нажатие TSpeedButton самостоятельно.

Ответ отправлен: 17.12.2002, 09:30
Отправитель: toshka


 Вопрос № 360

Подскажите ответы на такие вопросы
1.Как в Delphi узнать запущена какая-то определенная прога
2.Как перехватывать нажатие крестика (закрыть) и сочетания клавиш, допустим alt+f4 или ctrl+alt+del
3.Как добавить в меню (при нажатии на файл правой кнопкой), запуск своей проги с параметром.
4.Как считывать параметры при запуске проги.



Вопрос отправлен: 16.12.2002, 17:07
Отправитель: Byter (Byter2002@mail.ru)

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

Отвечает Idle Sign

Доброе время суток, Byter!
===== Pro bono publico, no bloody panico! =====
1) По хэндлу окна определить имя запущенного приложения или заголовок окна. (Вопрос №333 Выпуск №111 от 11.12.2002, 19:00).
2) В своей программе - событие OnCloseQuery. В чужой - отлваливать сообщения WM_Close.
3) См. Вопрос №318 Выпуск №109 от 07.12.2002, 18:50.
4) См. Вопрос №330 Выпуск №110 от 09.12.2002, 18:50.

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


Отвечает baldr

Доброе время суток, Byter!
1. Наводка: почитай про мьютексы.
2. Ну это вообще просто... При закрытии окна ему посылается сообщение WM_CLOSE, а в Делфях
можно просто перехватить событие OnClose окна (формы). С ctrl-alt-del сложнее, но в рассылке
каждый месяц это спрашивают.
3. В реестре где-то пишется. Точнее не помню.
4. ParamCount - число параметров. ParamStr(i) - i-й параметер в виде строки. Задолбали, а?


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


Отвечает Jadd

Здравствуйте, Byter!
Во-первых, не плохо было бы сначала рассылку покапать на предмет похожих вопросов.
1)Много возможностей. Очень простой способ создать именованный объект ядра оси и проверять, а не создан ли он уже. Например, если создавать мьютекс с именем, то если такой объект ядра уже присутствует, твой мьютекс не создастся и вернет ошибку, а, стало быть, прога уже запущена. Тут есть один большой минус(и длинный). Все это отжирает ресурсы и время компа, т.к. заставляет ось переключаться из пользовательского режима в привелегированный и обратно, что отнимает у процессора 1000 циклов. Так что решай сам. Есть другие, но я их описывать не стану - сам ищи.
2)У формы есть событие OnCloseQuery. В нем все пишется. С горячей перезагрузкой сложнее, но тоже решается. Опять же, ищи в рассылке.
3)Это емкий вопрос - ищи в рассылке или может кто-то еще опишет, мне лень.
4)Имеется ввиду коммандная строка? Функция WinAPI GetCommandLine.
Удачи.

Ответ отправлен: 17.12.2002, 03:27
Отправитель: Jadd



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (39)
C / C++ (30)
Perl (5)
Delphi (21)
Pascal (23)
Basic / VBA (10)
Java / JavaScript (6)
PHP (4)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (26)
"Железо" (33)
Поиск информации (14)
Администратору
Windows NT/2000/XP (10)
Linux / Unix (14)
Юристу
Гражданское право (8)
Семейное право (3)
Трудовое право (5)
КоАП (2)

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




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

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

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

В избранное