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

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


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

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

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

Выпуск № 198
от 02.08.2005, 21:50

Администратор:Калашников О.А.
В рассылке:Подписчиков: 223, Экспертов: 43
В номере:Вопросов: 12, Ответов: 42


Вопрос № 24127: Здрасти хочу спросить как зделать так чтобы твой процесс в Диспетчере задач и тд был с пометкой SYSTEM? Зарание спасибо!...
Вопрос № 24135: Где искать крэки на некоторые платные компоненты Dlphi?...
Вопрос № 24136: Приветствую вас любезные Эксперты, благадарю вас за то, что вы помогаете всем кто к вам обращается в числе которых был и я (причём и не один раз :-] ). Вот и в этот раз я пришол к вам с посьбой о помощи. А помощь мне нужна в следуующем вопрос...
Вопрос № 24138: У меня такой вопрос. Как удобнее сохранять (и вообще, можно ли такое делать?) динамический массив записей, одним (или несколькими) полем является ссылка на другой элемент этого же массива? Насколько я знаю, динамический массив создается с помощью...
Вопрос № 24139: Sourse: "Это снова пишу я, так как не получил ответа на свой вопрос. Возможно меня не поняли, обьясню на пальцах в чем заключаеться проблема...." Ответ: Мне знакома Ваша проблема. Дело не процедурах и функциях для работы с ...
Вопрос № 24144: Уважаемые эксперты: Как подсветить текущую строку грида. Чтобы создавалась иллюзия курсора на всю запись ? Используется стандартный DBGrig ...
Вопрос № 24146: Hi! У меня такая маленькая заминка вышла: я пишу утилиту для привода есть ComboBox в котором буквы приводов и по идеи одна кнопка должна открывать в Эксплорере содержимое компакт-диска с соответствием с буквой в ComboBox е вот код: pr...
Вопрос № 24151: Доброе время суток. Вопрос в следующем. Создаю, с помощью программы AutoPlay Menu Builder, - auturun собственного CD. В проге есть возможность вставки html-страницы в менюшку запуска. Отдельно создал html-документ с описание содержания и гиперссылкам...
Вопрос № 24157: Здравствуйте, уважаемые эксперты. У меня к Вам три вопроса по Delphi: 1. Начирикал и небольшую программулину, в которой есть компонент Мемо, но почему-то при запущенной проге, когда в это Мемо из Блокнота вставляешь текст на русском языке появляю...
Вопрос № 24166: Как сделать так,чтобы мы вводили в Edit1.text цифру и после нажатия кнопки Button Значение в Edit1.text присваивалось к Button2.Top???...
Вопрос № 24172: Есть ли у компонентов свойство, отображающее название всех свойств компонента в виде списка или чего-либо еще?...
Вопрос № 24179: Здарово коллеги! Я уже задавал вопрос в форуме WinAPI как работать с Планировщиком заданий Windows NTXP , но мне так ни кто не смог ответить! Подобное реализовано во многих Российских программах хотелось бы и свое творение зделать немножко умнее!...

Вопрос № 24.127
Здрасти хочу спросить как зделать так чтобы твой процесс в Диспетчере задач и тд был с пометкой SYSTEM? Зарание спасибо!
Отправлен: 27.07.2005, 22:21
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: John Freeman
Здравствуйте, Малярчук Андрей!
Никак однако, только запустив от имени SYSTEM
Прочитай про srvinst и srvany и сможешь сделать так.
-----------------------------отредактировано---------------------------
Но это для обычного exe файла, если же ты напишешь его как
службу, то можешь прямо добавить запись о нём в реестр и запустить
(подробнее и пример - в мыло), при этом почти ничего не мешает
сервису работать как обычный exe файл с помощью простой проверки
как что он запущен
--------------------------------------------------------------------------------
---------
You're trying to take me They trying to make me This is the only Gives me the only thing Tired of lying, I'm tired of lying The only thing I inderstand is what I feel...
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 27.07.2005, 22:41

Отвечает: Ddeedd
Здравствуйте, Малярчук Андрей!

