4字符串字符串和FourCC(又名OSType)值可以和平与和谐共存吗?

 lovely--蕙蕙_868 发布于 2023-02-13 17:20

我正在使用RIFFCHUNK结构,声明(在"外部"模块中)为(引用MMSystemDirectShow9):

  type FOURCC = DWORD;                    { a four character code }

  type _riffchunk = record
    fcc: FOURCC;
    cb: DWORD;
  end;
  type RIFFCHUNK = _riffchunk;

我特别感兴趣的是fcc字段,这种类型可以解析为LongWord.另一方面,有意义的值fcc是由4个ASCII可打印单字节字符组成的字符串.我想避免以下丑陋(引用MMSystem):

  const FOURCC_RIFF = $46464952;   { 'RIFF' }

...并使用实际的,自解释的四个字符串文字进行分配和比较.

到目前为止,我尝试了什么并被卡住了,如下所示:

const idRIFF: packed array [1..4] of AnsiChar = 'RIFF';
var Chunk: RIFFCHUNK;
begin
  Chunk.fcc := FOURCC(idRIFF);  { works, but requires a typecast in implementation }

由于idRIFF不是真常数,因此不能用于正确输入符号的声明.

那么,我想问一下这个美化事件的进一步建议?

请注意什么FOURCC类型是"外来的",所以我不能将它重新声明为字符数组.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有