day & night

Работа с функциями в Delphi 7, Нужна помощь по функциям
Дата обновления: , перейти к новому сообщению
#1
Evgeny101



Грамотный
Group Icon

Группа: Наши Люди
Сообщений: 254
Регистрация: 27.05.2006
Пользователь №: 169.861


Респектов: 58
-----X----




Привет всем 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
User is offline
Go topGo end
 

Ответов(1 - 6)
17.03.2009 - 17:07
#2
Evgeny101



Грамотный
Group Icon

Группа: Наши Люди
Сообщений: 254
Регистрация: 27.05.2006
Пользователь №: 169.861


Респектов: 58
-----X----




Хм...неужели никто делфи не знает? Или может я что объяснил сумбурно и не понятно? Если нужно больше инфо, то скажите.
User is offline
Go topGo end
18.03.2009 - 10:23
#3
Andrey_n



Грамотный
***

Группа: Пользователи
Сообщений: 256
Регистрация: 2.09.2005
Из: Кострома
Пользователь №: 41.030


Респектов: 76
-----X----


Предупреждений:


Судя по молчанию, никто ..
Я сам занимался Дельфи, но чтобы ответить на твой вопрос, надо поставить этот самый Дельфи и попробовать, что к сожалению пока не возможно.Могу дать тебе ссылку куда стоит сходить посмотреть , там как раз Дельфийцы сидят ..
Чтобы не было вопросов ссылку в ПМ.
User is offline
Go topGo end
18.03.2009 - 12:51
#4
Quim2005



профи!
Group Icon

Группа: Наши Люди
Сообщений: 1.145
Регистрация: 19.01.2006
Из: Россия, г.Набережные Челны
Пользователь №: 111.013


Респектов: 314
-----XX---




Цитата | Quote(Evgeny101 @ 17.03.2009 - 12:47)
Тут у меня появилась необходимость написать небольшую болванку на делфи
*


Немного неясно, что написать?
User is offline
Go topGo end
18.03.2009 - 14:08
#5
Evgeny101



Грамотный
Group Icon

Группа: Наши Люди
Сообщений: 254
Регистрация: 27.05.2006
Пользователь №: 169.861


Респектов: 58
-----X----




Quim2005,
Пустое окно программы, где расположены только поле редактирования Edit и кнопка Button.Всё больше там ничего нету. При нажатии на кнопку в поле должен появиться наш HardwareID. За получение этого самого ID отвечает функция function getSystemID(lpBuffer: PChar): Boolean;
Вот мне и надо, чтобы после срабатывания этой функции и при нажатии на кнопку батон в поле появился результат этой функции.
User is offline
Go topGo end
18.03.2009 - 16:53
#6
Quim2005



профи!
Group Icon

Группа: Наши Люди
Сообщений: 1.145
Регистрация: 19.01.2006
Из: Россия, г.Набережные Челны
Пользователь №: 111.013


Респектов: 314
-----XX---




Цитата | 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.
User is offline
Go topGo end
18.03.2009 - 17:02
#7
charodey_mag



Опытный юзверь
**

Группа: Пользователи
Сообщений: 147
Регистрация: 15.02.2007
Из: Opera
Пользователь №: 335.462


Респектов: 22
-----X----


Предупреждений:


Цитата | 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;
User is offline
Go topGo end

Topic Options
Сейчас: 29.04.2024 - 5:07
Мобильная версия | Lite версия