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

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


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

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

Выпуск № 509
от 21.06.2006, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 361, Экспертов: 68
В номере:Вопросов: 11, Ответов: 26


Вопрос № 46309: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, можно ли как ни будь проверить, объявлена ли процедура с данным именем в программе или нет? Заранее благодарен!...
Вопрос № 46313: Здравствуйте, уважаемые эксперты! У меня вопрос относительно тредов - можно ли при создании треда передать ему какие-то данные. Например, в цикле создается новый тред, и как параметр ему передается значение счетчика цикла: for i:=1 ...
Вопрос № 46314: Здравствуйте! Я динамически создаю пункты меню(MainMenu) и подпункты к ним. Функция создания подпункта принимает параметр parent(string) и, проходя циклом по уже имеющимся пунктам, сравнивает их Caption с parent, делает свое дело, если они совпадают....
Вопрос № 46316: Здраво еХперты! Я знаю, что у строки можно поменять регистр, то есть менять ЗАГЛАВНЫЕ БУКВЫ на обычные и на оборот. НО есть проблема - я не знаю какими функциями это делается! Кто знает подскажите. И ещё вопрос: как средствами дельфи ...
Вопрос № 46323: Добрый день , уважаемые! Вопрос по компоненту AdvMenu. На форме AdvMainMenu1 и AdvMenuFantasyStyler1. Если написать AdvMenuFantasyStyler1.Style:= fsArctic; то все замечательно А если так var S: string; ...... S:= '...
Вопрос № 46326: Здравствуйте ! На форме есть Label1. Caption её '0'. Как сделать так, что бы через определённые промежутки времени, к 0 прибавлялось другое число. Т.е сначало был 0, потом прибавили 3 - стало три. Потом опять прибавили 3, стало 6 и т.д.<...
Вопрос № 46332: Очень простой вопрос не дающий мне покоя: как вывести следующий формат времени: секунды, миллисекунды, микросекунды. Например так: ss:msms:mksmks ..
Вопрос № 46336: Уважаемые эксперты! У меня к вам еще один вопрос - как вывести всплывающую подсказку в стиле WindowsXP для значка в трее? Подсказки такого вида, например, выводятся в "Оповещении системы безопасности Windows"...
Вопрос № 46345: Как можно преобразовать переменную типа word в переменную string?...
Вопрос № 46351: Добрый вечер,уважаемые! У меня вопрос такой: Во всех книжках по Delphi пишут, что при компиляции нужно обращать внимание на появляющиеся сообщения компилятора (hints, warnings) и избавляться от них как можно быстрее. Так вот у меня куча э...
Вопрос № 46372: Обыскал всю Torry.net, но так и не нашел компонента, с помощью которого можно рисовать штриховые рамки для выделения части рисунка, чтобы можно было менять размеры рамки, ухватившись в угол рамки, чтоб можно было перетаскивать рамку в любую часть рис...

Вопрос № 46.309
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, можно ли как ни будь проверить, объявлена ли процедура с данным именем в программе или нет? Заранее благодарен!
Отправлен: 15.06.2006, 13:10
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Татьяна
Здравствуйте, Андрющенко Вячеслав Васильевич!
Боюсь утверждать, однако мне кажется, что такой возможности нет (особенно если функция в приватной части)
Однако есть способ, который возможно вам поможет.
Можно как бы обязать класс, чтоб он поддерживал ту или иную функцию.
Точнее концепция такова: существует понятие так называемого интерфейса (interface). Если какой-либо класс объявляет о том, что он поддерживает какой-либо интерфейс, это означает, что он должен реализовать все функции данного интерфейса.
Некоторые статьи в приложении, однако, я думаю вы сами найдете дополнительную информацию если это вас заинтересует

Приложение:

---------
Возможно все. И ничего возможно тоже.

Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 15.06.2006, 13:49
Оценка за ответ: 5


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

У меня вопрос относительно тредов - можно ли при создании треда передать ему какие-то данные. Например, в цикле создается новый тред, и как параметр ему передается значение счетчика цикла:

for i:=1 to 10 do <Создать тред и передать ему значение 'i'>

Заранее благодарен!
Отправлен: 15.06.2006, 13:48
Вопрос задал: Олекса aka SoW (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Татьяна
Здравствуйте, Олекса aka SoW!
Создайте класс TMyThread потомок от TThread и определите в нем конструктор с параметром.
Мне кажется это оптимальный вариант
---------
Возможно все. И ничего возможно тоже.
Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 15.06.2006, 14:00
Оценка за ответ: 5
Комментарий оценки:
Спасибо за идею!!!


Вопрос № 46.314
Здравствуйте! Я динамически создаю пункты меню(MainMenu) и подпункты к ним. Функция создания подпункта принимает параметр parent(string) и, проходя циклом по уже имеющимся пунктам, сравнивает их Caption с parent, делает свое дело, если они совпадают. ТАк вот, подскажите, пожалуйста, почему не выполняется условие:
if (Menu.Items[i].Caption = parent), а выполняется:
if (Menu.Items[i].Caption = '&' + parent)?
Хотя при создании указывается имя без амперсанта в начале! Заранее благодарен!
Отправлен: 15.06.2006, 13:55
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Андрющенко Вячеслав Васильевич!
Потому что для меню включено свойство AutoHotkeys, которое автоматически добавляет горячие клавиши для каждого создаваемого пункта. Чтобы избавиться от них, можно выключить это свойство, а лучше - просто слегка поправить условие:
if (AnsiReplaceText(Menu.Items[i].Caption,'&','') = parent) Then ...
Не забудьте подключить модуль StrUtils.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 15.06.2006, 14:02
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Даже не мог подумать об этом=)

Отвечает: Serg_6667
Здравствуйте, Андрющенко Вячеслав Васильевич!

Это всего лишь мое мнение... Просто так работает система: во всех меню превым, точнее нулевым символом является &. По моим наблюдениям...
Ответ отправил: Serg_6667 (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 14:06

Отвечает: Олекса aka SoW
Здравствуйте, Андрющенко Вячеслав Васильевич!
Все очень просто. В меню есть свойство AutoHotkeys, что автоматически создает горячие клавиши для пунктов меню. Это свойство
за умалчиванием стоит в true. Вам достаточно просто его выключить.
---------
Вік живи - вік учись.
Ответ отправил: Олекса aka SoW (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 14:06


Вопрос № 46.316
Здраво еХперты! Я знаю, что у строки можно поменять регистр,
то есть менять ЗАГЛАВНЫЕ БУКВЫ на обычные и на оборот. НО
есть проблема - я не знаю какими функциями это делается!
Кто знает подскажите.
И ещё вопрос: как средствами дельфи поставить самый большой
приоретет своей програме в винде? Да и вобще как в винде
выставляются приоритеты?
Отправлен: 15.06.2006, 14:25
Вопрос задал: Ploter (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Gh0stik
Здравствуйте, Ploter!
Отвечаю на первую часть вопроса:

Используйте функции
UpperCase(s) - преобразовывает строку в верхний регистр;
LowerCase(s) - преобразовывает строку в нижний регистр;
Переменная s:string;
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 15.06.2006, 14:31

Отвечает: Савенко Вадим Иванович
Здравствуйте, Ploter!
LowerCase(cnst S: string): string - преобразует строку к нижнему регистру
UpperCase(cnst S: string): string - преобразует строку к верхнему регистру
Если используете русские буквы, то добавьте перед именем функции "Ansi"
AnsiLowerCase(cnst S: string): string - преобразует строку к нижнему регистру
AnsiUpperCase(cnst S: string): string - преобразует строку к верхнему регистру
Ответ отправил: Савенко Вадим Иванович (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 14:35

Отвечает: Ерёмин Андрей
Здравствуйте, Ploter!
StrLower() - переводит строку в нижний регистр.
StrUpper() - переводит строку в верхний регистр.
Однако эти функции не работают с русским алфавитом, поэтому придётся написать самим. Вот пример:

function RusLower(Str: String): String;
const low: string = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
upp: string = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var i,p: integer;
begin
result:=str;
for i:=1 to length(str) do
begin
p:=pos(str[i],low);
if p <= 0 then p:=pos(str[i],upp);
if p > 0 then t>
result[i]:=low[p];
end;
end;


Для верхнего регистра совсем немного нужно подправить.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 15.06.2006, 14:36

Отвечает: Татьяна
Здравствуйте, Ploter!
По поводу первой части вам уже дали ответ.
Единственное, что могу добавить, если вам нужно совместное изменение, ну т.е. строчную на заглавную и заглавную на строчную, то я вижу путь сравнения посимвольно, используя те же вышеприведенные функции
А по поводу приоритетов - есть апишки, ссылки в приложении

Приложение:

---------
Возможно все. И ничего возможно тоже.

Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 15.06.2006, 14:40


Вопрос № 46.323
Добрый день , уважаемые!
Вопрос по компоненту AdvMenu.
На форме AdvMainMenu1 и AdvMenuFantasyStyler1.
Если написать
AdvMenuFantasyStyler1.Style:= fsArctic; то все замечательно
А если так
var S: string;
......
S:= 'fsArctic';
AdvMenuFantasyStyler1.Style:= S;

то ошибка вылазит - несовместимые типы 'TFantasyStyle' и 'string'.
Как быть? Я хочу в настройках менять стиль меню и записывать его в ini- файл , чтобы при следующем запуске был этот сохраненный ранее стиль ,а не выходит
Отправлен: 15.06.2006, 15:05
Вопрос задал: Савенко Вадим Иванович (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Gh0stik
Здравствуйте, Савенко Вадим Иванович!

Поробуйте такой метод:

var S: TFantasyStyle;

................
S:= fsArctic; //либо S:= [fsArctic];
AdvMenuFantasyStyler1.Style:= S;

Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 15.06.2006, 15:10

Отвечает: Проходящий Мимо
Здравствуйте, Савенко Вадим Иванович!
Конечно будет ошибка! Нужно привести тип TString к типу TFantasyStyle. В этом может помочь функция GetEnumValue(TypeInfo: PTypeInfo; const Name: string): Integer;
Вот что об этом говорит дядя Borland:
uses
TypInfo;
type
TFruits = (apples, pears, grapes, bananas, oranges);
procedure FruitBeep (const fruitName : string);
var
Fruit : TFruits;
begin
Fruit := TFruits(GetEnumValue(TypeInfo(TFruits),fruitName));
case Fruit of
apples : Windows.Beep (440, 100);
pears : Windows.Beep (660, 100);
grapes : Windows.Beep (880, 10);
bananas : Windows.Beep (1320, 10)
else
Windows.Beep (70, 100)
end
end;
В Вашем случае нужно сделать так:
uses
TypInfo;

var S: string;
......
S:= 'fsArctic';

AdvMenuFantasyStyler1.Style:=
TFantasyStyle(GetEnumValue(TypeInfo(TFantasyStyle), S));

При этом Вы можете читать и писать значение в ini-файл. Дерзайте!
---------
Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 5-ый класс)
Ответ отправлен: 15.06.2006, 15:23
Оценка за ответ: 5
Комментарий оценки:
Вот это мне и надо было - не знал как преобразовать одит тип в другой.Спасибо!

Отвечает: Маренич Владимир
Здравствуйте, Савенко Вадим Иванович!
Попробуйте самы простой способ записывать и читать из ини-файла перечисляемых типов:
//запись
ini.WriteInteger('Section', 'ItemName', Ord(AdvMenuFantasyStyler1.Style));
//чтение
AdvMenuFantasyStyler1.Style:=TFantasyStyle(ini.ReadInteger('Section', 'ItemName', fsArctic));
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 15.06.2006, 18:16
Оценка за ответ: 5


Вопрос № 46.326
Здравствуйте !
На форме есть Label1. Caption её '0'. Как сделать так, что бы через определённые промежутки времени, к 0 прибавлялось другое число.
Т.е сначало был 0, потом прибавили 3 - стало три. Потом опять прибавили 3,
стало 6 и т.д.
Отправлен: 15.06.2006, 15:15
Вопрос задал: Vic (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Ерёмин Андрей
Здравствуйте, Vic!
Поместите на форму TTimer (вкладка System). Установите Interval например в 3000 (3 секунды), а в его обработчике - следующее:
Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+3);
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 15.06.2006, 15:21

Отвечает: Gh0stik
Здравствуйте, Vic!

Ставим на форму Timer1 (вкладка компонентов System):

Обработчик для Timer1:


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=inttostr(strtoint(Label1.Caption)+3);
end;


---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 15.06.2006, 15:25

Отвечает: PheanixN
Здравствуйте, Vic!
Все очень просто. Используйте таймер. Например
Label1.Caption := '0';

Для того что бы работать с числами делаем так:

Label1.Caption := IntToStr(StrToInt(Label1.Caption) + 3));

1. StrToInt(Label1.Caption) - Преобразование из строки в число
2. Прибавляем число
3. Преобразовывем обратно в строку IntToStr(StrToInt(Label1.Caption) + 3)) и присваиваем метки.
Ответ отправил: PheanixN (статус: 1-ый класс)
Ответ отправлен: 15.06.2006, 19:05


Вопрос № 46.332
Очень простой вопрос не дающий мне покоя: как вывести следующий формат времени: секунды, миллисекунды, микросекунды.
Например так: ss:msms:mksmks
Отправлен: 15.06.2006, 17:06
Вопрос задал: SUPcOZA (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Савенко Вадим Иванович
Здравствуйте, SUPcOZA!
Есть процедура DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: word);
Разбивает время Time на час, минуту, секунду и милисекунду
Ответ отправил: Савенко Вадим Иванович (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 17:46

Отвечает: Олекса aka SoW
Здравствуйте, SUPcOZA!
До предыдущего ответа прибавлю, что еще есть специальная функция, что превращает дату в строку:

function FormatDateTime(const Format:string; DateTime:TDateTime):string;

Но микросекунды узнать так невозможно.

Например, чтобы вывести время в формате чч:мм:сс нужно написать следующее:

procedure TForm1.Button1Click(Sender: TObject);
var Format:string;
begin
Format:='hh:nn:ss';
Label1.Caption:=FormatDateTime(Format, Time());
//Time() - функия возвращает текущее время
end;

---------
Вік живи - вік учись.
Ответ отправил: Олекса aka SoW (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 18:08

Отвечает: Маренич Владимир
Здравствуйте, SUPcOZA!
s:=FormatDateTime('nn:ss.zzz', Time); Получите время в формате минуты:секунды.миллисекунды (например, 3:14.159). А микросекунды операционку еще не научили считать :)
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 15.06.2006, 18:22


Вопрос № 46.336
Уважаемые эксперты! У меня к вам еще один вопрос - как вывести всплывающую подсказку в стиле WindowsXP для значка в трее?
Подсказки такого вида, например, выводятся в "Оповещении системы безопасности Windows"
Отправлен: 15.06.2006, 18:27
Вопрос задал: Олекса aka SoW (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Олекса aka SoW!
Если вы используете компонент CoolTrayIcon для размещения иконок в системном трее, то с его помощью вызвать "пузырь" очень легко:
TrayIcon1.ShowBalloonHint('title','text',bitInfo,10);
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 15.06.2006, 19:06
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, Олекса aka SoW!
Посмотрите на www.shellplus.com компонент Shell+. Там и примеры можно скачать.SxTrayIcon например позволяет не только balloon показать, но и целое окно в него затолкать.
Ответ отправил: Савенко Вадим Иванович (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 19:09
Оценка за ответ: 5


Вопрос № 46.345
Как можно преобразовать переменную типа word в переменную string?
Отправлен: 15.06.2006, 20:09
Вопрос задал: Sysanin (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Sysanin!

Word - это целочисленный тип.
Для преобразования из целочисленного типа в строковой служит функция
IntToStr();

Приложение:

---------
Ответы на все вопросы - на сайте www.ya.ru

Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 15.06.2006, 20:15
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, Sysanin!
Думаю, что вот так:
var
w: word;
s: string;
begin
s:= IntToStr(w);
end;
Ответ отправил: Савенко Вадим Иванович (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 20:16
Оценка за ответ: 5

Отвечает: Coupler
Здравствуйте, Sysanin!
Есть много вариантов. Например, можно еще вот так:
procedure TForm1.Button1Click(Sender: TObject);
var
i: word;
stroka: string;
begin
str(i, stroka);
end;
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 17.06.2006, 08:40


Вопрос № 46.351
Добрый вечер,уважаемые! У меня вопрос такой:
Во всех книжках по Delphi пишут, что при компиляции нужно обращать внимание на
появляющиеся сообщения компилятора (hints, warnings) и избавляться от них
как можно быстрее. Так вот у меня куча этих warning-ов, которые однако не мешают
программе компилироваться и нормально работать.А warning-и такие
w1005 Unit 'FileCtrl' is specific to a platform
w1005 Unit 'ShellCtrls' is specific to a platform
w1002 Symbol 'faReadOnly' is specific to a platform
w1002 Symbol 'FindData' is specific to a platform
Так вот нужно ли избавляться от них и если да то как?
Заранее благодарю!
Отправлен: 15.06.2006, 20:40
Вопрос задал: Савенко Вадим Иванович (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Савенко Вадим Иванович!
Для отключения такого типа сообщений делай так (до того uses, в котором объявлены эти модули)
{$WARN UNIT_PLATFORM OFF}

В помощи Делфи написано:
The whole unit is tagged (using the platform hint directive) as one that contains material that may not be available on all platforms. If you are writing cross-platform applications, it may cause a problem. For example, a unit that uses objects defined in OleAuto might be tagged using the PLATFORM directive
---------
Ответы на все вопросы - на сайте www.ya.ru
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 15.06.2006, 21:11
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Олекса aka SoW
Здравствуйте, Савенко Вадим Иванович!
Сообщение 'specific to а platform' означает, что тип использованных данных присутствует только на данной платформе. Если вы не программируете на платформе .NET, то можете не обращать на них внимания, или просто исключить отображение данных сообщений в Project->Options->CompilerMessages.
---------
Вік живи - вік учись.
Ответ отправил: Олекса aka SoW (статус: 2-ой класс)
Ответ отправлен: 15.06.2006, 22:14


Вопрос № 46.372
Обыскал всю Torry.net, но так и не нашел компонента, с помощью которого можно рисовать штриховые рамки для выделения части рисунка, чтобы можно было менять размеры рамки, ухватившись в угол рамки, чтоб можно было перетаскивать рамку в любую часть рисунка.

Может быть кто-нибудь знает такой компонент? Или пример кода, который это реализует?

Буду благодарен всем, кто ответит.
Отправлен: 16.06.2006, 00:53
Вопрос задал: Xsid (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Xsid!
А Вы совершенно напрасно лазили в компоненты. :)
Такое надо искать в готовых программах графических редакторов и никак иначе:
http://www.torry.net/pages.php?id=578
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 16.06.2006, 06:14
Оценка за ответ: 5
Комментарий оценки:
Спасибо, я тоже так думал, но надеялся в глубине души, что все-таки есть компонент.


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

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

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

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

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

В избранное