Извлечение разделенных запятыми строковых значений из запроса и назначение их различным переменным в Delphi 4 - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь отделить строку, разделенную запятыми, от Query и назначить каждую в отдельной переменной:

qValidation.Close;
qValidation.SQL.Clear;
qValidation.SQL.Add('SELECT VALUE FROM PARAMETER WHERE CODPARAMETER = ''XYM'' ');
qValidation.Open;

Строка, которую я получаю из этого кода (VALUE), равна ' 12.5,45.3,33.5,67.9 '

Я хочу получить каждое значение и присвоить его другой переменной, например:

X1 = 12.5
X2 = 45.3
X3 = 33.5
X4 = 67.9

Эти переменные должны быть тип с плавающей точкой

Я читал, что вы можете использовать TStringList, но я не нахожу Delphi4 ясный способ для меня

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020

TStringList заявлено в Classes единице. Он имеет свойство CommaText, которое будет анализировать входной текст в свойстве Strings[]. Для каждой отдельной строки вы можете преобразовать ее в Extended, используя функцию StrToFloat() в блоке SysUtils, а затем при необходимости присвоить это значение переменной Single / Double.

1 голос
/ 09 апреля 2020

Библиотека Delphi 4 обладает необходимой функциональностью. Это TStrings.CommaText единицы Классы .

TStrings является абстрактным классом, поэтому необходимо использовать TStringList

program ProjectTest;

{$APPTYPE CONSOLE}

uses
  SysUtils, Classes;

var
  vList: TStrings;
  i: Integer;
begin
  vList := TStringList.Create;
  try
    vList.CommaText := '12.5,45.3,33.5,67.9';

    for i := 0 to vList.Count - 1 do
      Writeln(vList[i]);
  finally
    vList.Free;
  end;

  Readln;
end.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...