![]() |
Half-Life Key-changer / if ... then problem
Hallo :>
ich schreibe gerade einen key-Changer für half-life. Funktioniert eigentlich soweit auch ganz gut, bis auf eine blöde if anweisung :/
Delphi-Quellcode:
die prozedur checkt ob radiobutton 4 aktiviert ist, und setzt dann die reg datei, ist radiobutton4 nicht aktiviert, setzt er nen anderen key. Jedoch sollte zu gleich auch gecheckt werden, ob überhaupt in der Listbox einen key markiert wurde!
procedure TForm1.Button6Click(Sender: TObject);
var reg: tregistry; buffer: String; i: integer; begin if RadioButton4.checked and ListBox1.Selected[i] then begin Buffer := Listbox1.Items.Strings[listbox1.Itemindex]; reg := tregistry.create; reg.RootKey := HKEY_CURRENT_USER; try Reg.OPENKEY('\Software\Valve\Half-Life\Settings\',true); except Reg.CreateKey('\Software\Valve\Half-Life\Settings\'); end; reg.writestring('Key',buffer); reg.free end else begin if listbox1.Selected[i] then begin reg := tregistry.create; reg.RootKey := HKEY_CURRENT_USER; try Reg.OPENKEY('\Software\Valve\CounterStrike\Settings\',true); except Reg.CreateKey('\Software\Valve\CounterStrike\Settings\'); end; reg.writestring('Key',buffer); reg.free end else showmessage('Klicke bitte einen key an!'); end; end; und genau da liegt mein problem. das Programm lässt sich compilieren, ich kann auch die keys setzen, jedoch ... markiere ich keinen eintrag in der listbox, schmiert mir das programm ab :/ Vielen dank im vorraus für eure Hilfe :) Achja ... Wenn ihr tips habt, wie ich das ganze vieleicht etwas systemfreundlicher ( sprich weniger syslastung ) Coden kann, bin ich natührlich sehr dankbar :) greetz sharkx [edit=Daniel B]Delphi-Tags gesetzt und Code formatiert. MfG Daniel B.[/edit] |
Hallo und herzlich Willkommen im Forum!
prüfen ob Eintrag markeirt ist, kann man auch so, MultiSelect muss auf True stehen.
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.Button1Click(Sender: TObject);
begin if ListBox1.SelCount = 1 then begin ShowMessage(''); end; end; |
huhu :>
das problem ist da aber, ich hab in der listBox reg-keys stehen. Da kannst wohl schlecht nen Muslti-Select gestatten und somit einen "ungültigen" Key in die reg schreiben. |
Hallo,
nun, ich bin von dem hier ausgegangen: "Jedoch sollte zu gleich auch gecheckt werden, ob überhaupt in der Listbox einen key markiert wurde! und genau da liegt mein problem" Und dafür war die Lösung. Wenn MSelect auf False ist, kann man zwar nur einen Eintrag markieren, aber somit ist die ganze abfrage überflüssig. Ich denke Du solltest mal Deinen Code im OnClick oder OnDblClick der LB schreiben. Diese beiden Prozeduren werden ausgeführt, wenn Du einen Eintrag markeirst, oder ein Doppelklick drauf machst. Am Sinnvollsten ist wohl OnDblClick. Erst bei Doppelklick wird der Code ausgeführt. Grüsse, Daniel :hi: |
Wusste gar nicht das es erlaubt ist einen Keychanger hier anzubieten.
Habe auch schon einen für CS geschrieben. Dieser beinhaltet über 20 funktionstüchtige Keys, doch habe mir nie getraut ihn hier zum Download freizugeben, da ich dachte, dass es sofort geschlossen wird. Wenn ich darf stelle ich ihn gern rein. |
Ich habe so eins vor Urzeiten schon geschrieben .. Da lernte ich mit der Registry umzugehen.
@Uncle Cracker: Manche haben 2 Keys da eine deutsche und eine englische Version vorliegen. In Deinem Fall mit den 20 Keys hört es sich schon ein wenig merkwürdig an das Spiel 20 mal in sein Regal stehen zu haben. |
Ich habe extra so viele Keys ausgwählt, da ein Freund von mir meinte, dass wenn es im LAN 3x die gleiche Seriennummer gibt, funktioniert das nicht. Deshalb sind soviele Keys für größere LAN-Partys nützlich.
|
Woher die Keys sind weisste auch nicht oder ? :)
Übrigens im Lan spielt dass keine Rolle weil da keine WonAuth benötigt wird :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz