Твой софтовый форум > Тематические форумы > Программирование

Работа с функциями в Delphi 7

,

Нужна помощь по функциям

Дата публикации: 18.03.2009 - 17:02
Evgeny101
Привет всем smile.gif Возникла такая ситуация. Делфи язык я не знаю абсолютно и никогда не приходилось с ним сталкиваться. Тут у меня появилась необходимость написать небольшую болванку на делфи, где используются апи функции протектора (тот кто в теме поймёт для чего мне это нужно).
Есть в SDK несколько функций, которые возвращают некоторые значения (типа триал, имя регистрации, SystemID и т.д.).Есть функция:
function getSystemID(lpBuffer: PChar): Boolean;

Parameters:
lpBuffer
Points to the buffer that will receive the system ID string. The buffer must be large enough to hold the string (see remarks section).

Как мне правильно написать, чтобы при работе этой функции и при нажатии на кнопку Buton3 в поле SystemID.Edit появился наш SistemID.
Благодарю за помощь smile.gif
Evgeny101
Хм...неужели никто делфи не знает? Или может я что объяснил сумбурно и не понятно? Если нужно больше инфо, то скажите.
Andrey_n
Судя по молчанию, никто ..
Я сам занимался Дельфи, но чтобы ответить на твой вопрос, надо поставить этот самый Дельфи и попробовать, что к сожалению пока не возможно.Могу дать тебе ссылку куда стоит сходить посмотреть , там как раз Дельфийцы сидят ..
Чтобы не было вопросов ссылку в ПМ.
Quim2005
Цитата | Quote(Evgeny101 @ 17.03.2009 - 12:47)
Тут у меня появилась необходимость написать небольшую болванку на делфи
*


Немного неясно, что написать?
Evgeny101
Quim2005,
Пустое окно программы, где расположены только поле редактирования Edit и кнопка Button.Всё больше там ничего нету. При нажатии на кнопку в поле должен появиться наш HardwareID. За получение этого самого ID отвечает функция function getSystemID(lpBuffer: PChar): Boolean;
Вот мне и надо, чтобы после срабатывания этой функции и при нажатии на кнопку батон в поле появился результат этой функции.
Quim2005
Цитата | Quote(Evgeny101 @ 18.03.2009 - 14:08)
При нажатии на кнопку в поле должен появиться наш HardwareID. За получение этого самого ID отвечает функция function getSystemID(lpBuffer: PChar): Boolean;
*


Ну для получения id жесткого диска есть немало компонент типа SysInfo.
Касательно функции. Если она представлена именно в таком виде, то она лишь возвращает значение 1 или 0 (true / false). Если же требуется получить ID, то вероятнее всего результат должен быть например в типе PChar.
Вообще этой информации не мало в Интернете, например, только что набрав в яндексе запрос и получил множество страниц, например, здесь:

http://z.alko-net.ru/...0%D0%B8%D0%B9/
и чуть менее подробно здесь:
http://z-oleg.com/delphi/hardw1.htm


Ну и ещё один момент. Есть утилитка Volume ID, которая успешно меняет серийный номер. Она хоть и платная, но есть. Это я к тому. что привязку (чтоб не спёрли, а для чего ещё )))) ) лучше делать не только к HDD.
charodey_mag
Цитата | Quote
function getSystemID(lpBuffer: PChar): Boolean;

1. В SDK мелкомягких я такую функцию не видел.
2. По правилам WinAPI функция так выглядеть не может, она должна выглядеть :
function getSystemID(lpBuffer: PChar; nSize: DWORD): Boolean
3.Пример функции
Code

function get_SystemID: string;
var
buffer: array[0..255] of char;
size: dword;
begin
size := 256;
if getSystemID(buffer, size) then
 Result := buffer
else
 Result := ''
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text:=get_SystemID;
end;


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Работа с функциями в Delphi 7
SoftoRooM © 2004-2024