snowball> kan du komme med et lille eksempel på hvordan jeg smidder dem ned i reg databasen, det ville helt klart være det bedste...måske en lille demo? simdder lige 15 points mere på for ulejligheden:-) Helst en demo med f.eks. en mainmenu og en richedit...:-)
Har ikke lige et eksempel med en mainmenu, men mht at læse/skrive i Reg.DB'en så kan du bruge nedenstående eksempler:
procedure TForm1.Laes; var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\MBG', False) then begin Showmessage(Reg.ReadString('Key')); Reg.CloseKey; end; finally Reg.Free; end; end;
procedure TForm1.Skriv; var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\TEST', True) then begin Reg.WriteString('Key','Værdi'); Reg.CloseKey; end; finally Reg.Free; end; end;
Nedenstående procedure læser 5 felter fra Reg.DB'en og ligger dem ind i et array. Jeg har ikke lige umiddelbart kunne finde ud af hvordan man laver dem som sub-items i en mainmenu, men det kan være du ved det !? ;)
KeyArray indeholder navnet på de felter den skal læse i Reg.DB'en !
procedure Laes; Const KeyArray: Array[1..5] of String = ('File1','File2','File3','File4','File5'); var Reg: TRegistry; FileArray: Array[1..5] of String; i: Integer; NewItem: TMenuItem; begin For i := 1 to 5 do FileArray[i] := ''; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\MBG', False) then begin For i := 1 to 5 do FileArray[i] := (Reg.ReadString(KeyArray[i]));
Reg.CloseKey; end;
For i := 1 to 5 do if FileArray[i] <> '' then begin NewItem := TMenuItem.Create(Form1); NewItem.Caption := IntToStr(i) + ': ' + FileArray[i]; Form1.MainMenu1.Items.Add(NewItem); end; finally Reg.Free; end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.