RusFAQ.ru: Программирование на Delphi
Информационный Канал Subscribe.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 |
© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.
Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки:
comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль
В избранное | ||