Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
Delphi 2009 Professional
|
Performance im create
2. Aug 2006, 14:43
Kann man diese funktion schneller machen?
Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
var Ini : TIniFile;
s : String;
Zeit : Cardinal;
begin
Zeit := GetTickCount;
Spectrum := TSpectrum.Create(pbSVis.Width, pbSVis.Height);
with Spectrum do
begin
PenColor := clBlack;
Height := pbSVis.Height;
PeakColor := clBlack;
end;
DoubleBuffered := True;
Ini := TIniFile.Create(ExtractFilePath(application.exename) + 'settings.ini');
try
iVis := Ini.ReadInteger('Settings', 'vis', 3);
if iVis = 0 then
begin
None1.Checked := True;
Oscilloscope1.Checked := False;
SpectrumLines1.Checked := False;
SpectrumSolid1.Checked := False;
end;
if iVis = 1 then
begin
None1.Checked := False;
Oscilloscope1.Checked := True;
SpectrumLines1.Checked := False;
SpectrumSolid1.Checked := False;
end;
if iVis = 2 then
begin
None1.Checked := False;
Oscilloscope1.Checked := False;
SpectrumLines1.Checked := True;
SpectrumSolid1.Checked := False;
end;
if iVis = 3 then
begin
None1.Checked := False;
Oscilloscope1.Checked := False;
SpectrumLines1.Checked := False;
SpectrumSolid1.Checked := True;
end;
xiVolume.Position := Ini.ReadInteger('Settings', 'volume', 50);
rbSeq.Checked := Ini.ReadBool('Settings', 'sequence', True);
rbRandom.Checked := Ini.ReadBool('Settings', 'random', False);
rbLoop.Checked := Ini.ReadBool('Settings', 'loop', False);
finally
Ini.Free;
end;
with TIniFile.Create(ExtractFilePath(application.exename) + 'settings.ini') do
try
FadeTime := ReadFloat('Settings', 'FadeTime', 3);
FadeOutOnClose := ReadBool('Settings', 'FadeOutOnClose', true);
//EQSet := ReadInteger('Settings', 'EQSet', 0);
Crossfade := ReadBool('Settings', 'Crossfade', true);
finally
Free;
end;
DoubleBuffered := True;
BASS_Init(1, 44100, 0, Application.Handle, nil);
BASS_SetConfig(BASS_CONFIG_BUFFER,1000);
eqTb1.Position := eqTb1.Max div 2;
eqTb2.Position := eqTb2.Max div 2;
eqTb3.Position := eqTb3.Max div 2;
eqReverb.Position := eqReverb.Max;
DrawSkin;
end;
Delphi-Quellcode:
procedure TfrmMain.DrawSkin;
var
Skin : TIniFile;
s : string;
i : Integer;
begin
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'settings.ini') do
try
s := ExtractFilePath(Application.ExeName) + 'skins\' + ReadString('Settings', 'Skin', 'blue.dpsf');
finally
Free;
end;
if FileExists(s) then begin
Skin := TIniFile.Create(s);
try
xiBg.ColorGrad := StringToColor(Skin.ReadString('Backgrnd', 'Grad', 'clSkyBlue'));
xiBg.ColorFace := StringToColor(Skin.ReadString('Backgrnd', 'Face', '$00FE9741'));
// Playlist
lbList.Color := StringToColor(Skin.ReadString('Playlist', 'Backgrnd', '$00F3C091'));
lbList.Font.Color := StringToColor(Skin.ReadString('Playlist', 'Font', 'clWindowText'));
// Top
xiCaptionBar.ColorFace := StringToColor(Skin.ReadString('Top', 'Face', '$00FF0301'));
xiCaptionBar.ColorGrad := StringToColor(Skin.ReadString('Top', 'Grad', '$00FE9741'));
xiCaptionBar.ColorLight := StringToColor(Skin.ReadString('Top', 'Light', '$00F0964D'));
xiCaptionBar.ColorDark := StringToColor(Skin.ReadString('Top', 'Dark', '$00B35900'));
xiCaptionBar.Font.Color := StringToColor(Skin.ReadString('Top', 'Font', 'clWindowText'));
for i := 0 to frmMain.ComponentCount - 1 do begin
if frmMain.Components[i] is TXiButton then begin
with (frmMain.Components[i] as TXiButton) do begin
ColorBorder := StringToColor(Skin.ReadString('Buttons', 'Border', '$00B35900'));
ColorDark := StringToColor(Skin.ReadString('Buttons', 'Dark', '$00FFA851'));
ColorFace := StringToColor(Skin.ReadString('Buttons', 'Face', '$00FF953E'));
ColorFocusRect := StringToColor(Skin.ReadString('Buttons', 'FocusRect', '$00FFA953'));
ColorGrad := StringToColor(Skin.ReadString('Buttons', 'Grad', '$00FFB66C'));
ColorLight := StringToColor(Skin.ReadString('Buttons', 'Light', '$00FF953E'));
ColorText := StringToColor(Skin.ReadString('Buttons', 'Text', '$00000000'));
DownColorBorder := StringToColor(Skin.ReadString('Buttons', 'DownBorder', '$00B35900'));
DownColorDark := StringToColor(Skin.ReadString('Buttons', 'DownDark', '$00FFD3A8'));
DownColorFace := StringToColor(Skin.ReadString('Buttons', 'DownFace', '$00FFB366'));
DownColorGrad := StringToColor(Skin.ReadString('Buttons', 'DownGrad', '$00FFCE9D'));
DownColorLight := StringToColor(Skin.ReadString('Buttons', 'DownLight', '$00FF9E3E'));
DownColorText := StringToColor(Skin.ReadString('Buttons', 'DownText', '$00000000'));
OverColorBorder := StringToColor(Skin.ReadString('Buttons', 'OverBorder', 'clNavy'));
OverColorDark := StringToColor(Skin.ReadString('Buttons', 'OverDark', '$00FF9E3E'));
OverColorFace := StringToColor(Skin.ReadString('Buttons', 'OverFace', '$00FFB66C'));
OverColorGrad := StringToColor(Skin.ReadString('Buttons', 'OverGrad', '$00FFA346'));
OverColorLight := StringToColor(Skin.ReadString('Buttons', 'OverLight', '$00FFB66C'));
OverColorText := StringToColor(Skin.ReadString('Buttons', 'OverText', '$00000000'));
DisabledColorBorder := StringToColor(Skin.ReadString('Buttons', 'DisabledBorder', 'clGray'));
DisabledColorDark := StringToColor(Skin.ReadString('Buttons', 'DisabledDark', '$00D2D2D2'));
DisabledColorFace := StringToColor(Skin.ReadString('Buttons', 'DisabledFace', '$00EEEEEE'));
DisabledColorGrad := StringToColor(Skin.ReadString('Buttons', 'DisabledGrad', 'clWhite'));
DisabledColorLight := StringToColor(Skin.ReadString('Buttons', 'DisabledLight', 'clWhite'));
DisabledColorText := StringToColor(Skin.ReadString('Buttons', 'DisabledText', 'clGray'));
end;
end else if frmMain.Components[i] is TXiTrackBar then begin
// Trackbars
with Components[i] as TXiTrackBar do begin
ThumbBorderColor := StringToColor(Skin.ReadString('Trackbars', 'ThumbBorder', '$00C66300'));
ThumbFaceColor := StringToColor(Skin.ReadString('Trackbars', 'ThumbFace', '$00FFD9B3'));
ThumbGradColor := StringToColor(Skin.ReadString('Trackbars', 'ThumbGrad', '$00FF9224'));
SlideBorderColor := StringToColor(Skin.ReadString('Trackbars', 'SlideBorder', '$00F47A00'));
SlideFaceColor := StringToColor(Skin.ReadString('Trackbars', 'SlideFace', '$00FFBA75'));
SlideGradColor := StringToColor(Skin.ReadString('Trackbars', 'SlideGrad', '$00FFE9D2'));
OverThumbBorderColor := StringToColor(Skin.ReadString('Trackbars', 'OverThumbBorder', '$00B35900'));
OverThumbFaceColor := StringToColor(Skin.ReadString('Trackbars', 'OverThumbFace', '$00FFCF9F'));
OverThumbGradColor := StringToColor(Skin.ReadString('Trackbars', 'OverThumbGrad', '$00F97C00'));
DownThumbBorderColor := StringToColor(Skin.ReadString('Trackbars', 'DownThumbBorder', '$00B35900'));
DownThumbFaceColor := StringToColor(Skin.ReadString('Trackbars', 'DownThumbFace', '$00FF8C1A'));
DownThumbGradColor := StringToColor(Skin.ReadString('Trackbars', 'DownThumbGrad', '$00FFBF80'));
DisabledThumbBorderColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledThumbBorder', '$00B5B5B5'));
DisabledThumbFaceColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledThumbFace', '$00EAEAEA'));
DisabledThumbGradColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledThumbGrad', '$00CFCFCF'));
DisabledSlideBorderColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledSlideBorder', '$00BEBEBE'));
DisabledSlideFaceColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledSlideFace', '$00D8D8D8'));
DisabledSlideGradColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledSlideGrad', '$00E8E8E8'));
DisabledTickColor := StringToColor(Skin.ReadString('Trackbars', 'DisabledTick', 'clSilver'));
TickColor := StringToColor(Skin.ReadString('Trackbars', 'Tick', '$00C88D2D'));
end;
end else if Components[i] is TShape then begin
// Ränder
if Copy((Components[i] as TShape).Name, 1, 3) = 'sLb' then begin
// d. Playlist
(Components[i] as TShape).Brush.Color := StringToColor(Skin.ReadString('Playlist', 'Border', '$00B99D7F'));
end else begin
// restliche
(Components[i] as TShape).Brush.Color := StringToColor(Skin.ReadString('Misc', 'Border', '$00FF0301'));
end;
end else if Components[i] is TLabel then begin
(Components[i] as TLabel).Font.Color := StringToColor(Skin.ReadString('Misc', 'Font', '$00000000'));
end else if Components[i] is TRadioButton then begin
(Components[i] as TRadioButton).Font.Color := StringToColor(Skin.ReadString('Misc', 'Font', '$00000000'));
end;
end;
finally
Skin.Free;
end;
tColors.Enabled := true;
end else begin
Showmessage('Skinfile not found!');
end;
end;
Delphi-Quellcode:
procedure TfrmMain.tColorsTimer(Sender: TObject);
var
hDesk : HWND;
hdcDesktop : HDC;
crefPixel, cPixel, aPixel, bPixel, z, y: COLORREF;
p, cp, a, b: TPoint;
begin
p.X := 15;
p.Y := 149;
hDesk := GetDesktopWindow;
hdcDesktop := GetWindowDC(hDesk);
crefPixel := GetPixel(hdcDesktop, p.x, p.y);
eqTb1.BackColor := crefPixel;
eqTb2.BackColor := crefPixel;
eqTb3.BackColor := crefPixel;
eqReverb.BackColor := crefPixel;
cbEq.Color := crefPixel;
cp.X := 7;
cp.Y := 44;
cPixel := GetPixel(hdcDesktop, p.x, p.y);
c := cPixel;
lTime.Color := c;
lLauftext.Color := c;
a.X := 5;
a.Y := 412;
aPixel := GetPixel(hdcDesktop, a.x, a.y);
z := aPixel;
lbList.Color := z;
b.X := 7;
b.Y := 304;
bPixel := GetPixel(hdcDesktop, b.x, b.y);
y := bPixel;
rbSeq.Color := y;
rbRandom.Color := y;
rbLoop.Color := y;
cbLbList.Color := y;
Spectrum.BackColor := c;
tColors.Enabled := False;
end;
Fabian Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
|