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

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


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

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

Выпуск № 433
от 04.04.2006, 05:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 296, Экспертов: 67
В номере:Вопросов: 9, Ответов: 17


Вопрос № 38836: Здравствуйте, уважаемые эксперты. Хочу задать такой вопрос. У меня стоит Delphi 8 for .NET. И если я хочу откомпилировать какую-нибудь программу в окне ошибок вылетает "Borland.Messages is specified to a platform","Borland.Dialog...
Вопрос № 38844: Здравствуйте. Нужен совет. Посоветуйте какой-нибудь кодек для перекодирования из wma в wav, откуда его можно скачать и как им пользоваться. ...
Вопрос № 38863: Добрый день, уважаемые эксперты! Огромное спасибо за Ваши ответы! У меня вопрос! Почему при выгрузки dll из памяти выдает ошибку ссылаясь на адрес 0#00000? функции из dll работают!...
Вопрос № 38888: Здравствуйте, уважаемые эксперты. У меня тут маленькая техническая неувязка. Действительно маленькая. Написал программу-симулятор мышы и клавиатуры (выполняет действия по списку). Если ставить циклическое выполнение, то условием должно быть отклю...
Вопрос № 38901: Здраствуйте! Пишу программку и она выкидывает помойму очень тупую ошибку! ...class EDataBaseError with message 'CName: Field 'C_name' not found'... Хотя я делаю запрос:(Q-Tquery) Q.close; Q.SQL.clear; Q.SQL.add('select SUM(C_c...
Вопрос № 38903: Доброго времени суток. Уважаемые эксперты, существует такая задача нужно чтобы: 1. Запускается программа 2. По нажатию на кнопку открывается окно 3. в открывшемся окне нажимаем еще одну кнопку, и открывается еще одно окно И в...
Вопрос № 38907: Здраствуйте уважаемые эксперты Как можно дописать текст из мэмо в конец существуюшего файла? Заранее спасибо....
Вопрос № 38916: Здравствуйте, уважаемые эксперты! Срочно понадобилась программа, которая может конвентировать символы в их ascii-значения. Подскажите, какой можно использовать алгоритм, чтобы при введении в Edit каких-либо символов и принажатии на кнопку ...
Вопрос № 38927: Здравствуйте, Уважаемые эксперты! В приложении массив заполняется случайными числами и результат выводится в StringGrid, состоящий из одной строки и 10 ячеек. Как сделать так, чтобы массив состоял не только из положительных, но и о...

Вопрос № 38.836
Здравствуйте, уважаемые эксперты.
Хочу задать такой вопрос. У меня стоит Delphi 8 for .NET. И если я хочу откомпилировать какую-нибудь программу в окне ошибок вылетает "Borland.Messages is specified to a platform","Borland.Dialogs is specified to a platform" и т.д. Как можно настроить среду Delphi, чтобы можно было компилировать приложения под Win32?.

Операционная система: Windows XP Professional
Отправлен: 29.03.2006, 10:46
Вопрос задал: Дружилин Алексей Викторович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Дружилин Алексей Викторович!
А никак. В названии продукта ты разве не проситал "for .NET"? Вот соответственно, среда и предназначена ТОЛЬКО для .NET.

Для компиляции под Win32 ставь Delphi 2005 или 2006. Там есть компиляторы под .NET и Win32
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 2-ой класс)
Ответ отправлен: 29.03.2006, 10:51

Отвечает: sir henry
Здравствуйте, Дружилин Алексей Викторович!
Никак. Забудте об этом. Дельфи 8 работает исключительно с .NET.
Поставьте либо дополнительно Дельфи 7 для компиляции кода под Win32, либо поставьте Дельфи 2006 (в 2005 некоторые компоненты глючат), тогда можно будет в одной и тойже среде компилить как под .NET, так и под Win32. Вдобавок еще и C# будет (язык доаольно интересный и вполне возможно будет более популярный, чем C++).
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 29.03.2006, 11:08


Вопрос № 38.844
Здравствуйте.
Нужен совет. Посоветуйте какой-нибудь кодек для перекодирования из wma в wav, откуда его можно скачать и как им пользоваться.
Отправлен: 29.03.2006, 11:55
Вопрос задал: Dimon007 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Timoshin A.B.
Здравствуйте, Dimon007!
Например winamp, или нужен программный способ?
Ответ отправил: Timoshin A.B. (статус: Студент)
Ответ отправлен: 29.03.2006, 22:31


