Просмотр полной версии : Два вопроса по delphi
Delphi-X
01.07.2007, 11:35
Скажите плиз как сделать чтоб на ярлыке был значок мой размеров 16х16 или 32х32.
И еще нужно чтобы на двух полях edit1 edit2 сохранялись введенные тексты при оследующих запусках проги.
Если не трудно напишите код.
Всмысле значек у какого ярлыка, если у ехе-шника, то
Project-Options-Application-Load Icon. А если те надо чтоб с твоей прогой ассоциировались определенные файлы, они будут с такими же значками - то вот пример кода: (допустим для .txt файла)
var
Reg: Tregistry;
begin
Reg:=Tregistry.Create;
Reg.RootKey:HKEY_CLASSES_ROOT;
Reg.OpenKey('.txt', True);
Reg.WriteString('', 'Text file');
Reg.CloseKey;
Reg.CreateKey('txt"+'file_cyd');
Reg.OpenKey('Textfile\defaulticon', True);
Reg.WriteString('', Application.ExeName + ',0');
Reg.ClodeKey;
Reg.OpenKey('Textfile\shell\open\command', True);
Reg.WriteString('', Application.ExeName + ' "%1"');
Reg.CloseKey;
Reg.Free;
end;
А чтобы сохранялось в эдитах, так можно там же в реестре создать пару ключиков стринговых или же сохранять в файл. Чет мне лень эти коды писать. Поищи в поиске создание/чтение ключей из реестра. ---//--- данных из файла
var REG : TRegistry;
begin
REG := TRegistry.Create;
REG.RootKey:=HKEY_LOCAL_MACHINE;
REG.OpenKey('YourSoftwareName',true);
REG.WriteString('Edit1.Text',true);
REG.CloseKey;
REG.Destroy;
end;
-------------------//--------------------------
var REG : TRegistry;
begin
REG := TRegistry.Create;
REG.RootKey:=HKEY_LOCAL_MACHINE;
REG.OpenKey('YourSoftwareName',true);
Edit1.Text:=REG.ReadString('Edit1.Text',true);
REG.CloseKey;
REG.Destroy;
end;
Delphi-X
01.07.2007, 13:26
Спасибо зо значком понял и получилось. но с реестром проблеммы:
var
REG : TRegistry;
Показывает как ошибку ((.
Подскажите плиз....
Ты в uses точно Registry вписал, если честно я код не проверял, буквально щас написал, если хочш напишу проверю на работоспособность
Delphi-X
01.07.2007, 13:47
Уже прописал ))
Теперь со строкой
REG.WriteString('edtLogin.Text',true);
edtLogin = edit1
Вот 2 процедурки, работает 100%, 1-я записывает в раздел локал_машин - YourSoftwareName - ключ M - значение твоего едита. 2-я баттн читает и всовывает, я думаю сможешь сам это втсавить просто в Form.Activate (просто вместо баттн1.клик).
procedure TForm1.Button1Click(Sender: TObject);
var Reg : Tregistry;
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\YourSoftwareName',true);
Reg.WriteString('M', Edit1.Text);
Reg.CloseKey;
Reg.Destroy;
end;
procedure TForm1.Button2Click(Sender: TObject);
var Reg : Tregistry;
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\YourSoftwareName',true);
Edit1.Text:=Reg.ReadString('M');
Reg.CloseKey;
Reg.Destroy;
end;
end.
Есси не сложно поставь + :)
Delphi-X
01.07.2007, 14:13
Спасиба все пашет....
Насчет + неполучить ((. Его могут ставить те у кого уже есть 1+ а у меня 0 ))
Но незабуду. Как кто-набудь меня отблагодарит то сразу поставлю )) неволнуйся
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot