为什么用delphi? 请同时用过DELPHI及其它数据库开发语言的朋友,谈谈DELPHI的优势 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 caiso(十年磨一剑) ,灌水不太好吧?to :ZYGX (ZYGX) ,我选择delphi实在是听说C++构造界面比较慢,而且感觉pascal语言比较严谨,C语言的指针让我感觉很恐怖的说。我没编写过数据库软件,无法评论,但大家都说delphi编写数据库非常有优势。既然那么多的高手认可了,我姑且也认可吧。 为什么为用DELPHI?VC能作的事DELPHI一样能. 据说delphi除了不能写驱动程序外,其他任何事情都不在话下,而且比vc开发速度快。在一个就是delphi开放vcl的源码,里面的好东东很多啊,绝对是你写程序最好的老师。 上手比较容易!delphi还比较强大的! 今天我花一天时间用Java画了一个用Delphi只用半小时的界面。部分代码如下:package DX.Editor.GUI;import DX.Editor.Events.*;import DX.Editor.Utils.*;import DX.Editor.Utils.*;import javax.swing.*;import java.awt.*;/** * User: Dext * Date: 2005-3-26 * Time: 9:46:08 */public class MainFrame extends JFrame { private Font defaultFont = new Font("Tohoma", Font.PLAIN, 12); public JTextField edtFileName; public JButton btnBrowse; public JButton btnClose; public JSpinner spnPerson; public JSpinner spnMoney; public JSpinner spnSave; public JSpinner spnTicket; public JSpinner spnBorrow; public JComboBox cmbItems; public JSpinner spnItemsNo; public JList lstAllCards; public JList lstCards; public MainFrame() { super(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); buildFace(); makeFrameCenter(); } public void makeFrameCenter() { Rectangle screenRect = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().getBounds(); int top = (screenRect.height - getHeight()) / 2; int left = (screenRect.width - getWidth()) / 2; setBounds(left, top, getWidth(), getHeight()); } public void buildFace() { JLabel lbl; JScrollPane pnl; Container pane = getContentPane(); setSize(508, 330); setResizable(false); pane.setLayout(null); pane.setFont(defaultFont); lbl = new JLabel("文件名:"); lbl.setBounds(8, 17, 66, 12); lbl.setFont(defaultFont); pane.add(lbl); edtFileName = new JTextField(); edtFileName.setBounds(88, 13, 313, 20); edtFileName.setFont(defaultFont); pane.add(edtFileName); btnBrowse = new JButton("浏览..."); btnBrowse.setBounds(416, 11, 75, 25); btnBrowse.setFont(defaultFont); btnBrowse.addActionListener(btnBrowseAction.getInstance(this)); pane.add(btnBrowse); btnClose = new JButton("关闭"); btnClose.setBounds(416, 256, 75, 25); btnClose.setFont(defaultFont); btnClose.addActionListener(btnCloseAction.getInstance(this)); pane.add(btnClose); spnPerson = new JSpinner(); spnPerson.setBounds(32, 60, 33, 21); spnPerson.setValue(new Integer(1)); spnPerson.setFont(defaultFont); spnPerson.addChangeListener(spnPersonChange.getInstance(this)); pane.add(spnPerson); lbl = new JLabel(""); lbl.setBounds(16, 64, 90, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(24, 108, 24, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(24, 132, 24, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(24, 156, 24, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(24, 180, 24, 12); lbl.setFont(defaultFont); pane.add(lbl); spnMoney = new JSpinner(); spnMoney.setBounds(56, 104, 121, 21); spnMoney.setFont(defaultFont); pane.add(spnMoney); spnSave = new JSpinner(); spnSave.setBounds(56, 128, 121, 21); spnSave.setFont(defaultFont); pane.add(spnSave); spnTicket = new JSpinner(); spnTicket.setBounds(56, 152, 121, 21); spnTicket.setFont(defaultFont); pane.add(spnTicket); spnBorrow = new JSpinner(); spnBorrow.setBounds(56, 176, 121, 21); spnBorrow.setFont(defaultFont); pane.add(spnBorrow); cmbItems = new JComboBox(ItemsVector.getItemVector()); cmbItems.setBounds(16, 240, 89, 20); cmbItems.setFont(defaultFont); cmbItems.setEditable(false); pane.add(cmbItems); spnItemsNo = new JSpinner(); spnItemsNo.setBounds(128, 240, 57, 21); spnItemsNo.setFont(defaultFont); pane.add(spnItemsNo); lstAllCards = new JList(CardsVector.getCardsVector()); pnl = new JScrollPane(lstAllCards); pnl.setBounds(216, 112, 73, 145); lstAllCards.setFont(defaultFont); pane.add(pnl); lstCards = new JList(); pnl = new JScrollPane(lstCards); pnl.setBounds(304, 112, 73, 145); lstCards.setFont(defaultFont); pane.add(pnl); lbl = new JLabel(""); lbl.setBounds(16, 88, 48, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(16, 216, 24, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(216, 88, 54, 12); lbl.setFont(defaultFont); pane.add(lbl); lbl = new JLabel(""); lbl.setBounds(304, 88, 54, 12); lbl.setFont(defaultFont); pane.add(lbl); }} Delphi的rad开发速度快,开发form就是搭积木,呵呵,这个是使他成为win32下面开发程序的利器!! 我喜欢delphi开发数据库:主要是效率比较高,方便的ide界面,还有强大的控件支持,如cxgird,dbgirdEh等当然用vc做数据库开发,其实也不难,但要从底层自己写代码,效率相对低点 delphi有ehlib和fastreport,pb有datawindow,在开发数据库方面哪个开发速度更快一些? 本人接触delphi一个星期,已经可以做出像模像样的小查询工具了...足以说明上手快 to: godlessme(望星兴叹)delphi也可以做驱动程序的. 如何用delphi 把Excel,Word文件中生成到PDF文件 delphi 16进制字符串运算 如何进行表数据的比对? 如何检测edit里输入的不是数字或者英文字母就提示错误信息 vb 用dbgrid显示记录的一点小问题 求合并两表的SQL语句 ^^^^可用分规则变化说明------ Windows 消息问题 在DELPHI5.0里,怎样用TQuery组件,批量更新服务器上的数据? 如何得到一个程序的绝对路径? 如何windows程序菜单中创建多层的快捷方式,高分送。 ExpressQuantumGrid 4 怎么样获取到它的计算字段的值了??在线等~
to :ZYGX (ZYGX) ,我选择delphi实在是听说C++构造界面比较慢,而且感觉pascal语言比较严谨,C语言的指针让我感觉很恐怖的说。我没编写过数据库软件,无法评论,但大家都说delphi编写数据库非常有优势。既然那么多的高手认可了,我姑且也认可吧。
delphi开放vcl的源码,里面的好东东很多啊,绝对是你写程序最好的老师。
import DX.Editor.Utils.*;
import DX.Editor.Utils.*;import javax.swing.*;
import java.awt.*;/**
* User: Dext
* Date: 2005-3-26
* Time: 9:46:08
*/
public class MainFrame extends JFrame { private Font defaultFont = new Font("Tohoma", Font.PLAIN, 12); public JTextField edtFileName;
public JButton btnBrowse;
public JButton btnClose;
public JSpinner spnPerson;
public JSpinner spnMoney;
public JSpinner spnSave;
public JSpinner spnTicket;
public JSpinner spnBorrow;
public JComboBox cmbItems;
public JSpinner spnItemsNo;
public JList lstAllCards;
public JList lstCards; public MainFrame() {
super();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buildFace();
makeFrameCenter();
} public void makeFrameCenter() {
Rectangle screenRect = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().getBounds();
int top = (screenRect.height - getHeight()) / 2;
int left = (screenRect.width - getWidth()) / 2;
setBounds(left, top, getWidth(), getHeight());
} public void buildFace() {
JLabel lbl;
JScrollPane pnl;
Container pane = getContentPane();
setSize(508, 330);
setResizable(false);
pane.setLayout(null);
pane.setFont(defaultFont); lbl = new JLabel("文件名:");
lbl.setBounds(8, 17, 66, 12);
lbl.setFont(defaultFont);
pane.add(lbl); edtFileName = new JTextField();
edtFileName.setBounds(88, 13, 313, 20);
edtFileName.setFont(defaultFont);
pane.add(edtFileName); btnBrowse = new JButton("浏览...");
btnBrowse.setBounds(416, 11, 75, 25);
btnBrowse.setFont(defaultFont);
btnBrowse.addActionListener(btnBrowseAction.getInstance(this));
pane.add(btnBrowse); btnClose = new JButton("关闭");
btnClose.setBounds(416, 256, 75, 25);
btnClose.setFont(defaultFont);
btnClose.addActionListener(btnCloseAction.getInstance(this));
pane.add(btnClose); spnPerson = new JSpinner();
spnPerson.setBounds(32, 60, 33, 21);
spnPerson.setValue(new Integer(1));
spnPerson.setFont(defaultFont);
spnPerson.addChangeListener(spnPersonChange.getInstance(this));
pane.add(spnPerson); lbl = new JLabel("");
lbl.setBounds(16, 64, 90, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(24, 108, 24, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(24, 132, 24, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(24, 156, 24, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(24, 180, 24, 12);
lbl.setFont(defaultFont);
pane.add(lbl); spnMoney = new JSpinner();
spnMoney.setBounds(56, 104, 121, 21);
spnMoney.setFont(defaultFont);
pane.add(spnMoney); spnSave = new JSpinner();
spnSave.setBounds(56, 128, 121, 21);
spnSave.setFont(defaultFont);
pane.add(spnSave); spnTicket = new JSpinner();
spnTicket.setBounds(56, 152, 121, 21);
spnTicket.setFont(defaultFont);
pane.add(spnTicket); spnBorrow = new JSpinner();
spnBorrow.setBounds(56, 176, 121, 21);
spnBorrow.setFont(defaultFont);
pane.add(spnBorrow); cmbItems = new JComboBox(ItemsVector.getItemVector());
cmbItems.setBounds(16, 240, 89, 20);
cmbItems.setFont(defaultFont);
cmbItems.setEditable(false);
pane.add(cmbItems); spnItemsNo = new JSpinner();
spnItemsNo.setBounds(128, 240, 57, 21);
spnItemsNo.setFont(defaultFont);
pane.add(spnItemsNo); lstAllCards = new JList(CardsVector.getCardsVector());
pnl = new JScrollPane(lstAllCards);
pnl.setBounds(216, 112, 73, 145);
lstAllCards.setFont(defaultFont);
pane.add(pnl); lstCards = new JList();
pnl = new JScrollPane(lstCards);
pnl.setBounds(304, 112, 73, 145);
lstCards.setFont(defaultFont);
pane.add(pnl); lbl = new JLabel("");
lbl.setBounds(16, 88, 48, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(16, 216, 24, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(216, 88, 54, 12);
lbl.setFont(defaultFont);
pane.add(lbl); lbl = new JLabel("");
lbl.setBounds(304, 88, 54, 12);
lbl.setFont(defaultFont);
pane.add(lbl); }
}
Eh等
当然用vc做数据库开发,其实也不难,但要从底层自己写代码,效率相对低点
足以说明上手快
delphi也可以做驱动程序的.