Вопрос № 38.863
Добрый день, уважаемые эксперты! Огромное спасибо за Ваши ответы!
У меня вопрос! Почему при выгрузки dll из памяти выдает ошибку ссылаясь на адрес 0#00000? функции из dll работают!
Отправлен: 29.03.2006, 15:01
Вопрос задал: Грицай Алексей Юрьевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Грицай Алексей Юрьевич!
На код взглянуть бы...
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: факультет Электронной техники, Мордовский госуниверситет
Адрес: г. Саранск
WWW: Программирование на Паскале
----
Ответ отправлен: 29.03.2006, 16:11

Отвечает: Злоумышленник
Здравствуйте, Грицай Алексей Юрьевич!
1. Воспользуйся отладчиком.
2. Когда будет сбой, посмотри, что делает сбойная строка. Скорее всего вызывается функция из выгруженной dll.
3. Если не разберёшься - шли код, на котором ошибка происходит, посмотрю.
Ответ отправил: Злоумышленник (статус: 5-ый класс)
Ответ отправлен: 29.03.2006, 20:01


Вопрос № 38.888
Здравствуйте, уважаемые эксперты.
У меня тут маленькая техническая неувязка. Действительно маленькая. Написал программу-симулятор мышы и клавиатуры (выполняет действия по списку). Если ставить циклическое выполнение, то условием должно быть отключение Scroll Lock'a (он в начале включается). Когда окно активно, состояние Scroll Lock'a прекрасно прослеживается (через GetKeyboardState). Если же фокус у другого окна, то создаётся впечатление, что информация не обновляется (до тех пор, пока не перейти на родное приложение или не провести над ним мышь). Отследивание происходит в конце каждого цикла repeat-until. Условием завершения служит KS[145]=0 (KS: TKeyboardState;). В конце каждого цикла выполняю GetKeyboardState(KS); Ничего не понимаю.
Помогите, чем сумеете.
Спасибо.
Отправлен: 29.03.2006, 19:14
Вопрос задал: Полховский Александр Владимирович (статус: Практикант)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

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

Используйте функцию GetKeyState(). Пример обработчика OnTimer находится в приложении. Код проверен и работает.

А странное реагирование функции GetKeyboardState() можно объяснить следующей выдержкой из MSDN:
Remarks

An application can call this function to retrieve the current status of all the virtual keys. The status changes as a thread removes keyboard messages from its message queue. The status does not change as keyboard messages are posted to the message queue.


Успехов!

Приложение:

Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 29.03.2006, 20:48


Вопрос № 38.901
Здраствуйте!
Пишу программку и она выкидывает помойму очень тупую ошибку!
...class EDataBaseError with message 'CName: Field 'C_name' not found'...
Хотя я делаю запрос:(Q-Tquery)
Q.close;
Q.SQL.clear;
Q.SQL.add('select SUM(C_cost) as SUMMA');
Q.SQL.Add('from book');
Q.open;
Labelcost.caption:=Q.FieldByName('SUMMA').AsString;
В чём ошибка?!
Отправлен: 29.03.2006, 21:36
Вопрос задал: chikanok (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Kazakh
Здравствуйте, chikanok!
Может такой вариант?
Вы создали табличку вней поля разные (C_name в том, чилсе). Пытались его отобразить на форме. Потом передумали удалили это поле или переименовали, но оно осталось в редакторе полей какого-нить датасета.
Чего-то сморозил :-)
Надеюсь поймете
---------
Если собеседник затрудняется ответить, значит, вопрос поставлен правильно.
Ответ отправил: Kazakh (статус: 4-ый класс)
Ответ отправлен: 30.03.2006, 09:58


Вопрос № 38.903
Доброго времени суток.
Уважаемые эксперты, существует такая задача нужно чтобы:
1. Запускается программа
2. По нажатию на кнопку открывается окно
3. в открывшемся окне нажимаем еще одну кнопку, и открывается еще одно окно

И вот ту то и возникает для меня проблема, как сделать так чтобы оба окна висели на экране и можно было между ними переключатся ну, например по Alt+Tab или еще как,…..

Заранее благодарен.
Отправлен: 29.03.2006, 21:52
Вопрос задал: Алексеев Александр Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

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

В прикрепленном файле находится пример проекта с требуемыми свойствами;)

Переключение между Form2 и Form3 происходит по сочетанию клавиш Shift+V.

Если какие то аспекты не ясны - велкам на мини-форум;)

Успехов!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.

Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 29.03.2006, 22:16

Отвечает: LanK
Здравствуйте, Алексеев Александр Владимирович!

:) надо быть проще и люди к вам потянуться... :)

Только это не гуд - делать 20 форм на таскбаре :( ...

Собственно я делаю форму "Навигатор" маленькую с кнопками - форм. И всё. получается ДВА активных окошка для переходов. Одно навигации - и одно текущая форма (та которая выше).

Приложение:

---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!

Ответ отправил: LanK (статус: 10-ый класс)
Ответ отправлен: 30.03.2006, 14:33


Вопрос № 38.907
Здраствуйте уважаемые эксперты
Как можно дописать текст из мэмо в конец существуюшего файла?
Заранее спасибо.
Отправлен: 29.03.2006, 22:13
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

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

Код в приложении добавляет в файл temp.txt содержимое Memo1.

Успехов!

Приложение:

Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 29.03.2006, 22:26

Отвечает: AlexanderR
Здравствуйте, Станислав!

Нужно просто открыть файл с помощью ф-ции append, тогда он откроется для записи и указатель переместится в конец файла.

procedure TForm1.Button1Click(Sender: TObject);
var f:TextFile;
i:integer;
begin
AssignFile(f, 'c: ext.txt');
Append(f);
for i := 0 to Memo1.Lines.Count - 1 do Writeln(f, Memo1.Lines[i]);
CloseFile(f);
end;
---------
Если ты хочешь понять я тебе помогу, но я не буду выполнять за тебя твою работу.
Ответ отправил: AlexanderR (статус: 1-ый класс)
Ответ отправлен: 30.03.2006, 08:58


Вопрос № 38.916
Здравствуйте, уважаемые эксперты!
Срочно понадобилась программа, которая может конвентировать символы в их ascii-значения.
Подскажите, какой можно использовать алгоритм, чтобы при введении в Edit каких-либо символов и принажатии на кнопку появлялось сообщение с ascii-значениями символов.
Отправлен: 29.03.2006, 23:22
Вопрос задал: Дружилин Алексей Викторович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Ю.В.
Здравствуйте, Дружилин Алексей Викторович!
Рабочий код находится в приложении;)

Успехов!

Приложение:

Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 29.03.2006, 23:38

Отвечает: Malysh
Здравствуйте, Дружилин Алексей Викторович!
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
str:string;
begin
str:=Edit1.Text;
for i:=1 to Length(str) do
Memo1.Lines.Add(IntToStr(Integer(str[i]))) ;
end;
Тут в мемо выводится. Я так понял что тебе надо числовые значения символов из ascii таблицы.
Ответ отправил: Malysh (статус: Студент)
Ответ отправлен: 30.03.2006, 01:39

Отвечает: AlexanderR
Здравствуйте, Дружилин Алексей Викторович!
В обработчике события KeyPress компонента TEdit пропиши оператор:
ShowMessage(IntToStr(Ord(Key)));

Функция Ord возвращает ascii-код символа.

Приложение:

---------
Если ты хочешь понять я тебе помогу, но я не буду выполнять за тебя твою работу.

Ответ отправил: AlexanderR (статус: 1-ый класс)
Ответ отправлен: 30.03.2006, 08:49


Вопрос № 38.927
Здравствуйте, Уважаемые эксперты!

В приложении массив заполняется случайными числами и результат выводится в StringGrid, состоящий из одной строки и 10 ячеек.

Как сделать так, чтобы массив состоял не только из положительных, но и отрицательных элементов в промежутке от -100 до 100.

В принципе отрицательные получаются тоже, если к b присвоить любое отрицательное число, но тогда все элементы массива как отрицательные, так и положительные становятся 10-значными. А мне нужно примерно в промежутке от -100 до 100.

Приложение:

Отправлен: 30.03.2006, 01:26
Вопрос задал: Solovej (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Лучников Ю.В.
Здравствуйте, Solovej!

Функция random(n) возвращает случайное число из интервала [0, n). А нам требуется получить интервал [-100, 100].

Отсюда пишем: a[i]:=random(201)-100;.

Исправленный код находится в приложении.

Успехов!

Приложение:

Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 30.03.2006, 02:14

Отвечает: Malysh
Здравствуйте, Solovej!
Измеени просто пару строк, вот как должно быть:

Приложение:

Ответ отправил: Malysh (статус: Студент)
Ответ отправлен: 30.03.2006, 02:53

Отвечает: Ataman N. N.
Здравствуйте, Solovej!
Функция Random(n) возращает псевдослучайное число из диапазона 0:n. Для того, чтобы получить число в диапазоне m:n, где m Ch := Random(n) + m;
В Вашем случае n = 200, m = -100, тогда немного переписав процедуру получим требуемый результат

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
b: integer;
a: array[1..10] of integer;
begin
randomize;
b:=200;
for i:=1 to 10 do
begin
a[i]:=random(b)-100;
stringgrid1.Cells[i-1,0]:=inttostr((a[i]));
end;
end;

Все работает, сам только что проверил.
Ответ отправил: Ataman N. N. (статус: Студент)
Ответ отправлен: 30.03.2006, 17:54


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

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

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

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

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

В избранное