Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Как сделать функцию типа format, только чтобы не в текст   Найти похожие ветки 

 
РеФорм   (2005-02-15 01:16) [0]

вставлялись цифры, а наоборот ?

У меня есть три числа : f1, f2, f3 : Single;
И есть шаблон : "Position(%f, %f, %f);"

Мне надо, чтобы, например для строки "Position(1, 2, 3);" в f1, f2, f3 помещались 1, 2, 3 соответственно.
А если "Position(5, -22, 13);" то, чтобы в f1, f2, f3 помещались 5, -22, 13 соответственно. Ну, и так далее. Думаю понятно. Как такое сделать ?

Да, и должна быть возможность не только с тремя числами работать, а с разным количеством.

Думаю такая функция многим была бы полезна.


 
iskatel ©   (2005-02-15 01:29) [1]

зто не функция, а целый раздел лексического анализа, называется регулярные выражения (RegExp) поищи...


 
Германн ©   (2005-02-15 01:35) [2]

Честно сказать, не понимаю, чем "такая функция" была бы полезна кому-нибудь, кроме ее автора. Поскольку совершенно понятно, что "реальные значения" параметров такой функции должны вводиться в RealTime, а там для ввода существует множество возможностей.


 
Alex Konshin ©   (2005-02-15 01:54) [3]

Такая функция есть с C/C++, scanf называется.
В Delphi иногда можно воспользоваться Read/Readln.


 
РеФорм   (2005-02-15 02:20) [4]


> iskatel ©   (15.02.05 01:29) [1]
> зто не функция, а целый раздел лексического анализа, называется
> регулярные выражения (RegExp) поищи...

БЕЗ РЕГЭКСПОВ !


> Германн ©   (15.02.05 01:35) [2]
> Поскольку совершенно понятно, что "реальные значения" параметров
> такой функции должны вводиться в RealTime,

... или считываться из файла. А поскольку никто никогда не сохраняет ничего в файлы, то и функция не нужна. Правильно ?


> Alex Konshin ©   (15.02.05 01:54) [3]
> Такая функция есть с C/C++, scanf называется.
> В Delphi иногда можно воспользоваться Read/Readln.

Как воспользоваться ? А можно код функции scanf ? Можно её конвертировать в Дельфи ?


 
Германн ©   (2005-02-15 02:34) [5]

2 РеФорм   (15.02.05 02:20) [4]
> ... или считываться из файла. А поскольку никто никогда не сохраняет ничего в файлы, то и функция не нужна. Правильно ?

А разве считывание из файла производится не в RealTime?


 
begin...end ©   (2005-02-15 09:06) [6]

> РеФорм   (15.02.05 2:20) [4]

> А поскольку никто никогда не сохраняет ничего в файлы,
> то и функция не нужна.

Вещественные числа (и вообще числа) нужно сохранять не в текстовые файлы, а в типизированные. И тогда то, что из файла прочитается, не надо даже разбирать, - всё и так понятно. Потому что читаться будут не строки с пробелами и запятыми, а сами числа.

А в случае, если от строк уйти (уже) нельзя, и никакие компоненты Вы использовать не хотите - почитайте про конечные автоматы. Здесь - довольно лёгкий случай. А можно даже и без автоматов в чистом виде.


 
REA   (2005-02-15 10:39) [7]

>Можно её конвертировать в Дельфи ?

Где то даже видел.


 
TUser ©   (2005-02-15 11:39) [8]

Для Delhpi есть компонент TRegExpr. Поищи на www.torry.net

Но, если честно, то в данном случае лучше не привязываться к каким-то компонентам, а писать все ручками, например так
buf:=""; n:=0; s:=0; S:=S+" ";
for i:=1 to length(S)
case s of
0:
if s[i] <> " " then
  buf:=buf+s[i]
  else begin
  s:=1; inc (n);
  f[n]:=StrToInt(buf);
  end;
1:
 if s[i] <> " " then begin
   buf:=s[i]; s:=0;
   end;
end; // case



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1108047508
Dr. Genius
2005-02-10 17:58
2005.02.27
Графический интерфейс для программ


14-1107722302
GanibalLector
2005-02-06 23:38
2005.02.27
Плагин и СОМ в одном флаконе


3-1105480229
chir
2005-01-12 00:50
2005.02.27
Как правильно формировать запрос?


9-1102088422
San'ka
2004-12-03 18:40
2005.02.27
Описание концепции игры кликомания.


1-1108469483
Ega23
2005-02-15 15:11
2005.02.27
Переименование проекта в IDE