几本我不喜欢的Delphi书籍(之一)

 

几本我不喜欢的Delphi书籍(之一)

作者: Musicwind®

创建时间: 2001-10-24

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       前言:写作此文的三个动机:其一、我要发泄自己的不平——因为我花了大把的银子买到的却是让我后悔不迭的书籍;其二、我想给诸位一个忠告——或者是建议,在品尝苦涩之后,我并不希望有更多的人和我有一样的遭遇;其三、我想质问某些人,是否他们当初出版这些书的时候,心里想着太多的钱!钱!钱!

      

       谜底终于要揭晓了!我心里一阵畅快!虽然还有一丝犹豫——我是否真要把这篇文章写完?为了一本自己不喜欢的书?是否值得花费这么多的“青春”?可是我顾不了那许多了——如果心里的话不说出来,也许我这辈子都不会安心。

 

       书名:《Delphi 数据库编程技术》。

       出版社:众所熟知的人民邮电出版社作者……[作者在此删去四个名字]

我想,大家对这家出版社的出版风格应该有所耳闻(或者亲身体会)吧?总结一下,那就是当你觉得某本书写得不错的时候(套用一句广告语:“价格便宜量又足,挺好的”),你看看它的出版商,绝不会是这家;而当你发觉某本书不太令人满意的时候,你看看它的出版商,十有八九就是这家——这已经不成为一种巧合,因为世上没有这样的巧合——而已经成为了一种规律。因此,当后来我再看到“人民邮电出版社”的时候,我就不再抱有任何期望了——期望它如何让我满意,而此时身体里的某个部位也会难受好一阵子……[作者在此删去1412个字]

       价格:RMB 43.00元。

       所谓一分钱一分货的道理在这里是行不通的。

       内容——评价一本书的好坏当然要看内容。看看吧,看看这本书给我们带来了什么?给当时的我——一个技术新手(Biginner)误导了一些什么东西。

       “前言:本书面向各个层次的读者:从未使用过Delphi,但有一定编程语言基础的读者可以通过本书完成对Delphi的学习;对于曾经使用过Delphi却没有数据库开发经验的拥护,更可以通过本书学习,领悟到开发数据库的精髓,成为数据库开发的高手;对于已经有Delphi数据库开发经验的读者,也可以从本书中获取一些编程的灵感,完全把握Delphi的内核,并充实相关知识,完成高质量代码的编写。”

       哇塞!“总而言之,这本书就是适合您。不管您属于何种情况,买这本书,就是值!”这样的漂亮话可真的能唬人啊!事实的确如此吗?我们看看它的章节编排就可以略知一二了。(哎,费这么多的口舌……我还是快一些将它了断了吧!)

       以下将书中各大章列出,附评论。


第一章   Delphi基础知识

评论:对Delphi的总体介绍,基本上翻译自帮助文件的New Features一节;

第二章   Delphi快速入门

评论:主要介绍IDE,穿插大量的屏幕抓图(包括一个Delphi 4的启动画面)实在有为了篇幅而滥竽充数之嫌。

第三章   Object Pascal 语言基础

评论:名为Object Pascal,但没有一个字讲到Object,没有一丝有关面向对象的语言特性的介绍。而具体的内容,也无非是数据类型(枚举,子界,数组),过程与函数等等。查查帮助就知道了——或许作者也就是将帮助翻译一下,或者转述一下——也未可知也。这一章内容的描述,显然对读者定位定位的层次过低了——对于过程和函数还要介绍半天——难道我们的读者真的是完完全全的门外汉吗?

第四章   Delphi的对象进行编程

评论:该章提到了类的三大特性:封装,继承和多态,并且对于异常的处理还特意留出一节讲述。但是对于Object Pascal语言特性的介绍实在过于单薄了。”Object Pascal程序代码的编写”一节的介绍也显得有些画蛇添足之感——对于单元的框架(inteface,use,implementation等等部分)是否值得花那么多篇幅去介绍呢?

第五章   数据库系统介绍

第六章   使用数据库访问控件

第七章   使用数据浏览控件

第八章   使用Delphi数据库附件

第九章   报表制作与统计处理

第十章   SQL语言使用与编程

第十一章            进一步理解数据集控件

第十二章            Delphi客户/服务应用开发

第十三章            MIDAS编程

以上各章着重讲述了Delphi在数据库方面的应用。因为Delphi提供了许多数据库相关的组件——因此,此书不可避免的在数据库组件的使用介绍中花费了大量的篇幅——而这一点,往往给初学者一种误导——是否开发数据库应用就只是使用现有的组件呢?是否Delphi开发的实质就在于使用现有的VCL组件呢?

SQL语言使用与编程”这一章的位置略为靠后了一些。不知道作者的本意是否认为该部分内容对于太难而有意放到后面?

 

书中充斥了数不清的源代码——好大一部分来自DelphiExamples!作者以剖析源代码的名义,堂而皇之的将它们一一收罗。且不问是否有盗版的嫌疑,就引用的这些例子而言,我想稍有学力的读者,“领悟之”应该不成问题吧。

 

综述:对读者定位的不明确是该书入选“不喜欢的书籍”之列最根本原因。想让自己的书适合各个阶层的读者,往往导致自己的书不能被任何阶层的读者所接受。不被接受并不表示没有人购买——想必此书推出之时,出版商们定然也是大赚其钱的。因为有许多辨识力不强的初学者(如我)——被作者的花言巧语所蒙骗——而慷慨解囊。而其中有一个会在今天,写一篇文章来表示自己的不满和后悔——这大概也是那些始作甬者不曾料想的吧。

      

Musicwind®@HangZhou.Zhejiang.China

2001-10-30

更多文章

 

 [文终]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这是一个 Delphi 代码示例,用于发送 HTTP POST 请求: ``` procedure TForm1.Button1Click(Sender: TObject); var IdHTTP: TIdHTTP; IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL; Params: TStringList; begin IdHTTP := TIdHTTP.Create(nil); try IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP); IdHTTP.IOHandler := IdSSLIOHandlerSocketOpenSSL; Params := TStringList.Create; try Params.Add('param1=value1'); Params.Add('param2=value2'); IdHTTP.Post('http://www.example.com/post.php', Params); finally Params.Free; end; finally IdHTTP.Free; end; end; ``` 这段代码使用 TIdHTTP 组件来发送 HTTP POST 请求。在这个例子中,我们向 `http://www.example.com/post.php` 发送了两个参数 `param1` 和 `param2`。你可以在 TStringList 对象 `Params` 中添加更多的参数。然后,调用 TIdHTTP 的 Post 方法来发送 POST 请求。 注意,这个例子中使用了 TIdSSLIOHandlerSocketOpenSSL 组件来支持 HTTPS 连接。如果你要发送 HTTP 请求而不是 HTTPS 请求,可以省略这个组件。 ### 回答2: Delphi是一种编程语言,用于创建Windows应用程序。在Delphi中,可以使用TIdHTTP组件来提交HTTP POST请求。下面是一个简单的Delphi代码示例,用于提交HTTP POST请求: ```delphi uses IdHTTP, IdSSLOpenSSL; function PostData(const AURL, AData: string): string; var IdHTTP: TIdHTTP; begin IdHTTP := TIdHTTP.Create(nil); try IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; Result := IdHTTP.Post(AURL, AData); finally IdHTTP.Free; end; end; // 使用示例 procedure TForm1.Button1Click(Sender: TObject); var URL: string; Data: string; Response: string; begin URL := 'http://example.com/api'; Data := 'param1=value1&param2=value2'; try Response := PostData(URL, Data); ShowMessage(Response); except on E: Exception do ShowMessage('Error: ' + E.Message); end; end; ``` 在这个例子中,我们首先创建了一个TIdHTTP实例来进行HTTP请求。然后,我们设置请求的Content-Type为`application/x-www-form-urlencoded`,这是POST请求的一种常见的数据格式。接下来,我们调用`IdHTTP.Post`方法来发送POST请求并获取响应数据。 在`Button1Click`事件处理程序中,我们定义了一个请求的URL和数据,并使用`PostData`函数来提交POST请求,并将响应结果显示在一个对话框中。 这只是一个简单的例子,你可以根据你的具体需求和后端API的要求修改URL和数据的设置。同时,你还可以添加其他的参数、请求头等来满足你的需求。 ### 回答3: Delphi是一种编程语言,可以通过使用Indy组件库来提交HTTP POST请求。以下是一个示例代码,展示了如何使用Delphi提交HTTP POST请求: ``` uses IdHTTP; procedure SubmitHttpPostRequest; var IdHTTP: TIdHTTP; Params: TStringList; begin IdHTTP := TIdHTTP.Create(nil); Params := TStringList.Create; try Params.Add('param1=value1'); // 添加POST参数 Params.Add('param2=value2'); // 设置需要提交的URL和POST参数 IdHTTP.Post('http://example.com/submit', Params); // 如果需要,可以接收服务器返回的响应 ShowMessage('提交成功!'); except on E: Exception do ShowMessage('提交失败:' + E.Message); end; Params.Free; IdHTTP.Free; end; ``` 上面的例子创建了一个TIdHTTP组件实例,并创建一个TStringList对象来保存POST参数。我们可以在TStringList中添加需要提交的参数,如param1=value1和param2=value2。然后,使用IdHTTP.Post方法将参数提交到指定的URL(例子中使用了http://example.com/submit)。如果提交成功,会显示“提交成功!”的提示;如果提交失败,会显示包含错误信息的提示框。 请注意,使用该示例代码,需要先安装Indy组件库,并在项目中引入相关单元。这样,你就可以在Delphi中实现HTTP POST的提交了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

musicwind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值