📄 bcl2list.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;Komma:Boolean);
BEGIN
PosCnt:=PosCnt+1;
if(PosCnt=7) THEN BEGIN
Write(T,C);
IF(Komma) THEN WriteLn(T,',');
PosCnt:=0;
END ELSE BEGIN
Write(T,C);
IF(Komma) THEN Write(T,',');
END;
END;
PROCEDURE WriteFile(St:STRING);
VAR Name:STRING;
B:Byte;
L,P:LongInt;
BEGIN
Assign(F,St);
ReSet(F,1);
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;
L:=FileSize(F);
P:=0;
WHILE NOT EoF(F) DO BEGIN
Inc(P);
BlockRead(F,B,1);
END;
Close(F);
Anz:=Anz+1;
END;
BEGIN
Anz:=0;
FindFirst('*.BCL',AnyFile,SR);
WHILE DosError=0 DO BEGIN
WriteFile(SR.Name);
FindNext(SR);
END;
ChDir('..');
Assign(T,'bcllist.cpp');
ReWrite(T);
writeLn(T,'#include <windows.h>;');
WriteLn(T,'#include "bcls.h";');
WriteLn(T,'long GetBCLNr(char *Name)');
WriteLn(T,'{');
WriteLn(T,'CharUpper(Name);');
FOR I:=1 TO Anz DO BEGIN
Write(T,'if(strcmp(Name,"'+StN[I-1]+'")==0) return(');
Write(T,I-1);
WriteLn(T,');');
END;
WriteLn(T,'return(0);');
WriteLn(T,'}');
Close(T);
ChDir('BCLOPD3D');
END.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -