p align="left"> begin DIB_SetTColor(MMLevel1.Color); DIB_Clear; DIB_CopyDIBBits(MMLevel1.DIBCanvas.BackSurface,0,Top,2*nSpots,Bottom,0,0); DIB_CopyDIBBits(MMLevel1.DIBCanvas.BackSurface,2*Peak-2,Top,2,Bottom,2*Peak,0); end else begin DIB_SetTColor(MMLevel2.Color); DIB_Clear; DIB_CopyDIBBits(MMLevel2.DIBCanvas.BackSurface,0,Top,2*nSpots,Bottom,0,0); DIB_CopyDIBBits(MMLevel2.DIBCanvas.BackSurface,2*Peak-2,Top,2,Bottom,2*Peak,0); end; end; end; procedure TMainForm.SpeedButton1Click(Sender: TObject); begin Application.Minimize; end; procedure TMainForm.N5Click(Sender: TObject); begin video.Show; mainform.Visible:=false; end; end. unit UMe; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, MMObj, MMLEDLbl, MMScroll, MMLEDS, ExtCtrls; type TAutor = class(TForm) MMLEDLABEL1: TMMLEDLABEL; MMLEDLABEL2: TMMLEDLABEL; MMLEDLABEL3: TMMLEDLABEL; MMLEDPanel1: TMMLEDPanel; MMLEDLABEL4: TMMLEDLABEL; MMLED1: TMMLED; procedure MMLED1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Autor: TAutor; implementation Приложение А (продолжение) {$R *.dfm} procedure TAutor.MMLED1Click(Sender: TObject); begin close; end; end. unit UML; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, Grids, DBGrids; type TML = class(TForm) DBGrid1: TDBGrid; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; procedure N2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var ML: TML; implementation {$R *.dfm} procedure TML.N2Click(Sender: TObject); begin close; end; end. unit UDM; interface uses SysUtils, Classes, DB, ADODB; type TDM = class(TDataModule) DataSource1: TDataSource; ADOCommand1: TADOCommand; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; private { Private declarations } public { Public declarations } end; var DM: TDM; implementation {$R *.dfm} end. unit UList; interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, FileCtrl, Menus, ComCtrls, MMMPType, MMMpeg, MMWaveIO, MMRiff; type TPlaylistEditor = class(TForm) OKButton: TButton; CancelButton: TButton; MainMenu1: TMainMenu; File1: TMenuItem; Label5: TLabel; Label6: TLabel; PlayListBox: TListBox; AddButton: TButton; RemoveButton: TButton; ClearButton: TButton; RandomizeButton: TButton; FileListBox: TFileListBox; DirectoryListBox1: TDirectoryListBox; DriveComboBox1: TDriveComboBox; Bevel1: TBevel; NewPlaylist1: TMenuItem; OpenPlaylist1: TMenuItem; SavePlaylist1: TMenuItem; SavePlaylistAs1: TMenuItem; AppendPlaylist1: TMenuItem; N1: TMenuItem; Exit1: TMenuItem; OpenDialog: TOpenDialog; SaveDialog: TSaveDialog; InfoLabel: TLabel; procedure ListMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ListKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormShow(Sender: TObject); procedure ListDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ClearButtonClick(Sender: TObject); procedure RandomizeButtonClick(Sender: TObject); procedure AddButtonClick(Sender: TObject); Приложение А (продолжение) procedure RemoveButtonClick(Sender: TObject); procedure ListDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure ListDragDrop(Sender, Source: TObject; X, Y: Integer); procedure ListEndDrag(Sender, Target: TObject; X, Y: Integer); procedure FormHide(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure NewPlaylist1Click(Sender: TObject); procedure OpenPlaylist1Click(Sender: TObject); procedure SavePlaylist1Click(Sender: TObject); procedure SavePlaylistAs1Click(Sender: TObject); procedure AppendPlaylist1Click(Sender: TObject); private FListName : TFileName; DragTarget: TListBox; aTimer : TTimer; aBitmap1 : TBitmap; aBitmap2 : TBitmap; aIcon : TIcon; oldIndex : integer; oldCaption: String; procedure CreateParams(var Params: TCreateParams); override; procedure SetListName(aValue: TFileName); procedure SetButtons; function FirstSelection(aList: TCustomListBox): Integer; function LastSelection(aList: TCustomListBox): Integer; function FindIndex(aList: TListBox; aPos: TPoint): integer; procedure ClearSelected(aList: TCustomListBox); procedure AddSelected(aIndex: integer); procedure ResortSelected(aIndex: integer); procedure RemoveSelected; procedure DrawIndexPtr(oldIndex, newIndex: integer); procedure DragTimerExpired(Sender: TObject); procedure UpdatePlayListBox; procedure SetFileInfo; public TempPlayList: TStringList; ListChanged: Boolean; property ListName: TFileName read FListName write SetListName; end; var PlaylistEditor: TPlaylistEditor; function LoadPlayList(FileName: TFileName; aPlayList: TStringList): Boolean; function SavePlayList(FileName: TFileName; aPlayList: TStringList): Boolean; implementation uses umain; {$R *.DFM} const crTrackDrag = 1; crTrackAdd = 2; crTrackDelete = 3; {------------------------------------------------------------------------} function LoadPlayList(FileName: TFileName; aPlayList: TStringList): Boolean; var i: integer; F: TextFile; S: String; Приложение А (продолжение) begin i := 0; if (FileName <> '') and FileExists(FileName) then begin AssignFile(F, FileName); {$I+} Reset(F); try while not EOF(F) do begin ReadLn(F, S); if (S <> '') then begin if FileExists(S) then begin if IsMpegFile(S) or wioIsWaveFile(S, RIFF_FILE) then begin aPlayList.Add(S); inc(i); end else MessageDlg(S+' is not a valid Audiofile',mtError, [mbOK],0); end; end; end; finally CloseFile(F); end; {$I+} end; Result := (i > 0); end; {------------------------------------------------------------------------} function SavePlayList(FileName: TFileName; aPlayList: TStringList): Boolean; var i: integer; F: TextFile; begin Result := True; if (FileName <> '') then begin AssignFile(F, FileName); {$I-} Rewrite(F); try if (IOResult <> 0) then Result := False else begin for i := 0 to aPlayList.Count-1 do begin WriteLn(F,aPlayList[i]); if (IOResult <> 0) then begin Result := False; break; end; end; end; finally CloseFile(F); end; {$I+} end; end; Приложение А (продолжение) {-- TPlayListEditor -----------------------------------------------------} procedure TPlayListEditor.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style and not WS_SIZEBOX; end; {-- TPlayListEditor -----------------------------------------------------} procedure TPlaylistEditor.FormCreate(Sender: TObject); begin oldCaption := Caption; TempPlayList := TStringList.Create; ListName := 'noname.m3u'; aTimer := TTimer.Create(Self); aTimer.Interval := 50; aTimer.Enabled := False; aTimer.OnTimer := DragTimerExpired; aBitmap1 := TBitmap.Create; aBitmap2 := TBitmap.Create; aBitmap1.Handle := LoadBitmap(HInstance, 'BM_NOTE'); aBitmap2.Width := aBitmap1.Width; aBitmap2.Height := aBitmap1.Height; BitBlt(aBitmap2.Canvas.Handle, 0,0, aBitmap1.Width, aBitmap1.Height, aBitmap1.Canvas.Handle, 0,0, NOTSRCCOPY); aIcon := TIcon.Create; aIcon.Handle := LoadIcon(HInstance, 'MARKERICON'); Icon.Handle := LoadIcon(HInstance, 'PLAYLISTICON'); oldIndex := -1; Screen.Cursors[crTrackDrag] := LoadCursor(HInstance, 'CR_TRACKDRAG'); Screen.Cursors[crTrackAdd] := LoadCursor(HInstance, 'CR_TRACKADD'); Screen.Cursors[crTrackDelete] := LoadCursor(HInstance, 'CR_TRACKDELETE'); DragTarget := Nil; end; {-- TPlayListEditor -----------------------------------------------------} procedure TPlaylistEditor.FormDestroy(Sender: TObject); begin aTimer.Free;
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|