Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизКак сделать функцию типа 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c