Konversikan Delphi ke Crystal menggunakan AI

Terjemahan kode sumber-ke-sumber dari Delphi menggunakan AI melibatkan penggunaan teknik pemrosesan bahasa alami (NLP) dan algoritme pembelajaran mesin untuk menganalisis dan memahami kode sumber

Fitur

Hotkeys Konverter Potongan Kode

Kombinasi Aksi
Ctrl+c Menyalin konten editor kode sumber ke clipboard
Ctrl+v Menyisipkan kode sumber ke editor dari clipboard dengan menimpa konten yang ada
Ctrl+ Shift+c Menyalin output AI ke clipboard
Ctrl+r atau Ctrl+enter Menjalankan konversi kode sumber
Ctrl+Shift+1 Mengalihkan visibilitas editor instruksi AI

Tantangan Terjemahan

Masalah Terjemahan Contoh Sintaks Delphi Contoh Sintaks Crystal Poin Skor
Deklarasi Tipe var x: Integer; x = 0 (tipe implisit) 6
Penanganan Eksepsi try ... except ... end; begin ... rescue ... end 7
Overloading Metode function Add(a, b: Integer): Integer; def add(a : Int32, b : Int32) : Int32 5
Properti property Name: string read GetName; @[property] def name : String 8
Implementasi Antarmuka type IMyInterface = interface ... end; module MyInterface ... end 4
Generik TList<T> = class ... end; class List(T) ... end 6
Manajemen Memori New(Pointer); Pointer.new 5
Metode Anonim procedure(var x: Integer); ->(x : Int32) { ... } 7
Overloading Operator operator + (a, b: TMyClass): TMyClass; def +(other : MyClass) : MyClass 6
Sistem Unit uses MyUnit; require "my_unit" 5

Deklarasi Tipe

Dalam Delphi, deklarasi tipe bersifat eksplisit, sementara Crystal memungkinkan pengetikan implisit.

Contoh Delphi:

var
  x: Integer;

Contoh Crystal:

x = 0  # Tipe implisit sebagai Int32

Referensi: Dokumentasi Delphi - Variabel


Penanganan Eksepsi

Delphi menggunakan blok try...except untuk penanganan eksepsi, sementara Crystal menggunakan begin...rescue.

Contoh Delphi:

try
  // Kode yang mungkin menghasilkan eksepsi
except
  on E: Exception do
    // Tangani eksepsi
end;

Contoh Crystal:

begin
  # Kode yang mungkin menghasilkan eksepsi
rescue e : Exception
  # Tangani eksepsi
end

Referensi: Dokumentasi Delphi - Penanganan Eksepsi


Overloading Metode

Delphi mendukung overloading metode dengan deklarasi tipe eksplisit, sementara Crystal menggunakan anotasi tipe.

Contoh Delphi:

function Add(a, b: Integer): Integer;
begin
  Result := a + b;
end;

Contoh Crystal:

def add(a : Int32, b : Int32) : Int32
  a + b
end

Referensi: Dokumentasi Delphi - Overloading


Properti

Properti dalam Delphi didefinisikan dengan metode getter dan setter, sementara Crystal menggunakan anotasi.

Contoh Delphi:

property Name: string read GetName;

Contoh Crystal:

@[property]
def name : String
  @name
end

Referensi: Dokumentasi Delphi - Properti


Implementasi Antarmuka

Antarmuka dalam Delphi didefinisikan dengan kata kunci interface, sementara Crystal menggunakan modul.

Contoh Delphi:

type
  IMyInterface = interface
    procedure MyMethod;
  end;

Contoh Crystal:

module MyInterface
  def my_method
  end
end

Referensi: Dokumentasi Delphi - Antarmuka


Generik

Generik dalam Delphi didefinisikan dengan T, sementara Crystal menggunakan parameter tipe.

Contoh Delphi:

type
  TList<T> = class
  end;

Contoh Crystal:

class List(T)
end

Referensi: Dokumentasi Delphi - Generik


Manajemen Memori

Delphi menggunakan New untuk alokasi memori, sementara Crystal menggunakan Pointer.new.

Contoh Delphi:

New(Pointer);

Contoh Crystal:

Pointer.new

Referensi: Dokumentasi Delphi - Manajemen Memori


Metode Anonim

Delphi mendukung metode anonim dengan procedure, sementara Crystal menggunakan sintaks panah.

Contoh Delphi:

procedure(var x: Integer);

Contoh Crystal:

->(x : Int32) { ... }

Referensi: Dokumentasi Delphi - Metode Anonim


Overloading Operator

Delphi mengizinkan overloading operator dengan kata kunci operator, sementara Crystal menggunakan definisi metode.

Contoh Delphi:

operator + (a, b: TMyClass): TMyClass;

Contoh Crystal:

def +(other : MyClass) : MyClass
end

Referensi: Dokumentasi Delphi - Overloading Operator


Sistem Unit

Delphi menggunakan uses untuk menyertakan unit, sementara Crystal menggunakan require.

Contoh Delphi:

uses MyUnit;

Contoh Crystal:

require "my_unit"

Referensi: Dokumentasi Delphi - Unit

FAQ