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

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


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

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

Выпуск № 668
от 03.12.2006, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 409, Экспертов: 64
В номере:Вопросов: 8, Ответов: 16


Вопрос № 64345: Уважаемые эксперты подскажите как можно программно очистить список компнента TListBox....
Вопрос № 64363: Здравствуйте, господа Эксперты! Можно ли поместить анимированные курсоры и шрифт в DLL? Нельзя, чтобы юзер мог удалить их, и не хочу закрывать к ним доступ (Unlocker рулит). Как это реализовать? Заранее спасибо!...
Вопрос № 64383: Здравствуйте, уважаемые эксперты! Решил сделать запись в файл через WinAPI. var s: string; l: DWORD; ... WriteFile(HLogFile, s, length(s), l, nil); Пишет, но полную белиберду - совсем не то, что мне надо. Переменная s ин...
Вопрос № 64437: Здравствуйте!!!! У меня такой вопрос: мне необходимо связать две таблицы, к примеру приход и продажа, при уменьшении кол-ва товара на складе автоматически прибавляется количество в продажах, или наоборот. Подскажите, как это сделать. Заранее спасибо....
Вопрос № 64449: Здравствуйте эксперты. Вот моя проблема: никак немогу найти информацию (примеры, статьи и т.д.) по вопросу поиска расшарныйх ресурсов в локальной сети. Буду очень признателен если вы дадите ссылки по данному вопросу, конкретные примеры, книги или ука...
Вопрос № 64455: Здравствуйте уважаемы эксперты. Сложность состоит вот в чём: в данное время я работаю над программой "Определение реакций составных конструкций". Основное место на форме занимает компонент StringGrid1. Как показать в окнах таблицы грческий ...
Вопрос № 64495: Здравствуйте уважаемые эксперты. Посоветуйте пожалуйста готовые компоненты Button, CheckBox, ProgressBar... которые имеют "стиль WinXP - с зеленой подсветкой", подобные библиотеке компонентов XPComPack. Желательно проверенные... ...
Вопрос № 64512: Здраствуйте дорогите эксперты! У меня тут проблема возникла. Я сворачиваю окно в панель задач, а затем при нажатии на панели задача (любой кнопкой мыши "правой" и "левой") у меня показывало мое POPUPMENU. Спасибо!!!...

Вопрос № 64.345
Уважаемые эксперты подскажите как можно программно очистить список компнента TListBox.
Отправлен: 27.11.2006, 00:43
Вопрос задал: Писарев, Павел, Юрьевич (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Melamed
Здравствуйте, Писарев, Павел, Юрьевич!
Для полной очистки TListBox используйте метод

TListBox.Clear

Желаю удачи в изучении программировании
Ответ отправил: Melamed (статус: 8-ой класс)
Ответ отправлен: 27.11.2006, 01:01
Оценка за ответ: 5
Комментарий оценки:
Спасибо за помощь.

Отвечает: Балашов Григорий
Здравствуйте, Писарев, Павел, Юрьевич!

1. ListBox1.Clear (или ListBox1.Items.Clear)
2. ListBox1.Items.Text := ''
3. ....
While (ListBox1.Items.Count > 0) do
ListBox1.Items.Delete(0);
....
Ответ отправил: Балашов Григорий (статус: 1-ый класс)
Ответ отправлен: 27.11.2006, 08:35

Отвечает: KiberZero
Здравствуйте, Писарев, Павел, Юрьевич!
Для того, чтобы иметь программный доступ к списку, необходимо изменить свойства ListBox1.Items.
Приложение прилагается,надеюсь,разберётесь.

Приложение:

Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 18:17


Вопрос № 64.363
Здравствуйте, господа Эксперты! Можно ли поместить анимированные курсоры и шрифт в DLL? Нельзя, чтобы юзер мог удалить их, и не хочу закрывать к ним доступ (Unlocker рулит). Как это реализовать? Заранее спасибо!
Отправлен: 27.11.2006, 07:47
Вопрос задал: Neiroman (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: PaVeL_Ekt
Здравствуйте, Neiroman!

Включение шрифта в ваш EXE:

Используйте ваш любимый текстовый редактор, создайте *.rc файл, описывающий шрифт:

MY_FONT ANYOL1 "Bauhs93.ttf"

Первые два параметра могут быть любыми. Они будут использоваться в программе
позже.

Затем для создания *.res файла используйте компилятор командной строки BRCC32.EXE, поставляемый с Delphi. Если ваш файл на этапе 1 был назван MyFont.rc, командная строка в сеансе DOS должна выглядеть так:

BRCC32 MyFont

Программа добавит в компилируемый файл созданный ресурс .rc и создаст файл с тем же именем, за исключением расширения, которое будет .res: MyFont.res

В вашей программе добавьте директиву компилятора, чтобы включить вновь созданный файл:

{$R MyFont.res}

Правильным будет разместить его в секции реализации после строчки {$R *.DFM}.

Добавьте процедуру создания файла из ресурса, делающим шрифт доступным для использования. Пример:

procedure TForm1.FormCreate(Sender: TObject);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(hInstance, 'MY_FONT', Pchar('ANYOL1'));
Res.SavetoFile('Bauhs93.ttf');
Res.Free;
AddFontResource(PChar('Bauhs93.ttf'));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

программное удаление шрифта:

procedure TForm1.FormDestroy(Sender: TObject);
begin
RemoveFontResource(PChar("Bauhs93.ttf"))
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

курсоры:

курсоры также прописываються в файл ресурсов, вызов по следующему коду

Const crMyCur=5;
...
Begin
Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'CURSOR_1');
Cursor := crMyCursor;
end;
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 27.11.2006, 08:39


Вопрос № 64.383
Здравствуйте, уважаемые эксперты!
Решил сделать запись в файл через WinAPI.
var
s: string;
l: DWORD;
...
WriteFile(HLogFile, s, length(s), l, nil);
Пишет, но полную белиберду - совсем не то, что мне надо. Переменная s инициализруется.
1) Что не так? Как написать, чтобы заработало?
2) Почему компилятор не предупреждает?
Отправлен: 27.11.2006, 10:16
Вопрос задал: Сухомлин Кирилл Владимирович (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Маренич Владимир
Здравствуйте, Сухомлин Кирилл Владимирович!
Нужно указывать первый символ строки, т.к. строка в Delphi - это фактически динамический массив символов. А в начале string ("невидимым" образом для программиста) хранится служебная информация о строке.
В вашем случае надо писать так:
var
s: string;
l: DWORD;
...
if Length(s)>0 then
WriteFile(HLogFile, s[1], length(s), l, nil);

Компилятор не предупреждает потому, что никакой синтаксической ошибки нет. Это логическая ошибка программиста. Может Вам надо как раз записать строку с "белибердой"? Откуда ему знать? :)
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 27.11.2006, 11:08
Оценка за ответ: 5

