Saturday, 2 November 2013

Bukan Hanya Belajar Tempur, Prajurit TNI Pun Harus Berlatih Delphi

Bukan Hanya Belajar Tempur, Prajurit TNI Pun Harus Berlatih Delphi
Dispenarmatim
Bertempat di Ruang Rapat Disinfolahta, Rabu (2/10/2013), Kadisinfolahta Koarmatim Kolonel Laut (E) Daru Prajogo resmi menutup kursus Pemrograman Delphi yang diikuti oleh seluruh prajurit Dinas Informasi dan Pengolahan Data Koarmatim (Disinfolahta Koarmatim). Kursus ini berlangsung selama 4,5 bulan dengan instruktur DR. Achmad Arifin M.Engjering yang sehari – harinya menjadi Dosen Kepala Laboratorium Biomedika ITS.



TRIBUNNEWS.COM - Bertempat di Ruang Rapat Disinfolahta, Rabu (2/10/2013), Kadisinfolahta Koarmatim Kolonel Laut (E) Daru Prajogo resmi menutup kursus Pemrograman Delphi yang diikuti oleh seluruh prajurit Dinas Informasi dan Pengolahan Data Koarmatim (Disinfolahta Koarmatim). Kursus ini berlangsung selama 4,5 bulan dengan instruktur DR. Achmad Arifin M.Engjering yang sehari – harinya menjadi Dosen Kepala Laboratorium Biomedika ITS.Demikian rilis yang diterima redaksi Tribunnews.com.
Delphi adalah suatu bahasa pemograman (development language) yang digunakan untuk merancang suatu aplikasi program, misalnya ketika merancang suatu label di form, secara otomatis delphi akan menuliskan label tersebut dalam jendela code editor tentang turunan dari label tersebut. Salah satu pengetahuan tentang program delphi ini, telah didapat para prajurit yang dinas di Disinfolahta Koarmatim setelah mengikuti kursus Pemrograman Delphi di Disinfolahta Koarmatim.
Dengan bertambahnya ilmu pemrograman tersebut diharapkan para peserta kursus dapat mempergunakan program Delphi yang diajarkan menjadi salah satu sarana pendukung untuk melaksanakan tugas pengolahan data lebih maksimal.
Program ini sudah dipakai diberbagai negara maju antara lain di Eropa dan Amerika Serikat, hal ini disebabkan program Delphi memiliki beberapa keunggulan.
Keunggulan Delphi IDE (Integrated Development Environment) yaitu didalamnya terdapat menu – menu yang memudahkan kita untuk membuat suatu projek maupun program. Proses kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah. Mudah digunakan, source code delphi yang merupakan turunan dari bahasa pemrograman Pascal, sehingga tidak diperlukan suatu penyesuain lagi. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi.
Pada kesempatan itu, Kadisinfolahta Koarmatim menyerahkan Piagam Penghargaan dan cindera mata dari Pangarmatim Laksda TNI Agung Pramono, S.H., M. Hum kepada DR. Achmad Arifin M.Engineering sebagai tanda ucapan terima kasih atas bimbingan dan berbagi ilmunya kepada prajurit Koarmatim. Para peserta kursus juga menerima sertifikat sebagai tanda kelulusan dan telah memiliki keahlian dalam ilmu pemrograman Delphi.

http://www.tribunnews.com/iptek/2013/10/02/bukan-hanya-belajar-tempur-prajurit-tni-pun-harus-berlatih-delphi?.tsrc=yahoo/?formatrss

ADVAN Vandroid T2Ci whats wrong with this

Saya mencoba menjadikan ADVAN Vandroid T2Ci sebagai Device untuk Development Android Application dengan Delphi XE5

Saya mencoba cek dengan SysCheck, apakah device ini memenuhi syarat untuk proses development ....

Ternyata sudah memenuhi minimum kriteria untuk dijadikan device

ARM CPU : ARMv7 Processor rev2 (v7I)
OS Version : 4.0.3
Neon Support : True






agar dapat terhubung ke komputer, saya aktifkan Media Device (MTP)
SETTING >> STORAGE >> Menu >> USB Computer connection >> Check MTP

cek apakah device sudah terhubung ke komputer dengan cek adb

RUN CMD
type adb devices




nah, device sudah terhubung ke adb

 Android OS NameAndroid OS VersionsAPI Levels

Ice Cream Sandwich
Android 4.0.3 and 4.0.4
API Level 15



Proses Compile berjalan sukses dengan sambungan USB untuk menghubungkan antara Device dan Komputer

Proses Instal .apk ke Device .....

tapi saya dapati aplikasi hasil compile yang jalan di device hanya menampilkan layar warna putih

WHITE BLANK

whyyyyyyy ???

8-O

Friday, 1 November 2013

A tool fixing the "adb server is out of date" bug


If you are debugging your Android app on a phone or a tablet over USB, you might get the following message shown every time you (or your debugging tool) runs ADB:
adb server is out of date. killing...
* daemon started successfully *
Or even worse:
adb server is out of date. killing...
* daemon started successfully *
** daemon still not runningerror: cannot connect to daemon
The message will make every small operation involving ADB last 3-5 seconds, making deployment annoyingly slow and failing most of the times.
This happens because your phone sync application (e.g. HTC Sync) has its own version of adb.exe that is incompatible with Android SDK. Every time you connect your phone to a USB port, the sync application will try to start its own version of adb.exe interfering with your one.

The solution

A trivial solution would be to find the old adb.exe (e.g. C:\Program Files (x86)\HTC\HTC Sync 3.0\adb.exe) and delete it. However, this would break the sync application functionality.
To make things better we have developed ADBFix - a small tool that you can download from this page. The tool will detect the older instances of adb.exe that are conflicting with Android SDK and replace them with a stub. The stub will always run the adb.exe from Android SDK instead, so no conflicts will arise.
To fix the "adb server is out of date" bug, please follow these steps:
  1. Connect your device to the USB port
  2. Download and run ADBFix.
  3. Specify the location of your Android SDK.
  4. Ensure that ADBFix finds the conflicting version of adb.exe:
  5. Press "Fix all". Ensure that the conflict is marked as "fixed":
  6. Note that you can always roll back the fix by selecting an ADB instance and pressing "Restore original ADB".

The internals

When you start the tool, it will search for all instances of adb.exe running (and potentially causing future "adb server out of date" messages) and compare their versions with the version of adb.exe from Android SDK. If a version mismatch is found, the tool will rename the old adb.exe to adb_conflicting_backup.exe and put a shortcut to the adb.exe from SDK in place of the old adb.exe.
Thus, both Android SDK and your sync application (e.g. HTC Sync) will use the same version of adb.exe causing no more conflicts.
Note that when you click "Fix All" you will see the "adb server is out of date" message, as adbfix will have to stop the old adb.exe. Once it's successfully stopped, the the new version will be used and the annoying message won't bother you again.

Download

You can download ADBFix here:adbfix.zip

Wednesday, 30 October 2013

Digifort Mobile Client made with Delphi XE5

A new app developed with Delphi XE5 and Firemonkey

This app is a remote camera visualization and control software, that runs on Android and Apple mobile devices (Phone and Tablets)

We got a very very good performance out of Firemonkey... and I got to say that I´m really impressed with the capabilities of Firemonkey... of course it has its issues, but nothing that we can´t have a way around...

Tuesday, 29 October 2013

What Web Application Framework for Delphi is recommended?


There has been some activity in the Web Application Framework area for Delphi (Win32). There are many new projects around, and I would love to see a overview description of their features (code and documentation quality, unit test coverage, ease of installation, minimum Delphi version, security, session management, database access, URL mapping, templating systems, MVC, Ajax, configuration ...).
Frameworks (alphabetically)

Delphi MVC


Main project file:
var
  Model: TModel;
  Controller: TController;
begin
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);

  Model      := TModel.Create;
  Controller := TController.Create(Model, MainForm);

  Application.Run;

  Controller.Free;
  Model.Free;
end.
Model:
TModel = class(TSubject)
private
  FData: TStrings;
public
  constructor Create;
  destructor Destroy(); override;
  procedure AddLine(AText: string);
  property Data: TStrings read FData; // Do not write to this directly, since it doesn't call notify!
end;
Controller:
TController = class(TObserver)
private
  FModel: TModel;
  FView:  TMainForm;
public
  constructor Create(const AModel: TModel; AView: TMainForm);
  destructor Destroy(); override;
  procedure ButtonClick(Sender: TObject);
  procedure Refresh(ASubject: TSubject); override;
end;
The main form is working as the View, i have removed all code from it.
The controller registers itself as an observer and does all the logic:
constructor TController.Create(const AModel: TModel; AView: TMainForm);
begin
  inherited Create();
  FModel := AModel;
  FView  := AView;
  FModel.Register(Self);
  FView.Button1.OnClick := ButtonClick;
  FView.Button2.OnClick := ButtonClick;
  FView.Button3.OnClick := ButtonClick;
end;

destructor TController.Destroy;
begin
  FModel.UnRegister(Self);
  FView.Button1.OnClick := nil;
  FView.Button2.OnClick := nil;
  FView.Button3.OnClick := nil;
  inherited;
end;

procedure TController.Refresh(ASubject: TSubject);
begin
  FView.ListBox1.Items.BeginUpdate;
  try
    FView.ListBox1.Items.Assign(FModel.Data);
  finally
    FView.ListBox1.Items.EndUpdate;
  end;
end;

procedure TController.ButtonClick(Sender: TObject);
begin
  if Sender = FView.Button1 then begin
    FModel.AddLine('Hello');
  end else
  if Sender = FView.Button2 then begin
    FModel.AddLine('Hello World!');
  end else
  if Sender = FView.Button3 then begin
    FModel.AddLine(DateToStr(Now));
  end
end;
I cheated a little bit with the View <-> Controller relationship, but you should get the general idea :).
  • The Controller has references to both View and Model.
  • The View knows nothing about the Model.
  • The Model knows nothing aboug the View.
PS: A diagram for the MVC pattern (the dotted lines represent Observer/Subject relationships):
MVC diagram

MVC or MVP Pattern – Whats the difference?


Over the years I have mentored many developers on using design patterns and best practices. One question that keeps coming up over and over again is: What are the differences between the Model View Controller (MVC) and Model View Presenter (MVP) patterns? Surprisingly the answer is more complex than what you would suspect. Part of reasons I think many developers shy away from using either pattern is the confusion over the differences.
Before we dig into the differences let’s examine how the patterns work and the key benefits to using either one. Both (MVC & MVP) patterns have been use for several years and address a key OO principal namely separation of concerns between the UI and the business layers. There are a number of frameworks is use today that based on these patterns including: JAVA StrutsRORMicrosoft Smart Client Software Factory (CAB)Microsoft Web Client Software Factory, and the recently announced ASP.Net MVC framework.
Model View Controller (MVC) Pattern

The MVC pattern is a UI presentation pattern that focuses on separating the UI (View) from its business layer (Model). The pattern separates responsibilities across three components: the view is responsible for rending UI elements, the controller is responsible for responding to UI actions, and the model is responsible for business behaviors and state management. In most implementation all three components can directly interact with each other and in some implementations the controller is responsible for determining which view to display (Front Controller Pattern),
Model View Presenter (MVP) Pattern
 
The MVP pattern is a UI presentation pattern based on the concepts of the MVC pattern. The pattern separates responsibilities across four components: the view is responsible for rending UI elements, the view interface is used to loosely couple the presenter from its view, the presenter is responsible for interacting between the view/model, and the model is responsible for business behaviors and state management. In some implementations the presenter interacts with a service (controller) layer to retrieve/persist the model. The view interface and service layer are commonly used to make writing unit tests for the presenter and the model easier.
Key Benefits
Before using any pattern a developers needs to consider the pros and cons of using it. There are a number of key benefits to using either the MVC or MVP pattern (See list below). But, there also a few draw backs to consider. The biggest drawbacks are additional complexity and learning curve. While the patterns may not be appropriate for simple solutions; advance solutions can greatly benefit from using the pattern. I’m my experience a have seen a few solutions eliminate a large amount of complexity but being re-factored to use either pattern.

·         Loose coupling – The presenter/controller are an intermediary between the UI code and the model. This allows the view and the model to evolve independently of each other.
·         Clear separation of concerns/responsibility
o    UI (Form or Page) – Responsible for rending UI elements
o    Presenter/controller – Responsible for reacting to UI events and interacts with the model
o    Model – Responsible for business behaviors and state management
·         Test Driven – By isolating each major component (UI, Presenter/controller, and model) it is easier to write unit tests. This is especially true when using the MVP pattern which only interacts with the view using an interface.
·         Code Reuse – By using a separation of concerns/responsible design approach you will increase code reuse. This is especially true when using a full blown domain model and keeping all the business/state management logic where it belongs.
·         Hide Data Access – Using these patterns forces you to put the data access code where it belongs in a data access layer. There a number of other patterns that typical works with the MVP/MVC pattern for data access. Two of the most common ones are repository and unit of work. (See Martin Fowler – Patterns of Enterprise Application Architecture for more details)
·         Flexibility/Adaptable – By isolating most of your code into the presenter/controller and model components your code base is more adaptable to change. For example consider how much UI and data access technologies have changed over the years and the number of choices we have available today. A properly design solution using MVC or MVP can support multi UI and data access technologies at the same time.
Key Differences
So what really are the differences between the MVC and MVP pattern. Actually there are not a whole lot of differences between them. Both patterns focus on separating responsibility across multi components and promote loosely coupling the UI (View) from the business layer (Model).  The major differences are how the pattern is implemented and in some advanced scenarios you need both presenters and controllers.

Here are the key differences between the patterns:

·         MVP Pattern
o    View is more loosely coupled to the model. The presenter is responsible for binding the model to the view.
o    Easier to unit test because interaction with the view is through an interface
o    Usually view to presenter map one to one. Complex views may have multi presenters.

·         MVC Pattern
o    Controller are based on behaviors and can be shared across views
o    Can be responsible for determining which view to display (Front Controller Pattern)

Hopefully you found this post interesting and it helped clarify the differences between the MVC and MVP pattern. If not, do not be discouraged patterns are powerful tools that can be hard to use sometimes. One thing to remember is that a pattern is a blue print and not an out of the box solutions. Developers should use them as a guide and modify the implementation according to their problem domain.

Reference : http://www.infragistics.com/community/blogs/todd_snyder/archive/2007/10/17/mvc-or-mvp-pattern-whats-the-difference.aspx

Install Fortesreport community Delphi 7 dan RX Berlin

Download  Pertama2 kita harus punya file installernya terlebih dahulu, download  https://github.com/fortesinformatica/fortesrepo...