小编Acr*_*ron的帖子

Delphi:StringList Delimiter始终是空格字符,即使设置了Delimiter也是如此

我在TStringList类中使用分隔符时遇到问题.看一看:

var
  s: string;
  sl: TStringList;

begin
  sl := TStringList.Create;
  s := 'Users^foo bar^bar foo^foobar^barfoo';
  sl.Delimiter := '^';
  sl.DelimitedText := s;
  ShowMessage(sl[1]);
end;
Run Code Online (Sandbox Code Playgroud)

sl[1] 应该回来 'foo bar'

sl[1] 回来了 'foo'

看来分隔符现在是'^'AND' '

有任何想法吗?

delphi tstringlist delphi-7 delimiter

54
推荐指数
3
解决办法
7万
查看次数

delphi指针地址

在德尔福:

如何获得指针指向的地址(0x2384293)?

var iValue := Integer;
    iptrValue := PInteger;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
  iptrValue := @iValue;
  iValue := 32342;
  //Should return the same value:
  Edit1.Text := GetAddressOf(iptrValue);
  Edit2.Text := GetAddressOf(iValue); 
Run Code Online (Sandbox Code Playgroud)

那么现实中的GetAddress是什么:)

delphi pointers pointer-address

13
推荐指数
3
解决办法
2万
查看次数

在哪里可以找到比集成的更好的Delphi在线帮助?

关于delphi的其他任何文档都不是集成的帮助.

类似于http://java.sun.com/j2se/1.5.0/docs/api/http://msdn.microsoft.com/en-us/library/

......仅限德尔福.

因为恕我直言Delphi帮助是坏蛋坏.

delphi api reference

8
推荐指数
2
解决办法
4579
查看次数

Delphi的Subversion Exclusive Checkout和Subversion插件

目前是否有一项功能允许在SVN中进行独占结账?

是否有一个很好的Delphi插件允许通过IDE访问?

svn delphi svn-checkout

6
推荐指数
2
解决办法
4606
查看次数

Delphi:"参数对象定义不正确.提供的信息不一致或不完整."

这是一个执行以下操作的函数:

  • 创建一个长度为8的随机令牌
  • 将Token插入数据库
  • 如果用户已有令牌,请更新它.

  • 如果用户没有令牌,请插入它.

procedure createToken(BenuNr: integer);
var
  AQ_Query:       TADOQuery;
  strToken:       string;
  intZaehler:     integer;
  const cCharSet: string = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
begin
    //Random String as Token
    SetLength(strToken, 8);
  for intZaehler := 1 to 8 do
  begin
    strToken[intZaehler] := cCharSet[1+Random(Length(cCharSet))];
  end;
  //Inserts the Token into the Database
  with AQ_Query do
  begin
    try
      AQ_Query := TADOQuery.Create(nil);
      ConnectionString := strConnectionString;
      SQL.Text := 'if EXISTS(select * from TOKN where BENU_NR = :paramBenu_NR) begin update TOKN set TOKEN = :paramTOKEN where BENU_NR = :paramBenu_NR end else …
Run Code Online (Sandbox Code Playgroud)

delphi parameters ado

6
推荐指数
1
解决办法
2万
查看次数

Delphi:将对象传输到远程计算机

你好.

我正在编写一个用于网络使用的tier2订购软件.所以我们有客户端和服务器.

在客户端,我创建了TBest的对象,其中保存了产品ID,订购金额和用户.(所以这是一个订单的项目).

订单可以包含多个项目,并将这些项目保存在一个数组中,以便稍后将创建的订单发送到服务器.包含该数组的类称为TBestellung.

所以我创造了两个

TBest.toString: string;
Run Code Online (Sandbox Code Playgroud)

TBest.fromString(source: string): TBest;
Run Code Online (Sandbox Code Playgroud)

现在,我通过套接字将toString结果发送到服务器,并在服务器上使用fromString创建对象(它解析收到的属性).这按预期工作.

问题:有更好,更优雅的方式吗?序列化是一个关键字,是的,但序列化一个包含其他对象数组(在本例中为TBest)的对象(在本例中为TBestellung)时,并不是那么可怕/困难吗?

//小修正案:在被问到之前.是的我应该为toString和fromString创建一个额外的(静态)类,否则服务器需要创建一个"空"TBest才能使用fromString.

delphi serialization parsing

6
推荐指数
3
解决办法
1456
查看次数

SQL通过ADO在Delphi中返回值

我有这个功能来确定用户是否存在于数据库中的天气

DM是我的DataModule

AQ_LOGIN是一个ADOQuery

BENU是我的桌子,里面装满了用户和他们的密码

代码如下:

function UserCheckExist(Login, pw: string): boolean;
begin
    with DM do
    begin
        AQ_LOGIN.Close;
        AQ_LOGIN.SQL.Clear;
        AQ_LOGIN.SQL.Add('select BLOGIN from BENU where BLOGIN = ''Login'' AND BPW = ''pw''');
        AQ_LOGIN.Open;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

我现在的问题是:如何使该功能返回true或false天气具有相应密码的用户存在?

提前致谢.

sql delphi ado

2
推荐指数
1
解决办法
5964
查看次数

Delphi:记录中的字符串大于255个字符

有没有办法在大于255个字符的记录中获取字符串?

编辑:

我有以下内容:

TQuery = Record
  Action: string[255];
  Data: string;
end;
Run Code Online (Sandbox Code Playgroud)

如果我现在说:

Test: TQuery;
Test.Data := 'ABCDEFGHIJKLMN...up to 255...AISDJIOAS'; //Shall be 255 chars
Run Code Online (Sandbox Code Playgroud)

它不起作用,编译器抱怨......如何解决?

delphi string record

2
推荐指数
2
解决办法
7602
查看次数

通过Socket发送SendBuf时出现10057 WSA异常

客户:

//is called when the client tries to log in
    procedure TLogin_Form.btnLoginClick(Sender: TObject);
    var LoginQuery: TQuery;
    begin
        //If socket not open, open it
        if not LoginSocket.Active then
        begin
            LoginSocket.Open;
        end;

      //create package
      LoginQuery.Login := ledtName.Text;
      LoginQuery.Passwort := ledtPasswort.Text;
      LoginQuery.IP := LoginSocket.Socket.LocalAddress;
      //send package
      LoginSocket.Socket.SendBuf(LoginQuery, SizeOf(LoginQuery));
    end;
Run Code Online (Sandbox Code Playgroud)

服务器:

    //This procedure is executed when I click on start server button
    procedure TServer_Form.btnStartStopClick(Sender: TObject);
    begin
        //If not open, open it
        if not ServerSocket.Active then
        begin
          btnStartStop.Caption := 'stop server'; 
          //Open ServerSocket
          ServerSocket.Open;
        end …
Run Code Online (Sandbox Code Playgroud)

sockets delphi exception windows-socket-api

1
推荐指数
1
解决办法
2279
查看次数

添加指针

var Buffer: TMemoryStream
Run Code Online (Sandbox Code Playgroud)

代码:

Move((PByte(Buffer.Memory)+Buffer.Position)^, Buffer.Memory^, Buffer.Size - Buffer.Position);
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这是不可能的:运算符不适用于此类操作数.

那么我怎样才能获得MemoryBuffer的起点?

delphi buffer pointers

0
推荐指数
1
解决办法
2537
查看次数

为什么我的变量设置为0?

import java.lang.Math;
public class NewtonIteration {

    public static void main(String[] args) {
        System.out.print(rootNofX(2,9));
    }

    // computes x^n
    public static double power(double x, int n) {
        if (n==0) {
            return 1;
        }       
        double Ergebnis = 1;
        for (int i=0; i<=Math.abs(n)-1; i++) {
            Ergebnis *= x;
        }
        if (n<0) {
            Ergebnis = 1/Ergebnis;
        }

        return Ergebnis;
    }

    // computes x^(1/n)
    public static double rootNofX(int n, double x) {
        return power(x, 1/n);
    }
}
Run Code Online (Sandbox Code Playgroud)

无论何时调用power(x,1/n),n都会重置为0.但是,对于rootNofX赋值为2的na参数是不是?

java parameters

0
推荐指数
1
解决办法
273
查看次数

Delphi ADO SQL语法错误

处理以下代码行时,我收到语法错误.特别是在AQ_Query.Open上;

procedure THauptfenster.Button1Click(Sender: TObject);
var
    option: TZahlerArray;
begin
    option := werZahlte;
    AQ_Query.Close;
  AQ_Query.SQL.Clear;
  AQ_Query.SQL.Add('USE wgwgwg;');
  AQ_Query.SQL.Add('INSERT INTO abrechnung ');
  AQ_Query.SQL.Add('(`datum`, `titel`, `betrag`, `waldemar`, `jonas`, `ali`, `ben`)');
  AQ_Query.SQL.Add(' VALUES ');
  AQ_Query.SQL.Add('(:datum, :essen, :betrag, :waldemar, :jonas, :ali, :ben);');
  AQ_Query.Parameters.ParamByName('datum').Value := DateToStr(mcDatum.Date);
  AQ_Query.Parameters.ParamByName('essen').Value := ledTitel.Text;
  AQ_Query.Parameters.ParamByName('betrag').Value := ledPreis.Text;
  AQ_Query.Parameters.ParamByName('waldemar').Value := option[0];
  AQ_Query.Parameters.ParamByName('jonas').Value := option[1];
  AQ_Query.Parameters.ParamByName('ali').Value := option[2];
  AQ_Query.Parameters.ParamByName('ben').Value := option[3];
  AQ_Query.Open;
end;
Run Code Online (Sandbox Code Playgroud)

错误:

SQL错误

我正在使用MySQL Delphi 2010.

sql delphi syntax

0
推荐指数
1
解决办法
1696
查看次数