Отвечает: Gh0stik
Здравствуйте, Сухомлин Кирилл Владимирович!
Вы просто записываете указатель, а Вам нужны данные. Надо писать так:
WriteFile(HLogFile, PAnsiChar(s)^, length(s), l, nil);

Полный пример:


procedure TForm1.Button1Click(Sender: TObject);
var l:Dword;
HLogFile: Thandle;
s:string;
begin
s:='Good Luck!!!.....';
HLogFile:=CreateFile('txt.txt', Generic_Write, 0, Nil, Create_Always, File_Attribute_Normal, 0);
WriteFile(HLogFile, PAnsiChar(s)^, length(s), l, nil);
CloseHandle(HLogFile);
end;


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 27.11.2006, 11:31
Оценка за ответ: 5


Вопрос № 64.437
Здравствуйте!!!! У меня такой вопрос: мне необходимо связать две таблицы, к примеру приход и продажа, при уменьшении кол-ва товара на складе автоматически прибавляется количество в продажах, или наоборот. Подскажите, как это сделать. Заранее спасибо.
Отправлен: 27.11.2006, 16:05
Вопрос задал: Oopbl (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: PaVeL_Ekt
Здравствуйте, Oopb

если это SQL это можно сделать через тригеры баз данных
в ORACLE тело тригера будет выглядеть примерно так:

if :new.поле_содержащее_кол-во>:old.поле_содержащее_кол-во then
условия автоматического добавления

через делфи, программным путем при изменении данных одной таблицы сразу изменяем данные другой.

например:

я в примере использовал query но суть одинакова и для Тable

тут еще вопрос состоит в том как этой бд будут пользоваться:
если только из вашей программы то можно ограничиться программными связями, если нет то нужно обязательно тригеры ставить.

Приложение:

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL

Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 28.11.2006, 06:38
Оценка за ответ: 5
Комментарий оценки:
Спасибки))))))


