Autor Beitrag
raven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Di 10.06.03 14:30 
hi leutz ;)

Ich bastle grade an einem Tool mit dem ich die config.ini eines Games lade und die eigenschaften dann per schiebregler in meinem tool verstellen kann... nun komme ihc aber nicht weiter und hoffe das mir hier jemand weiterhilft:

1.

Ich habe z.b. in meiner INI Datei diesen wert "0.500000" .... dieser wird in ein Label als String eingelsen ... nun habe ich eine Trackbar mit 5 Strichen da der Wert von 0.300000-0.700000 gehen kann, nur irgendwie hat delphi nun probleme mit der Koma zahl ... kann mir jemand sage wie ich nun die 0.500000 aus dem label in einen Integer umwandeln kann und dann nooch so mal nehmen das ich die zahl "5" bekomme?


2.

Ich habe wieder eine Trackbar (mit 31 Schritten), der wert in der INI ist z.b. 13000 ... geht von 5000-20000 in 500er schritten ... nun wie schaffe ich es das die trackbar bei 5000 auf dem ersten schritt steht und bei 20000 auf dem letzten und immer bei 500 mehr auf den nächsten schritt also müsste z.b. beim wert 5500 die trackbar beim 2. schritt stehen ...


Ich hoffe es kann mir jemand von euch weiterhelfen ...

danke by RaveN
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 10.06.03 14:49 
Hi,

was haben die Fragen mit der INI Datei zu tun?

Gruß
Tino
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 10.06.03 15:06 
zu 1) Du stellst den Trackbar von 3 bis 7 ein und benutzt folgenden Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
  ini  : TIniFile;
  eVal : extended;
begin
  { ... }

  eVal := ini.ReadFloat('Section','Topic',DefaultFloatValue);
  Trackbar2.Position := trunc(eVal * 10);

  { ... }
end;


zu 2) Es genügt, den Trackbar auf das Minimum von 5000 und das Maximum von 20.000 zu setzen. Als "Frequency" (s. Objektinspektor) gibst du die 500 an. Fertig.
raven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 11.06.03 19:01 
das 2. funtzt gut aber der erste code funtzt net ... der zeigt mir immer nur die zahl an die ich als "DefaultFloatValue" angebe ... ?!?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 12.06.03 07:14 
Dann stell mal lokal in deinem Programm das Trennzeichen ein:
ausblenden Delphi-Quelltext
1:
DecimalSeparator := '.';					

Stammt aus der SysUtils-Unit und sollte das Problem lösen. :)
raven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Fr 13.06.03 12:52 
so nun wird nun die zahl vor dem punkt angezeigt .... also bei 0.500000 nur dioe null oder bei 1.500000 nur die 1 ?!?
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.06.03 13:20 
Ich kann nur für mich sprechen, und bei mir ging´s. Ich weiß zwar nicht von welchem Spiel du redest, darum habe ich mir die INI-Datei mal "nachgebaut". (Wichtig war ja ohnehin nur das Zahlenformat.) Und ich erhielt z.B. das Ergebnis 0.5, oder 0.6 - je nachdem, was ich in die INI eingetragen habe. Es ging also, und die Trackbar-Position wurde (dem Code entsprechend) geändert.
raven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Fr 13.06.03 13:48 
irgendwie funtzt das bei mir so net ... naja auf jedenfall hab ichs nu so gelöst...

p2_l4.Caption := ini.readstring('WinDrv.WindowsClient', 'Contrast', '');
p2_t4.position:=trunc(strtofloat(p2_l4.caption)*10);

trotzudem danke!