Действительно никак, придется запустить свою прогу как службу/сервис - прочитайте в хелпе по WinApi в дельфе про функции OpenSCManager, CreateService, StartService, ControlService.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 28.07.2005, 00:38

Отвечает: sir henry
Здравствуйте, Малярчук Андрей!
Надо запускать его от имени SYSTEM, больше никак. Но лично Вам лучше этого не делать, чтобы не убить систему.
Пример:
CreateProcessAsUser(А здесь описываете свой процесс, который Вы хотите запустить);
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 03:55


Вопрос № 24.135
Где искать крэки на некоторые платные компоненты Dlphi?
Отправлен: 28.07.2005, 00:51
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Tsechoev Bagaudin
Здравствуйте, Малярчук Андрей!
Вот ты лентяй! Молодца, мне нравиться.
www.cracks.ru && am
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 28.07.2005, 00:58

Отвечает: sir henry
Здравствуйте, Малярчук Андрей!
На сайтах, где есть крэки.
Почему Вы решили, что Ваш вопрос относится к программированию? Только потому что Вы туда вставили слово "Delphi"?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 03:57

Отвечает: Denisss
Здравствуйте, Малярчук Андрей!
Во-первых, Вы задали вопрос не в ту тему. Есть специальная рассылка, называется "Поиск в интернете" (http://rusfaq.ru/?Step=ask&ID0=5&ID1=6&ID2=26).
Во-вторых, RusFAQ, как я понимаю, проблемами crack'ов не занимается.
В-третьих, если уж Вам так нужны компоненты, подумайте: так ли они Вам нужны. Нет ли бесплатных аналогов этих компонент.
Ответ отправил: Denisss (статус: Студент)
Отправлен: 28.07.2005, 19:21


Вопрос № 24.136
Приветствую вас любезные Эксперты, благадарю вас за то, что вы помогаете всем кто к вам обращается в числе которых был и я (причём и не один раз :-] ).
Вот и в этот раз я пришол к вам с посьбой о помощи.
А помощь мне нужна в следуующем вопросе:
Имеется заданее на КУРСОВУЮ которае я ни как не могу зделать, а сроки поджимают (причём очень поджимают), задача весьма проста а вот реализация как окозалось не очень, может есть те кто не побоится взятся за её решение. Немного я уже зделал, а вот самое пожалуй сложное не могу. Если кто возмётся то заданее и то что уже наработано я вышлю.
Заранее благодарен всем кто откликнится.
Отправлен: 28.07.2005, 01:13
Вопрос задал: GREEDY (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Tsechoev Bagaudin
Здравствуйте, GREEDY!
При двух условиях!
1. Говоришь на русском без жаргона.
2. Пиши вопрос в форуме www.ingush.com сам перейдешь на форум.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 28.07.2005, 03:15

Отвечает: Werewolf
Здравствуйте, GREEDY!
Почему бы не попобывать функционально ориентированное программирование?
Разбейте Вашу задачу на набор функций. Какие функции не сможете воплотить в жизнь сами пришлите в виде вопроса экспертам. Так по кусочкам можно собрать проект соразмерный с современными операционными системами и более того...

нельзя говорить "не могу"...
никто не побоится взяться за решение...
но мало у кого найдется время...
не жаль будет потратить немного времени на написание какой-либо функции в отдельности
ну а ответственность за сборку Ваша

если так не хотите заказывайте за деньги или по друзьям раз сроки очень поджимают, но лучше все сделать самому
со сложностями, повторюсь, обращайтесь к экспертам
Ответ отправил: Werewolf (статус: 4-ый класс)
Отправлен: 28.07.2005, 03:43

Отвечает: sir henry
Здравствуйте, GREEDY!
Нет, так не пойдет. Лентяев не любят нигде, в том числе и на Русфаке.
Ваш вопрос, в перводе, звучит так:
"Сделайте ЗА МЕНЯ курсовую, а то я пил пиво и спал с девочками и вообще мне некогда этим заниматься, а вам там делать все равно нечего..."
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 04:01


Вопрос № 24.138
У меня такой вопрос. Как удобнее сохранять (и вообще, можно ли такое делать?) динамический массив записей, одним (или несколькими) полем является ссылка на другой элемент этого же массива?
Насколько я знаю, динамический массив создается с помощью создания структуры записи и указателя на нее. С помощью new мы создаем эти записи в динамической памяти. Плюс надо еще держать в памяти указатель на последний элемент массива, а в каждом - ссылки на предыдущий.
А есть еще ссылки на произвольный элемент этого же (а может быть и другого динамического массива??? Всего лишь ссылка...) динамического массива.
Суть вопроса в том, как же правильно сохранять динамический массив, если при загрузке все ссылки на произвольные записи этого (или другого) динамического массива будут неправильными?
Отправлен: 28.07.2005, 07:24
Вопрос задал: ArcXeno (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Werewolf
Здравствуйте, Большаков Сергей Владимирович!
Во-первых, объявляем массив как array of {тип}
например,
var ar:array of float;
во-вторых, задаем его размер с помощью SetLength
например,
SetLength(ar,18);
в-третьих,
type
TflArray = array of float;

procedure WriteToFile(var aArray: TflArray; sFileName: string); {Примечание:
Объявление массива как параметр Var позволяет передавать только ссылку на массив,
а не копировать его целиком в стек, если же вам нужна безопасная работа с массивом,
то вам не следует передавать его как var-параметр. }
var
nArrayIndex: Word;
fFile: TextFile;
begin
AssignFile(fFile, sFileName);
Rewrite(fFile);
Writeln(fFile, length(aArray)-1);
for nArrayIndex := 0 to length(aArray)-1 do
begin
Writeln(fFile, aArray[nArrayIndex]);
end;

CloseFile(fFile);
end; {end Procedure, WriteToFile()}
procedure ReadFromFile(var aArray: TflArray; sFileName: string);
var
nArrayIndex,Len: Word;
fFile: TextFile;
begin
AssignFile(fFile, sFileName);
Reset(fFile);
Readln(fFile, Len);
SetLength(aArray,Len);
for nArrayIndex := 0 to length(aArray)-1 do
begin
Readln(fFile, aArray[nArrayIndex]);
end;

CloseFile(fFile);
end;
Ответ отправил: Werewolf (статус: 4-ый класс)
Отправлен: 28.07.2005, 08:05

Отвечает: sir henry
Здравствуйте, Большаков Сергей Владимирович!
Если честно, ничего не понял из Вашего вопроса.
Начнем с того, что в Дельфи динамический массив это такой-же массив (по внешнему виду) что и остальные, только не имеет начально заданных размеров. То что Вы писали, это из седой древности под названием Паскаль. Поверьте, с тех пор мир ушел далеко вперед. :)
var
MyDinArray: array of point; {Вот мы объявили безразмерный массив указателей или другого типа, который Вам нужен}
Begin
{Здесь у нас идет программа}
....
{Теперь мы выяснили, какой размер должен иметь массив и задали его массиву}
SetLength(MyDinArray, 147);
{и дальше работаем с ним как с обычным массивом}
End;
Если же у Вас ни сразу, ни в последствии неизвестно, какой размер будет иметь массив, то вместо массива нужно воспользоваться списком. Вот например список строк:
var
str: TStringList;
i: integer;
Begin
{Создаем список}
str:=TStringList.Create;
{Постепенно заполняем его}
str.Add('Кака-нибудь строка');
{Выводим список строк}
For i:=0 to str.Count-1 do
WriteLn(str.Strings[i]);
End;
*******************************
Непонятно так-же что Вы подразумеваете под "сохранить массив". Сохранить его в файл?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 12:32

Отвечает: svsrus
Здравствуйте, Большаков Сергей Владимирович!

Вот тебе пример как можно сохранять и считывать динамические массивы из файла.

var X:array of Word(или любой свой тип);

//----
//Где-то в тексте твоей программы расчитывается число count - длина массива.
// Делаем длину массива=count;
SetLength(X,count);
//..... в программе заполняется массив и т.д.

//сохраняем массив в файл
procedure TForm1.Button5Click(Sender: TObject);
var i:integer; F:file of word;
begin
AssignFile(F,'data.dat');
Rewrite(F);
for i:= 0 to High(Xm) do
Write(F,Xm[i]);
CloseFile(F);
end;

// Загружаем массив из файла, например, при запуске приложения
procedure TForm1.FormCreate(Sender: TObject);
A: array of word;
F:File of Word;
i,count:integer;
begin
AssignFile(F,'data.dat');
Reset(F);
count:=FileSize(F);
SetLength(X,count);
Label1.Caption:='Длина массива: '+IntToStr(count);
for i:=0 to count-1 do
Read(F,Xm[i]);
CloseFile(F);
Ответ отправил: svsrus (статус: 1-ый класс)
Отправлен: 28.07.2005, 19:36


Вопрос № 24.139
Sourse:
"Это снова пишу я, так как не получил ответа на свой вопрос. Возможно меня не поняли, обьясню на пальцах в чем заключаеться проблема...."

Ответ:
Мне знакома Ваша проблема. Дело не процедурах и функциях для работы с файлами, а с переменной (f:textfile). Точнее с режимами (fmRead, fmWrite, fmReadWrite) при чтения-записи. Поэтому советую использовать стандартные переменные OutPut(InPut) для записи (чтения). Вот моя процедура, если можете разместите её в рассылке.

Приложение:

Отправлен: 28.07.2005, 07:54
Вопрос задал: Kazakh (статус: 1-ый класс)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, Kazakh!
Чушь полная!
Вы просто заменяете устройство, которое определено по умолчанию как стандартный вывод (для консольных приложений это экран, а для GUI - неизвестно что) своим файлом. Ну и зачем?
AssignFile() как раз и связывает файловую переменную с определенным файлом на диске.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 12:45
Оценка за ответ: 5
Комментарий оценки:
В принципе Вы правы, но I/O Error 32 у меня тоже была. И только ТАК решилась проблема!


Вопрос № 24.144
Уважаемые эксперты:
Как подсветить текущую строку грида. Чтобы создавалась иллюзия курсора на всю запись ? Используется стандартный DBGrig
Отправлен: 28.07.2005, 10:31
Вопрос задал: Sniffer (статус: Студент)
Всего ответов отправлено: 6

Отвечает: Kazakh
Здравствуйте, Sniffer!
Если имеется ввиду выделить текущую строку, то надо в Инспекторе обхектов у DBGrid1 в наборе свойств Options присвоить True свойству dgRowSelect.

Или программно добавить
DBGrid1.Options:=DBGrid1.Options+dgRowSelect;
Ответ отправил: Kazakh (статус: 1-ый класс)
Отправлен: 28.07.2005, 10:39
Оценка за ответ: 4
Комментарий оценки:
Посмотри в минифоруме

Отвечает: Rusland
Здравствуйте, Sniffer!
Смотри код ниже (насколько помню у DBGrida свойство DefaultDrawing нужно будет выставить в false). Только Ehlib на мой взгляд лучше.

Приложение:

---------
Тише едешь, дальше будешь... от того места куда едешь

Ответ отправил: Rusland (статус: 8-ой класс)
Отправлен: 28.07.2005, 10:39
Оценка за ответ: 5
Комментарий оценки:
Жаль что нету оценки 10. Именно то что мне надо... А насчет EhLib я обязательно попробую, пробовал TMS но он чет тормозит!?!

Отвечает: Tsechoev Bagaudin
Здравствуйте, Sniffer!
procedure TForm1.DBGrid1GetCellParams(Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor; Highlight: Boolean);
begin
if Customers.FieldByName('TLATE').AsInteger = 7 then
Background := TColor($F00FFF);
end;
если в этом значение равно семи, то перекрасить строку в красный цвет.
Удачи!

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 28.07.2005, 11:53

Отвечает: чЙФПНУЛЙК чБДЙН чЙЛФПТПЧЙЮ
Здравствуйте, Sniffer!
Попробуй в инспекторе обьектов в свойствах Options
dgRowSelect=true

---------
оЕ ЧУЕ ФП Windows, ЮФП ЧЙУЙФ!
Ответ отправил: чЙФПНУЛЙК чБДЙН чЙЛФПТПЧЙЮ (статус: 2-ой класс)
Отправлен: 28.07.2005, 15:00

Отвечает: Werewolf
Здравствуйте, Sniffer!
В DbGrid.Options поставь RowSelect= True
Ответ отправил: Werewolf (статус: 4-ый класс)
Отправлен: 28.07.2005, 18:27

Отвечает: svsrus
Здравствуйте, Sniffer!

Если я тебя правильно понял, то нужно у DBGrid'a выставить опцию dgRowSelect=True. Выставить можно в инспекторе объектов или программно:
procedure TForm1.FormCreate(Sender: TObject);
begin
DbGrid1.Options:=DbGrid1.Options+[dgRowSelect];
end;
Ответ отправил: svsrus (статус: 1-ый класс)
Отправлен: 28.07.2005, 19:34


Вопрос № 24.146
Hi! У меня такая маленькая заминка вышла: я пишу утилиту для привода
есть ComboBox в котором буквы приводов и по идеи одна кнопка должна
открывать в Эксплорере содержимое компакт-диска с соответствием с буквой
в ComboBox е вот код:
procedure TForm1.RxSpeedButton4Click(Sender: TObject);
var
ExView: PAnsiChar;
begin
//ExView:=ComboBoxEx1.Items.GetText;
ShellExecute(0, 'explore', {ExView} 'E:', nil, nil, SW_SHOWNORMAL);
end;
Вся проблема в том что адрес диска PANSIchar и не соответствует Strings!
Инфы в хелпе кот наплакал может быть какую функцию подскажите!
Отправлен: 28.07.2005, 10:44
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Kazakh
Здравствуйте, Малярчук Андрей!

procedure TForm1.Button2Click(Sender: TObject);
var
d:string;
begin
d:=ComboBox1.Text;
if length(d)=1 then d:=d+':'; // если драйвы в Combo хранятся одной буквой
ShellExecute(0, 'explore', PChar(d), nil, nil, SW_SHOWNORMAL);
end;
Ответ отправил: Kazakh (статус: 1-ый класс)
Отправлен: 28.07.2005, 10:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо Все работает Круто!

Отвечает: John Freeman
Здравствуйте, Малярчук Андрей!
есть такая процедура для строк : Pchar(string) , на выходе pchar,
так что сначала любым способом string как обычно итд...
---------
You're trying to take me They trying to make me This is the only Gives me the only thing Tired of lying, I'm tired of lying The only thing I inderstand is what I feel...
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 28.07.2005, 12:17

Отвечает: sir henry
Здравствуйте, Малярчук Андрей!
В ShellExecute() все строковые параметры идут типа PChar, внимательно прочтите справку. Чтобы привести к этому типу, достаточно сделать PChar(какая-нибудь_строка). Если же Вы задаете в этой функции строковую константу (ну типа как у Вас - 'E:|'), то она автоматом преобразуется в PChar.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 12:55


Вопрос № 24.151
Доброе время суток. Вопрос в следующем. Создаю, с помощью программы AutoPlay Menu Builder, - auturun собственного CD. В проге есть возможность вставки html-страницы в менюшку запуска. Отдельно создал html-документ с описание содержания и гиперссылками на установку программ (exe - файлы). Вставил страницу в меню. Записал на CD. При клике на выполнение установки программы, браузер постоянно спрашивает об опасности открытия, возможности сохранить и т.п. Допустим, я у себя настроил браузер на выполнение таких опрераций.
В сущности вопрос: Как создать гиперссылку на exe-файлы или что-то иное, чтобы файл запускался по умолчанию без подобных вопросов, как например, в меню запуска различных CD с warez-ным софтом.
Отправлен: 28.07.2005, 12:08
Вопрос задал: GRApe (статус: 4-ый класс)
Всего ответов отправлено: 3

Отвечает: Tsechoev Bagaudin
Здравствуйте, GRApe!
Запросы в любом случае будут, если в браузере указана защита от такого рода файлов.
Думаю если человеку нужны эти файлы, то он разрешит их к исполнению.

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 28.07.2005, 12:25
Оценка за ответ: 1

Отвечает: Kazakh
Здравствуйте, GRApe!

Если из Delphi, то можно так, только не забудьте в Uses прописать ShellAPI.
Но лучше использовать CreateProcess.

А вообще попробуйте программу MultiMedia Builder. Тоже автораны делает.

Приложение:

Ответ отправил: Kazakh (статус: 1-ый класс)
Отправлен: 28.07.2005, 14:05
Оценка за ответ: 5
Комментарий оценки:
Спасибо, попробую.

Отвечает: Denisss
Здравствуйте, GRApe!
Не совсем понимаю суть вопроса. Гиперссылки - это элементы HTML, насколько я понимаю. И при чем тут Delphi?
В общем, я понял Вас так:
Вы создаете HTML документ, открываете его в Delphi через компоненту TWebBrowser. Но при нажатии на EXE файлы, WebBrowser выдает запрос.
Суть вопроса (по моему пониманию) - как сделать так, чтобы при нажатии на ссылку (ЕХЕ файл) в TWebBrowser не появлялось окно с лишними вопросами, а открывалось соответствующее приложение?

Если я Вас правильно понял, то пример в приложении. Иначе, извините :)