Вопрос № 64.449
Здравствуйте эксперты. Вот моя проблема: никак немогу найти информацию (примеры, статьи и т.д.) по вопросу поиска расшарныйх ресурсов в локальной сети. Буду очень признателен если вы дадите ссылки по данному вопросу, конкретные примеры, книги или укажите файлы библиотек/компонентов. Огромная просьба не давать ссылки обще типа: "поиши на сайте ishodniki.ru", "посмори в электронныых библиотеках" и т.п.
Зарание спасибо
Отправлен: 27.11.2006, 17:30
Вопрос задал: Hermit (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: _Alex_
Здравствуйте, Hermit!
Книги где описан поиск открытых ресурсов: "Delphi в шутку и в серьез. Что умеют Хакеры." и "Программирование в Delphi глазами хакера". Автор обоих книг Михаил Флёнов.
Скачать вторую книгу можно здесь "http://didream.33.com1.ru/books/programming/Delphi%20by%20Hacker.rar" 4Mb
Ссылка работает, недавно проверил.
Если нужно перешлю копию главы по нужной теме.

---------
Век живи - век учись
Ответ отправил: _Alex_ (статус: 1-ый класс)
Ответ отправлен: 27.11.2006, 18:25

Отвечает: KiberZero
Здравствуйте, Hermit!
Если не ошибаюсь,то здесь: http://progs-maker.narod.ru/; http://fp.grsu.by/UchProc/konspekt/delphi. И ещё что-то видел на http://www.realcoding.net/ - тут очень много статей по этому вопросу. Надеюсь,помог.Удачи!
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 18:46

Отвечает: Minor
Здравствуйте, Hermit!
закачайте себе DelphiRussianKnowlegeBase (DRKB) на сайте DRKB.ru
это прекрасный хелп в виде FAQ кроме того что вам надо там еще есть много всего полезного!
---------
Не руби сук, на котором сидишь! Вообще слезь с дерева, человек!
Ответ отправил: Minor (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 19:33

Отвечает: Мишин Михаил
Здравствуйте, Hermit!
http://www.delphiworld.narod.ru/_internet_.html
Ответ отправил: Мишин Михаил (статус: 1-ый класс)
Ответ отправлен: 28.11.2006, 13:22


Вопрос № 64.455
Здравствуйте уважаемы эксперты. Сложность состоит вот в чём: в данное время я работаю над программой "Определение реакций составных конструкций". Основное место на форме занимает компонент StringGrid1. Как показать в окнах таблицы грческий алфавит???
Отправлен: 27.11.2006, 17:52
Вопрос задал: Степанов Алексей Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Писарев, Павел, Юрьевич
Здравствуйте, Степанов Алексей Сергеевич!
Это делается путём изменения параметра Charset класса TFont.

Приложение:

Ответ отправил: Писарев, Павел, Юрьевич (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 22:29

Отвечает: chikanok
Здравствуйте, Степанов Алексей Сергеевич!
От смены CharSet меняет мало(покрайней мере у меня).
Попробуйте посмотреть на шрифт Symbol может там есть нужные вам символы, или другой шрифт, а иначе альтернативный компонент.
Удачи.
---------
Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус: 3-ий класс)
Ответ отправлен: 28.11.2006, 13:37


Вопрос № 64.495
Здравствуйте уважаемые эксперты.
Посоветуйте пожалуйста готовые компоненты Button, CheckBox, ProgressBar... которые имеют "стиль WinXP - с зеленой подсветкой", подобные библиотеке компонентов XPComPack.
Желательно проверенные...
Отправлен: 27.11.2006, 21:59
Вопрос задал: Пепеляев Александр Павлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: chikanok
Здравствуйте, Пепеляев Александр Павлович!
Зачем вам компоненты?!
Просто киньте на форму компоненту XPManifest с закладки Win32.
И все визуальные компоненты будут в стоящем в данное время стиле оформления.
Удачи.
---------
Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус: 3-ий класс)
Ответ отправлен: 28.11.2006, 13:29
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Именно это мне и надо было... И как я раньше не разглядел XPManifest?
Это наверное самый простой и надежный вариант.

Отвечает: KiberZero
Здравствуйте, Пепеляев Александр Павлович!
Неплохая подборка данных компонентов на http://sources.codenet.ru/download/628/xpcompack.html, а так же можете зайти сюда http://allprogramming.jino-net.ru/files/delphicomp.phtml. Все компоненты проверены!
Удачи!
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 28.11.2006, 15:58
Оценка за ответ: 5
Комментарий оценки:
Спасибо, прикольные ссылочки.


Вопрос № 64.512
Здраствуйте дорогите эксперты!
У меня тут проблема возникла. Я сворачиваю окно в панель задач, а затем при нажатии на панели задача (любой кнопкой мыши "правой" и "левой") у меня показывало мое POPUPMENU.
Спасибо!!!
Отправлен: 27.11.2006, 23:49
Вопрос задал: Luminarc (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PaVeL_Ekt
Здравствуйте, Luminarc!

Вот разобрался ловите:
и удачи

Приложение:

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL

Ответ отправил: PaVeL_Ekt (статус: 6-ой класс)
Ответ отправлен: 28.11.2006, 15:10


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное