powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Предпоследний пробел
4 сообщений из 4, страница 1 из 1
Предпоследний пробел
    #32641233
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какими функциями в строке 80 символов найти позицию предпоследнего пробела и до этого пробела строку закинуть в переменную...
...
Рейтинг: 0 / 0
Предпоследний пробел
    #32641236
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KiLLunКакими функциями в строке 80 символов найти позицию предпоследнего пробела и до этого пробела строку закинуть в переменную...UDF.
Можно взять готовые из rFunc.
Сильно извращённым умам, можно написать SP.
...
Рейтинг: 0 / 0
Предпоследний пробел
    #32643433
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие из функций rfunc использовать, что то не могу придумать SP...
ищу позицию последней звездочки в строке, если в строке 2 звездочки позицию указывает
верно, если больше двух то не верно...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
while (i<strlen(tmp_v)) do begin
pos_char=strpos('*',tmp_v);
if (pos_char> 0 ) then begin
		k=k+pos_char;
		tmp_v=substr(tmp_v,k+ 1 ,strlen(tmp_v));
		end
i=i+ 1 ;
		         end
result=k;
...
Рейтинг: 0 / 0
Предпоследний пробел
    #32643551
OJIEI'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KiLLunКакими функциями в строке 80 символов найти позицию предпоследнего пробела и до этого пробела строку закинуть в переменную...

вот те UDF.. (Delphi7)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
function SubStrSpace(s:PChar):PChar;
 var i,space:integer;
 tmp:string;
begin
 space:= 0 ;
 tmp:=String(s);
 for i:=length(tmp) downto  1  do
 begin
  if tmp[i]=# 32  then space:=space+ 1 ;
  if space= 2  then
  begin
   result:=PChar(copy(tmp, 1 ,i- 1 ));
   exit;
  end;
 end;
 if space< 2  then result:=s;
end;

обявляй как

Код: plaintext
1.
2.
3.
DECLARE EXTERNAL FUNCTION SUB_TO_SPACE
         CSTRING(длина)
RETURNS CSTRING(длина) FREE_IT
ENTRY_POINT SubStrSpace' MODULE_NAME 'dll_name'

попробуй, может и получится :))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Предпоследний пробел
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]