Приложение:

Ответ отправил: Denisss (статус: Студент)
Отправлен: 28.07.2005, 19:00
Оценка за ответ: 5
Комментарий оценки:
Вы правильно поняли. Спасибо. Попробую и этот. пример.


Вопрос № 24.157
Здравствуйте, уважаемые эксперты. У меня к Вам три вопроса по Delphi:
1. Начирикал и небольшую программулину, в которой есть компонент Мемо, но почему-то при запущенной проге, когда в это Мемо из Блокнота вставляешь текст на русском языке появляются одни вопросительные знаки.... Вопрос Почему и как от этого избавиться ?
2. Пытаюсь делать свой компонент от TImage и хочу сразу написать у него обработчик события OnClick, чтобы каждый раз, когда я его прилеплю на форму этот обработчик выполнялся соответственно при клике на нём... такое вообще осуществимо ? И если осуществимо, то как ? Желательно небольшой кусок кода в пример.
А то как я не старался, Delphi всё ругается и ругается, а если и не ругается, то всё-равно ругаюсь я, поскольку нет желаемого эффекта....
3. Может, немного не в тему, но хочу спросить... может, кто из Вас знает, где в нете можно откопать 20 и 21 главы от Библии Delphi... очень надо, особенно 21... а то где искал, есть всё остальное кроме нужных...

Заранее спасибо.
Отправлен: 28.07.2005, 13:02
Вопрос задал: GraphicScar (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: sir henry
Здравствуйте, GraphicScar!
1. Что-то Вы накосячили со шрифтами или кодировками в Вашем мемо. Смотрите в этом направлении.
2. Обработчик OnClick - это процедура, которая происходит при щелчке кнопкой по компоненту. И если Вы пишете в этой пароцедуре что-то невразузмительное, то кроме ругани ничего и не получите.
Кусок тут очень небольшой, но к сожалению больше написать нельзя - маловато от Вас инфы.
Procedure MyProc;
Begin
{Здесь будет то, что Вы хотите зделать}
End;
TImage.OnClick:=MyProc;
3. Приведите полное название Вашей Библии, а то непонятно, о какой идет речь. В самом деле, Библий по Дельфи хоть пруд пруди. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 13:26
Оценка за ответ: 5
Комментарий оценки:
1. Пробовал всё это обратно раскосячить... не помогает....
2. Чё-та не получается... :-/... Delphi опять ругается....
Но всё-равно, спасибо!!!

Отвечает: Denisss
Здравствуйте, GraphicScar!
1. Это глюк Windows. Не помню как его через реестр исправлять, но, если Вы смените раскладку клавиатуры на русскую перед копированием (в блокноте), а потом перед вставкой (в Мемо), то вроде как все нормально должно вставиться.
2. Для создания собственного обработчика OnClick надо многое описывать. Смотрите как это реализовано в Delphi (подскажу, модуль Controls, класс TControl, методы/события WMLButtonDown, WMLButtonUp).
3. тут подсказать не могу :)
Ответ отправил: Denisss (статус: Студент)
Отправлен: 28.07.2005, 19:12
Оценка за ответ: 5
Комментарий оценки:
1.Блин..., и вправду, работает.... никогда бы сам не догадался....
2.Посморим... проверим...
Спасибо

Отвечает: Gin

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

1. Попробуйте подкорректировать:
[HKEY_LOCAL_MACHINESystemCurrentControlSetControlNlsCodepage]
"1251"="cp_1251.nls"
"1252"="cp_1251.nls"
"1253"="cp_1251.nls"
"1254"="cp_1251.nls"

3. Вы имеете в виду:
Глава 20. Мультимедиа
Глава 21. Графика OpenGL

Вот ссылка - http://84.252.140.76/0425/Delphi/DelphiBib.rar

Size: 59082417
Description: Библия Delphi
Автор: Михаил Фленов
Страниц: 880 стр.

С Уважением, Gin.
Ответ отправил: Gin (статус: Студент)
Отправлен: 28.07.2005, 20:28
Оценка за ответ: 5
Комментарий оценки:
1. Мдя... а если друзьям эту прогу раздавать, то походу каждому из них придётся такой совет давать... неудобно...
3. А ссылка эта, к сожалению, работает только для российсих IP... я не из России и поэтому меня туда не пущають... абидна...:((....
НО, тем не менее, спасибо.....


Вопрос № 24.166
Как сделать так,чтобы мы вводили в Edit1.text цифру и после нажатия кнопки Button Значение в Edit1.text присваивалось к Button2.Top???
Отправлен: 28.07.2005, 15:08
Вопрос задал: Sassoft (статус: Посетитель)
Всего ответов отправлено: 6

Отвечает: Rusland
Здравствуйте, Sassoft!
А в чем собственно проблема?
Button2.Top:=StrToInt(Edit1.Text);
Удачи!
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: 8-ой класс)
Отправлен: 28.07.2005, 15:14

Отвечает: Tsechoev Bagaudin
Здравствуйте, Sassoft!
Button2.Top := StrToIntDef(edit1.text,Button2.Top);
Если будет введено не числовое значение, то ничего не происходит
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 28.07.2005, 15:19

Отвечает: John Freeman
Здравствуйте, Sassoft!
ru.delphi.chainik , а вообще help надо сначала читать, а потом что-то писать
Есть функция Button2.top:=Strtoint(edit1.text);
только надо ловить exception если в edit1.text не число, а что-то другое.
---------
You're trying to take me They trying to make me This is the only Gives me the only thing Tired of lying, I'm tired of lying The only thing I inderstand is what I feel...
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 28.07.2005, 15:43

Отвечает: sir henry
Здравствуйте, Sassoft!
Нет ничего проще.
В процедуре OnClick кнопки Button1 записываем:
Button2.Top:=StrToInt(Edit1.Text);
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 16:41

Отвечает: чЙФПНУЛЙК чБДЙН чЙЛФПТПЧЙЮ
Здравствуйте, Sassoft!
Попробуй в OnClick прописать
Button2.Top := IntToStr(Edit1.text);
---------
оЕ ЧУЕ ФП Windows, ЮФП ЧЙУЙФ!
Ответ отправил: чЙФПНУЛЙК чБДЙН чЙЛФПТПЧЙЮ (статус: 2-ой класс)
Отправлен: 28.07.2005, 17:40

Отвечает: svsrus
Здравствуйте, Sassoft!

Мда уж...

Button1.Top:=StrToInt(Edit1.Text);

Чтобы не возникало ошибки в программе придется еще написать обработчик события OnKeyPress для Edit1. Чтобы можно было вводить толко цифры.
Ответ отправил: svsrus (статус: 1-ый класс)
Отправлен: 28.07.2005, 19:34


Вопрос № 24.172
Есть ли у компонентов свойство, отображающее название всех свойств компонента в виде списка или чего-либо еще?
Отправлен: 28.07.2005, 17:19
Вопрос задал: Yujin (статус: Посетитель)
Всего ответов отправлено: 5

Отвечает: Ddeedd
Здравствуйте, Yujin!

Нет, такого свойства у компонентов нет.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 28.07.2005, 17:44

Отвечает: Denisss
Здравствуйте, Yujin!
У самих компонент такого свойства нет. Зато в модуле TypInfo есть функция для получения списка этих свойств: GetPropList.
Я немного переделал ее. В приложении приведен пример использования этой функции (по сути, это просто переделка процедуры TypInfo.FreeAndNilPropertyes).
Единственный недостаток - методы также являются свойствами.

Приложение:

Ответ отправил: Denisss (статус: Студент)
Отправлен: 28.07.2005, 18:29
Оценка за ответ: 5
Комментарий оценки:
Хороши ответы развернутые, с объяснением и примерами

Отвечает: svsrus
Здравствуйте, Yujin!

Все свойства компоненты можно посмотреть только в описании самого класса этого компонента. Придется смотреть исходные тексты:) В разделе Published описываются свойства, доступные из инспектора объектов. В других разделах могут быть другие свойства, доступные, например, только для чтения.
Например, посмотрим компоненту RxLabel. Открываем файл RxCtrls.pas, находим описание TRxLabel. Вот кусочек:
TRxLabel = class(TRxCustomLabel)
published
property Align;
property Alignment;
property AutoSize;
property Caption;
property Color;
property DragCursor;
property DragMode;
property Enabled;
property FocusControl;
property Font;
.....

