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

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


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

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

Выпуск № 956
от 17.10.2007, 07:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 460, Экспертов: 66
В номере:Вопросов: 2, Ответов: 3


Вопрос № 105036: Здравствуйте уважаемые эксперты!Начал знакомство с СОМ и сталкнулся с проблемой вывода данных из Делфи в готовый шаблон Excel в частности из полей ComboBox. Я открываю шаблон- ExcelApplication1.Workbooks.add('C:Шаблон tr.xls',0); Exc...
Вопрос № 105105: Доброго времени суток! У меня возникли вопросы. Как в Дельфи определить серийный номер жесткого диска, с которого запущена программа(жестких диска три). Как определить серийные номера ХДД, входящих в рэид массив. Как узнать серийный номер Флэшки,...

Вопрос № 105.036
Здравствуйте уважаемые эксперты!Начал знакомство с СОМ и сталкнулся с проблемой вывода данных из Делфи в готовый шаблон Excel в частности из полей ComboBox.
Я открываю шаблон-
ExcelApplication1.Workbooks.add('C:Шаблон tr.xls',0);
ExcelApplication1.Visible[0]:=true;
дальше для вставки в ячейки Excel как я понимаю должно быть прописано что-то вроде этого:
ExcelApplication1.ActiveWorkBook.WorkSheets[1].Cells[81,9]:=Form1.ComboBox1.Text;
но эта запись категорически отвергается.
Помогите пожалуйста, может быть я вообще что-то делаю не так?
Отправлен: 11.10.2007, 08:54
Вопрос задал: Skromnow (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

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

Вам необходимо использовать такой подход:

ExcelApplication1.Range['C7:B2', EmptyParam].Value2 := Form1.ComboBox1.Text;

Где C7:B2 - диапазон в который вставится указанный текст. Вы также можете указать и одну ячейку для вывода, например так:
ExcelApplication1.Range['C17', EmptyParam].Value2 := Form1.ComboBox1.Text;

Обращаю Ваше внимание на то, что мы обращаемся именно к свойству Value2, а не Value. При использовании этого свойства запись будет такой:
ExlApp.Range['A2:D3', EmptyParam].Value[xlRangeValueDefault] := Form1.ComboBox1.Text;

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 13.10.2007, 18:59
Оценка за ответ: 5
Комментарий оценки:
Спасибо Gh0stik за ответ. Кратко и понятно, что вобщем и хотелось.


Вопрос № 105.105
Доброго времени суток!
У меня возникли вопросы. Как в Дельфи определить серийный номер жесткого диска, с которого запущена программа(жестких диска три). Как определить серийные номера ХДД, входящих в рэид массив. Как узнать серийный номер Флэшки, с которой запущена программа. Просто я хочу сделать привязку своей программы к аппаратному обеспечению. Может привязать по другому будет проще? Буду благодарен за любые советы.
Отправлен: 11.10.2007, 21:20
Вопрос задал: Alex446 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Владик
Здравствуйте, Alex446!
Попробуйте воспользоваться программой armadillo. Вы пишите прогграмму без какой либо привязки к железу, а потом с помощью armadillo можешь просто поставить пароль или привизать ко всему железу (не только к ХДД)
Ответ отправил: Владик (статус: 1-ый класс)
Ответ отправлен: 12.10.2007, 07:50
Оценка за ответ: 4
Комментарий оценки:
Программа несомненно понравилась, все замечательно, но очень дорого 699$ для проф версии и 260 для обычной... Для рядового американца это нормально, а рядовому соотечественнику дорого. Вариант слабо подходит в данном случае к решению текущей проблемы.

Отвечает: Проходящий Мимо
Здравствуйте, Alex446!
Могу предложить процедуру нахождение серийного номера тома. При переформатировании он, к сожалению, изменяется. Потому рекомендую привязываться не только к HDD, но и к нескольким другим параметрам железа, например к МАС-адресу сетевой платы. В дальнейшем, при переустановке или изменении железа Вам не нужно будет давать разрешения на программу, а клиентам - лишний раз к Вам обращатся. Например, если из 5 контролируемых переметров 3 нормальные, то продолжаем работать.

uses
FileCtrl;

function DriveSerialNumber:PChar;
var VolumeLabel, FileSystem: Array[0..$FF] of Char;
SerialNumber, DW, SysFlags: DWord;
begin
GetVolumeInformation('c:', VolumeLabel, SizeOf(VolumeLabel),
@SerialNumber, DW, SysFlags,
FileSystem, SizeOf(FileSystem));
Result:=PChar(IntToStr(SerialNumber));
end;

Желаю удачи!
---------
Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 9-ый класс)
Ответ отправлен: 15.10.2007, 09:24
Оценка за ответ: 5
Комментарий оценки:
Спасибо, Проходящий Мимо.
Но одного серийника жесткого диска мало, может есть еще какие-нибудь процедурки? Например как этот мак-адрес сетевухи можно вытащить?


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.0 от 14.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное