Einzelnen Beitrag anzeigen

Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#10

Re: Was ist an diesen try und except block falsch?

  Alt 1. Mai 2009, 22:51
ja dann wir ein leere inhalt hinzugefügt

ich bin gerade dabei das GUI für mein "RES Builder" zu machen.
ich hab den nochmal komplett neu angefangen.

Ich leg das mal im anhang an.
hat aber noch keine richtige Funktion. Es wird nur das Forumular aufgebaut und in einem Feld benutzerringaben geprüft.

PS: Ich habs noch kürzer gemacht. Mehr oder weniger^^

Delphi-Quellcode:
procedure delphi_versionadd(ort, key: string);
var regist: TRegistry;
    pub: TStringList;
    pubdir, pubbrc32, pubbrcc32: string;
    pubi: integer;
begin
  regist := TRegistry.Create;
  try
    regist.RootKey := HKEY_LOCAL_MACHINE;
    pub := TStringList.Create;
    regist.OpenKey(ort, false);
    regist.GetKeyNames(pub);
    regist.CloseKey;
    if pub.count > 0 then
    begin
      for pubi := 0 to pub.count - 1 do
      begin
        regist.OpenKeyReadOnly(ort + '\' + pub[pubi]);
        if regist.ValueExists(key) then
        begin
          pubdir := regist.ReadString(key);
          regist.CloseKey;
          pubdir := IncludeTrailingPathDelimiter(pubdir) + 'Bin\';
          if FileExists(pubdir + 'brc32.exe') then
            pubbrc32 := pubdir + 'brc32.exe';
          if FileExists(pubdir + 'brcc32.exe') then
            pubbrcc32 := pubdir + 'brcc32.exe';
          additem(pub[pubi], pubbrc32, pubbrcc32);
        end;
      end;
    end;
  finally
    regist.free;
    pub.Free;
  end;
end;

procedure delphi_versions;
var i: integer;
begin
//L_NAME := lang.ReadString('lang', 'L_NAME', 'Deutsch');
  if settings.SectionExists('DelphiVersions') then
  begin
    i := 1;
    while settings.ValueExists('DelphiVersions', inttostr(i) + 'KEY') do
    begin
      delphi_versionadd(settings.ReadString('DelphiVersions', inttostr(i) + 'KEY', ''), settings.ReadString('DelphiVersions', inttostr(i) + 'DIR', 'RootDir'));
      i := i +1;
    end;
  end
  else
  begin
    delphi_versionadd('SOFTWARE\Borland\Delphi', 'RootDir');
    delphi_versionadd('SOFTWARE\Borland\BDS', 'RootDir');
    delphi_versionadd('SOFTWARE\CodeGear\BDS', 'RootDir');
  end;
end;
Angehängte Dateien
Dateityp: zip res_builder_0.2_183.zip (271,5 KB, 0x aufgerufen)
Maximilian Ruta
Ich weiß mein Deutsch ist ! Bei Fragen: ich bin fast immer im Mumble
Server: cubexsports.de
Port: 64738
  Mit Zitat antworten Zitat