Что мы видим. TRxLabel является наследником TRxCustomLabel (описан выше в этом же файле), т.е. имеет все свойства, которые имеет TRxCustomLabel + добавляются новые свойства .

Зная это можно программно открыть файл (*.pas) для чтения найти строку объявления класса и в ListBox занести все свойства компоненты.
Ответ отправил: svsrus (статус: 1-ый класс)
Отправлен: 28.07.2005, 19:34

Отвечает: sir henry
Здравствуйте, Yujin!
Нет, такого свойства со списком компонентов нету.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 28.07.2005, 19:43

Отвечает: Gin

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

Нажмите кнопку Ctrl, поводите мышкой в странице кода (а вдруг появится ссылка) и щелкните мышкой на ссылке. Если у Вас получится то откроется окно в котором можно делать тоже самое (см. предыдущее предложение).

С Уважением, Gin.
Ответ отправил: Gin (статус: Студент)
Отправлен: 28.07.2005, 21:38


Вопрос № 24.179
Здарово коллеги! Я уже задавал вопрос в форуме WinAPI как работать с Планировщиком заданий Windows NTXP , но мне так ни кто не смог ответить! Подобное реализовано во многих Российских программах хотелось бы и свое творение зделать немножко умнее!

Приложение:

Отправлен: 28.07.2005, 21:32
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: John Freeman
Здравствуйте, Малярчук Андрей!
Самый простой способ - %WINDIR%Tasks и формат файлов планировщика .job
...
---------
You're trying to take me They trying to make me This is the only Gives me the only thing Tired of lying, I'm tired of lying The only thing I inderstand is what I feel...
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 28.07.2005, 21:41

Отвечает: Kazakh
Здравствуйте, Малярчук Андрей!

Попробуйте DDE.
Поковыряйте службу svchost.exe.
Удачи
Ответ отправил: Kazakh (статус: 1-ый класс)
Отправлен: 29.07.2005, 08:27

Отвечает: Werewolf
Здравствуйте, Малярчук Андрей!
Все описано в MSDN с примерами на C++
Нет MSDN смотрите через инет
http://msdn.microsoft.com/library/en-us/taskschd/taskschd/using_the_task_scheduler.asp
Ответ отправил: Werewolf (статус: 4-ый класс)
Отправлен: 01.08.2005, 20:53


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное