• FormatBUFF


    function FormatEx(const AFormatStr: string; AParams: array of const): PChar;
    var
    MssageBuf: PChar;
    MssageParam: PDWORDArray;
    i, Len: Integer;
    begin
    try
    Result := nil;
    MssageParam := nil;
    if AFormatStr = '' then Exit;
    Len := Length(AParams);
    if Len > 0 then
    begin
    MssageBuf := Windows.HeapAlloc(Windows.GetProcessHeap, Const_HEAP_PTR, 1024);
    if MssageBuf = nil then Exit;
    MssageParam := Windows.HeapAlloc(Windows.GetProcessHeap, Const_HEAP_PTR, (Len * Sizeof(DWORD)));
    try
    if MssageParam = nil then Exit;
    for i := Low(AParams) to High(AParams) do
    if AParams[i].VType = vtString then
    MssageParam^[i] := DWORD(PChar(DWORD(AParams[i].VString) + 1))
    else
    MssageParam^[i] := DWORD(AParams[i].VInteger);
    Len := Windows.wvsprintf(MssageBuf, PChar(AFormatStr), PChar(MssageParam));
    MssageBuf[Len] := Char($0);
    finally
    if MssageParam <> nil then
    Windows.HeapFree(Windows.GetProcessHeap, 0, MssageParam);
    end;
    Result := PChar(MssageBuf);
    end
    else
    Result := PChar(AFormatStr);
    except
    on E: Exception do
    begin
      showmessage( E.Message);
    end;
    end;
    end;

  • 相关阅读:
    eclipse注释模板__自动生成方法注释
    java HashMap--统计其中有相同value的key的个数
    java synchronized 详解
    进程间通信-共享内存
    辅导-计算机编程方面
    gnu make
    适应c++ 新特性
    tomcat服务器
    springmvc笔记
    Idea使用SVN教程
  • 原文地址:https://www.cnblogs.com/moonwind/p/4450387.html
Copyright © 2020-2023  润新知