DFM檔案與XML檔案互轉

2021-04-21 08:59:31 字數 1465 閱讀 9388

在:dfm檔案與xml檔案互轉

中,用到的dfm檔案必須為文字格式, 如果是二進位制格式, 處理就會出錯.

但是在處理中如何判斷dfm是二進位制檔案, 而且再將二進位制檔案轉為文字格式呢. ---

dfm檔案二進位制格式時, 其檔案會加乙個檔案頭, 其中前3個位元組來標識其為二進位制, 這三個位元組分別為:$ff, $0a, $00. 因為這三個位元組在文字型別的檔案中是不可能存在的,所以可以判斷這3個位元組就可以了.

function isbindfm(const adfmfilename: string): boolean;

var mbinstream:tmemorystream;

mbuff : array [0..2] of byte;

begin

mbinstream := tmemorystream.create;

trymbinstream.loadfromfile(adfmfilename);

mbinstream.read(mbuff, 3);

//前三位元組: $ff, $0a, $00

if (mbuff[0] = $ff) and (mbuff[1] = $0a) and (mbuff[2]= $00) then

result := true

else

result := false;

finally

mbinstream.free;

end;

end;

判斷出來後, 再將二進位制轉為文字格式就容易了.delphi提供了objectresourcetotext函式.寫法如下:

procedure dfmbin2txt(adfmfilename: string);

var infilestream: tmemorystream;

outfilestream: tfilestream;

begin

infilestream := tmemorystream.create;

infilestream.loadfromfile(adfmfilename);

tryoutfilestream := tfilestream.create(adfmfilename, fmcreate);

trytry

infilestream.seek(0, sofrombeginning);

objectresourcetotext(infilestream, outfilestream);

except

raise exception.create('this dfm is bin, error on trans bin to txt.');

end;

finally

outfilestream.free;

end;

finally

infilestream.free;

end;

end;

至此,大功告成!

ipynb檔案與py檔案互轉

方法一 在 ipynb所在目錄下,開啟終端,並輸入命令 jupyter nbconvert to script ipynb其中 ipynb是要轉換檔案的名字,轉換後在該目錄下出現 py檔案。方法二 啟動jupyter notebook 在網頁下找打ipynb檔案,然後選擇file download ...

XML檔案與properties檔案的異同

區別說明 properties配置檔案,風格是乙個屬性對應於乙個值 key value 這樣的鍵值匹對模式。這樣給我的感覺就是每一行properties配置檔案的鍵值,對應著一次賦值。事實上,如果你試驗一下,在前後兩行properties檔案中給同乙個屬性賦不同值,得到的結果往往是屬性是後面賦值的值...

XML檔案與properties檔案的異同

properties配置檔案,風格是乙個屬性對應於乙個值 key value 這樣的鍵值匹對模式。這樣給我的感覺就是每一行properties配置檔案的鍵值,對應著一次賦值。事實上,如果你試驗一下,在前後兩行properties檔案中給同乙個屬性賦不同值,得到的結果往往是屬性是後面賦值的值。prop...