1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66:
| procedure TForm1.FormCreate(Sender: TObject); var Ini: TIniFile; i: Integer; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0)) + 'Auto.ini'); i := 0; while ini.SectionExists('Auto' + inttostr(i)) do begin inc(i) end;
SetLength(Auto, i);
for i := 0 to i - 1 do begin Auto[i] := TAuto.Create; Auto[i].Loc.x := ini.ReadInteger('Auto' + inttostr(i), 'loc_x', 0); Auto[i].Loc.y := ini.ReadInteger('Auto' + inttostr(i), 'loc_y', 0); Auto[i].Color := htmltocolor(ini.ReadString('Auto' + inttostr(i), 'color', '#FFFFFF')); Auto[i].Dir := ini.ReadInteger('Auto' + inttostr(i), 'dir', 90); Auto[i].Name := ini.ReadString('Auto' + inttostr(i), 'name', 'Auto ' + inttostr(i + 1)); Auto[i].KeyUp := ini.ReadInteger('Auto' + inttostr(i), 'key_up', 0); Auto[i].KeyDown := ini.ReadInteger('Auto' + inttostr(i), 'key_down', 0); Auto[i].KeyLeft := ini.ReadInteger('Auto' + inttostr(i), 'key_left', 0); Auto[i].KeyRight := ini.ReadInteger('Auto' + inttostr(i), 'key_right', 0);
Auto[i].Masse := ini.ReadFloat('Auto' + inttostr(i), 'Masse', ini.ReadFloat('general', 'Masse', 1000)); Auto[i].FRoll := ini.ReadFloat('Auto' + inttostr(i), 'FRoll', ini.ReadFloat('general', 'FRoll', 80)); Auto[i].RLuft := ini.ReadFloat('Auto' + inttostr(i), 'RLuft', ini.ReadFloat('general', 'RLuft', 2.5)); Auto[i].FMax := ini.ReadFloat('Auto' + inttostr(i), 'FMax', ini.ReadFloat('general', 'FMax', 3000));
Auto[i].PedalInc := ini.ReadFloat('Auto' + inttostr(i), 'PedalInc', ini.ReadFloat('general', 'PedalInc', 0.2)); Auto[i].PedalDec := ini.ReadFloat('Auto' + inttostr(i), 'PedalDec', ini.ReadFloat('general', 'PedalDec', 0.8)); Auto[i].SteerInc := ini.ReadFloat('Auto' + inttostr(i), 'SteerInc', ini.ReadFloat('general', 'SteerInc', 5)); Auto[i].SteerDec := ini.ReadFloat('Auto' + inttostr(i), 'SteerDec', ini.ReadFloat('general', 'SteerDec', 0.9)); Auto[i].RSpeedMax := ini.ReadFloat('Auto' + inttostr(i), 'RSpeedMax', ini.ReadFloat('general', 'RSpeedMax', -10)); Auto[i].RSpeedCollission := ini.ReadFloat('Auto' + inttostr(i), 'RSpeedCollission', ini.ReadFloat('general', 'RSpeedCollission', 0.4)); end;
Rnds := ini.ReadInteger('general', 'rnds', 10);
Doublebuffered := true; Background := TBitmap.Create; Background.LoadFromFile(Ini.ReadString('general', 'map', ''));
Real := TBitmap.Create; Real.Width := Background.Width; Real.Height := Background.Height;
Shadow := TBitmap.Create; Shadow.Width := Background.Width; Shadow.Height := Background.Height; Shadow.LoadFromFile(Ini.ReadString('general', 'shmap', ''));
ClientWidth := Background.Width; ClientHeight := Background.Height + SgData.RowCount * SgData.DefaultRowHeight;
SgData.RowCount := High(Auto) + 2;
for i:= 0 to SgData.ColCount - 1 do SgData.Cells[i,0] := ini.ReadString('general', 'col' + inttostr(i), '');
ini.free; end; |