Вопрос № 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)
Где 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 Комментарий оценки: Спасибо, Проходящий Мимо. Но одного серийника жесткого диска мало, может есть еще какие-нибудь процедурки? Например как этот мак-адрес сетевухи можно вытащить?