用多媒体库 Bass.dll 播放 mp3 [10] - 使用回调函数 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) Op
用多媒体库 Bass.dll 播放 mp3 [9] - 绘制波形图 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenD
用多媒体库 Bass.dll 播放 mp3 [8] - 实时显示左右声道的峰值 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TFor
用多媒体库 Bass.dll 播放 mp3 [7] - 获取当前的播放状态 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) OpenDia
用多媒体库 Bass.dll 播放 mp3 [6] - 是否循环播放 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) OpenDialog1:
用多媒体库 Bass.dll 播放 mp3 [5] - 设置与获取音量、相位 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm)
用多媒体库 Bass.dll 播放 mp3 [4] - 显示与设置播放进度 //获取文件流的长度, 单位是字节 function BASS_ChannelGetLength( handle: DWORD; {流句柄} mode: DWORD {获取模式; 有两种选择, 但对 HSTREAM 流只能使用 BASS_POS_BYTE} ): QWORD; stdcall; external bas
用多媒体库 Bass.dll 播放 mp3 [3] - 打开、播放、暂停、停止 //播放前先要用 BASS_Init 函数进行播放设备初始化 function BASS_Init( device: Integer; {指定输出设备, 第一个是 1、第二个是 2; -1 表示使用当前设备} freq: DWORD; {采样率, 一般是 44100} flag
使用 TRegistry 类[4]: 文件打开与文件图标的关联 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton;
使用 TRegistry 类[3]: 创建与删除 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Butto
创建异形窗口[6] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; procedure FormCreate(Sender: TObject); p
创建异形窗口[5] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject);
创建异形窗口[4] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; RadioGroup1: TRadioGroup; pro
创建异形窗口[2] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject);
创建异形窗口[1] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure FormCreate(
SysUtils.StrEnd、SysUtils.StrLen StrEnd 获取 PChar 串未指针; StrLen 获取 PChar 串长度.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button
SysUtils.StrLCat StrLCat 与 StrCat 类似, StrLCat 多出的参数好像是限制结果的长度.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TBu
SysUtils.StrUpper、SysUtils.StrLower StrUpper 和 StrLower 是转换 PChar 串的大小写的函数.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Butt
SysUtils.StrCat //把源串添加到目标串后, 要求目标串必须有足够的空间 StrCat( Dest: PChar; {目标串} const Source: PChar {源串} ): PChar; {返回目标串} unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Gra
TPageControl 上有多个 TWebBrowser 时, 如何协调 Back、Forward - 回复 "飘逸的蓝" 的问题 问题来源: http://www.cnblogs.com/del/archive/2007/12/13/993840.html#1804933 代码:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graph
如何放缩 TWebBrowser 中的页面 - 回复 "飘逸的蓝" 的问题 问题来源: http://www.cnblogs.com/del/archive/2009/03/13/1410935.html#1803351 TWebBrowser 调用的是 IE, 放缩页面是在 IE7 之后才支持的. 准备工作: 1、添加 WebBrowser1、Button1 2、激活窗体的 OnCreate
TWebBrowser 与 MSHTML(2): 获取 window 对象的时机 这是在页面下载完毕后即刻获取:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls; type TForm1 = class(TForm
学习 SQL 语句 - Select(2): 指定表中的字段 //选择 country 表中的 Name 字段 SELECT Name FROM country //选择 country 表中的 Name、Area 和 Population 字段 SELECT Name,Area,Population FROM country {多个字段时, 字段名是用 "," 隔开的} 本例效果图: 代码文件:u
多线程编程(13) - 多线程同步之 Event (事件对象) 据说 Event(事件对象) 是多线程最原始的同步手段, 我觉得它是最灵活的一个. Event 对象(的句柄表)中主要有两个布尔变量, 从它的建立函数中可以看得清楚:function CreateEvent( lpEventAttributes: PSecurityAttributes
多线程编程(12) - 多线程同步之 Semaphore (信号对象) 之前已经有了两种多线程的同步方法: CriticalSection(临界区) 和 Mutex(互斥), 这两种同步方法差不多, 只是作用域不同; CriticalSection(临界区) 类似于只有一个蹲位的公共厕所, 只能一个个地进; Mutex(互斥) 对象类