Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

Реестр   Найти похожие ветки 

 
Ultimate ©   (2008-02-28 17:29) [0]

Проблема с реестром. Записал ключ через:

var
 Form1: TForm1; var i:byte;
implementation

{$R *.dfm}
var
RegFile: TRegIniFile;
const
//Подсекция
SubKey: string = "Software\Ultimate DVD";
StrKey: string = "StrKey";
....................
RegFile := TRegIniFile.Create(SubKey);
RegFile.WriteString(StrKey, "Value", IntToStr(znach+555));


через редактор реестра вижу, что ключ на месте...
но когда прошу вывести значение ключа по команде
Edit2.Text:=RegFile.ReadString(StrKey, "Value", "");
Ничего не выходит... Пишет про EAccesViolation и адреса всякие...Если вместо RegFile.ReadString(StrKey, "Value", "") ввести строку, для вывода в edit2, то всё нормально... Может что-то не так? Скажите что... или напишите подробно другой способ как считать строку с HKEY_CURRENT_USER\Software\Ultimate DVD\RegKey\Value="значение"??? Я новичок, так шо изините...


 
Palladin ©   (2008-02-28 17:35) [1]

в справку смотрел? примеры видел? для чего TRegIniFile осознал?


 
Ultimate ©   (2008-02-28 17:46) [2]

она англицкая... мало че понял, но предположительно, если имеется INI часть, значит дело идет в внешним ini файлом... мне это сделать - последняя моя задача в моей задумке... поэтому., мне се равно как, но надо считать данные оттуда :(


 
Palladin ©   (2008-02-28 18:08) [3]


> она англицкая..

и что теперь? бросай тогда это грязное дело... иди метлу покупай...
там если что ссылка examples есть, но там тоже по англицки...


 
macrodens ©   (2008-02-28 21:36) [4]

to Ultimate ©   (28.02.08 17:46) [2]
А ты думаешь мы все здесь с рождения английский знаем??
в тырнете есть онлайн переводчики если что, да и просто переводчиков полно.


 
Ultimate ©   (2008-02-29 08:51) [5]

англицкий я знаю чуть. и переводчик есть... да и кажись я что-то нашел... по своей проблеме


 
Ultimate ©   (2008-02-29 08:56) [6]

всё. сделал..сделал считывание ключа через
uses Registry;
function GetRegistryValue: string;
var
 Registry: TRegistry;
 S: string;
begin
 Registry:=TRegistry.Create;

 Registry.RootKey:=HKEY_LOCAL_MACHINE;
 {False because we do not want to create it if it doesn’t exist}
 Registry.OpenKey("MYKEY",False);
 Result :=Registry.ReadString("VALUE1");

 Registry.Free;
end;

который дается в примере delphi


 
Сергей М. ©   (2008-02-29 08:57) [7]


> Пишет про EAccesViolation и адреса всякие


Есть основания для подозрения в несуществовании объекта, на который ссылается переменная RegFile.


 
Anatoly Podgoretsky ©   (2008-02-29 09:46) [8]


> или напишите подробно другой способ как считать строку с
> HKEY_CURRENT_USER\



> Registry.RootKey:=HKEY_LOCAL_MACHINE;

-----

> всё. сделал..сделал считывание ключа через


Есть подозрение (номер 1), что нет
Есть подозрение (номер 2), что это не будет работать на большинстве компьтеров.


 
Ultimate ©   (2008-02-29 10:22) [9]


> > Registry.RootKey:=HKEY_LOCAL_MACHINE;
>
> -----
>
> > всё. сделал..сделал считывание ключа через

ну это я общий скрипт вынес... мой выглядит так:
function GetRegistryValue: string;
var
 Registry: TRegistry;
 S: string;
begin
 Registry:=TRegistry.Create;

 Registry.RootKey:=HKEY_CURRENT_USER;
 {False because we do not want to create it if it doesn’t exist}
 Registry.OpenKey("Software\Ultimate DVD\ver2.4",False);
 Result :=Registry.ReadString("Value");
 Registry.Free;
end;

Так что всё работает... и работает так как я хотел. в общем все вопросы заданные тут, касались тока одной програмки для диска... а именно Autorun.exe... Ну а зачем эти все фичи мне туда, объяснять не буду... :)


 
Anatoly Podgoretsky ©   (2008-02-29 10:59) [10]

А зачем ты приводишь чужой код, а сам используешь другой.
В интернете очень много кода, но к чему его приводить здесь?
Но и приведеный код с ошибками. Будет и утечка памяти и сообщени об ошибке. Если хочешь получать сообщения об ошибках, то хотя бы сделай защищенный блок.

ЗЫЖ в коде есть лишняя неиспользуемая переменная.


 
sniknik ©   (2008-02-29 11:55) [11]

> ЗЫЖ в коде есть лишняя неиспользуемая переменная.
даже две... ;)

(вот как не люблю with, но именно для подобного рода кода (короткий, и в нем можно за счет with убрать лишнее) всетаки использую)


 
Ultimate ©   (2008-02-29 12:33) [12]


> > ЗЫЖ в коде есть лишняя неиспользуемая переменная.
> даже две... ;)

это ты про  S: string; и  Registry.Free; ???
я проста непойму, зачем они нужны :)

> Но и приведеный код с ошибками. Будет и утечка памяти и
> сообщени об ошибке. Если хочешь получать сообщения об ошибках,
>  то хотя бы сделай защищенный блок.

ну у меня ошибок нет... все работает... утечка памяти... в смысле?
***
Да и еще одно... невкурсе как перевести числовое значение из типа string в тип integer??? чета у меня не варит чайник?


 
Ultimate ©   (2008-02-29 13:38) [13]


procedure TForm1.FormActivate(Sender: TObject);
var
 SerialNum : dword;
 a, b : dword;
 Buffer  : array [0..255] of char;
begin
 if GetVolumeInformation("c:\", Buffer, SizeOf(Buffer),
   @SerialNum, a, b, nil, 0) then
     Edit1.Text:=IntToStr(SerialNum);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:=StrToInt(Edit2.Text) + 555;
end;


проблема в Edit2.Text:=StrToInt(Edit2.Text) + 555;
код вроде нормальный, но пишет про несовместимость типов :( какгбы string и integer... но ведь StrToInt(Edit2.Text) должно быть integer.... что не так?


 
Palladin ©   (2008-02-29 13:48) [14]

Edit2.Text у тебя тоже я так понимаю integer ?
брысь книжки читать


 
Ultimate ©   (2008-02-29 17:29) [15]

я понял в чем прикол был... немного я думаю (в смысле мало :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.049 c
15-1202661027
ketmar
2008-02-10 19:30
2008.03.30
kpmc git repository


6-1183968995
Рацелий
2007-07-09 12:16
2008.03.30
Проблемы с геттерами


2-1204283662
Yurij-7
2008-02-29 14:14
2008.03.30
Как правильно написать SQL


2-1203887383
IgorT
2008-02-25 00:09
2008.03.30
Как узнать список файлов по заданому HTTP (URL) адресу ?


2-1204740634
webSQLNeederr
2008-03-05 21:10
2008.03.30
Что то я туплю. Как создать папку средствами Делфи?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский