Home > Delphi, Did You Know > DFM Converter

DFM Converter


Seputar DFM

DFM adalah ekstensi khas dari Delphi yang berisi informasi object / komponen di dalam suatu form atau datamodule. Terdapat 2 (dua) versi format file DFM, yaitu binary dan text. Format file binary berupa stream object sedangkan format text berupa file teks biasa yang dapat dibaca.

DFM Binary format
Gambar DFM format binary

DFM text format
Gambar DFM format text

Walaupun kedua format tersebut dapat ditangani dengan baik oleh Delphi, namun bagi saya, akan lebih mudah membaca dalam format text. Dengan membaca file text tersebut, sedikit banyak saya dapat menggambarkan bagaimana bentuk form dan kondisi object – object yang ada di dalamnya.

Umumnya, ketika kita ingin membaca file DFM dalam format binary, kita akan menemui kesulitan, mau tidak mau kita harus membukanya melalui Delphi. Dan tahukah Anda, bahwa Delphi sudah menyediakan tool untuk melakukan konversi file DFM dari format binary ke format text, atau sebaliknya. Tool tersebut adalah convert.exe yang terletak di folder bin Delphi, dimana file yang akan dikonversi disertakan pada parameter 1 (satu).

DFM conversion
Gambar Tool Convert dari Delphi

Penggunaan convert.exe

Untuk melakukan konversi dari format binary ke format text, maka parameter pertama adalah nama file DFM dalam format binary, ekstensi dari nama file tersebut tidak harus .dfm, namun bisa sembarang. Sebagai output adalah file dengan ekstensi txt.

Untuk melakukan konversi dari format text ke format binary, maka parameter pertama adalah nama file DFM dalam format binary. Walaupun ekstensi dari nama file bisa sembarang, namun sebaiknya hindari ekstensi dfm karena akan terjadi konflik ketika output file dihasilkan. Hal ini disebabkan karena eksetensi output adalah dfm sehingga akan terjadi kegagalan karena file tersebut sudah ada sebelumnya.

Nah berdasarkan penjelasan di atas, ketika kita ingin mengkonversi file DFM secara permanen, misalnya mengubah format binary ke text, maka kita harus melakukannya dalam 2 (dua) langkah, yaitu:

  • jalankan convert.exe dengan parameter file DFM yang ingin di konversi, misalnya test.dfm
  • rename file output hasil konversi, test.txt menjadi test.dfm

Otomatisasi convert.exe

Apabila penggunaan convert.exe dirasa merepotkan, kita dapat memudahkannya melalui file batch. Contoh berikut merupakan otomatisasi konversi format binary ke text. Untuk konversi sebaliknya, silahkan dimodifikasi.


@echo off
"C:\Program Files\Borland\BDS\4.0\bin\convert.exe" %1
move /y %~dpn1.txt %1

Integrasi ke IDE
Proses konversi pun dapat kita ‘tempel’ pada Menu IDE Delphi dengan pertimbangan bahwa kita tidak perlu keluar dari Delphi, membuka shell command dan menjalankan proses konversi.
Tools-DFM

Tools-DFM

Cukup klik menu konversi dan isikan parameter file yang akan dikonversi. Nah caranya adalah sebagai berikut:

  • Pilih menu Tools -> Configure Tools;
  • Pada jendela Tools Option, pilih tombol Add;
  • Pada jendela Tool Properties, isikan caption menu pada field Title, nama file batch pada field Program, dan macro parameter pada field Parameters. Sebagai contoh gambar berikut:
  • Tools-Properties

  • Klik OK -> Close.

Selamat menikmati 🙂

Secret Tips:
Beberapa penggunaan dan otomatisasi yang sudah dipaparkan sebelumya dapat dioptimalkan lagi dengan petunjuk berikut:
—————————————————————-
Delphi Form Conversion Utility Version 7.0
Copyright (c) 1995,2002 Borland Software Corporation
Usage: convert.exe [-i] [-s] [-t | -b]
-i Convert files in-place (output overwrites input)
-s Recurse subdirectories
-t Convert to text
-b Convert to binary
—————————————————————-

Advertisements
Categories: Delphi, Did You Know
  1. tedy
    December 24, 2007 at 4:57 pm

    tolong kasi tau tentang output selengkapnya

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: