⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcl2cold.pas

📁 一个96K的3D游戏源码
💻 PAS
字号:
USES Crt,Dos;
VAR T:Text;
    F:FILE;
    I,K,M:LongInt;
    SR:SearchRec;
    PosCnt:LongInt;
    StN:ARRAY[0..1000]OF STRING[20];
    StN2:ARRAY[0..1000]OF STRING[20];
    Anz:LongInt;

PROCEDURE WriteToFile(C:Byte);
BEGIN
  PosCnt:=PosCnt+1;
  if(PosCnt=7) THEN BEGIN
    Write(T,C);
    WriteLn(T,',');
    PosCnt:=0;
  END ELSE BEGIN
    Write(T,C);
    Write(T,',');
  END;
END;

PROCEDURE WriteFile(St:STRING);
VAR Name:STRING;
    B:Byte;
BEGIN
     StN[Anz]:=St;
     PosCnt:=0;
     Name:='BCL'+St;
     Delete(Name,Pos('.',Name),4);
     if(Pos('~',Name)<>0) THEN Delete(Name,Pos('~',Name),1);
     StN2[Anz]:=Name;
     WriteLn(T,'const unsigned char '+Name+'[] = {');
     Assign(F,St);
     ReSet(F,1);
     WHILE NOT EoF(F) DO BEGIN
       BlockRead(F,B,1);
       WriteToFile(B);
     END;
     Close(F);
     WriteLn(T,'};');
     WriteLn(T);
     Anz:=Anz+1;
END;

BEGIN
     Anz:=0;

     Assign(T,'..\bcls.h');
     ReWrite(T);
     WriteLn(T,'/* .BCL-Files - Created by BCL2C (C)2004 Pap/JTMK/CM */');
     WriteLn(T,'#ifndef _BCL_FILES');
     WriteLn(T,'#define _BCL_FILES');
     FindFirst('*.BCL',AnyFile,SR);
     WHILE DosError=0 DO BEGIN
           WriteFile(SR.Name);
           FindNext(SR);
     END;
     WriteLn(T,'unsigned char *GetBCLAddr(char *Name);');
     WriteLn(T,'#endif');
     Close(T);

     ChDir('..');

     Assign(T,'bcls.cpp');
     ReWrite(T);
     writeLn(T,'#include <windows.h>;');
     WriteLn(T,'#include "bcls.h";');
     WriteLn(T,'unsigned char *GetBCLAddr(char *Name)');
     WriteLn(T,'{');
     WriteLn(T,'CharUpper(Name);');
     FOR I:=1 TO Anz DO BEGIN
       WriteLn(T,'if(strcmp(Name,"'+StN[I-1]+'")==0) return((unsigned char*)&'+StN2[I-1]+');');
     END;
     WriteLn(T,'return(0);');
     WriteLn(T,'}');
     Close(T);
     ChDir('BCLOPD3D');

END.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -